attrs=None, decoder=None, src_loc_at=0):
super().__init__(src_loc_at=src_loc_at)
+ if name is not None and not isinstance(name, str):
+ raise TypeError("Name must be a string, not '{!r}'".format(name))
self.name = name or tracer.get_var_name(depth=2 + src_loc_at, default="$signal")
if shape is None:
s2 = Signal(name="sig")
self.assertEqual(s2.name, "sig")
+ def test_name_bad(self):
+ with self.assertRaises(TypeError,
+ msg="Name must be a string, not 'True'"):
+ # A common typo: forgetting to put parens around width and signedness
+ Signal(1, True)
+
def test_reset(self):
s1 = Signal(4, reset=0b111, reset_less=True)
self.assertEqual(s1.reset, 0b111)