cpu/urv: Fix Instruction Bus conversion to Wishbone and only keep it now that working.

This commit is contained in:
Florent Kermarrec 2024-11-05 16:46:23 +01:00
parent 0170462fe8
commit 20b0e98fe0
2 changed files with 17 additions and 36 deletions

View File

@ -119,23 +119,9 @@ class uRV(CPU):
# uRV Instruction Bus.
# --------------------
if True:
from litex.soc.integration.common import get_mem_data
self.rom = Memory(32, depth=131072//4)
self.rom_port = self.rom.get_port()
self.sync += im_valid.eq(1),
self.comb += [
self.rom_port.adr.eq(im_addr[2:]),
im_data.eq(self.rom_port.dat_r),
]
else:
# FIXME: Try to implement im_bus -> Wishbone correctly (if possible).
im_addr_d = Signal(32, reset=0xffffffff)
self.sync += im_addr_d.eq(im_addr)
self.i_fsm = i_fsm = FSM(reset_state="IDLE")
i_fsm.act("IDLE",
If(im_addr != im_addr_d,
If(im_rd,
NextValue(im_valid, 0),
NextState("READ")
)

View File

@ -339,11 +339,6 @@ class Builder:
# Initialize SoC with with BIOS data.
self.soc.init_rom(name="rom", contents=bios_data)
# FIXME: Remove uRV ROM Init Workaround.
from litex.soc.cores.cpu.urv import uRV
if isinstance(self.soc.cpu, uRV):
self.soc.cpu.rom.init = bios_data
def build(self, **kwargs):
# Pass Output Directory to Platform.
self.soc.platform.output_dir = self.output_dir