The AMD 7 series FPGAs, and UltraScale architecture offer both high-performance (HP) and high-range (HR) I/O banks. I/O banks are collections of I/O blocks (IOBs), with configurable SelectIO™ drivers and receivers, supporting a wide variety of standard interfaces, both single-ended and differential. The HP I/O banks are designed to meet the performance requirements of high-speed memory and other chip-to-chip interfaces with voltages up to 1.8V. The HR I/O banks are designed to support a wider range of I/O standards with voltages up to 3.3V.
Each I/O bank includes programmable control of output strength and slew rate, on-chip termination using digitally-controlled impedance (DCI), and the ability to internally generate a reference voltage (INTERNAL_VREF).
In UltraScale devices, most I/O banks consist of 52 IOBs, although HR I/O mini-banks consist of 26 IOBs. While in 7 series devices, most I/O banks include 50 IOBs, which matches the height of a clock region. The number of I/O banks on the device depends upon the size and the package pinout.
For more information on I/O banks, and the rules related to I/O assignments, refer to 7 Series FPGAs SelectIO Resources User Guide (UG471) and UltraScale Architecture SelectIO Resources User Guide (UG571).
From the figure above, you can see that I/O banks are related to the port netlist object, the package_pin for the device, and the I/O standard being implemented by the I/O block. You can get the io_banks of associated package_pins, ports, clock regions or sites:
get_iobanks -of [get_clock_regions X0Y2]
You can also query the port, clock_region, site, SLR, I/O standard, package_pin, pkgpin_bytegroup, and pkgpin_nibble objects associated with an I/O bank:
get_sites -of [get_iobanks 227]
The properties found on I/O Bank objects are as follows, with example values:
Property Type Read-only Value BANK_TYPE string true BT_HIGH_PERFORMANCE CLASS string true iobank DCI_CASCADE string* false INTERNAL_VREF double false IS_MASTER bool true 0 IS_SLAVE bool true 0 MASTER_BANK string true NAME string true 46 VCCOSENSEMODE string false
The properties of an io_bank can be listed with the following command:
report_property -all [lindex [get_iobanks] 0]