To sv-ac: I have a difficulty concerning time-consuming (blocking) actions in task calls attached to a sequence. The LRM clearly states that subroutines (task calls) attached to a sequence should execute in the Reactive region, but doesn't clearly describe what should happen if such a task call blocks for non-zero time. I am fairly sure I've seen some discussion of this on the sv-ac list, but I can't find it. If anyone can give me a pointer to where I can locate any information I would be most grateful. Here's the problem. Consider: task UserTask; repeat(3) @(posedge clk); endtask : UserTask assert property (@(posedge clk) (a, UserTask) ##1 b); Is it legal to include the blocking delay in UserTask? And if so, does UserTask execute as a separate thread, as if it had been spawned using fork...join_none? If it is not a separate thread, what activity is blocked by it? Please forgive me if I'm completely misunderstanding the situation, and thanks in advance for your help. -- Jonathan Bromley, Consultant DOULOS - Developing Design Know-how VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services Doulos Ltd. Church Hatch, 22 Market Place, Ringwood, Hampshire, BH24 1AW, UK Tel: +44 (0)1425 471223 Email: jonathan.bromley@doulos.com Fax: +44 (0)1425 471573 Web: http://www.doulos.com The contents of this message may contain personal views which are not the views of Doulos Ltd., unless specifically stated.Received on Fri Nov 24 14:10:38 2006
This archive was generated by hypermail 2.1.8 : Fri Nov 24 2006 - 14:11:14 PST