From: Clifford Wolf Date: Wed, 6 Nov 2013 21:41:21 +0000 (+0100) Subject: Fixed propagation of width hints for $signed() and $unsigned() X-Git-Tag: yosys-0.2.0~399 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7fe13faefae1e81ce68a399ae09ef396245b4c29;p=yosys.git Fixed propagation of width hints for $signed() and $unsigned() --- diff --git a/frontends/ast/genrtlil.cc b/frontends/ast/genrtlil.cc index f3ca0c787..ce34f708a 100644 --- a/frontends/ast/genrtlil.cc +++ b/frontends/ast/genrtlil.cc @@ -950,7 +950,10 @@ RTLIL::SigSpec AstNode::genRTLIL(int width_hint, bool sign_hint) // just pass thru the signal. the parent will evaluated the is_signed property and inperpret the SigSpec accordingly case AST_TO_SIGNED: case AST_TO_UNSIGNED: { - RTLIL::SigSpec sig = children[0]->genRTLIL(); + int sub_width_hint; + bool sub_sign_hint; + children[0]->detectSignWidth(sub_width_hint, sub_sign_hint); + RTLIL::SigSpec sig = children[0]->genRTLIL(width_hint, sub_sign_hint); is_signed = sign_hint; return sig; }