New Essential Signal Analysis Result Format along with Enhanced Essential Signal Dumping Flow

The Essential Signal analysis and dumping flow in the SilotiTM Visibility Automation System was refined in the Novas 2010.01 release. The purpose of the change is to make the usage smoother. It enables users to dump Essential Signal FSDB files in the full dump environment without having to touch and recompile the design. Also, the output of Essential Signal Analysis is changed from a text file to a binary database (ESDB). The ESDB supports setting most ESA options at simulation run time; therefore, most of the options can be deferred to simulation run time instead of having to rerun ESA (time consuming) whenever the required ESA options are different. The new ESDB and ES dumping flow is considered general beta in Novas 2010.01.

Here is an example showing how to do Essential Signal Analysis and Essential Signal dumping in the enhanced flow:

  • To dump essential signals to FSDB (ES dumping), you need to perform Essential Signal Analysis (ESA) on your design. The output of the ESA is an ESDB binary file which contains the essential signals of the design.
  • You can perform ESA via using the esa utility or the Siloti system; however, the following environment variable must be set before invoking the Siloti system or the esa utility.

> setenv SILOTI_ESDB 1

  • If you use the esa utility to do ESA, then you need to specify the -db option on the esa utility command line to indicate the output should be an ESDB file. For example,

> esa -db es -top top

  • Assume your current design contains a $fsdbDumpvars dumping command to dump signals to FSDB file, for example:

//test.v

initial

   begin

        $fsdbDumpfile("dump.fsdb");

        $fsdbDumpvars;

        #12500 $finish;

   end

  • And your simulation executable is already linked with the new re-architected dumper (available in 2010, refer to the Linking Novas Files with Simulators and Enabling FSDB Dumping document, <NOVAS_INST_DIR>/doc/linking_dumping.pdf) similar to the following VCS/simv example:

> vcs -full64 +memcbk +cli+3 -debug_all +v2k +vpi +vcsd -LDFLAGS

"-L/$NOVAS_HOME/share/PLI/lib/LINUX64

-L/$NOVAS_HOME/share/PLI/VCS/LINUX64" 

-P $NOVAS_HOME/share/PLI/VCS/LINUX64/novas.tab $NOVAS_HOME/share/PLI/VCS/LINUX64/pli.a +vcs+lic+wait test.v

  • Now, to do ES dumping, you can simply specify the ESDB file on the simulator command line without modifying code. Because the design is untouched for ES dumping, there is no need to regenerate the simulator executable simv. That is, the same simv can be used for both full and ES dumping.
  • To dump ESD FSDB by specifying ESDB in simulator command line, use the following:

> simv +fsdb+esdb="es" +fsdb+esoptions="-xsignalfile my.list

-xscope top"

  • Where +fsdb+esdb=esdb_filename is used to specify the ESDB file name and +fsdb+esoptions="option_list" (optional) is used to specify ESA options.
  • When the +fsdb+esdb=esdb_filename option is specified, the Novas dumper would dump the set of essential signals that can achieve the same visibility (after Data Expansion) as the union of all $fsdbDumpvars commands in design. For instance, if there is one $fsdbDumpvars command $fsdbDumpvars(2, system) specified in design, the ES dump would result in dumping the minimal set of Essential Signals that can be expanded to achieve full visibility over 2 levels of scopes under the system scope.
  • You can load the resulting ESD FSDB file that contains dumping of essential signals only to the Siloti system to debug. The Siloti system would perform Data Expansion on demand on the Essential Signals as if you have full visibility.