60x Bus What you will learn What are the 60x bus pins? What are the 60x bus modes? How to Interface to a slave How to Interface to a bus master How the 60x bus is arbitrated 13-1
How to Connect an 8260 System The diagram below shows an example 8260 system configuration. Example MPC8260 Reset, Interrupts & Clock 60x DB 60x AB 60x Bus SCC F2 F1 Data Transceivers & Address Latches LB Latch MUX 60x Bus Buffered SDRAM 4 M, 32-bit SDRAM 64 M, 64-bit L2-Cache 512K, 64-bit Flash SIMM 32M, 32-bit MC145583 RS-232 LXT970 10/100BaseT PM5350 ATM 1. The SDRAM connected to 60x bus requires external latches and multiplexing because accesses can have separateaddress and data tenures in 60x bus mode. Latches and multiplexer can be by-passed if L2 cache is not used and MPC8260 is in Single mode. 2. SDRAMs and L2 cache are not buffered to maximize performance. Flash, the ATM PHY, plus other are buffered with no significant impact on performance. 3. FCC1 is ATM, FCC2 is Ethernet, and SCCs are used for RS-232. 13-2
What is the Single MPC8260 Bus Mode? Definition The single MPC8260 bus mode means the only bus master is the 8260. The memory controller controls all devices on the external pins. Block Diagram MPC8260 Memory Controller Signals A[0-31] D[0-63] DP[0-7] TA* TEA* DVAL* Slave #1 Slave #2 Slave #n Address + Attributes Data + Attributes Memory Controller Signals TT[0-4], TSIZ[0-3], TBST*, CI*, WT* GBL*, AACK*, ARTRY* not used 8260 Single Mode Restrictions The pins shown as not used should not be used for anything. BCTL[0-1] are usable. In single 8260 mode, the following is not possible: 1. No other bus masters. 2. No L2 cache. 13-3
What is the 60x Compatible Bus Mode? Definition Block Diagram The 60x-compatible bus mode can include one or more bus masters including L2 cache. MPC8260 Memory Controller Signals A[0-31] D[0-63] DP[0-7] TA* TEA* DVAL* TT[0-4] TSIZ[0-3] TBST* AACK* ARTRY* BR*,,D Latch Latch & Mux Slave #1 Slave #2 External Bus Master Address + Attributes Data + Attributes Memory Controller Signals 1. If the 8260 is used in no pipeline mode(bcr[pldp]=1), the latches are not required; however, the multiplexers are. Putting the 8260 in no pipeline mode will typically result in a 10-30% performance reduction. 2. TT[0-4] indicates the transfer type. For example, a basic single-beat read is 0b01010. For a complete description of the TT codes, see page 5-10 in the UM. 3. TSIZ[0-3] and TBST* together indicate the size of the requested data transfer. For example, a transfer of 8 bytes would have TSIZ[0-3]=0000 and TBST*=1. For a complete list of transfer size encodings, see p. 5-13 in the UM. 13-4
How to Connect Address and Data Buffers The diagram below shows how to connect address and data buffers to the 8260. Pin Summary BCTL0* BCTL1*/CS10*/DBG_DIS ALE Connect Diagrams A[16-31] ALE 74ALVT16373 LE1 OE1* LATA[16-31] LE2 OE2* D[0-15] 74ALVT16245 BD[0-15] BCTL0* T/R1* OE1* CS0* CS3* T/R2* OE2* pimm->siumcr &= 0xFFFCFFFF; 1. The pins, BCTL0 and BCTL1, can be used to control the direction of a buffer on the data bus. 2. ALE can be used to provide the latching enable input on the address latch device. 13-5
How to Multiplex Addresses Externally for SDRAM The diagram below shows how to multiplex addresses to memory. Pin Summary PSDAMUX/PGPL5 Connect Diagrams LATA20 LATA11 LATA21 LATA12 LATA22 LATA13 LATA23 LATA14 74LVT257 S OE* DIMMA8 DIMMA7 DIMMA6 DIMMA5 74LVT257 S OE* PSDAMUX 1. PSDAMUX can be the select input to an address multiplexer. 13-6
How the 8260 Transfers Single-Beat and Burst, 64-bit Data Bus The diagram below shows the 8260 signals for single and burst accesses. Timing Diagram CLKIN ADDR+ATTR TS* AACK* D TA* DVAL* D[0-63] D0 D1 D2 D3 1. On a 64-bit data bus, TA* and DVAL* are the same. 2. A burst transaction is indicated by TBST*. 3. The arbiter samples TS* and TT* to determine if the processor is doing an address only cycle such as sync. If not, the arbiter knows the processor will need the data bus and assumes an implied data bus request. It is implied because it is not an address only cycle. 13-7
How the 8260 Transfers a Burst, 32-bit Data Bus The diagram below shows the 8260 signals for a burst access on a 32-bit data bus. Timing Diagram CLKIN ADDR+ATTR TS* AACK* D TA* DVAL* D[0-31] D0 D1 D2 D3 D4 D5 D6 D7 DVAL*/TA* Multiple DVAL*/TA* occurs in the case of transfer width larger than port width. 13-8
What are the Bus Arbitration Pins? Definition The bus arbitration pins allow other bus masters to gain control of the address and data buses. Pin Summary BR* /IRQ2* D /IRQ3* DBG_DIS* Both IA and EA EXT_BR2*/DP0/RSRV* EXT_BG2*/DP1/IRQ1* EXT_DBG2*/DP2/IRQ2* EXT_BR3*/DP3/IRQ3*/CKSTP_OUT EXT_BG3*/DP4/IRQ4*/CORE_RESET EXT_DBG3*/DP5/IRQ5*/TBEN IA only IA and EA IA = Internal Arbitration EA = External Arbitration Pin Input Output Bus Request Bus Grant Address Bus Busy Data Bus Grant Data Bus Busy Data Bus Grant Disable IA EA Wants bus EA Wants bus IA EA IA Owns bus IA Owns bus EA For IA, external master asserts to request bus. For EA, 8260 asserts to request bus. For IA, grants address bus to external master. For EA, grants bus to 8260. For output, asserts for duration of address tenure. For input, indicates if another master has the address bus. For IA, grants data bus to external master. For EA, grants data bus to 8260. For output, asserts for duration of data tenure. For input, indicates if another master has the data bus. When asserted, all DBG outputs should be negated to prevent bus contention. 13-9
How to Connect Three Bus Masters The diagram below shows how to connect three bus masters to the 8260. Connection Diagram BR* D DBGDIS* EXT_BR2* EXT_BG2* EXT_DBG2* EXT_BR3* EXT_BG3* EXT_DBG3* BR* Bus Master #1 D BR* Bus Master #2 D BR* Bus Master #3 D 13-10
How to Relatively Prioritize the Bus Masters (1 of 2) The bus masters must be prioritized relative to each other in the 60x Bus Arbitration-Level Registers, PPC_ALRH (level 0-7) and PPC_ALRL (level 8-15). Priority Matrix PPC_ALRH CPM hrl 0000 CPM mrl 0001 CPM lrl 0010 Reserved 0011 Reserved 0100 Reserved 0101 Core 0110 Ex Mstr 1 0111 Ex Mstr 2 1000 Ex Mstr 3 1001 Reserved 1xxx Reset Value Hex HiPri LowP PF0 PF1 PF2 PF3 PF4 PF5 PF6 PF7 0 1 2 3 4 5 6 7 1. CPM hrl = CPM high request level. These are emergency requests when an FCC, MCC, or SCC is in danger of having an underrun or overrun. 2. CPM mrl = CPM mid request level. Normal requests from an FCC, MCC, or SCC. 3. CPM lrl = CPM low request level. Normal requests from SMC, SPI, and I2C. 4. See p. 11-7 of the MPC8260 User Manual for the specific priority levels. 13-11
How to Relatively Prioritize the Bus Masters (2 of 2) Priority Matrix PPC_ALRL CPM hrl CPM mrl CPM lrl Reserved Reserved Reserved Core 0000 0001 0010 0011 0100 0101 0110 Ex Mstr 1 0111 Ex Mstr 2 1000 Ex Mstr 3 1001 Reserved 1xxx Reset Value Hex HiPri LowP PF8 PF9 PF10 PF11 PF12 PF13 PF14 PF15 8 9 0xA 0xB 0xC 0xD 0xE 0xF 13-12
What is the Parking Master? Definition In a multi-processor system, the parking master has the bus if no one else is requesting it. If the parking master subsequently needs the bus, no time is required for arbitration. Multiprocessor System Example BR* D DBGDIS* EXT_BR2* EXT_BG2* EXT_DBG2* EXT_BR3* EXT_BG3* EXT_DBG3* BR* Bus Master #1 D BR* Bus Master #2 D BR* Bus Master #3 D Initialize the 8260 so that external master 1 is the parking master (see p. 4-27). pimm->ppc_acr = 0x7; 1. If, for example, bus master 1 is the parking master, and if no one is requesting the bus, then its bus grant is asserted. 13-13
How the 8260 Arbitrates the 60x Bus (1 of 3) The diagram below shows the arbitration process with one external master. Block Diagram MPC8260 Arbiter AACK* IBR* I BR* External Master 13-14
How the 8260 Arbitrates the 60x Bus (2 of 3) The diagram below shows the arbitration process with one external master. Timing Diagram CLKIN IBR* I BR* ADDR MPC8260 External External TS* AACK* ARTRY* 1 2 3 4 5 6 7 1. The 8260 is parked on the bus. An internal device proceeds to execute an address tenure. During the subsequent clock cycle, the external master asserts BR* to request the 60x bus. 2. AACK* is asserted. BR* is sampled, found asserted, and the arbiter negates I. 3. is asserted, 1 clock after the assertion of AACK*. At this time is asserted while AACK* and are negated giving the external master a qualified bus grant. 4. The external master asserts and executes an address transaction. 5. The external master asserts BR* again and a second address transaction is executed. 6. While AACK* is asserted, no bus request is asserted. 7. As the parking master, I is asserted. 13-15
How the 8260 Arbitrates the 60x Bus (3 of 3) The diagram below shows the arbitration process with one external master. Block Diagram MPC8260 Arbiter TA* DVAL* AACK* IBR* I BR* D External Master 13-16
How the 8260 Retries an Address The diagram below shows the 8260 responding to an early ARTRY*. Timing Diagram CLKIN IBR* I BR* ADDR MPC8260 External MPC8260 TS* AACK* ARTRY* 1 2 3 4 5 Types of ARTRY* 1. No data tenure has begun - early or qualified ARTRY* 2. Data tenure has begun 1. The 8260 executes an address tenure. 2. On the clock cycle following assertion of AACK*, ARTRY* is asserted by an external master to indicate a snooping master requires the cycle be rerun. 3. During the window of opportunity (in blue), the snooping master (and only the snooping master) asserts BR*. This guarantees the snooping master be granted the bus before the just-retried master can restart its transaction. 4. The external master executes a write to memory to the address snooped. 5. The 8260 regains the bus and reruns the previous address tenure. 13-17
Exercises - 60x Bus Provide the answers to these questions... The following questions assume that the 8260 is the arbiter. 1. This pin is asserted by another bus master to request the bus: 2. This pin indicates to an external master that it has the bus on a qualified basis: 3. This pin indicates that a master has the address bus: 4. This pin indicates the start of a new address tenure: 5. This pin is asserted by the slave to indicate the completion of the address tenure: 6. This signal indicates that the bus transaction should be retried by the 60x bus master: 7. This pin indicates that a master has the data bus: 8. This pin indicates that a data beat is valid on the bus: 9. This pin indicates that an operand is complete on the data bus: from this list... AACK* ARTRY* BR* D DVAL* TA* TS* 13-18