请选择 进入手机版 | 继续访问电脑版
[X]关闭
0

S01-CH04 VIVADO创建工程之流水灯

摘要: 软件版本:VIVADO2017.4 操作系统:WIN10 64bit硬件平台:适用XILINX 7系列FPGA(包括A7/K7/Z7/ZU/KU等)米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!!4.1 概述 本章课程以大家熟悉的流水 ...

软件版本:VIVADO2017.4

操作系统:WIN10 64bit

硬件平台:适用XILINX 7系列FPGA(包括A7/K7/Z7/ZU/KU等)

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

4.1 概述

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

4.2 硬件原理图

4.3 新建VIVADO工程

Step1:启动VIVADO,单击Create Project

Step2:单击NEXT

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

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

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

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脚约束文件

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 方法三 直接加入已经写好的约束文件

Step3:单击Add Files

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

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

4.7 优化管脚约束文件

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

#bit compress  

set_property CFGBVS VCCO [current_design]

set_property CONFIG_VOLTAGE 3.3 [current_design]

set_property BITSTREAM.GENERAL.COMPRESS true [current_design]

set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design]

set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]

set_property BITSTREAM.CONFIG.SPI_FALL_EDGE Yes [current_design]

4.8 编译并且产生bit文件

Step1:单击综合

Step2:单击执行

Step3:单击产生bit

4.9 下载程序

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

Step2:单击OpenTarget 然后单击Auto Connect

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

Step4:单击Program Device

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

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

Step7:下载过程

4.10 实验结果

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

2

路过

雷人

握手

鲜花

鸡蛋

刚表态过的朋友 (2 人)

本文作者
2019-10-15 10:36
  • 1
    粉丝
  • 2842
    阅读
  • 0
    回复

关注米联客

扫描关注,了解最新资讯

联系人:汤经理
电话:0519-80699907
EMAIL:270682667@qq.com
地址:常州溧阳市天目云谷3号楼北楼201B
热门评论
排行榜