PKGPIN_BYTEGROUP - 2022.1 English

Vivado Design Suite Properties Reference Guide

Document ID
UG912
Release Date
2022-06-08
Version
2022.1 English

PKGPIN_BYTEGROUP

Figure 2-34:      PKGPIN_BYTEGROUP Objects

X-Ref Target - Figure 2-34

X14878-pkgpin-bytegroup-objects.jpg

Description

For 7 series devices, the hierarchy of I/O banks is divided into two object types: I/O Banks and Package Pins. For Xilinx UltraScale architecture, the I/O bank hierarchy includes two additional divisions: bytegroups and nibbles. The relationships of these objects on an UltraScale device are defined as follows:

An IO_BANK of 52 pins has 4 pkgpin_bytegroups, while a mini IO_BANK of 26 pins has 2 bytegroups.

Each pkgpin_bytegroup has 13 package pins, and has 2 pkgpin_nibbles, an upper and lower.

Each pkgpin_nibble has 6 or 7 pins, and is the upper or lower nibble of the pkgpin_bytegroup.

A package_pin is one pin of an iobank, a pkgpin_bytegroup, or a pkgpin_nibble.

In UltraScale, the bitslice logic connected to I/O banks is grouped into pkgpin_bytegroups and pkgpin_nibbles. These objects aid in the placement of related I/O pins, such as groups of bitslices. For instance, you can use bytegroups and nibbles for I/O pin assignment of memory controllers on UltraScale devices. You can perform interactive I/O planning by opening either the elaborated RTL design or the synthesized design in the Vivado IDE, using the Memory Bank/Byte Planner, which enables automatic or manual assignment of memory I/O pin groups to I/O banks and byte lanes. This process is discussed in detail at this link in the Vivado Design Suite User Guide: I/O and Clock Planning (UG899) [Ref 17].

Related Objects

The PKGPIN_BYTEGROUP and PKGPIN_NIBBLE are related to IO_BANKs, PACKAGE_PINs, and PORTs, as previously described. In addition, each PKGPIN_BYTEGROUP is related to a SITE on the Xilinx device. You can query the PKGPIN_BYTEGROUP of an associated object using a Tcl command like the following:

get_pkgpin_bytegroups -of [get_package_pins AG17]

You can also get the list of package_pin objects assigned to specific pkgpin_bytegroups:

get_package_pins -of [get_pkgpin_bytegroups BANK45_BYTE2]

Properties

The properties found on PKGPIN_BYTEGROUP objects are as follows, with example values:

Property         Type    Read-only  Value

CLASS            string  true       pkgpin_bytegroup

INDEX_IN_IOBANK  int     true       2

IOBANK           int     true       45

NAME             string  true       BANK45_BYTE2

The properties of the bytegroup objects can be listed with the following command:

report_property -all [lindex [get_pkgpin_bytegroups] 0]