第一季】CH07_FPGA_RunLED创建VIVADO工程实验

7.1 硬件图片

先来熟悉一下开发板的硬件:LED部分及按钮部分

7.2 硬件原理图

PIN脚定义(讲解以MIZ702讲解,MIZ701N只有4个LED 2个按钮):

GCLK:Y9(PL输入时钟)

LD0:T22

LD1:T21

LD2:U22

LD3:U21

LD4:V22

LD5:W22

LD6:U19

LD7:U14

BTNU:T18

BTNC:P16

BTNL:N15

BTNR:R18

BTND:R16

7.3新建VIVADO工程

Step1:创建工程

Step2:欢迎界面直接单击NEXT

Step3:工程名字命名为Led,并且设置保存的路径,单击NEXT

Step4:新建一个RTL 工程,并且勾选不要添加源文件,单击NEXT

Step5:由于MIZ702和ZEDBOARD是兼容的,因此直接选择ZEDBOARD硬件开发包作为我们MIZ702的开发包。这样可以省去很多麻烦,达到事半功倍的目的。单击NEXT

Step6:最后单击Finish 完成工程的创建

7.4创建工程文件

Step1:打开VIVADO软件

Step2:单击 Add Sources

Step4:选择单击Add or Create Design Sources 然后单击NEXT

Step5:单击Create File 来创建文件

Step6:创建一个Led的文件,并且文件类型选择Verilog

Step7:添加完成后如下图所示之后单击finish完成文件的创建

Step8:继续弹出的对话空中,可以设置一些端口,但是我们现在什么都不做。单击OK

Step9:创建完成后可以看到Design Sources文件夹中有了Led.v这个文件

Step9:创建完成后可以看到Design Sources文件夹中有了Led.v这个文件,这个文件就是我们可以编写verilog程序的文件。

7.5 Verilog FPGA流水灯实验

Step1:双击Led.v打开流水程序源码如下

`timescale 1ns / 1ps

//

// Company:

// Engineer:

// Create Date: 2016/03/22 15:05:39

// Design Name:

// Module Name: Led

// Project Name:

// Target Devices:

// Tool Versions:

// Description:

// Dependencies:

// Revision:

// Revision 0.01 - File Created

// Additional Comments:

//

module Led(

);

endmodule

可以看出这是一个空的工程,我们现在要添加代码同时也要添加工程信息。

Step2:编写程序并且添加工程信息

// Target Devices: XC7Z020-FGG484

// Tool versions:  VIVADO2015.4

// Description: water led

// Revision:  V1.1

// Additional Comments:

//1) _i PIN input

//2) _o PIN output

//3) _n PIN active low

//4) _dg debug signal

//5) _r  reg delay

//6) _s state machine

//

module Led(

input CLK_i,

input RSTn_i,

output reg [7:0]LED_o

);

reg [31:0]C0;

always @(posedge CLK_i)

if(!RSTn_i)

begin

LED_o <= 8'b0000_0001;

C0 <= 32'h0;

end

else

begin

if(C0 == 32'd50_000_000)

begin

C0 <= 32'h0;

if(LED_o == 8'b1000_0000)

LED_o <= 8'b0000_0001;

else LED_o <= LED_o << 1;

end

else begin C0 <= C0 + 1'b1; LED_o <= LED_o; end

end

endmodule

这样我们就编写好了代码下面还要添加管脚约束文件。

7.6 添加管脚约束文件

Step1:单击(和添加.v文件一样)

Step2:选择Add or create constraints 然后单击NEXT

Step3:单击Create File

Step4:命名为led_pin 后单击OK

Step5:可以看到产生了名为led_pin.adc的文件然后单击Finish

Step6:打开led_pin.adc文件添加如下约束

create_clock -name clk100MHZ -period 10.0 [get_ports {CLK_i}]

set_property PACKAGE_PIN Y9 [get_ports {CLK_i}]

set_property IOSTANDARD LVCMOS33 [get_ports {CLK_i}]

set_property PACKAGE_PIN N15 [get_ports {RSTn_i}]

set_property IOSTANDARD LVCMOS18 [get_ports {RSTn_i}]

set_property PACKAGE_PIN T22 [get_ports {LED_o[0]}]

set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[0]}]

set_property PACKAGE_PIN T21 [get_ports {LED_o[1]}]

set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[1]}]

set_property PACKAGE_PIN U22 [get_ports {LED_o[2]}]

set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[2]}]

set_property PACKAGE_PIN U21 [get_ports {LED_o[3]}]

set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[3]}]

set_property PACKAGE_PIN V22 [get_ports {LED_o[4]}]

set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[4]}]

set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[5]}]

set_property PACKAGE_PIN W22 [get_ports {LED_o[5]}]

set_property PACKAGE_PIN U19 [get_ports {LED_o[6]}]

set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[6]}]

set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[7]}]

set_property PACKAGE_PIN U14 [get_ports {LED_o[7]}]

7.7 编译并且产生bit文件

Step1:单击综合

Step2:单击执行

Step3:单击产生bit

7.8下载程序

Step1:给开发板通电,并且连接下载器

Step2:单击OpenTarget 然后单击Auto Connect

Step3:连接成功后

Step4:单击Program Device

Step5:单击Program Device 然后选择 XC7Z020_1

Step6:或者也可以从顶部单击Program device

Step7:弹出的对话框中有我们要下载的Bit文件

Step7:下载过程

7.9实验结果

下载过程下载完成后LED流水灯就运行起来了。

7.10本章小结

本章详细讲解了如何创建VIVADO工程以及在VIVADO工程环境下编写纯PL代码的程序,并且讲解了如何添加管脚约束,时钟约束,编译程序,下载程序。通过流水灯实现这个简单的实验抛砖引玉,让大家掌握了VIVADO软件的使用。

转载于:https://www.cnblogs.com/milinker/p/6383669.html

【第一季】CH07_FPGA_RunLED创建VIVADO工程实验相关推荐

  1. 使用tcl 创建vivado工程

    使用tcl 创建vivado工程 ubuntu 下vivado 运行tcl脚本 ubuntu 下vivado 运行tcl脚本 vivado -source xxx.tcl #creat_xilinx_ ...

  2. ZYNQ-Linux开发之(五)Vivado工程搭建,设备树修改方法,复旦微电子fmql开发、vivado联合procise、IAR的linux系统开发-保姆级教程-非常详细

    FMQL开发流程 整体开发流程如下: 具体开发流程: Vivado工程搭建 首先根据自己项目的功能需求,结合原理图,明确vivado工程中所需搭建的PS和PL部分的资源. 搭建使用的是vivado20 ...

  3. 达芬奇pro的FPGA学习笔记1--创建vivado工程

    这一阶段的目标是看达芬奇pro的FPGA的学习视频,学习范围主要对FPGA的硬件和软件进行学习. 开发软件版本:vivado 2019.2 开发系统:win11 创建vivado工程 首先打开viva ...

  4. linux 使用ssr客户端_【第一期】基于 @vue/cli3 与 koa 创建 ssr 工程

    什么是基于同构代码的 SSR 服务(Server-side rendering based on isomorphic code) 首先,我们需要先明白什么是 spa (single page app ...

  5. 手把手教你创建第一个Vivado工程

    文章目录 1.打开vivado后点击首页"Create Project" 2.开始创建工程 3.给工程命名并选择工程路径 4.选择创建RTL工程 5.选择芯片类型 6.完成工程创建 ...

  6. VB6.0 ActiveX 控件开发详解 [第一章:创建工程]

    前言 在CSDN的VB论坛上,我总是能够看见有人这样问"有没有这样的控件,一个列表框,每一个项前面有一个按钮"(这是例子),又或者见到这样:"怎么样做一个ActiveX控 ...

  7. Android官方开发文档Training系列课程中文版:构建第一款安卓应用之工程创建

    这节课你将会学到: - 使用Android Studio创建一个工程. - 使用命令行工具创建一个工程. 你也应该阅读: - 安装SDK - 管理工程 安卓项目包含了包括源代码在内的所有文件.Andr ...

  8. Vivado工程配置petalinux实现linux下网卡驱动

    0.说明 基于Vivado工程配置petalinux实现linux下控制PL端GPIO 完成对linux网卡的驱动 实验内容: 完成一个vivado工程,导出硬件信息 创建petalinux工程,导入 ...

  9. Verilog0.2:跑通第一个Vivado工程

    Verilog0.2:跑通第一个Vivado工程 在本文中,你将能学会: 学会基本使用Vivado 学会一些FPGA开发中的基本概念 用VScode代替Vivado写代码 接触到管脚约束及其细节 文章 ...

最新文章

  1. .classpath 和.project文件含义
  2. win10常见问题处理办法
  3. mysql连接报错:The server time zone value ‘Öйú±ê׼ʱ¼ä‘ is unrecognized or represents more than one time
  4. SAP UI5 初学者教程之十三 - 如何添加自定义 CSS 类试读版
  5. MGTemplateEngine 模版发动机简单使用
  6. 选择开源项目什么最重要?
  7. 初探Golang(3)-数据类型
  8. 数学建模 层次分析法
  9. 论文浅尝 - ACL2020 | 用于多媒体事件提取的跨媒体结构化公共空间
  10. 设计师如何了解行业方向?推荐设计师交流平台
  11. (四)为深度伪造预处理数据集
  12. linux r后台执行,screen 命令简单用法 Linux后台执行 就用它
  13. Python计算序列中数字最大差值(美团2016校招笔试题)
  14. EasyAndroid基础集成组件库之:EasyReflect 优雅的反射功能库
  15. 「笔耕不辍」zookeeper集群之间如何通讯
  16. sql insert
  17. vue组件雨滴、星星、流星特效动画(开箱即用)
  18. 使用 python 创建更改 word 文档
  19. [bzoj1812][ioi2005]riv(树上dp)
  20. 微信自主出题,答题小程序开发,微信扫描二维码实现方法,扫二维码出试卷答题的软件!

热门文章

  1. MongoDB数据库备份与恢复
  2. pixhawk篇之坐标系转化,相关转化矩阵知识,算法截取
  3. 记录 之 一个小bug:Unsupported syntax ‘Starred‘
  4. 8086汇编-实验1、2-debug调试命令
  5. 概率论-2.1 随机变量及其分布(重点:右连续的来源)
  6. 《汇编语言》-王爽-实验7
  7. Tortoise SVN使用方法,简易图解
  8. Changing the sharing of a project
  9. Interfacing to kdb+ from Java
  10. CATALINA_BASE与CATALINA_HOME的区别