From: <by...@nc...> - 2013-07-20 17:38:39
|
> I know this is not strictly about Icarus Verilog, but since you mentioned > it, there are some other things I would like to see in GTKWave. I will just > make a list, since I do not have time to run tests now. > > 1. to show signals inside the module scope differently then module ports > 2. to show port directions > 3. to show parameters (ModelSim exports parameters to VCD) > 4. hierarchical display of packed structures and arrays > 5. display of interfaces as both instances and ports > 6. display of SystemVerilog classes #1 and #2 have been in gtkwave in SVN for about a week. The only formats that gtkwave can read that currently support it are FST and FSDB. Existing FSDB files from VCS read fine and ports/direction are intact. For FST, I am unaware of any current simulators writing port direction info though I think CVC will be soon to add it. Note that for FST, vcd2fst can work to convert FSDB to FST (with port information intact) provided this line pops out of ./configure: EXTLOAD_CFLAGS : -DEXTLOAD_PATH=\"/pub/fsdb/bin/fsdbdebug\" -DEXTLOAD_SUFFIX=\"fsdb\" -DEXTCONV_PATH=\"/pub/fsdb/bin/fsdb2vcd\" You need to ensure those executables from an nWave install are in path as both are used during conversion. The vcd file alone from fsdb2vcd is not enough as information is missing that is provided by fsdbdebug. For accelerated (not slow via fsdbdebug) reading of FSDB files, and also without using -o (via fsdb2vcd then vcd2fst) if the above EXTLOAD stuff is satisfied, you need these libraries and the accompanying c++ headers: FSDB_CFLAGS : -DFSDB_NSYS_IS_PRESENT -DFSDB_IS_PRESENT -I/pub/FsdbReader FSDB_LDADD : /pub/FsdbReader/libnsys.so /pub/FsdbReader/libnffr.so ...then FSDB looks like any other available filetype. > How much is actually not implemented in Icarus and how much is not > supported by waveform file standards. Is there actually a free waveform > format supporting all this? VCD doesn't support any of the #1-#6 above. What I would need to see is an FSDB file that contains examples of all that stuff so I can (1) see what Verdi does, and (2) see how it is stored internally in the file. I say FSDB because VCS (or whatever) has an established format for doing this already that could provide good guidelines to free solutions. As far as parameters go (#3), isn't that an Icarus dumper thing? For #4, there is hierarchical structure stuff that Bluespec writes to VCD as well as the save files, but I don't remember how it works, simply that it does. > The Verilator teem is also behind here, they only support VCD files, but > they have made some progress supporting SystemVerilog interfaces, so I > could check how are those displayed in GTKWave. > > Regards, > Iztok Jeras I'm not a verification guy currently, so I'm completely ignorant of SV interfaces. Again, I'd need to see an FSDB file that has all this stuff and be pointed to it. -Tony |