ECP5 开发板入门与基础操作
📚 共计 30 章节
01
ECP5初识
了解Lattice ECP5系列FPGA的定位、特点、功耗优势,以及其在AI、边缘计算、通信领域的典型应用场景。
概览
AI
边缘计算
02
开发板开箱与硬件资源
认识ECP5开发板上的核心芯片、DDR3、Flash、LED、按键、PMOD、HDMI、USB等接口,了解板级架构。
硬件
接口
DDR3
03
开发环境搭建
安装Lattice Diamond或Radiant软件,配置License,创建第一个空白工程,熟悉IDE界面布局。
工具
Diamond
Radiant
04
第一个工程:点亮LED
编写Verilog代码,实现按键控制LED亮灭,完成综合、布局布线、生成Bitstream并下载到开发板。
入门
LED
下载
05
Verilog基础语法(一)
模块结构、端口定义、assign语句、always块、阻塞与非阻塞赋值,结合流水灯实验讲解。
语法
流水灯
assign
06
Verilog基础语法(二)
参数化设计、localparam与parameter、generate语句、函数与任务,实现可配置分频器。
参数化
generate
分频器
07
组合逻辑设计
多路选择器、译码器、加法器、比较器的Verilog实现,以及LUT资源的映射原理。
组合逻辑
LUT
加法器
08
时序逻辑设计
D触发器、寄存器、计数器、移位寄存器的设计,理解建立时间与保持时间的概念。
时序
D触发器
建立时间
09
状态机设计
Moore型与Mealy型状态机,三段式写法,实现一个交通灯控制器或序列检测器。
状态机
Moore
交通灯
10
时钟与复位
全局时钟网络、时钟树、异步复位同步释放、时钟使能,设计可靠的时钟分频与复位电路。
时钟
复位
同步释放
11
PLL与时钟管理
使用ECP5内部的PLL/DLL,通过IP核生成多路不同频率的时钟,配置相位与占空比。
PLL
时钟
IP核
12
片上存储器BRAM
配置ECP5的Block RAM,实现单口、双口RAM与ROM,用于数据缓存与查找表。
BRAM
RAM
ROM
13
分布式存储器Distributed RAM
使用LUT实现的分布式RAM,适用于小容量、高速度的存储场景。
分布式RAM
LUT
高速
14
DSP与算术运算
ECP5的DSP Slice结构,实现乘加运算、MAC单元、FIR滤波器基础。
DSP
MAC
FIR
15
UART串口通信
设计UART收发模块,实现FPGA与PC的串口通信,使用串口助手收发数据。
UART
串口
通信
16
SPI通信协议
实现SPI主从机模块,驱动SPI Flash或ADC/DAC芯片,理解CPOL/CPHA模式。
SPI
CPOL
CPHA
17
I2C通信协议
实现I2C主控制器,读写I2C温度传感器或EEPROM,理解起始/停止/应答信号。
I2C
EEPROM
传感器
18
HDMI显示输出
利用ECP5的LVDS输出,生成HDMI信号,显示彩色条或简单图像。
HDMI
LVDS
显示
19
DDR3内存控制器
使用Lattice DDR3 IP核,初始化并读写DDR3内存,理解Bank、Row、Column寻址。
DDR3
IP核
内存
20
ADC数据采集
使用开发板上的ADC芯片(如AD9280),通过SPI或并行接口采集模拟信号。
ADC
AD9280
采集
21
PWM与电机控制
生成PWM波形,控制舵机或直流电机,实现呼吸灯或电机调速。
PWM
舵机
电机
22
按键消抖与输入捕获
硬件消抖与软件消抖方法,测量脉冲宽度,实现按键计数。
消抖
捕获
按键
23
数码管与LCD驱动
驱动七段数码管或字符型LCD1602,显示数字与字符。
数码管
LCD
1602
24
中断与异常处理
理解FPGA中的中断概念,设计中断控制器,处理外部事件。
中断
控制器
异常
25
跨时钟域同步
单bit与多bit信号的CDC处理,使用双级触发器与异步FIFO。
CDC
异步FIFO
同步
26
时序约束入门
创建时钟约束、输入输出延迟约束,使用Diamond的Timing Analyzer分析时序。
约束
时序
Timing
27
在线调试与逻辑分析仪
使用Lattice Reveal或ChipScope,设置触发条件,捕获内部信号波形。
调试
Reveal
逻辑分析仪
28
功耗分析与优化
了解ECP5的功耗组成,使用功耗分析工具,优化设计降低动态与静态功耗。
功耗
优化
分析
29
Bitstream加密与安全
配置ECP5的AES加密功能,保护FPGA设计不被非法读取。
加密
AES
安全
30
综合项目实战
结合UART、ADC、HDMI、DDR3等模块,完成一个简易数字示波器或信号发生器项目。
实战
示波器
信号发生器