Motorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or guarantee regarding
the suitability of its products for any particular purpose, nor does Motorola assume any liability arising out of the application or use of any product or circuit, and
specifically disclaims any and all liability, including without limitation consequential or incidental damages. "Typical" parameters can and do vary in different
applications. All operating parameters, including "Typicals" must be validated for each customer application b y customer's technical e xperts. Motorola does not
convey any license under its patent rights nor the rights of others. Motorola products are not designed, intended, or authorized for use as components in
systems intended for surgical implant into the body , or other applications intended to support or sustain life, or f or any other application in which the f ailure of the
Motorola product could create a situation where personal injury or death may occur. Should Buy er purchase or use Motorola products f or any such unintended
or unauthorized application, Buyer shall indemnify and hold Motorola and its officers, employees, subsidiaries, affiliates, and distributors harmless against all
claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with
such unintended or unauthorized use, even if such claim alleges that Motorola was negligent regarding the design or manuf acture of the part. Motorola and
are registered trademarks of Motorola, Inc. Motorola, Inc. is an Equal Opportunity/Affirmative Action Employ er.
B-11.UPM Word Structure .......................................................................... B-34
MOTOROLA
MPC801 USER’S MANUAL
xxxi
1
SECTION 1
INTRODUCTION
The MPC801 PowerPC
™
Quad Integrated Communications Controller (PowerQUICC) is a
versatile one-chip integrated microprocessor and peripheral combination that can be used
in a variety of controller applications. It is a low-cost version of the MPC860 that provides an
effective price/performance solution across a wide range of applications. The MPC801, like
the MPC860, combines a high-performance PowerPC core with a multifaceted system
integration package. Unless otherwise specified, the PowerQUICC unit will be referred to as
the MPC801 in this manual.
The MPC801 is a PowerPC-based derivative of Motorola’s MC68360 Quad Integrated
™
Communications Controller (QUICC
). The CPU on the MPC801 is a 32-bit PowerPC
implementation that incorporates memory management units and instruction and data
caches. The memory controller has been enhanced, thus enabling the MPC801 to support
any type of memory, including high performance memories and newer dynamic random
access memories (DRAMs).
The purpose of this manual is to describe the operation of all the MPC801 functionality with
concentration on the I/O functions. Additional details on the MPC801 can be found in the
PowerPC architectural specifications.
1.1 FEATURES
The following list summarizes the main features of the MPC801:
• PowerPC Single-Issue Integer Core Performs Branch Folding and Prediction with
Conditional Prefetch, but Without Conditional Execution
• Precise Exception Model
• Extensive System Development Support
— On-chip watchpoints and breakpoints
— Program flow tracking
— On-chip emulation (OnCE) development interface
• High Performance (52K Dhrystone 2.1 MIPS @40MHz, 3.3V, 1.3W Total Power)
• Low Power (3.3V Operation with 5V TTL Compatibility)
• MPC8XX PowerPC System Interface, Including a Periodic Interrupt Timer, a Bus
Monitor, and Real-Time Clocks
• Fully Static Design (0-40MHz Operation)
MOTOROLA
MPC801 USER’S MANUAL
1-1
Introduction
1
• Four Major Power-Saving Modes
— Full on, doze, sleep, and deep sleep
— Gear mode
• 256-Pin Ball Grid Array Packaging
• 26-Bit Address Bus and 32-bit Data Bus
— Supports multiple master designs
— Four-beat transfer bursts, two-clock minimum bus transactions
— Dynamic bus sizing controlled by on-chip memory controller
— Supports data parity
— Tolerates 5V inputs and provides 3.3V outputs
— 8-entry, fully associative data translation lookaside buffers
— 4K, 16K, 512K, or 8M page size support
— 1K protection granularity
— Support for multiple protection groups and tasks
— Attribute support for trapping, writethrough, cache inhibit, and memory-mapped I/O
— Supports software tablewalk
• 1K Physical Address, Two-Way, Set-Associative Data Cache
— Single-cycle access on hit
— 4-word line size, burst fill, least recently used (LRU) replacement
— Cache lockable on line granularity
— Read capability of all tags and attributes provided for debugging purposes
• 2K Physical Address, Two-Way, Set-Associative Instruction Cache
— Single-cycle access on hit
— Four-word line size, burst fill, least recently used replacement
— Cache lockable on line granularity
— Cache control supports PowerPC invalidate instruction
— Cache inhibit supported for the entire cache or per memory management unit page
in conjunction with memory management logic
— Read capability of all tags and attributes provided for debugging purposes
• Memory Controller with Eight Banks
— Glueless interface to SRAM, DRAM, EPROM, FLASH and other peripherals
— Byte write enables and selectable parity generation
— 32-bit address decodes with bit masks
— Each bank can be a chip-select or RAS
to support a DRAM bank
— Maximum of 30 programmable wait states per bank
— Programmable DRAM controller supports most size and speed memory interfaces
— Four CAS
lines, four WE lines, and one OE line
— Boot chip-select available at reset (optional 8-, 16-, or 32-bit memory)
— Variable block sizes (32K to 256M)
— Selectable write protection
1-2
MPC801 USER’S MANUAL
MOTOROLA
Introduction
• System Interface Unit
— Clock synthesizer
— Power management
— Reset controller
— PowerPC decrementer and timebase
— Real-time clock register
— Periodic interrupt timer
— Hardware bus monitor and software watchdog timer
— IEEE 1149.1 JTAG test access port
— Low-power stop mode
— On-chip bus arbitration logic
• Interrupt Support
— Eight external interrupt request lines
— Internal interrupt sources
• UART Support
— Two UARTs
— Standard baud rates of 300bps to 115.2kbps with 16 × sample clock
— External 1 × clock for high-speed synchronous communication
— Flexible 5-wire serial interface
— Direct support of IrDA physical layer protocol
— 8-byte FIFOs for transmit and receive
— Programmable data format:
— Programmable channel modes (normal and local loopback)
— Parity, framing, and overrun error detection
— Generation and detection of break
— Robust receiver data sampling with noise filtering
— Eight maskable interrupts
— Low-power idle mode
1
2
®
C
Support
•I
— Two-wire interface (SDA and SCL)
— Full-duplex operation
— Master or slave I
2
C mode support
— Multimaster environment support
— Clock rate support at a maximum of 520KHz, assuming a 25MHz system clock
— Local loopback capability for testing
• Serial Peripheral Interface Support
— Four-wire interface (SPIMOSI, SPIMISO, SPICLK, and SPISEL
)
— Full-duplex operation
— 8- and 16-bit data character operation
— Back-to-back character transmission and reception support
— Master or slave serial peripheral interface mode support
— Multimaster environment support
MOTOROLA
MPC801 USER’S MANUAL
1-3
Introduction
1
— Clock rates support at a maximum of 6.25MHz in master mode and 12.5MHz in
slave mode (assuming a 25MHz system clock)
— Independent programmable baud rate generator
— Programmable clock phase and polarity
— Open-drain output pins support multimaster configuration
— Local loopback capability for testing
• Debug Interface Support
— Eight comparators
— Supports =, ≠ , <, and > conditions
— Each watchpoint can generate a breakpoint internally
1.2 MPC801 ARCHITECTURE
The MPC801 is a combination of the embedded PowerPC core and integrated peripherals
brought together to meet the demands of various communications and networking products.
The MPC801 is comprised of six modules that all use the 32-bit internal bus:
• An embedded PowerPC core
• A system interface unit
• Two UARTs
2
• An I
• A serial peripheral interface
The MPC801 block diagram is illustrated in Figure 1-1.
C controller
1-4
I-CACHE
EMBEDDED
POWERPC
CORE
INSTRUCTION
BUS
LOAD/STORE
BUS
I-MMU
D-CACHE
D-MMU
Figure 1-1. MPC801 Block Diagram
MPC801 USER’S MANUAL
SYSTEM
INTERFACE UNIT
SYSTEM
FUNCTIONS
BIU
MEMORY
CONTROLLER
UART
UART
I2C
SPI
PIO
MOTOROLA
Introduction
1.2.1 The Embedded PowerPC Core
The embedded PowerPC core complies with the specifications discussed in the
Family: The Programming Environment (MPCFPE/D)
Motorola. The core has a fully static design that consists of two functional blocks—the
integer block and load/store block. It executes all integer and load/store operations directly
on the hardware. The core supports integer operations on a 32-bit internal data path with
32-bit arithmetic hardware. The interface to the internal and external buses is 32 bits.
The core uses a 2-instruction load/store queue, a 4-instruction prefetch queue, and a
6-instruction history buffer. It does branch folding and prediction with conditional prefetch,
but does not support conditional execution. The core can operate on 32-bit external
operands with one bus cycle. The PowerPC integer block supports 32 × 32-bit fixed-point
general-purpose registers and it can execute one integer instruction per clock cycle.
The embedded PowerPC core is integrated with the memory management unit as well with
the instruction and data caches. Each memory management unit (MMU) provides an
8-entry, fully associative instruction and data TLB, with 4K, 16K, 512K, and 8M page sizes.
It supports 16 virtual address spaces with 16 protection groups. Three special registers are
available as scratch registers to support software tablewalk and update.
The instruction cache is 2K, two way, set associative with physical addressing. It allows
single-cycle access on hit with no added latency for miss. It has four words per line
supporting burst line fill using least recently used replacement. The cache can be locked on
a per line basis for application critical routines. The cache inhibit mode can be programmed
on a per MMU page basis.
manual that is available from
PowerPC
1
The data cache is 1K, two way, set associative with physical addressing. It allows
single-cycle access on hit with one added clock latency for miss. It has four words per line,
supporting burst line fill using LRU replacement. The cache can be locked on a per line basis
for application critical data. The data cache can be programmed to support copyback or
writethrough via the memory management unit. The cache inhibit mode can be programmed
on a per MMU page basis. The PowerPC core, together with its instruction and data caches,
delivers approximately 52 MIPS at 40MHz using Dhrystone 2.1.
The core contains a debug interface that provides superior debug capabilities without
causing any degradation in the speed of operation. This interface supports six watchpoint
pins that are used to detect software events. Internally, it has eight comparators, four of
which operate on the effective address of the address bus. The remaining four comparators
are split—two comparators operate on the effective address of the data address bus and
two operate on the data bus. The core can compare using the =, ≠ , <, and > conditions to
generate watchpoints. Then each watchpoint can generate a breakpoint that can be
programmed to trigger after a certain number of events.
MOTOROLA
MPC801 USER’S MANUAL
1-5
Introduction
1
1.2.2 The System Interface Unit
The system interface unit (SIU) on the MPC801 integrates general-purpose features useful
in almost any 32-bit processor system, thus enhancing the performance provided by the
system integration module on the MC68360 QUICC device. Multiple bus port sizes are
supported and bus sizing allows 8-, 16-, and 32-bit peripherals and memory to exist in the
32-bit system bus mode. Data parity is supported using 4-bit data parity and the parity type
can be odd or even. The system interface unit also contains power management functions,
reset control, decrementer, timebase, and real-time clock.
The memory controller manages memories with a nonmultiplexed address bus using the
SRAM interface. Using the DRAM interface, the memory controller also manages memories
with a multiplexed address bus (DRAM, SRDRAM, and EDO). Both submodules support
glueless interface to 8-, 16-, and 32-bit wide memories. The memory controller supports up
to eight memory banks and can use address type matching to qualify the memory bank
accesses. Each bank can use either the SRAM or DRAM interface. The memory controller
provides four byte enable signals, one output enable signal, and one boot chip-select
available at reset.
The SRAM interface provides block sizes that vary between 32K to 64M. Each bank of
memory has 0 to 30 wait states (zero wait state means a two-clock access to external
SRAM). The DRAM interface supports 256K, 512K, 1M, 2M, 4M, 8M, 16M, 32M, or 64M
memory bank depths for all port sizes. The memory depth can be defined as 64K and 128K
for 8-bit memory or 128M and 256M for 32-bit memory. The DRAM controller supports page
mode access for successive transfers within bursts.
The MPC801 supports a glueless interface to one bank of DRAM, but external buffers are
required for additional memory banks. The refresh unit provides CAS
programmable refresh timer, disable refresh mode, and stacking for seven refresh cycles.
The DRAM interface uses a programmable state machine to support most memory
interfaces.
before RAS, a
1.2.3 The UART Controller
Each communication channel has a full-duplex universal asynchronous receiver/transmitter
(UART). The operating frequency for each receiver and transmitter can be selected
independently from the baud rate generator, counter/timer, or external clock. The transmitter
accepts parallel data from the core, converts it to a serial bitstream, inserts the appropriate
START, STOP, or optional PARITY bits, and then outputs a composite serial stream of data
on the TxD output pin. The receiver accepts the serial data on the RxD pin, converts it to
parallel format, checks for a START bit, STOP bit, PARITY bit (if any), or break condition,
and transfers an assembled character to the core during read operations.
1-6
MPC801 USER’S MANUAL
MOTOROLA
Introduction
1.2.4 The I2C
2
The I
C controller is a synchronous, multimaster bus that is used to connect several
®
Controller
integrated circuits on a board. It uses two wires to carry information between the integrated
2
circuits that are connected to the bus. The I
C controller consists of transmitter and receiver
sections, an independent baud rate generator, and a control unit. The transmitter and
receiver sections use the same clock that is derived from the I
2
C controller baud rate
generator in master mode and generated externally in slave mode.
1.2.5 The Serial Peripheral Interface Controller
The serial peripheral interface (SPI) is a full-duplex, synchronous, character-oriented
channel that supports a four-wire interface (receive, transmit, clock and slave select). The
serial peripheral interface block consists of transmitter and receiver sections, an
independent baud rate generator, and a control unit. The transmitter and receiver sections
use the same clock that is derived from the SPI baud rate generator in master mode and
generated externally in slave mode. During an serial peripheral interface transfer, data is
simultaneously transmitted and received.
1.3 POWER MANAGEMENT
The MPC801 supports a wide range of power management features, including full-on, doze,
sleep, deep sleep, and low-power stop. In full-on mode, the MPC801 processor is fully
powered with all internal units operating at full speed. A gear mode is provided that allows
the operating system to reduce the operational frequency of the processor. Doze mode
disables core functional units, except for the timebase, decrementer, phase locked loop,
memory controller, and real-time clock. Sleep mode disables everything, except the realtime clock and periodic interrupt timer, thus leaving the phase locked loop active for quick
wake-up. The deep sleep mode disables the phase locked loop for low-power, but at the
expense of a slower wake-up. Low-power stop disables all logic in the processor (except the
minimum logic required to restart the device) and lowers the power consumption, but it also
requires the longest wake-up time.
1
1.4 MPC801 APPLICATIONS
The MPC801 device is specifically designed to be a general-purpose, low-cost entry point
to the embedded PowerPC Family at Motorola. The device excels in applications that
require the performance of a single-issue PowerPC core with moderate amounts of data and
instruction cache. It can support alternate bus masters in addition to providing all the basic
features of glueless memory connections, but does not provide much in the way of serial
connectivity. Instead, it supplies simple UART serial channels as well as I
peripheral interface channels for onboard communication to other peripheral chips.
The MPC801 excels in low-power and portable applications because of its expansive
power-down modes. In addition, the normal operation current is low. The MPC801 is ideal
for applications where a significant portion of your added value is in peripherals or ASICs
and a low-cost general-purpose core is required. The programmable flexibility of the
memory controller ensures that the board design can accommodate future memory types
without hardware changes, thus enabling the ASIC to concentrate on other system goals.
MOTOROLA
MPC801 USER’S MANUAL
2
C and serial
1-7
Introduction
1
1.5 DIFFERENCES BETWEEN THE MPC801 AND MPC860
The MPC801 can be considered a subset of the standard MPC860 device. The following
modifications were made to the MPC860 to create the MPC801:
• The 4K instruction cache was reduced to 2K
• The 4K data cache was reduced to 1K
• The 32-bit instruction and data memory management units were reduced to eight TLB
entries each
• The 32-bit address bus was reduced to 26 bits
• PCMCIA support was eliminated
• All existing serial interface logic and their respective DMAs was replaced with two
UARTs, one I
modeled after the MC68328 DragonBall
2
C, and a serial peripheral interface (all non-DMA based). The UARTs are
™
device.
1.6 MPC801 GLUELESS SYSTEM DESIGN
A fundamental design goal of the MPC801 was to have a flexible interface to other system
components. Figure 1-2 illustrates a system configuration that offers one flash EPROM and
supports DRAM SIMM and one SRAM. Depending on the capacitance on the system bus,
external buffers may be required. From a logic standpoint, however, a glueless system is
maintained.
8-BIT BOOT
EPROM/FLASH
ADDRESS
CS0
GPL1/OE
WE(0:3)
DATA
WE(0)
ADDRESS
CE
OE
WE
DATA
1-8
DRAM
CS1
RD/WR
PARITY(0:3)
CS2
MPC801
ADDRESS
RAS
CAS(0:3)
W
DATA
PARITY(0:3)
SRAM
ADDRESS
CE
OE
WE
DATA
Figure 1-2. MPC801 System Configuration
MPC801 USER’S MANUAL
MOTOROLA
2
SECTION 2
EXTERNAL SIGNALS
This section contains brief descriptions of the MPC801 input and output signals in their
functional groups as illustrated in Figure 2-1.
VDDSYN/VSSSYN/VSSSYN1/VDDH/VDDL/VSS/KAPWR
SPISEL/PB[31]
SPICLK/PB[30]
SPIMOSI/PB[29]
SPIMISO/PB[28]
I2CSDA/PB[27]
I2CSCL/PB[26]
UGPIO1/PB[25]
UGPIO2/PB[24]
UCTS1/PB[23]
UCTS2/PB[22]
URXD1/PB[21]
URXD2/PB[20]
URTS1/PB[19]
URTS2/PB[18]
UTXD1/PB[17]
UTXD2/PB[16]
TMS
DSDI/TDI
DSCK/TCK
TRST
DSDO/TDO
AS
BADDR[28:30]
MODCK2/DSDO
MODCK1/STS
PTR/AT3
DSDI/IRQ5
LWP1/VF1
LWP0/VF0
IWP2/VF2
IWP(0:1)/VFLS[0:1]
AT2
DSCK/AT1
TEXP
EXTCLK
CLKOUT
XFC
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
1
1
2
1
1
1
1
1
MPC801
26
1
1
1
1
1
1
1
1
1
1
1
1
32
4
1
1
1
1
2
1
8
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
A[6:31]
TSIZ0
TSIZ1
RD/WR
BURST
BDIP/GPLB5
TS
TA
TEA
BI
RSV/IRQ2
KR/RETRY/IRQ4
CR/IRQ3
D[0:31]
DP[0:3]/IRQ[3:6]
BR
BG
BB
FRZ/IRQ6
IRQ[0:1]
IRQ[7]
CS[0:7]
The MPC801 system bus signals consist of all the lines that interface with the external bus.
2
Many of these lines perform different functions, depending on how you assign them. The
following input and output signals are identified by their mnemonic name and each signal’s
pin number can be found in Figure 2-1.
Table 2-1. Signal Descriptions
PIN NAMEPIN NUMBERDESCRIPTION
A[6-31]See Table 2-2
TSIZ0C10 Transfer Size 0 —When accessing a slave in the external bus, this three-state signal is used (together
TSIZ1B10 Transfer Size 1— This three-state signal is used by the bus master to indicate the number of operand
RD/WR
C4
BURST
BDIP
GPLB5
TS
for pin
breakout.
C3
Address Bus— This bidirectional three-state bus provides the address for the current bus cycle. A0 is
the most-significant signal for this bus. The bus is output when an internal master on the MPC801
initiates a transaction on the external bus. The MPC801 is connected to the 26 least-significant bits on
the bus.
The bus is input when an external master initiates a transaction on the bus and it is sampled internally
so the memory controller can control the accessed slave device.
with TSIZ1) by the bus master to indicate the number of operand bytes waiting to be transferred in the
current bus cycle.
This signal is input when an external master initiates a transaction on the bus and it is sampled
internally so the memory controller can control the accessed slave device.
bytes waiting to be transferred in the current bus cycle.
This signal is driven by the MPC801 when it is the owner of the bus. It is input when an external master
initiates a transaction on the bus and it is sampled internally so the memory controller can control the
accessed slave device.
Read Write —This three-state signal is driven by the bus master to indicate the direction of the bus’
data transfer. A logic one indicates a read from a slave device and a logic zero indicates a write to a
slave device.
This signal is driven by the MPC801 when it is the owner of the bus. It is input when an external master
initiates a transaction on the bus and is sampled internally so the memory controller can control the
accessed slave device.
E1
Burst Transaction —This three-state signal is driven by the bus master to indicate that the current
initiated transfer is a burst one.
This signal is driven by the MPC801 when it is the owner of the bus. It is input when an external master
initiates a transaction on the bus; this signal and is sampled internally so the memory controller can
control the accessed slave device.
Burst Data in Progress —When accessing a slave device in the external bus, the master on the bus
asserts this signal to indicate that the data beat in front of the current one is the one requested by the
master. This signal is negated prior to the expected last data beat of the burst transfer.
General-Purpose Line B5 —This signal is used by the memory controller when the user
programmable machine B (UPMB) takes control of the slave access.
B1
Transfer Start— This three-state signal is asserted by the bus master to indicate the start of a bus cycle
that transfers data to or from a slave device.
This signal is driven by the master only when it has gained ownership of the bus. Every master should
negate this signal before the bus relinquishes. A pull-up resistor should be connected to this signal to
prevent a slave device from detecting a spurious bus accessing it when no master is taking ownership
of the bus.
This signal is sampled by the MPC801 when it is not the owner of the external bus so the memory
controller can control the accessed slave device. It indicates that an external synchronous master
initiated a transaction.
2-2
MPC801 USER’S MANUAL
MOTOROLA
External Signals
Table 2-1. Signal Descriptions (Continued)
PIN NAMEPIN NUMBERDESCRIPTION
TA
TEA
BID3 Burst Inhibit —This bidirectional three-state signal indicates that the slave device addressed in the
RSV
IRQ2
KR
/RETRY
IRQ4
CR
IRQ3
D[0:31]See Table 2-2
DP0
IRQ
3
B2 Transfer Acknowledge —This bidirectional three-state signal indicates that the slave device
addressed in the current transaction has accepted the data transferred by the master (write) or has
driven the data bus with valid data (read). The signal behaves as an output when the memory controller
takes control of the transaction. the only exception occurs when the memory controller is controlling the
slave access by means of the gpcm and the corresponding option register is instructed to wait for an
external assertion of the transfer acknowledge line. every slave device should negate the ta signal after
the end of the transaction and immediately three-state it to avoid contentions on the line if a new
transfer is initiated addressing other slave devices. A pull-up resistor should be connected to this signal
to keep a master device from detecting the assertion of this signal when no slave is addressed in a
transfer or when the address detection for the addressed slave is slow.
A1 Transfer Error Acknowledge —This open-drain signal indicates that a bus error occurred in the
current transaction. It is driven asserted by the MPC801 when the bus monitor does not detect a bus
cycle termination within a reasonable amount of time. The assertion of TEA
the current bus cycle, thus ignoring the state of TA
current burst transaction is unable to support burst transfers. The signal behaves as an output when
the memory controller takes control of the transaction. When the MPC801 drives out the signal for a
specific transaction, it asserts or negates BI
the user in the appropriate control registers. It negates the signal after the end of the transaction and
immediately three-states it to avoid contentions if a new transfer is initiated addressing other slave
devices.
G4 Reservation —This three-state signal is output by the MPC801 in conjunction with the address bus to
indicate that the internal core initiated a transfer as a result of a
Interrupt Request 2 —This input is one of the eight external signals that can request (by means of the
internal interrupt controller) a service routine from the core.
I2
Kill Reservation —This input is used as a part of the storage reservation protocol when the MPC801
initiated a transaction as the result of a
Retry —This input signal is used by the slave device to indicate that it is unable to accept the
transaction. The MPC801 must relinquish ownership of the bus and initiate the transaction again after
winning the bus arbitration.
Interrupt Request 4 —This input signal is one of the eight external signals that can request (by means
of the internal interrupt controller) a service routine from the core. It should be noted that the interrupt
request signal that is sent to the interrupt controller is the logical AND of this signal (if defined to function
as IRQ4
) and the DP1/IRQ4 (if defined to function as IRQ4).
D1
Cancel Reservation —This input signal is used as a part of the storage reservation protocol.
Interrupt Request 3 —This input signal is one of the eight external signals that can request (by means
of the internal interrupt controller) a service routine from the core. It should be noted that the interrupt
request signal that is sent to the interrupt controller is the logical AND of this signal (if defined to function
as IRQ3
) and the DP0/IRQ3 if defined to function as IRQ3.
for pin
breakout
Data Bus —This bidirectional three-state bus provides the general-purpose data path between the
MPC801 and all other devices. Although the data path is a maximum of 32 bits wide, it can be
dynamically sized to support 8-, 16-, or 32-bit transfers. D0 is the most-significant bit of the data bus.
M5 Data Parity 0 —This bidirectional three-state signal provides parity generation and checking for the
data bus lane D[0:7] by transferring to a slave device initiated by the MPC801. The parity function can
be defined independently for each one of the addressed memory banks (if controlled by the memory
controller) and for the rest of the slaves sitting on the external bus.
Interrupt Request 3 —This input signal is one of the eight external signals that can request (by means
of the internal interrupt controller) a service routine from the core. It should be noted that the interrupt
request signal that is sent to the interrupt controller is the logical AND of this signal (if defined to function
as IRQ3
) and the CR/IRQ3 if defined to function as IRQ3.
.
during the transaction according to the value specified by
stwcx instruction.
causes the termination of
stwcx or lwarx instruction.
2
MOTOROLA
MPC801 USER’S MANUAL
2-3
2
External Signals
Table 2-1. Signal Descriptions (Continued)
PIN NAMEPIN NUMBERDESCRIPTION
DP1
IRQ4
DP2
IRQ5
DP3
IRQ6
BRE3
BG
BB
FRZ
IRQ6
IRQ0N15 Interrupt Request 0 —This input signal is one of the eight external signals that can request (by means
IRQ1
IRQ7
O5
O4
N4
D2
C2
N16 Interrupt Request 1 —This input signal is one of the eight external signals that can request (by means
M17 Interrupt Request 7 —This input signal is one of the eight external signals that can request (by means
Data Parity 1 —This bidirectional three-state signal provides parity generation and checking for the
data bus lane D[8:15] by transferring to a slave device initiated by the MPC801. The parity function can
be defined independently for each one of the addressed memory banks (if controlled by the memory
controller) and for the rest of the slaves on the external bus.
Interrupt Request 4 —This input is one of the eight external lines that can request (by means of the
internal interrupt controller) a service routine from the core. It should be noted that the interrupt request
signal that is sent to the interrupt controller is the logical AND of this signal (if defined to function as
IRQ4
) and the KR/RETRY/IRQ4 if defined to function as IRQ4.
Data Parity 2 —This bidirectional three-state signal provides parity generation and checking for the
data bus lane D[16:23] by transferring to a slave device initiated by the MPC801. The parity function
can be defined independently for each one of the addressed memory banks (if controlled by the
memory controller) and for the rest of the slaves on the external bus.
Interrupt Request 5 —This input signal is one of the eight external signals that can request (by means
of the internal interrupt controller) a service routine from the core. It should be noted that the interrupt
request signal that is sent to the interrupt controller is the logical AND of this signal (if defined to function
as IRQ6
) and the DSDI/IRQ5 if defined to function as IRQ5.
Data Parity 3 —This bidirectional three-state signal provides parity generation and checking for the
data bus lane D[24:31] by transferring to a slave device initiated by the MPC801. The parity function
can be defined independently for each one of the addressed memory banks (if controlled by the
memory controller) and for the rest of the slaves on the external bus.
Interrupt Request 6 —This input signal is one of the eight external signals that can request (by means
of the internal interrupt controller) a service routine from the core. It should be noted that the interrupt
request signal that is sent to the interrupt controller is the logical AND of this signal (if defined to function
as IRQ6
) and the FRZ/IRQ6 if defined to function as IRQ6.
Bus Request —This bidirectional signal is asserted low when a possible master is requesting
ownership of the bus. When the MPC801 is configured to operate with the internal arbiter, this signal
is configured as an input. However, when the MPC801 is configured to operate with an external arbiter,
this signal is configured as an output and asserted every time a new transaction is intended to be
initiated and no parking on the bus is granted.
Bus Grant —This bidirectional signal is asserted low when the arbiter of the external bus grants the
specific master ownership of the bus. When the MPC801 is configured to operate with the internal
arbiter, this signal is configured as an output and asserted every time the external master asserts the
BR
signal and its priority request is higher than any of the internal sources requiring the initiation of a
bus transfer. However, when the MPC801 is configured to operate with an external arbiter, this signal
is configured as an input.
Bus Busy —This bidirectional signal is asserted low by a master to show that it owns the bus. The
MPC801 asserts this signal after the bus arbiter grants it bus ownership and the BB
E2
Freeze —This output signal is asserted to indicate that the internal core is in debug mode.
Interrupt Request 6 —This input signal is one of the eight external signals that can request (by means
of the internal interrupt controller) a service routine from the core. It should be noted that the interrupt
request signal that is sent to the interrupt controller is the logical AND of this signal (if defined to function
as IRQ6
) and the DP3/IRQ6 (if defined to function as IRQ6.)
of the internal interrupt controller) a service routine from the core.
of the internal interrupt controller) a service routine from the core.
of the internal interrupt controller) a service routine from the core.
signal is negated.
2-4
MPC801 USER’S MANUAL
MOTOROLA
Table 2-1. Signal Descriptions (Continued)
PIN NAMEPIN NUMBERDESCRIPTION
[0:7]See Table 2-2
CS
WE0
BS_AB0
WE1
BS_AB1
WE2
BS_AB2
WE3
BS_B3
GPLA0
GPLB0
OE
GPLA1
GPLB1
GPLA
[2:3]
GPLB
[2:3]
CS
[2:3]
for pin
breakout
A10 Write Enable 1 —This output signal is asserted when the MPC801 initiates a write access to an
B7 and C7 General-Purpose Lines 2 and 3 on UPMA
Chip Select 0–7—These output signals enable peripheral or memory devices at programmed
addresses if they are appropriately defined in the memory controller. CS0
global chip-select for the boot device.
C9
Write Enable 0 —This output signal is asserted when a write access to an external slave controlled by
the GPCM in the memory controller is initiated by the MPC801. WE0
contains valid data to be stored by the slave device.
Byte Select 0 on UPMA or UPMB
in the memory controller whenever you program it. In a read or write transfer, the signal is only asserted
if the data lane D[0:7] contains valid data.
external slave controlled by the GPCM in the memory controller. WE1
D[8:15] contains valid data to be stored by the slave device.
Byte Select 1 on UPMA or UPMB
in the memory controller whenever you program it. In a read or write transfer, the signal is only asserted
if the data lane D[8:15] contains valid data.
A9 Write Enable 2 —This output signal is asserted when the MPC801 initiates a write access to an
external slave controlled by the GPCM in the memory controller. WE2
D[16:23] contains valid data to be stored by the slave device.
Byte Select 2 on UPMA or UPMB
in the memory controller whenever you program it. In a read or write transfer, the signal is only asserted
if the data lane D[16:23] contains valid data.
C8
Write Enable 3 —This output signal is asserted when the MPC801 initiates a write access to an
external slave controlled by the GPCM in the memory controller. WE3
D[24:31] contains valid data to be stored by the slave device.
Byte Select 3 on UPMA or UPMB
in the memory controller whenever you program it. In a read or write transfer, the signal is only asserted
if the data lane D[24:31] contains valid data.
B8 General-Purpose Line 0 on UPMA
memory controller when an external transfer to a slave is controlled by the user programmable machine
A (UPMA).
General-Purpose Line 0 on UPMB
memory controller when an external transfer to a slave is controlled by the user programmable machine
B (UPMB).
A7 Output Enable —This output signal is asserted when the MPC801 initiates a read access to an external
slave controlled by the GPCM in the memory controller.
General-Purpose Line 1on UPMA
memory controller when an external transfer to a slave is controlled by the user programmable machine
A (UPMA).
General-Purpose Line 1 on UPMB
memory controller when an external transfer to a slave is controlled by the user programmable machine
B (UPMB).
UPMA in the memory controller when an external transfer to a slave is controlled by the user
programmable machine A (UPMA).
General-Purpose Lines 2 and 3 on UPMB
UPMB in the memory controller when an external transfer to a slave is controlled by the user
programmable machine B (UPMB).
Chip Select 2 and 3 —These output signals enable peripheral or memory devices at programmed
addresses if they are appropriately defined in the memory controller. The double drive capability for
CS2
and CS3 is independently defined for each signal in the SIUMCR.
—This output signal is asserted as required by the UPMA or UPMB
—This output signal is asserted as required by the UPMA or UPMB
—This output signal is asserted as required by the UPMA or UPMB
—This output signal is asserted as required by the UPMA or UPMB
—This output signal reflects the value specified in the UPMA in the
—This output signal reflects the value specified in the UPMB in the
—This output signal reflects the value specified in the UPMA in the
—This output signal reflects the value specified in the UPMB in the
—These output signals reflect the value specified in the
—These output signals reflect the value specified in the
External Signals
can be configured to be the
is asserted if the data lane D[0:7]
is asserted if the data lane
is asserted if the data lane
is asserted if the data lane
2
MOTOROLA
MPC801 USER’S MANUAL
2-5
2
External Signals
Table 2-1. Signal Descriptions (Continued)
PIN NAMEPIN NUMBERDESCRIPTION
A2
UPWAITA
GPLA4
UPWAITB
GPLB
4
GPLA5
PORESET
RSTCONF
HRESET
SRESET
XTALN1This output signal is one of the connections to an external crystal for the internal oscillator circuitry.
EXTALM1This signal is one of the connections to an external crystal for the internal oscillator circuitry.
XFCO3
CLKOUTP5
EXTCLKL1
TEXPL2
DSCK/AT1H4
IWP[0:1]
VFLS[0:1]
AT2H2
M3
N2
M2
G1 and G2 Instruction Watchpoint 0-1 —These output signals report the detection of an instruction watchpoint in
User Programmable Machine Wait A
to an external slave is controlled by the UPMA in the memory controller.
General-Purpose Line 4 on UPMA
memory controller when an external transfer to a slave is controlled by the user programmable machine
A (UPMA).
A3
User Programmable Machine Wait B
to an external slave is controlled by the UPMB in the memory controller.
General-Purpose Line 4 on UPMB
memory controller when an external transfer to a slave is controlled by the
machine B (UPMB).
B3
General-Purpose Line 5 on UPMA
memory controller when an external transfer to a slave is controlled by the user programmable machine
A (UPMA). This signal can also be controlled by the UPMB.
Power -On Reset —When asserted, this input signal causes the MPC801 to enter the power-on reset
state.
Reset Configuration —This input signal is sampled by the MPC801 during the assertion of the
HRESET
signal. If it is asserted, the configuration mode is sampled in the form of the hard reset
configuration word driven on the data bus. When this signal is negated, the default configuration mode
is adopted by the MPC801. Notice that the initial base address of internal registers is determined in this
sequence.
Hard Reset —This open drain line, when asserted, causes the MPC801 external crystal to enter the
hard reset state.
L3
Soft Reset —This open drain line, when asserted, causes the MPC801 external crystal to enter the soft
reset state.
External Filter Capacitance —This input signal is the connection pin to an external capacitor filter for
the PLL circuitry.
Clock Out —This output signal is the clock system frequency.
External Clock —This input signal is the external input clock from an external source.
Timer Expired —This output signal reflects the status of the TEXPS bit in the PLPRCR in the CLOCK
interface.
Development Serial Clock —This input signal is the clock for the debug port interface.
Address Type 1 —This bidirectional three-state signal is driven by the MPC801 when it initiates a
transaction on the external bus. When the transaction is initiated by the internal core, it indicates if the
transfer is for problem or privilege state.
the program flow executed by the internal core.
Visible History Buffer Flushes Status
need program instructions flow tracking. They report the number of instructions flushed from the history
buffer in the internal core.
Address Type 2 —This bidirectional three-state signal is driven by the MPC801 when it initiates a
transaction on the external bus. When the transaction is initiated by the internal core, it indicates if the
transfer is instruction or data.
—This input signal is sampled as you need it when an access
—This output signal reflects the value specified in the UPMA in the
—This input signal is sampled as you need it when an access
—This output signal reflects the value specified in the UPMB in the
user programmable
—This output signal reflects the value specified in the UPMA in the
—These output signals are output by the MPC801 when you
2-6
MPC801 USER’S MANUAL
MOTOROLA
External Signals
Table 2-1. Signal Descriptions (Continued)
PIN NAMEPIN NUMBERDESCRIPTION
IWP2
VF2
LWP0
VF0
LWP1
VF1
DSDI
IRQ5
PTR
AT3
MODCK1
STS
MODCK2
DSDO
BADDR[28:30]J1, I1, and H1 Burst Address —These output signals duplicate the value of A[28:29] when:
AS
PB[31]
SPISEL
PB[30]
SPICLK
F1
Instruction Watchpoint 2 —This output signal reports the detection of an instruction watchpoint in the
program flow executed by the internal core.
Visible Instruction Queue Flush Status
the MPC801 when you need program instructions flow tracking. VF
flushed from the instruction queue in the internal core.
F2
Load/Store Watchpoint 0 —This output signal reports the detection of a data watchpoint in the
program flow executed by the internal core.
Visible Instruction Queue Flushes Status
output by the MPC801 when you need program instructions flow tracking. VF reports the number of
instructions flushed from the instruction queue in the internal core.
G3 Load/Store Watchpoint 1 —This output signal reports the detection of a data watchpoint in the
program flow executed by the internal core.
Visible Instruction Queue Flushes Status
output by the MPC801 when you need program instructions flow tracking. VF reports the number of
instructions flushed from the instruction queue in the internal core.
I3
Development Serial Data Input —This input signal is the data in for the debug port interface.
Interrupt Request 5 —This input signal is one of the eight external signals that can request through the
internal interrupt controller, a service routine from the core. It should be noted that the interrupt request
signal that is sent to the interrupt controller is the logical AND of this signal (if defined to function as
IRQ5
) and the DP2/IRQ5 (if defined to function as IRQ5).
H3
Program Trace —This output signal is asserted by the MPC801 to indicate an instruction fetch is taking
place to allow program flow tracking.
Address Type 3 —This bidirectional three-state signal is driven by the MPC801 when it initiates a
transaction on the external bus. When the transaction is initiated by the internal core, it indicates if the
transfer is reserved for data transfers or a program trace indication for instructions fetch.
J3
Mode Clock 1 —This input signal is sampled at PORESET negation to configure the PLL/clock mode
of operation.
Special Transfer Start —This output signal is driven by the MPC801 to indicate the start of a
transaction on the external bus or to signal the beginning of an internal transaction in show cycle mode.
J2
Mode Clock 2 —This input signal is sampled at PORESET
of operation.
Development Serial Data Output
• An internal master in the MPC801 initiates a transaction on the external bus.
• An asynchronous external master initiates a transaction.
• A synchronous external master initiates a single beat transaction.
These signals are used by the memory controller to allow increments in the address lines that connect
to memory devices when a synchronous external or internal master initiates a burst transfer.
I4
Address Strobe —This input signal is driven by an external asynchronous master to indicate a valid
address on the A[6:31] signals. The memory controller in the MPC801 synchronizes this signal and
controls the memory device addressed under its control.
F16 General-Purpose I/O Port B Bit 31
—This is the serial peripheral interface slave select input pin.
SPISEL
G13 General-Purpose I/O Port B Bit 30
SPICLK —This is the serial peripheral interface output clock when it is configured as a master or serial
peripheral interface input clock when it is configured as a slave.
—This output signal, together with VF0 and VF1, is output by
—This output signal, combined with VF1 and VF2, is
—This output signal, combined with VF0 and VF2, is
—This output signal is the data out of the debug port interface.
—This is Bit 31 of the general-purpose I/O port B.
—This is Bit 30 of the general-purpose I/O port B.
x
reports the number of instructions
negation to configure the PLL/clock mode
2
MOTOROLA
MPC801 USER’S MANUAL
2-7
2
External Signals
Table 2-1. Signal Descriptions (Continued)
PIN NAMEPIN NUMBERDESCRIPTION
PB[29]
SPIMOSI
PB[28]
SPIMISO
PB[27]
I2CSDA
PB[26]
I2CSCL
PB[25]
UGPIO1
PB[24]
UGPIO2
PB[23]
UCTS1
PB[22]
UCTS2
PB[21]
URXD1
PB[20]
URXD2
PB[19]
URTS1
PB[18]
URTS2
PB[17]
UTXD1
PB[16]
UTXD2
G15 General-Purpose I/O Port B Bit 29
SPIMOSI —This is the serial peripheral interface output data when it is configured as a master or serial
peripheral interface input data when it is configured as a slave.
G16 General-Purpose I/O Port B Bit 28
SPIMISO —This is the serial peripheral interface input data when it is configured as a master or serial
peripheral interface output data when it is configured as a slave.
H14 General-Purpose I/O Port B Bit 27
I2CSDA —This is the I
output.
H15 General-Purpose I/O Port B Bit 26
I2CSCL —This is the I
output.
J13 General-Purpose I/O Port B Bit 25
UGPIO1 —This is the general-purpose input/output pin of UART1. It can be configured as a general
input or output or it can serve as the source of the clock to the baud rate generator. It can also output
the bit clock at the selected baud rate.
J15 General-Purpose I/O Port B Bit 24
UGPIO2 —This is the general-purpose input/output pin of UART2. It can be configured as a general
input or output or it can serve as the source of the clock to the baud rate generator. It can also output
the bit clock at the selected baud rate.
K16 General-Purpose I/O Port B Bit 23
UCTS1
—This is an active low clear-to-send input of UART1 that is used to control the transmitter.
K15 General-Purpose I/O Port B Bit 22—
—This is an active low clear-to-send input of UART2 that is used to control the transmitter.
UCTS2
K14 General-Purpose I/O Port B Bit 21
URXD1 —This signal is the receive data serial input of UART1.
L16 General-Purpose I/O Port B Bit 20
URXD2 —This signal is the receive data serial input of UART2.
L15 General-Purpose I/O Port B Bit 19
URTS1
—This is an active low ready-to-send output from UART1 used to indicate that the receiver is
ready.
L14General-Purpose I/O Port B Bit 18—This is Bit 18 of the general-purpose I/O port B.
URTS2
—This is an active low ready-to-send output from UART2 used to indicate that the receiver is
ready.
M16General-Purpose I/O Port B Bit 17—This is Bit 17 of the general-purpose I/O port B.
UTXD1—This signal is the transmit data serial output from UART1.
M15General-Purpose I/O Port B Bit 16—This is Bit 16 of the general-purpose I/O port B.
UTXD2—This signal is the transmit data serial output from UART1.
2
C serial data pin. It is bidirectional and should be configured as an open-drain
2
C serial clock pin. It is bidirectional and should be configured as an open-drain
—This is Bit 29 of the general-purpose I/O port B.
—This is Bit 28 of the general-purpose I/O port B.
—This is Bit 27 of the general-purpose I/O port B.
—This is Bit 26 of the general-purpose I/O port B.
—This is Bit 25 of the general-purpose I/O port B.
—This is Bit 24 of the general-purpose I/O port B.
—This is Bit 23 of the general-purpose I/O port B.
This is Bit 22 of the general-purpose I/O port B.
—This is Bit 21 of the general-purpose I/O port B.
—This is Bit 20 of the general-purpose I/O port B.
—This is Bit 19 of the general-purpose I/O port B.
2-8
MPC801 USER’S MANUAL
MOTOROLA
External Signals
Table 2-1. Signal Descriptions (Continued)
PIN NAMEPIN NUMBERDESCRIPTION
Power SupplyA8, J16, K1,
TCK
DSCK
TMSH13Test Mode Select—This input signal controls the scan chain test mode operations. It should be
TDI
DSDI
TDO
DSDO
TRST
and P9
H16Test Data Output—This three-state output signal is the data out of the JTAG interface.
VDDH—This signal is the power supply of the I/O buffers and certain parts of the clock control.
VDDSYN—This signal is the power supply of the PLL circuitry.
P3
VSSSYN—This signal is the power supply for the clock synthesizer.
P2
VSSSYN1—This signal is the power supply for the clock synthesizer.
P1
KAPWR—This signal is the power supply of the internal oscillator, real-time clock, periodic interrupt
O1
timer, decrementer, and timebase.
I15Test Clock—This input signal is the clock of the JTAG interface.
Development Serial Clock—This input signal is the clock for the debug port interface.
powered through a pull-up resistor if unused.
I16Test Data Input—This input signal is the data in for the JTAG interface.
Development Serial Data Input—This input signal is the data for the debug port interface.
Development Serial Data Output—This output signal is the data out of the debug port interface.
I17Test Reset—This input signal is the asynchronous reset of the TAP machine on the JTAG interface.
The MPC801 internal memory resources are mapped within a contiguous block of 16K
storage. The location of this block within the global 4G real storage space can be mapped
on 64K resolution through an implementation specific special register called the internal
memory map register. Refer to Section 12 System Interface Unit and Appendix A Quick
Reference Guide to MPC801 Registers for more information. The following table defines
100BR0Base Register Bank 032
104OR0Option Register Bank 032
108BR1Base Register Bank 132
10COR1Option Register Bank 132
110BR2Base Register Bank 232
114OR2Option Register Bank 232
118BR3Base Register Bank 332
11COR3Option Register Bank 332
120BR4Base Register Bank 432
124OR4Option Register Bank 432
128BR5Base Register Bank 532
12COR5Option Register Bank 532
130BR6Base Register Bank 632
134OR6Option Register Bank 632
138BR7Base Register Bank 732
13COR7Option Register Bank 732
1E0PBODRPort B Open-Drain Register16
1E4PBDATPort B Data Register16
1E8PBDIRPort B Data Direction Register16
1ECPBPARPort B Pin Assignment Register16
AF0 to 1FFRESReserved—
MOTOROLA
MPC801 USER’S MANUAL
3-3
Memory Map
Table 3-1. MPC801 Internal Memory Map (Continued)
3
INTERNAL
ADDRESS
SYSTEM INTEGRATION TIMERS
200TBSCRTimebase Status and Control Register16
204TBREFF0Timebase Reference Register 032
208TBREFF1Timebase Reference Register 132
20C to 21FRESReserved—
220RTCSCReal-Time Clock Status and Control Register16
224RTCReal-Time Clock Register32
228RTSECReal-Time Alarm Seconds32
22CRTCALReal-Time Alarm Register32
230 to 23FRESReserved—
240PISCRPeriodic Interrupt Status and Control Register16
244PITCPeriodic Interrupt Count Register32
248PITRPeriodic Interrupt Timer Register32
24C to 27FRESReserved—
CLOCKS AND RESET
280SCCRSystem Clock Control Register32
284PLPRCRPLL, Low-Power and Reset Control Register32
288RSRReset Status Register32
28C to 2FFRESReserved—
MNEMONICNAMESIZE
SYSTEM INTEGRATION TIMERS KEYS
300TBSCRKTimebase Status and Control Register Key32
304TBREFF0KTimebase Reference Register 0 Key32
308TBREFF1KTimebase Reference Register 1 Key32
30CTBKTimebase and Decrementer Register Key32
310 to 31FRESReserved—
320RTCSCKReal-Time Clock Status and Control Register Key32
324RTCKReal-Time Clock Register Key32
328RTSECKReal-Time Alarm Seconds Key32
32CRTCALKReal-Time Alarm Register Key32
3-4
MPC801 USER’S MANUAL
MOTOROLA
Table 3-1. MPC801 Internal Memory Map (Continued)
Memory Map
INTERNAL
ADDRESS
330 to 33FRESReserved—
340PISCRKPeriodic Interrupt Status and Control Register Key32
344PITCKPeriodic Interrupt Count Register Key32
348 to 37FRESReserved—
CLOCKS AND RESET KEYS
380SCCRKSystem Clock Control Key32
384PLPRCRKPLL, Low-Power and Reset Control Register Key32
388RSRKReset Status Register Key32
38C to 3FFRESReserved—
MNEMONICNAMESIZE
3
MOTOROLA
MPC801 USER’S MANUAL
3-5
3
Memory Map
3-6
MPC801 USER’S MANUAL
MOTOROLA
SECTION 4
RESET
The reset block has a reset control logic that determines the cause of reset, synchronizes it
if necessary, and resets the appropriate logic modules. The memory controller, system
protection logic, interrupt controller, and parallel I/O pins are initialized only on hard reset.
Soft reset initializes the internal logic while maintaining the system configuration.
Table 4-1. Possible Reset Results
RESET EFFECT
RESET
SOURCE
Power-On Reset YesYesYesYesYesYesYes
External Hard Reset
Loss-of-Lock
Software Watchdog
Check Stop
Debug Port Hard Reset
JTAG Reset
External Soft Reset
Debug Port Soft Reset
RESET
LOGIC AND
PLL
STATES
RESET
NoYesYesYesYesYesYes
NoNoNoNoYesYesYes
SYSTEM
CONFIG
RESET
CLOCK
MODULE
RESET
HRESET
PIN
DRIVEN
DEBUG
PORT
CONFIG
OTHER
INTERNAL
LOGIC
RESET
SRESET
PIN
DRIVEN
4.1 TYPES OF RESET
The MPC801 has several types of inputs to the reset logic:
4
• Power-on reset
• External hard reset
• Internal hard reset
— Loss of lock
— Software watchdog reset
— Checkstop reset
— Debug port hard reset
— JTAG reset
MOTOROLA
MPC801 USER’S MANUAL
4-1
Reset
• External soft reset
• Internal soft reset
— Debug port soft reset
All of these reset sources are fed into the reset controller and, depending on the source of
the reset, different actions are taken. The reset status register reflects the last source to
cause a reset.
4.1.1 Power-On Reset
4
Power-on reset is an active low input pin called PORESET
low-power mode, this pin should only be activated when a voltage in the keep alive power
(KAPWR) rail fails. When this pin is asserted, the MODCK bits are sampled and the
phase-locked loop multiplication factor and pitrtclk and tmbclk sources are changed to their
default values. When this pin is negated, internal MODCK values are unchanged. The
PORESET
assertion, the MPC801 enters the power-on reset state and stays there until the following
events occur:
pin should be asserted for a minimum of 3 microseconds. After detecting this
. In a system with power-down
• The internal PLL enters the lock state and the system clock is active
• The PORESET
When PORESET
SRESET
extension counter of 512 is reset,and the MODCK pins are sampled when POR pin is
negated. After the negation of PORESET
initiated HRESET
When the timer expires, which is usually after the 512 cycles, the configuration is sampled
from the data pins and the core stops driving the pins. An external pull-up resistor should
drive the HRESET
passes before the presence of an external (hard/soft) reset is tested. Refer to Section 4.3.1
Hard Reset for more information.
and HRESET are asserted by the core. When the MPC801 remains in POR, the
pin is negated
is asserted, the MPC801 enters the power-on reset (POR) state in which
or PLL lock, the core enters the state of internal
and continues driving the HRESET and SRESET pins for 512 cycles.
and SRESET pins high. After the pins are negated, a 16-cycle period
4.1.2 External Hard Reset
HRESET
external assertion of HRESET
HRESET
reset) is a bidirectional, active low I/O pin. The MPC801 can only detect an external
assertion of SRESET
also an open-collector type of pin.
When an external HRESET
for 512 cycles. When the timer expires, after 512 cycles, the configuration is sampled from
the data pins and the core stops driving the HRESET
resistor should drive the pins high and once they are negated, a 16-cycle period passes
before the presence of an external (hard/soft) reset is tested. Refer to Section 4.3.1 Hard
Reset for more information.
(hard reset) is a bidirectional, active low I/O pin. The MPC801 can only detect an
if it occurs while the MPC801 is not asserting reset. During
, SRESET is asserted. HRESET is an open-collector type of pin. SRESET (soft
if it occurs while the MPC801 is not asserting reset. The SRESET is
is asserted, the core starts driving the HRESET and SRESET
and SRESET pins. An external pull-up
4-2
MPC801 USER’S MANUAL
MOTOROLA
Reset
4.1.3 Internal Hard Reset
When the core finds a reason to assert HRESET,
pins for 512 cycles. When the timer expires, after the 512 cycles, the configuration is
sampled from data pins and the core stops driving the pins. An external pull-up resistor
should drive the HRESET
period passes before the presence of an external (hard/soft) reset is tested. Refer to
Section 4.3.1 Hard Reset for more information. The causes of internal hard reset are as
follows:
and SRESET pins high and once they are negated a 16-cycle
it starts driving the HRESET and SRESET
• Loss of lock
• Software watchdog reset
• Checkstop reset
• Debug port hard reset
• JTAG reset
4.1.3.1 LOSS OF LOCK. If the PLL detects a loss of lock, erroneous external bus operation
occurs if synchronous external devices use the core input clock. Erroneous operation could
also occur if devices with a PLL use the core clockout. This source of reset can be asserted
if the LOLRE bit in the PLL low-power and reset control register is set. The enabled PLL
loss-of-lock event generates an internal hard reset sequence.
4.1.3.2 SOFTWARE WATCHDOG RESET. After the core watchdog counts to zero, a
software watchdog reset is asserted. The enabled software watchdog event then generates
an internal hard reset sequence.
4.1.3.3 CHECKSTOP RESET. If the core enters a checkstop state and the checkstop reset
is enabled, the checkstop reset is asserted. The enabled checkstop event then generates
an internal hard reset sequence.
4.1.3.4 DEBUG PORT HARD RESET. When the development port receives a hard reset
request from the development tool, an internal hard reset sequence is generated. In this
case, the development tool must reconfigure the debug port. Refer to Section 18.3.3.1.2
Development Serial Data In for more information.
4
4.1.3.5 JTAG RESET. When the JTAG logic asserts the JTAG soft reset signal, an internal
soft reset sequence will be generated.
4.1.4 External Soft Reset
When an external SRESET
timer expires, after 512 cycles, the debug port configuration is sampled from the DSDI and
DSCK pins and the core stops driving the pin. An external pull-up resistor should drive it high
and once it is negated a 16-cycle period passes before the presence of an external soft reset
is tested.
MOTOROLA
is asserted, the core starts driving the SRESET pin. When the
MPC801 USER’S MANUAL
4-3
4
Reset
4.1.5 Internal Soft Reset
When the core finds a reason to assert SRESET,
the timer expires, after 512 cycles, the debug port configuration is sampled from the DSDI
and DSCK pins and the core stops driving the SRESET
should drive the pin high and once it is negated a 16-cycle period passes before the
presence of an external soft reset is tested. JTAG and the debug port cause an internal soft
reset.
4.1.5.1 DEBUG PORT SOFT RESET. When the development port receives a soft reset
request from the development tool, an internal soft reset sequence is generated. In this case
the development tool must reconfigure the debug port. Refer to Section 18.3.3.1.2
Development Serial Data In for more information.
it starts driving the SRESET pin. When
pin. An external pull-up resistor
4.2 RESET STATUS REGISTER
The 32-bit reset status register (RSR) is powered by the keep alive power supply. It is
memory-mapped into the MPC801 system interface unit register map and receives its
default reset values at power-on reset.
RSR
BIT0123456789101112131415
FIELD
RESET
R/W
BIT
FIELD
RESET
R/W
EHRSESRSLLRSSWRSCSRS DBHRS DBSRSJTRS
000000000
R/WR/WR/WR/WR/WR/WR/WR/WR/W
16171819202122232425262728293031
RESERVED
0
R/W
RESERVED
EHRS—External Hard Reset Status
This bit is cleared by a power-on reset. When an external hard reset event is detected, this
bit is set and remains that way until the software clears it. The EHRS bit can be negated by
writing a 1, but a write of zero has no effect on it.
0 = No external hard reset event occurred.
1 = An external hard reset event occurred.
ESRS—External Soft Reset Status
This bit is cleared by a power-on reset. When an external soft reset event is detected, this
bit is set and remains that way until the software clears it. The ESRS bit can be negated by
writing a 1, but a write of zero has no effect on it.
0 = No external soft reset event occurred.
1 = An external soft reset event occurred.
4-4
MPC801 USER’S MANUAL
MOTOROLA
Reset
LLRS—Loss-of-Lock Reset Status
This bit is cleared by a power-on reset. When a loss-of-lock event is enabled by the LOLRE
bit in the PLPRCR is detected, this bit is set and remains that way until the software clears
it. The LLRS bit can be negated by writing a 1, but a write of zero has no effect on it.
0 = No enabled loss-of-lock reset event occurred.
1 = An enabled loss-of-lock reset event occurred.
SWRS—Software Watchdog Reset Status
This bit is cleared by a power-on reset. When a software watchdog expire event occurs, this
bit is set and remains that way until the software clears it. The SWRS bit can be negated by
writing a 1, but a write of zero has no effect on it.
0 = No software watchdog reset event occurred.
1 = A software watchdog reset event occurred.
4
CSRS—Check Stop Reset Status
This bit is cleared by a power-on reset. When the core enters the checkstop state and the
checkstop reset is enabled by the CSR bit in the PLPRCR, this bit is set and remains that
way until the software clears it. The CSRS bit can be negated by writing a 1, but a write of
zero has no effect on it.
0 = No enabled checkstop reset event occurred.
1 = An enabled checkstop reset event occurred.
DBHRS—Debug Port Hard Reset Status
This bit is cleared by a power-on reset. When the debug port hard reset request is set, this
bit is set and remains that way until the software clears it. The DBHRS bit can be negated
by writing a 1, but a write of zero has no effect on it.
0 = No debug port hard reset request occurred.
1 = A debug port hard reset request occurred.
DBSRS—Debug Port Soft Reset Status
This bit is cleared by a power-on reset. When the debug port soft reset request is set, this
bit is set and remains that way until the software clears it. The DBSRS bit can be negated
by writing a 1, but a write of zero has no effect on it.
0 = No debug port soft reset request occurred.
1 = A debug port soft reset request occurred.
JTRS—JTAG Reset Status
This bit is cleared by a power-on reset. When the JTAG reset request is set, this bit is set
and remains that way until the software clears it. The JTRS bit can be negated by writing a
1, but a write of zero has no effect on it.
0 = No JTAG reset event occurred.
1 = A JTAG reset event occurred.
MOTOROLA
MPC801 USER’S MANUAL
4-5
4
Reset
Bits 8–31—Reserved
These bits are reserved and should be set to 0.
4.3 HOW TO CONFIGURE RESET
In normal operation, you can configure reset with a hard reset. However, to configure the
development port you should use a soft reset.
4.3.1 Hard Reset
When a hard reset event occurs, the MPC801 reconfigures its hardware system as well as
the development port configuration. The logical value of the bits that determine its initial
mode of operation are sampled either from the data bus or from an internal default constant
(D[0:31]=x’00000000). If, at sampling time, RSTCONF
sampled from the data bus. Otherwise, it is sampled from the internal default. While
HRESET
and RSTCONF are asserted, the MPC801 pulls the data bus low through a weak
resistor. You can overwrite this default by driving high to the appropriate bit (see Figure 4-1).
The hardware reset configuration scheme for PORESET
through 4-4. While the PORESET
input signal is being asserted, the core assumes the
default reset configuration that changes when PORESET
starts oscillating. In this last case, the hardware configuration is sampled every nine clock
cycles on the rising edge of the CLKOUT. The setup time required for the data bus is 15
cycles and the maximum rise time of HRESET
DBGC—Debug Pins Configuration
This field configures the functionality of the following pins.
0x = IWP[0:1]/VFLS[0:1] functions as IWP[0:1].
IWP2/VF2 functions as IWP2.
LWP0/VF0 functions as LWP0.
LWP1/VF1 functions as LWP1.
MODCK1/STS
functions as STS.
DSCK/AT1 functions as AT1.
DSDI/IRQ5
PTR
functions as IRQ5.
/AT3 functions as AT3.
MODCK2/DSDO functions as DSDO.
10 = Reserved.
11 = IWP[0:1]/VFLS[0:1] functions as VFLS[0:1].
IWP2/VF2 functions as VF2.
LWP0/VF0 functions as VF0.
LWP1/VF1 functions as VF1.
MODCK1/STS
functions as STS.
DSCK/AT1 functions as AT1.
DSDI/IRQ5
PTR
functions as IRQ5.
/AT3 functions as AT3.
MODCK2/DSDO functions as DSDO.
DBPC—Debug Port Pins Configuration
This field configures the following pins on which the development port is active.
00 = DSCK/AT1 functions as defined by DBGC
DSDI/IRQ5
PTR
functions as defined by DBGC
/AT3 functions as defined by DBGC
TCK/DSCK functions as DSCK
TDI/DSDI functions as DSDI
TDO/DSDO functions as DSDO
01 = DSCK/AT3 functions as defined by DBGC
DSDI/IRQ5
PTR
functions as defined by DBGC
/AT3 functions as defined by DBGC
TCK/DSCK functions as TCK
TDI/DSDI functions as TDI
TDO/DSDO functions as TDO
10 = Reserved.
11 = DSCK/AT1 functions as DSCK
DSDI/IRQ5
PTR
functions as DSDI
/AT3 functions as PTR
TCK/DSCK functions as TCK
TDI/DSDI functions as TDI
TDO/DSDO functions as TDO
4-10
MPC801 USER’S MANUAL
MOTOROLA
Reset
EBDF—External Bus Division Factor
These bits define the frequency division factor between GCLK1/GCLK2 and GCLK1_50/
GCLK2_50. CLKOUT is similar to GCLK2_50. The GCLK2_50 and GCLK1_50 are used by
the external system, the bus interface, and the memory controller to interface with the
external system. The EBDF bits are initialized during HRESET
If this bit is set (1), the little-endian swapper at the external bus interface is activated for core
accesses after reset. If it is cleared (0), the little-endian swapper at the is not activated for
core accesses after reset. See Section 14 Endian Modes for more information.
4.3.2 Soft Reset
When a soft reset event occurs, the MPC801 reconfigures the development port. Refer to
Section 18.3.2.2 Entering Debug Mode and Section 18.3.3.3.1 Clock Mode Selection for
more information.
4
MOTOROLA
MPC801 USER’S MANUAL
4-11
4
Reset
4-12
MPC801 USER’S MANUAL
MOTOROLA
SECTION 5
CLOCKS AND POWER CONTROL
The PowerQUICC has an on-chip oscillator, clock synthesizer, and low-power divider that
gives you a comprehensive set of choices for generating system clocks. They provide you
with many opportunities to save power and system cost without forcing you to sacrifice
flexibility or control. The main timing reference for the MPC801 can be a high frequency
crystal of 4MHz, a low frequency crystal of 32KHz, or an external frequency source at 4MHz
or the system frequency. The on-chip phase-locked loop (PLL) can multiply the output of the
crystal circuit up to the final system frequency. A crystal circuit consists of a parallel resonant
crystal, two capacitors, and two resistors. Notice that the values shown as example values
are based on inhouse designs and your circuit might require slightly different values to
operate properly. Crystals are typically much cheaper than similar speed oscillators, but
they may not be as stable since they are affected by parameters like trace length,
component quality, board layout, and MPC801 shrink level. For the most part, they are
usually stable, but it is impossible to guarantee that they will remain that way because the
MPC801 process may change or the external component may shift.
5
NOTE
The internal frequency of the MPC801 and the output of the
CLKO pins is dependent on the quality of the crystal
circuit and the multiplication factor used in the PLLCR.
The system operating frequency is generated through a programmable phase-locked loop
called the system PLL (SPLL). The SPLL is programmable in integer multiples of input
oscillator frequency to generate the internal operating frequency that should be at least
15MHz. It can be divided by a power of two to generate the system operating frequencies.
Another responsibility of the MPC801 and part of the clock section are the clocks to the
timebase, decrementer, real-time clock, and periodic interrupt counter. The oscillator,
timebase, decrementer, real-time clock, and periodic interrupt counter are all powered by
the keep alive power supply (KAPWR) that allows the counters to continue counting at
32KHz/4MHz, even when the main power to the MPC801 is off. While the power is off, the
periodic interrupt timer can be used to notify the integrated circuit power supply that power
should be sent to the system at specific intervals. This is the power-down wake-up feature.
When the core is not in power-down low-power mode, the keep alive power (KAPWR) is
powered to the same voltage value as that of the I/O buffers and logic. Therefore, if the
internal power supply is 2V and the I/O buffers and logic voltage are 3.3V, the KAPWR is
3.3)V. For more details refer to Section 5.1 The Clock Module and Section 5.10.1
The MPC801 clock module consists of the main crystal oscillator, the SPLL, low-power
divider, clock generator/driver blocks, and clock module/system low-power control block.
The clock module and system low-power control block receives control bits from the system
clock control register, the PLL, the low-power and reset control register, and the reset status
register. To improve noise immunity, the charge pump and the VCO of the SPLL have their
own set of power supply pins (VDDSYN and VSSSYN), whereas KAPWR and VSS power
the following clock unit modules.
• Oscillator
• pitrtclk and tmbclk generation logic
•DB
• Decrementer
• Real-time clock
• Periodic interrupt timer
• System clock and reset control register (SCCR)
• PLL low-power and reset control register (PLLRCR)
• Reset status register (RSR)
5
All other circuits are powered by the normal supply pins—VDDH/VDDL and VSS. VDDH
feeds the I/O buffers and logic and VDDL supplies the internal chip logic to reduce system
power consumption. However, the power supply connected to VDDH should be at least as
big as the one connected to VDDL. The power supply for each block is listed in Table 5-1
and described in Section 5.9 Basic Power Structure .
Table 5-1. MPC801 Power Supply
VDDHVDDLVDDSYN KAPWR
I/O Pad LogicX
CLKOUTX
SPLL (Digital)X
Clock BlockX
Internal Logic X
Clock Drivers X
SPLL (Analog)X
Main OscillatorX
SCCR, PLLRCR and RSRX
RTC, PIT, TB, and DECX
NOTE: X denotes that the power supply is used.
MOTOROLA
MPC801 USER’S MANUAL
5-3
Clocks and Power Control
The following are the relationships between different power supplies:
10%
• VDDH = VDDSYN = 3.3V
• VDDH
• VDDH
• KAPWR
≥
≥
≥
VDDL
KAPWR
≥
2.2V
≥
2V in power-down mode
±
±
10%
VDDH - 0.4V at normal operation
The timing diagram for the internal clocks generated in the MPC801 is illustrated in
Figure 5-2.
5
GCLK1
GCLK2
GCLK1_50
(EBDF=00)
GCLK2_50
(EBDF=00)
CLKOUT
(EBDF=00)
GCLK1_50
(EBDF=01)
GCLK2_50
(EBDF=01)
CLKOUT
(EBDF=01)
T1
T2
5-4
T3
T4
Figure 5-2. MPC801 Clocks Timing Diagram
MPC801 USER’S MANUAL
MOTOROLA
Clocks and Power Control
GCLK1_50, GCLK2_50, and CLKOUT can have a lower frequency than GCLK1 and
GCLK2. This allows the external bus to operate at lower frequencies as controlled by the
EBDF bit in the SCCR. GCLK2_50 always rises simultaneously with GCLK2. If the MPC801
is working with DFNH = 0, GCLK2_50 has a 50% duty-cycle. With other values of DFNH or
DFNL, the duty-cycle is less than 50%. GCLK1_50 rises simultaneously with GCLK1, but
when the MPC801 is not in gear mode, the falling edge of GCLK1_50 occurs in the middle
of the high phase of GCLK2_50 and EBDF determines the division factor between
GCLK1/2 and GCLK1/2_50. See Figure 5-6 for more information.
To configure the clock source for the SPLL and clock drivers, the MODCK1 and MODCK2
pins are sampled on the rising edge of the PORESET
shown in the table below. MODCK1 specifies the input source to the SPLL and, combined
with MODCK2, specifies the multiplication factor (MF) at reset. If the pitrtclk and tmbclk
configuration and the SPLL multiplication factor must be unaffected in the power-down
low-power mode, the MODCK1 and MODCK2 pins should not be sampled on wake-up from
this mode. In this case, the PORESET
pin should remain negated while the HRESET pin is
asserted during the power-up wake-up stage.
pin. The configuration modes are
5
Table 5-2. Reset Clocks Source Configuration
MODCK [1:2] POR
00051344Normal operation, PLL enabled.
01055124Normal operation, PLL enabled.
11055124Normal operation, PLL enabled.
100151216Normal operation, PLL enabled.
—1———The configuration remains unchanged.
DEFAULT
MF + 1
AT POR
PITRTCLK
DIVISION
DEFAULTS
AT POR
TMBCLK
DIVISION
DEFAULTS
AT POR
SPLL OPTIONS
Main timing reference is freq
Main timing reference is freq
Main timing reference is freq
1:1 Mode (freq
clkout(max)
(OSCM)
(OSCM)
(EXTCLK)
= freq
osc(EXTCLK)
= 32 KHz.
= 4 MHz.
= 4 MHz.
)
When the MODCK1 bit is clear (0), the output of the oscillator with a 4MHz or 32MHz
frequency is the input of the SPLL, but when it is set, the external clock input (EXTCLK) is
selected. In all cases, the system clock frequency (freq
) can be reduced by the DFNH
gclk1
and DFNL bits in the SCCR. Notice that the maximum system clock frequency occurs when
the DFNH bits are set to $0. When the MODCK2 bit is set, a 4MHz clock is supplied as
oscclk, but when it is clear (0), the input frequency is either 32KHz (MODCK1=0) or the
maximum system frequency (MODCK1=1). The last case is 1:1 mode.
MOTOROLA
MPC801 USER’S MANUAL
5-5
Clocks and Power Control
If EXTCLK is the main timing reference (MODCK1=1 @POR) and the oscillator is the timing
reference to the real-time clock and periodic interrupt timer, the frequency of the oscillator
connected to oscillator should be in the 32KHz range. The TBS bit in the system clock and
reset control register (SCCR) can select the timebase clock to be either the SPLL input clock
or gclk2. The periodic interrupt timer and real-time clock frequency and source are specified
by the RTDIV and RTSEL bits in the SCCR. The values of the pitrtclk and tmbclk clock
divisions can be changed by the software. The RTDIV bit value in the SCCR defines the
division of pitrtclk. All possible combinations of the tmbclk divisions are listed in Table 5-3.
Table 5-3. tmbclk Divisions
TBS BIT IN SCCRMODCK1 AT RESETMF + 1TMBCLK DIVISION
5
1——16
0 0—4
011, 216
01> 24
NOTE
The voltage on the MODCK1 and MODCK2 pins should always
be less than or equal to the VDDH power supply voltage
applied to the part.
5.2 ON-CHIP OSCILLATORS AND EXTERNAL CLOCK INPUT
The oscillator uses either a 3MHz
÷
5MHz (4MHz mode) or a 30KHz
mode) crystal to generate the PLL reference clock. When the oscillator output is the timing
reference to the system, PLL skew elimination between the XTAL, EXTAL, and CLKOUT
pins is not guaranteed.
NOTE
The internal frequency of the MPC801 and the output of the
CLKO pins is dependent on the quality of the crystal circuit and
multiplication factor used in the PLLCR. Please refer
to the sections on phase-lock loop for a description
of the PLL performance.
÷
50KHz (32KHz
The external clock input receives a clock from an external source. The clock frequency can
÷
be either in the range of 3MHz
5MHz or it should be at the system frequency of at least
15MHz (1:1 mode). When the external clock input is the timing reference to the system, PLL
±
skew elimination between the EXTCLK and CLKOUT pins is less than
5-6
MPC801 USER’S MANUAL
1ns.
MOTOROLA
Clocks and Power Control
For normal operation, at least one clock source should be active, but you can also configure
both clock sources to be active. In this configuration, EXTCLK provides the oscclk and
oscillator provides the pitrtclk. The input of an unused timing reference should be grounded.
5.3 THE SYSTEM PHASE-LOCKED LOOP
The system PLL performs frequency multiplication and skew elimination and allows the
processor to operate at a high internal clock frequency using a low frequency clock input,
which is a feature with two immediate benefits. Lower frequency clock input reduces the
overall electromagnetic interference generated by the system and oscillating at different
frequencies reduces the cost by eliminating the need to add another oscillator to the system.
The system PLL block diagram is illustrated in Figure 5-3.
XFC
OSCCLK
FEEDBACK
PHASE
COMPARATOR
CLOCK
DELAY
UP
DOWN
CHARGE
PUMP
VDDSYN / VSSSYN
VCO
MULT. FACTOR
MF[0:11]
VCOOUT
Figure 5-3. System PLL Block Diagram
5.3.1 Multiplying the Frequency
The PLL can multiply the input frequency by any integer between 1 and 4,096. The
multiplication factor can be changed by changing the value of the MF bits in the PLL
low-power and reset control register. Even though you can program any integer value from
1 to 4,096, the resulting VCO output frequency must be in the range specified in Section 20
Electrical Characteristics . As defined in Table 5-5, the multiplication factor is set to a
predetermined value during power-on reset.
5.3.2 Eliminating Skew
The PLL is capable of eliminating the skew between the external clock entering the core, the
internal clock phases, and the CLKOUT pin. Therefore, the PLL is useful for tightening
synchronous timings. Skew elimination is only active when the PLL is enabled and
programmed with a multiplication factor of 1 or 2 (MF=0 or 1) and the timing reference to the
system PLL is the external clock input EXTAL. With PLL disabled, the clock skew can be
much larger.
5
MOTOROLA
MPC801 USER’S MANUAL
5-7
5
Clocks and Power Control
5.3.3 Operating the PLL Block
The reference signal is sent to the phase comparator that controls the up and down direction
of the charge pump driving the voltage across the external filter capacitor. The direction
selected depends on whether the feedback signal phase lags or leads the reference signal.
The output of the charge pump drives the VCO whose output frequency is divided down and
fed back to the phase comparator for comparison with oscclk. The MF values (0 to 4,095)
are mapped to multiplication factors of 1 to 4,096. Also, when the PLL is operating in 1:1
mode, the multiplication factor is 1(MF=0) and the PLL output frequency is twice the
maximum system frequency. This double frequency is required to generate the GCLK1 and
GCLK2 clocks. Refer to the block diagram in Figure 5-3 for details.
On initial system power-up after keep alive power is lost, power-on reset should be asserted
by the external logic for 3 microseconds after a valid level is reached on the KAPWR supply.
Whenever power-on reset is asserted, the MF bits are set according to Table 5-2 and the
DFNH and DFNL bits in the SCCR are set to the value of 0 ( ÷ 1), respectively. This value
then programs the SPLL to generate the default system frequency of approximately
16.7MHz for a 32KHz input frequency and 20MHz for a 4MHz input frequency.
5.4 THE LOW-POWER DIVIDER
The output of the PLL is sent to a low-power divider block that generates all other clocks in
normal operation, but divides the output frequency of the VCO before it generates the
SYNCCLK, SYNCCLKS, BRGCLK, and general system clocks sent to the rest of the
MPC801. GCLK1C and GCLK2C are the system timing references for the PowerPC core as
well as the instruction and data caches and memory management units. GCLK1 and GCLK2
are the system timing references for all other modules. GCLK1_50 and GCLK2_50 can
operate at a frequency of half the GCLK1 and GCLK2 frequency. The frequency ratio
between GCLK1/2 and GCLK1/2_50 is determined by the EBDF bit in the SCCR.
The purpose of the low-power divider block is to allow you to reduce and restore the
operating frequencies of different sections of the MPC801 without losing the PLL. Using the
low-power divider block, full chip operation can be obtained at a lower frequency. This
feature is called slow-go or gear mode. The selection and speed of the slow-go mode can
be changed at any time and the changes occur immediately. The low-power divider block is
controlled in the SCCR and its default state is to divide all clocks by one. So, for a 40MHz
system, the SYNCCLK, SYNCCLKS, BRGCLK, and general system clocks are each
40MHz.
5-8
MPC801 USER’S MANUAL
MOTOROLA
Clocks and Power Control
5.5 INTERNAL CLOCK SIGNALS
The internal logic of the MPC801 uses 9 internal clock signals:
• General system clocks—GCLK1C, GCLK2C, GCLK1, GCLK2, GCLK1_50,
and GCLK2_50
• Baud rate generator clock—BRGCLK
• Synchronization clocks—SYNCCLK and SYNCCLKS
The MPC801 also generates an external clock signal called CLKOUT. The PLL
synchronizes these clock signals to each other.
5.5.1 The General System Clocks
The general system clocks—GCLK1C, GCLK2C, GCLK1, GCLK2, GCLK1_50, and
GCLK2_50—are the basic clocks supplied to all modules and submodules on the MPC801.
GCLK1C and GCLK2C are supplied to the PowerPC core, data and instruction caches, and
memory management units and they can be stopped when the core enters the doze
low-power mode. GCLK1 and GCLK2 are supplied to the system interface unit, clock
module, and communication modules.
The external bus clock GCLK2_50 is the same as CLKOUT. The general system clock
defaults to VCO/2 = 40MHz, assuming a 40MHz system frequency. In slow-go mode, the
frequency of the general system clock can be dynamically changed with the SCCR. See
Figure 5-4 for details.
VCO/2 (50 MHZ)
DFNH DIVIDER
DFNL DIVIDER
DFNH
DFNL
Figure 5-4. General System Clocks Select
The general system clock frequency can be switched between different values. The highest
operational frequency can be achieved when the system clock frequency is determined by
DFNH and DFNH=0. The general system clock can be operated at a low or high frequency.
Low is defined by the DFNL bits of the SCCR and high is defined by the DFNH bits.
NORMAL
GENERAL SYSTEM
CLOCK
LOW POWER
5
Software can change the frequency of the general system clock on-the-fly. The general
system clock can be forced to switch to its low frequency. However, in some applications, a
high frequency is required during certain periods. For example, interrupt routines require a
higher performance than a low frequency operation provides, but they consume less power
than a maximum frequency operation provides.
MOTOROLA
MPC801 USER’S MANUAL
5-9
5
Clocks and Power Control
The MPC801 is capable of automatically switching between low and high frequency
operation whenever one of the following conditions exist:
• A pending interrupt from the interrupt controller occurs. This option is maskable by the
PRQEN bit in the SCCR.
• The POW bit in the core’s machine state register is clear. This option is maskable by
the PRQEN bit in the SCCR.
When none of these conditions exist and the CSRC bit of the PLL low-power reset control
register is set, the general system clock automatically switches back to the low frequency.
When the general system clock is divided, its duty-cycle is changed. One phase remains the
same (12.5ns @ 40MHz) while the other becomes longer. Notice that CLKOUT no longer
has a 50% duty cycle when the general system clock is divided. The CLKOUT waveform is
the same as that of GCLK2_50.
GCLK1 DIVIDE BY 1
GCLK2 DIVIDE BY 1
GCLK1 DIVIDE BY 2
GCLK2 DIVIDE BY 2
GCLK1 DIVIDE BY 4
GCLK2 DIVIDE BY 4
Figure 5-5. Divided System Clocks Timing Diagram
The frequency for system clocks GCLK1and GCLK2 is:
Figure 5-6. MPC801 Clocks For DFNH = 1 or DFNL = 0 Timing Diagram
5.5.2 The Baud Rate Generator Clock
The baud rate generator clock (BRGCLK ) is used by the communication modules and the
memory controller refresh counter. It defaults to VCO/2 = 40MHz, assuming a 40MHz
system frequency. The purpose of BRGCLK is to allow the communication modules to
continue operating at a fixed frequency, even when the rest of the MPC801 is operating at
a reduced frequency. The baud rate generator clock frequency is:
FREQbrg
FREQsysmax
-------------------------------------------=
×
2DFBRG
()
2
5.5.3 The Synchronization Clocks
The synchronization clock (SYNCCLK) is used by the serial synchronization circuitry in the
serial ports of the communication modules and includes the serial interface, serial
communication controllers, and serial management controllers. It synchronizes externally
generated clocks before they are used internally. SYNCCLK defaults to VCO/2 = 40MHz,
assuming a 40MHz system frequency. The SYNCCLK is used by the serial interface internal
logic.
MOTOROLA
MPC801 USER’S MANUAL
5-11
Clocks and Power Control
The purpose of SYNCCLK is to allow the communication modules to continue operating at
a fixed frequency, even when the rest of the MPC801 is operating at a reduced frequency.
Thus, the SYNCCLK allows you to maintain the serial synchronization circuitry at the
preferred rate, while lowering the general system clock to the lowest possible rate. However,
SYNCCLK must always have a frequency at least as high as the general system clock
frequency, be at least two times the preferred serial clock rate, and at least two and half
times the preferred serial clock rate if the timeslot assigner in the serial interface is used.
The SYNC clock frequency is:
5
FREQsync
FREQsysmax
---------------------------------------------- -=
×
2DFSYNC
()
2
The CLKOUT is the same as GCLK2_50. It defaults to VCO/2 = 40MHz, assuming a 40MHz
system frequency. The SCCR controls whether it drives full strength, half strength, or is
disabled. Disabling or decreasing the strength of CLKOUT can reduce power consumption,
noise, and electromagnetic interference on the printed circuit board. When the PLL is
acquiring lock, the CLKOUT signal is disabled and remains in the low state.
5.6 THE PHASE-LOCKED LOOP PINS
The following pins are dedicated to PLL operation.
NOTE
The internal frequency of the MPC801 and the output of the
CLKO pins is dependent on the quality of the crystal circuit and
the MF bits of the PLPRCR. Please refer to the sections on
phase-lock loop for details about PLL performance.
VDDSYN—Drain Voltage
The VDD pin is dedicated to analog PLL circuits. The voltage should be well-regulated and
the pin should be provided with an extremely low-impedance path to the VDD power rail.
F capacitor located as close as possible
VDDSYN should be bypassed to VSSSYN by a 0.1
to the chip package.
µ
VSSSYN—Source Voltage
The VSS pin is dedicated to analog PLL circuits. It should be provided with an extremely low
µ
impedance path to ground and bypassed to VDDSYN by a 0.1
F capacitor located as close
as possible to the chip package. It is recommended that you also bypass VSSSYN to
VDDSYN with a 0.01uF capacitor as close as possible to the chip package.
VSSSYN1—Source Voltage 1
The VSS pin is dedicated to the analog PLL circuits. It should be provided with an extremely
low-impedance path to ground.
5-12
MPC801 USER’S MANUAL
MOTOROLA
Clocks and Power Control
XFC—External Filter Capacitor
This pin connects to the off-chip capacitor for the PLL filter. One terminal of the capacitor is
connected to XFC and the other is connected to VDDSYN.
NOTE
30M Ω is the minimum parasitic resistance value that ensures
The system phase-loop lock has a 32-bit control register that is powered by keep alive
power. This system clock and reset control register (SCCR) is memory-mapped into the
MPC801 system interface unit register map.
SCCR
BIT0123456789101112131415
FIELD
BIT
FIELD
Bits 0, 3–5, and 9—Reserved
These bits are reserved and should be set to 0.
COM—Clock Output Mode
These bits control the output buffer strength of the CLKOUT pin. When both bits are set, the
CLKOUT pin is held in the high (1) state. These bits can be dynamically changed without
generating spikes on the CLKOUT pin. If the CLKOUT pin is not connected to external
circuits, both bits (disabling CLKOUT) should be set to minimize noise and power
dissipation. The COM bits are cleared by a hard reset.
TBS—Timebase Source
This bit determines the clock source that drives the timebase and decrementer.
0 = TB frequency source is the crystal oscillator frequency divided by 4 or 16.
1 = TB frequency source is the system clock divided by 16.
RTDIV—Real-Time Clock Divide
This bit indicates if the clock to the real-time clock and periodic interrupt timer is additionally
divided by 128. At power-on reset this bit is cleared if both MODCK[1] and MODCK[2] are
zeros. Otherwise, it is set.
0 = The real-time clock and periodic interrupt timer are divided by 4.
1 = The real-time clock and periodic interrupt timer are divided by 512.
RTSEL—Real-Time Clock Circuit Input Source Select
This bit specifies the input source to the real-time clock. At power-on reset, this bit receives
the value of the MODCK[1] bit.
0 = The real-time clock and periodic interrupt timer are divided by 4.
1 = The real-time clock and periodic interrupt timer are divided by 512.
PRQEN—Power Management Request Enable
This bit specifies whether or not the general system clock returns to the high frequency
defined by DFNH while there is a pending interrupt from the interrupt controller or POW bit
in the machine state register is clear. This bit is cleared by power-on or hard reset.
0 = The system remains in the lower frequency defined by DFNL even if there is a
pending interrupt from the interrupt controller or POW bit in the machine state
register is cleared.
1 = The system switches to high frequency defined by DFNH when there is a pending
interrupt from the interrupt controller or POW bit in the machine state register is
cleared.
Bits 11–12 and 15–16—Reserved
These bits are reserved and should be set to 0.
EBDF—External Bus Division Factor
These bits define the frequency division factor between GCLK1/GCLK2 and GCLK1_50/
GCLK2_50. CLKOUT is similar to GCLK2_50. The GCLK2_50 and GCLK1_50 are used by
the external master, bus interface, and memory controller to interface with the external
system. These bits are initialized during HRESET
using the hard reset configuration
mechanism.
00 = CLKOUT is GCLK2 divided by 1.
01 = CLKOUT is GCLK2 divided by 2.
1x = Reserved.
5-14
MPC801 USER’S MANUAL
MOTOROLA
Clocks and Power Control
DFSYNC—Division Factor for the SYNCCLK
These bits define the SYNCCLK and SYNCCLKS frequencies. Changing the value of these
bits does not result in a loss-of-lock condition. These bits are cleared by the power-on or
hard reset.
00 = Divide by 1 (normal operation).
01 = Divide by 4.
10 = Divide by 16.
11 = Divide by 64.
DFBRG—Division Factor for the BRGCLK
These bits define the BRGCLK frequency. Changing the value of these bits does not result
in a loss-of-lock condition. These bits are cleared by the power-on or hard reset.
00 = Divide by 1 (normal operation).
01 = Divide by 4.
10 = Divide by 16.
11 = Divide by 64.
5
DFNL—Division Factor Lowest Frequency
These bits are required for two reasons—to reduce the general system clock to a frequency
lower than that which can be obtained in the DFNH bits and to automatically switch between
the DFNL and DFNH rates. These bits are cleared by the power-on or hard reset.
These bits can be loaded with the preferred divide value and the CSRC bit must be set to
change the frequency. Changing the value of these bits does not result in a loss-of-lock
condition. These bits are cleared by system reset.
000 = Divide by 2.
001 = Divide by 4.
010 = Divide by 8.
011 = Divide by 16.
100 = Divide by 32.
101 = Divide by 64.
110 = Reserved.
111 = Divide by 256.
MOTOROLA
MPC801 USER’S MANUAL
5-15
5
Clocks and Power Control
DFNH—Division Factor High Frequency
Changing the value of these bits does not result in a loss-of-lock condition. These bits are
cleared by power-on or hard reset. These bits can be loaded at any time to change the
general system clock rate.
000 = Divide by 1.
001 = Divide by 2.
010 = Divide by 4.
011 = Divide by 8.
100 = Divide by 16.
101 = Divide by 32.
110 = Divide by 64.
111 = Reserved.
Bits 27–31—Reserved
These bits are reserved and should be set to 0.
5.8 PLL LOW-POWER AND RESET CONTROL REGISTER
The 32-bit PLL low-power and reset control register (PLPRCR) is powered by a keep alive
power supply. This register is memory-mapped into the MPC801 serial interface unit register
map.
MF—Multiplication Factor
The output of the voltage control oscillator (VCO) is divided to generate the feedback signal
that goes to the phase comparator. The MF bits control the value of the divider in the SPLL
feedback loop. The phase comparator determines the phase shift between the feedback
signal and the reference clock. This difference results in an increase or decrease in the VCO
output frequency.
The MF bits can be read and written at any time. Changing the MF bits causes the SPLL to
lose lock. All clocks are disabled until PLL reaches lock condition. The normal reset value
for the DFNH bits is $0 or divided by one. When the PLL is operating in 1:1 mode, the
multiplication factor is set to 1 (MF=0). See Table 5-2 for details.
MFRESERVED
SPLSS—System PLL Lock Status Sticky
This bit is not affected by hard reset. An out-of-lock indication sets the SPLSS bit and it
remains set until the software clears it. At power-on reset, the state of the SPLSS bit is zero.
5-16
MPC801 USER’S MANUAL
MOTOROLA
Clocks and Power Control
The SPLSS bit is negated by writing a 1 (writing a zero has no effect). The SPLSS bit is not
affected by zero because of a software-initiated loss of lock, which is defined as an
multiplication factor change or entering deep sleep and power-down modes.
0 = SPLL has remained in lock.
1 = SPLL has gone out of lock at least once, but not because of a change with the
PLLEN or MF bits.
TEXPS—Timer Expired Status
This bit is set by a reset. If it is enabled, TEXPS is asserted when the periodic timer expires,
the real-time clock alarm sets, timebase clock alarm is set, or the decrementer interrupt
occurs. The bit stays set until the software clears it. TEXPS is negated by writing a 1 (writing
a zero has no effect). When TEXPS is set, the TEXP external signal is asserted and when
it is reset, the TEXP external signal is negated.
0 = TEXP is negated.
1 = TEXP is asserted.
TMIST—Timers Interrupt Status
This bit is cleared at reset and is set when either the real-time clock, periodic interrupt timer,
timebase, or decrementer interrupt occurs. It is cleared by writing a 1 (writing a zero has no
effect). The system clock frequency remains at a high frequency value defined by the DFNH
bits if the TMIST bit is set. The clock frequency remains high if the CSRC bit in the PLPRCR
is set and there are no conditions for switching to normal low mode.
5
0 = No timer expiration event is detected.
1 = A timer expiration event is detected.
CSRC—Clock Source
This bit specifies the bit that determines the general system clock—DFNH or DFNL. Setting
this bit switches the general system clock to the DFNL value needed to enter slow-go
low-power mode. Clearing this bit switches the general system clock to the DFNH value.
CSRC is cleared at hard reset.
0 = General system clock is determined by the DFNH value
1 = General system clock is determined by the DFNL value
LPM—Low-Power Modes
These bits are encoded to provide one normal operating mode and four low-power modes.
In normal and doze modes, the system can be in the high state defined by the DFNH bits or
in the low state defined by the DFNL bits. The normal high operating mode is the state out
of reset. This is also the state the bits defer to when the low-power mode exit signal arrives.
In addition, there are four low-power modes—doze, sleep, deep sleep, and power-down.
Table 5-5 provides more details on these bits.
MOTOROLAMPC801 USER’S MANUAL5-17
Clocks and Power Control
Table 5-5. MPC801 Low-Power Modes
5
OPERATION
MODE
Normal High
LPM=00Active
Normal Low
(“Gear”)
LPM=00
Doze High
LPM=01
Doze Low
LPM=01
Sleep
LPM=10
Deep Sleep
LPM=11
TEXPS=1
Power-Down
LPM=11
TEXPS=0
SPLLCLOCKS
Full
Freq. div
DFNH
2
Full
Active
Active
Active
ActiveNot
Active
Active
Not
Not
Freq. div
DFNL+1
2
Full
Freq. div
DFNH
2
Full
Freq. div
DFNL+1
2
Active
Not
Active
Not
Active
WAKE-UP
METHOD
Software
Interrupt
Interrupt
Interrupt
Interrupt 3-4 Maximum System clocks<10 mWEnabled: RTC, PIT,
Interrupt <500 Oscillator Cycles
Interrupt <500 Oscillator Cycles + Power
RETURN TIME FROM WAKE-UP
EVENT TO NORMAL HIGH
——
or
Asynchronous Interrupts:
3-4 Maximum System Cycles
Synchronous Interrupts:
3-4 Actual System Cycles
16 msec-32 KHz
125
µ
sec-4 MHz
Supply Wake-Up
(PwSp_Wake+ 16 msec) @ 32 KHz
MPC801 POWER
CONSUMPTION
AT 50MHZ
×
20 mWatt+
DFNH
1/2
Watt
×
20 mWatt+
(DFNL+1)
1/2
Watt
×
20mWatt+
DFNH
0.4/2
Watt
×
20 mWatt+
(DFNL+1)
TBD
Watt
µ
A,
°
C
0.4/2
32 KHz- ~10
KAPWR = 3.0 V
Temperature=50
FUNCTIONALITY
Full Functions Not In
Use Are Shut Off
Enabled: RTC, PIT,
and MEMC,
Disabled: Extended
Core
TB, and DEC
Table 5-5 describes all possible transfers between low-power modes. The MPC801 enters
a low-power mode by setting the LPM bits appropriately. This can only be done in one of the
normal modes and not in the doze mode. Exiting from low-power modes occurs through an
asynchronous or synchronous interrupt. An enabled asynchronous interrupt clears the LPM
bits, but does not change the PLPRCR
bit. The asynchronous interrupt is responsible
CSRC
for exiting from normal, low doze high, low, and sleep modes to normal high mode. The
asynchronous interrupt sources are:
• Asynchronous wake-up interrupt from the interrupt controller
ASYNC. WAKE-UP OR REAL-TIME CLOCK,
PERIODIC INTERRUPT TIMER, TIMEBASE,
OR DECREMENTER I INTERRUPT
WALK-UP: 500 INPUT
FREQUENCY CLOCKS
REAL-TIME CLOCK, PERIODIC INTERRUPT
TIMER, TIMEBASE, OR DECREMENTER
INTERRUPT FOLLOWED
BY EXTERNAL HARD RESET
OR EXTERNAL HARD RESET
5
NORMAL
HIGH MODE
LPM=00
CSRC=0/1
SOFTWARE *
HARD RESET
* SOFTWARE IS ACTIVE ONLY IN NORMAL HIGH/LOW MODES
** TEXPS RECEIVES THE ZERO VALUE BY WRITING ONE. WRITING A ZERO HAS NO EFFECT ON TEXPS.
*** THE SWITCH FROM NORMAL HIGH TO NORMAL LOW IS ENABLED ONLY IF THE CONDITIONS TO ASYNCHRONOUS
INTERRUPT ARE CLEARED
Figure 5-7. MPC801 Low-Power Modes Flowchart
MOTOROLAMPC801 USER’S MANUAL5-19
5
Clocks and Power Control
The system responds quickly to an asynchronous interrupt. The wake-up time from normal
low, doze high/low, and sleep mode due to an asynchronous interrupt is only 3
to4 clocks
of maximum system frequency. In a 40MHz system, this wake-up takes 75ns to 100ns. The
asynchronous wake-up interrupt from the interrupt controller is level sensitive. Therefore, it
is negated only after the cause of the interrupt in the interrupt controller is cleared. The
real-time clock, periodic interrupt timer, timebase, or decrementer interrupts set status bits
in the PLPRCR. The clock module views this interrupt as a pending asynchronous interrupt
as long as the TMIST bit is set. Therefore, the TMIST status bit should be cleared before
entering any low-power mode other than normal high mode.
The wake-up time due to synchronous interrupt sources from the interrupt controller is
measured in actual system clocks. It takes 2 to 4 system clocks from the interrupt event
before the system reaches normal high mode. In a 50MHz system where DFNL=111
(divided by 256), the wake-up time is 12.8 to 25.6µs. In normal and doze modes, if the
PLPRCR
bit is set, the system toggles between low frequency (defined by the DFNL
CSRC
bit) and high frequency (defined by DFNL/DFNH) states. The conditions to switch from
normal low mode to normal high state are:
• A pending interrupt from an interrupt controller must occur
• The POW bit in the machine state register must be cleared (normal mode)
If none of these conditions exist, the PLPRCR
bit is set, the asynchronous interrupt
CSRC
status bits are reset, and the system switches back to normal low mode. A pending interrupt
from the interrupt controller transfers the system from doze mode to normal high mode. An
exit from deep sleep mode is caused by:
• An asynchronous wake-up interrupt from the interrupt controller
In deep sleep mode, the PLL is disabled and the wake-up time from this mode is a maximum
of 500 PLL input frequency clocks. In 1:1 mode the wake-up time can be up to 1,000 PLL
input frequency clocks. If the PLL input frequency is 32KHz the wake-up time is less than
15.6ms and if it is 4MHz the wake-up time is less then 125µs.
An exit from power-down mode is accomplished with a hard reset that should be asserted
by external logic in response to the TEXPS bit and TEXP pin assertion. The TEXPS bit is
asserted by an enabled real-time clock, periodic interrupt timer, timebase, or decrementer
interrupt. The hard reset takes longer than the time it takes the power supply to wake up, in
addition to the time it takes the PLL to lock. Hard reset assertion when the TEXPS bit and
TEXP pin are clear, sets the bit and the pin values, thus causing an exit from power-down
low-power mode. For more details on power-down mode, refer to Section 5.10.1 Configuration.
5-20MPC801 USER’S MANUALMOTOROLA
Clocks and Power Control
NOTE
The chip is only allowed to enter deep sleep low-power mode
and power-down mode if the main timing reference
is a 32KHz crystal oscillator.
CSR—Checkstop Reset Enable
If this bit is set, an automatic reset is generated when the core signals that it has entered
checkstop mode, unless debug mode is enabled at reset. If the bit is clear and debug mode
is not enabled, then the system interface unit does nothing when a checkstop signal is
received from the core. However, if debug mode is enabled, then the part enters debug
mode when entering checkstop mode. In this case, the core does not assert the checkstop
signal to the reset circuitry.
0 = The checkstop condition does not cause automatic reset.
1 = The checkstop condition causes automatic reset.
LOLRE—Loss of Lock Reset Enable
This bit specifies the manner in which the clocks handle a loss of lock indication. When this
bit is clear, a hard reset is not asserted if a loss of lock indication occurs. However, when it
is set, a hard reset is asserted when a loss-of-lock indication occurs.
0 = Loss of lock does not cause reset.
1 = Loss of lock causes reset.
5
FIOPD—Force I/O Pull Down
This bit indicates whether the address and data external pins are driven by an internal
pull-down device at sleep and deep sleep low-power modes. When this bit is set and the
chip is either in sleep or deep sleep low-power mode, the A and D external pins are driven
to zero. When this bit is set and the chip is not in sleep or deep sleep low-power modes (or
when FIOPD is cleared), the A and D external pins are unaffected.
0 = The address and data pins are not driven by an internal pull-down device.
1 = The address and data pins are driven by an internal pull-down device.
MOTOROLAMPC801 USER’S MANUAL5-21
5
Clocks and Power Control
5.9 BASIC POWER STRUCTURE
The MPC801 provides a wide range of possibilities for power supply connection.
Figure 5-9 illustrates the different power supply sources for each one of the basic units on
the chip. For more details about the relationships between the power supplies, refer to
Section 5.1 The Clock Module.
The I/O buffers, logic, and clock block are fed by a 3.3V power supply that allows them to
function in a TTL-compatible range of voltages. The internal logic can be fed by a 3.3 or 2V
source allowing a considerable reduction in power consumption. The PLL is fed by a 3.3V
power supply (VDDSYN) to achieve a high stability in its output frequency. The oscillator,
real-time clock, periodic interrupt timer, timebase, or decrementer are all fed by the KAPWR
rail, thus allowing the external power supply unit to disconnect all other subunits at
low-power deep sleep mode. The TEXP pin (fed by the same rail) can switch between
sources using the external power supply unit.
I / O
INTERNAL LOGIC
VDDL
PLL
VDDSYN
OSCILLATOR,
PERIODIC INTERRUPT
TIMER, TIMEBASE,
REAL-TIME CLOCK,
AND DECREMENTER
CLOCK CONTROL
Figure 5-8. MPC801 Basic Power Supply Configuration
TEXP
KAPWR
VDDH
5-22MPC801 USER’S MANUALMOTOROLA
Clocks and Power Control
5.10 KEEP ALIVE POWER
5.10.1 Configuration
An example of a switching scheme for an optimized low-power system is illustrated in
Figure 5-9.
SW1
MAIN POWER
VDDSYN
SUPPLY
3.3 V 2.0 V
SW2
SW3
2.4-3.3V
BACKUP
POWER
SUPPLY
MPC801
VDDH
VDDL
KAPWR
TEXP
SWITCH
LOGIC
Figure 5-9. External Power Supply Scheme (2.0 V Internal Voltage)
SW1 and SW2 can be unified in one switch if VDDSYN and VDDH are supplied by the same
source. If VDDL is fed with 3.3V, SW2 and SW3 can be combined into one switch. The TEXP
signal, if enabled, is asserted by the MPC801 when the real-time clock or timebase time
value matches the value programmed in its associated alarm register or when the periodic
interrupt timer or decrementer decrements their value to zero. The TEXP signal is negated
when writing to the TEXPS status bit with the corresponding data bit being 1. The KAPWR
power supply feeds the oscillator. The condition for main crystal oscillator stability is that the
power supply value changes slowly. The maximum slope of the KAPWR power supply
should be less than 1.7V/mS for a 32KHz input frequency. An exponential model of voltage
change on the KAPWR rail should ensure that
τ > 20/freq
oscm
.
5
MOTOROLAMPC801 USER’S MANUAL5-23
5
Clocks and Power Control
5.10.2 The Key Mechanism
All the registers defined in the system integration, decrementer, timebase timers, and the
clocks and reset of Table 3-1 are powered by the KAPWR supply. When power-down mode
is entered, the value stored in these registers is preserved when the main power supply is
disconnected. If this requirement is not met, data loss can occur in these registers. To
reduce the possibility of data loss, the MPC801 includes a key mechanism that ensures data
retention on locked registers. While a register is locked, all writes are ignored and a machine
check exception is generated.
Each of the registers in the KAPWR region has a key that can be in an open or locked state.
At power-on reset, all keys are in the open
Each key also has an address in the internal memory map. A 0x55CCAA33 write to this
location changes the key to the open
the key to the locked state.
POWER-ON RESET
state, except for the real-time clock registers.
state. Writing any other data to this location changes
OPEN
WRITE TO THE KEY OTHER VALUE
LOCKED
WRITE TO THE KEY0X55CCAA33
Figure 5-10. Key Mechanism Diagram
The key registers for the system integration timer and the clock and reset registers are
defined in Table 3-1.
5-24MPC801 USER’S MANUALMOTOROLA
SECTION 6
THE POWERPC CORE
The core is the module of the MPC801 where the PowerPC
It has the functionality of the PowerPC branch and fixed-point processors, in addition to all
the PowerPC user mode instructions (with the exception of the floating-point instructions)
and all the registers associated with them. It also contains part of the development support
features of the MPC801, including breakpoint and watchpoint support, program flow tracking
data generation, and debug mode operation in which the chip is controlled by the
development support system through the debug port module.
This section describes the functional specifications of the core. It is based on a document
called the
architecture of the PowerPC in great detail.
PowerPC Family: The Programming Environment (MPCFPE/D)
NOTE
As needed, this manual only contains references to
those documents and does not duplicate any
information already specified there.
™
architecture is implemented.
that explains the
6.1 FEATURES
The following list provides the main features of the MPC801 core:
• 32-bit PowerPC Architecture
• Single-Issue Integer Machine
• Variable Pipeline Depth Architecture Tailored to Instruction Complexity
• Out-of-Order Execution Termination
• Branch Prediction for Prefetch
• 32 × 32 Bit General-Purpose Register File
• Precise Exception Model
• Extensive Debug/Testing Support
6
MOTOROLA
MPC801 USER’S MANUAL
6-1
The PowerPC Core
6.1.1 Basic Structure of the Core
To accomplish its tasks, the core is divided into the following subunits:
• Sequencer Unit —Consists of the branch processor, the instruction prefetch queue,
and the interrupt handling mechanism. It controls some data structures within the
register unit.
• Register Unit —Consists of all the user-visible registers, the register’s scoreboard
mechanism, and a history of previous operations to allow for a precise interrupt model.
This module is physically split so that each data structure is implemented near the area
where it is used.
• Fixed-Point Unit —Consists of all fixed-point instruction implementations, except load/
store. This module is subdivided into the following two execution units:
— IMUL/IDIV—Fixed-point multiply and divide instruction implementations
— ALU/BFU—Fixed-point logic, add, and subtract instruction implementations, as well
6
as the bit field instructions.
• Load/Store Unit —Consists of all load and store instructions, except floating-point
processor load and store.
6.1.2 Instruction Flow Within the Core
When fetched, instructions enter the instruction queue, thus enabling branch folding by
allowing out-of-order branch execution. Nonbranch instructions reaching the top of the
instruction queue are issued to the execution units. Instructions can be flushed from the
instruction queue when an exception on a previous instruction, interrupt, or miss-predicted
fetch occurs.
All instructions, including branches, enter the history buffer along with processor state
information that can be affected by the instruction’s execution. This information is used to
enable out-of-order completion of instructions together with precise exception handling.
When exceptions or interrupts occur, instructions can be flushed or recovered from the
machine. The instruction queue is always flushed when the history buffer is recovered. An
instruction retires from the machine after it finishes executing without exception and all
preceding instructions are retired from the machine. Figure 6-1 illustrates the core’s
microarchitecture.
6-2
MPC801 USER’S MANUAL
MOTOROLA
The PowerPC Core
INSTRUCTION CACHE /INSTRUCTION MMU INTERFACEDATA CACHE / DATA MMU INTERFACE
The instruction sequencer is the heart of the core. It centrally controls the data flow between
execution units and register files. The sequencer implements the basic instruction pipeline,
fetches instructions from the memory system, issues them to available execution units, and
maintains a state history so it can back up the machine if an exception occurs. In addition,
the sequencer unit implements all branch processor instructions, including flow control and
condition register instructions. The sequencer data path is illustrated in Figure 6-4.
6.2.1 Flow Control
Flow control operations are expensive to execute because they disrupt normal instruction
pipeline flow. A change in program flow creates bubbles in the pipeline because of the time
it takes to fetch the newly targeted instruction stream. In typical code, with 4 or 5 sequential
instructions between branches, the machine could waste up to 25% of its execution
bandwidth waiting on branch latency.
6-4
MPC801 USER’S MANUAL
MOTOROLA
The PowerPC Core
INSTRUCTION MEMORY SYSTEM
32
INSTRUCTION BUFFER
32
INSTRUCTION
PREFETCH
QUEUE (4)
32
READ / WRITE
BUSES
INSTRUCTION ADDRESS GENERATOR
CC UNIT
EXECUTION UNITS AND REGISTERS FILES
BRANCH
CONDITION
EVALUATION
Figure 6-4. Sequencer Data Path
To execute branches in parallel with the execution of sequential instructions, the sequencer
maintains an instruction prefetch queue that is four instructions deep. In an ideal situation,
a sequential instruction would be issued every clock, even when branches are present in the
code. This is referred to as branch folding. The instruction prefetch queue also eliminates
stalls caused by long latency instruction fetches and all instructions are fetched into the
instruction prefetch queue, but only sequential instructions are issued to the execution units
when they reach the head of the queue. The reason branches enter the queue is for
watchpoint marking (refer to Section 18 Development Support for details). Since
branches do not prevent the issue of sequential instructions unless they come in pairs, the
performance impact of entering branches in the instruction prefetch queue is negligible.
6
In addition to branch folding, the core implements a branch reservation station and static
branch prediction so branches can issue as early as possible. The reservation station allows
a branch instruction to issue even before its condition is ready. With the branch issued and
out of the way, instruction prefetch can continue while the branch operand is being
computed and the condition evaluated. Static branch prediction determines the instruction
stream to be prefetched while the branch is being resolved. When the branch operand
becomes available, it is forwarded to the branch unit and the condition is evaluated.
MOTOROLA
MPC801 USER’S MANUAL
6-5
The PowerPC Core
Branch instructions whose condition is unavailable and forced to issue to the reservation
station are predicted and these branches, which later turn out to have followed the wrong
path, are mispredicted. Branch instructions that issue with source data already available are
unpredicted and those instructions fetched under a predicted branch are fetched
conditionally. The core ignores conditionally prefetched instructions fetched under a
mispredicted branch.
Table 6-1. Branch Prediction Policy
6
BRANCH TYPE
BC With Negative OffsetTakenFall Through
BC With Positive OffsetFall ThroughTaken
BCLR or BCCTR (lk or ctr) Address ReadyFall ThroughTaken
BCLR or BCCTR (lk or ctr) Address Not ReadyWaitWait
B (Unconditional Branch)TakenTaken
DEFAULT
PREDICTION (Y=0)
MODIFIED
PREDICTION (Y=1)
6.2.2 Issuing Instructions
The sequencer attempts to issue a sequential instruction on each clock whenever possible.
However, for an instruction to issue, the execution unit must be available and the required
source data is available and no other executing instruction targets the same destination
register. The sequencer informs the execution units of the instruction’s existence on the
instruction bus. The execution units then decode the instruction, interrogate the register unit,
and inform the sequencer that it accepts the instruction for execution.
6.2.3 Interrupts
The core interrupts can be generated when an exception occurs. An exception results when
an instruction is executed or an asynchronous external event occurs. There are five
exception sources in the MPC801:
• External interrupt request
• Certain memory access conditions
• Internal errors, such as an attempt to execute an unimplemented opcode or
floating-point arithmetic overflow
• Trap instructions
• Internal exceptions
6-6
MPC801 USER’S MANUAL
MOTOROLA
The PowerPC Core
Interrupt handling is transparent to user mode code. The core uses the same mechanism to
handle all types of exceptions. When a user mode instruction experiences an exception, the
machine is placed into privileged state and control is transferred to a software exception
handler routine located at some offset within a memory-based vector table.
Each interrupt generated in the machine transfers control to a different address in the vector
table. For more information on initializing the base address of the vector table, refer to
Table 6-13 as well as the PowerPC definition of the machine state register. When the
exception has been handled, the handler can resume execution of the user program without
the knowledge that such an event ever occurred.
As specified in
PowerPC Family: The Programming Environment
, the core implements a
precise interrupt model. An interrupt usually occurs under one of the following conditions:
• No instruction that logically follows the faulting instruction in the code stream has
started executing.
• All instructions preceding the faulting instruction have completed with respect to the
executing processor.
• The precise location (address) of the faulting instruction is known to the exception
handler.
• The instruction causing the exception may not have started executing (“before
interrupt”), could be partially completed, or has completed (“after interrupt”) depending
on the interrupt and instruction types. See Table 6-2 for details.
In any case, a partially completed instruction is restartable and can be reexecuted after the
interrupt is handled. This precise exception model can simplify and speed up exception
processing because the software does not have to manually save the machine’s internal
pipeline states, unwind the pipelines, or cleanly terminate the faulting instruction stream. Nor
does it have to reverse the process to resume execution of the faulting stream.
6
MOTOROLA
MPC801 USER’S MANUAL
6-7
The PowerPC Core
Table 6-2. “Before” and “After” Interrupts
6
INTERRUPT TYPE
Hard ResetAnyNAUndefined
System ResetAnyBeforeNext Instruction to Execute
Machine Check InterruptAnyBeforeFaulting Instruction
Implementation Specific Instruction / Data TLB Miss / Error InterruptsAnyBeforeFaulting Fetch or Load/Store
Other Asynchronous Interrupts (Noninstruction Related Interrupts)AnyBeforeNext Instruction to Execute
Alignment InterruptLoad / StoreBeforeFaulting Instruction
Privileged InstructionAny Privileged
Traptw, twiBeforeFaulting Instruction
System Call InterruptscAfterNext Instruction to Execute
TraceAnyAfterNext Instruction to Execute
Debug I- BreakpointAnyBeforeFaulting Instruction
Debug L- BreakpointLoad / StoreAfterFaulting Instruction + 4
Implementation Dependent Software Emulation InterruptNABeforeFaulting Instruction
Floating Point UnavailableFloating PointBeforeFaulting Instruction
INSTRUCTION
TYPE
Instruction
BEFORE /
AFTER
BeforeFaulting Instruction
CONTENTS OF SRR0
6.2.4 Precise Exception Model Implementation
To achieve maximum performance, many pieces of the instruction stream are concurrently
processed by the core, regardless of the sequence specified by the executing program.
Instructions execute in parallel and are completed out of order. The hardware works hard to
ensure that this out-of-order operation never has any effect besides the one specified by the
program. This is most difficult to safeguard when an interrupt occurs after instructions that
logically follow the faulting instruction or have already completed. At the time of an interrupt,
the machine state becomes visible to other processes and, therefore, must be in the
appropriate architecturally specified condition. The core takes care of this in the hardware
by automatically backing up the machine to the instruction that caused the interrupt. By
doing it, the core implements a precise exception model. This is, of course, assuming the
instruction that caused the exception has not already begun when the interrupt occurs.
To recover from an interrupt, a history buffer is used. This buffer is a FIFO queue that
records the relevant machine state at the time of each instruction issue. When issued,
instructions are placed on the tail of the queue and they percolate to the head of the queue
while they are executing. Instructions remain in the queue until they finish executing and all
preceding instructions have completed to a point where no exception can be generated. In
the core, such a condition is fulfilled by waiting for full completion. In the event of an
exception, the machine state necessary to recover the architectural state is available. As
instructions finish executing, they are released (retired) from the queue and the buffer
storage is reclaimed for new instructions entering the queue.
6-8
MPC801 USER’S MANUAL
MOTOROLA
The PowerPC Core
An exception can be detected at any time during instruction execution and is recorded in the
history buffer when the instruction finishes execution. The exception is not recognized until
the faulting instruction reaches the head of the history queue, but once the exception is
recognized, an interrupt process begins. The queue is reversed and the machine is restored
to its state at the time the instruction is issued. Machine state is restored at a maximum rate
of two floating-point and two fixed-point instructions per clock.
QUEUE
HEAD
RETIRED
INSTRUCTIONS
ISSUED
INSTRUCTIONS
QUEUE
TAIL
HISTORY BUFFER QUEUE
COMPLETED INSTRUCTIONS
WRITEBACK
Figure 6-5. History Buffer Queue
To correctly restore the architectural state, the history buffer must record the value of the
destination prior to instruction execution. The destination of a store instruction, however, is
in memory and it is not practical, from a performance standpoint, to always read memory
before writing it. Therefore, stores issue immediately to store buffers, but do not update
memory until all previous instructions have completed execution without exception (the
store has reached the head of the history buffer).
The history buffer has enough storage to hold six instructions worth of state, but no more
than four fixed-point instructions. The other two instructions can be condition code or branch
instructions. In the event of a long latency instruction, it is possible (if a data dependency
does not occur first) for issued instructions to fill up the history buffer. If so, instruction issue
waits until the long latency operation (blocking retirement) finishes.
6
The following types of instructions can potentially cause the history buffer to fill up:
• Floating-point arithmetic instructions
• Integer divide instructions
• Instructions that affect/use resources external to the core
MOTOROLA
MPC801 USER’S MANUAL
6-9
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.