diff --git a/nmigen/back/pysim.py b/nmigen/back/pysim.py index 6f905ff..b0449fe 100644 --- a/nmigen/back/pysim.py +++ b/nmigen/back/pysim.py @@ -424,9 +424,9 @@ class _RHSValueCompiler(_ValueCompiler): lhs_mask = (1 << len(lhs)) - 1 rhs_mask = (1 << len(rhs)) - 1 if value.operator == "+": - return f"({mask(lhs)} + {mask(rhs)})" + return f"({sign(lhs)} + {sign(rhs)})" if value.operator == "-": - return f"({mask(lhs)} - {mask(rhs)})" + return f"({sign(lhs)} - {sign(rhs)})" if value.operator == "*": return f"({sign(lhs)} * {sign(rhs)})" if value.operator == "//":