Example #1
0
 def test_value(self):
     self.assertTrue(vec(1, 1)._eq(vec(1, 1)))
     self.assertTrue(vec(0, 1)._eq(vec(0, 1)))
     self.assertTrue(vec(0, 2)._eq(vec(0, 2)))
     self.assertTrue(hBool(True)._eq(hBool(True)))
     v0 = vec(2, 2)
     v1 = v0.clone()
     self.assertTrue(v0._eq(v1))
     v1.updateTime = 2
     self.assertTrue(v0._eq(v1))
Example #2
0
 def test_value(self):
     self.assertTrue(vec(1, 1)._eq(vec(1, 1)))
     self.assertTrue(vec(0, 1)._eq(vec(0, 1)))
     self.assertTrue(vec(0, 2)._eq(vec(0, 2)))
     self.assertTrue(hBool(True)._eq(hBool(True)))
     v0 = vec(2, 2)
     v1 = v0.clone()
     self.assertTrue(v0._eq(v1))
     v1.updateTime = 2
     self.assertTrue(v0._eq(v1))
Example #3
0
 def test_BoolNot(self):
     for v in [True, False]:
         res = ~hBool(v)
         self.assertEqual(res.val, not v)
         self.assertEqual(res.vldMask, 1)
         self.assertEqual(res.updateTime, -1)
Example #4
0
    (None, None, None),
    (None, 0, None),
    (None, 1, None),
    (0, None, None),
    (0, 0, 0),
    (0, 1, 1),
    (1, 1, 0),
    (s0, 1, ~s0),
    (s0, 0, s0),
    (1, s0, ~s0),
    (0, s0, s0),
]

bitvals = {1: hBit(1), 0: hBit(0), None: hBit(None), s0: s1, ~s0: ~s1}

boolvals = {1: hBool(1), 0: hBool(0), None: hBool(None), s0: s0, ~s0: ~s0}


class OperatorTC(unittest.TestCase):
    def setUp(self):
        unittest.TestCase.setUp(self)
        self.n = RtlNetlist()

    def test_BoolNot(self):
        for v in [True, False]:
            res = ~hBool(v)
            self.assertEqual(res.val, not v)
            self.assertEqual(res.vldMask, 1)
            self.assertEqual(res.updateTime, -1)

    def test_BitNot(self):
Example #5
0
 def test_BoolAnd(self):
     for a_in, b_in, out in [(0, 0, 0), (0, 1, 0), (1, 0, 0), (1, 1, 1)]:
         v0 = hBool(a_in)
         v1 = hBool(b_in)
         o = v0 & v1
         self.assertValEq(o, out, "%d == %d" % (o.val, out))
Example #6
0
 def test_BoolEqualNotEqual(self):
     v0 = hBool(True)
     v1 = hBool(True)
     self.assertValEq(v0._eq(v1), True)
     self.assertNotEqual(v0, hBool(False))
Example #7
0
 def test_BOOLNeg(self):
     v0 = hBool(True)
     self.assertValEq(~v0, False)
     self.assertValEq(~ ~v0, True)
Example #8
0
 def test_BoolAnd(self):
     for a_in, b_in, out in [(0, 0, 0), (0, 1, 0), (1, 0, 0), (1, 1, 1)]:
         v0 = hBool(a_in)
         v1 = hBool(b_in)
         o = v0 & v1
         self.assertValEq(o, out, "%d == %d" % (o.val, out))
Example #9
0
 def test_BoolEqualNotEqual(self):
     v0 = hBool(True)
     v1 = hBool(True)
     self.assertValEq(v0._eq(v1), True)
     self.assertNotEqual(v0, hBool(False))
Example #10
0
 def test_BOOLNeg(self):
     v0 = hBool(True)
     self.assertValEq(~v0, False)
     self.assertValEq(~~v0, True)
Example #11
0
 def test_BoolNot(self):
     for v in [True, False]:
         res = ~hBool(v)
         self.assertEqual(res.val, not v)
         self.assertEqual(res.vldMask, 1)
         self.assertEqual(res.updateTime, -1)
Example #12
0
            (s0, 1, ~s0),
            (s0, 0, s0),
            (1, s0, ~s0),
            (0, s0, s0),
            ]

bitvals = {
    1: hBit(1),
    0: hBit(0),
    None: hBit(None),
    s0: s1,
    ~ s0: ~s1
}

boolvals = {
    1: hBool(1),
    0: hBool(0),
    None: hBool(None),
    s0: s0,
    ~ s0: ~s0
}


class OperatorTC(unittest.TestCase):
    def setUp(self):
        unittest.TestCase.setUp(self)
        self.n = RtlNetlist()

    def test_BoolNot(self):
        for v in [True, False]:
            res = ~hBool(v)