Verilog时序逻辑设计与Lattice实现

📚 共计 30 章节
01
数字电路基础回顾
组合逻辑与时序逻辑的区别 · 同步与异步概念 · 时钟与复位信号
基础概念
02
Verilog模块结构
模块定义 · 端口声明 · always块基础 · assign语句
语法入门
03
寄存器与锁存器
D触发器原理 · Verilog实现D触发器 · 锁存器生成与避免
时序Latch
04
同步复位与异步复位
复位电路设计 · 同步复位Verilog · 异步复位 · 策略对比
复位可靠性
05
时钟分频电路
偶数分频 · 奇数分频 · 小数分频 · 使能时钟与门控时钟
时钟分频
06
计数器设计
二进制计数器 · 模M计数器 · 环形计数器 · 约翰逊计数器
计数器经典
07
移位寄存器
基本移位寄存器 · 循环移位 · 线性反馈移位寄存器(LFSR)
移位LFSR
08
状态机基础
Moore/Mealy · 状态编码(二进制/格雷/独热) · 三段式写法
FSM核心
09
状态机进阶
复杂状态机设计 · 优化 · 常见错误(缺省/不完整转移)
进阶调试
10
序列检测器
状态机实现序列检测 · 重叠与非重叠 · 参数化设计
检测实战
11
存储器设计
单端口RAM · 双端口RAM · ROM实现 · FIFO基础概念
存储RAM
12
同步FIFO设计
空满判断 · 读写指针 · 格雷码跨时钟域同步
FIFO同步
13
异步FIFO设计
异步FIFO架构 · 双端口RAM+异步读写 · 空满标志生成
异步跨时钟
14
Lattice半导体公司介绍
产品线(ECP5/MachXO3/iCE40) · Diamond软件安装与许可
Lattice工具
15
Lattice Diamond开发流程
新建工程 · 添加源文件 · 综合 · 布局布线 · 生成比特流
流程Diamond
16
Lattice约束文件(.lpf)
引脚约束 · 时序约束 · 区域约束 · 约束语法详解
约束LPF
17
Lattice IP核使用
IP核生成器(Clarity) · PLL/DLL配置 · Block RAM配置
IPPLL
18
Lattice片上调试工具
Reveal逻辑分析仪 · 触发条件设置 · 波形观察
调试Reveal
19
开发板实战(一):LED流水灯
从原理图到比特流 · 完整流程
实战LED
20
开发板实战(二):按键消抖与状态机
按键消抖 · 状态机控制LED
按键消抖
21
开发板实战(三):UART发送
UART串口通信 · 发送模块设计
UART发送
22
开发板实战(四):UART接收
UART串口通信 · 接收模块设计
UART接收
23
开发板实战(五):SPI接口与Flash读写
SPI接口设计 · Flash读写操作
SPIFlash
24
开发板实战(六):I2C接口与EEPROM
I2C接口设计 · EEPROM读写
I2CEEPROM
25
开发板实战(七):PWM与呼吸灯
PWM发生器 · 呼吸灯实现
PWM呼吸灯
26
开发板实战(八):VGA/LCD显示驱动
时序产生 · 图像输出
VGA显示
27
时序分析基础
建立/保持时间 · 时序路径分类 · STA概念
STA时序
28
Lattice时序约束实战
创建时钟约束 · 输入输出延迟 · 时序报告解读
约束时序
29
低功耗设计技巧
时钟门控 · 操作数隔离 · 状态机编码优化 · Lattice低功耗特性
低功耗优化
30
综合项目:简易数字时钟
基于Lattice开发板 · 按键校时 · 数码管显示 · 闹钟功能
项目综合