diff options
-rw-r--r-- | frontends/ast/genrtlil.cc | 2 | ||||
-rw-r--r-- | tests/simple/vloghammer.v | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/frontends/ast/genrtlil.cc b/frontends/ast/genrtlil.cc index 7a9c8ba64..791ee9867 100644 --- a/frontends/ast/genrtlil.cc +++ b/frontends/ast/genrtlil.cc @@ -836,7 +836,7 @@ RTLIL::SigSpec AstNode::genRTLIL(int width_hint, bool sign_hint) case AST_TO_SIGNED: case AST_TO_UNSIGNED: { RTLIL::SigSpec sig = children[0]->genRTLIL(); - is_signed = type == AST_TO_SIGNED; + is_signed = sign_hint; return sig; } diff --git a/tests/simple/vloghammer.v b/tests/simple/vloghammer.v index 09987e7c9..eb0e15d02 100644 --- a/tests/simple/vloghammer.v +++ b/tests/simple/vloghammer.v @@ -50,3 +50,10 @@ module test07(a, b, y); assign y = 2'b11 != a+b; endmodule +module test08(a, b, y); + input [1:0] a; + input [1:0] b; + output y; + assign y = a == ($signed(b) >>> 1); +endmodule + |