ZYNQ学习--PL 的LED 点亮实验

PL 的"Hello World"LED 实验

参考文档《course_s1_ZYNQ那些事儿-FPGA实验篇V1.06》
Vivado版本 2018.3

一、创建工程

创建RTL工程,Target language选择“Verilog”,虽然选择 Verilog,但 VHDL 也可以使用,支持多语言
混合编程;设计时根据自己的板子选择器件型号。
ZYNQ学习--PL 的LED 点亮实验_第1张图片

二、编写代码

工程界面(项目设计流程也基本按照软件的流程进行);添加源代码创建Verilog文件后即可开始设计。
这里的IP catalog是Vivado提供的IP核,可以直接使用也可在BD中添加使用。
下面还有program and debug 用于生成bit文件下载程序调试等等
ZYNQ学习--PL 的LED 点亮实验_第2张图片

三、添加约束

3.1管脚约束(管脚位置和 I/O电平)

Vivado 使用的约束文件格式为 xdc 文件。xdc 文件里主要是完成管脚的约束,时钟的约束;可以通过
Window -> I/O Ports进行设置,也可以通过编写lxdc文件进行设置。这里我们需要对 led.v 程序中的
输入输出端口分配到 FPGA 的真实管脚上。

	 XDC 编写的语法,普通 IO 口只需约束引脚号和电压
	 	管脚约束如下:
		set_property PACKAGE_PIN "引脚编号" [get_ports “端口名称”] 
		电平信号的约束如下:
		set_property IOSTANDARD "电平标准" [get_ports “端口名称”]

3.2时钟约束

一个 FPGA 设计除了管脚分配以外,还有一个重要的约束,那就是时序约束,这里通过向导方式演示
如合进行一个时序约束。 综合"Run Sythesis"点击“Constraints Wizard”按照指引修改时钟频率。成功
添加后 xdc 文件中时钟约束将会加入文件中。

create_clock -period 20.000 -name sys_clk -waveform {0.000 10.000} [get_ports sys_clk]

ZYNQ学习--PL 的LED 点亮实验_第3张图片

四、代码仿真

使用Vivado自带的软件进行仿真,编写好testbeach文件后,点击 Run Simulation 按钮,再选择
Run Behavioral Simulation。(在接下来的IP核学习中做进一步的展开说明)
在这里插入图片描述

五、下载验证

连接好开发板的 JTAG 接口,给开发板上电在“HARDWARE MANAGER”界面点击“Auto Connect”,自动连接设备可以看到 JTAG 扫描到 arm 和 FPGA 内核。
ZYNQ学习--PL 的LED 点亮实验_第4张图片
ZYNQ学习--PL 的LED 点亮实验_第5张图片

六、信号抓取ILA

Vivado 有内嵌的逻辑分析仪,叫做 ILA,可以用于在线观察内部信号的变化,对于调试有很大帮助。
点击 IP Catalog,在搜索框中搜索 ila,双击 ILA 的 IP。在要观测的文件中实例化ila。下载时添加bit和ltx文件。弹出的在线调试窗口出现添加的信号,点击运行便可以看到信号的数据
ZYNQ学习--PL 的LED 点亮实验_第6张图片 可以触发采集,在 Trigger Setup 窗口点击“+”,深度选择 timer_cnt 信号
ZYNQ学习--PL 的LED 点亮实验_第7张图片
本实验中设置好触发后再次点击运行,即可以看到触发成功(红标T),此时 timer_cnt 显示为十六进制,而 led 也在此时翻转。
ZYNQ学习--PL 的LED 点亮实验_第8张图片

你可能感兴趣的:(ZYNQ学习笔记,fpga开发)