Integrated Device Technology, Inc. reserves the right to make changes to its products or specifications at any time, without notice, in order to improve design or performance
and to supply the best possible product. IDT does not assume any responsibility for use of any circuitry described other than the circuitry embodied in an IDT product. The
Company makes no representations that circuitry described herein is free from patent infringement or other rights of third parties which may result from its use. No license is
granted by implication or otherwise under any patent, patent rights or other rights, of Integrated Device Technology, Inc.
GENERAL DISCLAIMER
Code examples provided by IDT are for illustrative purposes only and should not be relied upon for developing applications. Any use of the code examples below is completely
at your own risk. IDT MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE NONINFRINGEMENT, QUALITY, SAFETY OR SUITA BIL IT Y
OF THE CODE, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. FURTHER, IDT MAKES NO REPRESENTATIONS OR WARRANTIES AS TO THE TRUTH, ACCURACY OR COMPLETENESS
OF ANY STATEMENTS, INFORMATION OR MATERIALS CONCERNING CODE EXAMPLES CONTAINED IN ANY IDT PUBLICATION OR PUBLIC DISCLOSURE OR
THAT IS CONTAINED ON ANY IDT INTERNET SITE. IN NO EVENT WILL IDT BE LIABLE FOR ANY DIRECT, CONSEQUENTIAL, INCIDENTAL, INDIRECT, PUNITIVE OR
SPECIAL DAMAGES, HOWEVER THEY MAY ARISE, AND EVEN IF IDT HAS BEEN PREVIOUSLY ADVISED ABOUT THE POSSIBILITY OF SUCH DAMAGES. The code
examples also may be subject to United States export control laws and may be subject to the export or import laws of other countries and it is your responsibility to comply with
any applicable laws or regulations.
Integrated Device Technology's products are not authorized for use as critical components in life support devices or systems unless a specific written agreement pertaining to
such intended use is executed between the manufacturer and an officer of IDT.
1. Life support devices or systems are devices or systems which (a) are intended for surgical implant into the body or (b) support or sustain life and whose failure to perform,
when properly used in accordance with instructions for use provided in the labeling, can be reasonably expected to result in a significant injury to the user.
2. A critical component is any components of a life support device or system whose failure to perform can be reasonably expected to cause the failure of the life support device
or system, or to affect its safety or effectiveness.
IDT, the IDT logo, and Integrated Device Technology are trademarks or registered trademarks of Integrated Device Technology, Inc.
The Tsi384 PCIe-to-PCI Bridge User Manual discusses the features, capabilities, and configuration
requirements for the Tsi384.
Document Conventions
15
This document uses the following conventions.
Non-differential Signal Notation
Non-differential signals are either active-low or active-high. An active-low signal has an active state of
logic 0 (or the lower voltage level), and is denoted by a lowercase “n”. An active-high signal has an
active state of logic 1 (or the higher voltage level), and is not denoted by a special character. The
following table illustrates the non-differential signal naming convention.
StateSingle-line signalMulti-line signal
Active lowNAMEnNAMEn[3]
Active highNAMENAME[3]
Differential Signal Notation
Differential signals consist of pairs of complement positive and negative signals that are measured at
the same time to determine a signal’s active or inactive state (they are denoted by “_p” and “_n”,
respectively). The following table illustrates the differential signal naming convention.
StateSingle-line signalMulti-line signal
InactiveNAME_p = 0
ActiveNAME_p = 1
Integrated Device Technology
www.idt.com
NAME_n = 1
NAME_n = 0
NAME_p[3] = 0
NAME_n[3] =1
NAME_p[3] is 1
NAME_n[3] is 0
Tsi384 User Manual
May 5, 2014
Page 16
About this Document16
Tip
Object Size Notation
•A byte is an 8-bit object.
•A word is a 16-bit object.
•A doubleword (Dword) is a 32-bit object.
Numeric Notation
•Hexadecimal numbers are denoted by the prefix 0x (for example, 0x04).
•Binary numbers are denoted by the prefix 0b (for example, 0b010).
•Registers that have multiple iterations are denoted by {x..y} in their names; where x is first register
and address, and y is the last register and address. For example, REG{0..1} indicates there are two
versions of the register at different addresses: REG0 and REG1.
Symbols
This symbol indicates a basic design concept or information considered helpful.
This symbol indicates important configuration information or suggestions.
This symbol indicates procedures or operating levels that may result in misuse or damage to
the device.
Document Status Information
•Advance – Contains information that is subject to change, and is available once prototypes are
released to customers.
•Preliminary – Contains information about a product that is near production-ready , and is revised as
required.
•Formal – Contains information about a final, customer-ready product, and is available once the
product is released to production.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 17
About this Document17
Revision History
May 5, 2014, Formal
•Changed the 00110 setting to 112 from 102 for UPST_PWR_THRES in the “Upstream Post ed
Write Threshold Register”
•Updated step 3 in “Initialization”
•Added footnote H to Table 51: AC Specifications for PCI/X Interface
August 2009, Formal
This version of the document does not include any technical changes.
May 2009, Formal
•Added additional information about the TEST_BCE signal (see Table 5)
•Added missing register offset, 0x010, to the register map (Table 42)
•Revised the description of the CSR_SEL_400 bit in the “PCI Miscellaneous Clock Straps
Register”
•Changed the minimum value of the T
parameter for PCI 66 MHz to 2 ns (see Table 51)
OV1
July 2008, Formal
•Removed reference to PCIE_REXT pin because it is not applicable to the Tsi384
•Changed the Pin Type definition of various signals (see “Signal Descriptions”)
•Added Design Recommendations for Tsi384’s signals (see “Signal Descriptions”). This
information previously resided in the Tsi384 Board Design Guidelines.
•Corrected the description of the JTAG_TDO signal. Previously it indicated that the signal should
be pulled low if unused. The correct description for this signal if unused is to leave it unconnected
(see “JTAG Interface Signals”).
•Updated the “PCIe and SerDes Control and Status Registers”
•Added a new section that discusses “PCIe Programmable Transmit and Receive Equalization”
February 2008, Formal
•Added a note that explains how the EEPROM Controller handles an EEPROM byte count value
that is programmed to a non-multiple of 6 (see “System Diagram”)
•Revised the description of the “Opaque Memory Lower Register”
•Added bits 18–20 to the “PCIe Link Capabilities Register”
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 18
About this Document18
October 2007, Formal
•Revised the description of the PWRUP_EN_ARB signal (see “Power-up Signals”)
•Corrected the name of the PCI_PCIXCAP_PU signal that was used in several figures in “PCI/X
Clocking”. This signal was previously incorrectly named S_PCIXCAP_PU.
•Added power and current characteristics (see “Power Characteristics”)
July 2007, Preliminary
•Added error handling tables for PCIe and PCI/X (see “Error Handling Tables”)
•Updated the power supply sequencing information to indicate that the Tsi384 does not have any
specific sequencing constraints (see “Power Supply Sequencing”)
•Redefined two SerDes registers (see “PCIe Debug and Pattern Generator Control Register” and
“PCIe Pattern Matcher Control and Error Register”)
April 2007, Preliminary
•Updated the description of PCI/X bus arbitration (see “PCI/X Arbitration Scheme”)
•Added a cautionary note on how to use an EEPROM with the Tsi384 (see “System Diagram”)
•Updated the description of how JTAG can provide access to the Tsi384’s registers (see “JTAG
Register Access”)
•Added a new bit, PCI_MISC_CLK_STRAPS[CSR_SEL_400], to allow configuration of the PLL
clock (see “PCI Miscellaneous Clock Straps Register”)
•Added electrical and packaging information. This information used to reside in the
Tsi384 Hardware Manual, whic h is now an obsolete document.
December 2006, Preliminary
This version includes numerous minor changes.
October 2006, Advance
This version includes numerous minor changes.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 19
1. Functional Overview
Topics discussed include the following:
•“Overview”
•“Features”
•“Device Architecture”
•“Typical Applications”
1.1Overview
The IDT T s i384 is a high-performance bus bridge that connects the PC I Expr ess (PCIe) protocol to the
PCI and PCI-X bus standards (see Figure 1).
The Tsi384’s PCIe Interface is a superior performance, configurable port that supports 1, 2, or 4 lanes.
This enables the bridge to offer exceptional throughput performance of up to 1 GBps per transmit and
receive direction. The device’s PCI/X Interface can operate up to 133 MHz in PCI-X mode, or up to
66 MHz in PCI mode. This interface offers designers extensive flexibility by supporting three types of
addressing modes: transparent, opaque, and non-transparent.
19
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 20
Figure 1: Tsi384 Block Diagram
PCI/X
Arbiter
Error
Handling
Interrupt
Handling
Clocking/
Reset
EEPROM
Controller
Power
Mgmt
JTAG
PCI/X Interface
PCIe Interface (x4)
80E1000_BK001_01 (Tsi384)
Posted
Writer
Buffer
Posted
Queue
Mux Logic
Non-
Posted
Buffer
NonPosted
Queue
DownstreamDownstream
UpstreamUpstream
Posted
Writer
Buffer
Posted
Queue
Mux Logic
Non-
Posted
Buffer
NonPosted
Queue
Config
Registers
1. Functional Overview20
1.2Features
The Tsi384’s key features are listed in the following sub-sections.
1.2.1General Features
Tsi384 User Manual
May 5, 2014
•Forward bridge, PCIe to PCI/X
•Single store and forward for optimal latency performance
•Supports three modes of addressing:
— Transparent: For eff icient, flow-through configurations
— Opaque: For multi-processor configurations and enhanced private device suppo rt
— Non-transparent: For address remapping of the PCIe and the PCI/PCI-X domains
•Compliant to the following specifications:
— PCI Express Base Specification (Revision 1.1)
— PCI Express-to-PCI/PCI-X Bridge Specification (Revision 1.0)
— PCI-to-PCI Bridge Specification (Revision 1.2)
Integrated Device Technology
www.idt.com
Page 21
1. Functional Overview21
— PCI Local Bus Specification (Revision 3.0)
— PCI-X Addendum to PCI Local Bus Specification (Revision 2.0) (mode 1 only)
— PCI Bus Power Management Interface Specification (Revision 1.2)
•3.3V PCI/X I/Os
•Support for four external PCI/X bus masters through an integrated arbiter
•Support for external PCI/X bus arbiter
•Support for Masquerade mode (can overwrite vendor and device ID from EEPROM)
•JTAG IEEE 1149.1, 1149.6
•Support for D0, D3 hot, D3 cold power management states
•Packaged in 17 x 17 mm, 256-pin PBGA
1.2.2PCIe Features
•1, 2, or 4 lanes
•512-byte maximum payload
•Advanced error reporting capability
•Lane reversal and lane polarity inversion
•End-to-end CRC (ECRC) check and generation
•Up to four outstanding memory reads
•Four, 128-byte read completion buffers
•ASPM L0s link state power management
•Legacy interrupt signaling
•Hot plug support
1.2.3PCI-X Features
•32/64-bit addressing
•32/64-bit data bus
•50-, 66-, 100-, and 133-MHz operation
•Up to eight outstanding memory reads
•4-KB read completion buffer
1.2.4PCI Features
•32/64-bit addressing
•32/64-bit data bus
•25-, 33-, 50-, and 66-MHz operation
•Up to eight outstanding read requests
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 22
•4-KB read completion buffer
Rx PHY
SERDES
Configuration Registers
Data Link Layer
2K Repl ay buff ers
PC Ie P ri ma ry In t er f ac e
PCI /X Interface (Secondary Interface)
Tar get int erface
4
K
(
8
e
n
t
r
y
)
u
p
s
t
r
e
a
m
p
o
s
t
e
d
w
r
it
e
b
u
f
f
e
r
s
Mast er i nte rf ac e
T ransac ti on Layer
Tx P H Y
SERDES
Dat a Link Layer
Tr ansac ti on Layer
orderin g
Order ing
A ddres s dec odin g
PC I / X
Arbiter
JTA G
EEPROM
CLK/
Reset
U
p
s
t
r
e
a
m
R
e
a
d
R
e
q
u
e
s
t
q
u
e
u
e
Read
state
c ache
5
1
2
b
y
t
e
(
8
e
n
t
r
y
)
d
o
w
n
s
t
r
e
a
m
p
o
s
t
e
d
w
r
it
e
b
u
f
f
e
r
s
5
1
2
b
y
t
e
(
4
e
n
t
r
y
)
d
o
w
n
s
t
r
e
a
m
r
e
a
d
c
o
m
p
l
e
t
i
o
n
b
u
f
f
e
r
D
o
w
n
s
t
r
e
a
m
R
e
a
d
R
e
q
u
e
s
t
q
u
e
u
e
Read
state
cache
A ddress dec odi ng
F low control
ACK/noACK
Con fig w ri tes & r ead RequestConfig r eads
PC I - X
4
K
(
8
e
n
t
r
y
)
u
p
s
t
r
e
a
m
r
e
a
d
c
o
m
p
l
e
t
i
o
n
b
u
f
f
e
r
•Short-term caching support
1.3Device Architecture
A high-level, architectural diagram of the Tsi384 is displayed in Figure 2. For more information about
data flow through the device, see “Upstream Data Path” and “Downstream Data Path”.
Figure 2: Tsi384 Device Architecture
1. Functional Overview22
Packets received on the PCIe Interface are processed by the data link layer and transaction layer, if
applicable. If a packet is destined for the transaction layer, its address is decoded and forwarded to the
appropriate destination:
•Configuration register
•Downstream posted write buffer
•Downstream read request queue
•Downstream read completion buffer
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 23
1. Functional Overview23
PCI/X data that is destined for the PCIe fabric are subject to PCIe ordering rules. Data is pulled from
the appropriate queue:
•Configuration register
•Upstream posted write buffer
•Upstream read request queue
•Upstream read completion buffer
PCI/X transactions that are decoded for the PCIe address space are forwarded to the appropriate queue:
•Upstream read request queue
•Upstream posted write buffer
PCI-X read completion (Tsi384 is target), from a split transaction, are also decoded and sent to the
downstream read completion buffer.
Transactions destined for downstream devices on the PCI/X bus, are subject to PCI/X ordering rules.
Data is pulled form the appropriate queue:
•Downstream posted write buffer
•Downstream read request queue
PCI-X read completion (Tsi384 is master), from a split transaction, are also ordered and pulled from
the upstream read completion buffer.
PCIe is a serialized protocol at the physical layer, and a packetized protocol at the data link layer. Each
PCIe lane operates at 2.5 Gb symbol rate, or at 2.0 Gb data rate; the difference is a result of the 8/10b
coding process. The Tsi384 uses the following processes to ensure the accurate and timely delivery of
data through the data link layer:
•Credit-based flow control – Prevents data loss and congestion
•ACK/noACK protocol and End-to-End CRC (ECRC) – Ensures reliable data delivery if bit errors
occur
•Replay buffer – Replays packets that are not acknowledged by the receiver (NAK)
In contrast, PCI/X is a parallel data interface at the physical layer. PCI is a non-packetized protocol.
When a bus master starts a read or a write transaction, it indicates only the starting transaction address
to the target, and not the size of the read or write. PCI-X is a also a parallel bus at the physical layer , but
is more accommodating to packetized data flow. For example, the length of a read or write transaction
is defined during the attribute phase on the PCI-X bus.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 24
1. Functional Overview24
In the case of a PCI/X write, which is initiated on the PCI/X Interface and is destined for the root
complex, the data is written into an upstream posted write buffer in the Tsi384. The end of the write
transaction is signaled by the master on the PCI/X bus. Once the write is completed the data can be
forwarded to the PCIe Interface. If the posted write buffer is about to overflow, the Tsi384 indicates a
retry/disconnect on the PCI bus. In the case of a PCI-X transaction, the Tsi384 disconnect on an
allowable disconnect boundary (ADB). Once the posted write buffer empties, the Tsi384 can accept
additional write transactions. The Tsi384 will split write transactions as required to meet PCIe
constraints: to prevent a write crossing a 4-KB boundary; if byte enables are used throughout the
transaction; or if the quantity of data exceeds the maximum payload size (see MAX_SIZE in “PCIe
Device Capabilities Register”). The upstream posted write buffer is managed as a simple FIFO.
A read initiated on the PCI bus that is decoded for an upstream target is handled as a delayed
transaction by the Tsi384. The bridge latches the read transaction and attempts to reserve buffer space
in its upstream read completion buffer. If space is successfully reserved in the buffer, the Tsi384
initiates a read on the PCIe Interface. When the read data is returned from the root comple x, it is store d
in the upstream read completion buffer. PCI-initiated reads, however, do not define the amount of data
to read. Once the master on the PCI bus retries the read transaction, the transaction is checked to
determine if the read data is returned. If it has the read data, the Tsi384 responds as the target and
transfers the read data to the PCI bus. Note the upstream read completion buffer is not a simple FIFO,
as the order that masters on the PCI bus retry is not deterministic. If the complet io n buffer becomes
empty prior to the transaction completing, the Tsi384 disconnects from the PCI bus. When the read
transaction is completed, the Tsi384 discards any prefetched data that is not used and frees up the
buffer.
A read initiated on the PCI-X bus that is decoded for an upstream target is handled as a split transaction
by the Tsi384. The bridge latches the read transaction and attempts to reserve buffer space in the
upstream read completion buffer . If space was successfully reserved in the buf fer, the T si384 initiates a
read on the PCIe Interface for the specified amount of data. When the read data is returned from the
root complex, it is stored in the upstream read completion buffer. When the Tsi384 has received
sufficient read data, the Tsi384 transfers the data to the target on the PCI-X bus.
The 512-byte data blocks in the upstream read completion buffer may be destined to different devices
on the PCI-X bus, and therefore, in different streams. A round-robin algorithm determin es which
stream is sent first. If the upstream read completion buffer is empty before the transaction completes,
the Tsi384 disconnects from the PCI-X bus on an ADB. The Tsi384 splits PCI-X read transactions as
required to meet PCIe constraints: to prevent a read crossing a 4-KB boundary; or if the quantity of
data exceeds MAX_RD_SIZE in the “PCIe Device Control and Status Register”.
A write initiated on the PCIe Interface with the target on the downstream PCI/X bus is written into the
downstream posted write buffer. The Tsi384 acts as the master for the transaction and arbitr ate s for the
PCI/X bus and initiates the write transaction. The downstream posted write buffer is managed as a
FIFO. There will always be space available in the buffer to accept packet data because of the flow
control method used by the PCIe data link layer. If the downstream posted write buffer is about to
overflow , the upstream device will be informed of this by its lack of credits and will not send any more
write data to the Tsi384.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 25
1. Functional Overview25
4
A read initiated on the PCIe Interface with the target on the downstream PCI/X bus is written into the
downstream read request queue. The downstream read request queue is managed with flow control
credits to prevent overflowing. The T si384 latches the read transaction and attempts to reserve space in
the downstream read completion buffer. If space is successfully reserved in the buffer, the Tsi384 acts
as the master for the transaction and initiates a read transaction on the PCI/X bus. The read request
queue is managed using a round-robin algorithm. In the case of PCI-X, the target may respond with a
split response, which causes the Tsi384 to become the target for the read completion.
Programmable address decoders instruct the Tsi384 which transactions on the PCI/X bus to forward
upstream, and which transactions on the PCIe link to forward downstream.
1.4Typical Applications
This section illustrates some typical applications for the Tsi384.
Figure 3: Motherboard Application — PC, Server, SBC, Industrial PC
DRAM
PCIe
Endpoints
Processor
Block
x4x4
Tsi384
PCI-X
Tsi384
Tsi38
Device
Tsi384
PCIe
Switch
PCIe
Endpoints
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 26
Figure 4: External Storage Application
PCI-X 133 MHz
PCI-X 133 MHz
PCIe x4
Tsi384
GbE/FC
Controller
GbE/FC
Controller
PCI 66 MHz
PCI 66 MHz
PCIe x4
Tsi384
SCSI
Controller
SCSI
Controller
IOP
DRAM
1. Functional Overview26
PCI-X
to SATA
iSCSI
GbE
with
TOE
Integrated
CPU
x4x4
Tsi384
PCI-X
to SATA
Figure 5: Server Add-in Cards for Networking and Storage
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 27
2. Signal Descriptions
Topics discussed include the following:
•“Overview”
•“PCIe Interface Signals”
•“PCI/X Interface Signals”
•“EEPROM Interface Signals”
•“JTAG Interface Signals”
•“Power-up Signals”
•“Power Supply Signals”
2.1Overview
27
Signals are classified according to the types defined in the following table.
3.3 In PU3.3V CMOS input with 265K (+/- 45K) pull-up resistor
3.3 Out3.3V CMOS output
PCI/X BidirPCI/X bi-directional
PCI/X Bidir ODPCI/X bi-directional open-drain
PCI/X InPCI/X input
PCI/X OutPCI/X output
PCI/X ODPCI/X output open-drain
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 28
Table 1: Pin Types (Continued)
Pin TypeDefinition
PCIE Diff OutPCIe differential output
PCIE Diff InPCIe differential input
2.2PCIe Interface Signals
Table 2: PCIe Interface Signals
NamePin TypeDescriptionDesign Recommendation
2. Signal Descriptions28
PCIE_PERSTn3.3 InMaster reset in:
0 = Tsi384 in reset
1 = Tsi384 in normal mode
PCIE_TXD_n[3:0]
PCIE_TXD_p[3:0]
PCIE_RXD_n[3:0]
PCIE_RXD_p[3:0]
PCIE_REFCLK_n
PCIE_REFCLK_p
PCIE_LANE_VALIDn[3
:0]
PCIE Diff OutTransmit Data. These differential pair
signals send PCIe 8b/10b encoded
symbols and an embedded clock to the
link partner.
PCIE Diff InReceive Data. These differential pair
signals receive PCIe 8b/10b encoded
symbols and an embedded clock from
the link partner.
PCIE Diff InReference Clock. 100-MHz differential
reference clock.
3.3 outPCIe Lane Valid:
0 = Lane valid
1 = Lane invalid
Direct connect to the PERST# signal.
DC blocking capacitors must be placed
in the link between the transmitter and
the receiver. Place a 0603 or 0402
0.075uF to 0.1uF ceramic capacitor on
each TXD_n, TXD_p signal.
DC blocking capacitors must be placed
in the link between the transmitter and
the receiver; however, the DC blocking
capacitors are normally placed near the
transmitter. When designing an add-in
card, capacitors are not required on this
link. When designing a system board,
the DC blocking capacitors should be
placed near the transmitter.
Refer to the Tsi384 Board Design Guidelines.
When connecting to LEDs, connect the
cathode on PCIE_LANE_VALIDn and
the anode to 3.3V.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 29
2. Signal Descriptions29
2.3PCI/X Interface Signals
Table 3: PCI/X Interface Signals
NamePin TypeDescriptionDesign Recommendation
PCI_ACK64nPCI/X BidirAcknowledge 64-bit Transaction. The
bus target asserts this signal to indicate
it wants to participate in a 64-bit
transaction.
PCI_AD[63:0]PCI/X BidirAddress/Data Bus. These multiplexed
signals provide a 32/64-bit address and
64-bit data bus.
PCI_CBEn[7:0]PCI/X BidirCommand/Byte Enables. These
multiplexed signals indicate the current
transaction type.
PCI_CLKPCI/X InPCI Input Clock. This signal provides
timing for the Tsi384, either from an
external clock or from one of the
PCI_CLKO[4:0] signals (see
“Clocking”).
PCI_CLKO[4:0]PCI/X OutPCI Output Clock. PCI_CLKO[3:0] are
for driving four devices, and
PCI_CLKO[4] can feed back to
PCI_CLK to compensate for PCB track
length (see “Clocking”).
PCI_DEVSELnPCI/X BidirDevice Select. A target device asserts
this signal when it decodes its address
on the bus. The master samples the
signal at the beginning of a transaction,
and the target rescinds it at the end of
the transaction.
Pull up (8.2K) to 3.3V.
Pull up (8.2K) to 3.3V on
PCI_AD[63:32].
Pull up (8.2K) to 3.3V on
PCI_CBE[7:4].
None.
Point-to-point connection to PCI/X
device. IDT recommends a 33 Ohm
series termination resistor.
Pull up (8.2K) to 3.3V.
a
a
a
a
PCI_FRAMEnPCI/X BidirFrame. The current initiator drives this
signal to indicate the start and duration
of a transaction, and the bus target
samples it. The bus master rescinds the
signal at the end of the transaction.
Integrated Device Technology
www.idt.com
Pull up (8.2K) to 3.3V.
Tsi384 User Manual
a
May 5, 2014
Page 30
Table 3: PCI/X Interface Signals (Continued)
NamePin TypeDescriptionDesign Recommendation
2. Signal Descriptions30
PCI_GNTn[3:0]PCI/X Bidir /
PCI/X Out
PCI_INTDnPCI/X InInterrupt D. Pull up (2.4K) to 3.3V.
PCI_INTCnPCI/X InInterrupt C. Pull up (2.4K) to 3.3V.
PCI_INTBnPCI/X InInterrupt B. Pull up (2.4K) to 3.3V.
PCI_INTAnPCI/X InInterrupt A. Pull up (2.4K) to 3.3V.
PCI_IRDYnPCI/X BidirInitiator Ready. The bus master asserts
Bus Grant. The Tsi384 uses these
multifunction signals to grant access to
the PCI/X bus; however, they are used
differently depending on whether or not
the Tsi384 PCI/X arbiter is used. If the
arbiter is used, then PCI_GNTn[3:0] are
outputs used by the Tsi384 to grant
access to the bus (see “PCI/X
Arbitration”).
If an external arbiter is used,
PCI_GNTn[0] is an input that is driven
by the arbiter to grant the Tsi384 access
to the bus. The remaining pins,
PCI_GNTn[3:1], remain as outputs.
The input/output mode is controlled by
the PWRUP_EN_ARB pin (see
“Power-up Signals”).
this signal to indicate it is ready to
complete the current transaction.
PCI_GNTn[3:0] outputs connect directly
to the PCI device’s PCI_GNTn inputs.
Pull ups are not required on unused
outputs.
Pull up (8.2K) to 3.3V.
PCI_M66ENPCI/X In66-MHz Enable. This signal enables the
PCI Interface for 66-MHz operation.
0 = 33-MHz operation
1 = 66-MHz operation
This signal is ignored in PCI-X mode.
PCI_M66EN must be stable and valid
around the rising edge of
PCIE_PERSTn (see “Reset”).
PCI_PARPCI/X BidirParity. This signal carries even parity
across PCI_AD[31:0] and
PCI_CBEn[3:0]. The bus master
asserts this signal for the address and
write data phases. The bus target
asserts it for read data phases.
Tsi384 User Manual
May 5, 2014
Em
bedded designs
Pull down for 33 MHz and slower
operation. Pull up for greater than
33-MHz operation.
Bused designs using PCI/X slots for
add- in cards
Place a pull-up resistor (~5K to 10K) on
M66EN and route the signal from slot to
slot.
No pull-up or pull-down resistor is
required.
b
Integrated Device Technology
www.idt.com
Page 31
2. Signal Descriptions31
Table 3: PCI/X Interface Signals (Continued)
NamePin TypeDescriptionDesign Recommendation
PCI_PAR64PCI/X BidirParity for 64-bit Transaction. This signal
serves the same purpose as PCI_PAR,
but is associated with PCI_AD[63:32]
and PCI_CBEn[7:4].
PCI_PCIXCAPPCI/X InPCI-X capability. This signal determines
the PCI-X operating frequency (see
“PCI/X Clocking”).
PCI_PCIXCAP_PUPCI/X BidirPCI-X capability pull-up (see “PCI/X
Clocking”).
PCI_PERRnPCI/X BidirParity Error. This signal indicates a
parity error occurred during the current
data phase. The bus target that
receives the data asserts this signal.
PCI_PMEnPCI/X InPower Management Event. This signal
indicates a power management event
occurred (see “Power Management”).
Pull-up (8.2K) to 3.3V.
Embedde
d designs
a
For PCI mode, connect to ground.
For PCI-X mode at 66 MHz, pull down
with a 10K resistor and pull up with 56K
resistor.
For PCI-X mode at 133 MHz, pull up
with 56K.
Bused designs using PCI-X slots for
add- in cards
Pull up to 3.3V with a 56K resistor and
route the signal from slot to slot.
Couple resistively to PCI_PCIXCAP
using a 1K resistor.
Pull up (8.2K) to 3.3V.
Pull up (8.2K) to 3.3V.
a
a
PCI_REQn[3:0]PCI/X In
PCI/X Bidir
Bus Request. These signals are used to
request access to the PCI/X bus. They
are used differently, however,
depending on whether or not the Tsi384
PCI/X arbiter is used. If the PCI/X
arbiter is used, then PCI_REQn[3:0] are
inputs used by external masters to
request access to the bus.
If an external arbiter is used,
PCI_REQn[0] is an output used by the
Tsi384 to request access to the bus,
while PCI_REQn[3:1] should be pulled
high, as they are still inputs.
The input/output mode is controlled by
the PWRUP_EN_ARB pin (see
“Power-up Signals”).
PCI_REQ64nPCI/X BidirRequest 64-bit Transfer. The bus
master asserts this signal to indicate it
wants to perform a 64-bit transaction.
The bus master rescinds this signal at
the end of the transaction.
Integrated Device Technology
www.idt.com
Pull up (8.2K) to 3.3V.
Pull up (8.2K) to 3.3V.
Tsi384 User Manual
a
May 5, 2014
Page 32
Table 3: PCI/X Interface Signals (Continued)
NamePin TypeDescriptionDesign Recommendation
2. Signal Descriptions32
PCI_RSTnPCI/X OutPCI/X reset: This signal resets all
devices on the PCI/X bus.
PCI_SEL100PCI/X InSelect 100-MHz frequency. This signal
selects the PCI/X operating frequency
(see Ta bl e 29 ).
PCI_SERRnPCI/X Bidir ODSystem Error. This signal indicates an
address or attribute phase parity error
occurred.
PCI_STOPnPCI/X BidirStop. A bus target asserts this signal to
indicate it wants to stop the current
transaction on the current data phase.
PCI_TRDYnPCI/X BidirTarget Ready. The bus target asserts
this signal to indicate it is ready to
complete the current data phase.
a. These pull-ups must exist somewhere on the PCI/X bus.
b. For more information on all combinations of PCI_M66EN, PCI_SEL100, and PCI_PCIXCAP, see the “Reset, Clocking, and
Initialization”.
No pull-up or pull-down resistor is
required.
Pull down for PCI 33 or 66 MHz, or
PCI-X 66 or 133 MHz.
Pull up for PCI 25 or 50 MHz, or
PCI-X 50 or 100 MHz.
Pull up (8.2K) to 3.3V.
Pull up (8.2K) to 3.3V.
Pull up (8.2K) to 3.3V.
b
a
a
a
2.4EEPROM Interface Signals
Table 4: EEPROM Interface Signals
NamePin TypeDescriptionDesign Recommendation
SR_CLK3.3 OutSerial ROM clock: This signal is derived
from REFCLKn/p (see “System
Diagram”).
SR_CSn3.3 OutSerial ROM chip select: This active-low
signal activates the chip-select (CS) on
the external EEPROM.
SR_DIN3.3 OutSerial ROM data in: This signal
transfers output data from the Tsi384 to
the EEPROM.
SR_DOUT3.3 In PUSerial ROM data out: This signal
transfers input data from the EEPROM
to the Tsi384.
No pull-up or pull-down resistor is
required.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 33
2. Signal Descriptions33
2.5JTAG Interface Signals
Table 5: JTAG Interface Signals
NamePin TypeDescriptionDesign Recommendation
JTAG_TCK3.3 InTest Clock. This signal clocks state
information and data into and out of the
Tsi384 during boundary scan.
JTAG_TDI3.3 In PUTest Data Input. This signal, in
conjunction with JTAG_TCK, shifts data
and instructions into the TAP controller
in a serial bit stream.
JTAG_TDO3.3 OutTest Data Output. This signal, in
conjunction with JTAG_TCK, shifts data
and instructions from the TAP controller
in a serial bit stream.
JTAG_TMS3.3 In PUTest Mode Set. This signal controls the
state of the TAP controller.
JTAG_TRSTn3.3 In PUTest Reset. This signal forces the TAP
controller into an initialized state. This
signal must be pulsed or pulled low
externally to reset the TAP controller.
TEST_BCE3.3 InTest Boundary Scan Compatibility
Enabled. This input aids 1149.6 testing
and Scope function of PHYs.
Connect to 3.3V using a 2K pull-up
resistor.
Connect to 3.3V using a 2K pull-up
resistor.
If JTAG is not used, leave unconnected.
Connect to 3.3V using a 2K pull-up
resistor.
If JTAG is not used, connect this pin to a
2K pull-down resistor. If JTAG is used,
connect to output of AND gate where
inputs are TRST# and PERST#.
For more information, see the Tsi384 Evaluation Board User Manual.
For 1149.1 Boundary Scan testing, this
pin must be high. For 1149.6 Boundary
Scan testing, this pin must be low.
TEST_ON3.3 InThis signal controls scan shift enable. For normal operation, connect to 3.3V
using a 2K pull-up resistor.
TEST_BIDR_CTL3.3 In PUThis pin controls the direction of the
bidirectional pins as input during scan
shift.
Integrated Device Technology
For normal operation, connect to 3.3V
using a 2K pull-up resistor.
Tsi384 User Manual
www.idt.com
May 5, 2014
Page 34
2.6Power-up Signals
Table 6: Power-up Signals
NamePin TypeDescriptionDesign Recommendation
2. Signal Descriptions34
PWRUP_CLK_MST3.3 In PUClock Master:
0 = Tsi384 is clock slave on the PCI/X
bus; it requires an external PCI/X bus
clock.
1 = Tsi384 is clock master on the PCI/X
bus (clock master mode); it drives the
PCI/X bus clock.
PWRUP_EN_ARB3.3 In PUInternal PCI/X bus arbiter enable:
0 = Disable internal arbiter
1 = Enable internal arbiter
PWRUP_EXT_
CLK_SEL
PWRUP_PLL_
BYPASSn
3.3 In PUClock select. This signal is used when
the Tsi384 is the clock master on the
PCI/X bus.
0 = Tsi384 uses the internal clock
generated from REFCLK to time the
PCI-X Interface (see “Master Mode
Clocking”).
1 = Tsi384 uses the clock on PCI_CLK
compensated through the PLL to time
the PCI-X Interface.
3.3 In PUPLL bypass. This signal bypasses the
PLL in the PCI clock generation (see
“PCI/X Clocking”).
0 = PLL bypass
1 = Normal operation
None.
None.
This signal can be set to 0 only when
the PCI bus frequency is set to 33 MHz
or less. For all other frequencies, this
signal must be set to 1.
This signal should always be tied high.
2.7Power Supply Signals
Table 7: Power Supply Signals
NamePin TypeDescriptionDesign Recommendation
VDDCore power1.2V core powerNone.
VDD_PCII/O power3.3 volt I/O power for PCI/X and 3.3V
I/O power for CMOS
VDD_PCIECore power1.2V power for SerDesConnect these signals to the 1.2V
Tsi384 User Manual
May 5, 2014
None.
source through a ferrite bead.
Integrated Device Technology
a
b
www.idt.com
Page 35
2. Signal Descriptions35
Table 7: Power Supply Signals (Continued)
NamePin TypeDescriptionDesign Recommendation
VDDA_PCIEAnalog power3.3V analog power for SerDesConnect these signals to the 3.3V
source through a ferrite bead.
VDDA_PLLAnalog power1.2V analog power for PLLConnect these signals to the 1.2V
source through a ferrite bead.
a
b
b
VSSGNDGND, core powerNone.
VSS_IOGNDGND, I/O powerNone.
VSSA_PLLGNDGND, analog PLL powerNone.
a. For filtering and decoupling information for these signals, see “Power Supply Filtering and Decoupling” in the Tsi384 Board
Design Guidelines.
b. For more information, see “Analog Power Supply Filtering” in the Tsi384 Board Design Guidelines.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 36
2. Signal Descriptions36
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 37
3. Data Path
Topics discussed include the following:
•“Overview”
•“Transaction Management”
•“Buffer Structure”
•“Flow Control”
•“Prefetching Algorithm”
•“Short Term Caching”
•“Lane Reversal and Polarity Reversal”
3.1Overview
37
The Tsi384 uses two buffering methods for transferring data between its PCIe and PCI/X ports:
•Two-stage buffering for its upstream data path
•One-stage buffering in its downstream data path
These buffering methods are summarized in the following sub-sections.
3.1.1Upstream Data Path
Two-stage buffering in the upstream path consists of two different sized buffers for each transaction
type: posted, non-posted, and completion (see Figure 6).
The first-stage buffering in the PCI Core, which supports the store and forward method, meets the
synchronization requirements of PCI and PCIe. This buffer design also provides optimized throughput
and improved latencies.
The second-stage buffering in the PCIe Core, which supports the cut-through method, handles the
possible backpressure due to scaled down link, lack of flow control credits, and replay. Posted and
completion buffers allow the Tsi384 to accept a few more cycles of data transfer even after the
assertion of stall which indicates to the initiator in the PCI Core to stop the data transfer. This buffer
design ensures idle cycles are not inserted in data cycles while forwarding TLPs to its egress block.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 38
Figure 6: Upstream Data Path
S
c
r
a
m
b
l
e
r
r
Pos ted FIFO
(512 bytes)
Non Posted FIFO
4 Entrie s
Co mpl et i o n F IFO
(64 by tes )
Retry Buffer (2 KB)
Erro r Message TL P
EHU
CSR
PME_ n
M
a
s
te
r
In
t
e
r
fa
c
e
T
a
r
g
e
t
In
t
e
r
fa
c
e
Posted Bu ffer (4 KB)
Non Po sted Q ueue
8 En tri es
Dow ns t rea m Read
Co mp le tion Buffer
(512 bytes)
PM C
PM E
Mesaage
TLP
Pos ted R equest
No n-Po s ted
Request
Co mp leti o ns
Cl ai m
Cyc le
Add res s
De co de r
2ndS tag e Buf fer ing
C u t th ro ug h
1stS tag e Buf fering
S tor e an d For w ar d
PCIe C ore
PCI/X Core
Spli t
Co m pl e tion
Devi ce C o re
Inte rfa ce
3. Data Path38
3.1.2Downstream Data Path
In the downstream path, the T si384 uses one-stage buffering for each type of transaction (see Figure 7).
These buffers support the store and forward method, receive flow control, protocol differences,
synchronization, and error handling requirements.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 39
3. Data Path39
P
C
I
-
X
I
n
t
e
r
f
a
c
e
R
x
S
E
R
D
E
S
D
e
-
s
c
r
a
m
b
l
e
r
B
y
t
e
U
n
-
s
tr
i
p
e
r
LCRC
Che cke r
Pa ck et
Dec od er
Ad dress
Decoder
ECR C
Che cke r
TLP
Erro r
Detec ter
Req ues t
Generato r
A
r
b
i
t
e
r
M
a
s
t
e
r
I
n
t
e
r
f
a
c
e
T
a
r
g
e
t
I
n
t
e
r
f
a
c
e
Po sted Buffer
(5 12 Bytes)
No n-Posted Queue
4 Entries
Up st ream Re ad
Completion Buffer
(4 K B)
PCIe C ore
PCI Core
Receive Flow
Control Buffers
D e laye d C om ple t ion
Device Core Interface
Split Co mp letion
Figure 7: Downstream Data Path
3.2Transaction Management
The following sub-sections describe how the Tsi384 handles upstream and downstream transactions.
3.2.1Upstream Transaction Management
Transactions that originate on the PCI/X Interface that are destined for the PCIe Interface are stored in
the respective queues or buffers in the PCI/X cloc k domain, and are then forwarded to the PCIe Core
(see Figure 6). PCI/X buffer logic decomposes the received transactions as per the PCIe constraints
(for example, MAX_RD_SIZE, MAX_PAY_SIZE, RCB, and 4-KB address boundary). Three sets of
data and control signals for the three types of transactions (posted, non-posted, and completions) are
used between the PCI/X and PCIe Cores.
Transactions are stored temporarily in the PCIe Core buffers before they are used to construct TLPs,
and are then made visible to TLP arbiter. The TLPs are processed by the TLP arbiter only after
message, posted, completion, and non-posted TLPs) in a round-robin mode if sufficient credits and
ordering rules are satisfied. The TLP arbiter selects one of the five input TLPs (error message, PME
retry buffer space is available for the specific TLPs. The TLP arbiter continues to check the available
credit and retry buffer space against each of the active inputs, and selects the one that meets the
constraint. The ECRC adder calculates and appends a 32-bit ECRC value to the end of the TLP
selected by the arbiter if ECRC generation is enabled by software, and then forwards the TLP to the
Data link layer.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 40
The Data link layer applies a sequence number to the TLP received from transaction layer block, and
then calculates and appends a 32-bit LCRC value to ensure integrity during the transmission across the
physical lanes. A copy of the TLP sent to the physical layer is stored in the retry buffer for future replay
if there is negative acknowledgment from the other end component. The Retry buffer replays the stored
unacknowledged TLPs if it receives a NAK or replay timer expiration.
The Byte striper block of the physical layer unit appends start and end characters to the TLP received
from Data link layer, and then multiplexes the bytes of the packet onto the lanes. These bytes on the
lanes are scrambled using LFSR to eliminate repetitive bit patterns in the bit stream. The scrambled
8-bit characters are sent to the SerDes to convert to a 10-bit character in order to transmit it in a serial
bit stream on the physical lanes.
3.2.2Downstream Transaction Management
In the downstream path, the physical layer unit converts the incoming serial bit stream into a parallel
symbol stream, de-scrambles the bytes in the transmit path, assembles packets, and then sends them to
the Data link layer unit (see Figure 7).
The Data link layer unit checks for LCRC and sequence number errors for packets received from the
physical layer unit. If there are no errors, LCRC and sequence number fields are stripped and resultant
TLP is sent to Transaction layer unit.
3. Data Path40
The Transaction layer unit checks for ECRC errors and framing violations based on header fields and
ECRC fields in the TLP received from the Data link layer unit. It extracts routing information based on
the header fields and determines whether to forward or reject the TLP. The ECRC field is stripped and
the resulting information in the TLP header, payload, and any detected error information, is sent to the
PCI Core.
The T s i384 uses receive flow control buffers in the PCI Core instead of in the PCIe Core to store
downstream requests or completions to be forwarded on the PCI/X Interface.
3.3Buffer Structure
The following sub-sections describe the three Tsi384 buffer structures:
•Upstream non-posted buffer
•Upstream posted buffer
•Downstream non-posted buffer
•Downstream posted buffer
3.3.1Upstream Non-posted Buffer
The 4-KB, non-posted data buffer stores the data returned from the root complex for memory or I/O
read transactions that are initiated by PCI/X devices. This buffer contains eight independent 512-byte
buffers to allow for multi-threading.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 41
3. Data Path41
Every 512-byte buffer also consists of 32-byte sub-sections in PCI mode and 128-byte subsections in
PCI-X mode. In PCI mode, the T si384 allows the delayed response data transfer to the requester only if
the programmed number of 32-byte chunks of data are accumulated in the data buffer (see
CPL_INIT_COUNT in “PCI Miscellaneous Control and Status Register”). In PCI-X mode, the Tsi384
initiates split completion transactions only on 128-byte boundaries. However, read completions with
byte counts larger than 128 bytes can be returned to the PCI-X bus provided the data is available in the
buffer.
The T si384 continues to try the outstanding split completion transactions in a round-robin fashion, even
if the current split transaction received a retry or abort response.
While each request queue entry has up to 512 bytes of buffer space, in order to keep data flowing
efficiently, the 128-byte sub-sections are reused as needed when they are emptied. This means that
when the PCIe and PCI/X Interfaces are operating at similar frequencies and there is little bus
contention, long transfers can proceed without disconnection after the initial latency needed to fill the
first 128-byte sub-section. For large transfers when the PCI/X bus is operating at low frequency,
disconnections can occur on every 128 bytes as the 512-byte buffer becomes empty.
This buffer contains an eight-deep request queue that stores ad dress and command information for PCI
delayed transactions (reads/writes) and PCI-X split transactions (reads/writes). This handles
non-posted transactions that originate on the PCI/X Interface and are destined to devices on the PCIe
Interface.
3.3.1.1Non-posted Write Buffer
The Tsi384 supports one non-posted write transaction. Similar to read requests, its request information
is stored in one of the eight request queue entries, and its data is stored in a 32-bit register. Non-posted
write requests are forwarded onto the PCIe Core in two PCIe clock cycles. Request information is
forwarded in the first cycle, while 32-bit data is forwarded in the second cycle.
3.3.2Upstream Posted Buffer
The upstream posted buffer is a FIFO of size 4-KB that stores memory write transactions that originate
on the PCI/X Interface and are destined to devices on PCIe Interface. The Tsi384 completes the posted
transactions on the originating bus before forwarding them to the PCIe Interface. Unlike the read
buffers, the amount of space assigned to each transaction is dynamic. A single transaction can use
4-KB of buffer space. The Tsi384 translates all types of memory write transactions from the PCI/X
Interface to memory write requests on the PCIe Interface. The Tsi384 terminates a new transaction with
retry and an active transaction with disconnect if sufficient buffer space is not available.
The Tsi384 uses an 8-deep request FIFO to store the request information, including first and last
Dwords byte enables of the received transactions.
Memory write transactions can contain any or al l in valid payload bytes, where as memory write and
invalidate (MWI) or memory write block command transactions carry all the valid payload bytes. The
Tsi384 decomposes the received transactions with non-contiguous byte enables on 32-byte boundaries
while writing into the request FIFO.
The PCI Core makes a request to the PCIe Core if one of the following conditions is met:
•All data bytes of the transaction are received and are stored in the data buffer
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 42
•Received data bytes count exceeds the programmed threshold value (see UPST_PWR_THRES in
“Upstream Posted Writ e Threshold Register”)
•Received data bytes count exceeds the PCIe maximum payload size (see MAX_PAY_SIZE in
“PCIe Device Control and Status Register”)
•Address plus received data bytes count exceeds 4 KB
•Data with non-contiguous byte enables
3.3.3Downstream Non-posted Buffer
The 512-byte, downstream non-posted buffer stores the data returned for the non-posted requests that
originate on the PCIe Interface and are destined for PCI/X devices.
This buffer is divided into four independent 128-byte buffers to allow for multi-threading. Each
128-byte buffer has a read queue that provides up to four active non-posted requests. The Tsi384
decomposes the read request while placing it on the PCI/X Interface if the requested read data size
exceeds the maximum buffer size of 128 bytes. This means a downstream read request of 512 bytes
would be divided into four, 128-byte read completions.
The Tsi384 continues to process outstan ding non-posted transactions in a round-robin fashion. An
active, non-posted transaction is either retried or aborted.
3. Data Path42
3.3.4Downstream Posted Buffer
The 512-byte downstream posted write buffer stores the payload of memory write transactions that
originate on the PCIe Interface and are destined for PCI/X devices. The amount of space assigned to
each transaction is dynamic. A single transaction can use 512 bytes of buffer space.
The Tsi384 uses an 8-deep request FIFO to store the request information, including the first and last
Dwords byte enables. The Tsi384 initiates a transaction on the PCI/X Interface only after a complete
packet is stored in the buffer. The Tsi384 attempts another outstanding transaction only if the current
transaction is either successfully completed or terminated with either master or target abort.
3.4Flow Control
The Tsi384 handles packet-based protoco l on its PCIe Interface, and transaction-based protocol on its
PCI/X Interface. PCI/X requesters initiate transactions without prior knowledge on receiver buffer
status. As a result, flow control is managed through retries and disconnects that can waste bus
bandwidth. In comparison, PCIe requesters initiate requests while having prior knowledge on receiver
buffer availability status, and therefore, eliminate the wasteful effects of unnecessary retries and
disconnects.
The T s i384 does not issue retries or disconnects on the PCI/X Interface for completions returned for a
downstream read request, but may issue retries or disconnects for a posted or non-posted transaction on
the PCI/X Interface based on the buffer space availability.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 43
3. Data Path43
The Tsi384 uses flow control buffers in the PCI Core for three categories of downstream traffic. The
amount of flow control buffer space availability is conveyed to the other end of the component using
flow control credits. The Tsi384 advertises infinite credits for completions as it ensures enough buffer
space is available to store the returned completion data before initiating a read request. The Tsi384
advertises initial flow control credits as follows. Each credit of data is 16 bytes.
Table 8: Initial Credit Advertisement
Credit TypeInitial Advertisement
Posted Header (PH)0x08
Posted Data (PD)0x020
Non-Posted Header (NPH)0x04
Non-Posted Data (NPD)0x01
Completion Header (CPLH)0x00 (Infinite)
Completion Data (CPLD)0x000 (Infinite)
3.5Prefetching Algorithm
To optimize data throughput, the Tsi384 prefetches read data from a target device when the
PCI/X Interface is configured in PCI mode. The Tsi384 does not prefetch additional read data when
operating in PCI-X mode because the amount of data requested is specified in the byte count. The
T si384 prefetches the data by default for the transact ion that uses Memory Read Line or Memory Read
Multiple command. The Tsi384 does not prefetch the data by default for the transaction that uses the
memory read command since the bridge does not know whether or not the transaction address falls in
prefetchable region.
The prefetch algorithm is configured for various commands as follows:
•Memory read – Controlled by P_MR, MRL_66 and MRL_33 of the “Prefetch Control Register”.
The default value of these bits indicates that either one Dword in 32-bit bus mode or two Dwords
in 64-bit bus mode is prefetched.
•Memory read line – Controlled by P_MRL, MRL_66 and MRL_33 of the “Prefetch Control
Register”. The default value of these bits indicates that either 128 bytes in 32-bit bus mode or
256 bytes in 64-bit bus mode is prefetched. The Tsi384 prefetches one cacheline if P_MRL is set to
0.
•Prefetch algorithm for memory read mult ipl e command is controlled by P_MRM, MRM_66 and
MRM_33 of the “Prefetch Control Register”. The default value of these bits indicates that either
256 bytes in 32-bit bus mode or 384 bytes in 64-bit bus mode is prefetched. The T si384 prefetches
two cachelines if P_MRM is set to 0.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 44
3.6Short Term Caching
This feature provides performance improvements in situations where upstream devices are not able to
stream data continuously to meet the prefetching needs of the Tsi384. As defined in the PCI-to-PCI Bridge Specification (Revision 1.2), when the bus master completes a transaction, the bridge is required
to discard the balance of any data that was prefetched for the master. To prevent performance im pa cts
when dealing with devices between requester and completer that can only stream data of 128 to 512
bytes due to buffering constraints, the Tsi384 uses “Short Term Caching.” This feature applies only
when the PCI/X Interface is operating in PCI mode, and provides a time-limited read data cache in
which the T si384 will not discard prefetched read data after the request completes on the initiating bus.
To enable Short Term Caching, set the STC_EN bit in the “PCI Miscellaneous Control and Status
Register”. When enabled, the Tsi384 does not discard the additional prefetched data when the read
transaction completes on the initiating bus. The Tsi384 then continues to prefetch data up to the amount
specified in the “Prefetch Control Register”. If the initiator generates a new transaction that requests
the previously prefetched data, the Tsi384 returns that data.
The Tsi384 discards data after some of the data for a request is returned to the initiator and one of the
following conditions is met:
•Short-term discard timer is expired before the initiator has requested additional data (see
“Short-term Caching Period Register”).
3. Data Path44
•An upstream posted transaction is received on the PCI/X Interface
Short-term caching should only be used in systems that can ensure the data provided to the
master has not been modified since the initial transaction.
3.7Lane Reversal and Polarity Reversal
The Tsi384 supports lane reversal, lane degradation, and polarity reversal. For information on how to
use these features, see the Tsi384 Board Design Guidelines.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 45
4. Addressing
Topics discussed include the following:
•“Overview”
•“Memory-mapped I/O Space”
•“Prefetchable Space”
•“I/O Space”
•“VGA Addressing”
•“ISA Addressi ng”
•“Non-transpar ent Addressing”
•“Opaque Addressing”
45
4.1Overview
This chapter discusses the various types of address decoding performed by the Tsi384 when it forwards
transactions upstream and downstream. The memory and I/O address ranges are defined using a set of
base and limit registers in the bridge’s configuration header. The base and limit address registers define
the address ranges that a bridge forwards downstream transactions. These registers are effectively
inversely decoded to determine the address ranges on the PCI/X Interface for transactions that are
forwarded upstream to the PCIe Interface.
4.2Memory-mapped I/O Space
Memory transactions are forwarded across the T si384 when their address falls within a window defined
by one of the following registers:
•“PCI Memory Base and Limit Register”
•“PCI PFM Base and Limit Register”
The memory-mapped I/O address spacing maps memory address ranges of devices that are not
prefetchable. For PCI to PCIe reads, prefetching occurs in this space only if the Memory Read Line or
Memory Read Multiple commands are issued on the PCI bus. When either of these commands is use d,
the quantity of data prefetched is determined by the prefetching algorithm defined in “Prefetching
Algorithm”. For PCI-X to PCIe reads, the number of bytes to read is determined by the transaction size
requested in the PCI-X attributes. For PCIe-to-PCI or PCI-X reads, the number of bytes to read is
determined by the Memory Read Request TLP.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 46
4. Addressing46
Memory Base
Memory Limit
Downstream
Upstream
Memory Base
Memory Limit
Downstream
Upstream
The response of the bridge to memory-mapped I/O transactions is controlled by the following:
•MS bit in “PCI Control and Status Register” – This bit must be set to allow memory transactions to
be forwarded downstream. If not set, all memory transactions on the PCI/X bus are forwarded to
the PCIe link. In addition, if not set, all memory requests on the PCIe Interface are completed with
an Unsupported Request status.
•BM bit in “PCI Control and Status Register” – This bit must be set to allow memory transactions to
be forwarded upstream. If this bit is not set, all memory transactions on the PCI/X bus are ignored.
•VGA_EN bit in “PCI Bridge Control and Interrupt Register”
The T si384 forwards memory transact ions downstream from its PCIe I nterface to its PCI/X Interface if
a memory address is in the range defined by the Memory Base and Memory Limit registers (when the
base is less than or equal to the limit), as shown in Figure 8. A memory transaction on the PCI/X
Interface that is within this address range, however, is not be forwarded upstream to the PCIe Interface.
Any memory transactions on the PCI/X Interface that are outside this address range are forwarded
upstream to the PCIe Interface (provided they are not in the address range defined by the set of
prefetchable memory address registers).
Figure 8: Memory-mapped I/O Address Space
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 47
4. Addressing47
The memory-mapped I/O address range that is defined by the Base and Limit registers are always
aligned to a 1-MB boundary and has a size granularity of 1 MB.
4.3Prefetchable Space
The prefetchable address space maps memory address ranges of devices that are prefetchable; that is,
devices that do not have side-effects during reads. For PCI-to-PCIe reads, prefetching occurs in this
space for all memory read commands (MemRd, MemRdLine, MemRdMult) issued on the PCI bus. For
these Read commands, the Tsi384 prefetches data according to prefetching algorithm defined in
“Prefetching Algorithm”. For PCIe-to-PCI/X reads, the number of bytes to be read is determined by the
Memory Read Request.
The Prefetchable Memory Base, Prefetchable Memory Limit, Prefetchable Base Upper 32 Bits, and
Prefetchable Limit Upper 32 Bits registers in the bridge configuration header specify an address range
that is used by the bridge to determine whether to forward PCIe and PCI/X memory read and memory
write transactions across the bridge. The prefetchable memory address range defined by these registers
is always aligned to a 1-MB boundary and has a size granularity of 1 MB. If the address specified by
the Prefetchable Memory Base and Prefetchable Base Upper 32 Bits registers is set to a value higher
than the address specified by the Prefetchable Memory Limit and Prefetchable Limit Upper 32 Bits
registers, the address range is disabled.
Following register bits effect the response by the bridge to memory transactions:
•Memory Enable bit in “PCI Control and Status Register”
•Bus Master Enable bit in “PCI Control and Status Register”
•VGA Enable bit in “PCI Bridge Control and Interrupt Register”
The T si384 forwards memory trans actions downstream from its PCIe Interface to its PCI/X Interface if
a memory address is in the range defined by the Prefetchable Memory Base and Prefetchable Memory
Limit registers. Conversely, a memory transaction on the PCI/X Interface that is within this address
range is not be forwarded upstream to the PCIe Interface. Any memory transactions on the PCI/X
Interface that are outside this address range are forwarded upstream to the PCIe Interface (provided
they are not in the address range defined by the memory-mapped I/O address range registers).
If the Prefetchable Memory Base is programmed to have a value greater than the Prefetchable Memory
Limit, then the prefetchable memory range is disabled. In this case, all memory transaction forwarding
is determined by the memory-mapped I/O base and limit registers. Note that all four prefetchable base
and limit registers must be considered when disabling the prefetchable range.
Unlike non-prefetchable memory-mapped I/O memory, Prefetchable memory can be located below,
above, or span across the first 4-GB address boundary. Figure 9 illustrates a prefetchable memory
window that spans across the 4-GB address boundary. Memory locations above 4 GB are accessed
using 64-bit addressing. PCIe memory transactions that use the Short Address (32-bit) format can
target a non-prefetchable memory window or the portion of a prefetchable memory window that is
below the first 4-GB address boundary. Memory transactions that use the Long Address (64-bit) format
can target the portion of a prefetchable memory window that is at or above the first 4-GB address
boundary.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 48
Figure 9: 64-bit Prefetchable Memory Address Range
Downstream
Upstream
Memory MappedI/O
Secondary Interface
Prefetchable Memory
Downstream
Upstream
Memory Mapped I/O
Secondary Interface
Prefetchable Memory
4. Addressing48
4.4I/O Space
I/O Base, I/O Limit, I/O Base Upper 16 Bits, and I/O Limit Upper 16 Bits registers in the Tsi384
configuration header specify an address range that is used by the br idge to de termine whether to
forward I/O read and I/O write transactions across the bridge. If the address specified by the I/O Base
and I/O Base Upper 16 Bits registers is set to a value greater than the address specified by the I/O Limit
and I/O Limit Upper 16 Bits registers, the address range is disabled.
The response of the bridge to I/O transactions is controlled by the following configuration register bits:
•I/O Space Enable bit in “PCI Control and Status Register”
•Bus Master Enable bit in “PCI Control and Status Register”
•ISA Enable bit in “PCI Bridge Control and Interrupt Register”
•VGA Enable bit in “PCI Bridge Control and Interrupt Register”
The I/O Enable bit must be set for any I/O transaction to be forwarded downstream. If this bit is not set,
all I/O transactions on the PCI/X bus are forwarded to the PCIe link. If this bit is not set, all PCIe
Interface I/O requests are completed with Unsupported Request status.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 49
4. Addressing49
Secondary Interface
0x0_C000 –0x0_FFFF
0x0_B000 –0x0_BFFF
0x0_A000 –0x0_AFFF
0x0_9000 –0x0_9FFF
0x0_8000 –0x0_8FFF
0x0_0000 –0x0_7FFF
Downstream
Upstream
Secondary Interface
0x0_C000 – 0x0_FFFF
0x0_B000 – 0x0_BFFF
0x0_A000 – 0x0_AFFF
0x0_9000 – 0x0_9FFF
0x0_8000 – 0x0_8FFF
0x0_0000 – 0x0_7FFF
Downstream
Upstream
The Bus Master Enable bit must be set for any I/O transaction to be forwarded upstream. If this bi t is
not set, all I/O transactions on the PCI/X bus are ignored.
If ISA Enable bit is set, the bridge does not forward any I/O transactions downstream that are in the top
768 bytes of each 1-KB block within the first 64 KB of address space. Only transactions in the bottom
256 bytes of each 1-KB block are forwarded downstream. If the ISA Enable bit is clear, then all
addresses within the range defined by the I/O base and limit registers are forwarded downstream. I/O
transactions with addresses above 64 KB are forwarded according to the range defined by th e I/O base
and limit registers. If the ISA Enable bit is set, the bridge forwards upstream any I/O transactions on
the PCI/X bus that are in the top 768 bytes of each 1-KB block within the first 64 KB of address space,
even if the address is within the I/O base and limit. All other transactions on the PCI/X bus are
forwarded upstream if they fall outside the range defined by the I/O base and limit registers. If the ISA
Enable bit is clear, then all PCI/X bus I/O addresses outside the range defined by the I/O base and limit
registers are forwarded upstream.
Figure 10: I/O Address Space
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 50
A bridge uses the I/O Base and I/O Limit registers to determine whether to forward I/O transactions
across the bridge, as shown in Figure 10. The I/O address range defined by these registers is always
aligned to a 4-KB boundary and has a size granularity of 4 KB. A bridge forwards I/O read and I/O
write transactions from its PCIe Interface to its PCI/X Interface if the address is in the range defined by
the I/O base and I/O limit registers (when th e base is less than or equal to the limit). Conversely, I/O
transactions on the PCI/X bus in the address range defined by these registers are not forwarded
upstream by the bridge. I/O transactions on the PCI/X bus that are outside the defined address range are
forwarded upstream.
4.5VGA Addressing
The Tsi384 supports VGA addressing. The VGA_EN bit in the “PCI Bridge Control and Interrupt
Register” controls the response by the bridge to both VGA frame buffer addresses and to VGA register
addresses. If the VGA Enable bit is set, the bridge decodes and forwards memory accesses to VGA
frame buffer addresses and I/O accesses to VGA registers from the PCIe Interface to the PCI/X
Interface (and block forwarding from PCI/X to PCIe of these same accesses).
The VGA_16BIT_EN bit in the “PCI Bridge Control and Interrupt Reg ister” selects between 10-bit
and 16-bit VGA I/O address decoding, and is applicable when the VGA Enable bit is 1.
4. Addressing50
VGA memory addresses are 0x0A_0000 through 0x0B_FFFF
VGA I/O Addresses (Address bits 15:10 are not decoded when the VGA 16-Bit Decode bit is 0b) are:
•Address bits 9:0 = 0x3B0 through 0x3BB and 0x3C0 through 0x3DF (VGA 16-Bit Decode bit is
0b)
•Address bits 15:0 = 0x03B0 through 0x03BB and 0x03C0 through 0x03DF (VGA 16-bit Decode
bit is 1b)
The VGA Palette Snoop Enable bit is implemented as read-only with a value of zero.
4.6ISA Addressing
The Tsi384 supports ISA addressing through ISA Enable bit in the “PCI Bridge Control and Interrupt
Register”. The ISA Enable affects only I/O addresses that are in the bridge’s I/O range (as defined by
the I/O Base, I/O Base Upper 16 Bits, I/O Limit, and I/O Limit Upper 16 Bits) and in the first 64 KB of
PCI/X I/O Space (0000 0000h to 0000 FFFFh). If this bit is set and the I/O address meets the stated
constraints, the T si384 blocks the forwarding of I/O transactions downstream if the I/O address is in the
top 768 bytes of each naturally aligned 1-KB block. If the ISA Enable bit is clear, the Tsi384 forwards
downstream all I/O addresses in the address range defined by the I/O Base and I/O Limit registers.
If the ISA Enable bit is set, I/O transactions on the PCI/X bus in the top 768 bytes of any 1-KB address
block within the first 64 KB of PCI/X I/O space is forwarded upstream, even if the address is between
the I/O base and I/O limit addresses. Figure 11 illustrates this mapping for a 4-KB range.
The ISA Enable bit only affects the I/O address decoding behavior of the bridge. It does not affect the
bridge's prefetching, posting, ordering, or error handling behavior.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 51
4. Addressing51
Secondary Interface
0x0_xD000 –0x0_xFFF
0x0_xC00 –0x0_xCFF
0x0_x000 –0x0_x0FF
0x0_x400 –0x0_x4FF
0x0_x800 –0x0_x8FF
Downstream
Upstream
0x0_x900 –0x0_x9FF
0x0_x500 –0x0_x7FF
0x0_x100 –0x0_x3FF
Secondary Interface
0x0_xD000 – 0x0_xFFF
0x0_xC00 – 0x0_xCFF
0x0_x000 – 0x0_x0FF
0x0_x400 – 0x0_x4FF
0x0_x800 – 0x0_x8FF
Downstream
Upstream
0x0_x900 – 0x0_x9FF
0x0_x500 – 0x0_x7FF
0x0_x100 – 0x0_x3FF
Figure 11: ISA Mode I/O Addressing
4.7Non-transparent Addressing
At power-up, the host processor discovers the need for non-transparent bridging and enables the
address remapping of prefetchable, non-prefetchable, and I/O ranges through configuration. Before
enabling address remapping of the base and limit values, the remapped address ranges need to be
programmed. The “Downstream Non-transparent Address Remapping Registers” allow downstream
accesses to be mapped to arbitrary positions in PCI/X memory space. While the Memory Base and
Limit registers always define the range of addresses to be claimed on the PCIe link and forwarded to
the PCI/X bus, cycles that are claimed have their addresses modified because of the difference in the
base addresses of the windows on the two buses.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 52
4.7.1PCIe to PCI/X Non-prefetchable Address Remapping
Downstream transactions that fall within the address window defined by the “PCI Memory Base and
Limit Register” are remapped according to the address window defined by the “Secondary Bus
Non-prefetchable Address Remap Control Register” and “Secondary Bus Non-prefetchable Upper
Base Address Remap Register”. The following equations describe the address remapping process:
•PriSecNPDiff = PriNPBase - SecNPBase, where
— PriSecNPDiff: Defines the difference between the Primary Non-prefetchable Base and the
Secondary Non-prefetchable Base.
— PriNPBase: Defined in the previous paragraph.
— SecNPBase: Defined by “Secondary Bus Non-prefetchable Address Remap Control Register”
and “Secondary Bus Non-prefetchable Upper Base Address Remap Register”.
•SecNPAddr = PriNPAddr - PriSecNPDiff, where
— SecNPAddr: Defines the remapped address that the Tsi384 presents on the PCI/X bus.
— PriNPAddr: Defines the address presented to the Tsi384 that falls within the registers
described in the previous paragraph.
— PriSecNPDiff: See previous bullet.
4. Addressing52
4.7.2PCIe to PCI/X Prefetchable Address Remapping
Downstream transactions that fall within the address window defined by the “PCI PFM Base and Limit
Register”, “PCI PFM Base Upper 32 Address Register”, and “PCI PFM Limit Upper 32 Address
Register”are remapped according to the address window defined by the “Secondary Bus Prefetchable
Address Remap Control Register” and “Secondary Bus Prefetchable Upper Base Address Remap
Register”. The following equations describe the address remapping process:
•PriSecPFDiff = PriPFBase - SecPFBase, where
— PriSecPFDiff: Defines the difference between the Primary Prefetchable Base and the
Secondary Prefetchable Base.
— PriPFBase: Defined by the registers listed above.
— SecPFBase: Defined by “Secondary Bus Prefetchable Address Remap Control Register” and
“Secondary Bus Prefetchable Upper Base Address Remap Register”.
•SecPFAddr = PriPFAddr - PriSecPFDiff, where
— SecPFAddr: Defines the remapped address the Tsi384 presents on PCI/X bus.
— PriPFAddr: Defines the address presented to the Tsi384 that falls within the registers
described in the previous paragraph.
— PriSecPFDiff: See previous bullet.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 53
4. Addressing53
4.7.3PCI/X to PCIe Address Remapping
Because the addresses of the downstream memory windows on the PCI/X bus have been shifted from
their locations on the PCIe link, the address range of cycles that a bridge will not claim on the PCI/X
bus must also be shifted. Therefore, memory cycles with addresses from SecNPBase (see “Secondary
Bus Non-prefetchable Address Remap Control Register” and “Secondary Bus Non-prefetchable Upper
Base Address Remap Register”) to SecNPLimit or from SecFPBase (see “Secondary Bus Prefetchable
Address Remap Control Register” and “Secondary Bus Prefetchable Upper Base Address Remap
Register”) to SecFPLimit will not be claimed by the bridge on the PCI/X bus.
The Secondary Bus Non-prefetchable Limit is described in the following equation:
•SecNPLimit = PriNPLimit - PriSecNPDiff, where
— PriNPLimit: Defined by “PCI Memory Base and Limit Register” and the additional “Primary
Bus Non-prefetchable Upper Limit Remap Register”.
— PriSecNPDiff: Defines the difference between the Primary Non-prefetchable Base and the
Secondary Non-prefetchable Base.
The Secondary Prefetchable Limit is described in the following equation:
•SecPFLimit = PriPFLimit - PriSecPFDiff, where
— PriPFLimit: Defined by “PCI PFM Base and Limit Register” and “PCI PFM Base Upper 32
Address Register”.
— PriSecPFDiff: Defines the difference between the Primary Prefetchable Base and the
Secondary Prefetchable Base.
Once the address is claimed as defined above, a memory cycle is forwarded from the PCI/X bus to the
PCIe link with its address modified according to the Non-transparent Address (NTMA) remapping
windows (see offsets 0x68 to 0x7C):
•NTMA window remapping
The NTMA Secondary Base (see “NTMA Secondary Lower Base Register” and “NTMA Secondary
Upper Base Register”) and NTMA Secondary Limit (see “NTMA Secondary Lower Limit Register”
and “NTMA Secondary Upper Limit Register”) define memory windows in the PCI/X bus memory
space that are mapped to arbitrary positions on the PCIe link. The resulting location of the NTMA
window on the PCIe link is defined by the following equations:
•PriSecNTMADiff = PriNTMABase - SecNTMABase, where
— PriNTMABase: Defined by “NTMA Control Register” and “NTMA Primary Upper Base
Register”.
— SecNTMABase: Defined by “NTMA Secondary Lower Base Register”
and “NTMA
Secondary Upper Base Register”.
•PriNTMALimit = SecNTMALimit + PriSecNTMADiff, where
— SecNTMALimit: Defined by “NTMA Secondary Lower Limit Register” and “NTMA
Secondary Upper Limit Register”.
— PriSecNTMADiff: See previous bullet.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 54
4. Addressing54
NTMA Window
Prefetchable Window
Non-prefetchable Window
NTMA Window
Prefetchable Window
Non-prefetchable Window
PCIe Address SpacePCI Address Space
8000_0000
BFFF_FFFF
3FFF_FFFF
0000_0000
9_C00_0000
A_FFFF_FFFF
C000_0000
1_FFFF_FFFF
C_C000_0000
C_FFFF_FFFF
4000_0000
7FFF_FFFF
A memory cycle whose address falls within a NTMA window on the PCI/X bus will have its address
on the PCIe link modified by the following equation:
•PriNTMAAddr = SecNTMAAddr + PriSecNTMADiff, where
— SecNTMAAddr: Secondary NTMA Address, which must fall within the window defined by
the NTMA Secondary Base and Limit registers.
— PriSecNTMADiff: See previous bullet.
Transactions that are claimed on PCI/X Interface, and which are outside the NTMA window, are
forwarded upstream without address remapping. Software should ensure that the location of the NTMA
window on the PCI/X bus is outside of the PCI/X bus memory windows, and that the NTMA window
on the PCIe link is outside of the PCIe link memory windows, or un defined operation may result.
Figure 12 displays an example of memory window remapping.
Figure 12: Memory Window Remapping Example
I/O Address Remapping
The “PCI I/O Address Upper 16 Register” in the Tsi384 configuration space indicates the number of
upper bits of the I/O address that are not used when forwarding downstream I/O space cycles to the
PCI/X bus. This allows I/O addresses to be translated down into the address range that is available on
the PCI/X bus. There is no enable bit for I/O address remapping; any non-zero value in this register
remaps the I/O transactions to a different address location, as described in this section.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 55
4. Addressing55
4.8Opaque Addressing
Opaque address ranges are defined in the Tsi384 configuration space. This feature can be enabled by
setting OPQ_MEM_EN to 1 in the “SERRDIS_OPQEN_DTC Register”.
Memory transactions with addresses that fall in the opaque address range are not claimed by either the
PCIe or PCI/X Interfaces. This region is typically used for peer-to-peer communication between
devices on the PCI/X bus.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 56
4. Addressing56
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 57
5. Configuration Transactions
ReservedRegister
Address
Extended
Register
Address
ReservedFunction
Number
Device
Number
Bus
Number
1 07 211 815 1218 1623 1931 24
ReservedRegister
Address
Extended
Register
Address
ReservedFunction
Number
Device
Number
Bus
Number
1 07 211 815 1218 1623 1931 24
Topics discussed include the following:
•“Overview”
•“Configuration Transactions”
•“PCIe Enhanced Configuration Mechanism”
•“Configuration Retry Mechanisms”
5.1Overview
Each device in a PCIe or PCI/X system has a configuration space that is accessed using configuration
transactions in order to define its operational characteristics. This chapter describes how the Tsi384
handles PCIe configuration requests.
57
5.2Configuration Transactions
There are two types of configuration transactions: Type 0 and Type 1. Type 0 configuration
transactions access the Tsi384’s internal configuration registers, while Type 1 configuration
transactions access devices that reside downstream of the Tsi384. Type 1 transactions are converted to
T ype 0 transactions if they target devices that reside on the downstream Tsi384 bus. If the transaction is
intended for a device that is downstream of the bus directly below the Tsi384, the transaction is passed
through the Tsi384 as a Type 1 configuration transaction. If the transaction is not targeted for the
Tsi384 or any device below the Tsi384, the transaction is rejected. Configuration transactions are only
initiated by the Root Complex in PCIe-based systems.
Configuration address formats are as follows.
Figure 13: PCIe Configuration Address Format
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 58
Figure 14: PCI Type 0 Configuration Address Format
Unique Address (AD[31:16])
corresponding to a particular Device
Number)
31 16
00Register
Number
Function
Number
Reserved
1 07 210 815 11
Unique Address (AD[31:16])
corresponding to a particular Device
Number)
31 16
00Register
Number
Function
Number
Reserved
1 07 210 815 11
Device
Number
15 11
Reserved
31 24
01Register
Number
Function
Number
Bus Number
1 07 210 823 16
Device
Number
15 11
Reserved
31 24
01Register
Number
Function
Number
Bus Number
1 07 210 823 16
Unique address(AD [31:16])
corresponding to a particular Device
Number
31 16
00Register
Number
Function
Number
Device
Number
1 07 210 815 11
AD[31:0]
Unique address(AD [31:16])
corresponding to a particular Device
Number
31 16
00Register
Number
Function
Number
Device
Number
1 07 210 815 11
AD[31:0]
Reserved
31 24
Bus
Number
23 16
0 1Register
Number
Function
Number
Device
Number
1 07 210 815 11
Reserved
31 24
Bus
Number
23 16
0 1Register
Number
Function
Number
Device
Number
1 07 210 815 11
AD[31:0]
Figure 15: PCI Type 1 Configuration Address Format
5. Configuration Transactions58
Figure 16: PCI-X Type 0 Configuration Address Format
Figure 17: PCI-X Type 1 Configuration Address Format
5.2.1Type 0 Configuration Transactions
The Tsi384 responds to PCIe Type 0 configuration transactions that address its configuration space.
This type of transaction configures the Tsi384 and is not forwarded downstream. The Tsi384 ignores
Type 0 configuration transactions that originate on the PCI/X Interface. If a Type 0 configuration
cannot be processed, the Tsi384 handles it as an Unsupported Request.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 59
5. Configuration Transactions59
5.2.2Type 1 Configuration Transactions
PCIe Type 1 configuration transactions are used for device config uration in a hierarchical bus system.
The Bus Number field contained in the header of a Type 1 configuration transaction specifies a unique
PCI/X bus in the PCI/X bus hierarchy. The Tsi384 compares the specified Bus Number with two
register fields — Secondary Bus Number and Subordinate Bus Number in “PCI Bus Number Register”
— that are programmed by system software or firmware to determine whethe r or not to forward a Type
1 configuration transactions acros s the bridge.
If a T ype 1 configur ation tra nsaction is received on the PCIe Interface, the following sequence of tests
is completed on the Bus Number field to determine how the Tsi384 should handle the transaction:
1. If the Bus Number field is equal to the Secondary Bus Number value and the conditions for
converting the transaction into a Special Cycle transaction are met, the Tsi384 forwards the
configuration request to its PCI/X Interface as a Special Cycle transaction. If the conditions are not
met, the T si384 forwards the configuration request to the PCI/X Interface as a Type 0 configuration
transaction.
2. If the Bus Number field is not equal to the Secondary Bus Number value but is in the range of the
Secondary Bus Number and the Subordinate Bus Number (inclusive) values, the T ype 1
configuration request is specifying a Bus Number that is located behind the bridge. In this case, the
Tsi384 forwards the configuration request to the PCI/X Interface as a Type 1 configuration
transaction.
3. If the Bus Number field does not satisfy the tests 1 and 2, the Type 1 configuration request
indicates a Bus Number that is not located behind the bridge. In this case, the configuration request
in invalid and Tsi384 handles this as an Unsupported Request.
5.2.3Type 1 to Type 0 Conversion
If a PCIe Type 1 configur ation transaction’s Bus Number field is equal to the Secondary Bus Number
value, and the conditions for conversion to a Special Cycle transaction are not met, the Tsi384 forwards
the transaction to the PCI/X bus as a Type 0 configuration transaction. In this case, a device connected
to the PCI/X Interface of the bridge is the target of the Type 0 configuration transaction.
To translate and convert a PCIe Type 1 configuration transaction to a PCI/X Type 0 configuration
transaction, the Tsi384 does the following:
•Sets address bits PC I _AD[1:0] as 0b00
•Sets address bits PCI_AD[7 :2] the same as the PCIe transaction’s Register Address field
•Sets address bits PCI_AD[10:8] the same as PCIe transaction’s Function Number field
•For a Secondary bus operating in PCI mode, it drives value 0b0000 on address PCI_AD[15:11]
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 60
•For Secondary bus operating in PCI-X mode, it sets address PCI_AD[15:11] from the PCIe
transaction’s Device Number Field
•For a Secondary bus operating in PCI or PCI-X (Mode 1), the Tsi384 check’s if the received
Extended Register Address field is zero. If this field is non-zero, the Tsi384 does not forward the
transaction and treats it as an Unsupported Request on PCIe and a received Master-Abort on the
destination bus. If the field is zero, the Tsi384 decodes the PCIe Device Number field and asserts a
single address bit in the range PCI_AD[31:16] during the address phase (for device numbers in the
range 0b0_0000 to 0b0_ 1111b).
5.2.4Type 1 to Type 1 Forwarding
If a PCIe T ype 1 configuration transaction is received and the value specified by the Bus Number field
is within the range of bus numbers between the Secondary Bus Number (exclusive) and the
Subordinate Bus Number (inclusive), the Tsi384 forwards the transaction to its PCI/X Interface as a
T ype 1 configuration transaction. In this case, the target of the transaction does not reside on the PCI/X
Interface but is located on a bus segment further downstream.
To translate the forwarded transaction from a PCIe Type 1 configuration request to a PCI/X Type 1
configuration transaction, the Tsi384 does the following:
•Sets address bits PC I _AD[1:0] as 0b01
5. Configuration Transactions60
•PCI/X Register Number, Function Number, Device Number, and Bus Number (address bits
PCI_AD[23:2]) are generated directly – th at is, unmodified – from the PCIe configuration
transaction’s Register Address, Function Number, Device Number, and Bus Number fields,
respectively.
•Checks if the received Extended Register Address field is zero. If this field is non-zero, the Tsi384
does not forward the transaction and treats it as an Unsupported Request on PCIe and a received
Master-Abort on the destination bus. If the field is zero, the Tsi384 generates PCI_AD[27:24] as
0b0000.
5.2.5Type 1 to Special Cycle Forwarding
When the Tsi384 receives a PCIe Type 1 configuration write request transaction, it converts it to a
Special Cycle on its PCI/X Interface when the following conditions are met by the transaction:
•The Bus Number field matches the Secondary Bus Number register value
•The Device Number field is all o nes (equals 0b1_1111)
•The Function Number field is all ones (equals 0b111)
•The Register Address and Extended Register Address are both all zeros (equal 0b00_0000 and
0b0000, respectively).
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 61
5. Configuration Transactions61
5.3PCIe Enhanced Configuration Mechanism
The PCIe Enhanced Configuration Mechanism adds four additional bits to the Register Address field,
thereby expanding the space to 4096 bytes. The Tsi384 forwards configuration transactions only when
the Extended Register Address bits are all zero. This prevents address aliasing on the PCI/X bus that
does not support Extended Register Addressing. If a configuration transaction targets the PCI/X bus
and has a non-zero value in the Extended Register Address field, the Tsi384 handles the transaction as
if it received a Master-Abort on the PCI/X bus and then does the following:
•Sets the appropriate status bits for the destination bus, as if the transaction had executed and
resulted in a Master-Abort
•Generates a PCIe completion with Unsupported Request status
5.4Configuration Retry Mechanisms
A PCIe-to-PCI/X bridge is required to return a completion for all configuration requests that cross the
bridge from PCIe to PCI/X prior to expiration of the Completion Timeout timer in the Root Complex.
This requires that bridges take ownership of all configuration requests forwarded across th e bridge. If
the configuration request to PCI/X completes successfully prior to the bridge’s timer expiration, the
bridge returns a completion with Normal Status on PCIe for that request. If the configuration request to
PCI/X encounters an error condition prior to the bridge’s timer expiration, the bridge returns an
appropriate error completion on PCIe. If the configuration request to PCI/X does not complete either
successfully or with an error, prior to timer expiration, the bridge is required to return a completion
with Configuration Retry Status (CRS) on PCIe for that request.
After the Tsi384 returns a completion with CRS on PCIe, it continues to keep the configuration
transaction active on the PCI/X bus. For PCI, the Tsi384 keeps retrying the transaction until it
completes on the PCI bus. For PCI-X, if the configuration request received a split response for the
configuration transaction prior to the bridge returning a completion with CRS on PCIe, the bridge
maintains the transaction information in its queues unt il the spl it completion is returned. If the
configuration request did not receive a split response for the configuration transaction prior to the
bridge returning a completion with CRS, the bridge may discard the transaction and remove it from its
queues or continue to retry the transaction on PCI-X until it completes successfully or with an error.
When the configuration transaction completes on the PCI/X bus after the return of a completion with
CRS on PCIe, the Ts i384 discards the completion information. Bridges that use this option are also
required to implement Bridge Configuration Retry Enable in the “PCIe Device Control and Status
Register”. If this bit is cleared, the bridge does not return a completion with CRS on behalf of
configuration requests forwarded acros s th e bridge. The lack of a completion results in eventual
Completion Timeout at the Root Complex.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 62
5. Configuration Transactions62
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 63
6. Bridging
Topics discussed include the following:
•“Overview”
•“Flow Control Advertisements”
•“Buffer Size and Management”
•“Assignment of Requestor ID and Tag”
•“Forwarding of PCIe to PCI”
•“Forwarding of PCIe to PCI-X”
•“Forwarding of PCIe to PCI-X”
•“Forwarding of PCI-X to PCIe”
•“Split Completion Buffer”
•“Forwarding of PCI-X to PCIe”
•“PCI-X Transaction Support”
63
•“PCIe Transaction Support”
•“Message Transactions”
•“Transaction Ordering”
6.1Overview
The T si384 provides a connection path between a PCI/X bus and a PCIe link. The main function of the
Tsi384 is to allow transactions between a master or a transmitter on one bus\link, and a target or a
receiver on the other bus\link. The PCI/X Interface can operate in 32-/64-bit PCI mode up to 66 MHz,
or in PCI-X mode up to 133 MHz. Transactions flow through the Tsi384 can be classified as follows:
•PCIe-to-PCI
•PCIe-to-PCI-X
•PCI-to-PCIe
•PCI-X-to-PCIe
6.2Flow Control Advertisements
The flow control method on the PCI/X Interface is managed through retries or disconnects, where as on
the PCIe link it is managed using flow control credi ts.
On the PCI/X Interface, the Tsi384 issues retries to new request transactions and issues a disconnect for
the active transaction if the internal request queues or data storage buffers are full or approaching full.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 64
On PCIe Interface, the Tsi384 periodically conveys its available buffer space to the other end
component in terms of flow control credits using flow control packets. The Tsi384 advertises flow
control credits as per PCIe protocol requirements.
6.3Buffer Size and Management
The Tsi384 provides sufficient buffering to satisfy PCIe bridging requirements. The Tsi384 does not
overcommit its buffers: it forwards requests onto the other side only when enough buffer space is
reserved to handle the returned completions.
The Tsi384 uses 2-KB retry buffering, which is large enough to ensure that under normal operating
conditions upstream traffic is never throttled. Ack latency value, internal processing delays, and
receiver L0s exit latency values, are considered for determining the Retry buffer size.
6.4Assignment of Requestor ID and Tag
The Tsi384 assigns a unique transaction ID for all the non-posted requests forwarded to upstream
devices and unique sequence ID for all the posted and non-posted transactions forwarded to
downstream devices. The Tsi384 takes ownership of the upstream and downstream non-posted
transactions on behalf of orig inal requestors, and stores the transaction-related state information needed
to return the completions to the original requesters. The action of replacing the original transaction’s
requester ID and/or Tag fields with the bridge’s own assigned values is referred to as taking ownership
of the transaction.
6. Bridging64
For upstream non-posted requests, the Tsi384 assigns the PCIe requester ID using its secondary bus
number and sets both the device number and function number fields to zero. For downstream
non-posted transactions, the Tsi384 assigns the PCI-X requester ID using its primary bus number,
device number and function number. For the upstream and downstream non-posted transactions, the
Tsi384 sets the Tag field to a request enqueued entry number. The Tsi384 forwards the downstream
posted transactions to PCI-X devices with the requester ID and Tag fields the same as that were
received with the request from the PCIe Interface.The Tsi384 attempts another posted request on the
PCI/X Interface only after the current transaction is committed on the PCI/X Interface, and thus,
eliminates the chance of sequence ID aliasing because the Tag[7:5] is non-zero.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 65
6. Bridging65
6.5Forwarding of PCIe to PCI
The T si384 forwards posted, non-posted, and upstream read completions to the PCI devices, and stores
the non-posted TLPs’ state information to return the completion TLPs to th e PCIe Int erface.
6.5.1PCIe Memory Write Request
The Tsi384 forwards the received PCIe Memory Write Requests to the PCI Interface with either
Memory Write (MW) or Memory Write and Invalidate (MWI) command. The Tsi384 translates the
request into a PCI transaction using the MWI command if it meets the MWI command rules specified
in the PCI Local Bus Specification (Revision 3.0), and the MWI bit is set in the “PCI Control and Status
Register”. An MW command is used for the remaining part of the MWI transact ion if the transacti on is
disconnected such that the remaining request does not meet the MWI command rules. The T si384 does
not support relaxed ordering among the received requests. It forwards all requests in the order they are
received even if the relaxed ordering bit is set for some of the requests.
6.5.2PCIe Non-posted Requests
The T s i384 translates the PCIe Memory Read Requests into PCI transactions that use a PCI memory
read command (that is, Memory Read, Memory Read Line, or Memory Read Multiple) bas ed on its
cacheline size value, requested byte enables, and prefetchable and non-prefetchable memory windows.
PCIe Read Request command translation is completed as follows:
•Memory Read if the PCIe Request falls into the non-prefetchable address range defined by the
“PCI Memory Base and Limit Register”.
•Memory Read Line if the PCIe Request falls into the prefetchable range defined by the “PCI PFM
Base and Limit Register” , and the requested data size is less than or equal to the value specified in
Cacheline Size of the “PCI Miscellaneous 0 Register”.
•Memory Read Multiple if the PCIe Request falls into the prefetchable range defined by the “PCI
PFM Base and Limit Register”, and the requested the data size is greater than or equa l to the value
specified in Cacheline Size of the “PCI Miscellaneous 0 Register”.
The Tsi384 attempts another outstanding request if the current request is retried or discon nected to
improve the link bandwidth utilization. It does not attempt to read beyond the requested length. The
Tsi384 decomposes the requests if the requested data length is greater than 128 bytes, and returns the
completions in 128-byte boundary fragments.
The Tsi384 uses PCI byte enable fields such that the byte enable information is preserved and no
additional bytes are requested for the transactions that fall into the non-prefetchable address range (for
example, Configuration, I/O, and Memory read commands).
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 66
6.6Forwarding of PCIe to PCI-X
The Tsi384 forwards posted, non-pos ted, and upstream read completions to PCI-X devices, and stores
the non-posted TLPs’ state information to return the completion TLPs to the PCIe Interface.
6.6.1PCIe Memory Write Request
The Tsi384 forwards the PCIe Memory Write Requests to the PCI-X Interface using either Memory
Write (MW) or Memory Write Block (MWB) command. It translates the PCIe MW into a PCI-X
transaction using the MWB command if the PCIe memory write meets the MWI command rules
specified in the PCI-X Addendum to PCI Local Bus Specification (Revision 2.0), and the No snoop
attribute field is set to 0 in the “PCI Control and Status Register”. An MW command is used for the
remaining part of the MWB transaction if the transaction was disconnected such that the remaining
request does not meet the MWI command rules. The Tsi384 does not support relaxed ordering among
the received requests, and forwards all the requests in the order they were received even if the relaxed
ordering bit is set for some of the requests. Relaxed ordering and No snoop attributes are forwarded
unchanged.
6.6.2PCIe Non-posted Requests
The Tsi384 translates the PCIe Memory Read Requests into the PCI-X transactions that use one of the
PCI-X memory read commands, either Memory Read DWORD or Memory Read Block, based on
requested byte enables, prefetchable and non-prefetchable memory windows. PCIe Read Request
command translation is completed as follows:
6. Bridging66
•Memory Read DWORD if the PCIe Read request falls into non-prefetchable address range and
requested byte enables are non-contiguous.
•Memory Read Block if the PCIe Read request falls into the prefetchable range or requested byte
enables are contiguous.
In order to improve bus bandwidth utilization, the Tsi384 keeps attempting the other outstanding
requests if the current request is either retried or disconnected. The Tsi384 decomposes the requests if
the requested data length is greater than 128 bytes and returns the completions in 128-byte boundary
fragments.
The Tsi384 uses PCI-X byte enable fields such that the byte enable information is preserved and no
additional bytes are requested for the transactions that fall into the non-prefetchable address range (for
example, transactions that use configuration, I/O, or memory read DWORD command.
The Tsi384 does not use any timeout for the requests it received split response, and waits indefinitely
for the split completion from the PCI-X completer to return the completion TLP onto the
PCIe Interface. However, the Tsi384 discards a request and returns completion with an Unsupported
Request (UR) completion status if that request is retried on the PCI-X Interface for more than the
programmed number of times (see “Secondary Retry Count Register”).
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 67
6. Bridging67
6.7Forwarding of PCI to PCIe
The Tsi384 forwards posted and non-posted requests and downstream read completions to PCIe
devices, and stores the non-posted requests’ state information to return the delayed completions to the
requester.
6.7.1PCI Memory Write Request
The T s i384 translates the received Memory Write (MW) and Memory Write and Invalidate (MWI)
transactions into PCIe Memory Write Requests. The T si384 uses a 4-KB posted buffer to post the
received transactions. Write requests are fragmented if one of the following PCIe constraints is met:
•Address plus length crosses the 4-KB boundary
•Burst writes with discontinuous byte enables
•Payload size exceeds MAX_PAY_SIZE in “PCIe Device Control and Status Register”
The Tsi384 terminates a posted transaction with retry only if the buffers are filled with previously
received memory requests, or if the bridge is locked from the PCIe side (see “Locked Trans a ction”).
6.7.2PCI Non-posted Requests
The Tsi384 processes all non-posted transactions as delayed transactions. The Tsi384 first terminates
the received non-posted transaction with retry and then forwards it onto the PCIe Interface. The T si384
stores the request-related state information while forwarding the request onto the PCIe Interface. This
information tracks the requests repeated by the master and returned completions for the request. Since
PCI read requests do not specify the amount of data to be read, the Tsi384 uses a programmable
prefetch algorithm to determine the amount of data to be read on behalf of the original requester. The
T si384 does not attempt to prefetch past the 4-KB address boundary on behalf of the original requester.
The Tsi384 stores the returned completion until the PCI requester repeats the initial request and
terminates the delayed transaction. If short-term caching is enabled (see STC_EN in “PCI
Miscellaneous Control and Status Register”), the Tsi384 responds to subsequent requests with the
incremental addresses issued by the master until the programmed number of data bytes are transferred
to the master or the short-term discard timer is expired (see ST_DIST_EN in
“SERRDIS_OPQEN_DTC Register”).
The Tsi384 enqueues up to eight requests and issues the initial requests on the PCIe Interface in the
order they were received; however, the ordering is not guaranteed for the subsequent requests of
decomposed transactions.
The Tsi384 discards the enqueued delayed request if the requested data is not returned before the
completion timeout is expired (see “Completion Ti meout Register”), and ret urns a delayed comple tion
with target abort to the requester (see DISCARD2 in “PCI Bridge Control and Interrupt Register”). A
delayed completion is discarded if the requester does not repeat the initial request or if the requester
disconnects the delayed completion after few data bytes are transferred.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 68
6.8Forwarding of PCI-X to PCIe
The Tsi384 forwards Memory Write, Memory Write Block, Memory Read DWORD, Memory Read
Block, alias to Memory Read Block, I/O requests, and downstream read completions, to the
PCIe Interface as per PCIe constraints and protocol mapping requirements specified in section 2.5 of
the PCI Express Base Specification (Revision 1.1). The device terminates all non-posted requests on
the PCI-X Interface a with split response and then forwards them onto the PCIe Interface. Once the
completion is returned for the forwarded request, the Tsi384 provides data for reads and status for the
writes to the requester through split completion and split completion message transactions,
respectively. The device initiates split completions on the PCI-X Interface on ADB boundaries if the
requested data size is greater than one ADB. However, byte counts larger than 128 bytes can be
returned to the PCI-X bus provided the data is available in the buffer. The Tsi384 provides normal
completion up to the device boundary, and split completion error message with master abort for the
remaining length, if the received PCI-X read byte count is in out of range.
The Tsi384 discards the enqueued split request if the requested data is not returned before the
completion timeout expires (see “Completion Timeout Register”) and returns a split completion error
message with master abort to the requester.
6. Bridging68
6.9Split Completion Buffer
The T si384 e nsures suf ficient buffer space is available to handle all the requested data before initiating
a read request on the PCI-X or PCIe Interface. It decomposes the received read request while
forwarding onto the destination interface if the request’s read data size is greater than the available
buffer size. As a result, the Tsi384 never sets the Split Completion Overrun bit in the “PCI-X Bridge
Status Register”. The Tsi384 decomposes the read requests received from the PCI-X Interface into two
or more requests on the PCIe Interface if one of the following conditions is met:
•Starting address plus requested length crosses the 4-KB address boundary
•Requested length exceeds the MAX_RD_SIZE in “PCIe Device Control and Status Register”
•Requested length exceeds the available buffer space
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 69
6. Bridging69
6.10PCI Transaction Support
The following table lists the transactions supported by the PCI Interface.
Table 9: PCI Transaction Support
PCI Interface
Cmd Transaction
0000bInterrupt AcknowledgeNANA
0001bSpecial CycleYesNA
0010bI/O ReadYesYes
0011bI/O WriteYesYes
0100bRsvdNANA
0101bRsvdNANA
0110bMemory ReadYesYes
0111bMemory WriteYesYes
1000bRsvdNANA
1001bRsvdNANA
1010bConfiguration ReadYesNA
1011bConfiguration WriteYesNA
1100bMemory Read MultipleYesYes
a
As a MasterAs a Target
1101bDual Address CycleYesYes
1110bMemory Read LineYesYes
1111bMemory Write and InvalidateYesYes
a. For unsupported transactions, see “PCIe as Originating Interface”.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 70
6.11PCI-X Transaction Support
The following table lists the transactions supported by the PCI-X Interface.
Table 10: PCI-X Transaction Support
6. Bridging70
PCI-X Interface
Cmd Transaction
0000bInterrupt AcknowledgeNANA
0001bSpecial CycleYesNA
0010bI/O ReadYesYes
0011bI/O WriteYesYes
0100bRsvdNANA
0101bDevice ID MessageNoNo
0110bMemory Read DWORDYesYes
0111bMemory WriteYesYes
1000bAlias to Memory Read BlockNAYes
1001bAlias to Memory Write BlockNAYes
1010bConfiguration ReadYesNA
1011bConfiguration WriteYesNA
1100bSplit CompletionYesYes
a
As a MasterAs a Target
1101bDual Address CycleYesYes
1110bMemory Read BlockYesYes
1111bMemory Write BlockYesYes
a. For unsupported transactions, see “PCI/X as Originating Interface”.
Tsi384 User Manual
Integrated Device Technology
May 5, 2014
www.idt.com
Page 71
6. Bridging71
6.12PCIe Transaction Support
The following table lists the transactions supported by the PCIe Interface.
Table 11: PCIe Transaction Support
PCIe Interface
TLP TypeTransaction
MRdMemory Read RequestYesYes
MRdLkMemory Read Request LockedNAYes
MWrMemory Write RequestYesYes
IORdI/O Read RequestYesYes
IOWrI/O Write RequestYesYes
CfgRd0Configuration Read Type 0NAYes
CfgWr0Configuration Write Type 0NAYes
CfgRd1Configuration Read Type 1NAYes
CfgWr1Configuration Write Type 1NAYes
MsgMessage RequestYesYes
MsgDMessage Request with Data PayloadNAYes
MsgD
(Vendor Defined)
CplCompletion without DataYesYes
Vendor-Defined Message
Request With Data Payload
a
As a TransmitterAs a Receiver
NoNo
CplDCompletion with DataYesYes
CplLkCompletion without Data for
MRR- Locked
CplDLkCompletion with Data for MRR - LockedYesNA
a. For unsupported transactions, see “PCIe as Originating Interface”.
YesN A
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 72
6.13Message Transactions
Message transactions are used for in-band communication of events, and therefore, eliminate the need
for sideband signals. PCIe messages are routed depending on specific bit field encodings in the
message request header.
6.13.1INTx Interrupt Signaling
The Tsi384 forwards the INTx interrupts – PCI_INT[A:D]n – generated by PCI devices onto the PCIe
Interface, as PCIe Assert_INTx and Deassert_ INTx messa ges (for more information, see “Interrupt
Handling”).
6.13.2Power Management
Power management messages support Power Management Events (PME) signaled by sources
integrated into the bridge and for devices downstream of the bridge. The Tsi384 forwards the power
management events (PCI_PMEn) from PCI devices onto the PCIe Interface using PCIe PME messages
(for more information, see “Power Management Event”).
6.13.3Locked Transaction
6. Bridging72
Unlock messages support locked transaction sequences in the downstream direction. This type of
message indicates the end of a locked sequence. The Tsi384 supports locked transactions in the
downstream direction and uses unlocked messages to unlock itself from the PCIe Interface.
6.13.4Slot Power Limit
These messages are transmitted to downstream devices by the root complex or a switch. The Tsi384
copies the set slot power limit payload into the Set Slot Power Limit Scale and Set Slot Power Value
fields of the “PCIe Device Capabilities Register”.
6.13.5Vendor-defined and Device ID
These messages are used for vendor-specific purposes. The Tsi384 does not support forwarding of
these messages. It terminates Device ID message transactions on the PCI/X Interface with
Master-Abort. It silently discards the Vendor-defined Type 1 message TLPs and handles the
Vendor-defined Type 0 message TLPs as Unsupported Requests.
The T s i384 ignores the receipt of Ignored messages. It handles the receipt of Error signaling messages
as Unsupported Requests. The Tsi384 handles the receipt of INTx messages as malformed TLPs.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 73
6. Bridging73
6.14Transaction Ordering
Table 12 defines the transaction ordering rules that are followed by the Tsi384. These rules apply
uniformly to all types of transactions, including Memory, I/O, Configurations, and Messages.
In the table, the columns represent a first received transaction while the rows represent a subsequently
received transaction. Each table entry indicates the ordering relationship between the two transactions.
The table entries are defined as follows:
•Yes – The second transaction is allowed to pass the first transaction.
•No – The second transaction is not allowed to pass the first transaction.
The T s i384 does not allow a posted transaction to pass another posted transaction even if the relaxed
ordering attribute bit is set. However, the device allows a Read completion with the relaxed ordering
attribute bit set to pass a posted transaction.
Table entries with 1) and 2) are defined as follows:
1. Indicates the ordering relationship when the relaxed ordering attribute bit is clear in the second
transaction header information.
2. Indicates the ordering relationship when the relaxed ordering attribute bit is set in the second
transaction header information.
Table 12: Transaction Ordering
Posted RequestNon-Posted RequestCompletion
Can Row Pass Column?
Memory Write
or Message
Posted
Request
Request
Read RequestNoYesYesYesYes
I/O or
Configuration
Request
Non-Posted
Read
Completion
I/O or
Configuration
Completion
Write
Completion
Memory Write or
Message
Request
1) No
2) No
NoYe sYe sYesYes
1) No
2) Yes
NoYe sYe sYesYes
Read RequestI/O or
Configuration
Write Request
YesYes1) Yes
YesYes1) Yes
Read Completion I/O or
2) Yes
2) Yes
Configuration
Write Completion
1) Yes
2) Yes
Yes
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 74
6. Bridging74
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 75
7. PCI/X Arbitration
Topics discussed include the following:
•“Overview”
•“Block Diagram”
•“PCI/X Arbitration Scheme”
7.1Overview
The PCI/X internal bus arbiter manages access to the PCI/X bus for up to five requesters, including the
Tsi384. The bus arbiter has the following features:
•Supports five requests (four external and on e internal, the Tsi384)
•Can be programmed to give high and low priorities for requesters
75
•Arbiter is enabled wi th a power-up signal, PWRUP_EN_ARB
•Bus is parked on latest master given grant
7.2Block Diagram
The bus arbiter handles internal requests from the PCI/X Core and external requests from devices on
the PCI/X bus (see Figure 18). When the arbiter is enabled, the Tsi384 asserts the grant for PCI/X
devices and for the PCI Core. When the arbiter is disabled, there must be an external arbiter on the
PCI/X bus that handles Tsi384 requests through the PCI_REQ[0]n signal, and grants bus access using
the PCI_GNT[0] signal. Grant for the PCI Core is the muxed output of internal arbiter grant and
external arbiter grant with PWRUP_EN_ARB as select signal.
Grants and Requests are bi-directional pins. PCI_REQ[0]n is output enabled when the internal arbiter
is disabled. Enable of PCI_REQ[3:1]n are always hardcoded to 1’h0. PCI_GNT[0] is an input pin
when the internal arbiter is disabled.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 76
Figure 18: PCI/X Arbiter Block Diagram
Tsi384 Request
Grant for Tsi384
Bus
Arbiter
PCI/X
Core
PCI_GNT[3:0]n
PCI_REQ[3:0]n
PWRUP_EN_ARB
7.3PCI/X Arbitration Scheme
The PCI/X bus arbiter is enabled through the power-up signal , PWRUP_EN_ARB (see “Power-up
Signals”). The arbiter can be programmed to enable or disable, and prioritize, each requester through
configuration (see “PCI Miscella neous Control and Status Register”).
7. PCI/X Arbitration76
The Tsi384, by default, is assigned a high priority and the other requesters are also assigned a high
priority. Based on the arbitration priority setting, requesters are divided into two priority levels (see
Figure 19). Within each level, priority is determined using a round-robin method. The low-priority
group is handled as one member of the high-priority group. Initially , a snap sh ot of reques ters wi th low
and high priority is loaded and requests are arbitrated until all flags in the snap shot are cleared. A new
snap shot is taken when all flags of the same level are cleared.
By default, the PCI/X arbiter initially parks the bus on the Tsi384. After servicing the requesters when
the bus is in idle state, the arbiter is parked on the last served requester.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 77
7. PCI/X Arbitration77
Device C
Device D
Low Priority
Low
Tsi384
Device A
Device B
High Priority
Arbitration Order Example
High, High, High, Low.
That is, if all bus masters
assert Request at the same time:
* Tsi384, A, B, C
* Tsi384, A, B, D
Figure 19: PCI/X Arbitration Priority
Integrated Device Technology
www.idt.com
In Figure 19, it is assumed that all PCI/X bus masters, including the Tsi384, are requesting the bus at
the same time. Since the Tsi384 and devices A and B are assigned a high priority they are granted
access to the bus first. Once device B is granted access, one of the bus requests from the low priority
group — in this example, device C — is granted access to the bus. After device C is granted access
another snap shot of the requestors is taken. If a high priority device is requesting the bus then it is
granted access before device D can become bus master. This process continues indefinitely on the
PCI/X bus.
Tsi384 User Manual
May 5, 2014
Page 78
7. PCI/X Arbitration78
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 79
8. Interrupt Handling
Topics discussed include the following:
•“Overview”
•“Interrupt Sources”
•“Interrupt Routing”
8.1Overview
The Tsi384 supports the two types of interrupts that originate on a PCI/X bus:
•Legacy PCI/X interrupts, PCI_INT[D:A]n
•Message-based interrupts
— Message Signaled Interrupts (MSI)
79
— Enhanced Message Signaled Interrupts (MSI-X)
The Tsi384’s PCI/X Interface forwards legacy INTx assertion/de-assertions in the form of
Assert_INTx and Deassert_INTx messages on its PCIe link. The T si384 handles MSI and MSI-X
transactions as PCI/X memory write transactions. When the bridge receives an MSI/MSI-X transaction
on its PCI/X Interface, it forwards it as a memory write TLP on its PCIe link. Both INTx messages and
MSI/MSI-X transactions flow through the T si384’s upstream posted buffer, as displayed in Figure 20.
The T si384 does not contain an MSI capability structure. The bridge cannot generate MSIs; it
can only forward them as posted memory writes.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 80
8. Interrupt Handling80
Upstream
Posted
Buffer
PCI/X Target
Interface
PCI_INTAn
PCI_INTBn
Interrupt
Message
Generation
Figure 20: Interrupt Handling Diagram
The Interrupt Message Generation module connects to the PCI/X Target Interface, external
PCI_INT[D:A]n interrupts, and the upstream posted buffer (see Figure 20). Assertion and de-assertion
of interrupts are stored in the form of Assert_INTx and Deassert_INTx flags. These flags are kept
asserted until the posted buffer can handle corresponding assert and de-assert messages. If an interrupt
pin is toggled when the PCI/X Interface is engaged with a PCI/X-initiated posted transaction, assert or
de-assert message loading into the upstream p ost ed request buffer is stalled until the upstream posted
transaction terminates. Posted transactions are retried on the AD bus while an interrupt message is
loaded into the posted buffer. A De-assert message always follows an Assert message. More then one
interrupt pin can toggle at any point of time; however, a round-robin arbitration schedules the interrupt
message transmission.
There is no buffering for interrupt messages before loading them int o the upstream posted buffer.
Therefore, only one pair of Assert_INTx and Deassert_INTx messages is loaded into the buffer when
allowed. In the worst case, the bridge may send duplicate messages; however, this is permitted
according to the PCI Express Base Specification (Revision 1.1).
8.2Interrupt Sources
The Tsi384 does not have an internal so urce of interrupts: it forwards legacy PCI_INT[D:A]n
interrupts from the PCI/X Interface to the PCIe Interface in the form of Assert[D:A] and
De-assert[D:A] messages with Tsi384 PCIe transaction IDs.
8.3Interrupt Routing
Tsi384 User Manual
May 5, 2014
Interrupt remapping is not performed by the Tsi384. Legacy interrupts, PCI_INT[A:D]n, are routed to
the upstream PCIe port in the form of Assert_INTx and Deassert_INTx [A,B,C,D] messages.
Integrated Device Technology
www.idt.com
Page 81
9. Error Handling
Topics discussed include the following:
•“Overview”
•“PCIe as Originating Interface”
•“PCI/X as Originating Interface”
•“Timeout Errors”
•“Other Errors”
•“Error Handling Tables”
9.1Overview
This chapter discusses how the Tsi384 handles errors that occur during the processing of upstream and
downstream transactions. For all errors that are detected by the bridge, it sets the appropriate Error
Status bits – PCI/X Error bit(s) and PCIe Error status bit(s) – and generates an error message on PCIe,
if enabled.
81
Each error condition has an error severity level programmable by software, and a corresponding error
message generated on PCIe. Each detected error condition has a default error severity level (fatal or
non-fatal) and, when enabled, has a corresponding error message generated on PCIe. The error severity
level is software programmable.
PCIe link error message generation is controlled by the following bits:
•SERR_EN in the “PCI Bridge Control and Interrupt Register”
•FTL_ERR_EN in the “PCIe Device Control and Status Register”
•NFTL_ERR_EN in the “PCIe Device Control and Status Register”
•COR_ERR_EN in the “PCIe Device Control and Status Register”
ERR_FATAL PCIe messages are enabled for transmission if either of the following bits is set:
SERR_EN in “PCI Control and Status Register”, or FTL_ERR_EN in “PCIe Device Control and Status
Register”.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 82
9. Error Handling82
ERR_NONFATAL messages are enabled for transmission if either of the following bits is set:
SERR_EN in “PCI Control and Status Register”, or NFTL_ERR_EN in “PCIe Device Control and
Status Register”.
ERR_COR messages are enabled for transmission if COR_ERR_EN is set in “PCIe Device Control
and Status Register”.
FTL_ERR_DTD, NFTL_ERR_DTD, and COR_ERR_DTD bits in “PCIe Device Control and Status
Register” are set for the corresponding errors on the PCIe Interface, regardless of the error reporting
enable bits.
The Ts i384 also supports Advisory Non-Fatal error messages in the case where a TLP Error detected is
a Advisory Non-Fatal Error and the Advisory Non-Fatal Error mask bit, ANFE, in the “PCIe
Correctable Error Mask Register” is not masked then a Correctable error message is generated instead
of a Non-Fatal error message.
Figure 21 depicts the high-level flowchart for error handling on PCIe. This is taken from Table 6-2 of
the PCI Express Base Specification (Revision 1.1), and includes advanced error handling. Additional
error handling requirements for a PCIe bridge are described in subsequent sections of the specification.
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 83
9. Error Handling83
Figure 21: PCIe Flowchart of Device Error Signaling and Logging Operations
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 84
9.2PCIe as Originating Interface
Requestor/ Split
or Delayed
Transaction
completer
Tsi384
I m m e di at e
Completer
Step ASt ep B
St ep DStep C
PC I/ X
(Dest inat ion Interface)
PC Ie
(Originating Interf ace)
This section describes how the Tsi384 handles error support for transactions that flow downstream
from PCIe to PCI/X (see Figure 2 2).
In the case of reception of a Write Request or Read Completion with a Poisoned TLP, the entire data
payload of the PCIe transaction is considered as corrupt and the parity is inverted on every data phase
forwarded (see Table 13). In the case of reception of a request with ECRC error, the entire TLP is
considered as corrupt and is dropped by the bridge.
Table 13: Error Forwarding Requirements (Step A to Step B) for Received PCIe Errors
9. Error Handling84
Received PCIe Error
(Step A)
Write Request or Read Completion
with Poisoned TLP
Request with ECRC (Optional
Support) Error
Forwarded PCI/X Error Mode 1
(Parity) (Step B)
Poisoned Data Parity
Do not forward
Figure 22: Transaction Error Forwarding with PCIe as Originating Interface
Tsi384 User Manual
May 5, 2014
Table 14 provides the translation a bridge has to perform when it forwards a non-posted PCIe request
(read or write) to PCI/X and the request is completed immediately on PCI/X, either normally or with an
error condition.
Table 14: Bridge Requirements for Transactions Requiring a Completion
(Immediate Response)
Immediate PCI/X TerminationPCIe Completion Status
Data transfer with uncorrectable data
Data transfer with uncorrectable data
error (reads)
error (non-posted writes)
Successful (Poisoned TLP)
Unsupported Request
Integrated Device Technology
www.idt.com
Page 85
9. Error Handling85
Table 14: Bridge Requirements for Transactions Requiring a Completion
(Immediate Response)
Immediate PCI/X TerminationPCIe Completion Status
Master-AbortUnsupported Request
Target-AbortCompleter Abort
In the case of an Advisory Non-Fatal Error detection, the following actions are taken by the Tsi384:
1. If the severity of the TLP Error detected in “PCIe Uncorrectable Error Severity Register” is
Non-Fatal then:
a. COR_ERR_DTD is set in the “PCIe Device Control and Status Register”
b. ANFE is set in the “PCIe Correctable Error Status Register”
2. And if the ANFE bit is not masked in the “PCIe Correctable Error Mask Register” then:
a. TLP Error Status bit is set in the “PCIe Uncorrectable Error Status Register”
b. If the corresponding TLP Error Mask bit is clear in the “PCIe Uncorrectable Error Mask
Register” and ERR_PTR is not valid in the “PCIe Advanced Error Capabilities and Control
Register”, then the TLP header is logged in the “PCIe Header Log 1 Register” and ERR_PTR
is updated in the “PCIe Advanced Error Capabilities and Control Register”.
c. If COR_ ERR_EN is set in the “PCIe Device Control and Status Register” then it sends a
Correctable error message.
9.2.1Received Poisoned TLPs
When the bridge receives a poisoned TLP it completes the following while forwarding it to the PCI/X
Interface:
1. If the severity of the PTLP in the “PCIe Uncorrectable Error Severity Register” is Non-Fatal and
the ANFE Mask bit is clear in “PCIe Correctable Error Mask Register” then:
•A Correctable error message is generated if the COR_ERR_EN bit is set in the “PCIe Device
Control and Status Register”
•ANFE bit is set in the “PCIe Correctable Error Status Register”
•COR_ERR_DTD bit is set in the “PCIe Device Control and Status Register”
•PTLP bit is set in the “PCIe Uncorrectable Error Status Register”
•TLP header is logged in the Header Log register and ERR_PTR is updated if the PTLP Mask
bit in “PCIe Uncorrectable Error Mask Register” is clear and the ERR_PTR is not valid
2. If the severity of the PTLP bit in “PCIe Uncorrectable Error Severity Register” is Non-Fatal and
the ANFE Mask bit is set in “PCIe Correctable Error Mask Register” then:
•No error message is generated
•COR_ERR_DTD bit is set in the “PCIe Device Control and Status Register”
•ANFE bit is set in the “PCIe Correctable Error Status Register”
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 86
9. Error Handling86
3. If it is not an AFNE then:
•Fatal error message is generated if PTLP Mask bit is clear in the “PCIe Uncorrectable Error
Mask Register” and either SERR_EN bit is set in “PCI Control and Status Register” or
FTL_ERR_EN bit is set in the “PCIe Device Control and Status Register”
•FTL_ERR_DTD bit is set in the “PCIe Device Control and Status Register”
•PTLP bit is set in the “PCIe Uncorrectable Error Status Register”
•TLP header is logged in the Header Log register and ERR_PTR is updated if the PTLP Mask
bit is clear and the ERR_PTR is not valid.
•S_SERR bit is set in the “PCI Control and Status Register” if Fatal error message is generated
and the SERR_EN bit is set in the “PCI Control and Status Register”.
4. In all three of the previous cases the following actions are also taken by the Tsi384:
•D_PE bit is set in “PCI Control and Status Register”
•MDP_D bit set in “PCI Control and Status Register” if the poisoned TLP is a read completion
and the PERESP bit is set in the “PCI Control and Status Register”
•Parity bit is inverted on the PCI/X bus with each associated data Dword
•MDP_D bit is set in the “PCI Secondary Status and I/O Limit and Base Register” if the
S_PERESP bit is set in the “PCI Bridge Control and Interrupt Register”, and the bridge sees
the PCI_PERRn pin asserted when forwarding a write request transaction with bad parity to
the PCI/X bus. The PERR_AD bit in the “PCIe Secondary Uncorrectable Error Status
Register” is set, Secondary Header is Logged and Secondary First Error Pointer is updated if
enabled. No error message is generated when PCI_PERRn is seen asserted by the bridge when
forwarding a Poisoned TLP transaction from PCIe to PCI/X with bad parity.
9.2.2Received ECRC Errors
When the Tsi384 receives a TLP with ECRC error, it does the following:
1. Drops the transaction
2. D_PE is set in the “PCI Control and Status Register”
3. ECRC bit is set in the “PCIe Uncorrectable Error Status Register”
4. Header is logged in the “PCIe Header Log 1 Register” and the ERR_PTR field is updated in the
“PCIe Advanced Error Capabilities and Control Register” if ECRC Error Mask bit is clear in the
“PCIe Uncorrectable Error Mask Register” and ERR_PTR is not valid.
5. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of ECRC bit in
“PCIe Uncorrectable Error Severity Register” if the ECRC Mask bit is clear in “PCIe
Uncorrectable Error Mask Register”, and either SERR_EN bit is set in the “PCI Control and S tatus
Register” or FTL_ERR_EN/NFTL_ERR_EN is set in the “PCIe Device Control and Status
Register”
6. S_SERR bit is set in the “PCI Control and Status Register” if an error message (Fatal/Non-Fatal) is
generated and SERR_EN bit is set in the “PCI Control and Status Register”
7. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in the “PCIe Device Control and Status Register”
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 87
9. Error Handling87
9.2.3PCI/X Uncorrectable Data Errors
This section describes the bridge requirements for error handling when forwarding a downstream
non-poisoned PCIe transaction to PCI/X and the bridge detects an uncorrectable data error. The error is
detected on the PCI/X Interface.
9.2.3.1Immediate Reads and Split Responses
When the Tsi384 forwards a read request (I/O, Memory, or Configuration) downstream, it does the
following when it detects an uncorrectable data error on the destination interface while receiving an
immediate response or split response from the completer:
1. MDP_D bit is set in the “PCI Secondary S tatus and I/O Limit and Base Register”
if the S_PERESP
bit is set in the “PCI Bridge Control and Interrupt Register”
2. D_PE in the “PCI Control and Status Register” is set
3. PCI_PERRn is asserted on the PCI/X Interface if the S_PERESP bit is set in the “PCI Bridge
Control and Interrupt Register”
4. UDERR bit is set in “PCIe Secondary Uncorrectable Error S t atus Register”
5. Header is logged in the “PCIe Secondary Header Log 1 Register” and the SUFEP field is updated
in the “PCIe Secondary Error Capabilities and Control Register” if UDERR Mask bit is clear in the
“PCIe Secondary Uncorrectable Error Mask Register” and SUFEP is not valid
6. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of UDERR bit in
“PCIe Secondary Uncorrectable Error Severity Register” if the UDERR Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and either SERR_EN bit is set in the “PCI Control
and Status Register” or FTL_ERR_EN/NFTL_ERR_EN bit is set in the “PCIe Device Control and
Status Register”
7. S_SERR bit is set in the “PCI Control and Status Register” if an error message (Fatal/Non-Fa tal) is
generated and S_SERR bit is set in the “PCI Control and Status Register”
8. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in the “PCIe Device Control and Status Register”
For an immediate read transaction, if the Tsi384 detects an uncorrectable data error on the destination
bus it continues to fetch data until the byte count is satisfied, or the target on the destination bus ends
the transaction. When the bridge creates the PCIe completion, it forwards it with successful completion
status and poisons the TLP. For PCI-X, an uncorrectable data error on a split response does not affect
the handling of subsequent split completions.
9.2.3.2Non-Posted Writes
When the Tsi384 detects PCI_PERRn asserted on the PCI/X Interface while forwarding a
non-poisoned non-posted write transaction from PCIe, it does the following:
1. If the target completes the transaction immediately with a data transfer, the Tsi384 generates a
PCIe completion with Unsupported Request status to report the error to the requester
2. PERR_AD bit is set in the “PCIe Secondary Uncorrectable Error Status Register”
3. MDP_D bit in the “PCI Secondary Status and I/O Limit and Base Register” is set if S_PERESP bit
is set in the “PCI Bridge Control and Interrupt Register”
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 88
4. Header is logged in the “PCIe Secondary Header Log 1 Register” and the SUFEP field is updated
in the “PCIe Secondary Error Capabilities and Control Register” if PERR_AD Mask bit is clear in
the “PCIe Secondary Uncorrectable Error Mask Register” and SUFEP is not valid
5. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of PERR_AD bit in
“PCIe Secondary Uncorrectable Error Severity Register” if the PERR_AD Mask bit is clear in
“PCIe Secondary Uncorrectable Error Mask Register” and either SERR_EN bit is set in the “PCI
Control and Status Register” or FTL_ERR_DTD/NFTL_ERR_DTD bit is set in the “PCIe Device
Control and Status Register”
6. S_SERR bit is set in the “PCI Control and Status Register” if an error message (Fatal/Non-Fatal) is
generated and SERR_EN bit is set in the “PCI Control and Status Register”
7. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in the “PCIe Device Control and Status Register”
If the target signals split response, the Tsi384 terminates the transaction as it would for a split request
that did not have an error and takes no further action. If the returned split completion is a split
completion error message, the bridge returns a PCIe Completion with Unsupported Request status to
the requester .
9.2.3.3Posted Writes
9. Error Handling88
When the Tsi384 detects PCI_PERRn asserted on the PCI/X Interface while forwarding a
non-poisoned posted write transaction from PCIe, it does the following:
1. Continues to forward the remainder of the transaction
2. MDP_D bit in the “PCI Secondary Status and I/O Limit and Base Register” is set if S_PERESP bit
is set in the “PCI Bridge Control and Interrupt Register”
3. PERRn Assertion Detected Status bit is set in the “PCIe Secondary Uncorrectable Error Status
Register”
4. Header is logged in the “PCIe Secondary Header Log 1 Register” and the SUFEP field is updated
in the “PCIe Secondary Error Capabilities and Control Register” if PERR_AD Mask bit is clear in
the “PCIe Secondary Uncorrectable Error Mask Register” and SUFEP is not valid
5. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of PERR_AD bit in
“PCIe Secondary Uncorrectable Error Severity Register” if the PERR_AD Mask bit is clear in
“PCIe Secondary Uncorrectable Error Mask Register”, and either SERR_EN bit is set in the “PCI
Control and Status Register” or FTL_ERR_DTD/NFTL_ERR_DTD bit is set in the “PCIe Device
Control and Status Register”
6. S_SERR bit is set in the “PCI Control and Status Register” if an error message (Fatal/Non-Fatal) is
generated and SERR_EN bit is set in the “PCI Control and Status Register”
7. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in the “PCIe Device Control and Status Register”
9.2.3.4PCI-X Split Read Completions
While forwarding a non-poisoned read completion from PCIe to PCI-X, if the Tsi384 detects
PCI_PERRn asserted by the PCI-X target, it does the following:
1. Continues to forward the remainder of the split completion
2. PERR_AD bit is set in the “PCIe Secondary Uncorrectable Error Status Register”
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 89
9. Error Handling89
3. Header is logged in the “PCIe Secondary Header Log 1 Register” and the SUFEP field is updated
in the “PCIe Secondary Error Capabilities and Control Register” if PERR_AD Mask bit is clear in
the “PCIe Secondary Uncorrectable Error Mask Register” and SUFEP is not valid
4. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of PERR_AD bit in
“PCIe Secondary Uncorrectable Error Severity Register” if the PERR_AD Mask bit is clear in
“PCIe Secondary Uncorrectable Error Mask Register” and either SERR_EN bit is set in the “PCI
Control and Status Register” or FTL_ERR_EN/NFTL_ERR_EN bit is set in the “PCIe Device
Control and Status Register”
5. S_SERR bit is set in the “PCI Control and Status Register” if an error message (Fatal/Non-Fa tal) is
generated and SERR_EN bit is set in the “PCI Control and Status Register”
6. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in the “PCIe Device Control and Status Register”
9.2.4PCI/X Uncorrectable Address/Attribute Errors
When the Tsi384 forwards transactions from PCIe to PCI/X, address or attribute errors are reported
through the PCI_SERRn pin. When the Tsi384 detects PCI_SERRn asserted it does the following:
1. Continues forwarding transaction
2. S_SERR System bit is set in the “PCI Secondary Status and I/O Limit and Base Register”
3. SERR_AD bit is set in the “PCIe Secondary Uncorrectable Error Status Register”
4. In this case Header is not logged but the SUFEP is updated in the “PCIe Secondary Error
Capabilities and Control Register” if the SUFEP bit is not valid and SERR_AD Mask bit is clear in
the “PCIe Secondary Uncorrectable Error Mask Register”
5. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of SERR_AD bit in
“PCIe Secondary Uncorrectable Error Severity Register” if SERR_AD Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” or SERR_EN bit is set in “PCI Bridge Control and
Interrupt Register”, and either SERR_EN bit is set in “PCI Control and Status Register” or
FTL_ERR_EN/NFTL_ERR_EN bit is set in “PCIe Device Control and Status Register”
6. S_SERR bit is set in the “PCI Control and Status Register” if an error message (Fatal/Non-Fa tal) is
generated and SERR_EN bit is set in the “PCI Control and Status Register”
7. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in the “PCIe Device Control and Status Register”
9.2.5Received Master-Abort on PCI/X Interface
This section describes the actions taken by the Tsi384 when a Master-Abort is received on the
PCI/X Interface.
9.2.5.1Master Abort on a Posted Transaction
When the T si384 receives a Master-Abort on the PCI/X bus while forwarding a posted write
transaction from PCIe, it does the following:
1. Discards the entire transaction
2. R_MA bit is set in “PCI Secondary Status and I/O Limit and Base Register”
3. R_MA bit is set in the “PCIe Secondary Uncorrectable Error Status Register”
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 90
4. Header is logged in the “PCIe Secondary Header Log 1 Register” and SUFEP is updated in the
“PCIe Secondary Error Capabilities and Control Register” if R_MA Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and ERR_PTR is not valid
5. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of R_MA bit in
“PCIe Secondary Uncorrectable Error Severity Register” if R_MA Mask bit is clear in the “PCIe
Secondary Uncorrectable Error Mask Register” or MA_ERR bit is set in “PCI Bridge Control and
Interrupt Register”, and either SERR_EN bit is set in “PCI Control and Status Register” or
FTL_ERR_EN/NFTL_ERR_EN bit is set in “PCIe Device Control and Status Register”
6. S_SERR bit is set in “PCI Control and Status Register” if the R_MA Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” or MA_ERR bit is set in “PCI Bridge Control and
Interrupt Register” and the SERR_EN bit is set
7. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in the “PCIe Device Control and Status Register”
9.2.5.2Master-Abort On PCI/X Interface for Non-Posted Transaction
When the Tsi384 receives a Master-Abort on the PCI/X bus while forwarding a non-posted PCIe
request, it does the following:
1. Returns a completion with Unsupported Request status on the PCIe
9. Error Handling90
2. R_MA bit is set in “PCI Secondary Status and I/O Limit and Base Register”
3. R_MA bit is set in “PCIe Secondary Uncorrectable Error Status Register”
4. Header is logged in the “PCIe Secondary Header Log 4 Register” and ERR_PTR is updated in the
“PCIe Secondary Error Capabilities and Control Register” if R_MA Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and ERR_PTR is not valid
5. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of R_MA bit in
“PCIe Secondary Uncorrectable Error Severity Register” if R_MA Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and either SERR_EN bit is set in “PCI Control and
Status Register” or FTL_ERR_EN/NFTL_ERR_EN bit is set in “PCIe Device Control and Status
Register”
6. S_SERR bit is set in “PCI Control and Status Register” if an error message (Fatal/Non-Fatal) is
generated and the SERR Enable bit is set in “PCI Control and Status Register”
7. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in “PCIe Device Control and Status Register”
9.2.5.3Master Abort on PCI-X Interface for Split Completion
When the Tsi384 forwards PCIe completions to the PCI-X Interface as split completions and it
encounters a Master-Abort, the following actions are taken:
1. Discards the entire transaction
2. R_MA bit is set in “PCI Secondary Status and I/O Limit and Base Register”
3. SCD bit is set in the “PCI-X Capability and Status Register”
4. MA_SC bit is set in “PCIe Secondary Uncorrectable Error Status Register”
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 91
9. Error Handling91
5. Header is logged in the Secondary Header log register and ERR_PTR is updated in the “PCIe
Secondary Error Capabilities and Control Register” if MA_SC Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and ERR_PTR is not valid
6. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of Master Abort on
Split Completion bit in “PCIe Secondary Uncorrectable Error Severity Register”, if MA_SC Mask
bit is clear in “PCIe Secondary Uncorrectable Error Mask Register” and either SERR_EN bit is set
in “PCI Control and Status Register” or FTL_ERR_EN/NFTL_ERR_EN bit is set in “PCIe Device
Control and Status Register”
7. S_SERR bit is set in “PCI Control and Status Register” if an error message (Fatal/Non-Fatal) is
generated and the SERR_EN bit is set in “PCI Control and Status Register”
8. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in “PCIe Device Control and Status Register”
9.2.6Received Target-Abort On PCI/X Interface
This section describes the functionality of the Tsi384 when a Target-Abort is received on the PCI/X
Interface in response to posted, non-posted and split completion transa ct ions.
9.2.6.1Target Abort On A Posted Transaction
When the Tsi384 receives Target-Abort on the PCI/X Interface for posted requests, it takes the
following actions:
1. Drops the entire transaction
2. R_TA bit is set in “PCI Secondary Status and I/O Limit and Base Register”
3. R_TA bit is set in “PCIe Secondary Uncorrectable Error Status Register”
4. Header is logged in the “PCIe Secondary Header Log 1 Register” and ERR_PTR is updated in the
“PCIe Secondary Error Capabilities and Control Register” if R_TA Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and ERR_PTR is not valid
5. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of R_TA bit in the
“PCIe Secondary Uncorrectable Error Severity Register” if R_TA Mask bit is clear in the “PCIe
Secondary Uncorrectable Error Mask Register” and either SERR_EN bit is set in the “PCI Control
and Status Register”
or FTL_ERR_EN/NFTL_ERR_EN bit is set in the “PCIe Device Control and
Status Register”
6. S_SERR bit is set in “PCI Control and Status Register” if an error message (Fatal/Non-Fatal) is
generated and the SERR_EN bit is set
7. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in “PCIe Device Control and Status Register”
9.2.6.2Target-Abort On PCI/X Interface For Non-Posted Transaction
When the Tsi384 receives a Target-Abort while forwarding a PCIe non-posted request to the PCI/X
Interface, it takes the following actions:
1. Returns a completion with Completer Abort status on the PCIe link
2. R_TA bit is set in “PCI Secondary Status and I/O Limit and Base Register”
3. R_TA bit is set in “PCIe Secondary Uncorrectable Error Status Register”
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 92
4. Header is logged in the “PCIe Secondary Header Log 1 Register” and ERR_PTR is updated in the
“PCIe Secondary Error Capabilities and Control Register” if R_TA Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and ERR_PTR is not valid
5. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of R_TA bit in
“PCIe Secondary Uncorrectable Error Severity Register” if R_TA Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and either SERR_EN bit is set in “PCI Control and
Status Register” or FTL_ERR_EN/NFTL_ERR_EN bit is set in “PCIe Device Control and Status
Register”
6. S_SERR bit is set in “PCI Control and Status Register” if an error message (Fatal/Non-Fatal) is
generated and the SERR_EN bit is set in “PCI Control and Status Register”
7. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in “PCIe Device Control and Status Register”
9.2.6.3Target-Abort On PCI-X Interface For Split Completion
When the Tsi384 forwards PCIe completions to the PCI-X Interface as split completions and it
encounters a Target Abort, it takes the following actions:
1. Discards the entire transaction
2. R_TA bit is set in “PCI Secondary Status and I/O Limit and Base Register”
9. Error Handling92
3. SCD bit is set in “PCI-X Capability and Status Register”
4. TA_SC bit is set in the “PCIe Secondary Uncorrectable Error Status Register”
5. Header is logged in the Secondary Header log register and ERR_PTR is updated in the “PCIe
Secondary Error Capabilities and Co ntrol Register” if TA_SC Mask bit is clear in “PCIe Secondary
Uncorrectable Error Mask Register” and ERR_PTR is not valid
6. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of TA_SC bit in
“PCIe Secondary Uncorrectable Error Severity Register” if TA_SC Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and either SERR_EN bit is set in “PCI Control and
Status Register” or FTL_ERR_EN/NFTL_ERR_EN bit is set in “PCIe Device Control and Status
Register”
7. S_SERR bit is set in “PCI Control and Status Register” if an error message (Fatal/Non-Fatal) is
generated and the SERR_EN bit is set
8. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in “PCI Control and Status Register”
9.2.7PCIe Unsupported Request Completion Status
When the Tsi384 receives a completion with Unsupported Request status on the PCIe Interface in
response to any forwarded non-poste d PCI-X transaction, it takes the following actions:
1. R_MA bit is set in the “PCI Control and Status Register”
2. Split completion message is generated
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 93
9. Error Handling93
9.2.8PCIe Completer Abort Completion Status
When the Tsi384 receives a completion with Completer Abort status on the PCIe Interface in response
to any forwarded non-posted PCI-X transaction, it takes the following actions:
1. R_TA bit is set in the “PCI Control and Status Register”
2. S_TA bit is set in “PCI Secondary Status and I/O Limit and Base Register”
3. Split completion error message is generated
9.2.9Receiver of an Unexpected Completion
The Tsi384 takes the following actions when it receives an Unexpected Completion from PCIe that
matches the PCIe Interface Requester ID:
1. If the severity of the UXC bit in “PCIe Uncorrectable Error Severity Register” is Non-Fatal and the
ANFE Mask bit is clear in “PCIe Uncorrectable Error Mask Register” then:
•A Correctable error message is generated if COR_ERR_EN bit is set in “PCIe Device Control
and Status Register”
•ANFE bit is set in “PCIe Correctable Error Status Register”
•COR_ERR_DTD bit is set in “PCIe Device Control and Status Register”
•UXC bit is set in “PCIe Uncorrectable Error Mask Register”
•TLP header is logged in the Header Log register and ERR_PTR is updated if the UXC bit in
“PCIe Uncorrectable Error Mask Register”
is clear and the ERR_PTR is not valid
2. If the severity of UXC in “PCIe Uncorrectable Error Severity Register” is Non-Fatal and the
ANFE Mask bit is set in “PCIe Uncorrectable Error Mask Register” then:
•No error message is generated
•COR_ERR_DTD bit is set in “PCIe Device Control and Status Register”
•ANFE bit in “PCIe Correctable Error Status Register” is set
3. If not Advisory Non-Fatal Error then:
•Fatal error message is generated if UXC Mask bit is clear in “PCIe Uncorrectable Error Mask
Register” and either SERR_EN bit in “PCI Control and Status Register” is set or
FTL_ERR_EN bit in “PCIe Device Control and Status Register” is set
•FTL_ERR_DTD bit is set in “PCIe Device Control and Status Register”
•UXC bit is set in “PCIe Uncorrectable Error Mask Register”
•TLP header is logged in the Header Log register and ERR_PTR is updated if the UXC Mask
bit is clear and the ERR_PTR is not valid
•S_SERR bit is set in the “PCI Control and Status Register” if Fatal error message is generated
and the SERR_EN bit in “PCI Control and Status Register” is set
•The T si384 also se ts the UXC bit in the “PCI-X Bridge Status Register” if the s plit completion
is targeted at the bridge; that is, the requester ID carries the bridge’s PCI-X Bus Number, and
has a Device Number and Function Number set to zero, but the tag field does not match that of
any transactions owned by the bridge
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 94
9.3PCI/X as Originating Interface
Requ estor /Split
or Del ayed
Transac tion
co mp le te r
Tsi 384Completer
PC Ie
(Des tination
In ter fa ce)
PC I/X
(Ori ginati ng
Interface)
This section describes how the Tsi384 handles errors for upstream transactions from PCI/X to PCIe
(see Figure 23). The bridge supports TLP poisoning as a Transmitter to permit proper forwarding of
parity errors that occur on the PCI/X Interface.
Figure 23: Transaction Error Forwarding with PCI/X as Originating Interface
Table 15 provides the error forwarding requirements for Uncorrectable data errors detected by the
Tsi384 when a transaction targets the PCIe Interface. Posted and non-posted writ e data, and split
completion data, received on the secondary PCI/X Interface with bad parity are forwarded to PCIe as
Poisoned TLPs.
9. Error Handling94
Table 15: Error Forwarding Requirements for Received PCI/X Errors
Received PCI/X ErrorForwarded PCIe Error
Write with Uncorrectable Data ErrorWrite request with Poisoned TLP
Split Read Completion with Uncorrectable
Data Error
Split Completion message with
Uncorrectable Data Error in Data Phase
Read Completion with Poisoned TLP
Read/Write Completion with Completer
Abort Status
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 95
9. Error Handling95
Table 16 describes the Tsi384 behavior on a PCI Delayed transaction that is forwarded by a bridge to
PCIe as a Memory Read request or an I/O Read/Write request, and the PCIe Interface returns a
completion with Unsupported Request or Completer Abort Completion status for the request.
Table 16: Error Forwarding Requirements for PCI Delayed Transaction
PCI/X Immediate Response
PCIe Completion Status
Unsupported Request (on Memory
or I/O Read)
Unsupported Request (on I/O
Write)
Completer AbortTarget AbortTarget Abort
Master-Abort Mode = 1
Target AbortNormal Completion, return
Target AbortNormal Completion
PCI/X Immediate Response
Master-Abort Mode = 0
0xFFFF_FFFF
9.3.1Received PCI/X Errors
This section describes how the Tsi384 handles PCI/X errors.
9.3.1.1Uncorrectable Data Error on a Non-Posted Write Transaction PCI Mode
When the T si384 receives non-posted write transa ction that is a ddressed such that it crosses the bridge,
and the bridge detects an uncorrectable data error on its PCI Interface, it does the following:
1. D_PE bit is set in “PCI Secondary Status and I/O Limit and Base Register”
2. If S_PERESP bit is set in the “PCI Bridge Control and Interrupt Register”, then the transaction is
discarded and is not forwarded to PCIe and the PERR# pin is asserted on the PCI bus
3. If S_PERESP bit is not set in “PCI Bridge Control and Interrupt Register”, then the data is
forwarded to PCIe as a Poisoned TLP. M_DPE bit is set in “PCI Control and Status Register” if the
S_PERESP bit is set. The PERR# pin is not asserted on the PCI bus
4. UDERR bit is set in “PCIe Secondary Uncorrectable Error S t atus Register”
5. Header is logged in the “PCIe Secondary Header Log 1 Register” and ERR_PTR is updated in the
“PCIe Secondary Error Capabilities and Control Register” if UDERR Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and ERR_PTR is not valid
6. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of Uncorrectable
Data Error bit in “PCIe Secondary Uncorrectable Error Severity Register”, if UDERR Mask bit is
clear in “PCIe Secondary Uncorrectable Error Mask Register” and either SERR_EN bit is set in
“PCI Control and Status Register” or FTL_ERR_EN/NFTL_ERR_EN bit is set in “PCIe Device
Control and Status Register”
7. S_SERR bit is set in “PCI Control and Status Register” if an error message (Fatal/Non-Fatal) is
generated and the SERR_EN bit is set
8. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in “PCIe Device Control and Status Register”
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 96
9.3.1.2Uncorrectable Data Error on a Non-Posted Write PCI-X Mode
When the Tsi384 receives non-posted write transaction that is addressed such that it crosses the bridge
and the bridge detects an uncorrectable data error on its secondary PCI-X interface, it does the
following:
1. D_PE bit is set in “PCI Secondary Status and I/O Limit and Base Register”
2. The Tsi384 always signals Data Transfer for non-posted write transactions, and if there is an
uncorrectable data error, the transaction is discarded
3. If S_PERESP bit is set in “PCI Bridge Control and Interrupt Register”, the PERR# pin is asserted
on the PCI bus
4. UDERR bit is set in “PCIe Secondary Uncorrectable Error Status Register”
5. Header is logged in the “PCIe Secondary Header Log 1 Register” and ERR_PTR is updated in the
“PCIe Secondary Error Capabilities and Control Register” if UDERR Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and ERR_PTR is not valid
6. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of UDERR bit in
“PCIe Secondary Uncorrectable Error Severity Register” if UDERR Mask bit is clear in the “PCIe
Secondary Uncorrectable Error Mask Register” and either SERR_EN bit is set in the “PCI Control
and Status Register” or FTL_ERR_EN/NFTL_ERR_EN bit is set in “PCIe Device Control and
Status Register”
9. Error Handling96
7. S_SERR bit is set in “PCI Control and Status Register” if an error message (Fatal/Non-Fatal) is
generated and the SERR_EN bit is set
8. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in “PCIe Device Control and Status Register”
9.3.1.3Uncorrectable Data Error on a Posted Write
When the Tsi384 receives posted write transaction that is addressed such that it crosses the bridge and
the bridge detects an uncorrectable data error on its secondary PCI/X Interface, it does the following:
1. D_PE bit is set in “PCI Secondary Status and I/O Limit and Base Register”
2. If S_PERESP bit is set in “PCI Bridge Control and Interrupt Register”, PERR# signal is asserted
3. MDP_D bit is set in “PCI Secondary Status and I/O Limit and Base Register” if S_PERESP bit is
set in the “PCI Bridge Control and Interrupt Register”
4. UDERR bit is set in “PCIe Secondary Uncorrectable Error Status Register”
5. Header is logged in the “PCIe Secondary Header Log 1 Register” and ERR_PTR is updated in the
“PCIe Secondary Error Capabilities and Control Register” if UDERR Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and ERR_PTR is not valid
6. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of UDERR bit in
“PCIe Secondary Uncorrectable Error Severity Register” if UDERR Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and either SERR_EN bit is set in “PCI Control and
Status Register” or FTL_ERR_EN/NFTL_ERR_EN bit is set in “PCIe Device Control and Status
Register”
Tsi384 User Manual
May 5, 2014
Integrated Device Technology
www.idt.com
Page 97
9. Error Handling97
7. S_SERR bit is set in “PCI Control and Status Register” if an error message (Fatal/Non-Fatal) is
generated and the SERR_EN bit is set in “PCI Control and Status Register”
8. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in “PCIe Device Control and Status Register”
9.3.1.4Uncorrectable Data Error on Split Read Completion
When the T si384 receives a Split Read Completion that crosses the bridge and the bridge detects an
Uncorrectable Data Error on the PCI-X secondary interface, it does the following:
1. If P_PERESP bit is set in “PCI Bridge Control and Interrupt Register”, PCI PERR# signal is
asserted
2. D_PE status bit is set in “PCI Secondary Status and I/O Limit and Base Register”
3. Split Read Completion transaction is forwarded to PCIe as a poisoned TLP
4. MDP_D bit is set in “PCI Secondary Status and I/O Limit and Base Register” if the P_PERESP bit
is set in “PCI Bridge Control and Interrupt Register”
5. UDERR error bit is set in “PCIe Secondary Uncorrectable Error Status Register”
6. Header is logged in the “PCIe Secondary Header Log 1 Register” and ERR_PTR is updated in the
“PCIe Secondary Error Capabilities and Control Register” if UDERR Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and ERR_PTR is not valid
7. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of UDERR bit in
“PCIe Secondary Uncorrectable Error Severity Register” if UDERR Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and either SERR_EN bit is set in “PCI Control and
Status Register” or FTL_ERR_EN/NFTL_ERR_EN bit is set in “PCIe Device Control and Status
Register”
8. S_SERR bit is set in “PCI Control and Status Register” if an error message (Fatal/Non-Fatal) is
generated and the SERR_EN bit is set in “PCI Control and Status Register”
9. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in “PCIe Device Control and Status Register”
9.3.1.5Uncorrectable Data Error on PCI Delayed Read Completions
When the Tsi384 detects PERR# asserted by the initiating PCI master while forwarding a non-poisoned
read completion from PCIe to PCI, it does the following:
1. Forwards the remainder of completion
2. PERR_AD bit is set in “PCIe Secondary Uncorrectable Error S ta tus Register”
3. Header is logged in the “PCIe Secondary Header Log 1 Register” and ERR_PTR is updated in the
“PCIe Secondary Error Capabilities and Control Register” if, PERR_AD Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and ERR_PTR is not valid
4. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of PERR_AD bit in
“PCIe Secondary Uncorrectable Error Severity Register”, if PERR_AD Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and either SERR_EN bit is set in “PCI Control and
Status Register” or FTL_ERR_EN/NFTL_ERR_EN bit is set in “PCIe Device Control and Status
Register”
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 98
5. S_SERR bit is set in “PCI Control and Status Register” if an error message (Fatal/Non-Fatal) is
generated and the SERR_EN bit is set in “PCI Control and Status Register”
6. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in “PCIe Device Control and Status Register”
When the Tsi384 detects PERR# asserted by the initiating PCI master while forwarding a poisoned
read completion from PCIe to PCI, it does the above mentioned actions but no error message is
generated.
9.3.1.6Uncorrectable Address Error
When the Tsi384 detects an Uncorrectable Address Error, and parity error detection is enabled using
the S_PERESP bit in “PCI Bridge Control and Interrupt Register”, the bridge takes the following
actions:
1. Transaction is terminated with a Target Abort and discarded
2. D_PE bit is set in “PCI Secondary Status and I/O Limit and Base Register” independent of
S_PERESP bit in “PCI Bridge Control and Interrupt Register”
3. S_TA bit is set in “PCI Secondary Status and I/O Limit and Base Register”
4. UADD_ERR bit is set in “PCIe Secondary Uncorrectable Error Status Register”
9. Error Handling98
5. Header is logged in the Secondary Header Log register and ERR_PTR is updated in the “PCIe
Secondary Error Capabilities and Control Register” if UADD_ERR Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and ERR_PTR is not valid
6. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of UADD_ERR bit
in “PCIe Secondary Uncorrectable Error Severity Register” if UADD_ERR Mask bit is clear in
“PCIe Secondary Uncorrectable Error Mask Register” and either SERR_EN bit is set in “PCI
Control and Status Register” or FTL_ERR_EN/NFTL_ERR_EN bit is set in “PCIe Device Control
and Status Register”
7. S_SERR bit is set in “PCI Control and Status Register” if an error message (Fatal/Non-Fatal) is
generated and the SERR_EN bit is set in “PCI Control and Status Register”
8. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in “PCIe Device Control and Status Register”
9.3.1.7Uncorrectable Attribute Error
When the Tsi384 detects an Uncorrectable Attribute Error and parity error detection is enabled via the
Parity Error Response Enable bit in “PCI Bridge Control and Interrupt Register” then the bridge takes
the following actions:
1. Transaction is terminated with a Target Abort and discarded
2. D_PE bit is set in “PCI Secondary Status and I/O Limit and Base Register” independent of
S_PERESP bit in “PCI Bridge Control and Interrupt Register”
3. S_TA bit is set in “PCI Secondary Status and I/O Limit and Base Register”
4. UATT_ERR bit is set in “PCIe Secondary Uncorrectable Error Status Register”
5. Header is logged in the Secondary Header Log register and ERR_PTR is updated in the “PCIe
Tsi384 User Manual
May 5, 2014
Secondary Error Capabilities and Control Register” if UATT_ERR Mask bit is clear in “PCIe
Secondary Uncorrectable Error Mask Register” and ERR_PTR is not valid
Integrated Device Technology
www.idt.com
Page 99
9. Error Handling99
6. Error Fatal or Non-Fatal message is generated on PCIe as per the severity level of UATT_ERR bit
in “PCIe Secondary Uncorrectable Error Severity Register” if UATT_ERR Mask bit is clear in
“PCIe Secondary Uncorrectable Error Mask Register” and either SERR_EN bit is set in “PCI
Control and Status Register” or FTL_ERR_EN/NFTL_ERR_ EN bit is set in “PCIe Device Control
and Status Register”
7. S_SERR bit is set in “PCI Control and Status Register” if an error message (Fatal/Non-Fatal) is
generated and the SERR_EN bit is set in “PCI Control and Status Register”
8. FTL_ERR_DTD/NFTL_ERR_DTD bit is set in “PCIe Device Control and Status Register”
9.3.2Unsupported Request Completion Status
The T si384 provides two methods for handling a PCIe completion received with Unsupported Request
status in response to a request originated by a secondary interface in PCI mode. The bridge’s response
to this completion is controlled by the MA_ERR bit in “PCI Bridge Control and Interrupt Register”:
•MA_ERR bit set – When MA_ERR is set the Tsi384 signals a Target-Abort to the originating
master of an upstream read or a non-posted write transaction if the corresponding request on the
PCIe link results in a completion with Unsupported Request status. The Tsi3 84 also sets the S_TA
bit in the “PCI Secondary Status and I/O Limit and Base Register”.
•MA_ERR bit is cleared – This is the default PCI compatible mode where an Unsupported Request
Error is not considered an error. When a Read transaction initiated on the secondary interface
results in a completion with Unsupported Request status, the Tsi384 returns 0xFFFF_FFFFto the
originating master and normally terminates the read transaction on the originatin g interface (by
asserting TRDY#). When a non-posted write transaction results in a completion with Unsupported
Request status, the Tsi384 normally completes the write transaction on the originating bus (by
asserting TRDY#) and discards the write data.
In all cases of receiving Unsupported Request completion status on PCIe in response to a PCI request
initiated on the secondary interface, the Tsi384 sets the R_MA in the “PCI Control and Status
Register”.
9.3.3Completer Abort Completion Status
When the Tsi384 receives a completion with Completer Abort status on the PCIe link in response to a
forwarded non-posted PCI transaction, it sets the R_TA bit in the “PCI Secondary Status and I/O Limit
and Base Register”.
A Completer Abort response on PCIe translates to a Delayed Transaction Ta rget-Abort if the secondary
interface is in PCI mode. The Tsi384 provides data to the requesting agent up to the point where data
was successfully returned from the PCIe interface, and then signals Target-Abort. R_TA is set in “PCI
Control and Status Register” when signaling a Target-Abort to a PCI agent.
Integrated Device Technology
www.idt.com
Tsi384 User Manual
May 5, 2014
Page 100
9.3.4Split Completion Message with Completer Errors
A transaction originating from the PCIe Interface that requires a completion may be forwarded to the
PCI-X Interface where the target responds with split response. If the completer encounters an abnormal
condition that prevents it from executing a split transaction, the completer must notify the requestor of
the abnormal condition by sending a Split Completion Message wi th th e Completer Error class.
Table 17 lists the abnormal conditions and the Tsi384’s response to the Split Completion Message.
When the bridge responds with Completer Abort status, it sets the S_TA bit in the “PCI Secondary
Status and I/O Limit and Base Register”.
Table 17: Abnormal Conditions and Tsi384’s Response to Split Completion Message
PCI-X Split
Completion
Message
Completer Error
Code CLASS
Completer Error
Code INDEX
PCIe Completion
Status
Secondary
Status Register
9. Error Handling100
Secondary
Uncorrectable
Error Status
Register
Master-Abort0x10x00Unsupported
Request
Target-Abort0x10x01Completer AbortReceived Target
Uncorrectable
Write Data Error
Byte Count Out of
Range
Uncorrectable
Split Write Data
Error
Device specific
Error
0x10x02Unsupported
Request
0x20x00Unsupported
Request
0x20x01Unsupported
Request
0x20x8XCompleter AbortNoneNone
Received Master
Abort
Abort
Master Data Parity
Error
NoneNone
Master Data Parity
Error
9.3.4.1Split Completion Message with Master Abort
When the Tsi384 receives a Split Completion message with Master-Abort, it takes the following
actions:
1. Completion with Unsupported request is returned to the requester
2. R_MA is set in “PCI Secondary Status and I/O Limit and Base Register”
Received Master
Abort
Received Target
Abort
PERR# Assertion
Detected
PERR# Assertion
Detected
3. R_MA is set in “PCIe Secondary Uncorrectable Error Status Register”
4. Header is logged in the Secondary Header log register and ERR_PTR is updated in the “PCIe
Tsi384 User Manual
May 5, 2014
Secondary Error Capabilities and Control Register” if R_MA Mask bit is clear in “PCIe Secondary
Uncorrectable Error Mask Register” and ERR_PTR is not valid
Integrated Device Technology
www.idt.com
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.