Architecture
mpc-soc is a RISC-V SoC integration board: the CPU reaches flash and PSRAM through an AXI master, then reaches peripherals through an AXI4-to-APB4 fabric. The default simulation top is SimTop, which wraps pad-level asicTop and attaches board models.
Source layout
hw/soc/top/holds the SoC integration top.hw/soc/bus/,hw/soc/reset/, andhw/soc/clock/are reserved for SoC-level bus, reset, and clock integration.hw/ip/holds reusable IP. Each IP may have its ownrtl/,tb/ordv/,driver/, anddoc/directories.hw/common/holds shared RTL helpers.hw/ip/also keeps compatibility implementations still used by the SoC, such ashw/ip/spi/legacy_apb/.
Configuration sources
config/soc.ymlrecords the current SoC top, IP paths, and fixed 50 MHz clock metadata.config/memory.ymlrecords the fixed address map for this release and generates the RTL package.config/boards/sim.ymlrecords the 50 MHz simulation-board default.
In this release these files describe the configuration shipped with the fixed asic_top.v; they are not user controls for retargeting the SoC address map or clock. Maintainer CI checks that the fixed 50 MHz values have not drifted.
Integration flow
- Keep the SoC top under
hw/soc/top/. Updatehw/filelist/verilator.fwhen modules are added or renamed. - Keep top-level bus, clock, reset, and interrupt wiring under
hw/soc/. - Keep
hw/filelist/soc.fandhw/filelist/verilator.fin sync. - Keep the fixed address map and 50 MHz clock in this release. Do not edit the configuration files to retarget
asic_top.v; configurable addressing is deferred until a later release has the complete integration chain.
Follow the user integration guide for core slots and the AXI port contract.