From: <by...@nc...> - 2013-07-23 17:44:22
|
OK, I grabbed those .sv examples and compiled/ran them in VCS to see how they're stored. datatypes mapped back to existing Verilog ones. Nothing says that Icarus has to do that so we can invent aliases for SV if we want. t_enumerate only stored the values, not the enum names. t_string stored nothing: it was an FSDB file with zero variables. Note that FST can dump strings so this might be a limitation in having variable length records in FSDB. I don't know. For all the array/struct ones, those dumped fine and I'll look at how those can be dumped--mainly by looking at the corresponding API in the FsdbWriter. It's a straightforward iterative/recursive traversal to dump those datatypes like you'd expect. I'd be able to fold them into fstHierType as that's how FSDB does it via fsdbTreeCBType which functions in a similar capacity. The elements of arrays/structs/etc dump as normal vars except they're surrounded by the appropriate begin and end markers to set up the datatype's parameters. So at least from the FST/gtkwave side, SV dumping seems doable. -Tony |