Quantcast
Channel: UVM Forums RSS Feed
Viewing all articles
Browse latest Browse all 756

Should uvm_hdl_force_time be declared automatic?

$
0
0

Hello,

it's the first time I post in UVM forums, and I hope I have chosen the right way to highlight a possible problem in UVM (up to 1.2, as far as I know).

The issue is that:

 

  task uvm_hdl_force_time(string path, uvm_hdl_data_t value, time force_time = 0);
 

is not declared "automatic". This has caused me some problems when trying to call it concurrently from 2 separate threads, e.g.:

 

fork

    uvm_hdl_force_time("a", 0, 1us);

    uvm_hdl_force_time("b", 0, 1us);

 join_none

 

Essentially only one signal was forced.

I had to copy the code in another task and declare it as "automatic" (by the way, I needed the force_time argument to be realtime, it would be nice to add such a task to UVM as well):

 

task automatic my_hdl_force_realtime(string path, uvm_hdl_data_t value, realtime force_time=0ns);

 

I suspect that this is not the only task/function having this problem in UVM, so this can be a more general issue.

Can someone please give me some feedback about this?

Thanks in advance,

 

Lanfranco

 


Viewing all articles
Browse latest Browse all 756

Trending Articles