Esempio n. 1
0
    def getStr(self):
        s = ""
        for d in self.u.dataOut._ag.data:
            ch = valToInt(d)
            s += chr(ch)

        return s
Esempio n. 2
0
    def assertValEqual(self, first, second, msg=None):
        if isinstance(first, SimSignal):
            first = first._val
        if not isinstance(first, int) and first is not None:
            first = valToInt(first)

        return unittest.TestCase.assertEqual(self, first, second, msg=msg)
Esempio n. 3
0
    def getStr(self):
        s = ""
        for d in self.u.dataOut._ag.data:
            ch = valToInt(d)
            s += chr(ch)

        return s
Esempio n. 4
0
    def assertValEqual(self, first, second, msg=None):
        try:
            first = first.read()
        except AttributeError:
            pass

        if not isinstance(first, int) and first is not None:
            first = valToInt(first)

        return unittest.TestCase.assertEqual(self, first, second, msg=msg)
Esempio n. 5
0
    def getStr(self):
        START_BIT = 0
        STOP_BIT = 1
        s = ""
        d = iter(self.u.txd._ag.data)
        for bit in d:
            self.assertEqual(bit.vldMask, 0b1)
            _bit = valToInt(bit)

            if _bit == START_BIT:
                ch = 0
                for i in range(10 - 1):
                    b = next(d)
                    self.assertEqual(b.vldMask, 0b1)
                    _b = valToInt(b)
                    if i == 8:
                        self.assertEqual(_b, STOP_BIT)
                    else:
                        ch |= _b << i

                s = s + chr(ch)

        return s
Esempio n. 6
0
    def test_8b_mul(self, t=int8_t):
        w = t.bit_length()
        low, up, _, _ = self.getMinMaxVal(t)
        ut = Bits(w)

        self.assertEqual(int(t.fromPy(-1) * t.fromPy(-1)), 1)
        self.assertEqual(int(t.fromPy(0) * t.fromPy(-1)), 0)
        self.assertEqual(int(ut.fromPy(0) * ut.fromPy(1)), 0)
        self.assertEqual(int(ut.fromPy(mask(w)) * ut.fromPy(2)), (mask(w) << 1) & mask(w))
        self.assertEqual(int(t.fromPy(-1) * ut.fromPy(2)), -2)
        self.assertEqual(low * t.fromPy(2), 0)
        self.assertEqual(up * t.fromPy(2), -2)

        m = up * t.fromPy(None)
        self.assertEqual(valToInt(m), None)
Esempio n. 7
0
    def test_8b_mul(self, t=int8_t):
        w = t.bit_length()
        low, up, _, _ = self.getMinMaxVal(t)
        ut = Bits(w)

        self.assertEqual(int(t.fromPy(-1) * t.fromPy(-1)), 1)
        self.assertEqual(int(t.fromPy(0) * t.fromPy(-1)), 0)
        self.assertEqual(int(ut.fromPy(0) * ut.fromPy(1)), 0)
        self.assertEqual(int(ut.fromPy(mask(w)) * ut.fromPy(2)),
                         (mask(w) << 1) & mask(w))
        self.assertEqual(int(t.fromPy(-1) * ut.fromPy(2)), -2)
        self.assertEqual(low * t.fromPy(2), 0)
        self.assertEqual(up * t.fromPy(2), -2)

        m = up * t.fromPy(None)
        self.assertEqual(valToInt(m), None)
Esempio n. 8
0
def allValuesToInts(sequenceOrVal):
    if isinstance(sequenceOrVal, ArrayVal):
        sequenceOrVal = sequenceOrVal.val

    if isinstance(sequenceOrVal, Value):
        return valToInt(sequenceOrVal)
    elif not sequenceOrVal:
        return sequenceOrVal
    elif isinstance(sequenceOrVal,
                    (list, tuple)) or isgenerator(sequenceOrVal):
        l = []
        for i in sequenceOrVal:
            l.append(allValuesToInts(i))

        if isinstance(sequenceOrVal, tuple):
            return tuple(l)

        return l
    else:
        return sequenceOrVal
Esempio n. 9
0
def allValuesToInts(sequenceOrVal):
    if isinstance(sequenceOrVal, HArrayVal):
        sequenceOrVal = sequenceOrVal.val

    if isinstance(sequenceOrVal, (HValue, Bits3val)):
        return valToInt(sequenceOrVal)
    elif not sequenceOrVal:
        return sequenceOrVal
    elif (isinstance(sequenceOrVal, (list, tuple, deque))
          or isgenerator(sequenceOrVal)):
        seq = []
        for i in sequenceOrVal:
            seq.append(allValuesToInts(i))

        if isinstance(sequenceOrVal, tuple):
            return tuple(seq)

        return seq
    else:
        return sequenceOrVal
Esempio n. 10
0
 def test_dot_in_hw(self):
     dot_golden = [255, 255, 255, 255, 255, 0b10111111, 255, 255]
     a = addCharToBitmap()
     for i, item in enumerate(dot_golden):
         self.assertEqual(valToInt(a[ord(".") * 8 + i]), item, i)
Esempio n. 11
0
 def test_dot_in_hw(self):
     dot_golden = [255, 255, 255, 255, 255, 0b10111111, 255, 255]
     a = addCharToBitmap()
     for i, item in enumerate(dot_golden):
         self.assertEqual(valToInt(a[ord(".") * 8 + i]), item, i)
Esempio n. 12
0
 def getStr(self):
     return "".join([chr(valToInt(d)) for d in self.u.dout._ag.data])
Esempio n. 13
0
 def getStr(self):
     return "".join([chr(valToInt(d)) for d in self.u.dout._ag.data])