I am using IUS583. And I want to do transaction layer class object transfer using Queue.I think there maybe two methods listed below.1. share queue with two different class2. share queue (maybe local queue) with two different tasks within one classMy queue contain class object, is it feasible in IUS583? And is there any simple example to do that work?
I have write method 1 and method 2 ,but it seems IUS583 always give out ncelab error:ncelab: *E,CUVHNF Hierarchical name component lookup failed at 'cmd_queue'.
//method 1 snippetmodule top_tb;class cmd_c;...endclass
class transaction_gen;task run; ... cmd_queue.push_back (cmd)endtaskendclass
//method 2 snippetmodule top_tb;class cmd_c;...endclass
class transaction_gen;local cmd_c cmd_queue[$];task run; ... cmd_queue.push_back (cmd)endtaskendclass
The following code worked with : ncverilog: 05.83-p002:module top;class cmd_c;integer i;endclasscmd_c cmd_queue[$];cmd_c cmd = new;class transaction_gen;task run; cmd_queue.push_back (cmd); $display("cmd Pushed..");endtaskendclasstransaction_gen tg = new;initial begin tg.run; $finish; endendmodule
Hi mirzani,Thanks a lot! Your code work fine!Best regards,Davy