01
Verilog与组合逻辑概述
数字电路基础 · 组合逻辑与时序逻辑区别 · Verilog HDL简介 · Lattice公司及工具链概览
基础概念
02
开发环境搭建
Lattice Diamond安装 · License配置 · 创建第一个工程 · 工程结构解析
工具环境
03
Verilog模块结构
模块定义 · 端口声明(input/output/inout) · 模块实例化 · `timescale与注释
语法模块
04
基本逻辑门与数据流建模
与门、或门、非门、异或门 · assign语句 · 连续赋值
门级数据流
05
运算符与表达式 (上)
算术运算符 · 关系运算符 · 逻辑运算符 · 位运算符
运算符表达式
06
运算符与表达式 (下)
移位运算符 · 拼接运算符 · 条件运算符 · 运算符优先级
运算符优先级
07
行为级建模 (initial/always)
initial语句 · always语句 · 敏感列表 · 阻塞赋值与非阻塞赋值
行为级赋值
08
组合逻辑的always实现
if-else语句 · case语句 · casez与casex · 避免锁存器
组合逻辑case
09
多路选择器 (MUX) 设计
2选1 · 4选1 · 8选1 MUX · 参数化MUX · Lattice原语调用
MUX参数化
10
编码器与译码器
二进制编码器 · 优先编码器 · 3-8译码器 · 7段数码管译码器
编码译码
11
加法器设计
半加器 · 全加器 · 行波进位加法器 · 超前进位加法器原理
加法器算术
12
算术逻辑单元 (ALU) 设计
ALU功能定义 · 模块划分 · RTL实现 · 仿真验证
ALU核心
13
比较器与奇偶校验
数值比较器 · 相等比较器 · 奇偶校验生成器 · 奇偶校验检查器
比较校验
14
乘法器基础
组合逻辑乘法器 · 移位相加乘法器 · Wallace树乘法器简介
乘法器算术
15
数据选择器与分配器
总线MUX · 1-to-N分配器 · 三态缓冲器 · 双向端口
选择器三态
16
参数化设计 (parameter/localparam)
参数定义 · 参数传递 · generate语句 · 条件生成
参数化generate
17
函数 (function) 与任务 (task)
function定义与调用 · task定义与调用 · 自动递归
函数任务
18
Testbench基础
Testbench结构 · 时钟与复位生成 · initial块驱动激励 · $monitor与$display
仿真TB
19
Lattice Diamond仿真流程
ModelSim/Active-HDL集成 · 波形查看 · 调试技巧
仿真Diamond
20
Lattice约束文件 (.lpf)
引脚约束 · 电平标准约束 · 电流驱动约束 · 时序约束入门
约束LPF
21
组合逻辑中的毛刺与竞争
毛刺产生原因 · 静态冒险 · 动态冒险 · 消除方法
冒险毛刺
22
同步设计思想
同步与异步 · 亚稳态 · 单比特同步器 · 多比特同步器 (FIFO简介)
同步亚稳态
23
Lattice FPGA架构简介
Lattice ECP5/MachXO2系列 · 逻辑单元(PFU) · 布线资源 · PLL
架构FPGA
24
IP核生成与使用
Lattice IP核生成器 · PLL IP配置 · RAM/ROM IP · FIFO IP
IP核PLL
25
有限状态机 (FSM) 基础
Moore与Mealy型 · 状态编码(二进制/格雷/独热) · 三段式写法
FSM状态机
26
FSM设计实例
序列检测器 · 交通灯控制器 · 自动售货机控制器
实例FSM
27
综合与实现 (Synthesis & Map)
Lattice综合选项 · 资源利用率报告 · 时序报告分析
综合实现
28
布局布线 (Place & Route)
布局约束 · 布线策略 · 静态时序分析(STA)入门
布局布线STA
29
比特流生成与下载
比特流(Bitstream)生成 · JTAG下载 · SPI Flash配置 · 在线调试(Reveal)
下载调试
30
综合项目实战:4位简易CPU
组合逻辑部分设计 · 模块划分 · 编码/仿真/综合/下载验证
项目CPU