Professional Documents
Culture Documents
Table of Contents
1.0 PCI Overview
PCI Mobile Design Guide PCI Bus Power Management Interface Specification PCI Hot Plug Specification PCI BI!S Specification Small PCI Specification
* PCI bus transfer consists of one address phase and any number of data phases. I/2 operations that access registers "ithin PCI targets typically ha5e only a single data phase. 0emory transfers that mo5e bloc4s of data consist of multiple data phases that read or "rite multiple consecuti5e memory locations. Both the initiator and target may terminate a bus transfer se1uence at any time. The initiator signals completion of the bus transfer by deasserting the F:*0.G signal during the last data phase. * target may terminate a bus transfer by asserting the $T2PG signal. -hen the initiator detects an acti5e $T2PG signal, it must terminate the current bus transfer and re'arbitrate for the bus before continuing. If $T2PG is asserted "ithout any data phases completing, the target has issued a retr#. If $T2PG is asserted after one or more data phases ha5e successfully completed, the target has issued a disconnect. Initiators arbitrate for o"nership of the bus by asserting a :.IG signal to a central arbiter. The arbiter grants o"nership of the bus by asserting the %ATG signal. :.IG and %ATG are uni1ue on a per slot basis allo"ing the arbiter to implement a bus fairness algorithm. *rbitration in PCI is #hidden# in the sense that it does not consume cloc4 cycles. The current initiator)s bus transfers are o5erlapped "ith the arbitration process that determines the next o"ner of the bus. PCI supports a rigorous auto configuration mechanism. .ach PCI de5ice includes a set of configuration registers that allo" identification of the type of de5ice ?$C$I, 5ideo, .thernet, etc.@ and the company that produced it. 2ther registers allo" configuration of the de5ice)s I/2 addresses, memory addresses, interrupt le5els, etc. *lthough it is not "idely implemented, PCI supports ,('bit addressing. &nli4e the ,('bit data bus option "hich re1uires a longer connector "ith an additional 7;'bits of data signals, ,('bit addressing can be supported through the base 7;'bit connector. Dual Address C#cles are issued in "hich the lo" order 7;'bits of the address are dri5en onto the *<D719!E signals during the first address phase, and the high order 7;'bits of the address ?if non'8ero@ are dri5en onto the *<D719!E signals during a second address phase. The remainder of the transfer continues li4e a normal bus transfer. PCI defines support for both = /olt and 7.7 /olt signaling le5els. The PCI connector defines pin locations for both the = /olt and 7.7 /olt le5els. 3o"e5er, most early PCI systems "ere = /olt only, and did not pro5ide acti5e po"er on the 7.7 /olt connector pins. 25er time more use of the 7.7 /olt interface is expected, but add'in boards "hich must "or4 in older legacy systems are restricted to using only the = /olt supply. * #4eying# scheme is implemented in the PCI connectors to pre5ent inserting an add'in board into a system "ith incompatible supply 5oltage. *lthough used most extensi5ely in PC compatible systems, the PCI bus architecture is processor independent. PCI signal definitions are generic allo"ing the bus to be used in systems based on other processor families. PCI includes strict specifications to ensure the signal 1uality re1uired for operation at 77 and ,, 038. Components and add'in boards must include uni1ue bus dri5ers that are specifically designed for use in a PCI bus en5ironment. Typical TTL de5ices used in
pre5ious bus implementations such as I$* and .I$* are not compliant "ith the re1uirements of PCI. This restriction along "ith the high bus speed dictates that most PCI de5ices are implemented as custom *$ICs. The higher speed of PCI limits the number of expansion slots on a single bus to no more than 7 or (, as compared to , or J for earlier bus architectures. To permit expansion buses "ith more than 7 or ( slots, the PCI $I% has defined a PCI to PCI Bridge mechanism. PCI' to'PCI Bridges are *$ICs that electrically isolate t"o PCI buses "hile allo"ing bus transfers to be for"arded from one bus to another. .ach bridge de5ice has a #primary# PCI bus and a #secondary# PCI bus. 0ultiple bridge de5ices may be cascaded to create a system "ith many PCI buses.
----------------
implemented. To operate at ,,038, both the PCI system and the PCI add'in board must be specifically designed to support the higher CLB fre1uency. *dd'in boards indicate to the system if they are ,, 038 capable through the 0,,.A signal. * ,, 038 system "ill supply a ,, 038 CLB if the add'in board supports it, and supply a default 77 038 CLB if the add'in board does not support the higher fre1uency. Li4e"ise, if a system is capable of pro5iding only a 77 038 cloc4, then a ,, 038 add'in board must be able to operate using the lo"er fre1uency. The minimum fre1uency of the CLB signal is specified at ! 38 permitting CLB to be #suspended# for po"er sa5ing purposes. :$TG %eset is dri5en acti5e lo" to cause a hard"are reset of a PCI de5ice. The reset shall cause a PCI de5ice)s configuration registers, state machines, and output signals to be placed in their initial state. :$TG is asserted and deasserted asynchronously to the CLB signal. It "ill remain acti5e for at least 1!! microseconds after CLB becomes stable.
C5B+7#809: Comman' Ty!es !!11 !1!! !1!1 !11! !111 1!!! 1!!1 1!1! 1!11 11!! 11!1 111! 1111 P*: Parit# is e5en parity o5er the *<D719!E and C/B.D79!EG signals. .5en parity implies that there is an e5en number of )1)s on the *<D719!E, C/B.D79!EG, and P*: signals. The P*: signal has the same timings as the *<D719!E signals, but is delayed by one cycle to allo" more time to calculate 5alid parity. I/2 -rite :eser5ed :eser5ed 0emory :ead 0emory -rite :eser5ed :eser5ed Configuration :ead Configuration -rite 0emory :ead 0ultiple <ual *ddress Cycle 0emory :ead Line 0emory -rite and In5alidate
(arget %ead# is dri5en lo" by the target as an indication it is read to complete the current data phase of the transaction. <uring "rites it indicates the target is ready to accept data on *<D719!E. <uring reads it indicates the target has placed 5alid data on the *<D719!E signals. 2nce asserted, the target holds T:<HG lo" until I:<HG is dri5en lo" to complete the transfer. T:<HG permits the target to insert "ait states as needed to slo" the data transfer. $T2PG Stop is dri5en lo" by the target to re1uest the initiator terminate the current transaction. In the e5ent that a target re1uires a long period of time to respond to a transaction, it may use the $T2PG signal to suspend the transaction so the bus can be used to perform other transfers in the interim. -hen the target terminates a transaction "ithout performing any data phases it is called a retr#. If one or more data phases are completed before the target terminates the transaction, it is called a disconnect. * retry or disconnect signals the initiator that it must return at a later time to attempt performing the transaction again. In the e5ent of a fatal error such as a hard"are problem the target may use $T2PG and <./$.LG to signal an abnormal termination of the bus transfer called a target abort. The initiator can use the target abort to signal system soft"are that a fatal error has been detected. L2CBG Loc$ may be asserted by an initiator to re1uest exclusi5e access for performing multiple transactions "ith a target. It pre5ents other initiators from modifying the loc4ed addresses until the agent initiating the loc4 can complete its transaction. 2nly a specific region ?a minimum of 1, bytes@ of the target)s addresses are loc4ed for exclusi5e access. -hile L2CBG is asserted, other non'exclusi5e transactions may proceed "ith addresses that are not currently loc4ed. But any non'exclusi5e accesses to the target)s loc4ed address space "ill be denied 5ia a retry operation. L2CBG is intended for use by bridge de5ices to pre5ent deadloc4s. I<$.L Initiali)ation De*ice Select is used as a chip select during during PCI configuration read and "rite transactions. I<$.L is dri5en by the PCI system and is uni1ue on a per slot basis. This allo"s the PCI configuration mechanism to indi5idually address each PCI de5ice in the system. * PCI de5ice is selected by a configuration cycle only if I<$.L is high, *<D19!E are #!!# ?indicating a type ! configuration cycle@, and the command placed on the C/B.D79!EG signals during the address phase is either a #configuration read# or #configuration "rite#. *<D1!9+E may be used to select one of up to eight #functions# "ithin the PCI de5ice. *<DJ9;E select indi5idual configuration registers "ithin a de5ice and function. <./$.LG De*ice Select is dri5en acti5e lo" by a PCI target "hen it detects its address on the PCI bus. <./$.LG may be dri5en one, t"o, or three cloc4s follo"ing the address phase. <./$.LG must be asserted "ith or prior to the cloc4 edge in "hich the T:<HG signal is asserted. 2nce <./$.LG has been asserted, it cannot be deasserted until the last data phase has completed, or the target issues a target abort. If the initiator ne5er recei5es an acti5e <./$.LG it terminates the transaction in "hat is termed a master abort.
%round %round Board present, J.=- maximum CLB:&AG Cloc$ %unning is an optional signal used to facilitate stopping of the CLB signal for po"er sa5ing purposes. CLB:&AG is intended only for the #mobile# en5ironment "here po"er consumption is critical. It is not defined on the PCI connector used for regular add'in boards. CLB:&AG is dri5en as an open drain signal. The PCI system dri5es CLB:&AG lo" "hen it is propagating a normal CLB signal. It releases CLB:&AG so it floats to a high le5el 5ia a pull'up resistor as a re1uest to stop the CLB for a specific PCI de5ice. The de5ice may then pulse CLB:&AG lo" to indicate to the system that it should continue to dri5e CLB, or allo" CLB:&AG to remain high as confirmation that CLB can be stopped. If the CLB has been stopped
and a PCI de5ice "ants to resume normal operation, it dri5es CLB:&AG lo" as a re1uest that the system should start dri5ing CLB again. 0,,.A ,,MH- &nable is left #open# or disconnected on add'in boards that support operation "ith a ,, 038 CLB, and grounded on add'in boards that support operation "ith only a 77 038 CLB. ,, 038 systems place a pull'up resistor on this signal to detect if the add'in board is ,, 038 capable. If the signal is high, a CLB "ith a maximum fre1uency of ,, 038 is supplied. If it is lo", a CLB "ith a maximum fre1uency of 77 038 is supplied. 77 038 systems attach this signal to ground. ,, 038 operation "ill ta4e place only if both the system and the add'in board support it.
TCB (est Cloc$ T<I (est Data Input T<2 (est !utput T0$ (est Mode Select T:$TG (est %eset
The follo"ing is a cycle by cycle description of the read transaction9 Cycle 1 ' The bus is idle. Cycle ; ' The initiator asserts a 5alid address and places a read command on the C/B.G signals. This is the address phase. Cycle 7 ' The initiator tri'states the address in preparation for the target dri5ing read data. The initiator no" dri5es 5alid byte enable information on the C/B.G signals. The initiator asserts I:<HG lo" indicating it is ready to capture read data. The target asserts <./$.LG lo" ?in this cycle or the next@ as an ac4no"ledgment it has
positi5ely decoded the address. The target dri5es T:<HG high indicating it is not yet pro5iding 5alid read data. Cycle ( ' The target pro5ides 5alid data and asserts T:<HG lo" indicating to the initiator that data is 5alid. I:<HG and T:<HG are both lo" during this cycle causing a data transfer to ta4e place. The initiator captures the data. This is the first data phase. Cycle = ' The target deasserts T:<HG high indicating it needs more time to prepare the next data transfer. Cycle , ' The second data phase occurs as both I:<HG and T:<HG are lo". The initiator captures the data pro5ided by the target. Cycle J ' The target pro5ides 5alid data for the third data phase, but the initiator indicates it is not ready by deasserting I:<HG high. Cycle + ' The initiator re'asserts I:<HG lo" to complete the third data phase. The initiator captures the data pro5ided by the target. The initiator dri5es F:*0.G high indicating this is the final data phase ?master termination@. Cycle ' F:*0.G, *<, and C/B.G are tri'stated, as I:<HG, T:<HG, and <./$.LG are dri5en inacti5e high for one cycle prior to being tri'stated.
The follo"ing is a cycle by cycle description of the read transaction9 Cycle 1 ' The bus is idle. Cycle ; ' The initiator asserts a 5alid address and places a "rite command on the C/B.G signals. This is the address phase. Cycle 7 ' The initiator dri5es 5alid "rite data and byte enable signals. The initiator asserts I:<HG lo" indicating 5alid "rite data is a5ailable. The target asserts
<./$.LG lo" as an ac4no"ledgment it has positi5ely decoded the address ?the target may not assert T:<HG before <./$.LG@. The target dri5es T:<HG lo" indicating it is ready to capture data. The first data phase occurs as both I:<HG and T:<HG are lo". The target captures the "rite data. Cycle ( ' The initiator pro5ides ne" data and byte enables. The second data phase occurs as both I:<HG and T:<HG are lo". The target captures the "rite data. Cycle = ' The initiator deasserts I:<HG indicating it is not ready to pro5ide the next data. The target deasserts T:<HG indicating it is not ready to capture the next data. Cycle , ' The initiator pro5ides the next 5alid data and asserts I:<HG lo". The initiator dri5es F:*0.G high indicating this is the final data phase ?master termination@. The target is still not ready and 4eeps T:<HG high. Cycle J ' The target is still not ready and 4eeps T:<HG high. Cycle + ' The target becomes ready and asserts T:<HG lo". The third data phase occurs as both I:<HG and T:<HG are lo". The target captures the "rite data. Cycle ' F:*0.G, *<, and C/B.G are tri'stated, as I:<HG, T:<HG, and <./$.LG are dri5en inacti5e high for one cycle prior to being tri'stated.
*< System +nvironment Pin Si'e B = , J + L=/ L=/ IATBG IAT<G P:$AT1G 1! :eser5ed 11 P:$AT;G 1; %round 17 %round 1( :eser5ed 1= %round 1, CLB 1J %round 1+ :.IG 1 L=/ ?I/2@ ;! *<D71E ;1 *<D; E ;; %round ;7 *<D;JE ;( *<D;=E ;= L7.7/ ;, C/B.D7EG ;J *<D;7E ;+ %round ; *<D;1E 7! *<D1 E 71 L7.7/ 7; *<D1JE 77 C/B.D;EG 7( %round 7= I:<HG 7, L7.7/ Si'e & L=/ IAT*G IATCG L=/ :eser5ed L=/ ?I/2@ :eser5ed %round %round :eser5ed :$TG L=/ ?I/2@ %ATG %round :eser5ed *<D7!E L7.7/ *<D;+E *<D;,E %round *<D;(E I<$.L L7.7/ *<D;;E *<D;!E %round *<D1+E *<D1,E L7.7/ F:*0.G %round T:<HG = , J +
#.#< System +nvironment Pin Si'e B L=/ L=/ IATBG IAT<G P:$AT1G 1! :eser5ed 11 P:$AT;G 1; 17 Si'e & L=/ IAT*G IATCG L=/ :eser5ed L7.7/ ?I/2@ :eser5ed 7.7/ 4ey 7.7/ 4ey Comments
Connector Bey Connector Bey :eser5ed :$TG L7.7/ ?I/2@ %ATG %round :eser5ed *<D7!E L7.7/ *<D;+E *<D;,E %round *<D;(E I<$.L L7.7/ *<D;;E *<D;!E %round *<D1+E *<D1,E L7.7/ F:*0.G %round T:<HG
1( :eser5ed 1= %round 1, CLB 1J %round 1+ :.IG 1 L7.7/ ?I/2@ ;! *<D71E ;1 *<D; E ;; %round ;7 *<D;JE ;( *<D;=E ;= L7.7/ ;, C/B.D7EG ;J *<D;7E ;+ %round ; *<D;1E 7! *<D1 E 71 L7.7/ 7; *<D1JE 77 C/B.D;EG 7( %round 7= I:<HG 7, L7.7/
*< System +nvironment Pin Si'e B 7J <./$.LG 7+ %round 7 L2CBG (! P.::G (1 L7.7/ (; $.::G (7 L7.7/ (( C/B.D1EG (= *<D1(E (, %round (J *<D1;E (+ *<D1!E ( =! =1 %round Si'e & %round $T2PG 7.7/ $<2A. $B2G %round P*: *<D1=E L7.7/ *<D17E *<D11E %round *<D! E
#.#< System +nvironment Pin Si'e B 7J <./$.LG 7+ %round 7 L2CBG (! P.::G (1 L7.7/ (; $.::G (7 L7.7/ (( C/B.D1EG (= *<D1(E (, %round (J *<D1;E (+ *<D1!E ( 0,,.A =! %round =1 %round =; *<D!+E =7 *<D!JE =( L7.7/ == *<D!=E =, *<D!7E =J %round =+ *<D!1E = L7.7/ ?I/2@ ,! *CB,(G ,1 L=/ ,; L=/ Si'e & %round $T2PG 7.7/ $<2A. $B2G %round P*: *<D1=E L7.7/ *<D17E *<D11E %round *<D! E %round %round C/B.D!EG L7.7/ *<D!,E *<D!(E %round *<D!;E *<D!!E L7.7/ ?I/2@ :.I,(G L=/ L=/ Connector Bey Connector Bey ,7 :eser5ed ,( %round ,= C/B.D,EG ,, C/B.D(EG %round C/B.DJEG C/B.D=EG L7.7/ ?I/2@ 7;'bit end ,('bit spacer ,('bit spacer ,('bit start =/ 4ey =/ 4ey Comments
Connector Bey Connector Bey C/B.D!EG L7.7/ *<D!,E *<D!(E %round *<D!;E *<D!!E L=/ ?I/2@ :.I,(G L=/ L=/ Connector Bey Connector Bey
=; *<D!+E =7 *<D!JE =( L7.7/ == *<D!=E =, *<D!7E =J %round =+ *<D!1E = L=/ ?I/2@ ,! *CB,(G ,1 L=/ ,; L=/
*< System +nvironment Pin Si'e B ,J %round ,+ *<D,7E , *<D,1E J! L=/ ?I/2@ J1 *<D= E J; *<D=JE J7 %round J( *<D==E J= *<D=7E J, %round JJ *<D=1E J+ *<D( E J L=/ ?I/2@ +! *<D(JE +1 *<D(=E +; %round +7 *<D(7E +( *<D(1E += %round +, *<D7 E +J *<D7JE ++ L=/ ?I/2@ + *<D7=E ! *<D77E 1 %round ; :eser5ed 7 :eser5ed ( %round Si'e & P*:,( *<D,;E %round *<D,!E *<D=+E %round *<D=,E *<D=(E L=/ ?I/2@ *<D=;E *<D=!E %round *<D(+E *<D(,E %round *<D((E *<D(;E L=/ ?I/2@ *<D(!E *<D7+E %round *<D7,E *<D7(E %round *<D7;E :eser5ed %round :eser5ed
#.#< System +nvironment Pin Si'e B ,J %round ,+ *<D,7E , *<D,1E J! L7.7/ ?I/2@ J1 *<D= E J; *<D=JE J7 %round J( *<D==E J= *<D=7E J, %round JJ *<D=1E J+ *<D( E J L7.7/ ?I/2@ +! *<D(JE +1 *<D(=E +; %round +7 *<D(7E +( *<D(1E += %round +, *<D7 E +J *<D7JE ++ L7.7/ ?I/2@ + *<D7=E ! *<D77E 1 %round ; :eser5ed 7 :eser5ed ( %round Si'e & P*:,( *<D,;E %round *<D,!E *<D=+E %round *<D=,E *<D=(E L7.7/ ?I/2@ *<D=;E *<D=!E %round *<D(+E *<D(,E %round *<D((E *<D(;E L7.7/ ?I/2@ *<D(!E *<D7+E %round *<D7,E *<D7(E %round *<D7;E :eser5ed %round :eser5ed ,('bit end Comments