sim: basic functionality working
[litex.git] / examples / basic_sim.py
1 from migen.fhdl.structure import *
2 from migen.sim.generic import Simulator
3 from migen.sim.icarus import Runner
4
5 class Counter:
6 def __init__(self):
7 self.count = Signal(BV(4))
8
9 def do_simulation(self, s, cycle):
10 print("Cycle: " + str(cycle) + " Count: " + str(s.rd(self.count)))
11
12 def get_fragment(self):
13 sync = [self.count.eq(self.count + 1)]
14 sim = [self.do_simulation]
15 return Fragment(sync=sync, sim=sim)
16
17 dut = Counter()
18 sim = Simulator(dut.get_fragment(), Runner())
19 sim.run(10)