PCI 2-3 Book Addendum
PCI 2-3 Book Addendum
3 Update
ECN Description
Low Profile Add-in Card Adds the Low Profile add-in card form factor.
Add-in Card Trace Extends the low end of the add-in card trace
Impedance impedance.
Add-in Card Keying Deletes 5 volt only keyed add-in card support.
1
PCI System Architecture
Feature Description
Add-In Card Size The specification defines three card sizes: long, short and vari-
able-height short cards, AND NEW LOW-PROFILE ADD-IN CARDS.
ADD-IN CARD COM- THE PCI SPEC AND PCI-X ADDENDUM DEFINE CARDS THAT OPERATE
PATIBILITY AT DIFFERENT SPEEDS AND WITH DIFFERENT PROTOCOLS. ALL 3.3 ADD-
IN CARDS AND COMPONENTS INCLUDING PCI 33 MHZ, PCI 66
MHZ, PCI-X 66 MHZ, AND PCI-X 133 MHZ ARE DESIGNED TO
FUNCTION IN A PCI 33 MHZ SYSTEM. NOTE HOWEVER, THAT SOME
CARDS AND COMPONENTS REQUIRE 3.3 VOLTS BUS OPERATION.
The contact information specified at the bottom of Page 13 for obtaining the
specification has changed:
2
PCI 2.3 Update
Chapter 3: Reflected-Wave
Switching
The section on RST#/REQ64# Timing on page 29 of the 4th edition has been
rewritten and expanded. A timing diagram has been added to illustrate the tim-
ing relationships between power, clock, and reset. Also, the definition of Tfail
has been added to the discussion and timing diagram.
The only change to this section that is brought about by the 2.3 specification is a
new parameter defined as "power valid to reset high" timing (Tpvrh). The dis-
cussion of this parameter is highlighted in red below and is illustrated in figure
3-5.
RST#/REQ64# Timing
The assertion and deassertion of RST# is asynchronous to the PCI clock signal,
however, the specification also permits synchronous reset. The following list
describes the timing relationships between power, clock, and reset and illus-
trated in Figure 3-5 on page 4.
• The specification requires that RST# be asserted as early as possible during
the power-up sequence. Figure 3-5 on page 4 illustrates RST# going active
following the assertion of PWR_GOOD.
• Once asserted, RST# must remain asserted for a minimum of 1ms after the
power has stabilized (Trst).
• RST# must remain asserted for a minimum of 100 microseconds after the
CLK has stabilized (Trst-clk).
• DURING THE FIRST RESET SEQUENCE (I.E. POWER-UP), RST# MUST REMAIN ASSERTED
FOR 100MS FROM POWER VALID (TPVRH). NOTE THAT IF RST# IS ASSERTED WHILE THE 2.3
POWER SUPPLY VOLTAGES REMAIN WITHIN THEIR SPECIFIED LIMITS (E.G. A SOFTWARE
RESET), THE MINIMUM PULSE WIDTH OF RST# IS TRST.
• When RST# is asserted, all devices must float their output drivers within a
maximum of 40ns. A device is not considered reset until Trst and Trst-clk
have been satisfied.
• During assertion of RST#, the system board reset logic must assert REQ64#
for a minimum of 10 clock cycles (Trrsu). REQ64# may remain asserted for a
maximum of 50ns after RST# is deasserted (Trrh). For a discussion of
REQ64# assertion during reset, refer to “64-bit Cards in 32-bit Add-in Con-
nectors” on page 268.
3
PCI System Architecture
• If power goes out of specification on either or both power rails, the system
will re-assert RST#. This forces all devices to float their outputs to protect
against possible parasitic currents short circuiting the output drivers. The
time from detecting "power fail" to assertion of RST# (Tfail) depends on the
power fail condition as follows:
- 500ns (max.) if either power rail goes out of tolerance by more than
500mV.
- 100ns (max.) if the 5V rail falls below the 3.3V rail by more than 300mV.
Power
Power Valid Power Fail
Tfail
(See text)
PCI_Clk
Power Stable
PWR_GOOD
Trst
RST# (1ms min.)
Trst-clk
(100µs min.)
REQ64#
Trrsu Trrh
(10*Tcyc min.) (0-50ns)
Tpvrh
(100ms min.)
4
PCI 2.3 Update
• Figures 4-1 and 4-2 now include the SM Bus interface signals.
• A new section on the SM Bus interface has also been added
• The section on Snoop Support Signals has been removed.
• Table 4-7 now includes the SM Bus signals.
Address/Data
and Command
64-Bit
PAR64 Extension
PAR
REQ64#
FRAME# ACK64#
TRDY#
CLKRUN# Clock Control
Interface IRDY#
PME#
Control STOP#
DEVSEL#
3.3Vaux } Power Management
(added in 2.2)
}System Management
SMBDAT
SMBCLK Bus
TDI
REQ# TDO
Arbitration JTAG
GNT# TCK (IEEE
CLK TMS 1149.1)
System RST# TRST#
PERR# INTA#
Error
Reporting SERR# INTB#
INTC# Interrupt
Request
INTD#
5
PCI System Architecture
Required Optional
Signals Signals
Address/Data
and Command 64-Bit
Extension
PAR PAR64
REQ64#
FRAME# ACK64#
TRDY# CLKRUN# Clock Control
IRDY#
}
PME# Power Management
Interface STOP#
Control 3.3Vaux (added in 2.2)
DEVSEL#
}System Management
SMBDAT
IDSEL SMBCLK Bus
TDI
TDO
CLK JTAG
TCK
System RST# (IEEE
TMS 1149.1)
TRST#
Error PERR#
Reporting SERR# INTA#
INTB#
Interrupt
INTC# Request
INTD#
6
PCI 2.3 Update
SIGNAL DESCRIPTION
THE SM BUS INTERFACE IS SPECIFIED IN THE 2.0 VERSION OF THE SM BUS SPECIFICATION.
THIS 2.0 SPECIFICATION ADDS HIGH POWER CHARACTERISTICS THAT PERMITS SM DEVICES
TO OPERATE IN THE PCI BUS ENVIRONMENT. EARLIER VERSIONS OF THE SM BUS SPECIFICA-
TION SUPPORTED ONLY LOWER POWER ENVIRONMENTS (E.G. SMART BATTERIES).
7
PCI System Architecture
IDSEL STEPPING PERMITS THE AD BUS, WHICH CARRIES THE IDSEL INFORMATION DURING
TYPE ZERO CONFIGURATION TRANSACTIONS, TO BE DRIVEN PRIOR TO THE ASSERTION OF
FRAME# . THIS ENSURES THAT THE IDSEL# INFORMATION, WHICH MUST TRAVERSE A COU-
PLING RESISTOR, IS VALID WHEN FRAME# IS DRIVEN ACTIVE. THE PROBLEM IS CAUSED BY
A SERIES RESISTOR THAN CONNECTS THE AD IDSEL INPUT OF A TARGET
LINE TO THE
DEVICE, THUS CREATING A SLOW SLEW RATE ON IDSEL. THE NUMBER OF CLOCKS THE
ADDRESS BUS SHOULD BE PRE-DRIVEN IS DETERMINED FROM THE RC TIME CONSTANT ON
IDSEL. ALL PRIOR USES OF STEPPING THAT WERE PERMITTED BY THE 2.2 AND EARLIER SPEC-
IFICATIONS ARE NO LONGER ALLOWED BY THE 2.3 SPECIFICATION.
8
PCI 2.3 Update
IT IS A RULE THAT THE ARBITER CANNOT DEASSERT ONE MASTER’S GRANT AND ASSERT
GRANT TO ANOTHER MASTER DURING THE SAME CLOCK CYCLE IF THE BUS APPEARS TO BE
IDLE. THE BUS MAY NOT, IN FACT, BE IDLE. A MASTER MAY NOT HAVE ASSERTED FRAME#
YET BECAUSE IT IS IN THE ACT OF STEPPING IDSEL ONTO THE AD BUS.
9
PCI System Architecture
IF THE ARBITER WERE TO SIMULTANEOUSLY REMOVE THE STEPPING MASTER’S GNT# AND
ISSUEGNT# TO ANOTHER MASTER, THE FOLLOWING PROBLEM WOULD RESULT. ON THE
NEXT RISING-EDGE OF THE CLOCK, THE STEPPING MASTER DETECTS REMOVAL OF ITS GNT#
AND BEGINS TO TURN OFF ITS ADDRESS DRIVERS (WHICH TAKES TIME). AT THE SAME TIME,
THE OTHER MASTER DETECTS ITS GNT# AND BUS IDLE (BECAUSE THE STEPPING MASTER HAD
NOT YET ASSERTED FRAME# ) AND INITIATES A TRANSACTION. THIS RESULTS IN A COLLI-
SION ON THE AD BUS.
WHEN THE BUS APPEARS TO BE IDLE, THE ARBITER MUST REMOVE THE GRANT FROM ONE
MASTER, WAIT ONE CLOCK CYCLE, AND THEN ASSERT GRANT TO THE OTHER MASTER. THIS
PROVIDES A ONE CLOCK CYCLE BUFFER ZONE FOR THE STEPPING MASTER TO BACK OFF ITS
OUTPUT DRIVERS COMPLETELY BEFORE THE OTHER MASTER DETECTS ITS GRANT ALONG WITH
BUS IDLE AND STARTS ITS TRANSACTION.
Broken Master
THE ARBITER MAY ASSUME THAT A MASTER IS BROKEN IF THE ARBITER HAS ISSUED GNT# TO
THE MASTER, THE BUS HAS BEEN IDLE FOR 16 CLOCKS, AND THE MASTER HAS NOT ASSERTED
FRAME# TO START ITS TRANSACTION. THE ARBITER IS PERMITTED TO IGNORE ALL FURTHER
REQUESTS FOR BUS OWNERSHIP FROM THE BROKEN MASTER AND MAY OPTIONALLY REPORT
THE FAILURE TO THE OS (IN A DEVICE-SPECIFIC FASHION).
Stepping Example
FIGURE 11-3 ON PAGE 11 PROVIDES AN EXAMPLE OF AN INITIATOR USING STEPPING OVER
A PERIOD OF THREE CLOCKS TO DRIVE THE ADDRESS ONTO THE AD BUS.
CLOCK 3. THE INITIATOR CAN START THE TRANSACTION ON CLOCK THREE (GNT# SAM-
PLED ASSERTED AND BUS IDLE—FRAME# AND IRDY# SAMPLED DEASSERTED). IT
THEN BEGINS TO DRIVE THE ADDRESS AND IDSEL ONTO THE AD BUS AND THE COM-
MAND ONTO THE C/BE BUS.
CLOCK 4. DURING CLOCK CYCLE FOUR, IT CONTINUES TO DRIVE THE ADDRESS AND
IDSEL ONTO THE AD BUS; HOWEVER IDSEL HAS NOT YET REACHED VIH AT THE TAR-
GET.
CLOCK 5. DURING THE CLOCK CYCLE FIVE, IDSEL HAS REACHED VIH AND THE MASTER
10
PCI 2.3 Update
ASSERTS FRAME# , INDICATING THE PRESENCE OF THE ADDRESS, IDSEL, AND COM-
MAND.
CLOCK 6. WHEN THE TARGETS SAMPLE FRAME# ASSERTED ON THE RISING-EDGE OF
CLOCK SIX (THE END OF THE ADDRESS PHASE), THEY LATCH THE ADDRESS, IDSEL, AND
COMMAND AND BEGIN THE ADDRESS DECODE.
CLK
GNT#
FRAME#
IRDY#
Command Byte
C/BE#[3:0] Enables
IDSEL[ADx]
11
PCI System Architecture
15 11 10 9 8 7 6 5 4 3 2 1 0
SERR# Enable
Reserved, was Stepping Control
Parity Error Response
VGA Palette Snoop Enable
Memory Write and Invalidate Enable
Special Cycles
Bus Master
Memory Space
IO Space
12
PCI 2.3 Update
The specification does not comment on the intended use of this bit. The tempta-
tion is great to assume that this bit is intended to replace the function-specific
interrupt pending bit that is mapped into memory or IO space. This bit is
accessed by the function’s ISR to determine if it has an interrupt is pending. If
the interrupt pending bit is set the device needs servicing. The ISR clears the
interrupt pending bit and services the interrupt. Clearing the bit causes the
INTx signal to be deasserted, which of course removes the interrupt request.
Because the Interrupt Status bit is read only, it cannot replace the interrupt
pending bit.
Now let’s look at a possible use for the Interrupt Status bit. It could be useful to
the Operating System during the process of handling interrupt sharing between
PCI devices. Because multiple PCI functions can share the same interrupt, soft-
ware must decide which device(s) have actually signalled an interrupt request.
The Operating System (OS) manages this process by maintaining a list of inter-
rupt service routines that share the same interrupt. Prior to the implementation
of the Interrupt Status bit, handling interrupt sharing involved the following
steps:
This process is repeated until all the ISRs are called. This procedure is necessary
because the OS has no other way of determining which devices have an inter-
rupt pending.
The Interrupt Status bit introduced by the 2.3 version of the PCI specification
provides the OS with a known location to check which devices currently have
13
PCI System Architecture
interrupts pending execution. Rather than calling each ISR to check it’s inter-
rupt pending bit, the OS can simply check the Interrupt Status bit of each func-
tion that shares the interrupt to determine which need servicing. This reduces
the overhead required to handle interrupt sharing, and reduces the associated
latency.
Figure 14-5: Interrupt Status Bit Added to PCI Configuration Status Register
15 14 13 12 11 10 9 8 7 6 5 4 3 0
2.3 Reserved
Interrupt Status
Capabilities List
66MHz-Capable
Reserved
Fast Back-to-Back Capable
Master Data Parity Error
DEVSEL Timing
Signalled Target-Abort
Received Target-Abort
Received Master-Abort
Signalled System Error
Detected Parity Error
14
PCI 2.3 Update
15
PCI System Architecture
16
PCI 2.3 Update
Table 19-19: Class Code 11h: Data Acquisition and Signal Processing Controllers
COMMAND REGISTER
Always mandatory. This register provides basic control over the device's ability to
respond to and/or perform PCI accesses. The 2.3 specification has made the fol-
lowing changes to the command register:
• Bit 7, previously defined as Stepping Control is now Reserved.
• Bit 10, previously Reserved is now defined as Interrupt Disable.
Table 19-21 on page 18 pictures the bits that have changed with the introduction
of the PCI 2.3 specification and the register is illustrated in Figure 19-3 on page
17.
Figure 19-3: Command Register Bit Assignment
15 11 10 9 8 7 6 5 4 3 2 1 0
SERR# Enable
Reserved, was Stepping Control
Parity Error Response
VGA Palette Snoop Enable
Memory Write and Invalidate Enable
Special Cycles
Bus Master
Memory Space
IO Space
17
PCI System Architecture
Bit Function
2.3 7 RESERVED. THIS BIT WAS STEPPING CONTROL IN PCI VERSION 2.2.
2.3 10 INTERRUPT DISABLE. THE BIT DISABLES THE FUNCTION FROM ASSERTING INTX# . A
VALUE OF 0 ENABLES THE ASSERTION OF ITS INTX# SIGNAL AND A VALUE OF 1 DIS-
ABLES INTX SIGNALLING. REFER TO “INTERRUPT DISABLE” ON PAGE 236 FOR DETAILS
REGARDING THIS BIT. NOTE THAT THIS BIT HAS NO AFFECT ON MSI.
REQUIRED? A FUNCTION THAT IS CAPABLE OF SIGNALLING INTERRUPTS VIA THE INTX
SIGNAL MUST IMPLEMENT THIS BIT.
DEFAULT SETTING: THE DEFAULT STATE AFTER RESET IS ZERO (INTERRUPTS ENABLED). A
VALUE OF 1 DISABLES THE ASSERTION OF ITS INTX# SIGNAL.
15:11 Reserved
Status Register
Figure 19-4 pictures the Status Register and Table 19-22 on page 19 describes the
Status register bit that has been added by the PCI 2.3 spec.
15 14 13 12 11 10 9 8 7 6 5 4 3 0
2.3 Reserved
Interrupt Status
Capabilities List
66MHz-Capable
Reserved
Fast Back-to-Back Capable
Master Data Parity Error
DEVSEL Timing
Signalled Target-Abort
Received Target-Abort
Received Master-Abort
Signalled System Error
Detected Parity Error
18
PCI 2.3 Update
2.3 3 R INTERRUPT STATUS. THIS BIT REFLECTS THE STATE OF THE INTERRUPT WITHIN THE
FUNCTION. THE INTX SIGNAL IS ASSERTED WHEN THE FOLLOWING CONDITIONS
ARE MET:
1. THE INTERRUPT DISABLE BIT IN THE COMMAND REGISTER IS A 0 (INTERRUPTS
ARE ENABLED).
2. THIS INTERRUPT STATUS BIT IS A 1 (AN INTERRUPT IS PENDING)
NOTE THAT SETTING THE INTERRUPT DISABLE BIT TO A 1 HAS NO EFFECT ON THE
STATE OF THIS BIT.
REQUIRED? THIS BIT IS REQUIRED BY FUNCTIONS THAT ARE CAPABLE OF SIGNAL-
LING INTERRUPTS VIA AN INTX SIGNAL.
Add-In Connectors
19
PCI System Architecture
TABLE 21-1 ON PAGE 20 ILLUSTRATES THE 2.3 PINOUT CHANGES. NOTE THAT THE SHADED
COLUMN FOR 5V ONLY CARDS IS NO LONGER DEFINED WITHIN THE 2.3 SPECIFICATION,
BUT IS LEFT HERE FOR BACKWARD REFERENCE.
2.3 THIS TABLE SHOWS THE PINOUT FOR THREE CARD TYPES:
2.3 THE FOLLOWING PINOUT CHANGES WERE MADE IN THE 2.3 SPEC:
• PIN B38 WAS GROUND AND IS NOW DEFINED AS PCIXCAP (PCI-X CAPABILITY).
THIS PIN IS DEFINED BY THE PCI-X ADDENDUM TO THE PCI 2.3 SPEC. IT IS ADDED
HERE TO INDICATE ITS USE IN PCI-X AND TO INDICATE THAT THE PCI AND PCI-X
CONNECTORS ARE THE SAME EXCEPT FOR THIS PIN.
• PIN A40 WAS RESERVED AND IS NOW DEFINED AS THE SMBCLK PIN.
• PIN A41 WAS RESERVED AND IS NOW DEFINED AS THE SMBDAT PIN.
Figure 21-3 on page 21 illustrates the change in support for 5V only cards that
only the Universal card provides 5V connector compatibility.
20
PCI 2.3 Update
Figure 21-3: 3.3V, and Universal Card (5V Only Cards Not Support by Ver. 2.3)
Universal Card
(buffers support either 3.3V or 5V operation)
21
PCI System Architecture
22