CPU 核心模块
1. 模块概述
CPU 核心模块是整个 SoC 的核心处理单元,基于 RISC-V RV32IMC 指令集架构。
2. 接口
2.1 时钟与复位
| 信号 | 方向 | 描述 |
| clk | input | 主时钟 (500MHz) |
| rst_n | input | 异步复位,低有效 |
2.2 指令接口 (AXI4)
| 信号 | 方向 | 描述 |
| i_awvalid | output | 写地址有效 |
| i_awready | input | 写地址就绪 |
| i_wvalid | output | 写数据有效 |
| i_wready | input | 写数据就绪 |
| i_bvalid | input | 写响应有效 |
| i_arvalid | output | 读地址有效 |
| i_arready | input | 读地址就绪 |
| i_rvalid | input | 读数据有效 |
| i_rdata | input | 读数据 |
2.3 数据接口 (AXI4)
| 信号 | 方向 | 描述 |
| d_awvalid | output | 写地址有效 |
| d_awready | input | 写地址就绪 |
| d_wvalid | output | 写数据有效 |
| d_wready | input | 写数据就绪 |
| d_bvalid | input | 写响应有效 |
| d_arvalid | output | 读地址有效 |
| d_arready | input | 读地址就绪 |
| d_rvalid | input | 读数据有效 |
| d_rdata | input | 读数据 |
2.4 中断接口
| 信号 | 方向 | 描述 |
| irq | input | 外部中断请求 |
| mtime_irq | input | 定时器中断 |
3. 功能描述
3.1 流水线架构
- 5 级经典 RISC 流水线
- IF (取指) → ID (译码) → EX (执行) → MEM (访存) → WB (写回)
3.2 支持的指令集
- RV32I: 基本整数指令
- M: 乘除法扩展
- C: 压缩指令扩展
3.3 异常与中断
- 支持 RISC-V 标准异常
- 支持机器模式中断
- 中断向量表可配置
4. 性能指标
| 指标 | 值 |
| DMIPS/MHz | 2.5 |
| Coremark/MHz | 3.0 |
| CPI | 1.0 (理想) |
5. 实现文件
| 文件 | 描述 |
cpu_core.v | 顶层模块 |
if_stage.v | 取指级 |
id_stage.v | 译码级 |
ex_stage.v | 执行级 |
mem_stage.v | 访存级 |
wb_stage.v | 写回级 |
regfile.v | 寄存器文件 |
alu.v | ALU |
mul_div.v | 乘法器/除法器 |