27813901
27813901
■ Complies fully with Revision 2.0 of the ■ Provides ISA-mode for I/O transaction
PCI Local Bus Specification. filtering
■ Supports two 32-bit PCI buses ■ Provides two programmable video graphics
■ Provides maximum clock frequency of 33 adapter (VGA) bits that support forwarding
megahertz of VGA memory and I/O addresses, or
forwarding of VGA palette I/O writes
■ Provides concurrent primary and secondary
bus operation ■ Provides master latency timers and target
wait timers, for each PCI interface, which
■ Conditionally forwards the following limit the amount of latency on either bus
transactions:
■ Provides concurrent resource lock
— Memory read and write transactions in operation
either direction
■ Propagates locks across the 21050
— I/O read and write transactions in either
■ Provides seven secondary PCI bus clock
direction outputs
— Configuration read and write ■ Enables the following central functions
transactions in the downstream direction through s_cfn_l input pin for secondary
— Configuration write transactions to bus:
special cycles in either direction — Programmable rotating arbitration
■ Supports memory transaction filtering function supporting up to six secondary
through two programmable memory bus masters
address regions-one prefetchable and one — Secondary PCI bus parking at the 21050
non-prefetchable
■ Provides pins for buffer empty status and
■ Supports read prefetching for memory read write posting control
transactions
■ Supports perr and serr signals with error
■ Provides up to eight dwords (32 bytes) of checking functionality
write posting for memory write transactions
■ Provides I/O transaction filtering through
one programmable memory I/O address
region
.Notice: This document contains preliminary information on new products in production. The
specifications are subject to change without notice. Verify with your local Intel sales office that
you have the latest datasheet before finalizing a design.
Preliminary Datasheet
Contents
1.0 Introduction........................................................................................................................ 1
1.1 Purpose ................................................................................................................ 1
1.2 Audience .............................................................................................................. 1
1.3 Manual Organization ............................................................................................ 1
1.4 General Description.............................................................................................. 2
1.5 Architecture Overview .......................................................................................... 4
2.0 21050 Pin Assignment ...................................................................................................... 5
2.1 Signal Types......................................................................................................... 6
2.2 Alphabetic 21050 Pin Assignment List ................................................................. 6
2.3 Numeric 21050 Pin Assignment List .................................................................... 9
3.0 Signal Description ........................................................................................................... 13
3.1 Primary PCI Bus Signals .................................................................................... 14
3.2 Secondary PCI Bus Signals ............................................................................... 15
3.3 Secondary Bus Arbiter Signals........................................................................... 17
3.4 Clock, Reset, and Miscellaneous Signals .......................................................... 17
4.0 Functional Description..................................................................................................... 19
4.1 PCI Bus Interfaces ............................................................................................. 19
4.2 Primary PCI Bus Interface.................................................................................. 19
4.2.1 Secondary PCI Bus Interface ................................................................ 19
4.3 PCI Address Phase ............................................................................................ 20
4.3.1 Linear Increment Address Mode ........................................................... 20
4.3.2 Address and Data Stepping .................................................................. 20
4.3.3 Dual Addressing .................................................................................... 20
4.4 Device Select (devsel) Generation..................................................................... 21
4.5 Transaction Forwarding...................................................................................... 21
4.5.1 Transaction Support .............................................................................. 22
4.5.2 Data Path .............................................................................................. 23
4.5.3 Write Transactions ................................................................................ 23
4.5.3.1 Non-Posted Write Transactions ............................................ 23
4.5.3.2 Use of Non-Posted Write Transactions................................. 24
4.5.3.3 Posted Write Transactions .................................................... 25
4.5.3.4 Use of Posted Write Transactions ........................................ 26
4.5.3.5 Write Boundaries .................................................................. 27
4.5.3.6 Conversion of Memory Write and Invalidate Transactions.... 27
4.5.3.7 Fast Back-to-Back Write Transactions.................................. 28
4.5.4 Read Transactions ................................................................................ 28
4.5.4.1 Non-Prefetchable Reads....................................................... 28
4.5.4.2 The Use of Non-Prefetchable Reads .................................... 30
4.5.4.3 Prefetchable Reads .............................................................. 30
4.5.4.4 The Use of Prefetchable Reads ............................................ 33
4.5.4.5 Read Boundaries .................................................................. 33
4.5.5 Configuration Transactions ................................................................... 34
4.5.5.1 Type 0 Configuration Transactions ....................................... 35
4.5.5.2 Type 1 Configuration Transactions ....................................... 35
4.5.5.3 Type 1 to Type 0 Conversion ................................................ 36
iv Preliminary Datasheet
Figures
1-1 21050 PCI-to-PCI Bridge on the System Board ................................................... 2
1-2 21050 PCI-to-PCI Bridge with Option Cards ........................................................ 3
1-3 21050 PCI-to-PCI Bridge Block Diagram ............................................................. 4
2-1 21050 Pinout Diagram.......................................................................................... 5
4-1 21050 Data Path ................................................................................................ 23
Preliminary Datasheet v
Tables
1-1 Major Sub-Blocks of the 21050 ............................................................................ 4
2-2 Alphabetic Pin Assignment List (Sheet 1 of 4) ..................................................... 6
2-3 Numeric Pin Assignment List (Sheet 1 of 4) ........................................................ 9
3-4 Signal Types ...................................................................................................... 13
3-5 Primary OCI Bus Signals (Sheet 1 of 2)............................................................. 14
3-6 Secondary PCI Bus Signals (Sheet 1 of 2) ........................................................ 15
3-7 Secondary Bus Arbiter Signals .......................................................................... 17
3-8 Clock, Reset and Miscellaneous Signals (Sheet 1 of 2) .................................... 17
4-1 xcbe_l Commands ............................................................................................. 21
4-2 Transaction Forwarding and Filtering ................................................................ 22
4-3 Device Number to s_ad Signal Mapping............................................................ 36
4-4 Data Parity Errors Signals for Forwarded Transactions ..................................... 63
4-5 p_serr_l Assertion Conditions ............................................................................ 64
5-1 Device ID and Vendor ID Register ..................................................................... 72
5-2 Primary Status and Primary Command Register (Sheet 1 of 2) ........................ 72
5-3 Class Code/Programming Interface/Revision ID Register ................................. 73
5-4 Primary Master Latency Timer/Cache Line Size/Header Type Register............ 74
5-5 Reserved Registers (10–14 Hex) ....................................................................... 75
5-6 Primary Bus Number/Secondary Bus Number/Subordinate Bus
Number/Secondary Master Latency Timer ....................................................... 75
5-7 I/O Base Address/I/O Limit Address/Secondary Status Registers..................... 76
5-8 Memory Base Address/Memory Limit Address Register.................................... 77
5-9 Prefetchable Memory Base Addr./Prefetchable Memory Limit Addr. Register .. 78
5-10 Reserved Registers (28–38 Hex) ....................................................................... 79
vi Preliminary Datasheet
1.0 Introduction
1.1 Purpose
This data sheet describes the 21050 PCI-to-PCI bridge chip (21050). The 21050 expands the
electrical capacity of all PCI systems. The 21050 allows motherboard designers to add more PCI
devices or more PCI option card slots than a single PCI bus can support. Option card designers can
use the 21050 to implement multiple device PCI option cards.
1.2 Audience
This document is for chip designers who need to expand the electrical capacity of their PCI bus
architectures.
Preliminary Datasheet 1
The 21050 also allows the two PCI buses to operate independently. A master and a target located
on the same PCI bus can communicate with each other even if the other PCI bus is busy. As a
result, the 21050 can isolate traffic between devices on one PCI bus from devices on other PCI
buses. This is a major benefit to system performance in some applications such as multimedia.
The 21050 can extend a system beyond the electrical loading limits of a single PCI bus. Each new
PCI bus created by the addition of a 21050 provides support for additional electrical loads.
Motherboard designers can use the 21050 to add more PCI devices or PCI option card connectors
to the motherboard. Figure 1-1 shows the 21050 on the system board.
Figure 1-1. 21050 PCI-to-PCI Bridge on the System Board
CPU
Memory
and
Cache 21050
ISA or EISA
Option Slots
PCI Bus
21050
Support
Chip
Floppy
Keyboard
Serial
Parallel
Toy
Audio
A4912-01
2 Preliminary Datasheet
Option card designers can use a 21050 to implement multiple device PCI option cards. Without a
21050, you can attach only one PCI device to the PCI option connector (the PCI Local Bus
Specification, Revision 2.1 restricts PCI option cards to a single connection per PCI signal in the
option card connector). In this application, the 21050 creates an independent PCI bus on the option
card to which many devices can be attached.
21050
PCI Bus
PCI Bus
A4913-01
Preliminary Datasheet 3
Primary Secondary
Control Control
Primary Secondary
Data Path Data Path
Secondary
Configuration Registers (REG) Arbitration
(ARB)
Machine and control logic for all transactions initiated on the primary interface, whether the
PSM
transaction is intended for the 21050 itself or a target on the secondary side of the 21050.
Machine and control logic for all transactions initiated on the secondary interface. All such
SPM transactions are intended for a target on the primary interface, since 21050 registers are not
accessible from the secondary interface.
Data path for data received on the secondary interface and driven on the primary interface. Used
SPD
for writes initiated on the secondary PCI bus or reads initiated on the primary PCI bus.
Data path for data received on the primary interface and driven on the secondary interface. Used
PSD
for writes initiated on the primary PCI bus or reads initiated on the secondary PCI bus.
REG Configuration registers and corresponding control logic. Accessible from the primary interface only.
Logic for secondary bus arbitration. Receives s_req_l[5:0], as well as the PPB secondary bus
ARB
request, and drives one of the s_gnt_l[5:0] lines or the PPB secondary bus grant.
4 Preliminary Datasheet
p_cbe_l<0>
s_cbe_l<1>
s_cbe_l<0>
p_ad<00>
p_ad<01>
p_ad<02>
p_ad<03>
p_ad<04>
p_ad<05>
p_ad<06>
p_ad<07>
p_ad<08>
p_ad<09>
p_ad<10>
p_ad<11>
p_ad<12>
p_ad<13>
p_ad<14>
s_ad<15>
s_ad<14>
s_ad<13>
s_ad<12>
s_ad<11>
s_ad<10>
s_ad<09>
s_ad<08>
s_ad<07>
s_ad<06>
s_ad<05>
s_ad<04>
s_ad<03>
s_ad<02>
s_ad<01>
s_ad<00>
vdd
vdd
vdd
vdd
vdd
vdd
vdd
vss
vss
vss
vss
vss
vss
vss
vss
nc
nc
nc
208
205
200
195
190
185
180
175
170
165
160
nc 1 p_ad<15>
s_par 155 nc
vdd p_cbe_l<1>
s_serr_l p_par
s_perr_l 5 vss
s_lock_l p_serr_l
vss 150 p_perr_l
s_stop_l vss
s_devsel_l p_lock_l
vdd 10 vss
s_trdy_l p_stop_l
s_irdy_l 145 p_devsel_l
s_frame_l vdd
vss p_trdy_l
s_cbe_l<2> 15 p_irdy_l
s_ad<16> p_frame_l
s_ad<17> 140 vss
vdd p_cbe_l<2>
s_ad<18> p_ad<16>
vdd 20 nc
s_ad<19> p_ad<17>
s_ad<20> 135 vdd
vss p_ad<18>
s_ad<21>
s_ad<22>
nc 25 21040 p_ad<19>
vss
p_ad<20>
vdd 130 p_ad<21>
s_ad<23> p_ad<22>
s_cbe_l<3>
s_ad<24>
vss
30 DC287 vss
p_ad<23>
nc
s_ad<25> 125 p_idsel
vss vdd
s_ad<26> p_cbe_l<3>
s_ad<27> 35 p_ad<24>
vss vdd
s_ad<28> 120 p_ad<25>
s_ad<29> p_ad<26>
vdd vss
s_ad<30> 40 p_ad<27>
nc p_ad<28>
s_ad<31> 115 p_ad<29>
vss vdd
s_gnt_l<5> p_ad<30>
s_gnt_l<4> 45 p_ad<31>
vdd p_req_l
s_gnt_l<3> 110 p_gnt_l
s_gnt_l<2> vss
s_gnt_l<1> p_rst_l
vss 50 nc
s_gnt_l<0> nc
s_cfn_l 105 nc
100
55
90
95
60
65
80
85
70
75
vdd
vdd
vss
s_rst_l
vdd
vdd
vdd
vdd
vdd
s_req_l<0>
s_req_l<1>
s_req_l<2>
s_req_l<3>
s_req_l<4>
s_req_l<5>
vss
vss
vss
vss
vss
vss
vss
nc
nc
nc
nc
nc
nc
nc
s_dispst_l
nc
nc
nc
s_clk_o<0>
s_clk_o<1>
s_clk_o<2>
s_clk_o<3>
s_clk_o<4>
s_clk_o<5>
s_clk_o<6>
s_bufne_l
go_z
s_clk
p_clk
nand_out
nc
nc
nc
nc
nc
nc
nc
LJ-03383.AI4
Preliminary Datasheet 5
go_z 93 I nc 104 --
nand_out 92 O nc 105 --
nc 1 -- nc 106 --
nc 25 -- nc 107 --
nc 41 -- nc 126 --
nc 64 -- nc 105 --
nc 65 -- nc 137 --
nc 66 -- nc 155 --
nc 83 -- nc 166 --
nc 84 -- nc 174 --
nc 85 -- nc 189 --
nc 86 -- p_ad<00> 181 ts
nc 95 -- p_ad<01> 180 ts
nc 96 -- p_ad<02> 179 ts
nc 97 -- p_ad<03> 177 ts
nc 98 -- p_ad<04> 175 ts
nc 99 -- p_ad<05> 173 ts
nc 100 -- p_ad<06> 171 ts
nc 101 -- p_ad<07> 170 ts
nc 102 -- p_ad<08> 167 ts
nc 103 -- p_ad<09> 165 ts
6 Preliminary Datasheet
Preliminary Datasheet 7
s_cfn_l 52 I vdd 20 P
s_clk 63 I vdd 61 P
s_clk_o<0> 68 O vdd 124 P
s_clk_o<1> 70 O vdd 176 P
s_clk_o<2> 72 O vdd 3 P
s_clk_o<3> 74 O vdd 10 P
s_clk_o<4> 76 O vdd 18 P
s_clk_o<5> 78 O vdd 27 P
s_clk_o<6> 80 O vdd 39 P
s_devsel_l 9 sts vdd 46 P
s_dispst_l 90 I vdd 62 P
s_frame_l 13 sts vdd 69 P
s_gnt_l<5> 44 ts vdd 73 P
s_gnt_l<4> 45 ts vdd 77 P
s_gnt_l<3> 47 ts vdd 81 P
s_gnt_l<2> 48 ts vdd 88 P
s_gnt_l<1> 49 ts vdd 114 P
s_gnt_l<0> 51 ts vdd 121 P
s_irdy_l 12 sts vdd 135 P
s_lock_l 6 sts vdd 144 P
s_par 2 ts vss 82 P
s_perr_l 5 sts vss 94 P
s_req_l<0> 53 I vss 109 P
s_req_l<1> 54 I vss 118 P
s_req_l<2> 55 I vss 128 P
s_req_l<3> 56 I vss 59 P
s_req_l<4> 57 I vss 67 P
s_req_l<5> 58 I vss 71 P
s_rst_l 60 O vss 75 P
s_serr_l 4 I vss 79 P
s_stop_l 8 sts vss 43 P
s_trdy_l 11 sts vss 50 P
vdd 157 P vss 132 P
vdd 164 P vss 140 P
vdd 178 P vss 147 P
vdd 186 P vss 152 P
vdd 194 P vss 160 P
vdd 203 P vss 169 P
8 Preliminary Datasheet
nc 1 -- s_ad<21> 24 ts
s_par 2 ts nc 25 --
vdd 3 P s_ad<22> 26 ts
s_serr_l 4 I vdd 27 P
s_perr_l 5 sts s_ad<23> 28 ts
s_lock_l 6 sts s_cbe_l<3> 29 ts
vss 7 P s_ad<24> 30 ts
s_stop_l 8 sts vss 31 P
s_devsel_l 9 sts s_ad<25> 32 ts
vdd 10 P vss 33 P
s_trdy_l 11 sts s_ad<26> 34 ts
s_irdy_l 12 sts s_ad<27> 35 ts
s_frame_l 13 sts vss 36 P
vss 14 P s_ad<28> 37 ts
s_cbe_l<2> 15 ts s_ad<29> 38 ts
s_ad<16> 16 ts vdd 39 P
s_ad<17> 17 ts s_ad<30> 40 ts
vdd 18 P nc 41 --
s_ad<18> 19 ts s_ad<31> 42 ts
vdd 20 P vss 43 P
s_ad<19> 21 ts s_gnt_l<5> 44 ts
s_ad<20> 22 ts s_gnt_l<4> 45 ts
Preliminary Datasheet 9
vss 23 P vdd 46 P
s_gnt_l<3> 47 ts vdd 73 P
s_gnt_l<2> 48 ts s_clk_o<3> 74 O
s_gnt_l<1> 49 ts vss 75 P
vss 50 P s_clk_o<4> 76 O
s_gnt_l<0> 51 ts vdd 77 P
s_cfn_l 52 I s_clk_o<5> 78 O
s_req_l<0> 53 ts vss 79 P
s_req_l<1> 54 I s_clk_o<6> 80 O
s_req_l<2> 55 I vdd 81 P
s_req_l<3> 56 I vss 82 P
s_req_l<4> 57 I nc 83 --
s_req_l<5> 58 I nc 84 --
vss 59 P nc 85 --
s_rst_l 60 O nc 86 --
vdd 61 P p_clk 87 I
vdd 62 P vdd 88 P
s_clk 63 I vss 89 P
nc 64 -- s_dispst_l 90 I
nc 65 -- s_bufne_l 91 O
nc 66 -- nand_out 92 O
vss 67 P go_z 93 I
s_clk_o<0> 68 O vss 94 P
vdd 69 O nc 95 --
s_clk_o<1> 70 O nc 96 --
vss 71 P nc 97 --
s_clk_o<2> 72 O nc 98 --
nc 99 -- p_idsel 125 ts
nc 100 -- nc 126 --
nc 101 -- p_ad<23> 127 ts
nc 102 -- vss 128 P
nc 103 -- p_ad<22> 129 ts
nc 104 -- p_ad<21> 130 ts
nc 105 -- p_ad<20> 131 ts
nc 106 -- vss 132 P
nc 107 -- p_ad<19> 133 ts
p_rst_l 108 I p_ad<18> 134 ts
vss 109 P vdd 135 P
10 Preliminary Datasheet
Preliminary Datasheet 11
12 Preliminary Datasheet
This chapter contains a detailed description of 21050 signals. Signals are divided into four major
functions:
• Primary PCI bus
• Secondary PCI bus
• Secondary bus arbiter
• Clocks, reset, and miscellaneous
Note: The _l symbol at the end of a signal name indicates that the active, or asserted state occurs when
the signal is at a low-voltage level. If the _l symbol is not present after the signal name, then the
signal is asserted at the high voltage level.
The following table describes the signal types referred to in this chapter.
Preliminary Datasheet 13
14 Preliminary Datasheet
Preliminary Datasheet 15
Secondary PCI interface target ready. This signal indicates the target
agent’s ability to complete the current data phase of a transaction on the
s_trdy_l sts secondary PCI bus. The bridge drives s_trdy_l when acting as a target on
the secondary PCI bus and samples s_trdy_l when acting as an initiator on
the secondary PCI bus.
Secondary PCI interface initiator ready. This signal indicates the initiator’s
ability to complete the current data phase of a transaction on the
s_irdy_l sts secondary PCI bus. The bridge drives s_irdy_l when acting as an initiator
on the secondary PCI bus and samples s_irdy_l when acting as a target
on the secondary PCI bus.
Secondary PCI interface stop indicator. This signal indicates that the
current target is requesting the bus initiator to stop the current transaction
s_stop_l sts on the secondary PCI bus. The bridge drives s_stop_l when acting as a
target on the secondary PCI bus and samples s_stop_l when acting as an
initiator on the secondary PCI bus.
Secondary PCI interface resource lock. Indicates an atomic operation that
may require multiple transactions to complete. The bridge cannot be
locked, but it does propagate locks across the bridge. The bridge samples
s_lock_l sts
s_lock_l when acting as a target on the secondary PCI bus and may drive
s_lock_l when acting as an initiator on the secondary PCI bus on behalf of
a master on the primary bus.
Secondary PCI interface device select. Asserted by the bridge through
positive decoding of the address on s_ad<31:0>. When it is forwarding a
transaction upstream across the bridge. The bridge samples s_devsel_l
s_devsel_l sts
when it is acting as an initiator on the secondary PCI bus, and expects
s_devsel_l to be asserted within five cycles of s_frame_l assertion.
Otherwise, the transaction is terminated with a master abort.
Secondary PCI interface parity. Even parity calculated on 36 bits
composed of s_ad<31:0> and s_cbe_l<3:0>. The s_par signal is
generated for all address and data phases and is valid one clock cycle
after valid data or address is driven on s_ad. The s_par signal is driven
and tristated identically to s_ad, except that it is delayed clock cycle. The
s_par ts
s_par signal is driven by the bridge when acting as an initiator during
address phases and write data phases. The s_par signal is driven by the
bridge when acting as a target during read data phases. The s_par signal
is sampled as an input during all address phases, and when acting as a
target during write data phases.
Secondary PCI interface system error. Can be pulsed by any device
residing on the secondary PCI bus that detects a system error condition.
s_serr_l I The bridge does not assert s_serr_l as an output. The bridge can be
enabled to detect assertion of s_serr_l as an input and cause p_serr_l to
assert as a result.
Secondary PCI interface parity error detected. Asserted when a data parity
error is detected, and corresponds to s_par driven one clock cycle earlier.
s_perr_l sts
The bridge asserts s_perr_l when it detects a write data parity error when
acting as a target, or a read data parity error when acting as an initiator.
16 Preliminary Datasheet
Primary PCI bus clock input. Provides timing for all transactions on the
primary PCI bus. All primary PCI bus inputs are sampled on the rising
p_clk I edge of p_clk, and all primary PCI bus outputs are driven from the rising
edge of p_clk. Frequencies supported by the bridge range from 0 to 33
megahertz.
Primary PCI bus reset. Forces the bridge to a known state. All register
state is cleared and all primary PCI bus outputs are tristated. The p_rst_l
p_rst_l I signal may be asynchronous with p_clk. The p_rst_l signal must be
asserted for at least ten PCI clock cycles in order to reset the bridge
properly.
Preliminary Datasheet 17
Secondary PCI bus clock input. Provides timing for all transactions on the
secondary PCI bus. All secondary PCI bus inputs, as well as
miscellaneous inputs with s_ prefixes, are sampled on the rising edge of
s_clk I
s_clk; all secondary PCI bus outputs, as well as miscellaneous outputs
with s_ prefixes, are driven from the rising edge of s_clk. Frequencies
supported by the bridge range from 0 to 33 megahertz.
Secondary PCI bus clock outputs. Clock outputs are buffered versions of
p_clk and may be used as secondary PCI bus clocks. If used, one of these
s_clk_o<6:0> O clock outputs must be used as a bridge s_clk input. The s_clk_o<6:0>
clock may not be used to drive connector slots, and may not be used for
the p_clk input of another 21050.
Secondary PCI bus reset. Asserted by the bridge under any of the
following conditions:
• The p_rst_l signal is asserted.
• The secondary reset bit is set.
• The chip reset bit is set.
s_rst_l O
When the bridge asserts s_rst_l, it tristates all secondary PCI control
signals, and drives zeros on s_ad, s_cbe_l, and s_par. The s_rst_l signal
remains asserted until p_rst_l is deasserted, or the secondary reset bit is
cleared. Assertion of s_rst_l does not clear the bridge register state, and
bridge configuration registers are still accessible from the primary
interface.
Disable posting control. When the bridge detects this input asserted, the
bridge asserts s_bufne_l if any write data exists in data buffers. If the
bridge is configured to disable posting upon s_dispst_l assertion, no write
s_dispst_l I
data is posted and write transactions are limited to single burst transfers
until s_dispst_l is deasserted. This signal should be tied high if no external
disable posting control is required.
Buffer not empty indication. When the bridge asserts this output, write data
stored in bridge data buffers at the time of s_dispst_l assertion is not yet
s_bufne_l O
flushed. When deasserted, any write data in data buffers at the time of
s_dispst_l assertion is flushed.
Diagnostic tristate control. When asserted, tristates all bidirectional and
goz_l I
tristateable output pins.
Nand tree diagnostic output. This pin is dedicated to the diagnostic Nand
tree. The Nand tree starts at s_dispst_l and runs counter-clockwise. All
nand_out O
inputs, except p_clk and s_clk, are used in the Nand tree. The goz_l signal
should be asserted when the Nand tree feature is used.
18 Preliminary Datasheet
The primary PCI interface consists of the standard set of PCI signals. No sideband signals are defined.
In addition to the standard PCI bus signals, the secondary PCI interface implements additional
arbiter, data synchronization, and clock signals. The use of these signals is not required for proper
functionality. The secondary interface has neither an idsel input or a reset input.
The secondary interface has one input, s_dispst_l, for write buffer flushing and disabling of write
posting. A secondary interface output, s_bufne_l, indicates when data in write buffers at the time of
s_dispst_l assertion are emptied.
The secondary PCI interface accepts a separate clock signal for driving and sampling the secondary
data and control signals. The 21050 assumes that the secondary clock is a buffered version of the
primary clock. For a description of the skew specification between p_clk and s_clk, see
Section 4.14.
The 21050 also generates seven buffered versions of p_clk, called s_clk_o<6:0>, which may be
used as secondary interface clocks, one of which may be connected to s_clk.
The secondary interface has a reset output, s_rst_l, that the 21050 drives when it detects p_rst_l
asserted or the secondary reset control bit is set, or when the chip reset bit is set.
Configuration accesses forwarded to the secondary bus use the upper s_ad pins during the address
cycle as outgoing secondary idsel signals. The secondary interface does not have an idsel input
because 21050 configuration space is accessible from the primary interface only.
Preliminary Datasheet 19
During a PCI address phase, the xad<31:0> signals carry the address of the transaction, while
xcbe_l<3:0> signals carry the transaction code.
The 21050 uses address stepping as a master only when generating a Type 0 configuration address
phase on the secondary bus. One address step cycle is needed to allow the secondary bus idsel
signal to become valid, since it may be connected to an s_ad line through resistive coupling.
When address stepping is used, the secondary bus arbiter may deassert a grant before the assertion
of s_frame_l but it never asserts another grant in the same PCI cycle as the deassertion when the
secondary PCI bus is idle. This prevents address contention when address stepping is used on the
secondary interface.
The 21050 responds to all dual-address transactions on the secondary bus, and forwards them to the
primary bus. The 21050 ignores all dual-address transactions initiated on the primary bus.
When forwarding a dual-address transaction upstream, the 21050 may post write data or prefetch
read data, depending on the transaction type. The 21050 follows the same guidelines for posting
and prefetching as described for the specific transaction types.
20 Preliminary Datasheet
If the 21050 does not receive an asserted value of ydevsel_l from the target device within the
required number of PCI cycles after the 21050 asserts yframe_l, the 21050 performs a master abort
on the target bus. The 21050 may be configured to handle master aborts in two different ways
based on the Master Abort Mode bit.
In default mode, the 21050 asserts xtrdy_l on the initiator bus and completes the transaction. Write
data is not delivered, and read data is driven as FFFFFFFFh. The Received Master Abort bit is set
in the status register corresponding to the target bus.
If the Master Abort Mode bit is set, then the 21050 is enabled to perform a target abort on the
initiator bus when a master abort is detected on the target bus for read and non-posted write
operations. The 21050 asserts p_serr_l if a master abort occurs during a posted write, if the primary
serr driver enable is set and the serr disable for master abort is not set. The Received Master Abort
bit is set in the status register corresponding to the target bus. For reads and non-posted writes, the
Signaled Target Abort bit is set in the status register corresponding to the initiator bus. For posted
writes, the Signaled System Error bit is set in the Primary Status Register.
PCI commands are defined by the xcbe_l signals during the address phase. Table 4-1 lists the
xcbe_l commands.
Preliminary Datasheet 21
P → S indicates transactions in which the initiator resides on the primary side and the target resides
on the secondary side.
S → P indicates transactions in which the initiator resides on the secondary side and the target
resides on the primary side.
Interrupt acknowledge No No —
Special cycle No No —
I/O read Yes Yes Limited to one data transfer; no prefetching.
I/O write Yes Yes Limited to one data transfer; no posting.
Allows prefetching and multiple data transfers if
Memory read Yes Yes addressing the prefetchable memory range;
otherwise, limited to one data transfer; no prefetching.
Memory write Yes Yes Posting and multiple data transfers allowed.
Upstream: Type 1 → Type 1 only. Limited to one data
Configuration read Yes Yes
transfer; no prefetching.
Upstream: Type 1 → Type 1 and Type 1 → special
Configuration write Yes Yes
cycle only. Limited to one data transfer; no posting.
Allows prefetching and multiple data transfers with
Memory read multiple Yes Yes certain restrictions. See Section 4.5.4.4 and
Section 4.5.4.5.
Allows prefetching and multiple data transfers with
Memory read line Yes Yes certain restrictions. See Section 4.5.4.4 and
Section 4.5.4.5.
Memory write and
Yes Yes Posting and multiple data transfers allowed.
invalidate
Configuration write →
Yes Yes —
special cycle
Posting, prefetching, and burst limitations dependent
Dual address No Yes
on transaction type.
22 Preliminary Datasheet
Data 0
Data 1
p_ad
Data 2
Data 3
Data 4 s_ad
Data 5
Data 6
Data 7
Address
Data 0
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Address LJ-03235.AI4
Preliminary Datasheet 23
Figure 4-2 shows a non-posted I/O write transaction where the bridge returns a target disconnect
after the first data transfer.
Figure 4-2. I/O Write Timing
p_clk
p_cbe_l<3:0> 3 0
p_frame_l
p_irdy_l
p_stop_l
p_trdy_l
p_devsel_l
s_clk
s_cbe_l<3:0> 3 0
s_frame_l
s_irdy_l
s_trdy_l
s_devsel_l
LJ-03292.AI4
24 Preliminary Datasheet
Figure 4-3 shows a posted write transaction. In this diagram, data is posted simultaneously to both
upstream and downstream write buffers from both primary and secondary buses. When the secondary
bus becomes idle, the bridge delivers downstream write data to the secondary bus target. When the
downstream transaction is complete, upstream write data is delivered to the primary bus target.
For posted write transactions crossing the 21050, the initiator can post up to 8 dwords of data to the
21050 while access to the target bus is acquired. If the 21050 does not receive a target response (an
asserted value of xtrdy_l) by the time the eighth dword is about to be transferred, the 21050
performs a target disconnect on the eighth dword transfer. This is because the 21050 cannot
guarantee that the ninth dword will be transferred within eight PCI clock cycles.
If the target returns xtrdy_l before the write buffer is filled and more than eight dwords are to be
transferred, the 21050 allows continuous write data transfers from the initiator until a write
boundary is reached. If the target device stalls, causing the write buffer to fill, the 21050 causes a
target stall on the initiating bus until buffer space is available.
Write buffering allows posted write transactions to proceed at the maximum transfer rate of one
data transfer per PCI clock cycle. The 21050 introduces a delay of two PCI clock cycles between
interfaces, but buffering hides the effects this latency would have on throughput.
Preliminary Datasheet 25
p_clk
p_cbe_l<3:0> 7 0
p_frame_l
p_irdy_l
p_trdy_l
p_devsel_l
p_req_l
p_gnt_l
s_clk
s_cbe_l<3:0> 7 0 7 0
s_frame_l
s_irdy_l
s_trdy_l
s_devsel_l
p_clk
p_cbe_l<3:0> 7 0
p_frame_l
p_irdy_l
p_trdy_l
p_devsel_l
p_req_l
p_gnt_l
s_clk
s_cbe_l<3:0> 0
s_frame_l
s_irdy_l
s_trdy_l
s_devsel_l
LJ-03293.AI4
26 Preliminary Datasheet
Posted writes are disconnected at cache line boundaries if both of the following conditions occur:
• Transaction is a memory write and invalidate
• Cache line size is set to a non-zero value, but is less than sixteen.
Posted writes are disconnected at a 256-dword boundary if one of the following conditions occur:
• Transaction is a memory write
• Transaction is a memory write and invalidate, and the cache line size register is 0 or greater
than or equal to 16. (Converted to memory write.)
The cache line size is programmable in the Cache Line size register in 21050 configuration space.
The 21050 assumes that the cache line size is a power of 2. If a value that is not a power of 2 is
written into the cache line size register, the 21050 assumes the next lower power of 2 number as the
cache line size (that is, if a 6 is written, a cache line size of 4 is used).
Preliminary Datasheet 27
For either type of read that crosses the 21050, possession of both the initiator and target bus, as
well as any intermediate PCI buses between the two, must be gained before any data is transferred
from the target. Non-prefetchable and prefetchable reads are discussed in the following sections.
Figure 4-4 shows a non-prefetchable I/O read that is disconnected after the first data transfer.
28 Preliminary Datasheet
p_clk
p_cbe_l<3:0> 2 0
p_frame_l
p_irdy_l
p_stop_l
p_trdy_l
p_devsel_l
s_clk
s_cbe_l<3:0> 2 0
s_frame_l
s_irdy_l
s_trdy_l
s_devsel_l
LJ-03384.AI4
In addition, the 21050 never prefetches data for any type of read where only a single dword is requested
and the initiator is not held in wait state (that is, when xframe_l is asserted for only one cycle).
Preliminary Datasheet 29
The 21050 holds the initiator in wait states by a target stall until the target device has returned
ydevsel_l and ytrdy_l to the 21050, indicating that read data is ready. The 21050 propagates the read
data across the 21050, asserting xtrdy_l to transfer the data to the initiator.
In prefetchable read (unlike a non-prefetchable read), the 21050 keeps yframe_l asserted on the
target bus until either a read boundary is reached or until xframe_l deasserts on the target bus,
whichever comes first.
In the case of xframe_l deassertion, up to four extra dwords that are not requested by the initiator
due to 21050 latency, may be read from the target. These extra dwords are discarded. If a read
boundary is encountered before the initiator deasserts xframe_l, no nonrequested dwords are read.
Figure 4-5 shows a read up to a cache line boundary. If the initiator had requested more data, it
would have been disconnected by the 21050.
Figure 4-6 shows how extra dwords may be read due to the effects of bridge latency when
forwarding the xframe_l signal.
Figure 4-5. Memory Read with Prefetching up to Cache Line Boundary
p_clk
p_cbe_l<3:0> E 0
p_frame_l
p_irdy_l
p_trdy_l
p_devsel_l
s_clk
s_cbe_l<3:0> E 0
s_frame_l
s_irdy_l
s_trdy_l
s_devsel_l
LJ-03295.AI4
30 Preliminary Datasheet
p_clk
p_cbe_l<3:0> C 0
p_frame_l
p_irdy_l
p_trdy_l
p_devsel_l
s_clk
s_ad<31:0> Addr Data1 Data2 Data3 Data4 Data5 Data6 Data7 Data8
s_cbe_l<3:0> C 0
s_frame_l
s_irdy_l
s_trdy_l
s_devsel_l
LJ-03294.AI4
Prefetchable reads are disconnected on cache line boundaries if the cache line size register is set to
a value other than 0 and one of the following is true:
• Transaction is a memory read and both of these occur:
— Read address falls into the prefetchable address range for downstream reads
Preliminary Datasheet 31
— Prefetch Disable bit is not set in the Chip Control register for upstream reads
• Transaction is a memory read line
• Transaction is a memory read multiple and both of these occur:
— Read address falls into non-prefetchable address range for downstream reads
— Prefetch Disable bit is set in the Chip Control register for upstream reads
The 21050 assumes that the cache line size is a power of 2. If a value that is not a power of 2 is
written into the cache line size register, the 21050 assumes the next lower power of 2 number as the
cache line size (if a 6 is written, then a cache line size of 4 is used).
Figure 4-7 shows the address formats of Type 0 and Type 1 configuration accesses.
32 Preliminary Datasheet
31 11 10 08 07 02 01 00
Function
Reserved Register Number 0 0
Number
Type 0
31 24 23 16 15 11 10 08 07 02 01 00
Device Function
Reserved Bus Number Register Number 0 1
Number Number
Type 1
LJ-03237.AI4
The 21050 can respond as the intended target to Type 0 configuration transactions initiated on the
primary PCI bus. The 21050 ignores all Type 0 transactions initiated on the secondary PCI bus.
Type 0 transactions are never forwarded across the 21050.
The 21050 forwards and converts Type 1 configuration transactions downstream as one of the
following:
• Type 1 (on the primary PCI bus) to Type 0 (on the secondary PCI bus)
• Type 1 (on the primary PCI bus) to Type 1 (on the secondary PCI bus)
• Type 1 write (on primary PCI bus) to Special Cycle (on secondary PCI bus)
The 21050 forwards and converts Type 1 configuration transactions upstream as one of the
following:
• Type 1 (on the secondary PCI bus) to Type 1 (on the primary PCI bus)
• Type 1 write (on the secondary PCI bus) to special cycle (on the primary PCI bus)
Configuration write transactions cannot be posted. Transactions are disconnected after transfer of the
first dword. The initiator is held in wait states by the 21050 until data is successfully transferred to the
target. Configuration read transactions do not use prefetching. Transactions are disconnected after
transfer of the first dword, and no additional dwords are read from the target during the transaction.
Preliminary Datasheet 33
Configuration access to the 21050 configuration space is disconnected after one dword transfer.
Figure 4-8 shows a configuration read and write access to the 21050.
Figure 4-8. Type 0 Configuration Write Access and Configuration Read Access
p_clk
p_cbe_l<3:0> B 0 A 0
p_frame_l
p_irdy_l
p_trdy_l
p_devsel_l
p_idsel
LJ-03291.AI4
Before any configuration accesses can be made to the secondary PCI bus or to any other
hierarchical PCI buses on the secondary side of the 21050, the secondary bus number of this 21050
must be initialized in the 21050 configuration space.
34 Preliminary Datasheet
Table 4-3 shows the appropriate address line to be asserted is derived from the device number
driven on p_ad<15:11>.
00000 0000 0000 0000 0001 01000 0000 0001 0000 0000
00001 0000 0000 0000 0010 01001 0000 0010 0000 0000
00010 0000 0000 0000 0100 01010 0000 0100 0000 0000
00011 0000 0000 0000 1000 01011 0000 1000 0000 0000
00100 0000 0000 0001 0000 01100 0001 0000 0000 0000
00101 0000 0000 0010 0000 01101 0010 0000 0000 0000
00110 0000 0000 0100 0000 01110 0100 0000 0000 0000
00111 0000 0000 1000 0000 01111 1000 0000 0000 0000
10000 — 11110 0000 0000 0000 0000
Generate Special
11111 Cycle (R.No. = 00h) 0000 0000 0000 0000
(R.No. > 01h)
The 21050 can generate Type 0 configuration cycles for up to 16 devices. Configuration
transactions with device numbers greater than 0Fh can still be forwarded, but the 21050 will not
assert any of the s_ad<31:16> lines acting as secondary bus idsel lines. Such a transaction is likely
to result in a master abort, unless some external assertion of a secondary bus idsel line is
performed. One cycle of additional address stepping is used when driving a Type 0 address in order
to allow time for the secondary bus idsel line to the target to become valid.
Preliminary Datasheet 35
Figure 4-9 shows Type 1 to Type 0 forwarding of configuration read and write transactions.
Figure 4-9. Type 1 to Type 0 Configuration Write and Read
p_clk
p_cbe_l<3:0> B 0 A
p_frame_l
p_irdy_l
p_stop_l
p_trdy_l
p_devsel_l
s_clk
s_cbe_l<3:0> B 0
s_frame_l
s_irdy_l
s_stop_l
s_trdy_l
s_devsel_l
p_clk
p_cbe_l<3:0> A 0
p_frame_l
p_irdy_l
p_stop_l
p_trdy_l
p_devsel_l
s_clk
s_cbe_l<3:0> A 0
s_frame_l
s_irdy_l
s_stop_l
s_trdy_l
s_devsel_l
LJ-03296.AI4
36 Preliminary Datasheet
If these conditions are met, the 21050 asserts p_devsel_l to indicate that the transaction is accepted.
The 21050 generates a Type 1 transaction on the secondary interface. At least two levels of
PCI-to-PCI bridging are crossed before xtrdy_l can be returned to the initiator for writes or reads,
because the target device resides on a bus downstream from the secondary PCI bus.
A Type 1 transaction is forwarded upstream as a Type 1 transaction when the following conditions
are met during the address phase:
• The value on p_ad<1:0> is equal to 01b.
• The value on p_ad<23:16> is not equal to the primary bus number, and is outside of the range
defined by the secondary and subordinate bus numbers.
This indicates that the transaction is intended for a device upstream of the 21050, but not on the
21050 primary bus.
The 21050 forwards a Type 1 configuration write from the primary bus and converts it to a special
cycle on the secondary bus when the following conditions are met during the address phase:
• The device number on p_ad<15:11> is equal to all 1’s.
• The function number on p_ad<10:8> is equal to all 1’s.
• The register number on p_ad<7:2> is equal to all 0’s.
• p_ad<1:0> is equal to 01b.
• The value on p_ad<23:16> is equal to the 21050 secondary bus number.
If these conditions are met, the 21050 generates a special cycle on the secondary bus using the
same address and data that was used for the primary configuration write.
Preliminary Datasheet 37
p_clk
p_cbe_l<3:0> B 0
p_frame_l
p_irdy_l
p_trdy_l
p_devsel_l
s_clk
s_cbe_l<3:0> 1 0
s_frame_l
s_irdy_l
s_trdy_l
s_devsel_l
LJ-03297.AI4
The 21050 forwards a Type 1 configuration write from the secondary bus and converts it to a
special cycle on the primary bus when the following conditions are met during the address phase:
• The device number on s_ad<15:11> is equal to all 1’s.
• The function number on s_ad<10:8> is equal to all 1’s.
• The register number on s_ad<7:2> is equal to all 0’s.
• s_ad<1:0> is equal to 01b.
• The value on s_ad<23:16> is equal to the 21050 primary bus number.
If these conditions are met, the 21050 generates a special cycle on the primary bus using the same
address and data used for the primary configuration write.
The 21050 provides a mechanism to generate special cycles on either the primary or secondary PCI
bus through a configuration write transaction (Section 4.5.5.5).
38 Preliminary Datasheet
Preliminary Datasheet 39
The 21050 has two modes of responding to the initiator on the initiating PCI bus (where the 21050
is a target) when a master abort occurs on the target bus (where the 21050 is an initiator). The
master abort response mode is set through the Master Abort Mode bit in the Bridge Control
register. If the bit is not set (default mode), then the 21050 responds to a master abort as follows:
• Sets the Received Master Abort bit in the status register corresponding to the target bus.
• For a write, asserts xtrdy until one cycle after xframe_l deassertion on the initiating bus,
transferring write data from the initiator. Write data is discarded.
• For a read, asserts xtrdy until one cycle after xframe_l deassertion on the initiating bus and
returns FFFFFFFFh for all requested data dwords.
If the Master Abort Mode bit is set, then the 21050 responds to a master abort as follows:
• Sets the Received Master Abort bit in the status register corresponding to the target bus.
• For a non-posted write, returns a target abort to the initiator. The Signaled Target Abort bit is
set in the status register corresponding to the initiator bus.
• For a posted write, asserts p_serr_l if the p_serr_l driver control bit in the Command Register
is set, and the p_serr_l Disable for Master Abort on Posted Write is not set. If p_serr_l is
asserted, sets the Signaled System Error bit in the primary status register.
• For a read, returns a target abort to the initiator. The Signaled Target Abort bit is set in the
status register corresponding to the initiator bus.
A master abort during a special cycle is not considered abnormal termination, so none of the
previous scenarios apply for special cycles. No event bits are set, and the 21050 performs a normal
target termination in response to the configuration write on the initiator (master) bus.
ystop_l asserted and ydevsel_l deasserted indicates that the target will
Target abort
never be able to respond to the transaction.
ystop_l and ydevsel_l asserted and ytrdy_l deasserted indicates that the
Target retry target is not in state ready to accept data. No data is transferred during
this transaction.
ystop_l, ytrdy_l, and ydevsel_l asserted indicates that this data transfer
Target disconnect A/B is to be the last data transfer on the transaction. At least one dword is
transferred during the transaction.
ystop_l and ydevsel_l asserted and ytrdy_l deasserted after previous
Target disconnect C data transfers are made indicates that the most recent data transfer was
the last one of the transaction.
40 Preliminary Datasheet
The 21050 responds in different ways on the initiator bus to target terminations on the target bus,
depending on the type of transaction. See Section 4.6.2.1.1 for a summary of 21050 response to
target terminations on the target bus.
If a target abort is detected on the target bus, the 21050 does the following:
• Sets the Received Target Abort bit in the status register corresponding to the target bus.
• If the transaction is a read or a non-posted write, returns target abort to the initiator and sets the
Signaled Target Abort bit in the status register that corresponds to the initiator bus.
• If the transaction is a posted write, then the 21050:
— If the p_serr_l driver enable is set and the serr Disable for Target Abort on Posted Write is
not set, asserts p_serr_l.
— If p_serr_l is driven, sets the Signaled System Error bit in the Primary Status Register.
— Discards any remaining write data; no attempt at delivery.
Figure 4-11 shows a target abort during an I/O write, and Figure 4-12 shows a memory read with
target abort.
Preliminary Datasheet 41
p_clk
p_cbe_l<3:0> 3 0
p_frame_l
p_irdy_l
p_stop_l
p_trdy_l
p_devsel_l
s_clk
s_cbe_l<3:0> 3 0
s_frame_l
s_irdy_l
s_stop_l
s_trdy_l
s_devsel_l
LJ-03306.AI4
42 Preliminary Datasheet
p_clk
p_ad<31:0> Addr
p_cbe_l<3:0> 6 0
p_frame_l
p_irdy_l
p_stop_l
p_trdy_l
p_devsel_l
s_clk
s_ad<31:0> Addr
s_cbe_l<3:0> 6 0
s_frame_l
s_irdy_l
s_stop_l
s_trdy_l
s_devsel_l
LJ-03305.AI4
If a target retry is detected on the target bus, the 21050 does the following:
• If the transaction is a read or non-posted write, returns a target retry to the initiator. No data is
transferred to or from the initiator or target.
• If the transaction is a posted write, allows up to a maximum of eight dwords to be transferred
from the initiator to 21050 write buffers before returning a target disconnect.
Preliminary Datasheet 43
Figure 4-13 shows a target retry during an I/O write, and Figure 4-14 shows a memory read with
target retry.
Figure 4-13. Non-Posted I/O Write with Target Retry
p_clk
p_cbe_l<3:0> 3 0
p_frame_l
p_irdy_l
p_stop_l
p_trdy_l
p_devsel_l
s_clk
s_cbe_l<3:0> 3 0
s_frame_l
s_irdy_l
s_stop_l
s_trdy_l
s_devsel_l
LJ-03304.AI4
44 Preliminary Datasheet
p_clk
p_ad<31:0> Addr
p_cbe_l<3:0> 6 0
p_frame_l
p_irdy_l
p_stop_l
p_trdy_l
p_devsel_l
s_clk
s_ad<31:0> Addr
s_cbe_l<3:0> 6 0
s_frame_l
s_irdy_l
s_stop_l
s_trdy_l
s_devsel_l
LJ-03303.AI4
If a target disconnect is detected on the target bus, the 21050 does the following:
• If the transaction is a non-prefetched read or non-posted write takes no additional action as the
21050 restricts these types of transactions to a single dword transfer.
• If the transaction is a prefetched read, then the 21050 returns a target disconnect to the initiator
after all requested data read from the target is transferred to the initiator.
• If the transaction is a posted write, then the 21050 allows up to a maximum of 8 dwords to be
transferred from the initiator to 21050 write buffers before returning a target disconnect (until
the write buffer fills).
Preliminary Datasheet 45
Target
Transaction Type Chip Action
Termination
When write data remains in the 21050 write buffers after a transaction to the target is terminated,
whether by target termination or master latency timer expiration, the 21050 reattempts the write
transaction to the target in order to empty the 21050 write buffer. The 21050 continues to attempt
the write transaction until the write data is successfully transferred, or until the maximum number
of attempts 224 (16777216) are completed. The purpose of the write counter is to prevent indefinite
hangs if the 21050 is unable to deliver write data.
Figure 4-15 shows a target retry during a posted write with subsequent write attempts.
46 Preliminary Datasheet
p_clk
p_cbe_l<3:0> 7 0
p_frame_l
p_irdy_l
p_stop_l
p_trdy_l
p_devsel_l
s_clk
s_cbe_l<3:0> 7 0 7 0
s_frame_l
s_irdy_l
s_stop_l
s_trdy_l
s_devsel_l
LJ-03302.AI4
If the maximum number of attempts are made and the 21050 has not successfully transferred the
buffered data, the 21050 asserts the p_serr_l line, if the p_serr_l driver enable is set and the serr
Disable for Delivery of Posted Write Data Failed is not set. The write data is discarded.
If the transaction is a memory write and invalidate and the write is disconnected after partial cache
line transfer, remaining attempts at delivery of write data will use the memory write command
because a partial cache line will be transferred.
Preliminary Datasheet 47
The 21050 returns a target retry to the initiator in the following situations:
• The 21050 is involved in another transaction or there is data in one of the 21050 write buffers.
The 21050 does allow posted writes to proceed simultaneously in opposite directions,
assuming that the corresponding write buffer is empty when the transaction starts.
• The transaction is a read or non-posted write, the target wait timer is expired, and the 21050
does not have the grant for the target bus.
• The transaction is a locked transaction, but the target bus lock is already being used by another
initiator.
The 21050 returns a target disconnect to the initiator for the following transactions:
• Non-posted write or non-prefetched read, and this is the first data transfer
• Posted write, and the write buffer fills (8 dwords) before the intended target returns ytrdy_l
• Posted write, and the write buffer fills (8 dwords) after expiration of the master latency timer
and before the target returns ytrdy_l for a subsequent write attempt
• Posted write, and a write boundary has been reached
— Cache line boundary for memory write and invalidate
— 256-dword boundary for memory write
• Prefetched read, and the transaction on the target bus is terminated due to master latency timer
expiration
• Prefetched read, and a read boundary is reached
Cache line or 256-dword boundary for memory-type reads, depending on various conditions
• Burst count limit is reached
A target abort is returned to the initiator by the 21050 only when a target abort is detected on the
target bus during a read or non-posted write, or an initiator abort occurs on the target bus and the
Master Abort Mode bit is set.
There are no address holes when forwarding and filtering memory and I/O transactions. If
transactions with a given address are forwarded across the 21050 from one bus, they will be
ignored when initiated on the other bus.
Similarly, if transactions with a given address are ignored on one PCI bus, they will be forwarded
when initiated on the other bus.
48 Preliminary Datasheet
If the initiator is on the primary bus, then the address must fall within one of these two defined
address ranges in order for the transaction to be forwarded to the secondary bus. There should be
no overlap between the two ranges; if overlap exists, the guidelines for the non-prefetchable space
are used.
If a memory operation is initiated on the secondary bus, the 21050 checks to see if the address falls
outside of both of the address ranges described by the prefetchable and non-prefetchable memory
base and limit address registers. If the address is outside of these ranges, the transaction is
forwarded to the primary bus and the 21050 acts as an initiator on that bus, and as a target on the
secondary bus.
Preliminary Datasheet 49
If an I/O read or write transaction is initiated on the secondary bus, the 21050 forwards the
transaction to the primary bus if the address falls outside the address range described by the I/O
Base Address register and I/O Limit Address register.
Any transactions that address over 64 K of I/O space are ignored on the primary PCI bus and
forwarded upstream from the secondary PCI bus.
Because of address aliasing, non-ISA devices should not use I/O addresses in the upper 768 bytes
of each 1 K chunk if an ISA card is present. Likewise, the 21050 should not forward transactions in
this address range if an ISA card is present, regardless of whether the address falls within the I/O
base and limit address range.
Only transactions addressing the first 256 bytes of each 1 K chunk can be forwarded. When ISA
Mode Enable is set, the 21050 prevents the forwarding of I/O transactions that address the top
768 bytes of each 1 K chunk in I/O space. This blocking mechanism affects only those transactions
initiated on the primary bus. The 21050 will not respond to blocked transactions on the initiating
(primary) bus. However, as a consequence, addresses of I/O transactions initiated on the secondary
bus that fall into the upper 768 K range will be forwarded upstream, regardless of where the
address falls with respect to the I/O base and limit address range.
50 Preliminary Datasheet
If the ISA Mode Enable bit is not set, transactions that address the upper 768 bytes of each 1 K
chunk of I/O space are forwarded or filtered normally according to the I/O Base Address and I/O
Limit Address registers. Figure 4-16 shows the ISA mode for downstream forwarding when the
enable is set. In order to correctly use the ISA mode, the I/O Base and Limit address register should
be set so that there is no overlap with ISA or EISA system-specific addresses in the lower
256 bytes of the first 4 Ks of I/O space.
Figure 4-16. Downstream I/O Forwarding in ISA Mode
.
.
n+3 Kb
Block Forwarding
Forward
n+2 Kb
Block Forwarding
Forward
n+1 Kb
768
Block Forwarding Bytes
256
Forward
Bytes
n Kb
Block Forwarding
Forward
n-1 Kb
.
.
. ISA-Aware Enable = 1
LJ-03236.AI4
In VGA Mode, any I/O transactions in the 03B0h—03DFh range, with the exception of printer port
byte addresses 3BCh—3BFh, are forwarded downstream when initiated on the primary bus, and
ignored if initiated on the secondary bus. When VGA Mode is enabled, bits <31:16> of the I/O
Preliminary Datasheet 51
address must be 0 in order for the 21050 to recognize and forward VGA I/O transactions. Bits
<15:10> will not be decoded. VGA I/O addresses are aliased in every 1K block of I/O space. These
aliased transactions are forwarded.
This VGA I/O forwarding is independent of the I/O address region and the ISA Mode filtering.
This means that whenever the VGA bit is set, the transactions previously described are forwarded
regardless of whether they fall inside the I/O Base and Limit Address range, and regardless of
whether the ISA Mode bit is set.
If the VGA enable bits are not set, the 21050 uses the Base and Limit Address registers for memory
and I/O forwarding, and VGA addresses are forwarded or filtered depending on whether they fall
within the base and limit address ranges. If ISA Mode is enabled and VGA Mode is disabled, VGA
I/O transactions are not forwarded downstream, since the addresses fall within the upper 768-byte
address range.
The 21050 does not check byte enables when these I/O addresses are forwarded, but forwards byte
enables as generated by the initiator. The VGA Palette Snoop Mode should not be used with VGA
mode. However, if both bits are set, VGA Mode behavior is used.
4.8 Latency
Under normal data transfer conditions, there will be two PCI clock cycles of delay between data
driven on one PCI bus and data driven on the opposite bus. Increased latency occurs after the
address phase of a transaction, with the exception of posted writes because the 21050 must gain
access to the target bus and detect a response from the target before any data transfers may proceed.
This latency increases for every level of PCI-to-PCI bridging that the transaction uses. If the 21050
target wait timer is enabled and expires before the 21050 gains access to the target bus, the 21050
performs a target retry to the initiator and deasserts its request for the target bus.
For multiple burst read or write transactions, data transfers may occur on every PCI clock cycle.
Data buffering in the 21050 allows it to hide the effects of 21050 latency on throughput. With the
exception of the first data phase, the total length of all stall conditions remains the same on both the
initiator and target buses. No extra stall cycles are added as a result of 21050 latency. Due to 21050
latency and prefetching, up to four extra reads from the target may be performed at the end of a
prefetched read transaction.
52 Preliminary Datasheet
• The secondary master latency timer–used when the 21050 acts as an initiator on the secondary
PCI bus.
The appropriate master latency timer is started when the 21050 asserts yframe_l. If the master
latency timer expires and the bus grant is deasserted, the initiator must deassert yframe_l at the
beginning of the next data phase, with the possible exception of memory write and invalidate
transactions. If the grant is still asserted when the latency timer expires, the initiator may retain
control of the bus and continue the transaction until the grant deasserts.
Upon termination of the target bus transaction, due to master latency timer expiration, the 21050:
• For a read, returns a target disconnect to the initiator when the last dword read from the target
is driven on the initiating bus.
• For posted memory write, allows the initiator to continue posting data until the write buffer is
full, and then returns a target disconnect. Write data is delivered to the target with subsequent
memory write transactions initiated by the 21050.
• For a memory write and invalidate, performs no extra action because the initiator may
terminate these transactions only on cache line boundaries. The 21050 always terminates a
memory write and invalidate on the first cache line boundary.
If the target wait timer expires and the 21050 has the bus grant but cannot yet start the transaction
because the target bus is still busy, no action occurs and the 21050 may continue with the
transaction. However, if the grant is subsequently deasserted before the 21050 can start its
transaction, the 21050 must deassert its request and return a target retry to the initiator.
The maximum value for this timer is 28 PCI cycles, which is approximately 7.6 microseconds for a
33-megahertz system. This feature is disabled if the register contains a value of 0.
Preliminary Datasheet 53
If the target bus is not idle by the time the write buffer fills, the write transaction is disconnected.
This applies to both the upstream and the downstream transactions.
54 Preliminary Datasheet
Preliminary Datasheet 55
Note that, in accordance with the PCI Specification, the first transaction of a locked sequence must
be a read. Figure 4-17 shows a downstream read with lock acquisition.
Figure 4-17. Memory Read with Lock Acquisition
p_clk
p_cbe_l<3:0> 6 0
p_frame_l
p_irdy_l
p_lock_l
p_trdy_l
p_devsel_l
s_clk
s_cbe_l<3:0> 6 0
s_frame_l
s_irdy_l
s_lock_l
s_trdy_l
s_devsel_l
LJ-03298.AI4
For a locked transaction involving a dual address transaction, the xlock_l signal should deassert
during the first address phase, and reassert at the start of the second address phase.
If a target retry, target abort, or master abort occurs in response to the first transaction in a locked
sequence before any data is transferred, the initiator must relinquish the lock by deasserting
xlock_l. This implies that, if the intended target returns a target retry or target abort, causing the
21050 to relinquish the lock on the target bus, this target termination must be passed back to the
initiator in order to force the initiator to relinquish the lock on the initiator bus. Because the first
transaction of a locked series of transactions is a read, the 21050 normally performs this action.
In some situations, the 21050 causes a target retry to occur in response to a lock acquisition
transaction by the initiator, causing the initiator to relinquish the bus:
• The 21050 chip is already forwarding another transaction.
• The ylock_l signal on the target bus is asserted, indicating that another initiator has control of
the lock on the target bus (Figure 4-18).
• The target wait timer expires before access to the target bus is gained.
56 Preliminary Datasheet
Figure 4-18 shows a target retry due to the target bus lock being busy.
If the 21050 detects a master abort on the target bus, this condition is returned to the initiator bus as
either normal termination or a target abort. If a target abort is returned, the initiator relinquishes the
lock. If normal termination occurs, then the initiator should recognize that the FFFFFFFFh read
data condition indicates a master abort; otherwise the initiator might retain possession of the lock
until the locked sequence ends.
Figure 4-18. Read with Lock Acquisition Attempt
p_clk
p_ad<31:0> Addr
p_cbe_l<3:0> 6 0
p_frame_l
p_irdy_l
p_lock_l
p_stop_l
p_trdy_l
p_devsel_l
s_clk
s_ad<31:0>
s_cbe_l<3:0>
s_frame_l
s_irdy_l
s_stop_l
s_lock_l
s_trdy_l
s_devsel_l
LJ-03301.AI4
Preliminary Datasheet 57
The 21050 always relinquishes the lock on the target bus upon detection of the master abort
condition. After a lock is established, if a master abort occurs on a subsequent locked write, then
the 21050 relinquishes the lock on the target bus and the target becomes unlocked. However, if the
21050 is in default master abort mode, then the initiator can keep xlock_l asserted on the initiator
bus because the initiator does not know the transaction on the target bus resulted in a master abort.
The only effect this should have is to tie up the xlock_l signal longer than necessary. If the 21050 is
configured to return target abort when a master abort is detected, both initiator and 21050 will
relinquish the initiator and target bus locks.
Figure 4-19. Downstream Memory Write with Lock Continuation
p_clk
p_cbe_l<3:0> 7 0
p_frame_l
p_irdy_l
p_lock_l
p_trdy_l
p_devsel_l
s_clk
s_cbe_l<3:0> 7 0
s_frame_l
s_irdy_l
s_lock_l
s_trdy_l
s_devsel_l
LJ-03299.AI4
Target aborts are passed back to the initiator for all transactions, as posted writes are not allowed
when the target bus is locked. To prevent deadlocks when locks are in use, all writes are not
postable as long as ylock_l on the target bus is asserted. This allows the 21050 to:
• Pass back any target aborts, so the lock can be relinquished on the initiator bus.
58 Preliminary Datasheet
• To detect master aborts on the secondary bus and cause the initiator to relinquish the lock. The
21050 can be configured to return a target abort on the initiator bus when a master abort is
detected. When in this mode, a master abort that is returned to the initiator as a target abort,
will cause the initiator to relinquish the lock.
• To pass back any target retries to the initiator of the transaction, and allows the initiator that
has locked the target to forward transactions across the 21050 to the locked target. This
prevents deadlock if a different initiator attempts to access a locked target across the 21050
when posted write and write data are stranded in write buffers.
When exclusive access is terminated on the last data phase of a transfer, the 21050 may not be able
to release the lock on the target bus until two cycles after the deassertion of xlock_l on the initiator
bus. This delay is due to the 2-clock-cycle latency of the 21050. Therefore, the ylock_l might stay
asserted for a few cycles after completion on the last data phase on the target bus.
Figure 4-20 shows a memory write which ends a series of locked transactions.
Preliminary Datasheet 59
p_clk
p_cbe_l<3:0> 7 0
p_frame_l
p_irdy_l
p_lock_l
p_trdy_l
p_devsel_l
s_clk
s_cbe_l<3:0> 7 0
s_frame_l
s_irdy_l
s_lock_l
s_trdy_l
s_devsel_l
LJ-03300.AI4
60 Preliminary Datasheet
• Sets the Detected Parity Error bit in the Status register that corresponds to the interface where
the parity error was detected.
• Asserts p_serr_l and set the Signaled System Error bit in the Primary Status register if:
— The p_serr_l Driver Enable is set.
— The Parity Error Response bit is set in the Command register (if detected on the primary
interface) or the Bridge Control register (if detected on the secondary interface).
— For secondary bus address parity errors, the SErr Forward Enable bit is set in the Bridge
Control register.
If the transaction is a non-posted write and a data parity error is signaled, if possible, the 21050
asserts xperr_l on the initiator bus two cycles after write data is transferred from the initiator, if the
Parity Error Response bit that corresponds to the initiator bus is set. If the timing of the transaction
prevents assertion of xperr_l on the initiator bus, the 21050 asserts p_serr_l if:
• The Parity Error Response bit corresponding to the target bus is set.
• The p_serr_l Driver Enable bit is set.
• The serr disable for posted write parity errors is not set.
Preliminary Datasheet 61
If the transaction is a posted write, then the 21050 asserts p_serr_l and set the Signaled System
Error bit in the Primary Status register if:
• The Parity Error Response bit corresponding to the target bus is set.
• The p_serr_l Driver Enable bit is set.
• The serr disable for posted write parity errors is not set.
In this case, the 21050 cannot pass back bad parity (because it is a write) or assert xperr_l during
the proper cycle (because data is posted).
Table 4-4 lists parity error signaling for transactions that are forwarded.
Each condition has a corresponding disable bit in the serr disable register, that, when set, prevents
p_serr_l from asserting when that condition occurs.
The 21050 has a s_serr Forward Enable bit in the Bridge Control register which allows forwarding
of s_serr_l to p_serr_l. The 21050 sets the Detected System Error bit in the secondary status
register and the signaled system error bit in the primary status register. The 21050 does not assert
s_serr_l.
The p_serr_l Driver Enable bit must be set in the command register for the signal to be driven for
any reason. If the 21050 drives p_serr_l, it also sets the Signaled System Error bit in the Primary
Device Status register.
When the p_serr_l signal is detected as asserted, the condition that caused the assertion may be
decoded by checking the conditions listed in Table 4-5.
62 Preliminary Datasheet
The 21050 asserts p_req_l when it needs to forward a transaction upstream. During the cycle
immediately after the 21050 detects an asserted level on p_gnt_l and the primary bus is idle, the
21050 starts the transaction on the primary bus by:
• Asserting p_frame_l
• Driving the address on p_ad<31:0>
• Driving the command on p_cbe_l<3:0>
• Deasserting p_req_l
The 21050 may deassert p_req_l at any time before starting a transaction, for example, due to
expiration of the target wait timer.
The 21050 performs bus parking duties (driving p_ad, p_cbe_l, and p_par when the bus is idle)
only when p_gnt_l is asserted and p_req_l is deasserted.
Preliminary Datasheet 63
The secondary PCI arbitration function can support up to six bus masters, in addition to the 21050.
The 21050 includes itself in the arbitration for those transactions in which it is acting on behalf of
an initiator on the primary bus. Because the primary and secondary buses operate concurrently,
grants are given out independently of the status of the primary bus, and independently of the
primary bus arbitration scheme. However, for all transactions that cross the 21050 except posted
writes, both the primary and secondary buses must be acquired before data transfers on either bus
can proceed.
If a grant for a particular request is asserted and a higher priority request subsequently asserts, then
the arbiter deasserts the asserted grant signal and asserts the grant that corresponds to the new
higher priority request on the next PCI clock cycle.
If the secondary PCI bus is busy (either s_frame_l or s_irdy_l is asserted), then the arbiter may
deassert one grant and assert another grant during the same PCI clock cycle. If the secondary PCI
bus is idle, then the arbiter never asserts a grant signal in the same PCI cycle that it deasserts
another. If it deasserts one grant, it asserts the next grant no earlier than one PCI clock cycle later.
If the 21050 detects that an initiator has failed to assert s_frame_l after 16 cycles of both grant
assertion and an idle bus condition, the arbiter deasserts the grant. That initiator does not receive
any more grants until it deasserts its request for at least one PCI clock cycle.
Alternating Mode
The default priority scheme selected upon reset gives the 21050 highest priority on alternate
arbitration cycles. This mode is selected when the Arbitration Mode Select is low. For cycles
during which the 21050 does not have highest priority, the priority rotates evenly among the six
external request inputs.
Rotating Mode
If the Arbitration Mode Select bit is set, a simple rotating priority scheme is used, in which highest
priority rotates evenly between the seven request inputs (six external requests and the 21050
request).
64 Preliminary Datasheet
initiator’s bus request may again be serviced. If a target retry is subsequently returned by the 21050
to another secondary bus initiator before expiration of the request mask timer, the latter’s bus
request is masked only for the number of PCI cycles remaining in the timer.
In this case, the 21050 secondary arbitration interface protocol is similar to the primary arbitration
interface protocol.
Note: The s_cfn_l signal should be tied high or low through a resistive device since the input is connected
to the diagnostic Nand tree and must be toggled during Nand tree testing.
4.14 Clocks
The 21050 has two clock inputs. The p_clk signal is referenced to the primary interface. All
primary PCI bus signals are driven and sampled with p_clk. The s_clk signal is used by the
secondary interface. All secondary PCI bus signals are driven and sampled with s_clk.
• Both clocks operate at the same frequency and are synchronous to each other.
• The maximum clock skew between p_clk and s_clk is no greater than 7 nanoseconds.
• The minimum clock skew between p_clk and s_clk is no less than 0 nanoseconds.
• The maximum operating frequency of the clocks is 33 Megahertz.
Preliminary Datasheet 65
t t
skew skew
p_clk
s_clk
LJ-03238.AI4
The 21050 provides seven outputs, s_clk_o<6:0>, which can be used as secondary clock outputs.
• One of these outputs can be fed back into the s_clk input of the 21050.
• The other six clock outputs can be used as clock inputs for secondary bus devices. If these
clock outputs are used for clock distribution, the s_clk input must still meet the timing
requirements listed in Chapter 7.0.
Here are suggested guidelines for using the secondary clock outputs:
• Secondary clocks should not be used to drive option card clocks or as a clock input to another
21050 chip.
• Secondary clock delay external to the 21050 should not exceed 2 nanoseconds.
4.15 Reset
This section describes the primary, secondary, and chip reset bits.
66 Preliminary Datasheet
• When the Chip Reset bit in the Diagnostic Control register is set, s_rst_l remains asserted until
the Secondary Reset bit is cleared by a configuration write.
When s_rst_l is asserted, s_ad, s_cbe, and s_par are immediately tristated and then driven low
within a couple of clock cycles, while all other secondary interface signals are tristated. The 21050
still responds to accesses to its configuration space on the primary interface. Write buffers in both
directions are cleared.
When an asserted value of s_dispst_l is detected, the 21050 asserts s_bufne_l two cycles later if
write data exists in either upstream or downstream data buffers. As long as write data that was in
the write buffers at the time of s_dispst_l assertion remains in the write buffers, s_bufne_l remains
asserted. s_bufne_l does not reflect status of data that was posted subsequent to s_dispst_l
assertion. After the data that was in the write buffers at the time of the s_dispst_l assertion is
flushed, the 21050 deasserts s_bufne_l.
The 21050 can be configured to disable posting by setting the Disable Posting bit in the Chip
Control register after s_dispst_l is asserted. In this case, posting remains disabled until s_dispst_l is
deasserted. While posting is disabled, all writes must wait for target response before transferring
data from the initiator, and are disconnected after one data transfer.
If the 21050 is configured so that posting is not disabled, the 21050 continues to accept posted
writes in the normal manner, even during assertion of s_dispst_l. If no external control of bridge
write posting is necessary, s_dispst_l should be tied high.
Preliminary Datasheet 67
This chapter provides programmer reference material for all 21050 configuration space registers.
Configuration space registers include the predefined PCI device and 21050 registers, as well as
other implementation-specific registers used during initialization. All registers located in
configuration space are accessible only from the primary bus interface of the 21050. Figure 5-1
shows a configuration space map.
Figure 5-1. Configuration Space Map
31 16 15 00
Reserved 10h
Reserved 14h
Secondary Interface Status I/O Limit Address I/O Base Address 1Ch
Reserved 28h
Reserved 2Ch
Reserved 30h
Reserved 34h
Reserved 38h
SErr Event Disable Burst Limit Counter Diagnostic Control Chip Control 40h
50h -
Reserved FFh
LJ-03284.AI4
Preliminary Datasheet 71
31 16 15 00
h Device ID Vendor ID
LJ-03240.AI4
31 16 15 00
LJ-03241.AI4
72 Preliminary Datasheet
31 24 23 16 15 08 07 00
LJ-03242.AI4
Preliminary Datasheet 73
31 24 23 16 15 08 07 00
LJ-03243.AI4
Table 5-4. Primary Master Latency Timer/Cache Line Size/Header Type Register
Address 0C hex —
Access <31:24> Reads only as 0’s.
<23:16> Read only.
<15:11> Read/write.
<10:8> Read only as 0’s.
<7:0> Read/write.
Field description <31:24> Reserved. Reads as all 0’s.
Header type. Defines the layout of addresses 10 hex through 3F hex in
<23:16> configuration space. Reads only as 01 hex to indicate that the register
layout conforms to the PCI-PCI bridge layout.
Master latency timer for primary interface. Designates the maximum
number of PCI clock cycles from the assertion of p_frame_l until the
<15:8>
expiration of the timer. The lower 3 bits are read only, giving a granularity of
eight PCI clock cycles. If 0, the timer is not used. Reset to 0.
Cache line size. Designates the cache line size for the system in units of
32-bit words. The cache line size is restricted to be a power of 2. The most
significant 1 in the cache line size register is used to set the cache line size.
<7:0>
Any other 1’s are ignored. Used when terminating memory write and
invalidate transactions and when prefetching during memory read type
transactions. Reset to 0.
31
10h Reserved
14h Reserved
LJ-03244.AI4
74 Preliminary Datasheet
31 24 23 16 15 08 07 00
18h Sec. MLT Subord. Bus No. Sec. Bus No. Pri. Bus No.
LJ-03245.AI4
Preliminary Datasheet 75
31 16 15 08 07 00
LJ-03247.AI4
Table 5-7. I/O Base Address/I/O Limit Address/Secondary Status Registers (Sheet 1 of 2)
Address 1C hex —
Access <31:27> Read/write-1-to-clear.
<26:25> Read only.
<24> Read/write-1-to-clear.
<23> Read only.
<22:16> Read only as 0.
<15:12> Read/write.
<11:8> Read only as 0.
<7:4> Read/write.
<3:0> Read only as 0.
Field description <31> Detected Parity Error on secondary bus.
<30> Detected System Error on secondary bus – s_serr_l detected asserted.
<29> Received Master Abort on secondary bus.
<28> Received Target Abort on secondary bus.
<27> Signaled Target Abort on secondary bus.
s_devsel_l timing for the 21050 acting as target on secondary bus. Set to
<26:25>
01b to designate medium timing.
Data Parity Detected. Set when the 21050 is acting as a master on the
secondary bus, and s_perr_l is detected as asserted, or a parity error is
<24>
detected on secondary bus, and the Secondary Parity Response bit is set in
the 21050 control register.
Fast back-to-back capable. Reads only as 1 to indicate that the 21050 can
<23>
respond to fast back-to-back transactions on the secondary bus.
76 Preliminary Datasheet
Table 5-7. I/O Base Address/I/O Limit Address/Secondary Status Registers (Sheet 2 of 2)
<22:16> Reserved.
Contains bits <15:8> of the I/O limit address, or upper limit (inclusive), which
defines an address range used to determine whether to forward I/O
transactions from the primary to the secondary bus. Since the minimum
<15:8> I/O space is 4 kilobytes, the least-significant 4 bits are read only as 0h. The
16 most-significant bits of the address are assumed to be 0. The 12
least-significant bits of the address are assumed to be FFF hex. The
writable bits are reset to 0.
Contains bits <15:8> of the I/O base address, or lower address limit, which
defines an address range used to determine whether to forward I/O
transactions from one PCI bus to the other. Because the minimum I/O
<7:0>
space is 4 kilobytes, the least-significant 4 bits are read only. Both the 16
most-significant address bits and 8 least-significant address bits are
assumed to be 0. This register is reset to 0.
31 16 15 00
LJ-03246.AI4
Preliminary Datasheet 77
31 16 15 00
LJ-03283.AI4
Table 5-9. Prefetchable Memory Base Addr./Prefetchable Memory Limit Addr. Register
Address 24 hex —
Access <31:20> Read/write.
<19:16> Read only as 0.
<15:4> Read/write.
<3:0> Read only as 0.
Define the most-significant 12 bits of the upper limit (inclusive) of the
memory address range. The minimum memory address range is 1
megabyte. The least-significant 4 bits are reserved and read only as 0.
Field description <31:16>
The 20 least-significant bits of the memory limit address should be
assumed to be FFFFFh. The 21050 prefetches data in this address
range. The writable bits are reset to 0.
Indicates the upper 12 bits of the base address, or lower address limit,
of a memory address range. This range is used to determine whether
to forward memory accesses across the 21050. The minimum memory
<15:0> address range is 1 megabyte. The least-significant 4 bits are reserved
and read only as 0. The 20 least significant bits of the memory base
address should be assumed to be 00000h. The 21050 prefetches data
in this address range. This register is reset to 0.
31 00
28h Reserved
:
: :
: :
: :
: :
: :
:
38h Reserved
LJ-03249.AI4
78 Preliminary Datasheet
31 16 15 08 07 00
LJ-03250.AI4
Preliminary Datasheet 79
31 16 15 00
LJ-03251.AI4
Table 5-12. Chip Control/Diagnostic Control/Burst Limit Counter/serr Disable Register (Sheet 1 of 2)
Address 40h —
Access <31:0> Read/write.
serr disable. When set, the following bits prevent p_perr_l from being
Field description <31:24>
asserted for the following conditions:
Bits Description
<31:29> Reserved
<28> Master abort on posted write
<27> Target abort during posted write
<26> Unable to deliver posted write data
<25> Bad data parity on target bus for posted write
<24> Reserved
Burst Limit Counter. Specifies the maximum number of data transfers that
can occur during any transaction. The top 2 bits are hard-wired to be 0,
<23:16>
leaving a maximum burst range from 1 to 64 data transfers. If 0, no burst
limits are applied. Reset to 0.
<15:13> Reserved. Read only as 0.
p_serr_l diagnostic mode assertion control. When set to 1, the 21050
<12> asserts the p_serr_l signal in response to all address phases on the primary
PCI bus. This bit should be used for diagnostic purposes only. Reset to 0.
s_perr_l diagnostic mode assertion control. When set to 1, the 21050
asserts the s_perr_l signal in response to all write data phases on the
<11>
secondary bus intended for the 21050 or a primary bus device. This bit
should be used for diagnostic purposes only. Reset to 0.
80 Preliminary Datasheet
Table 5-12. Chip Control/Diagnostic Control/Burst Limit Counter/serr Disable Register (Sheet 2 of 2)
p_perr_l diagnostic mode assertion control. When set to 1, the 21050
asserts the p_perr_l signal in response to all write data phases on the
<10>
primary bus intended for the 21050 or a secondary bus device. This bit
should be used for diagnostic purposes only. Reset to 0.
Test mode. Used for chip test. When set to 1, all counters greater than 4 bits
<9>
will be sub-divided into parallel 4 bit chunks by forced carry signals. Reset to 0.
Chip Reset. When set, the 21050 performs a chip reset. All configuration
registers are returned to their reset state and the 21050 must be
<8>
reconfigured. This bit is cleared by the chip upon completion of reset.
s_rst_l is asserted until the secondary reset bit is cleared.
<7:5> Reserved. Reads as 0.
Secondary bus prefetch disable. If not set, memory read transactions
initiated on the secondary bus use prefetching. If set, memory read
<4> transactions are disconnected after one data transfer. Memory read lines
and memory read multiple transactions always use prefetching and may
consist of multiple data transfers. Reset to 0.
Request mask timer. Designates the maximum value of the request mask
<3:2> timer, which is enabled after the 21050 issues a target retry to a master on
the secondary bus. Reset to 0.
00b—mask timer not used
01b—16 PCI clock cycles
10b—32 PCI clock cycles
11b—64 PCI clock cycles
Disable Posting Enable. If set, posting is disabled while s_dispst_l is
<1>
asserted. Reset to 0.
Secondary PCI bus arbitration mode select. When set, selects rotating
priority between all secondary bus requests. If not set, arbitration is also
<0>
rotating priority, except that the 21050 has highest priority on alternate
arbitration cycles. Reset to 0.
31 16 15 08 07 00
44h Reserved Sec. Tar. Wait Tmr. Pri. Tar. Wait Tmr.
LJ-03248.AI4
Table 5-13. Primary Target Wait Timer/Secondary Target Wait Timer Register (Sheet 1 of 2)
Address 44h --
Access <31:16> Read only as 0’s.
<15:0> Read/write.
Preliminary Datasheet 81
Table 5-13. Primary Target Wait Timer/Secondary Target Wait Timer Register (Sheet 2 of 2)
Field
<31:16> Reserved. Read only as 0’s.
descriptions
Secondary interface target wait timer. A programmable register which
indicates the maximum number of PCI cycles that the 21050 waits to gain
access to the target (primary) bus for a transaction initiated on the
<15:8> secondary bus. If the timer expires before the 21050 receives a grant for the
primary bus, the 21050 issues a target retry to the initiator on the secondary
bus and deasserts its primary bus request. If 0, the 21050 waits indefinitely.
Reset to 0.
Primary interface target wait timer. A programmable register which indicates
the maximum number of PCI cycles that the 21050 waits to gain access to the
target (secondary) bus for a transaction initiated on the primary bus. If the
<7:0>
timer expires before the 21050 receives a grant for the secondary bus, the
21050 issues a target retry to the initiator on the primary bus and deasserts its
secondary bus request. If 0, the 21050 waits indefinitely. Reset to 0.
31 00
LJ-03430-TI0
31 00
LJ-03431.AI4
82 Preliminary Datasheet
31 00
50h Reserved
:
: :
: :
: :
: :
: :
:
FFh Reserved
LJ-03252.AI4
Preliminary Datasheet 83
When using the Nand tree test mechanism, all bidirectional signals must first be tristated by
assertion of goz_l. The goz_l signal should remain asserted for the duration of this test.
Note: Any inputs tied high or low, s_cfn_l for example, should be connected to power or ground through
a resistive device to allow use of the Nand tree feature.
The Nand tree begins at the s_dispst_l input and runs clockwise to p_rst_l, and then is output at
nand_out.
Note: These bits should never be set during normal chip operation or initialization.
When the xperr_l control bit is set, the 21050 returns xperr_l to the master of any write transaction
occurring on that bus. The 21050 asserts p_perr_l in response to all write transaction data phases
initiated on the primary bus and directed to or across the 21050 when the p_perr_l control bit is set.
Similarly, when the s_perr_l control bit is set, the 21050 asserts s_perr_l in response to all write
transaction data phases initiated on the secondary bus and directed across the 21050 chip.
When the p_serr_l control bit is set, the 21050 returns p_serr_l to the master in response to any
address phase occurring on the primary bus. The 21050 continues to respond to transactions, unless
a real address parity error is detected.
Preliminary Datasheet 85
The 21050 also implements a test mode bit in the Diagnostic Control register to facilitate chip fault
test. When set, all counters in excess of 8 bits are broken up into 4-bit chunks by a forced carry
signal. The 4-bit chunks of any particular counter will count in parallel when the chip is in test
mode. The test mode bit should not be set unless all 21050 state machines are idle, that is, there are
no transactions in progress across the 21050 chip.
86 Preliminary Datasheet
This chapter describes the mechanical and electrical specifications of the 21050.
LL REF 1.3
e BSC 0.5
L MIN 0.5
L MAX 0.75
A MAX 4.2
A1 MIN 0.25
A2 MIN 3.17
A2 MAX 4.25
b MIN 0.17
b MAX 0.27
c MIN 0.09
c MAX 0.2
ccc — 0.08
ddd — 0.08
ttt — 0.2
D BSC 30.6
D1 BSC 28
E BSC 30.6
E1 BSC 28
R MIN 0.08
R MAX 0.25
Preliminary Datasheet 87
-A-
D
D1
PIN 1
4x
N/4 Tips
ttt C A B 4x 0.2 H A B A2 A
// 0.13 C
-H-
Datum Plane
-C-
5¡ - 16¡ Seating Plane
0.40 Min. A1
ccc C
0¡ - 10¡
A
L
0.25
79% Scaled
ddd M C A S B S LL
0¡ - 7¡ c LJ-03911.AI4
88 Preliminary Datasheet
1. Input high leakage current and input low leakage current include Iozl or Iozh leakage current for bidirectional signals. The leak-
age tests are run at VCC=5.0 V, which is the normal operating level for VCC.
2. Most output low voltage signals have 3 mA current. The following output low voltage signals have 6 mA low output current:
p_frame_l, p_trdy_l, p_irdy_l, p_devsel_l, p_stop_l, p_serr_l, p_perr_l, p_lock_l, s_frame_l, s_trdy_l, s_irdy, s_devsel_l,
s_stop_l, s_perr_l, s_lock_l
Preliminary Datasheet 89
90 Preliminary Datasheet
T
cyc
2.0 V
1.5 V T T
high low
0.8 V
p_clk T
T f
r
T T
r f
2.0 V
T T
1.5 V high low
0.8 V
s_clk
T T
skew skew
T
cyc LJ-03253.AI4
xclk-to-xsignal valid
Tval 2 11 ns
delay—bused signals1, 2, 3
xclk-to-xsignal valid
Tval (ptp) 2 12 ns
delay—point-to-point1, 2, 3
Ton Float-to-active delay1 2 — ns
Toff Active-to-float delay1 — 28 ns
Input setup time to xclk—
Tsu 7 — ns
bused signals1, 3
Input setup time to
Tsu (ptp) 10, 12 — ns
xclk—point-to-point1, 3
Th Input signal hold time from xclk1 0 — ns
1. All primary interface signals are used by p_clk and all secondary interface signals are used by s_clk.
2. Minimum times measured with 0-pF equivalent load. Maximum times measured with 50-pF equivalent load.
3. Point-to-point signals are p_req_l, s_req_l<7:0>, p_gnt_l, s_gnt_l<7:0>, s_dispst_l, s_bufne_l, and s_cfn_l.
All other PCI signals are shared.
All xgnt_l signals, s_dispst_l, and s_cfn_l have a setup time of 10 ns.
xreq_l has a setup time of 12 ns.
Preliminary Datasheet 91
xclk 1.5 V
T T
val inval
Output Valid
T T
on off
Input Valid
T
su
T
h
LJ-03254.AI4
92 Preliminary Datasheet
If you need technical support, a Product Catalog, or help deciding which documentation best meets
your needs, visit the Intel World Wide Web Internet site:
http://www.intel.com
Copies of documents that have an ordering number and are referenced in this document, or other
Intel literature may be obtained by calling 1-800-332-2717 or by visiting Intel’s website for
developers at:
http://developer.intel.com
You can also contact the Intel Massachusetts Information Line or the Intel Massachusetts Customer
Technology Center. Please use the following information lines for support: