zynq 7000 的流水灯实验
流水灯实验是FPGA 的入门实验。最简单并且得到实在的体验,我们就从这里开始zynq 7000的体验吧。
本实验包括3部分:创建工程,添加和建立文件,比特流产生和编程。
1:创建工程:打开Vivado,在如下界面里选择建立工程,Create Project。
由于不同的vivado的版本,可能界面不一,但都是找到Create Project。
出现create project 界面时,选择Next。在如下界面输入工程的名字,这里是run_led,同时也要选择工程的存放文件夹。
到如下界面时,选择RTL Project, 勾取Do not specify soources at this time。
到这个界面,选择Part,太多了,不好选择,可以指定一些条件,我们这里选择系列为Zynq-7000。
再选择封装为clg400,就看到了我的Part, 我的是:xc7z010clg400-1。不同的板子这里可能不同,你要查询好你的Part 型号。
到这里是个汇总,有不对的,可以返回选择。
工程创建完了,就是这个样子。看看图中2个红箭,下面我们要添加2个文件在这里。
2:添加或创建文件:
在工程管理界面里,添加设计源码文件。先选择Design Source,然后右键或下图中+按钮,Add Source。
这里选择添加文件类型,这里是 Add or create design sources。
选择 Next 后到如下界面,可以添加或者创建文件,这里选择Create File
出现对话框,这里输入文件名led_top,还有文件位置。
OK 之后,回到如下界面。文件已在列表中。
选择Finish 后,出现如下界面,OK就好了。
还有这一个对话框,Yes。
回到管理界面了。Design Sources 下有了文件,点一下,右边就会显示出来,可以编辑修改。
在约束下还要添加文件。点一下 Constraints, 与上面添加文件一样操作。右键或+按钮, Add Source。
这里文件类型选择是 Add or create constraints。
约束文件取名run_led,点开可以右边显示。
看看我们创建的2个文件都显示在右边。右上可以最大化。
文件都建立好了,现在要修改文件的内容了。
led_top.v文件内容如下:
module led_top(
input CLK_i,
input RSTn_i,
output reg [3:0]LED_o
);
reg [31:0]C0;
always @(posedge CLK_i)
if(!RSTn_i)
begin
LED_o <= 4'b1;
C0 <= 32'h0;
end
else
begin
if(C0 == 32'd50_000_000)
begin
C0 <= 32'h0;
if(LED_o == 4'b1000)
LED_o <= 4'b1;
else LED_o <= LED_o << 1;
end
else
begin
C0 <= C0 + 1'b1;
LED_o <= LED_o;
end
end
endmodule
你可以这里复制,粘贴过去。显示如下,多了一些注释之类的。
run_led.xdc 的内容与硬件相关。在这里要注意你的硬件管脚对应关系。我这里是米联 MZ7XA 的硬件定义。
CLK_i H16
T19 RSTn_i
J16 LED_o[0]
K16 LED_o[1]
H15 LED_o[2]
G15 LED_o[3]
run_led.xdc 的内容如下,复制粘贴过去。如果管脚对应不一样,修改这个内容。
create_clock -period 10.000 -name CLK_i [get_ports CLK_i]
set_property PACKAGE_PIN H16 [get_ports CLK_i]
set_property IOSTANDARD LVCMOS33 [get_ports CLK_i]
set_property PACKAGE_PIN T19 [get_ports RSTn_i]
set_property IOSTANDARD LVCMOS33 [get_ports RSTn_i]
set_property PACKAGE_PIN J16 [get_ports {LED_o[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[0]}]
set_property PACKAGE_PIN K16 [get_ports {LED_o[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[2]}]
set_property PACKAGE_PIN H15 [get_ports {LED_o[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[3]}]
set_property PACKAGE_PIN G15 [get_ports {LED_o[2]}]
文件内容修改后,记得保存。
3:比特流产生和编程运行
文件内容都做好了,保存文件,然后点击Generate BitStream。
他会产生提示对话框,Yes就好。
还出现这个,OK
这个需要些时间,你可以看到右上在旋转,表示在计算,看看日志在更新。
运行结束后会有如下完成对话框。这是告诉你结束了,下面怎么做,可以Cancel, 也可以选择一个下面的内容。这里选择红箭指示的 Open Hardware manager,完成了,我就打开硬件管理器。
如果你选择了Cancel或者没有选择打开硬件管理,也可以如下图打开硬件管理界面。Flow Navigator->Program and debug->Open Hardware Manager。还可以菜单Flow -> Open Hardware Manager。
硬件管理面板如下。这里说没有连接硬件,你要连接好你的硬件,然后Open target
现在硬件连接上了,但还没有编程设备。按照红箭的位置,点击 Program Devices。
选择比特率文件,如果没有自动输入,那你手动选择,记得下图文件位置和名字。
点击Program , 程序就下载并运行了。实验也就结束了。
zynq 7000 的流水灯实验相关推荐
- zynq 7000 SDK下的流水灯实验
zynq 7000 的流水灯实验是最简单的纯PL 的实验, helloworld 是SDK下的最简单实验,但不包括任何PL. 本文是这2者综合下的最简单实验, PS 和 PL 都有的情况下最简单实验. ...
- ZYNQ Z-TURN BOARD 学习笔记1-Ubuntu上的流水灯实验
前言 之前一直都在学习传统的FPGA,学习和使用过Altera的Cyclone系列以及Xilinx的Spartan系列芯片.对于赛灵思的软硬件全面可编程器件ZYNQ很有兴趣,但苦于手头没有zynq的板 ...
- Zedboard学习(三):PL下流水灯实验
zynq系列FPGA分为PS部分和PL部分. PL: 可编程逻辑 (Progarmmable Logic), 就是FPGA部分. PS: 处理系统 (Processing System) , 就是与F ...
- 流水灯c语言实验报告心得,嵌入式流水灯实验心得体会.docx
嵌入式流水灯实验心得体会 嵌入式流水灯实验心得体会 篇一:嵌入式流水灯实验 实验三 GPIO输出控制实验 一. 实验目的 熟悉LPCXX系列ARM7微控制器的GPIO输入控制. 二.实验设备 ? 硬件 ...
- 基于FPGA实现的流水灯实验
版权声明:如需转载,请注明出处 https://blog.csdn.net/chengfengwenalan/article/details/79606351 基于FPGA实现的流水灯实验 一.开发环 ...
- S5PV210 | 裸机汇编LED流水灯实验
S5PV210 | 裸机汇编LED流水灯实验 开发板: 1.原理图 上图中,当按下POWER键后,VDD_5V和VDD_IO会产生5V和3.3V的电压,其中D26无须GPIO控制,为常亮状态,即我们所 ...
- 【连载】【STM32神舟III号实验例程】流水灯实验(实验一)
源代码流水灯实验例程程序(神舟III号).rar
- 单片机led流水灯实验c语言程序,单片机LED流水灯实验及流程图源代码详解
利用实验室提供的单片机实验开发板的最小系统电路模块.流水灯电路模块,以及Protues仿真软件搭建电路,实现I/O口循环流水灯演示效果. LED流水灯控制电路如图2-1所示,八个LED灯D0-D7(可 ...
- 高云FPGA初体验-LED流水灯实验
高云FPGA初体验-流水灯实验 硬件环境 操作步骤 创建工程 添加设计文件 添加约束文件 编译工程 下载运行 资源链接 硬件环境 开发板:高云 DK_START_GW2A55-PG484_V1.3 开 ...
最新文章
- 从各大跨平台技术说开去,我们真的需要虚拟 DOM 吗?
- docker 开启remote api
- 嵌入式linux ext4映像制作工具说明 real210_v62
- 学习方法之01高效学习方程式,你的学习到底是哪里出了问题
- 数字与企鹅的战争,看周红衣的高明之处
- 读取24位ad的值_实践案例丨利用小熊派开发板获取土壤湿度传感器的ADC值
- python locust api_干货 | 基于Locust的接口压测
- 退化射线和净化装置获得法
- mysql全文搜索实现模糊查询_mysql使用全文索引实现大字段的模糊查询
- 懒惰的人有福了——VS代码段编辑器SnippetEditor 可对vs所有代码段进行编辑和创建包括C#\J#\VB.NET等...
- 测试人必会:Python带你上手WebSocket
- Makefile中关于all和.PHONY
- 自助任务平台WQ5.5.6源码对接微信带分类信息线报赏金赚悬赏猫驴赚网版本
- 十天学会单片机Day4串行口通信
- [美] 尼古拉斯·卡尔 《浅薄:互联网如何毒化了我们的大脑 》
- java pmt以及ipmt计算
- matlab归一程序,Matlab三种归一化方法
- aws认证,aws有哪些认证,有什么用
- 拉姆达表达式 追加 条件判断 ExpressionFuncT, bool
- Python爬虫-用迅雷下载电影