Пример #1
0
def main():
	dut = ASMIcon(sdram_phy, sdram_geom, sdram_timing)
	initiator1 = Initiator(my_generator_r(), dut.hub.get_port())
	initiator2 = Initiator(my_generator_w(), dut.hub.get_port())
	dut.finalize()
	
	logger = DFILogger(dut.dfi)
	
	def end_simulation(s):
		s.interrupt = initiator1.done and initiator2.done
	
	fragment = dut.get_fragment() + initiator1.get_fragment() + initiator2.get_fragment() + \
		logger.get_fragment() + \
		Fragment(sim=[end_simulation])
	sim = Simulator(fragment, TopLevel("my.vcd"))
	sim.run(700)
Пример #2
0
    def __init__(self):
        self.submodules.dut = LASMIcon(sdram_phy, sdram_geom, sdram_timing)
        self.submodules.xbar = lasmibus.Crossbar([self.dut.lasmic], self.dut.nrowbits)
        self.submodules.logger = DFILogger(self.dut.dfi)

        masters = [self.xbar.get_master() for i in range(6)]
        self.initiators = [Initiator(my_generator(n), master)
            for n, master in enumerate(masters)]
        self.submodules += self.initiators
Пример #3
0
 def __init__(self):
     self.submodules.ctler = LASMIcon(sdram_phy, sdram_geom, sdram_timing)
     self.submodules.xbar = lasmibus.Crossbar([self.ctler.lasmic],
                                              self.ctler.nrowbits)
     self.submodules.logger = DFILogger(self.ctler.dfi)
     self.submodules.bridge = wishbone2lasmi.WB2LASMI(
         l2_size // 4, self.xbar.get_master())
     self.submodules.initiator = wishbone.Initiator(my_generator())
     self.submodules.conn = wishbone.InterconnectPointToPoint(
         self.initiator.bus, self.bridge.wishbone)
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, TopLevel("my.vcd"))
	sim.run()
Пример #5
0
    def __init__(self):
        self.submodules.ctler = LASMIcon(sdram_phy, sdram_geom, sdram_timing)
        self.submodules.xbar = lasmibus.Crossbar([self.ctler.lasmic], self.ctler.nrowbits)
        self.submodules.logger = DFILogger(self.ctler.dfi)
        self.submodules.writer = dma_lasmi.Writer(self.xbar.get_master())

        self.comb += self.writer.address_data.stb.eq(1)
        pl = self.writer.address_data.payload
        pl.a.reset = 255
        pl.d.reset = pl.a.reset*2
        self.sync += If(self.writer.address_data.ack,
            pl.a.eq(pl.a + 1),
            pl.d.eq(pl.d + 2)
        )
        self.open_row = None