Commit 76d06ed 1 parent 6b4f11d commit 76d06ed Copy full SHA for 76d06ed
File tree 1 file changed +10
-1
lines changed
1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -123,6 +123,7 @@ struct SimShared
123
123
std::vector<TriggeredAssertion> triggered_assertions;
124
124
std::vector<DisplayOutput> display_output;
125
125
bool serious_asserts = false ;
126
+ bool fst_noinit = false ;
126
127
bool initstate = true ;
127
128
};
128
129
@@ -1553,7 +1554,7 @@ struct SimWorker : SimShared
1553
1554
bool did_something = top->setInputs ();
1554
1555
1555
1556
if (initial) {
1556
- did_something |= top->setInitState ();
1557
+ if (!fst_noinit) did_something |= top->setInitState ();
1557
1558
initialize_stable_past ();
1558
1559
initial = false ;
1559
1560
}
@@ -2672,6 +2673,10 @@ struct SimPass : public Pass {
2672
2673
log (" fail the simulation command if, in the course of simulating,\n " );
2673
2674
log (" any of the asserts in the design fail\n " );
2674
2675
log (" \n " );
2676
+ log (" -fst-noinit\n " );
2677
+ log (" do not initialize latches and memories from an input FST or VCD file\n " );
2678
+ log (" (use the initial defined by the design instead)\n " );
2679
+ log (" \n " );
2675
2680
log (" -q\n " );
2676
2681
log (" disable per-cycle/sample log message\n " );
2677
2682
log (" \n " );
@@ -2834,6 +2839,10 @@ struct SimPass : public Pass {
2834
2839
worker.serious_asserts = true ;
2835
2840
continue ;
2836
2841
}
2842
+ if (args[argidx] == " -fst-noinit" ) {
2843
+ worker.fst_noinit = true ;
2844
+ continue ;
2845
+ }
2837
2846
if (args[argidx] == " -x" ) {
2838
2847
worker.ignore_x = true ;
2839
2848
continue ;
You can’t perform that action at this time.
0 commit comments