mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-27 02:45:52 +00:00
Fix generation of vlogtb output in yosys-smtbmc for "rand reg" and "rand const reg"
This commit is contained in:
parent
129984e115
commit
8f8baccfde
5 changed files with 61 additions and 4 deletions
|
@ -1497,6 +1497,13 @@ RTLIL::SigSpec AstNode::genRTLIL(int width_hint, bool sign_hint)
|
|||
cell->attributes["\\src"] = stringf("%s:%d", filename.c_str(), linenum);
|
||||
cell->parameters["\\WIDTH"] = width;
|
||||
|
||||
if (attributes.count("\\reg")) {
|
||||
auto &attr = attributes.at("\\reg");
|
||||
if (attr->type != AST_CONSTANT)
|
||||
log_error("Attribute `reg' with non-constant value at %s:%d!\n", filename.c_str(), linenum);
|
||||
cell->attributes["\\reg"] = attr->asAttrConst();
|
||||
}
|
||||
|
||||
Wire *wire = current_module->addWire(myid + "_wire", width);
|
||||
wire->attributes["\\src"] = stringf("%s:%d", filename.c_str(), linenum);
|
||||
cell->setPort("\\Y", wire);
|
||||
|
|
|
@ -764,6 +764,7 @@ wire_name_and_opt_assign:
|
|||
AstNode *fcall = new AstNode(AST_FCALL);
|
||||
wire->str = ast_stack.back()->children.back()->str;
|
||||
fcall->str = current_wire_const ? "\\$anyconst" : "\\$anyseq";
|
||||
fcall->attributes["\\reg"] = AstNode::mkconst_str(RTLIL::unescape_id(wire->str));
|
||||
ast_stack.back()->children.push_back(new AstNode(AST_ASSIGN, wire, fcall));
|
||||
}
|
||||
} |
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue