From 536621a98ba6fd41bf170f5ad469df17f73ed2c8 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Thu, 7 Nov 2013 11:25:19 +0100 Subject: Fixed at_zero evaluation of dynamic ranges --- frontends/ast/simplify.cc | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'frontends') diff --git a/frontends/ast/simplify.cc b/frontends/ast/simplify.cc index d3496048..1bdd6862 100644 --- a/frontends/ast/simplify.cc +++ b/frontends/ast/simplify.cc @@ -965,13 +965,8 @@ skip_dynamic_range_lvalue_expansion:; if (children.size() == 0) newNode = current_scope[str]->children[0]->clone(); } - else if (at_zero && current_module->wires.count(str) > 0) { - assert(current_scope.count(str) > 0 && (current_scope[str]->type == AST_WIRE || current_scope[str]->type == AST_AUTOWIRE)); - if (children.size() != 0 && children[0]->type == AST_RANGE && children[0]->range_valid) - newNode = mkconst_int(0, false, children[0]->range_left - children[0]->range_right + 1); - else - if (children.size() == 0) - newNode = mkconst_int(0, current_scope[str]->is_signed, current_module->wires[str]->width); + else if (at_zero && current_scope.count(str) > 0 && (current_scope[str]->type == AST_WIRE || current_scope[str]->type == AST_AUTOWIRE)) { + newNode = mkconst_int(0, sign_hint, width_hint); } break; case AST_BIT_NOT: -- cgit v1.2.3