vivado生成Bitstream报错[Vivado 12-1345] Error(s) found during DRC. Bitgen not run(Vivado 2017.4)。
写了一个很简单的程序,2-4译码器。
module decoder2to4(
input in1, in0,
output reg [3:0]out
);
always @ (*) begin
if ({in1, in0} == 2'b00)
out = 4'b1111;
else if ({in1, in0} == 2'b01)
out = 4'b1101;
else if ({in1, in0} == 2'b10)
out = 4'b1011;
else if ({in1, in0} == 2'b11)
out = 4'b0111;
else
out = 4'b1111;
end
endmodule
然后报错
[Vivado 12-1345] Error(s) found during DRC. Bitgen not run
[DRC NSTD-1] Unspecified I/O Standard: 6 out of 6 logical ports use I/O standard (IOSTANDARD) value 'DEFAULT', instead of a user assigned specific value.
官方给的解释就是:
The error message is to notify customers that they need to set IOSTANDARD and PACKAGE_PIN, in order to protect devices from accidental damage that could be caused by the tools randomly choosing a pin location or IOSTANDARD without knowledge of the board voltage or connections.
大概意思就是为了硬件安全起见,逻辑端口最好最好不要悬空,都要在XDC文件中作约束,我这的问题就是,我忘记给逻辑端口做约束了,所以我加上之后问题解决。
在大点的项目中,很多逻辑端口可能确实用不到,官方也给出其中一个解决办法,直接忽略报错:写一个后缀为.tcl的文件,然后添加下边内容。
set_property SEVERITY {Warning} [get_drc_checks NSTD-1]
set_property SEVERITY {Warning} [get_drc_checks UCIO-1]
右击Generate Bitstream
,选择Bitstream setting
,然后点击箭头标注的位置,添加上面写的.tcl文件就行。
网上搜到的,不管啥问题,都直接用了忽略报错的这种方法,还是要因实际而论,官方也给出了各种情况和解决办法。
分类:
FPGA / 开发中的一些问题
, FPGA
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端