aboutsummaryrefslogtreecommitdiffstats
path: root/frontends/verific/verific.cc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-03-04 19:29:26 +0100
committerClifford Wolf <clifford@clifford.at>2018-03-04 19:29:26 +0100
commit480e8e676a41559138a690759e90cec2ae60bc28 (patch)
tree97afd030b90a7e1545e40afb32b2fffe49eb9384 /frontends/verific/verific.cc
parent27dd500d31c07991d5a6f01c95f5519d7225c427 (diff)
downloadyosys-480e8e676a41559138a690759e90cec2ae60bc28.tar.gz
yosys-480e8e676a41559138a690759e90cec2ae60bc28.tar.bz2
yosys-480e8e676a41559138a690759e90cec2ae60bc28.zip
Add proper SVA seq.triggered support
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'frontends/verific/verific.cc')
-rw-r--r--frontends/verific/verific.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/frontends/verific/verific.cc b/frontends/verific/verific.cc
index 2e669dc45..9db5f6a02 100644
--- a/frontends/verific/verific.cc
+++ b/frontends/verific/verific.cc
@@ -1001,6 +1001,7 @@ void VerificImporter::import_netlist(RTLIL::Design *design, Netlist *nl, std::se
pool<Instance*, hash_ptr_ops> sva_asserts;
pool<Instance*, hash_ptr_ops> sva_assumes;
pool<Instance*, hash_ptr_ops> sva_covers;
+ pool<Instance*, hash_ptr_ops> sva_triggers;
pool<RTLIL::Cell*> past_ffs;
@@ -1106,6 +1107,9 @@ void VerificImporter::import_netlist(RTLIL::Design *design, Netlist *nl, std::se
if (inst->Type() == PRIM_SVA_COVER || inst->Type() == PRIM_SVA_IMMEDIATE_COVER)
sva_covers.insert(inst);
+ if (inst->Type() == PRIM_SVA_TRIGGERED)
+ sva_triggers.insert(inst);
+
if (inst->Type() == OPER_SVA_STABLE)
{
VerificClocking clocking(this, inst->GetInput2Bit(0));
@@ -1264,6 +1268,9 @@ void VerificImporter::import_netlist(RTLIL::Design *design, Netlist *nl, std::se
for (auto inst : sva_covers)
import_sva_cover(this, inst);
+ for (auto inst : sva_triggers)
+ import_sva_trigger(this, inst);
+
merge_past_ffs(past_ffs);
}
}