aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--frontends/verific/verificsva.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/frontends/verific/verificsva.cc b/frontends/verific/verificsva.cc
index 8eee02661..41ce45048 100644
--- a/frontends/verific/verificsva.cc
+++ b/frontends/verific/verificsva.cc
@@ -1058,6 +1058,22 @@ struct VerificSvaImporter
return parse_sequence(fsm, start_node, new_clocking.body_net);
}
+ if (inst->Type() == PRIM_SVA_FIRST_MATCH)
+ {
+ SvaFsm match_fsm(clocking);
+ match_fsm.createLink(parse_sequence(match_fsm, match_fsm.startNode, inst->GetInput()), match_fsm.acceptNode);
+
+ int node = fsm.createNode();
+ match_fsm.getDFsm(fsm, start_node, node);
+
+ if (verific_verbose) {
+ log(" First Match FSM:\n");
+ match_fsm.dump();
+ }
+
+ return node;
+ }
+
if (inst->Type() == PRIM_SVA_SEQ_CONCAT)
{
const char *sva_low_s = inst->GetAttValue("sva:low");