Add Proposal | Add Analysis | Edit Class, Environment, or Release |
Number | 285
|
Category | errata
|
Synopsis | 18.1.3: VCD $dumpoff and real values
|
State | open
|
Class | errata-discuss
|
Arrival-Date | Feb 18 2003
|
Originator | Stephen Williams <steve@icarus.com>
|
Release | 2001b: 18.1.3
|
Environment |
|
Description |
This may be a fairly detailed nit, but... While trying to implement VCD dump of real/realtime variables, I found myself wondering what to put in the $dumpoff-$end block for reals. The 1364-2001 is clear that variable values should be set to x in the $dumpoff block (and re-set to their current values in the $dumpon block) but real values have no x defined for them by the standard. Tools in the wild seem to do a variety of things. One tool emits an "r0", another emits nothing at all. Icarus Verilog emits NaN, a choice I made before taking the survey. The confusing description is in IEEE1364-2001 Section 18.1.3: "When the $dumpoff task is executed, a checkpoint is made in which every selected variable is dumped as an x value." real and realtime are variables, but have no x value other then possibly NaN. Since the statement goes through the effort of requiring a specific value for variables, real/realtime variables should be accounted for. Incidentally, I think this sentence also intended to include selected *nets*. This problem will turn up again when new data types are added by SystemVerilog: byte, int, longint. -- Steve Williams "The woods are lovely, dark and deep. steve at icarus.com But I have promises to keep, steve at picturel.com and lines to code before I sleep, http://www.picturel.com And lines to code before I sleep." |
Fix |
|
Audit-Trail |
|
Unformatted |
|
Hosted by Boyd Technology