
• Memory: Memory BARs can be either 64-bit or 32-bit and can be prefetchable. When a
BAR is set to 64-bits, it uses the next BAR for the extended address space and makes
the next BAR inaccessible.
• Size: The available size range depends on the PCIe device/port type and the type of BAR
selected. The following table lists the available BAR size ranges.
Table 55: SRIOV BAR Size Ranges for Device Configuration
PCIe Device / Port Type
BAR Type
BAR Size Range
PCI Express Endpoint
32-bit Memory
128 bytes – 2 gigabytes
64-bit Memory
128 bytes – 8 exabytes
Legacy PCI Express Endpoint
32-bit Memory
16 bytes – 2 gigabytes
64-bit Memory
16 bytes – 8 exabytes
I/O
16 bytes – 2 gigabytes
• Prefetchable: Identifies the ability of the memory space to be prefetched.
• Value: The value assigned to the BAR based on the current selections.
• Managing SRIOV Base Address Register Settings: Memory, I/O, Type, and Prefetchable
settings are handled by setting the appropriate Customize IP dialog box settings for the
desired base address register.
Memory or I/O settings indicate whether the address space is defined as memory or I/O. The
base address register only responds to commands that access the specified address space.
Generally, memory spaces less than 4 KB in size should be avoided. The minimum I/O space
allowed is 16 bytes. I/O space should be avoided in all new designs.
A memory space is prefetchable if there are no side effects on reads (that is, data is not
destroyed by reading, as from RAM). Byte-write operations can be merged into a single
double-word write, when applicable.
When configuring the core as an Endpoint for PCIe (non-Legacy), 64-bit addressing must be
supported for all SR-IOV BARs (except BAR5) that have the prefetchable bit set. 32-bit
addressing is permitted for all SR-IOV BARs that do not have the prefetchable bit set. The
prefetchable bit related requirement does not apply to a Legacy Endpoint. The minimum
memory address range supported by a BAR is 128 bytes for a PCI Express Endpoint and 16
bytes for a Legacy PCI Express Endpoint.
• Disabling Unused Resources: For best results, disable unused base address registers to
conserve system resources. Disable base address register by deselecting unused BARs in the
Customize IP dialog box.
• Copy PF0: When set, the Copy PF0 option allows you to set all BAR settings of the remaining
PF groups to the same values as PF0 group. Applicable when there are more than one total
Physical Function (PF).
Chapter 5: Design Flow Steps
PG346 (v3.3) November 16, 2022
CPM Mode for PCI Express
209