def getStr(self): s = "" for d in self.u.dataOut._ag.data: ch = valToInt(d) s += chr(ch) return s
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)
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)
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
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)
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
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
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)
def getStr(self): return "".join([chr(valToInt(d)) for d in self.u.dout._ag.data])