第3章 寄存器与总线
第一篇 基础篇
3.1 寄存器组设计#
寄存器是 CPU 内部最快速的存储单元。在我们的 MCU 原型中,我们需要设计两种寄存器:
- 通用寄存器(GPR):用于算术运算和临时数据存储
- 特殊功能寄存器(SFR):用于控制和状态指示
3.2 总线架构#
module bus_arbiter (
input clk,
input rst_n,
input [7:0] addr_bus_a,
input [7:0] data_bus_a,
input [7:0] addr_bus_b,
input [7:0] data_bus_b,
output [7:0] addr_bus,
output [7:0] data_bus
);
// 简单的轮询仲裁
endmoduleverilog3.3 地址空间映射#
一个完整的地址映射表:
| 地址范围 | 设备 | 说明 |
|---|---|---|
| 0x00-0x0F | 通用寄存器 | R0-R15 |
| 0x10-0x1F | SFR | 状态与控制 |
| 0x20-0x3F | SRAM | 内部数据存储 |
| 0x40-0x7F | 外设 | GPIO/UART/Timer |