2 from nmigen
.hdl
.ast
import Past
4 from gram
.common
import DQSPattern
7 class DQSPatternTestCase(FHDLTestCase
):
10 m
.d
.sync
+= Signal().eq(0) # Workaround for nMigen#417
11 m
.submodules
.dut
= dut
= DQSPattern(register
=False)
14 yield dut
.preamble
.eq(1) # Preamble=1, Postamble=0
16 self
.assertEqual((yield dut
.o
), 0b00010101)
18 yield dut
.postamble
.eq(1) # Preamble=1, Postamble=1
20 self
.assertEqual((yield dut
.o
), 0b00010101)
22 yield dut
.preamble
.eq(0) # Preamble=0, Postamble=1
24 self
.assertEqual((yield dut
.o
), 0b01010100)
26 yield dut
.postamble
.eq(0) # Preamble=1, Postamble=1
28 self
.assertEqual((yield dut
.o
), 0b01010101)
30 runSimulation(m
, process
, "test_dqspattern_async.vcd")