Verilog状态机设计与Lattice调试实战
📚 共计 30 章节
01
状态机基础
什么是状态机、Moore与Mealy分类、FPGA应用场景
概念
分类
02
Verilog状态机编码风格
一段式、两段式、三段式区别与选择
编码
风格
03
Moore状态机设计实战
以序列检测器为例,检测“101”序列
Moore
序列检测
04
Mealy状态机设计实战
检测“101”序列,与Moore对比
Mealy
对比
05
状态编码策略
二进制、格雷、独热编码优缺点及选择
编码
优化
06
状态机复位设计
同步复位与异步复位影响及最佳实践
复位
可靠性
07
状态机中的毛刺问题
组合逻辑输出毛刺产生原因与消除
毛刺
时序
08
状态机时序约束
Lattice Diamond中添加时序约束
时序
约束
09
Lattice Diamond入门
工程创建、文件管理、综合选项设置
工具
入门
10
Lattice Diamond RTL视图
查看状态机RTL结构,验证状态转换
RTL
视图
11
Lattice Diamond仿真设置
调用ModelSim/Active-HDL功能仿真
仿真
设置
12
Testbench编写基础
为状态机编写高效测试激励
Testbench
激励
13
状态机覆盖率分析
状态覆盖率和转换覆盖率检查
覆盖率
验证
14
Chip Planner布局查看
查看状态机在FPGA内部的布局布线
布局
Chip
15
Reveal调试器基本原理
信号采集设置与原理
调试
Reveal
16
Reveal调试实战
在线调试状态机的状态跳转
在线
调试
17
Reveal触发条件设置
复杂触发条件捕获特定状态序列
触发
条件
18
Reveal波形分析
从采集波形中定位状态机错误
波形
分析
19
亚稳态与跨时钟域处理
跨时钟域状态转换同步处理
亚稳态
同步
20
多状态机协同设计
主从状态机、状态机与数据路径交互
协同
主从
21
状态机优化技巧
状态合并、化简、冗余消除
优化
化简
22
超时处理与看门狗
设计看门狗定时器防止死锁
看门狗
超时
23
错误恢复机制
设计错误状态与恢复机制
错误
恢复
24
时序分析 (Diamond)
查看关键路径建立/保持时间
时序
分析
25
功耗分析
状态机翻转率对功耗的影响
功耗
翻转率
26
常见错误与规避
未定义状态、跳转缺失、输出锁存器
错误
规避
27
代码风格规范
可读性、可维护性、团队协作
规范
风格
28
设计实例1:UART接收器
UART接收器状态机设计
UART
实例
29
设计实例2:SPI主控制器
SPI主控制器状态机设计
SPI
实例
30
设计实例3:简易CPU控制单元
简易CPU控制单元状态机设计
CPU
实例