Signal: allow to use integral Enum for reset value.

This commit is contained in:
Staf Verhaegen 2020-01-10 13:28:19 +01:00 committed by whitequark
parent 8184efd612
commit e4e26717be
2 changed files with 14 additions and 1 deletions

View file

@ -755,6 +755,14 @@ class SignalTestCase(FHDLTestCase):
self.assertEqual(s1.reset, 0b111)
self.assertEqual(s1.reset_less, True)
def test_reset_enum(self):
s1 = Signal(2, reset=UnsignedEnum.BAR)
self.assertEqual(s1.reset, 2)
with self.assertRaises(TypeError,
msg="Reset value has to be an int or an integral Enum"
):
Signal(1, reset=StringEnum.FOO)
def test_reset_narrow(self):
with self.assertWarns(SyntaxWarning,
msg="Reset value 8 requires 4 bits to represent, but the signal only has 3 bits"):