1 from migen
.flow
.network
import *
2 from migen
.actorlib
.sim
import *
3 from migen
.pytholite
.compiler
import make_pytholite
4 from migen
.sim
.generic
import Simulator
5 from migen
.sim
.icarus
import Runner
6 from migen
.fhdl
import verilog
8 layout
= [("r", BV(32))]
12 yield Token("result", {"r": i
})
14 class Dumper(SimActor
):
21 super().__init
__(dumper_gen(),
22 ("result", Sink
, layout
))
27 g
.add_connection(ActorNode(ng
), ActorNode(d
))
30 fragment
= c
.get_fragment()
31 sim
= Simulator(fragment
, Runner())
36 print("Simulating native Python:")
37 ng_native
= SimActor(number_gen(), ("result", Source
, layout
))
40 print("Simulating Pytholite:")
41 ng_pytholite
= make_pytholite(number_gen
, dataflow
=[("result", Source
, layout
)])
44 print("Converting Pytholite to Verilog:")
45 print(verilog
.convert(ng_pytholite
.get_fragment()))