解决VIvado编程中遇到的bug 4

解决VIvado编程中遇到的bug 4

语言 :Verilg HDL

EDA工具: Vivado、modelsim

一、引言

此系列博客专门发表 博主在开发过程中遇到的各种bug,以及bug的思路分析以及解决方法,帮助诸君在开发过程中遇到类似的问题能迅速找到解决思路和方法。

二、问题、分析及解决方法
1. 需要利用XADC的模拟输入通道,对部分的输入电压进行监控,在例化XADC模块时,发生报错
(1)错误

Place 30-372\] Bank 35 has terminals with incompatible standards: Incompatible Pair of IO Standards: (OUT of IO Standard LVCMOS33) \& (IN of IO Standard LVCMOS18) have incompatible Vccs The following terminals correspond to these IO Standards: SioStd: LVCMOS33 VCCO = 3.3 Termination: 0 TermDir: Out Bank: 35 Drv: 12 Placed : Term: Z7_CHAOUT_JLQHKG Term: Z7_FSQH_KG Term: Z7_JZFS_GDKG Term: Z7_JZGDKG Term: Z7_JZJS_GDKG Term: Z7_JZ_ask Term: Z7_JZ_bpsk Term: Z7_NWJZ_QHKG SioStd: LVCMOS18 VCCO = 1.8 Termination: 0 TermDir: In Bank: 35 Placed : Term: vauxn0 Term: vauxn1 Term: vauxn2 Term: vauxn3 Term: vauxn4 Term: vauxn5 Term: vauxn9 Term: vauxp0 Term: vauxp1 Term: vauxp2 Term: vauxp3 Term: vauxp4 Term: vauxp5 Term: and vauxp9

(2)分析

1、错误的核心是LVCMOS33标准通常使用3.3V的电源电压,而LVCMOS18标准通常使用1.8V的电源电压。当一个输出端口使用3.3V的电压而一个输入端口使用1.8V的电压时,如果这两个端口直接相连,就可能导致电压不匹配的问题,因为输入端口可能无法承受3.3V的电压

2、后面查到是因为xadc管脚被占用,导致编译一直报错,xadc脚是专用管脚,硬件上被占用,程序上被例化,结果编译报错

(3)解决办法

将程序上例化的管脚去掉,像如果这种xadc专用管脚,最后单独留出来。不然忘记的话,就会导致管脚冲突。

2、vivado在固化 fpga发生报错
(1)错误

Writecfgmem 68-20\] SPI_BUSWIDTH property is set to "1" on bitfile F:/ethernet_test/udp_loopback1/udp_loopback1.runs/impl_1/top.bit. This property has to be set to "4" to generate a configuration memory file for the SPIX4 interface. Please ensure that a valid value has been set for the property BITSTREAM.Config.SPI_buswidth and rerun this command.

(2)分析

这个错误信息是在使用Vivado工具生成FPGA配置文件时遇到的。错误指出SPI_BUSWIDTH属性被设置为"1",但是为了生成适用于SPIX4接口的配置内存文件,这个属性需要被设置为"4"。

(3)解决办法

有两种解决办法:

1、在生成mcs文件时候,选择SPI X1,就可以使用SPI X1的模式生成MCS固化文件。

2、将BITSTREAM.Config.SPI_buswidth的值从"1"改为"4"。完成属性修改后,重新生成BIT流文件。 具体步骤可以参考我的上一篇博客,有详细的vivado设置步骤。关于FPGA 使用SPI FLASH固化时如何配置固化参数

SPIX4接口通常指的是一个四线SPI接口,包括数据线(通常为MOSI和MISO)和时钟线(SCLK),以及一个片选线(CS)。将SPI_BUSWIDTH设置为"4"意味着配置文件将支持这种四线SPI接口

3、vivado编译时报错
(1)错误

DRC LUTLP-1\] Combinatorial Loop Alert: 1 LUT cells form a combinatorial loop. This can create a race condition. Timing analysis may not be accurate. The preferred resolution is to modify the design to remove combinatorial logic loops. If the loop is known and understood, this DRC can be bypassed by acknowledging the condition and setting the following XDC constraint on any one of the nets in the loop: 'set_property ALLOW_COMBINATORIAL_LOOPS TRUE \[get_nets \\]'. One net in the loop is sim_pdw_gen/c2_pdw_lenth\[0\]. Please evaluate your design. The cells in the loop are: sim_pdw_gen/c2_pdw_lenth_inferred_i_16.

(2)分析

这个错误信息是Vivado工具在设计规则检查(DRC)过程中发现的一个问题,具体是关于组合逻辑环(Combinatorial Loop)的警告。警告表明设计中存在一个组合逻辑环,这可能导致竞争条件(race condition)。由于存在组合逻辑环,时序分析可能不准确。推荐解决方案是修改设计以移除组合逻辑环

(3)解决办法

1、检查设计,确定组合逻辑环的确切位置和原因。修改设计以消除组合逻辑环。

2、这个报错我在抓ila信号的时候遇到过一次,这个时候我的解决办法是把抓取的信号打了一拍 ,再进行抓取

4、vivado编译时报错

(1)错误

Place 30-640\] Place Check : This design requires more BUFG and BUFGCTRL cells than are available in the target device. This design requires 35 of such cell types but only 32 compatible sites are available in the target device. Please analyze your synthesis results and constraints to ensure the design is mapped to Xilinx primitives as expected. If so, please consider targeting a larger device

.##### (2)分析

这个错误信息是在使用Vivado工具进行FPGA设计布局时遇到的。错误指出设计需要的BUFG(全局缓冲器)和BUFGCTRL(可控全局缓冲器)单元数量超过了目标设备所能提供的数量。

(3)解决办法

这个报错是BUFG资源超了,解决办法只能是修改设计或者修改功能,节省BUFG的使用,BUFG的资源绝对不能滥用,要合理使用,如果还是资源不够的话,就只能考虑更换资源更多的FPGA设备了。

相关推荐
搬砖的小码农_Sky12 分钟前
FPGA:如何提高RTL编码能力?
fpga开发·硬件架构
晶台光耦12 分钟前
高速光耦在通信行业的应用(五) | 5Mbps通信光耦的特性
fpga开发
梓仁沐白6 小时前
Verilog HDL 语言整理
fpga开发
FPGA_ADDA9 小时前
基于PXIE 总线架构的Kintex UltraScale 系列FPGA 高性能数据预处理板卡
fpga开发·pxie总线·ku060·ku115
独行soc13 小时前
2025年渗透测试面试题总结-阿里云[实习]阿里云安全-安全工程师(题目+回答)
linux·经验分享·安全·阿里云·面试·职场和发展·云计算
草莓熊Lotso14 小时前
【C语言字符函数和字符串函数(一)】--字符分类函数,字符转换函数,strlen,strcpy,strcat函数的使用和模拟实现
c语言·开发语言·经验分享·笔记·其他
_Jyuan_15 小时前
尼康VR镜头防抖模式NORMAL和ACTIVE的区别(私人笔记)
经验分享·笔记·数码相机·相机
搬砖的小码农_Sky18 小时前
FPGA:Lattice的FPGA产品线以及器件选型建议
嵌入式硬件·fpga开发·硬件架构·硬件工程
超能力MAX20 小时前
ZYNQ-AXI4 DDR读写测试
fpga开发
oneDay++21 小时前
# IntelliJ IDEA企业版集成AI插件「通义灵码」全流程详解:从安装到实战
java·经验分享·学习·intellij-idea·学习方法