RISC-V 中断控制器
🎓 设计与实现 · 30章
1
中断控制器概述
中断基本概念 · RISC-V 中的作用 · PLIC 与 CLINT 区别
2
RISC-V 特权架构基础
M/S/U 模式 · 中断委托机制
3
CLINT 核心寄存器详解
msip · mtimecmp · mtime 编程模型
4
PLIC 核心寄存器详解
优先级 · 挂起 · 使能 · 阈值寄存器
5
中断控制器硬件架构设计
总线接口 · 寄存器堆 · 仲裁 · 中断产生逻辑
6
中断请求与仲裁机制
优先级仲裁 · Round-Robin · 固定优先级
7
中断使能与屏蔽机制
全局使能 mstatus.MIE · 局部使能 · PLIC 使能
8
中断优先级与阈值
优先级编码 · 阈值比较 · 中断抢占
9
中断委托 (Delegation) 机制
medeleg/mideleg · 委托条件 · S-mode 处理
10
中断向量表与异常处理
mtvec/stvec · 直接/向量模式 · 入口/出口流程
11
中断响应与返回流程
mret/sret · 现场保存恢复 · Critical Section
12
中断嵌套与抢占
硬件嵌套 · 软件管理 · 优先级反转
13
中断控制器 RTL 设计 (一)
顶层划分 · 时钟/复位域 · 寄存器模块 RTL
14
中断控制器 RTL 设计 (二)
仲裁器 · 中断产生 · 分发模块 RTL
15
中断控制器 RTL 设计 (三)
PLIC 核心 · CLINT 核心 · 总线接口 RTL
16
中断控制器验证策略
验证计划 · 功能覆盖点 · 测试用例分类
17
仿真环境搭建
Verilog Testbench · UVM · 定向/随机测试
18
功能测试
寄存器读写 · 中断请求 · 优先级 · 嵌套
19
性能测试
中断延迟 · 吞吐量 · 响应时间分析
20
低功耗设计
时钟门控 · 电源门控 · 唤醒 · WFI 指令
21
多核系统中的中断控制器
核间中断 IPI · 多核分发 · 原子性
22
与操作系统适配 · Linux
中断子系统 · 设备树 · 驱动开发
23
与 FreeRTOS 适配
中断配置 · 临界区 · 任务切换
24
调试技巧
波形分析 · 寄存器 dump · 中断丢失/死锁
25
安全设计
中断隔离 · 安全中断 · TrustZone · 故障注入
26
可配置性设计
参数化 RTL · 寄存器自动生成 · 中断源配置
27
验证覆盖率分析
代码/功能/断言覆盖率 · 覆盖率驱动验证
28
FPGA 原型验证
FPGA 实现 · 上板调试 · 性能实测
29
综合与时序分析
Design Compiler · 时序约束 · 关键路径优化
30
项目实战 · 从需求到流片
完整案例 · 常见问题复盘 · 经验总结