From: Clifford Wolf Date: Tue, 6 Mar 2018 14:06:35 +0000 (+0100) Subject: Add SVA first_match() support X-Git-Tag: yosys-0.8~172 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7bb83ae9f29f585428a4a43e58fe19bea10f0711;p=yosys.git Add SVA first_match() support Signed-off-by: Clifford Wolf --- 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");