Skip to content

Commit ec4266c

Browse files
committed
test_lib_cdc: test platform dependency injection
1 parent ca4bc09 commit ec4266c

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

nmigen/test/test_lib_cdc.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@ def test_paramcheck(self):
2121
m = MultiReg(i, o, n=1)
2222
m = MultiReg(i, o, reset=-1)
2323

24+
def test_platform(self):
25+
platform = lambda: None
26+
platform.get_multi_reg = lambda m: "foobar{}".format(len(m._regs))
27+
i = Signal()
28+
o = Signal()
29+
m = MultiReg(i, o, n=5)
30+
self.assertEqual(m.elaborate(platform), "foobar5")
31+
2432
def test_basic(self):
2533
i = Signal()
2634
o = Signal()
@@ -67,6 +75,13 @@ def test_paramcheck(self):
6775
r = ResetSynchronizer(arst, n="a")
6876
r = ResetSynchronizer(arst)
6977

78+
def test_platform(self):
79+
platform = lambda: None
80+
platform.get_reset_sync = lambda m: "foobar{}".format(len(m._regs))
81+
arst = Signal()
82+
rs = ResetSynchronizer(arst, n=6)
83+
self.assertEqual(rs.elaborate(platform), "foobar6")
84+
7085
def test_basic(self):
7186
arst = Signal()
7287
m = Module()

0 commit comments

Comments
 (0)