from random import Random from migen.fhdl.std import * from migen.genlib.cdc import GrayCounter from migen.sim import Simulator 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 if __name__ == "__main__": dut = GrayCounter(3) Simulator(dut, tb(dut)).run()