Internals: Add --debug-exit-uvm

This commit is contained in:
Wilson Snyder 2020-08-23 09:05:18 -04:00
parent 132cc1d068
commit d2fac4aa2f
6 changed files with 11 additions and 3 deletions

View File

@ -1015,6 +1015,8 @@ void V3Options::parseOptsList(FileLine* fl, const string& optdir, int argc, char
m_debugCollision = flag;
} else if (onoff(sw, "-debug-exit-parse", flag /*ref*/)) { // Undocumented
m_debugExitParse = flag;
} else if (onoff(sw, "-debug-exit-uvm", flag /*ref*/)) { // Undocumented
m_debugExitUvm = flag;
} else if (onoff(sw, "-debug-leak", flag /*ref*/)) {
m_debugLeak = flag;
} else if (onoff(sw, "-debug-nondeterminism", flag /*ref*/)) {

View File

@ -266,6 +266,7 @@ private:
bool m_debugCheck = false; // main switch: --debug-check
bool m_debugCollision = false; // main switch: --debug-collision
bool m_debugExitParse = false; // main switch: --debug-exit-parse
bool m_debugExitUvm = false; // main switch: --debug-exit-uvm
bool m_debugLeak = true; // main switch: --debug-leak
bool m_debugNondeterminism = false; // main switch: --debug-nondeterminism
bool m_debugPartition = false; // main switch: --debug-partition
@ -469,6 +470,7 @@ public:
bool debugCheck() const { return m_debugCheck; }
bool debugCollision() const { return m_debugCollision; }
bool debugExitParse() const { return m_debugExitParse; }
bool debugExitUvm() const { return m_debugExitUvm; }
bool debugLeak() const { return m_debugLeak; }
bool debugNondeterminism() const { return m_debugNondeterminism; }
bool debugPartition() const { return m_debugPartition; }

View File

@ -116,6 +116,10 @@ static void process() {
cout << "--debug-exit-parse: Exiting after parse\n";
exit(0);
}
if (v3Global.opt.debugExitUvm()) {
cout << "--debug-exit-uvm: Exiting after UVM-supported pass\n";
exit(0);
}
// Convert parseref's to varrefs, and other directly post parsing fixups
V3LinkParse::linkParse(v3Global.rootp());

View File

@ -13,7 +13,7 @@ scenarios(vlt => 1);
top_filename("t_mailbox.v");
lint(
verilator_flags2 => ["--debug-exit-parse"],
verilator_flags2 => ["--debug-exit-uvm"],
);
ok(1);

View File

@ -13,7 +13,7 @@ scenarios(vlt => 1);
top_filename("t_process.v");
lint(
verilator_flags2 => ["--debug-exit-parse"],
verilator_flags2 => ["--debug-exit-uvm"],
);
ok(1);

View File

@ -13,7 +13,7 @@ scenarios(vlt => 1);
top_filename("t_semaphore.v");
lint(
verilator_flags2 => ["--debug-exit-parse"],
verilator_flags2 => ["--debug-exit-uvm"],
);
ok(1);