01
数字电路基础回顾
从0和1到逻辑门,组合逻辑与时序逻辑的区别,为什么需要时钟?
逻辑门时钟
02
RTL设计初探
什么是RTL?Verilog与VHDL的选择,一个最简单的模块——点亮LED。
VerilogLED
03
Verilog语法基础(上)
模块声明、端口定义、assign语句、wire与reg类型。
assignwire/reg
04
Verilog语法基础(下)
always块、阻塞与非阻塞赋值、敏感列表。
always阻塞赋值
05
组合逻辑设计
多路选择器、加法器、译码器、三态门。
MUX加法器
06
时序逻辑设计
D触发器、寄存器、移位寄存器、计数器。
D触发器计数器
07
有限状态机(FSM)
Moore机与Mealy机、三段式写法、状态编码。
FSM三段式
08
存储器设计
单端口RAM、双端口RAM、FIFO(先入先出队列)基础。
RAMFIFO
09
仿真与测试
Testbench结构、initial与always、$display与$monitor、波形查看。
Testbench波形
10
常用接口协议(一)
UART协议与实现,波特率发生器。
UART波特率
11
常用接口协议(二)
SPI协议与实现,主从模式。
SPI主从
12
常用接口协议(三)
I2C协议与实现,起始/停止条件。
I2C起始条件
13
同步与跨时钟域
亚稳态、单比特同步器、双锁存器、FIFO同步。
CDC同步器
14
复位设计
同步复位与异步复位、复位释放问题、异步复位同步释放。
复位异步复位同步释放
15
低功耗设计入门
门控时钟、操作数隔离、多电压域概念。
门控时钟低功耗
16
可综合设计风格
避免锁存器、完整case、组合逻辑反馈。
综合锁存器
17
逻辑综合基础
综合流程、约束文件(SDC)、面积与速度权衡。
SDC综合
18
静态时序分析(STA)入门
建立时间与保持时间、时序路径、slack。
STAslack
19
形式验证简介
等价性检查、属性检查(Assertion)。
形式验证Assertion
20
设计实例:按键消抖模块
从需求到RTL,消除机械抖动。
消抖按键
21
设计实例:PWM发生器
占空比与频率控制,精确脉冲调制。
PWM占空比
22
简易CPU(一)ALU与寄存器堆
算术逻辑单元与通用寄存器组设计。
ALU寄存器堆
23
简易CPU(二)取指、译码、执行
指令读取、译码逻辑与执行单元。
取指译码
24
简易CPU(三)完整流水线与测试
流水线冒险处理与仿真验证。
流水线测试
25
脚本辅助设计
Makefile管理仿真、Tcl脚本控制工具。
MakefileTcl
26
版本控制与协作
Git在RTL项目中的应用,.gitignore配置。
Git.gitignore
27
代码规范与检查
命名规则、注释规范、Lint工具使用。
Lint规范
28
FPGA原型验证
从RTL到比特流,开发板调试技巧。
FPGA比特流
29
ASIC设计流程概览
前端到后端,GDSII是什么?
ASICGDSII
30
项目实战:SPI Flash控制器
需求分析、架构设计、RTL编码、仿真验证。
SPI Flash实战