Skip to content

Commit db1de5f

Browse files
committed
verific: add option to skip simplifying complex ports
1 parent 3537976 commit db1de5f

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

frontends/verific/verific.cc

+12-2
Original file line numberDiff line numberDiff line change
@@ -2815,6 +2815,9 @@ struct VerificPass : public Pass {
28152815
log(" -extnets\n");
28162816
log(" Resolve references to external nets by adding module ports as needed.\n");
28172817
log("\n");
2818+
log(" -no-split-complex-ports\n");
2819+
log(" Complex ports (structs or arrays) are not split and remain packed as a single port.\n");
2820+
log("\n");
28182821
log(" -autocover\n");
28192822
log(" Generate automatic cover statements for all asserts\n");
28202823
log("\n");
@@ -3548,6 +3551,7 @@ struct VerificPass : public Pass {
35483551
bool mode_nosva = false, mode_names = false, mode_verific = false;
35493552
bool mode_autocover = false, mode_fullinit = false;
35503553
bool flatten = false, extnets = false, mode_cells = false;
3554+
bool split_complex_ports = true;
35513555
string dumpfile;
35523556
string ppfile;
35533557
Map parameters(STRING_HASH);
@@ -3565,6 +3569,10 @@ struct VerificPass : public Pass {
35653569
flatten = true;
35663570
continue;
35673571
}
3572+
if (args[argidx] == "-no-split-complex-ports") {
3573+
split_complex_ports = false;
3574+
continue;
3575+
}
35683576
if (args[argidx] == "-extnets") {
35693577
extnets = true;
35703578
continue;
@@ -3804,8 +3812,10 @@ struct VerificPass : public Pass {
38043812
worker.run(nl.second);
38053813
}
38063814

3807-
for (auto nl : nl_todo)
3808-
nl.second->ChangePortBusStructures(1 /* hierarchical */);
3815+
if (split_complex_ports) {
3816+
for (auto nl : nl_todo)
3817+
nl.second->ChangePortBusStructures(1 /* hierarchical */);
3818+
}
38093819

38103820
if (!dumpfile.empty()) {
38113821
VeriWrite veri_writer;

0 commit comments

Comments
 (0)