|
From: Christopher B. <cb...@co...> - 2014-08-21 21:19:58
|
Hi Tony, Great -- so it sounds like gtkwave has support for hierarchy in structs when reading both VCD (using some kind of hierarchy delimiter?) and FST. So the issue is not with gtkwave but instead with iverilog. So I guess the question is then, can iverilog generate dumping the hierarchy in structs? or maybe this is planned for the future? Thanks! Chris ps -- Also sounds like we should either use VCD for portability or FST as our primary dump formats ... On Aug 21, 2014, at 3:44 p, by...@nc... wrote: > ---- ive...@li... wrote: > >> These other file formats have the same issue. They do not show the >> hierarchy. I did notice this in the gtkwave ChangeLog: >> >> 3.3.48? 04aug13 ... >> ? ? ? ? ? ? ? ? Added support for SV structures, unions, classes, >> ? ? ? ? ? ? ? ? packages, programs, and interfaces. >> ? ? ? ? ? ? ? ? ... > > Chris, > > Your simulator needs to support dumping them. For example, for my day job I use VCS and it writes those hierarchy types to an FSDB file. If I convert it to FST using vcd2fst (with the FsdbReader libraries linked in), they're visible exactly the same as in the FSDB. I used FSDB's support as a model for FST's. > > Note that the VCD parsers in gtkwave do support additional (non-1364 architected) hierarchy types and they all have their own special icons in the SST: > > case 'm': ttype = TREE_VCD_ST_MODULE; break; > case 't': ttype = TREE_VCD_ST_TASK; break; > case 'f': ttype = (GLOBALS->yytext_vcd_recoder_c_3[1] == 'u') ? TREE_VCD_ST_FUNCTION : TREE_VCD_ST_FORK; break; > case 'b': ttype = TREE_VCD_ST_BEGIN; break; > case 'g': ttype = TREE_VCD_ST_GENERATE; break; > case 's': ttype = TREE_VCD_ST_STRUCT; break; > case 'u': ttype = TREE_VCD_ST_UNION; break; > case 'c': ttype = TREE_VCD_ST_CLASS; break; > case 'i': ttype = TREE_VCD_ST_INTERFACE; break; > case 'p': ttype = (GLOBALS->yytext_vcd_recoder_c_3[1] == 'r') ? TREE_VCD_ST_PROGRAM : TREE_VCD_ST_PACKAGE; break; > > ...forget about support in LXT, LXT2, etc. They're old formats well over 10 years old not really worth extending. FST can store a lot more useful information. Looking at fstapi.h shows what is possible. It supports VHDL as well (e.g., for the nvc compiler) so it is more flexible than the other formats. > > -Tony |