>From: "Stuart Sutherland" <stuart@sutherland-hdl.com> >The text in 1800 Section 3.5 says that a delay time unit of "step" must be >preceded by either an integer or fixed point value. This means the >following delay is legal: > > initial #4.2step $display("Time is %f", $realtime); > >However, Section 19.10 defines "step" as "The step time unit is equal to the >global time precision". Does this mean that a step of "4.2" is rounded off, >truncated, or illegal? In the absence of any text specific to this situation, I would expect it to work the same way as any delay specified to greater precision than the time precision. The delay gets rounded to the time precision. This brings up a problem with defining step to mean the global time precision. Delays are always rounded to the local timeprecision. If step uses the global time precision, and that is more precise than the local time precision, then #4.2step would get rounded to zero. For example, suppose the global timescale is 1ps/1ps and the local timescale is 1ns/1ns. Then the expression 4.2step would be equivalent to 0.0042, and #0.0042 will round to a zero delay. To make this work reasonably, step needs to mean the local timeprecision, not the global one. Steven Sharp sharp@cadence.comReceived on Thu May 11 11:24:33 2006
This archive was generated by hypermail 2.1.8 : Thu May 11 2006 - 11:24:46 PDT