From 7bb83ae9f29f585428a4a43e58fe19bea10f0711 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Tue, 6 Mar 2018 15:06:35 +0100 Subject: [PATCH] Add SVA first_match() support Signed-off-by: Clifford Wolf --- frontends/verific/verificsva.cc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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");