FPGA 开发流程
1、需求分析:分析需要实现什么功能
2、系统设计:对系统进行设计,需要哪些模块,实现什么功能,数据流怎么走,带宽、工作频率怎么样
3、硬件选项:根据功能、性能需求选择合适的FPGA芯片
4、绘制系统框图:确定系统内各个子模块的结构层次,梳理对外的输入输出信号和字模块之间的交互信号
5、绘制波形图:工具模块功能结合芯片数据手册,确定模块信号的时序关系,使用绘图软件绘制各个模块的波形图
6、编写RTL代码:严格按照编写各个模块的代码
7、软件仿真:调试RTL代码,出现和绘制相同的仿真波形
8、新建工程:新建FPGA工程,并且添加RTL代码
9、分析和综合:查看报告,进行修改
10、约束输入:在FPAG开发平台对工程引脚进行约束实现
11、设计实现:工程布局和布线,下载文件,上板验证
12、上板验证:上板实际验证调试
FPGA 工程管理
FPGA 工程内部文件主要分为以下四类:
1、辅助文件目录doc:波形图文件等
2、工程及产生的文件目录prj:
3、代码文件目录rtl:RTL代码文件
4、sim目录:仿真文件
点亮 LED 灯
功能分析
使用启明星开发板底板上的 PL_KEY0 按键来控制底板上的 PL_LED0 灯亮灭。
按键没有被按下时,PL_LED0灯保持常灭;
当按键 PL_KEY0被按下时,PL_LED0灯被点亮;
当按键PL_KEY0被松开时,PL_LED0 灯被被熄灭。
硬件介绍
实物连接
电路原理图
当 ZYNQ PL 端的 IO 输出高电平 1 时,点亮 LED 灯;
当 ZYNQ PL 端的 IO 输出低电平 0 时,LED 灯熄灭。
PL_KEY0 按键未被按下时为高电平,被按下时为低电平。
系统设计
需要一个按键输入和一个 LED 灯输出,所以一个模块就可以实现“点亮 LED”的功能
模块设计
模块设计主要是想通过图形更加直观的展示出输入与输出之间的关系。
使用 Visio 工具新建一个“点亮 LED 灯.vsdx”文件保存下led/doc目录下
“点亮 LED”实验的模块框图:
绘制波形图
使用按键控制 LED 灯的亮灭
按键默认是高电平,
按键被按下是低电平;LED 灯是高电平点亮,低电平熄灭
真值表: