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)