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

From: Arturo Salz <Arturo.Salz_at_.....>
Date: Thu May 18 2006 - 17:54:00 PDT
However, that is not how "step" is defined.

If the global precision is 1fs and you specified #4.2step in a module
with local time precision and time unit of 1ps, the effective delay
would be 4fs (4.2fs which is truncated to 4fs). That's why I believe
fractional step are useless.

	Arturo

-----Original Message-----
From: Steven Sharp [mailto:sharp@cadence.com] 
Sent: Thursday, May 18, 2006 4:39 PM
To: sharp@cadence.com; sv-bc@eda.org; stuart@sutherland-hdl.com;
Arturo.Salz@synopsys.COM
Subject: RE: [sv-bc] Is #4.2step legal?


>From: "Arturo Salz" <Arturo.Salz@synopsys.com>

>Unfortunately, defining "step" as anything other than the global time
>precision would render the step unit largely useless for the purpose
for
>which it was conceived: To allow users to specify the smallest delay
>possible such that no events can take place at a time in between T and
T
>+ 1step. This is useful for specifying the sampling skew of clocking
>blocks.

For this to work, sampling skews would have to ignore the normal time
precision rules that apply to all other delays in Verilog (e.g. delay
controls, continuous assignment and gate delays).  I don't see anything
in the LRM that says that they do.

If you used #4.2step as a delay control in a module whose time precision
was higher than the global time precision, this would get rounded down
to zero.  For example, if the global time precision is 1fs, and the
local
time precision and time unit are 1ps, then #4.2step would be equivalent
to #0.0042, which would be rounded to zero.  You cannot specify a delay
in the module with more precision than the module time precision.  That
is what the time precision means.

Steven Sharp
sharp@cadence.com
Received on Thu May 18 17:53:50 2006

This archive was generated by hypermail 2.1.8 : Thu May 18 2006 - 17:54:01 PDT