Introduction
The intended use of VCDScan is to perform quick checking on VCD files. Various statistics are provided for nets. Bus connections are also shown.
Using VCDScan
In order to show how it works, let's run it:
%vcdscan vcd.dmpNote that you can also feed gzipped VCD files into VCDScan (provided they have the .gz suffix). Additionally, input can be accepted from stdin if you use a single dash as the filename.
Now let's look at the output of this run:
Scanning VCD File vcd.dmp... [0] start time. [121] end time. [ ] [ 25] benchx.clk [ ] [ 11] benchx.count[10:0] <-> benchx.count_bus[0:10] [ ] [ 11] benchx.count_bus[0:10] <-> benchx.count[10:0] [*] [ 0] benchx.disconnected[31:0] [*] [ 1] benchx.disconnected_also[255:0] [ ] [ 2] benchx.realnum [ ] [ 12] benchx.toggle_01 [7] total facilities: [5] facilities defined, [2] facilities undefined.
After displaying the trace start and stop times, a series of lines are displayed, one per net in the VCD file. The lines have the format of:
...if there is a star in between the first value in brackets, it indicates that the net never deviated from the value of x (or a series of x's if a vector) during simulation. The nets benchx.disconnected and benchx.disconnected_also above demonstrate this. The reason for showing bus connections is to see if buses are connected "backwards" as shown above (bit 0 is connected to bit 10 and vice versa).
The second set of brackets indicates the number of signal transitions encountered for a given net. It is possible for starred nets to have transition counts greater than zero if the transitions were explicitly and only to x's. benchx.disconnected_also illustrates this.
The net name itself is the next item on the line. If there are any nets directly connected to it (a bus), they will also be displayed following the net name. The nets benchx.count and benchx.count_bus demonstrate this.
At the end of the report, the total number of nets is displayed followed by the number of unstarred and starred nets.