3 from nmigen
.compat
import *
5 from .support
import SimCase
8 class SignedCase(SimCase
, unittest
.TestCase
):
9 class TestBench(Module
):
11 self
.a
= Signal((3, True))
12 self
.b
= Signal((4, True))
26 r0
= f(asign
*self
.a
, bsign
*self
.b
)
28 self
.vals
.append((asign
, bsign
, f
, r
, r0
.op
))
30 def test_comparisons(self
):
32 for i
in range(-4, 4):
38 for asign
, bsign
, f
, r
, op
in self
.tb
.vals
:
39 r
, r0
= (yield r
), f(asign
*a
, bsign
*b
)
40 self
.assertEqual(r
, int(r0
),
41 "got {}, want {}*{} {} {}*{} = {}".format(
42 r
, asign
, a
, op
, bsign
, b
, r0
))