Skip to content

Commit c7b9024

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

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

frontends/verific/verific.cc

+11-2
Original file line numberDiff line numberDiff line change
@@ -2815,6 +2815,8 @@ 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");
28182820
log(" -autocover\n");
28192821
log(" Generate automatic cover statements for all asserts\n");
28202822
log("\n");
@@ -3548,6 +3550,7 @@ struct VerificPass : public Pass {
35483550
bool mode_nosva = false, mode_names = false, mode_verific = false;
35493551
bool mode_autocover = false, mode_fullinit = false;
35503552
bool flatten = false, extnets = false, mode_cells = false;
3553+
bool split_complex_ports = true;
35513554
string dumpfile;
35523555
string ppfile;
35533556
Map parameters(STRING_HASH);
@@ -3565,6 +3568,10 @@ struct VerificPass : public Pass {
35653568
flatten = true;
35663569
continue;
35673570
}
3571+
if (args[argidx] == "-no-split-complex-ports") {
3572+
split_complex_ports = false;
3573+
continue;
3574+
}
35683575
if (args[argidx] == "-extnets") {
35693576
extnets = true;
35703577
continue;
@@ -3804,8 +3811,10 @@ struct VerificPass : public Pass {
38043811
worker.run(nl.second);
38053812
}
38063813

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

38103819
if (!dumpfile.empty()) {
38113820
VeriWrite veri_writer;

0 commit comments

Comments
 (0)