from soc.bus.uart_16550 import UART16550 # opencores 16550 uart
from soc.bus.external_core import ExternalCore # external libresoc/microwatt
from soc.bus.wb_downconvert import WishboneDownConvert
+from soc.bus.syscon import MicrowattSYSCON
from gram.core import gramCore
from gram.phy.ecp5ddrphy import ECP5DDRPHY
self.bootmem.init = bios
self._decoder.add(self.bootmem.bus, addr=fw_addr) # ROM at fw_addr
+ # System Configuration info
+ self.syscon = MicrowattSYSCON(sys_clk_freq=clk_freq,
+ has_uart=(uart_pins is not None))
+ self._decoder.add(self.syscon.bus, addr=0xc000000) # at 0xc000_0000
+
# SRAM (read-writeable BRAM)
self.ram = SRAMPeripheral(size=4096)
- self._decoder.add(self.ram.bus, addr=0x8000000) # SRAM at 0x8000_000
+ self._decoder.add(self.ram.bus, addr=0x8000000) # SRAM at 0x8000_0000
# UART
if uart_pins is not None:
if hasattr(self, "bootmem"):
m.submodules.bootmem = self.bootmem
+ m.submodules.syscon = self.syscon
m.submodules.ram = self.ram
m.submodules.uart = self.uart
m.submodules.arbiter = self._arbiter