hdl.ast: Fix width for unary minus operator on signed argument.
authorMarcin Kościelnicki <mwk@0x04.net>
Tue, 3 Dec 2019 17:33:26 +0000 (18:33 +0100)
committerwhitequark <whitequark@whitequark.org>
Wed, 4 Dec 2019 06:55:35 +0000 (06:55 +0000)
commit67650214b703fee8d044fd1f165c513cc5b38964
tree1a2c84fa5b05c80d04735f3a74b1cfc5ba06a019
parent76504319962524b02c7d21111295b655e009bd76
hdl.ast: Fix width for unary minus operator on signed argument.

To properly represent a negation of a signed X-bit quantity we may, in
general, need a signed (X+1)-bit signal — for example, negation of
3-bit -4 is 4, which is not representable in signed 3 bits.
nmigen/hdl/ast.py
nmigen/test/test_hdl_ast.py