VIP20
本课程属于:036-RTL设计 芯片设计与FPGA · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

RTL代码风格与高质量设计实战

📚 共计 30 章节
01
RTL设计哲学
什么是高质量的RTL代码?可读性、可综合、可维护、可复用的核心原则。
⭐ 核心理念
02
命名规范
信号、模块、参数、接口的命名规则,匈牙利命名法与行业惯例。
规范可读性
03
模块划分艺术
高内聚低耦合,模块大小控制,接口定义策略。
架构内聚
04
组合逻辑设计
always @(*) 的正确用法,阻塞赋值与非阻塞赋值的陷阱。
组合赋值
05
时序逻辑设计
同步复位与异步复位,寄存器建模规范,避免latch。
时序复位
06
状态机设计
一段式、二段式、三段式FSM,状态编码(二进制、格雷码、独热码)。
FSM编码
07
FSM实战
复杂状态机设计,状态转移图绘制,毛刺与竞争冒险处理。
实战冒险
08
时钟与复位
时钟域划分,门控时钟,异步复位同步释放。
时钟复位
09
跨时钟域处理
单bit同步器,多bit握手协议,异步FIFO原理。
CDC同步
10
异步FIFO设计
格雷码指针,空满判断,深度计算与仿真验证。
FIFO格雷码
11
流水线设计
流水线级数划分,数据冒险与结构冒险,流水线寄存器规范。
流水线冒险
12
数据通路设计
加法器、乘法器、移位器的RTL实现,资源共享与复用。
运算资源
13
控制通路设计
微操作序列,控制信号生成,握手协议实现。
控制握手
14
接口设计
AXI4-Stream、AXI4-Lite、APB总线接口的RTL实现。
总线AXI
15
参数化设计
使用parameter和generate,可配置模块设计,IP化思维。
参数可配置
16
代码风格
缩进、对齐、注释规范,代码审查清单。
风格审查
17
可读性提升
信号命名一致性,模块实例化规范,文件组织。
可读性组织
18
可综合性检查
综合工具支持的语法,不可综合结构(initial、delay等)的规避。
综合语法
19
低功耗设计
时钟门控、数据门控、操作数隔离、多电压域。
低功耗门控
20
面积优化
资源共享、逻辑复用、状态编码优化、流水线平衡。
面积优化
21
时序优化
关键路径分析,寄存器插入,逻辑结构重定时。
时序重定时
22
仿真与调试
testbench编写,波形分析,断言(SVA)基础。
仿真SVA
23
代码覆盖率
行覆盖率、条件覆盖率、翻转覆盖率、状态机覆盖率。
覆盖率验证
24
Lint检查
语法错误、潜在逻辑错误、编码风格违规。
Lint静态
25
综合与网表
综合约束(SDC),综合策略,网表质量评估。
综合SDC
26
形式验证
等价性检查,属性检查,与仿真互补。
形式化等价
27
版本管理
Git在RTL项目中的应用,分支策略,代码评审流程。
Git协作
28
文档与注释
架构文档、接口文档、模块级注释规范。
文档注释
29
团队协作
编码规范统一,代码评审,持续集成(CI)流程。
团队CI
30
项目实战
从规格到RTL的完整流程,一个简单CPU或通信模块的设计案例。
实战CPU