01
CPLD入门
什么是CPLD?与FPGA区别、应用场景、开发流程概览
概念对比
02
开发环境搭建
Quartus II / Lattice Diamond 安装配置、驱动、第一个工程
工具安装
03
硬件描述语言基础 (Verilog)
模块结构、端口、wire/reg、assign、always块
语法Verilog
04
组合逻辑设计
基本门电路、多路选择器、加法器、译码器
组合门电路
05
时序逻辑设计
D/T触发器、寄存器、计数器、分频器
时序触发器
06
状态机设计
Moore/Mealy型、三段式、状态编码 (二进制/格雷/独热)
FSM编码
07
仿真与验证
Testbench编写、ModelSim/QuestaSim、波形查看、排错
仿真调试
08
CPLD内部结构
宏单元、乘积项、PIA、I/O单元
架构底层
09
引脚分配与约束
Pin Planner、I/O标准 (LVCMOS/LVTTL)、驱动能力
引脚约束
10
时序分析基础
建立/保持时间、时钟偏斜、Fmax计算、SDC约束
时序SDC
11
IP核使用
PLL锁相环、FIFO、ROM/RAM例化
IPPLL
12
调试技巧
SignalTap II逻辑分析仪、内部节点探测、触发条件
调试逻辑分析
13
按键消抖设计
硬件/软件消抖、状态机实现、项目经验
消抖按键
14
数码管驱动
静态/动态扫描、共阴共阳、段选位选
显示数码管
15
LED流水灯与呼吸灯
PWM原理、占空比调节、呼吸灯效果
PWMLED
16
UART串口通信
波特率发生器、TX/RX模块、回环测试
UART串口
17
SPI通信协议
CPOL/CPHA模式、主从机、Flash读写
SPIFlash
18
I2C通信协议
时序、起始/停止、应答、EEPROM读写
I2CEEPROM
19
LCD1602/12864驱动
初始化、写命令/数据、字符显示、自定义字库
LCD显示
20
温度传感器DS18B20驱动
单总线协议、ROM命令、温度读取转换
传感器单总线
21
PWM电机控制
直流电机驱动、H桥、PID速度闭环(简化)
电机PID
22
红外遥控解码
NEC协议、载波引导码、按键值读取
红外NEC
23
ADC数据采集
SPI接口ADC、采样率控制、数字滤波(均值/中值)
ADC滤波
24
DAC波形发生器
查找表生成正弦/方波/三角波、频率幅度控制
DAC波形
25
VGA显示驱动
行场同步时序、RGB输出、彩色条纹与字符
VGA显示
26
项目实战一:数字时钟
DS1302 + 数码管显示 + 按键调时
项目时钟
27
项目实战二:简易信号发生器
DDS原理 + 按键调频 + LCD显示
项目DDS
28
项目实战三:智能小车控制
电机驱动 + 红外避障 + 蓝牙遥控
项目小车
29
项目实战四:简易逻辑分析仪
数据采集 + UART上传 + 上位机显示
项目逻辑分析
30
项目总结与进阶
CPLD资源优化、低功耗设计、过渡到FPGA建议
总结进阶