当前位置:   article > 正文

【FPGA】vivado使用(led流水灯实例,附图,详细)_vivado使用教程例子

vivado使用教程例子

整理时间: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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

-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]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

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

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


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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/492244
推荐阅读
相关标签
  

闽ICP备14008679号