from migen.fhdl.std import * from migen.sim.generic import run_simulation from miscope import storage rle_test_seq = iter( [ 0x00AA, 0x00AB, 0x00AC, 0x00AC, 0x00AC, 0x00AC, 0x00AD, 0x00AE, 0x00AE, 0x00AE, 0x00AE, 0x00AE, 0x00AE, 0x00AE, 0x00AE ]*10 ) class TB(Module): def __init__(self): # Rle self.submodules.rle = storage.RunLengthEncoder(16, 32) def do_simulation(self, selfp): selfp.rle._r_enable.storage = 1 selfp.rle.sink.stb = 1 try: selfp.rle.sink.dat = next(rle_test_seq) except: pass def main(): tb = TB() run_simulation(tb, ncycles=8000, vcd_name="tb_rle.vcd") print("Sim Done") input() main()