IO_BANK - 2024.1 English

Vivado Design Suite Properties Reference Guide (UG912)

Document ID
UG912
Release Date
2024-05-30
Version
2024.1 English

Description

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).

Related Objects

Figure 1. IO_BANK Objects

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]

Properties

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]