跟着实验指导书,难得的又遇到问题了,在最后生成Bitstream的时候出错了,无法生成Bitstream。

报错信息如下

1
2
3
[DRC NSTD-1] Unspecified I/O Standard: 4 out of 134 logical ports use I/O standard (IOSTANDARD) value 'DEFAULT', instead of a user assigned specific value. This may cause I/O contention or incompatibility with the board power or connectivity affecting performance, signal integrity or in extreme cases cause damage to the device or the components to which it is connected. To correct this violation, specify all I/O standards. This design will fail to generate a bitstream unless all logical ports have a user specified I/O standard value defined. To allow bitstream creation with unspecified I/O standard values (not recommended), use this command: set_property SEVERITY {Warning} [get_drc_checks NSTD-1].  NOTE: When using the Vivado Runs infrastructure (e.g. launch_runs Tcl command), add this command to a .tcl file and add that file as a pre-hook for write_bitstream step for the implementation run. Problem ports: LEDs_out_0[3:0].

[DRC UCIO-1] Unconstrained Logical Port: 4 out of 134 logical ports have no user assigned specific location constraint (LOC). ... Problem ports: LEDs_out_0[3:0].

在我绝望的时候在网上搜到了解决方法,问题还是出在了XDC文件上

我是直接复制的实验指导书中的XDC文件中的内容,但是在生成ked_controller这个ip核的port的时候,生成的port的名字和实验中的并不一样。

xdc文件内容如下:

1
2
3
4
5
6
7
8
set_property PACKAGE_PIN M14            [get_ports {LEDs_out[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LEDs_out[0]}]
set_property PACKAGE_PIN M15 [get_ports {LEDs_out[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LEDs_out[1]}]
set_property PACKAGE_PIN G14 [get_ports {LEDs_out[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LEDs_out[2]}]
set_property PACKAGE_PIN D18 [get_ports {LEDs_out[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {LEDs_out[3]}]

注意下我的DRC报错信息就会发现一个重要的信息

1
Problem ports: LEDs_out_0[3:0].

这报错的port似乎有点不对劲,和约束文件中声明的port不一样,这也是为什么报错说LEDs_out_0这个port unspecified的原因,因为你XDC中声明的是LEDs_out啊。

解决方法很简单,把这个port的名字改了就好,更改方法如图。