流水灯实验是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 的流水灯实验相关推荐

  1. zynq 7000 SDK下的流水灯实验

    zynq 7000 的流水灯实验是最简单的纯PL 的实验, helloworld 是SDK下的最简单实验,但不包括任何PL. 本文是这2者综合下的最简单实验, PS 和 PL 都有的情况下最简单实验. ...

  2. ZYNQ Z-TURN BOARD 学习笔记1-Ubuntu上的流水灯实验

    前言 之前一直都在学习传统的FPGA,学习和使用过Altera的Cyclone系列以及Xilinx的Spartan系列芯片.对于赛灵思的软硬件全面可编程器件ZYNQ很有兴趣,但苦于手头没有zynq的板 ...

  3. Zedboard学习(三):PL下流水灯实验

    zynq系列FPGA分为PS部分和PL部分. PL: 可编程逻辑 (Progarmmable Logic), 就是FPGA部分. PS: 处理系统 (Processing System) , 就是与F ...

  4. 流水灯c语言实验报告心得,嵌入式流水灯实验心得体会.docx

    嵌入式流水灯实验心得体会 嵌入式流水灯实验心得体会 篇一:嵌入式流水灯实验 实验三 GPIO输出控制实验 一. 实验目的 熟悉LPCXX系列ARM7微控制器的GPIO输入控制. 二.实验设备 ? 硬件 ...

  5. 基于FPGA实现的流水灯实验

    版权声明:如需转载,请注明出处 https://blog.csdn.net/chengfengwenalan/article/details/79606351 基于FPGA实现的流水灯实验 一.开发环 ...

  6. S5PV210 | 裸机汇编LED流水灯实验

    S5PV210 | 裸机汇编LED流水灯实验 开发板: 1.原理图 上图中,当按下POWER键后,VDD_5V和VDD_IO会产生5V和3.3V的电压,其中D26无须GPIO控制,为常亮状态,即我们所 ...

  7. 【连载】【STM32神舟III号实验例程】流水灯实验(实验一)

    源代码流水灯实验例程程序(神舟III号).rar

  8. 单片机led流水灯实验c语言程序,单片机LED流水灯实验及流程图源代码详解

    利用实验室提供的单片机实验开发板的最小系统电路模块.流水灯电路模块,以及Protues仿真软件搭建电路,实现I/O口循环流水灯演示效果. LED流水灯控制电路如图2-1所示,八个LED灯D0-D7(可 ...

  9. 高云FPGA初体验-LED流水灯实验

    高云FPGA初体验-流水灯实验 硬件环境 操作步骤 创建工程 添加设计文件 添加约束文件 编译工程 下载运行 资源链接 硬件环境 开发板:高云 DK_START_GW2A55-PG484_V1.3 开 ...

最新文章

  1. 从各大跨平台技术说开去,我们真的需要虚拟 DOM 吗?
  2. docker 开启remote api
  3. 嵌入式linux ext4映像制作工具说明 real210_v62
  4. 学习方法之01高效学习方程式,你的学习到底是哪里出了问题
  5. 数字与企鹅的战争,看周红衣的高明之处
  6. 读取24位ad的值_实践案例丨利用小熊派开发板获取土壤湿度传感器的ADC值
  7. python locust api_干货 | 基于Locust的接口压测
  8. 退化射线和净化装置获得法
  9. mysql全文搜索实现模糊查询_mysql使用全文索引实现大字段的模糊查询
  10. 懒惰的人有福了——VS代码段编辑器SnippetEditor 可对vs所有代码段进行编辑和创建包括C#\J#\VB.NET等...
  11. 测试人必会:Python带你上手WebSocket
  12. Makefile中关于all和.PHONY
  13. 自助任务平台WQ5.5.6源码对接微信带分类信息线报赏金赚悬赏猫驴赚网版本
  14. 十天学会单片机Day4串行口通信
  15. [美] 尼古拉斯·卡尔 《浅薄:互联网如何毒化了我们的大脑 》
  16. java pmt以及ipmt计算
  17. matlab归一程序,Matlab三种归一化方法
  18. aws认证,aws有哪些认证,有什么用
  19. 拉姆达表达式 追加 条件判断 ExpressionFuncT, bool
  20. Python爬虫-用迅雷下载电影

热门文章

  1. 小白入门IT不知道改选哪门技术?Java是你的不二之选
  2. 服务机器人“大战”进入下半场,竞争焦点变了
  3. PulseSensor开发文档(二)动态阈值算法获取心率值
  4. 记一个rabbitmq启动失败解决方案
  5. 智能驾驶之技术概念综述
  6. 微信小程序敏感词过滤
  7. AVA设计模式初探之组合模式
  8. Unity 性能优化(力荐)
  9. 基于Docker的Hadoop完全分布式安装
  10. java布尔矩阵程序_Java编程实现邻接矩阵表示稠密图代码示例