Subject: RE: [sv-ec] Minutes from today's meeting -EXT 7
From: Surrendra Dudani (Surrendra.Dudani@synopsys.com)
Date: Fri Nov 21 2003 - 11:59:25 PST
Hi Jay,
The intention for using this trick is still to execute in the same
simulation time unit, but delay it until the completion of the sequence
evaluation in the observe region. So, your analysis is correct, and the use
of .triggered would be ok.
(Although there is a bug in the code! continuous assign to its own complement)
At 11:00 AM 11/21/2003 -0500, you wrote:
>I disagree with the following "trick".
>
> >
> >
> > * It is stated that one can make normal verilog code execute
> > in the reactive region by performing this trick.
> >
> > program trick;
> > assign s_detect = ! s_detect;
> > endprogram
> >
> > always @(posedge clk)
> > begin
> > @(s_detect);
> > // Switched to reactive region now!
> > ... // use .triggered, or other reactive region only things...
> > end
> >
> >
>
>
>Note that code never "executes in the reactive region". All code
>Executes in the Active region. The other regions are just places to
>schedule FUTURE processes so that a partial order between there
>execution can be maintained.
>
>In the case above (if the s_detect was visible at all per Arturo's
>comment), this always block would:
>
>1) Wait on posedge of clk.
>2) When posedge clk happened it would be placed in the InActive region
>3) The InActive would eventually be promoted to the Active region
>4) The block would wait on s_detect
>5) Eventually the "reactive region" would be promoted to the Active
>region
>6) The program block would run, modifying s_detect
>7) The always block would be scheduled in the Inactive region
>8) Eventually this Inactive region would be promoted to Active
>9) The always block would run again
>
>Note that step 9 happens in the same simulation time as step 6 so my
>understanding is that .triggered would still be true on any event that
>changed in this time.
>
>Jay
**********************************************
Surrendra A. Dudani
Synopsys, Inc.
377 Simarano Drive, Suite 300
Marlboro, MA 01752
Tel: 508-263-8072
Fax: 508-263-8123
email: Surrendra.Dudani@synopsys.com
**********************************************
This archive was generated by hypermail 2b28 : Fri Nov 21 2003 - 12:01:03 PST