Add SVA first_match() support

Signed-off-by: Clifford Wolf <clifford@clifford.at>
This commit is contained in:
Clifford Wolf 2018-03-06 15:06:35 +01:00
parent 78f2cca2d9
commit 7bb83ae9f2
1 changed files with 16 additions and 0 deletions

View File

@ -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");