When generating a bitstream, the following error messages occur:
ERROR: [Drc 23-20] Rule violation (NSTD-1) Unspecified I/O Standard - 3 out of 3 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 set_property SEVERITY {Warning} [get_drc_checks NSTD-1]. Problem ports: clk, din, dout.
ERROR: [Drc 23-20] Rule violation (UCIO-1) Unconstrained Logical Port - 3 out of 3 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 set_property SEVERITY {Warning} [get_drc_checks UCIO-1]. Problem ports: clk, din, dout.
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.
For example:
The default I/O standard for the 7 Series is LVCMOS18 for single-ended signals for all banks. The default I/O standard was LVCMOS25 in previous architectures.
Below are possible solutions to these errors.
1. (Recommended) Add IOSTANDARD and PACKAGE_PIN constraints for all I/Os in the design.
2. If you do not care about those unconstrained I/Os, you use one of below solutions.
set_property SEVERITY {Warning} [get_drc_checks NSTD-1]
set_property SEVERITY {Warning} [get_drc_checks UCIO-1]
set_property SEVERITY {Warning} [get_drc_checks NSTD-1]
set_property SEVERITY {Warning} [get_drc_checks UCIO-1]
Add the following command to your script before the "launch_runs -to_step write_bitstream" command.
set_property STEPS.WRITE_BITSTREAM.TCL.PRE {<path_and_file_name>.tcl} [get_runs impl_1]
set_property SEVERITY {Warning} [get_drc_checks NSTD-1]
set_property SEVERITY {Warning} [get_drc_checks UCIO-1]
set_property BITSTREAM.General.UnconstrainedPins {Allow} [current_design]
set_property SEVERITY {Warning} [get_drc_checks NSTD-1]
set_property SEVERITY {Warning} [get_drc_checks UCIO-1]
write_bitstream <path_and_file_name>.bit
set_property BITSTREAM.General.UnconstrainedPins {Allow} [current_design]
write_bitstream <path_and_file_name>.bit
Note:
1) In GUI project mode, when you receive these errors in bitstream generation, running the set_property commands mentioned above in the Tcl Console and then re-running "Generate Bitstream" only will NOT resolve the errors.
This is because the properties do not get applied into the Implementation run that had already completed. When you re-run "Generate Bitstream" this Implementation run will be loaded and only the properties stored in it will be used.
2) In some cases these DRC errors are caused by tool issues. Below are two examples where those DRC errors were caused by tool issues.
(Xilinx Answer 63125) | 2014.3 Partial Reconfiguration - Design getting DRC error on missing LOC in the 2nd configuration |
(Xilinx Answer 59742) | Vivado Implementation - Incremental flow causes "Error: [Drc 23-20] Rule violation (UCIO-1)" |
Answer Number | Answer Title | Version Found | Version Resolved |
---|---|---|---|
51818 | 7 Series XADC - Vivado 2012.3 "ERROR: [Place 30-372] Bank XX has locked terminals with incompatible standards due to Auxiliary inputs" | N/A | N/A |