class LM32(Module):
def __init__(self, platform, eba_reset, variant=None):
+ self.reset = Signal()
assert variant == None, "No lm32 variants currently supported."
self.ibus = i = wishbone.Interface()
self.dbus = d = wishbone.Interface()
p_eba_reset=Instance.PreformattedParam("32'h{:08x}".format(eba_reset)),
i_clk_i=ClockSignal(),
- i_rst_i=ResetSignal(),
+ i_rst_i=ResetSignal() | self.reset,
i_interrupt=self.interrupt,
class MOR1KX(Module):
def __init__(self, platform, reset_pc, variant=None):
assert variant in (None, "linux"), "Unsupported variant %s" % variant
+ self.reset = Signal()
self.ibus = i = wishbone.Interface()
self.dbus = d = wishbone.Interface()
self.interrupt = Signal(32)
**cpu_args,
i_clk=ClockSignal(),
- i_rst=ResetSignal(),
+ i_rst=ResetSignal() | self.reset,
i_irq_i=self.interrupt,
class VexRiscv(Module, AutoCSR):
def __init__(self, platform, cpu_reset_address, variant=None):
assert variant in (None, "debug"), "Unsupported variant %s" % variant
+ self.reset = Signal()
self.ibus = i = wishbone.Interface()
self.dbus = d = wishbone.Interface()
i_err = Signal()
**cpu_args,
i_clk=ClockSignal(),
- i_reset=cpu_reset,
+ i_reset=cpu_reset | self.reset,
i_externalResetVector=cpu_reset_address,
i_externalInterruptArray=self.interrupt,