mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-27 19:05:52 +00:00
Merge branch 'master' of github.com:cliffordwolf/yosys
This commit is contained in:
commit
12c10892e6
28 changed files with 234 additions and 211 deletions
|
@ -405,9 +405,13 @@ bool AstNode::simplify(bool const_fold, bool at_zero, bool in_lvalue, int stage,
|
|||
current_always_clocked = false;
|
||||
|
||||
if (type == AST_ALWAYS)
|
||||
for (auto child : children)
|
||||
for (auto child : children) {
|
||||
if (child->type == AST_POSEDGE || child->type == AST_NEGEDGE)
|
||||
current_always_clocked = true;
|
||||
if (child->type == AST_EDGE && GetSize(child->children) == 1 &&
|
||||
child->children[0]->type == AST_IDENTIFIER && child->children[0]->str == "\\$global_clock")
|
||||
current_always_clocked = true;
|
||||
}
|
||||
}
|
||||
|
||||
int backup_width_hint = width_hint;
|
||||
|
@ -1824,21 +1828,6 @@ skip_dynamic_range_lvalue_expansion:;
|
|||
goto apply_newNode;
|
||||
}
|
||||
|
||||
if (str == "\\$rose" || str == "\\$fell")
|
||||
{
|
||||
if (GetSize(children) != 1)
|
||||
log_error("System function %s got %d arguments, expected 1 at %s:%d.\n",
|
||||
RTLIL::unescape_id(str).c_str(), int(children.size()), filename.c_str(), linenum);
|
||||
|
||||
if (!current_always_clocked)
|
||||
log_error("System function %s is only allowed in clocked blocks at %s:%d.\n",
|
||||
RTLIL::unescape_id(str).c_str(), filename.c_str(), linenum);
|
||||
|
||||
newNode = new AstNode(AST_EQ, children.at(0)->clone(), clone());
|
||||
newNode->children.at(1)->str = "\\$past";
|
||||
goto apply_newNode;
|
||||
}
|
||||
|
||||
// $anyconst and $anyseq are mapped in AstNode::genRTLIL()
|
||||
if (str == "\\$anyconst" || str == "\\$anyseq") {
|
||||
recursion_counter--;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue