RE: [sv-bc] Is #4.2step legal?

From: Clifford E. Cummings <cliffc_at_.....>
Date: Fri May 19 2006 - 10:58:53 PDT
Thanks to Shalom for finding this in the LRM. I believe the LRM is 
fine as is but a forward reference from section 3.5 to section 19.10 
would not be objectionable.

I am not opposed to limiting step to integers and even limiting step 
to #1step. As Jonathan and I have pointed out, neither one of us can 
find a reasonable reason to use anything other than #1step. LRM 
limitations would be acceptable, but in the absence of those codified 
limitations, I think we can all agree that whenever any of us teach 
#1step, we point out that although decimal and non-unit steps are 
permitted, there are no known good reasons to use anything other than 
one step.

Point out that nobody on the SV committees can think of a good reason 
to use any step other than #1step, but that we have not made any 
restrictions (yet!)

Ask users to email us with any methodology that they believe requires 
a non-unit step and allow us the opportunity to suggest an 
alternative coding style.

Whenever I think of any engineer essentially playing with delta 
delays to beat some race condition, I can usually find a flaw in 
their general coding style.

That having been said, having the #1step based on global precision 
(even though there was nothing like it in Verilog) to be 
exceptionally useful in assertions and verification (it really has no 
place, that I can think of, in design).

I still find a number of people writing that #1step is a Preponed 
region sampling, forgetting that typically a clock started the 
timestep. As I recall, there are a couple of places in the LRM that 
accurately describe the #1step as actually sampling in the Postponed 
region of the timestep immediately preceding the #1step-current 
timestep (that could be the smallest global precision or 100's of ns 
earlier). Translation - since nothing happens between the Postponed 
region of the preceding timestep and the Preponed region of the 
current timestep, that is an ideal place to sample everything that 
settled out before the current timestep started.

Regards - Cliff

At 06:17 AM 5/19/2006, you wrote:
>Being as 19.10 explicitly states that step is equal to the global
>precision, I think the intent was obvious. This would be just a minor
>clarification, not fixing a 'huge oversight'.
>
>Shalom
>
> > Steven is right; this is a huge oversight in the LRM. Section 3.5
>needs
> > to define the semantics of the 'step' delay as ignoring all local
> > timescales and precisions and needs to be defined to be the scaled to
> > the smallest global precision.

----------------------------------------------------
Cliff Cummings - Sunburst Design, Inc.
14314 SW Allen Blvd., PMB 501, Beaverton, OR 97005
Phone: 503-641-8446 / FAX: 503-641-8486
cliffc@sunburst-design.com / www.sunburst-design.com
Expert Verilog, SystemVerilog, Synthesis and Verification Training
Received on Fri May 19 10:58:38 2006

This archive was generated by hypermail 2.1.8 : Fri May 19 2006 - 10:58:48 PDT