gen/fhdl/verilog: fix signed init values
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Sun, 12 Jan 2020 21:06:35 +0000 (22:06 +0100)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Sun, 12 Jan 2020 21:06:35 +0000 (22:06 +0100)
litex/gen/fhdl/verilog.py

index e1bd8da4e6d9ebf2318cbd6dca405d15937f9804..f515dbfb2848779123207c080a1ccc4584def775 100644 (file)
@@ -59,8 +59,8 @@ def _printsig(ns, s):
 
 def _printconstant(node):
     if node.signed:
-        return (str(node.nbits) + "'sd" + str(2**node.nbits + node.value),
-                True)
+        sign = "-" if node.value < 0 else ""
+        return (sign + str(node.nbits) + "'d" + str(abs(node.value)), True)
     else:
         return str(node.nbits) + "'d" + str(node.value), False