|
The sample simulation files, golden.sst and test.sst were generated directly from the simulator using DAI's PLI routines. We recommend that you use SST files generated by the simulator since it will contain port information, which is not available through the VCD files.
Detailed instructions for linking the Design Accleration PLI to your Verilog simulator are available in the chapter on "Interfacing DAI Comparescan to your Verilog Simulator".
comparescan
The DAI Comparescan window is displayed. Compare errors and messages will be displayed in this window.

To start the comparison: click on the Run button in the window.
You can see the Design Acceleration icon animated while the comparison is in progress. The bottom of the window also show the current signals or scopes being processed.
The comparison is finished when the animation stops and the status at the bottom of the window says "Compare Complete. Processed ..."

Additional information on the rules used to comparison are listed on the next couple lines. The first Info line tells us that no rule was specified for the comparison so the default rule will be used. The second Info line shows that the default rule is to compare the top scope for one level of hierarchy and compare the internal signals as well as the ports. The default rule also limits the number of errors per signal to 50.
Under the info lines are two error messages. They indicate that two variables has matching names but has different number of bits, so no comparison was performed.
Beneath the error message is the list of the scopes which have errors. The letter "M" in front of the scopes indicate that they are modules. Variables will have the waveform sign in front of them.
Scope hello has 5 errors and scope top has 79 errors.

To view the errors sorted by time:
hello.o1.

To invoke DAI Signalscan and view the errors:


Let's run the comparison again, this time, comparing only certain signals or scopes. We will be using the demo.rules file which has examples of most of the options available in DAI Comparescan. The content of the file is listed below:
datafile1 golden.sst
datafile2 test.sst
compare top.golden top.s1
compare top.golden top.s2 -start 500 -tol 50
clkdef clk1
clkcompare clk1 top.golden top.s3
clkcompare clk1 top.golden top.s4 -posedge -tol 3
stability clk2 top.goodBus
clkdef clk3 top.c3 -setup 20 -hold 20
stability clk3 top.bus1
clkcompare clk2 top.goodBus clk3 top.bus1 -tol 3 \
when "(top.bus1 | 3'b001) || (top.goodBus==2)"
// clock compare for entire module
clkdef clk4 top.d1.clk
clkcompare clk4 hello.d1 -internal -depth 3
The first two lines specify the golden file and secondary file, respectively. The rest of the commands are compare commands.
DAI Comparescan supports two types of comparisons, absolute compare and clocked compare. Absolute compare will find all the difference between the two signals at any point in time, where clock compare will only check on the clock edges.
Clocked compare is much faster then absolute compares and is more commonly used. compare does absolute compares and clkcompare does clocked compares.
These two commands can take optional flags, such as -start and -end, which specifies when to start and stop the comparison. The -tol, -pos and -neg flags can be used to specify the window of tolerance for comparison, where -pos speifies the positive tolerance (amount of time before the edge), -neg specifies the negative tolerance (the amount time after the edge), and -tol specifies both the positive and negative tolerance.
Clkcompare requires an additional signal to be used as the clock. By default, the comparison will be on the rising edge (-posedge), but the user can change the comparison be on the falling edge or both edges with the -negedge or -bothedge flags, respectively.
Clkcompare can additionally take optional flags for setup and hold times to check against the clock. If these parameters are set, setup and hold time for the signals are automatically checked.
Should the user only care about checking for setup and hold violations without comparisons, the stability command can be used.
The when option can be added to the compare statements to qualify errors. Only when the expression of the when option evaluates to true are the errors reported.
NOTE: Rules and options specified in the rules file will override those in the Options Dialog Box.
A more complete list of commands, options and explanations can be found in the Rules File chapter of the User's Guide.
To use this rules file:
|