diff options
author | tklam <tklam@easylogic.hk> | 2018-10-03 21:17:03 +0800 |
---|---|---|
committer | tklam <tklam@easylogic.hk> | 2018-10-03 21:17:03 +0800 |
commit | 27c46d94e32a45762b3a424d6c7bfcd3ce7a1b12 (patch) | |
tree | 24b47553fb2aff94f4bd15315f3d43e29db5d30f /frontends/ast/simplify.cc | |
parent | b86eb3deef7d80fc5450379c80047636832ef458 (diff) | |
parent | 76baae4b946cdeb04026120b495c87a6146358d0 (diff) | |
download | yosys-27c46d94e32a45762b3a424d6c7bfcd3ce7a1b12.tar.gz yosys-27c46d94e32a45762b3a424d6c7bfcd3ce7a1b12.tar.bz2 yosys-27c46d94e32a45762b3a424d6c7bfcd3ce7a1b12.zip |
Merge branch 'master' of https://github.com/YosysHQ/yosys
Diffstat (limited to 'frontends/ast/simplify.cc')
-rw-r--r-- | frontends/ast/simplify.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/frontends/ast/simplify.cc b/frontends/ast/simplify.cc index 04c429f7f..71eba547c 100644 --- a/frontends/ast/simplify.cc +++ b/frontends/ast/simplify.cc @@ -1781,7 +1781,7 @@ skip_dynamic_range_lvalue_expansion:; if (GetSize(children) == 2) { AstNode *buf = children[1]->clone(); - while (buf->simplify(true, false, false, stage, width_hint, sign_hint, false)) { } + while (buf->simplify(true, false, false, stage, -1, false, false)) { } if (buf->type != AST_CONSTANT) log_file_error(filename, linenum, "Failed to evaluate system function `%s' with non-constant value.\n", str.c_str()); @@ -1836,7 +1836,7 @@ skip_dynamic_range_lvalue_expansion:; goto apply_newNode; } - if (str == "\\$stable" || str == "\\$rose" || str == "\\$fell") + if (str == "\\$stable" || str == "\\$rose" || str == "\\$fell" || str == "\\$changed") { if (GetSize(children) != 1) log_file_error(filename, linenum, "System function %s got %d arguments, expected 1.\n", @@ -1853,6 +1853,9 @@ skip_dynamic_range_lvalue_expansion:; if (str == "\\$stable") newNode = new AstNode(AST_EQ, past, present); + else if (str == "\\$changed") + newNode = new AstNode(AST_NE, past, present); + else if (str == "\\$rose") newNode = new AstNode(AST_LOGIC_AND, new AstNode(AST_LOGIC_NOT, past), present); |