Vivado中出现Unconstrained Logical Port:的error

[DRC UCIO-1] Unconstrained Logical Port: 5 out of 131 logical ports have no user assigned specific location constraint (LOC). 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 pin locations. This design will fail to generate a bitstream unless all logical ports have a user specified site LOC constraint defined.  To allow bitstream creation with unspecified pin locations (not recommended), use this command: set_property SEVERITY {Warning} [get_drc_checks UCIO-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: xxxxx.
 

在vivado中生成bitstream时出现这种错误是由于管脚没有进行约束正确导致的。

可能原因:

①:没有写约束文件(xxxxxxx.xdc);

②:约束文件中的管脚名和block中管脚名的不一致导致生成bitstream时未正确匹配管脚信息;

 

解决办法:

①:在source中找到constraints并右键点击出现如下界面:

Vivado中出现Unconstrained Logical Port:的error

 

点击add sources:然后选择第一个点击next

Vivado中出现Unconstrained Logical Port:的error

选择创建或者添加一个约束。如果没有当前设计对应的现成的约束文件那就选择创建新的约束文件

Vivado中出现Unconstrained Logical Port:的error

接着对其命名

Vivado中出现Unconstrained Logical Port:的error

 约束文件创建之后回到constraints点开可以找到已创建的约束文件然后写管脚约束信息

写管脚信息首先要根据硬件原理图知道自己所需要的输入输出管脚可以对应在PL端的哪个具体位置(标号)如下图黑色字体

 

Vivado中出现Unconstrained Logical Port:的error

再强调一遍是根据所用硬件的原理图来看自己所需要的引脚。

找到自己需要的管脚后看管脚对应的电平信息

Vivado中出现Unconstrained Logical Port:的error

接着就可以写约束了约束的格式:

set_property -dict {PACKAGE_PIN xxx IOSTANDARD  xxx} [get_ports  xxx]

第一个xxx是管脚对应的名称,第二个xxx是对应的电平,第三个xxx是设计中的管脚名称,也就是设计中要连接在实际芯片引脚的那个管脚名称一般是这个是自己在设计中自己起的。

②第二种方法是图形化的界面比较直观

首先在vivado中的搜索框中输入I/O Ports

Vivado中出现Unconstrained Logical Port:的error

点开之后可以得到如下界面

Vivado中出现Unconstrained Logical Port:的error

找到自己需要约束的管脚进行约束

Vivado中出现Unconstrained Logical Port:的error

设置完成后点击左上角保存或者ctrl+s即可,再进行bitstream生成这个error就没有了。