diff --git a/examples/basic/graycounter.py b/examples/basic/graycounter.py index 8a0f7243a..d36163504 100644 --- a/examples/basic/graycounter.py +++ b/examples/basic/graycounter.py @@ -2,19 +2,18 @@ from random import Random from migen.fhdl.std import * from migen.genlib.cdc import GrayCounter -from migen.sim.generic import run_simulation +from migen.sim import Simulator -class TB(Module): - def __init__(self, width=3): - self.width = width - self.submodules.gc = GrayCounter(self.width) - self.prng = Random(7345) +def tb(dut): + prng = Random(7345) + for i in range(35): + print("{0:0{1}b} CE={2} bin={3}".format((yield dut.q), + flen(dut.q), (yield dut.ce), (yield dut.q_binary))) + yield dut.ce, prng.getrandbits(1) + yield - def do_simulation(self, selfp): - print("{0:0{1}b} CE={2} bin={3}".format(selfp.gc.q, - self.width, selfp.gc.ce, selfp.gc.q_binary)) - selfp.gc.ce = self.prng.getrandbits(1) if __name__ == "__main__": - run_simulation(TB(), ncycles=35) + dut = GrayCounter(3) + Simulator(dut, tb(dut)).run()