BDF Table - 1.0 English

Versal ACAP DMA and Bridge Subsystem for PCI Express Product Guide (PG344)

Document ID
PG344
Release Date
2022-05-20
Version
1.0 English

Address translations for AXI address is done based on BDF table programming (0x2420 to 0x2434). These BDF table entries can be programmed through the AXI4-Lite Slave CSR interface, s_axil_csr_*. There are 8 windows provided similar to 8 BARs on PCIe bus. Each entry in BDF table programming represents one window. If a user needs 2 windows then 2 entrees needs to be programmed and so on.

There are some restrictions in programming BDF table.

  1. All PCIe slave bridge data transfers must be quiesced before programming the BDF table.
  2. There are six registers for each BDF table entry. All six registers must be programmed to make a valid entry. Even if some registers have 0s, you need to program 0s in those registers.
  3. All the six registers need to be programmed in an order for an entry to be valid. Order is listed below.
    1. 0x2420
    2. 0x2424
    3. 0x2428
    4. 0x242C
    5. 0x2430
    6. 0x2434

BDF table entree start address = 0x2420 + (0x20 * i), where i = table entree number.