2012-12-20 6 views

Odpowiedz

14

Tak, można zwrócić kolejkę z funkcji. Ale aby to zrobić, musisz zdefiniować nowy typ za pomocą typedef i zwrócić ten typ.

typedef integer queue_of_int[$]; 

function queue_of_int get_register_name(); 
    queue_of_int ret; 
    ret.push_back(1); 
    ret.push_back(2); 
    return ret; 
endfunction 

Zauważ, że w typedef [$] pochodzi od nazwy typu, a typ elementu kolejka jest przed nazwą typu.

1

Tam jest przykład kodu, który pracował dla mnie ....

typedef bit[31:0] bitQueue[$]; 

// Scala pierwszą i drugą kolejkę, // z drugiej kolejki dodawane są do końca pierwszego

function bitQueue mergeEnd(bit[31:0] queue_1[$], bit[31:0] queue_2[$]); 
    foreach (queue_2[i]) queue_1.push_back(queue_2[i]); 
    return queue_1; 
endfunction 
Powiązane problemy