from migen.fhdl.std import * from migen.bus import wishbone from misoclib.gensoc import GenSoC class SimpleSoC(GenSoC): def __init__(self, platform): GenSoC.__init__(self, platform, clk_freq=32*1000000, cpu_reset_address=0, sram_size=4096) # We can't use reset_less as LM32 does require a reset signal self.clock_domains.cd_sys = ClockDomain() self.comb += self.cd_sys.clk.eq(platform.request("clk32")) self.specials += Instance("FD", p_INIT=1, i_D=0, o_Q=self.cd_sys.rst, i_C=ClockSignal()) self.submodules.rom = wishbone.SRAM(32768) self.register_rom(self.rom.bus) def init_bios_memory(self, data): self.rom.mem.init = data def get_default_subtarget(platform): return SimpleSoC