软件版本:VIVADO2017.4

操作系统:WIN10 64bit

硬件平台:适用米联客 ZYNQ系列开发板

米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!!

4.1 概述

本章课程以大家熟悉的流水灯为例子,详细讲解了VIVADO软件的使用,包括创建FPGA工程,编写Verilog代码,添加管脚约束,最后编译,下载bit文件到开发板测试。对于初学XILINX FPGA的读者请注意,bit文件断电后就丢失了。如果实现上电能够启动程序,需要把BIT文件打包成bin或者MCS文件才可以。如果打包,固化到FLASH,在后面的章节中我们再说。

4.2 硬件原理图

此图对应的是MZXA和MZ7XB开发板,其他开发板应阅读配套的硬件手册或者原理图查看pin脚。

4.3 新建VIVADO工程

Step1:启动VIVADO,单击Create Project

Step2:单击NEXT

Step3:创建名为Miz_sys的工程到对应的文件目录,文件路径自定义,不能有中文或非法字符,之后单击NEXT

Step4:选择RTL Project并且勾选复选框,之后单击NEXT

Step5:选择芯片的型号和封装速度等级:

MZ7XA-7010、MZ7XA-mini7010如下图所示设置

MZ7XA-7020、MZ7XB如下图所示设置

Step:6 单击Finish完成工程创建。

4.4 添加工程文件

Step1:打开VIVADO软件

Step2:单击 Add Sources

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

Step4:单击Create File 来创建文件

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

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

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

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

4.5 Verilog FPGA流水灯实验

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

`timescale 1ns / 1ps

//

// Company:

// Engineer:

//

// Create Date: 2018/04/30 21:36:36

// Design Name:

// Module Name: run_led

// Project Name:

// Target Devices:

// Tool Versions:

// Description:

//

// Dependencies:

//

// Revision:

// Revision 0.01 - File Created

// Additional Comments:

//

//

module run_led(

);

endmodule

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

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

`timescale 1ns / 1ps

//

// Company:

// Engineer:

//

// Create Date: 2018/04/30 21:36:36

// Design Name:

// Module Name: run_led

// Project Name:

// Target Devices: XC7Z020-CLG400-2

// Tool Versions: Vivadio2017.4

// Description: water led

// Revision:  V1.1

// Dependencies:

//

// Revision:

// Revision 0.01 - File Created

// 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 run_led(

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

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

4.6 添加管脚约束文件

管脚约束文件,即.xdc文件,一般情况,生成后会放在Miz_sys.srcs\constrs_1文件夹中,这里的“Miz_sys”对应的是创建工程的名称。添加管脚约束有三种方法,分别是手动新建XDC PIN脚约束文件、直接加入已经写好的约束文件、综合后添加管脚约束,用户根据实际情况选择其中一种方法,可以提高工作效率。

4.6.1 方法一 手动新建XDC PIN脚约束文件

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

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

Step3:点击Create File,创建一个新的.xdc文件。

Step4:打开提供例程,复制约束文件中的管脚约束,下图是打开配套的例子的工程截图。

下图是你创建的工程,新建的XDC文件,把上图配套例子的PIN脚约束,粘贴到新建工程中的xdc文件。

Step5:保存,XDC文件生成完成。

4.6.2 方法二 综合后,添加管脚约束

Step1:综合工程。

Step2:打开 Open Synthesized Design。

Step3:管脚配置。

点击I/O Ports,在Find Results 中进行管脚配置(图a)。Package Pin对应FPGA中的管脚,I/O Std对应电平标准(图b)。例如要配置RSTn_i信号连接到T19管脚,电平标准是LVCMOS33,在Package Pin中选择管脚P1,I/O Std选择LVCMOS33。其他管脚也做相应配置(图c)。

图a

图b

图c

Step4:保存,给XDC文件命名,生成.XDC文件,并保存到Miz_sys\Miz_sys.srcs\constrs_1。Constrs_1文件夹是自己创建的

Step5.XDC文件生成结束

4.6.3 方法三 直接加入已经写好的约束文件

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

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

Step3:单击Add Files

Step5:将要添加的.xdc文件添加进来,然后点击OK。

注意:提供例程的.xdc文件放在.srcsàconstrs_1文件夹中。

Step6:点击Finish完成约束文件的添加

4.7 优化管脚约束文件

对于ZYNQ FPGA为了减少bit文件大小,提高加载速度,在管脚约束文件中添加如下代码:

#bit compress

set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]

set_property CFGBVS VCCO [current_design]

set_property CONFIG_VOLTAGE 3.3 [current_design]

4.8 编译并且产生bit文件

Step1:单击综合

Step2:单击执行

Step3:单击产生bit

4.9 下载程序

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

Step2:单击OpenTarget 然后单击Auto Connect

Step3:连接成功后如下图所示:

MZ7XA-7010、MZ7XA-mini7010如下图所示:

MZ7XA-7020、MZ7XB如下图所示:

Step4:单击Program Device

Step5:单击Program Device(也可以从顶部单击Program device), 然后选择 XC7Z010_1或XC7Z020。

或者

MZ7XA-7010、MZ7XA-mini7010:

MZ7XA-7020、MZ7XB:

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

Step7:下载过程

4.10 实验结果

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

米联客 ZYNQ/SOC精品教程 S01-CH04 VIVADO创建工程之流水灯相关推荐

  1. 米联客 ZYNQ/SOC精品教程 S01-CH05 FPGA程序的固化和下载

    软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! ...

  2. 基于zynq的千兆网udp项目_米联客 ZYNQ/SOC 精品教程 S05-CH05 PS 千兆 UDP 加速

    软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! ...

  3. 米联客 ZYNQ/SOC精品教程 S02-CH13 CAN总线通信实验

    软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! ...

  4. fast角点检测 java_米联客 ZYNQ/SOC 精品教程 S04-CH11 快速角点检测之硬件实现

    软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! ...

  5. 米联客 ZYNQ/SOC 精品教程 S02-CH15 AXI_Lite 总线详解

    软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! ...

  6. 米联客 ZYNQ/SOC 精品教程 S02-CH24 利用AXI VDMA 实现MT9V034摄像头采集

    软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! ...

  7. 米联客 ZYNQ/SOC精品教程 S01-CH06 FPGA按钮去抖实验

    软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! ...

  8. 米联客 ZYNQ/SOC 精品教程 S02-CH25 利用OSD实现双目摄像头字幕叠加

    软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! ...

  9. 米联客 ZYNQ/SOC精品教程 S01-CH07 FPGA多路分频器实验

    软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! ...

最新文章

  1. Ubuntu 打开文件 (使用nautilus )
  2. 全方面了解和学习PHP框架 PHP培训教程
  3. 第十二天Python学习记录
  4. 蓝桥杯基础模块1:LED跑马灯
  5. 知识图谱入门视频(四)
  6. phpcmsV9 邮箱注册:邮箱验证(不改代码、含演示截图) - 配置篇
  7. 树莓派的使用(一、安装系统)
  8. html 显示原始文本,Json显示为HTML文本 - 不是原始格式
  9. 12款优秀jQuery Ajax分页插件和教程
  10. 会畅通讯登陆创业板上市,CEO黄元庚说云视频是下一个万亿级市场
  11. RocketMQ安装使用
  12. 网络协议:传输层(http://java-mzd.iteye.com/blog/1007577)
  13. python课程第三周小结_python周报第三周
  14. python中unique函数_Pandas Series.unique()用法介绍
  15. 【关于四足机器人那些事】足端轨迹规划-复合摆线轨迹
  16. 2017男宝宝起名大全来了,快来给你的孩子挑个好名字吧
  17. python plc fx5u_FX5U系列三菱PLC型号选型一览表
  18. ML与Docker:《Deploy Machine Learning Pipeline on the cloud using Docker Container使用Docker容器在云端部署机器学习管道
  19. 三极管工作原理--我见过最通俗讲法
  20. 情人节买什么礼物比较好呢?最实用的情人节礼物分享

热门文章

  1. 数据库控制文件中的SCN详解
  2. htonl、htons头文件
  3. 离散数学-一阶逻辑等值式与置换规则
  4. PS2手柄遥控Arduino小车
  5. 代码大全2 --- 33章 个人性格
  6. 春季出游,学会这些功能,让你旅途更舒心
  7. 我今年大一,自学编程可行吗?
  8. 特征函数篇2——与概率密度的函数
  9. 笑傲江湖之精忠报国,终于做完了
  10. C51 以PWM实现呼吸灯