tb/asmicon_wb: test asmicon with wishbone bridge
This commit is contained in:
parent
902908bd3b
commit
87ee4baaf0
|
@ -0,0 +1,38 @@
|
|||
from migen.fhdl.structure import *
|
||||
from migen.bus import wishbone, wishbone2asmi, asmibus
|
||||
from migen.sim.generic import Simulator, TopLevel
|
||||
from migen.sim.icarus import Runner
|
||||
|
||||
from milkymist.asmicon import *
|
||||
|
||||
from common import sdram_phy, sdram_geom, sdram_timing, DFILogger
|
||||
|
||||
l2_size = 8192 # in bytes
|
||||
|
||||
def my_generator():
|
||||
for x in range(100):
|
||||
t = TRead(x)
|
||||
yield t
|
||||
|
||||
def main():
|
||||
controller = ASMIcon(sdram_phy, sdram_geom, sdram_timing)
|
||||
bridge = wishbone2asmi.WB2ASMI(l2_size//4, controller.hub.get_port())
|
||||
controller.finalize()
|
||||
initiator = wishbone.Initiator(my_generator())
|
||||
conn = wishbone.InterconnectPointToPoint(initiator.bus, bridge.wishbone)
|
||||
|
||||
logger = DFILogger(controller.dfi)
|
||||
|
||||
def end_simulation(s):
|
||||
s.interrupt = initiator.done
|
||||
|
||||
fragment = controller.get_fragment() + \
|
||||
bridge.get_fragment() + \
|
||||
initiator.get_fragment() + \
|
||||
conn.get_fragment() + \
|
||||
logger.get_fragment() + \
|
||||
Fragment(sim=[end_simulation])
|
||||
sim = Simulator(fragment, Runner(), TopLevel("my.vcd"))
|
||||
sim.run()
|
||||
|
||||
main()
|
Loading…
Reference in New Issue