赞
踩
整理时间: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. 综合与实现
综合:
实现:
一切顺利,结果如下:
4. 烧写至FPGA硬件
- 4.1 烧写bit 文件
bit 文件用于调试,掉电后丢失。
- 4.2 烧写mcs文件
mcs文件用于固化逻辑,将程序烧写至FPGA的配置flash中,掉电后不会丢失。
THE END~
【MATLAB-app】系列教程(含视频)00_csdn上第一套关于matlab appdesigner系列“视频课”来啦~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。