解决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

<myHier/myNet>]'. One net in the loop is sim_pdw_gen/c2_pdw_lenth0.

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设备了。

相关推荐
1314lay_10075 小时前
ABAP 读取服务器的文件 OPEN DATASET,READ DATASET f_filepath INTO l_file.
经验分享·笔记
幻智星科技6 小时前
FPGA不同品牌开发平台约束文件迁移难题解析
fpga开发·架构·硬件架构
杨逢昌工厂6S管理7 小时前
127-钣金产线6S改善后总反弹?杨逢昌一线现场诊断笔记:反弹背后的熵增机理与基准化治理
经验分享·笔记·职场和发展·学习方法
幻智星科技7 小时前
Karatsuba与CSD优化FPGA大数乘法
c++·fpga开发·密码学
迪康Defender8 小时前
端点安全选型观察:一体化平台与传统 EDR 的场景差异
运维·经验分享·安全·自动化·学习方法·远程工作·安全架构
硅基手札9 小时前
SPI技术系列 13 · SPI 调试与排查
linux·运维·stm32·单片机·嵌入式硬件·bug
星夜离尘569 小时前
FPGA 实战:W1C 中断状态寄存器,事件置位与软件清除撞在同一拍怎么办
fpga开发
像枫一样9 小时前
STM32串口轮询收发实战教程
arm开发·c++·stm32·单片机·嵌入式硬件·fpga开发·51单片机
传感器与混合集成电路10 小时前
DLM8676计数控制集成电路DC-DC一体化与RS422隔离接口设计
fpga开发
李永奉11 小时前
杰理可视化SDK开发-【BUG】AC7006F8芯片开启一拖二和双麦通话语音算法后,设置触摸音在唤醒语音助手和通话时触摸音没作用问题
单片机·嵌入式硬件·mcu·物联网·电脑·bug