Vivado编译常见错误合集(一)

引言:本文对Vivado编译时常见的错误或者关键警告做一些梳理汇总,便于日后归纳总结。

1. 普通IO引脚约束为时钟时报错。

原因:Xilinx Vivado开发环境编译HDL时,对时钟信号设置了编译规则,如果时钟由于硬件设计原因分配到了普通IO上,而非_SRCC或者_MRCC专用时钟管脚上时,编译器就会提示错误。

措施:可在XDC引脚约束中添加一条语句:

set_property CLOCK_DEDICATED_ROUTE FALSE get_nets adc_clk
2. Synth 8-1751 cannot index into non-array adc_data。

原因:数据位宽不对,定义数据时定义了一位位宽,实际需要16位位宽。

措施:修改位宽为16位。
3. Synth 8-2715 syntax error near。

原因:此类错误大多是语法问题,如逗号,括号,冒号之类。

措施:根据错误信息提示,定位到错误的行数,仔细查看是否存在上述问题。
4. Synth 8-3352 multi-driven net Q with 2nd driver pin 'GND。

原因:信号被多处驱动,在多个 always 语句块中被赋值。

措施:程序设计应避免此类情况的发生,此时应该考虑重新设计程序。
5. Opt 31-67 Problem: A LUT2 cell in the design is missing a connection on input pin I0, which is used by the LUT equation. This pin has either been left unconnected in the design or the connection was removed due to the trimming of unused logic. The LUT cell name is: logic_0_i_1

原因:某个input没有上层数据的输入。

措施:set_property DONT_TOUCH true get_cells \。
6. Synth 8-3352 multi-driven net count9 with 2nd driver pin 'cnt_reg9/Q'。

原因:在程序设计过程中出现了变量的重复定义。

措施:把重复定义的变量去除即可。
7. Synth 8-1031 cnt is not declared。

原因:信号没有被声明,多出现在中间信号。

措施:给中间信号添加声明,如 reg、wire。
8. The debug port 'u_ila_0/probe4' has 1 unconnected channels (bits). This will cause errors during implementation。

原因:使用ILA时常见的错误,意思是有一些接口没有连接。

措施:检查ILA的例化,1)是不是全部的probe都连到了信号上。

2)每一个probe和连接的信号位宽是否一致,不一致的话也会出现这个错误。
9.Synth 8-2576 procedural assignment to a non-register data is not permitted。

原因:信号没有被声明,多出在输出信号下。

措施:信号在 always 语句块中,被赋值的信号应该添加类型 reg。
10. Common 17-680 Path length exceeds 260-Byte maximum allowed by Windows。

原因:文件路径太长。

措施:缩短工程路径。
11. Synth 8-7023 instance 'u_count' of module 'count' has 7 connections declared, but only 6 given。

原因:信号位宽多余。

措施:给与信号正确的位宽,或不管也可以,Vivado 会自动优化多余的位线。
12. ordered port connections cannot be mixed with named port connections。

原因:语法错误。

措施:例化模块时符号错误,检查 "." 和 "," 有没有多和少,最后例化的参数后面没有 ","。
13. Common 17-39 'open_hw_target' failed due to earlier errors。

原因:无法找到下载链。

措施:查看下载器连接,连接是否牢固,或开发板是否上电。
14. \[DRC BIVC-1 the following port in this bank have conflicting VCCOs: sys_clk (LVCMOS18,requiring VCCO=1.800)。

原因:管脚未做约束。

措施:可以在XDC约束文件中加入时钟约束:set_property IOSTANDARD LVCMOS33 get_ports sys_clk set_property PACKAGE_PIN R4 get_ports sys_clk。
15. Common 17-55 'set_property' expects at least one object。

原因:XDC约束文件中存在一个无用的管脚约束,可能是上个设计遗留或者疏忽造成。

措施:删除该管脚约束即可。
16. Opt 31-67 Problem: A LUT4 cell in the design is missing a connection on input pin l1, which is used by the LUT equatoin. This pin has either been left unconnected in the design or the connection was removed due to the trimming of unused。

原因:存在port没有连接。

措施:error会指出出问题cell的path,去追一下就可以了,一般来说不用追到最底层,在前面几级就能发现有些port没连。

欢迎关注FPGA技术实战公众号,喜欢就多多转发吧!

相关推荐
吉他英雄一里20 小时前
zynq入门教程
fpga开发·zynq
XMAIPC_Robot1 天前
RK3576/RK3588+FPGA+AI数据采集系统:实时性与边缘AI算力兼顾
人工智能·fpga开发·机器人·数据采集·rk3588+fpga·rk3576+fpga
156082072192 天前
JFMRFVU3P5G的bit正常,但烧录mcs程序后加载异常
fpga开发
狂奔蜗牛(bradley)2 天前
把 EtherCAT 初始化从 FPGA 搬到 ARM:命令通道的接口设计与11个坑
arm开发·人工智能·fpga开发·架构
女神下凡3 天前
芯参谋(37):EEPROM_电路设计指南
arm开发·单片机·嵌入式硬件·fpga开发·设计规范
szxinmai主板定制专家4 天前
工业视觉新思路:FPGA图像预处理+RK NPU推理,实现高速缺陷检测
人工智能·嵌入式硬件·fpga开发·rk3576+codesys
FPGA小徐4 天前
【硬件实战】立创 EDA 绘制 TF/SD 卡模块电路|SPI 模式原理图 + 阻抗匹配 + PCB 布局布线全教程
单片机·嵌入式硬件·fpga开发
狂奔蜗牛(bradley)4 天前
EtherCAT DC 分布式时钟同步的 ModelSim 仿真:从帧模板到从站行为建模
人工智能·嵌入式硬件·fpga开发·架构
ALINX技术博客4 天前
8 通道同步采样 ADC!AN706 波形显示实验 【FPGA黑金云课堂】
fpga开发
szxinmai主板定制专家5 天前
RK3568+FPGA+CODESYS异构控制方案:赋能半导体设备与工业自动化升级
人工智能·fpga开发·自动化·rk3576·半导体设备