XMC-6VLX
USER’S MANUAL
Acromag, Inc. Tel: 248-295-0310
- 16 - http://www.acromag.com
- 16 -
www.acromag.com
PCIe CONFIGURATION ADDRESS SPACE
This board is a PCI Express Base Specification Revision v2.0 compliant PCIe
bus board.
The PCI bus is defined to address three distinct address spaces: I/O,
memory, and configuration space. This board can be accessed via the PCIe
bus memory, and configuration spaces.
The card’s configuration registers are initialized by system software at
power-up to configure the card. The board is a Plug-and-Play PCIe card. As
a Plug-and-Play card the board’s base address and system interrupt request
are not selected via jumpers but are assigned by system software upon
power-up via the configuration registers. A PCIe bus configuration access is
used to read/write the PCIe card’s configuration registers.
When the computer is first powered-up, the computer’s system
configuration software scans the PCIe bus to determine what PCIe devices
are present. The software also determines the configuration requirements
of the PCIe card.
The system software accesses the configuration registers to determine how
many blocks of memory space the module requires. It then programs the
board’s configuration registers with the unique memory base address.
Since this board is relocatable and not fixed in address space, its device
driver must use the mapping information stored in the board’s
Configuration Space registers to determine where the board is mapped in
memory space.
The configuration registers are also used to indicate that the board requires
an interrupt request. The system software then programs the configuration
registers with the interrupt request assigned to the board.
CONFIGURATION REGISTERS
The PCIe specification requires software driven initialization and
configuration via the Configuration Address space. This board provides 512
bytes of configuration registers for this purpose. It contains the
configuration registers, shown in Table 3.1, to facilitate Plug-and-Play
compatibility.
The Configuration Registers are accessed via the Configuration Address and
Data Ports. The most important Configuration Registers are the Base
Address Registers and the Interrupt Register which must be read to
determine the base address assigned to the board and the interrupt request
that goes active on a board interrupt request.