Architecture
Source layout
hw/soc/top/contains the SoC integration top.hw/soc/bus/,hw/soc/reset/, andhw/soc/clock/hold SoC-level integration.hw/ip/contains reusable IP with optionalrtl/,tb/ordv/,driver/, anddoc/directories.hw/common/contains shared RTL utilities.- Compatibility implementations still used by the SoC remain under
hw/ip/, such ashw/ip/spi/legacy_apb/.
Configuration sources
config/soc.ymldescribes the template SoC top and selected IP paths.config/memory.ymlis the source for generated RTL packages and C headers.config/boards/sim.ymldescribes simulation-board defaults.
Integration flow
- Keep the SoC top under
hw/soc/top/; updatehw/filelist/verilator.fwhen modules are added or renamed. - Put top-level bus, clock, reset, and interrupt wiring under
hw/soc/. - Update
hw/filelist/soc.fandhw/filelist/verilator.ftogether. - After memory-map changes, regenerate
hw/include/soc_pkg.svfromconfig/memory.ymland updatesw/ecos/board.h.
CPU replacement and bring-up must follow the core-slot and AXI contracts.