Xilinx FPGA——Vivado生成bit文件时需要添加的约束,Xilinx FPGA编程,Vivado生成bit文件时的约束要点,Xilinx FPGA编程,Vivado生成bit文件时的约束要点详解

马肤

温馨提示:这篇文章已超过469天没有更新,请注意相关的内容是否还可用!

摘要:,,关于Xilinx FPGA使用Vivado工具生成bit文件时的约束要点,主要包括:需要熟悉FPGA的特性和资源,以便合理分配硬件资源并设置正确的约束条件;在编程过程中,要遵循正确的流程,包括设计输入、综合、实现和生成bit文件等步骤;生成bit文件时,应注意约束文件的编写,包括时钟、输入输出、内存等参数的设置,以确保生成的bit文件符合设计要求并能在FPGA上正确运行。

在使用Xilinx FPGA进行Vivado设计时,生成bit文件时添加约束是必要的步骤,这些约束涉及设计配置、引脚分配、时钟频率等参数,确保设计正确实现并满足性能要求,通过添加约束,可以优化FPGA资源利用,提高设计效率,确保最终生成的bit文件符合项目需求,在Vivado生成bit文件过程中,合理添加约束是确保FPGA设计成功的关键因素。

配置模式概述

在Vivado设计过程中,生成的bit流文件需要通过特定的配置引脚导入到FPGA中,不同的配置模式决定了不同的配置方式,可选的配置模式包括Master SPI x1/x2/x4、Master Serial、Slave Serial、Master BPI-Up x8/x16、Slave SelectMap x8/x16/x32、JTAG/Boundary Scan以及Master SelectMap x8/16等。

配置数据存储在FPGA的CMOS锁存器中,每次掉电后数据都会丢失,上电之后会重新配置,若选择片外存储器如SPI Flash存储配置数据,并设置相应的配置模式,上电后可自动配置FPGA。

UG470和UG570详细介绍了7系列和UltraScale系列的配置方法,本文主要介绍在Vivado中的设置方法,每种配置模式都有一些相关的接口管脚,这些管脚可能分布在不同的I/O bank中,Bank0中有一些专用管脚用于所有的配置模式;UltraScale的Bank65、7系列的Bank14和Bank15包含了各种配置模式的专用管脚。

纯FPGA和ZYNQ的配置方式

纯FPGA的配置是通过外部FLASH加载的,而ZYNQ的FLASH加载不是通过FPGA,而是通过ARM,某些配置模式如QSPI X1 X4只适用于纯FPGA,ZYNQ一般只配置压缩和电压。

若FPGA选择生成bit文件为QSPI X4的,在批量烧写完FLASH之后再贴装的情况下,需要工厂烧录器设置为x4的烧写模式,否则,贴装之后FPGA可能无法正常工作。

Xilinx FPGA——Vivado生成bit文件时需要添加的约束,Xilinx FPGA编程,Vivado生成bit文件时的约束要点,Xilinx FPGA编程,Vivado生成bit文件时的约束要点详解 第1张

三、如何在Vivado下设置BITSTREAM配置信息

对于纯FPGA情况:

1、打开综合后或实现后的设计。

Xilinx FPGA——Vivado生成bit文件时需要添加的约束,Xilinx FPGA编程,Vivado生成bit文件时的约束要点,Xilinx FPGA编程,Vivado生成bit文件时的约束要点详解 第2张

2、依次点击Tools -> Edit Device Properties进入设置界面。

3、选择压缩bit流以提高固化速度。

4、选择合适的固化速率,并适当设置高一些。

Xilinx FPGA——Vivado生成bit文件时需要添加的约束,Xilinx FPGA编程,Vivado生成bit文件时的约束要点,Xilinx FPGA编程,Vivado生成bit文件时的约束要点详解 第3张

5、设置SPI的bus width,因为使用的是QSPI,所以这里要设置为4。

6、选择编程模式,因为将程序固化到flash中,以后上电自动从flash读取程序,所以勾选相应的选项,JTAG是一直且默认勾选的。

7、在约束文件中插入特定的代码片段来设置CFGBVS、CONFIG_VOLTAGE等相关参数。

Xilinx FPGA——Vivado生成bit文件时需要添加的约束,Xilinx FPGA编程,Vivado生成bit文件时的约束要点,Xilinx FPGA编程,Vivado生成bit文件时的约束要点详解 第4张

对于ZYNQ情况:

如果是ZYNQ的FPGA,由于ZYNQ的FLASH加载是通过ARM进行的,所以设置相对简单,只需在Edit Device Properties界面中选择压缩bit流(可选),并设置BITSTREAM.GENERAL.COMPRESS true [current_design]即可。

代码各式说明

1、CFGBVS参数:当CFGBVS连接至Bank 0的VCCO时,需确保Bank 0的VCCO为2.5V或3.3V,若使用Bank 14或15的I/O进行配置,也需确保这些Bank的VCCO为相应的电压值。

Xilinx FPGA——Vivado生成bit文件时需要添加的约束,Xilinx FPGA编程,Vivado生成bit文件时的约束要点,Xilinx FPGA编程,Vivado生成bit文件时的约束要点详解 第5张

2、CONFIG_VOLTAGE:设置为对应的配置电压,此处为3.3V。

3、BITSTREAM.GENERAL.COMPRESS:用于压缩BIT文件。

4、BITSTREAM.CONFIG.CONFIGRATE等参数:仅适用于纯FPGA的配置,对于ZYNQ不支持。

Xilinx FPGA——Vivado生成bit文件时需要添加的约束,Xilinx FPGA编程,Vivado生成bit文件时的约束要点,Xilinx FPGA编程,Vivado生成bit文件时的约束要点详解 第6张

本文详细介绍了在Xilinx FPGA的Vivado设计中如何设置bit文件的配置模式及相关的约束设置,合理地设置这些约束可以确保FPGA设计的成功实现并优化资源利用。


0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码