User guide

2-13
Modeling Your Design
Using the $test$plusargs system function forces VCS to consider
the worst case scenario — plusargs will be used at runtime — and
VCS generates the simv executable with the corresponding overhead
to prepare for these plusargs. The more fixed information VCS has
at compile-time, the more VCS can optimize simv for efficient
simulation. On the other hand, the more user control at runtime, the
more overhead VCS has to add to simv to accept runtime options,
and the less efficient the simulation.
For this reason Synopsys recommends that if you use this technique,
you should plan to abandon it fairly early in the development cycle
and switch to either the conditional compilation technique for writing
simulation history files, or a combination of the two techniques.
Combining the Techniques
Some users find that they have the greatest amount of control over
the advantages and disadvantages of these techniques when they
combine them. Consider the following example:
`ifdef comppostprocess
initial
if ($test$plusargs("runpostprocess"))
begin
$vcdpluson(0,design_1);
$vcdplustraceon(design_1);
$vcsplusdeltacycleon;
$vcdplusglitchon;
end
`endif