External SPI flash XIP window. · 0x0100_0000
mpc-soc
给多项目芯片提供可仿真、可跑软件的 RISC-V SoC 底板。把 core 接到现有槽位,在同一套文档工作台里查看地址空间和 IP 状态。
一个 AXI master,一组可仿真外设
asicTop / SimTopmpc-soc$ make doctor $ make check SOC SMOKE CHECK PASS
用户阶段通过 CORE_SEL 选择待测 core。完整 bootrom 回归走维护者入口。
| IP | 功能 | 地址 / 实例 | 状态 | 测试 | 验证边界 |
|---|---|---|---|---|---|
| CPU core | 执行 RISC-V 软件,发起 AXI 访问并接收中断 | core slot 0,默认 CORE_SEL=0 | 冒烟通过 | SoC 启动、基础软件 | 指令完整性、异常/特权态、性能、长时间运行 |
| CLINT | 软件中断、定时器中断、mtime/mtimecmp | 0x0201_0000 | 冒烟通过 | clint | 多核语义、竞态、边界时序 |
| PLIC | 外部中断汇聚、优先级和分发 | 0x0c00_0000 | 冒烟通过 | plic | 多源并发、优先级边界、压力场景 |
| UART0 / UART16550 | 控制台串口、16550 寄存器和 FIFO | 0x1000_0000 | 冒烟通过 | uart_poll、UART 输入 | 波特率边界、溢出、错误帧、持续收发 |
| SPI | SPI Flash 接口和 XIP | Flash:0x3000_0000 | 冒烟通过 | flash_xip、启动取指 | 真实器件时序、擦写、掉电恢复、兼容性 |
| RCU | 时钟选择、分频和复位控制 | 0x1000_2000 | 冒烟通过 | rcu | 动态切换、复位时序、时钟门控 |
| RTC | 实时时钟计数 | 0x1000_4000 | 冒烟通过 | rtc | 校准、低功耗、跨时钟域、长期漂移 |
| WDG | 看门狗计数、超时和复位 | 0x1000_5000 | 冒烟通过 | wdg | 复位竞争、时钟异常、系统恢复 |
| ArchInfo | 架构和芯片信息寄存器 | 0x1000_6000 | 冒烟通过 | archinfo | 配置兼容性、只读属性完整检查 |
| GPIO | GPIO 输入、输出和方向控制 | 0x1010_0000 | 冒烟通过 | gpio、gpio_toggle | 方向切换、边沿/中断、PAD 电气特性 |
| UART1 | APB4 UART 收发 | 0x1010_3000 | 冒烟通过 | uart1 | 边界、错误和中断场景 |
| I2C | I2C 主机控制器和开漏接口 | 0x1010_4000 | 冒烟通过 | i2c | 多从机、仲裁、ACK/NACK、总线恢复 |
| PWM | 4 路 PWM 输出 | 0x1010_6000 | 冒烟通过 | pwm | 频率/占空比边界、动态改配、抖动 |
| Timer | APB 定时器,共 4 个实例 | 0x1010_8000 - 0x1010_b000 | 冒烟通过 | timer、timer_multi | 溢出、重启、并发、中断边界 |
| QSPI | 四线 SPI 控制器 | 0x1020_0000 | 冒烟通过 | qspi | 实际传输、模式/时钟、Flash 兼容性 |
| RNG | 伪随机数生成 | 0x1030_0000 | 冒烟通过 | rng | 随机性统计、种子和重复周期;不代表安全 RNG |
| CRC | CRC8/CRC16/CRC32 计算 | 0x1030_1000 | 冒烟通过 | crc | 全参数组合、连续数据、边界长度 |
| PSRAM 控制器 | 3 片 PSRAM 访问,总计 24 MiB | 0xc000_0000 | 冒烟通过 | psram_basic | 真实时序、带宽、刷新、温度/电压、长期压力 |
External PSRAM window, three 8MiB chips. · 0x0180_0000
Core-local interruptor. · 0x0001_0000
Platform-level interrupt controller. · 0x0040_0000
UART16550 console. · 0x0000_1000
Reset and clock control unit. · 0x0000_1000
Real-time clock. · 0x0000_1000
Watchdog timer. · 0x0000_1000
Architecture information registers. · 0x0000_1000
GPIO controller. · 0x0000_1000
APB4 UART controller. · 0x0000_1000
APB4 I2C controller. · 0x0000_1000
PWM controller. · 0x0000_1000
APB timer. · 0x0000_1000
APB timer. · 0x0000_1000
APB timer. · 0x0000_1000
APB timer. · 0x0000_1000
APB4 QSPI controller. · 0x0000_1000
Pseudo-random number generator. · 0x0000_1000
CRC calculation engine. · 0x0000_1000