整理时间:2021-03-08

前言:

FPGA型号:XC7Z020-CLG400
vivado版本:2019.1
安装好vivado开发工具,拥有了FPGA开发硬件平台。

本文目录:
1.建立工程
2.添加文件
-2.1 添加.v文件
-2.2 添加约束xdc文件
3. 综合
4. 烧写
-4.1 烧写bit 文件
-4.2 烧写mcs文件

正文:
本文通过一个简单的“流水灯”案例,旨在了解整个开发流程。
步骤如下:
1.建立工程
*
在这里插入图片描述
*
在这里插入图片描述
*
在这里插入图片描述
*
在这里插入图片描述
*
在这里插入图片描述
*
在这里插入图片描述
*
在这里插入图片描述
2.添加文件
-2.1 添加.v文件
添加source design文件(设计文件)
在这里插入图片描述
*
在这里插入图片描述
*
在这里插入图片描述
*
在这里插入图片描述
代码如下:

`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//

module run_led(
	input CLK_i,
	input RSTn_i,
	output [3:0]LED_o
);
reg [3:0]LED_o;
reg [31:0]Cnt;
always @(posedge CLK_i )

if (!RSTn_i)//复位
    begin 
    LED_o<=4'b1;
    end
else
    begin
        if (Cnt==32'd5000_000_000)
            begin
            Cnt<=32'd0;
            if(LED_o==4'b1000)
                begin
                LED_o<=4'b0001;
                end
            else  
                begin  
                LED_o<=LED_o<<1'b1;
                end
            end
        else
            begin
            LED_o<=LED_o;
            end
    end
	
endmodule

-2.2 添加约束xdc文件

上述代码中,对应FPGA硬件6个管脚。具体对应哪个管脚需要在硬件原理图中确认好。
时钟clk管脚
在这里插入图片描述

复位rst_n管脚
随便选择1个复位按键
在这里插入图片描述

led管脚
在这里插入图片描述
*
在这里插入图片描述
*
在这里插入图片描述
*
在这里插入图片描述

约束文件如下:

#vivado管脚约束XDC文件
#FPGA_CLK
set_property PACKAGE_PIN H16 [get_ports CLK_i]
set_property IOSTANDARD LVCMOS33 [get_ports CLK_i]
#rst_n
set_property PACKAGE_PIN T19 [get_ports RSTn_i]
set_property IOSTANDARD LVCMOS33 [get_ports RSTn_i]
#LED_o
set_property PACKAGE_PIN J16 [get_ports {LED_o[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[3]}]
set_property PACKAGE_PIN K16 [get_ports {LED_o[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[2]}]
set_property PACKAGE_PIN G15 [get_ports {LED_o[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[1]}]
set_property PACKAGE_PIN H15 [get_ports {LED_o[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LED_o[0]}]


#set_property CONFIG_MODE <configuration_mode> [current_design]
set_property BITSTREAM.CENERAL.COMPRESS TRUE [current_design]
set_property CFGBVS VCCO [current_design]
set_property CONFIG_VOLTAGE 3.3 [current_design]

3. 综合与实现
综合:
Run Sy

实现:
在这里插入图片描述
一切顺利,结果如下:
在这里插入图片描述
4. 烧写至FPGA硬件
- 4.1 烧写bit 文件
bit 文件用于调试,掉电后丢失。
- 4.2 烧写mcs文件
mcs文件用于固化逻辑,将程序烧写至FPGA的配置flash中,掉电后不会丢失。


THE END~
在这里插入图片描述

【MATLAB-app】系列教程(含视频)00_csdn上第一套关于matlab appdesigner系列“视频课”来啦~~

【图像算法&MATLAB】一文讲明白:图像的直方图均衡化(附作者自编源代码)

【探测器与相机标准】我对图像(图像传感器/相机)“非均匀性”的理解与学习笔记

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐