Yankie
Newbie level 4
Hi,
I am trying to port always@(*) blocks in my verilog environment to UVM.
E.g always @ (*)
begin
a = tx_intf.A;
b = ~a;
end
task gen;
@(posedge clk);
if(b) -----
@(posedge clk);
c = b;
and so on...
endtask
where,
tx_intf -> Interface
What is the recommended practice to port the above always@(*) block to UVM class?
I was thinking of calling following function:
function abc
a = tx_intf.A;
b = ~a;
endfunction
task gen;
@(posedge clk);
abc();
if(b) -----
@(posedge clk);
abc();
c = b;
and so on...
endtask
Could you please suggest a better way?
Thanks !
I am trying to port always@(*) blocks in my verilog environment to UVM.
E.g always @ (*)
begin
a = tx_intf.A;
b = ~a;
end
task gen;
@(posedge clk);
if(b) -----
@(posedge clk);
c = b;
and so on...
endtask
where,
tx_intf -> Interface
What is the recommended practice to port the above always@(*) block to UVM class?
I was thinking of calling following function:
function abc
a = tx_intf.A;
b = ~a;
endfunction
task gen;
@(posedge clk);
abc();
if(b) -----
@(posedge clk);
abc();
c = b;
and so on...
endtask
Could you please suggest a better way?
Thanks !