lrclk = Signal() bclk = Signal() data = Signal() def counter(): for i in range(1000): yield Token("source", {"value": i}) source = SimActor(counter(), ("source", Source, [("value", 16)])) conv = DownConverter(16, 1) i2s = I2S(1, lrclk, bclk, data) g = DataFlowGraph() g.add_connection(source, conv) g.add_connection(conv, i2s) comp = CompositeActor(g) sim = Simulator(comp.get_fragment(), TopLevel("my.vcd")) sim.run(500)