Base Address Register Support - 4.4 English

UltraScale Devices Gen3 Integrated Block for PCI Express LogiCORE IP Product Guide (PG156)

Document ID
PG156
Release Date
2024-12-06
Version
4.4 English

The PIO design supports four discrete target spaces, each consisting of a 2 KB block of memory represented by a separate Base Address Register (BAR). Using the default parameters, the Vivado IP catalog produces a core configured to work with the PIO design defined in this section, consisting of:

  • One 64-bit addressable Memory Space BAR
  • One 32-bit Addressable Memory Space BAR

You can change the default parameters used by the PIO design; however, in some cases you might need to change the user application depending on your system. See for information about changing the default Vivado Design Suite IP parameters and the effect on the PIO design.

Each of the four 2 KB address spaces represented by the BARs corresponds to one of four 2 KB address regions in the PIO design. Each 2 KB region is implemented using a 2 KB dual-port block RAM. As transactions are received by the core, the core decodes the address and determines which of the four regions is being targeted. The core presents the TLP to the PIO design and asserts the appropriate bits of (BAR ID[2:0]), Completer Request Descriptor[114:112], as defined in the following table.

Table 1. TLP Traffic Types
Block RAM TLP Transaction Type Default BAR BAR ID[2:0]
ep_io_mem I/O TLP transactions Disabled Disabled
ep_mem32 32-bit address Memory TLP transactions 2 000b
ep_mem64 64-bit address Memory TLP transactions 0-1 001b
ep_mem_erom 32-bit address Memory TLP transactions destined for EROM Expansion ROM 110b