Hello,
The latest ZedBoard rev D XDC file causes Vivado 2014.1 to fail with the error shown below for any pins that the user is using (LEDS[7:0] in my case):
----------
ERROR: [Drc 23-20] Rule violation (NSTD-1) Unspecified I/O Standard - 8 out of 138 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[7:0].
----------
As far I can tell, the problem is caused by setting the IOSTANDARD based on a filter of IOBANK (like what is described here: http://www.zedboard.org/content/7z020-xdc-file)
My solution has been to manually add assignments of the IOSTANDARD to each pin, i.e.:
set_property PACKAGE_PIN T22 [get_ports {LEDS[0]}]
set_property IOSTANDARD LVCMOS25 [get_ports {LEDS[0]}]
Is there a better fix for this problem?
Thanks