Preliminary
www.ti.com
Architecture
2. Generate PCIe Base address: Using the Index value identified above, 9, generate base address
from register OBOFFSET9_HI (bits[63:32]) for 64-bit addressing and register OB_OFFSET9
(bits[31:20]). The PCIe Base Address for this example would results with:
3344 5566 56E0 0000h.
3. Compute translated address, PCIe address: Using the generated Base Address and Offset the
PCIe address corresponding to a OCP/Internal address of 9D3A 1234h is
3344 5566 56FA 1234h.
NOTE:
For this example, 2MB size region will allow unique address mapping for Physical
Address values 0000 0000h to 03FF FFFFh. This allows a total of 2MB × 32 = 64MB
unique Physical Address location to be mapped onto a corresponding unique virtual PCIe
address. Any Physical address outside this 64MB space will not be uniquely mapped and
the Physical address will be truncated to fall in within the 64MB space, which happens to
be for this example. In other words, bits[31:26] of the given example Input/Physical
Address is masked and did not contribute to the PCIe Address generation.
For this example, OCP/Internal addresses 9D3A 1234h, 913A 1234h, 953A 1234h,
993A 1234h, etc., are few of other OCP/Internal Physical values that will all map to the
same PCIe address 3344 5566 56FA 1234h.
13.2.3.2 Inbound Address Translations
Incoming error free accepted Transaction Layer Packets (TLP) associated with “Address Routing”
would require the use of the In-bound address translator to map received PCIe address to OCP/Internal
address.
The PCIe Subsystem allows mapping of accepted PCI Express addresses to a Physical device address
internal to the device using the Inbound Address Translation logic. For each Inbound read/write
request, that results with incoming TLP, the address translation module within PCIESS can convert a
PCIe address to OCP (internal/physical) address for Memory or Configuration Read/Write type
transactions.
PCIESS is aware of two OCP Address Spaces (Internal/Physical Memory Spaces) within the device.
The first address space, “Address Space Zero” (also known as region 0), is dedicated for local
application registers, local configuration accesses, remote configuration accesses and remote IO
accesses (RC only). The second, address space, “Address Space One” (also known as region 1), is
dedicated for data transfer. Details on this are captured in following sections.
Address Space Zero occupies a contiguous 16K Bytes of location. The first 4KB of this 16KB Space is
the Configuration Space. “Address Space One” is used for data buffering and is large in size and not
necessarily contiguous. To perform a mapping of a PCIe addresses that would land within Address
Space One, four dedicated Regions, (Regions [0-3]) are available for the use of the Inbound Address
Translator. Note that Outbound translation has 32 regions while Inbound translation has four regions.
This means that any Accepted TLP that has found a match with one of the BARs, BAR[0-5] will be
mapped to one of the two address spaces, Address Space Zero or Address Space One. BAR0 is
dedicated to Address Space Zero and implicit mapping is done and no region association is required.
However BARs[1-5] are dedicated to Address Space One and association with one of the four regions,
Regions[0-3], is required. Note that this is valid in the context of an accepted TLP with 32-bit
Addressing. If 64-bit Addressing is used, then the association of the six BARs with the Address Spaces
change to a total of three since a pair of adjacent BARs concatenated is required to hold the 64-bit
Address. This implies that BAR0 and BAR1 will hold 64-bit Address with BAR0 holding the low 32-bit
PCIe address to match while BAR1 holds the high 32-bit PCIe address to match (associated with
Address Space Zero). The same holds for Address Space One association. BARs[2-3] and BARs[4-5]
will hold the accepted 64-bit address that will be associated to Address Space One where mapping
takes place between the BARs and Regions[0-3].
Address Translation for Address Space Zero does not exist since the internal location is unique and is
contiguous. All is needed is the PCIe Address within the received TLP PCIe address matching BAR0,
for 32-bit addressing, and BARs[0:1] for 64-bit addressing.
1279
SPRUGX9 – 15 April 2011
Peripheral Component Interconnect Express (PCIe)
© 2011, Texas Instruments Incorporated
Содержание TMS320C6A816 Series
Страница 2: ...Preliminary 2 SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 92: ...92 Read This First SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 1122: ...1122 Multichannel Audio Serial Port McASP SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 1562: ...1562 Real Time Clock RTC SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 1658: ...1658 Timers SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 1750: ...1750 UART IrDA CIR Module SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...
Страница 1984: ...1984 Universal Serial Bus USB SPRUGX9 15 April 2011 Submit Documentation Feedback 2011 Texas Instruments Incorporated...