Motorola Mvme2300 Series Users Manual VME Processor Module Programmer's Reference Guide

MVME2300 Series to the manual ae79c0b2-8705-4798-be5f-66b36f52cc52

2015-01-23

: Motorola Motorola-Mvme2300-Series-Users-Manual-271827 motorola-mvme2300-series-users-manual-271827 motorola pdf

Open the PDF directly: View PDF PDF.
Page Count: 282

DownloadMotorola Motorola-Mvme2300-Series-Users-Manual- MVME2300 Series VME Processor Module Programmer's Reference Guide  Motorola-mvme2300-series-users-manual
Open PDF In BrowserView PDF
MVME2300 Series
VME Processor Module

Programmer’s Reference
Guide
V2300A/PG5
Edition of June 2001

© Copyright 2001 Motorola, Inc.
All rights reserved.
Printed in the United States of America.
Motorola® and the Motorola logo are registered trademarks of Motorola, Inc.
PowerPC® is a registered trademark of International Business Machines Corporation and
is used by Motorola with permission.
All other products mentioned in this document are trademarks or registered trademarks of
their respective holders.

Safety Summary
The following general safety precautions must be observed during all phases of operation, service, and repair of this
equipment. Failure to comply with these precautions or with specific warnings elsewhere in this manual could result
in personal injury or damage to the equipment.
The safety precautions listed below represent warnings of certain dangers of which Motorola is aware. You, as the user
of the product, should follow these warnings and all other safety precautions necessary for the safe operation of the
equipment in your operating environment.

Ground the Instrument.
To minimize shock hazard, the equipment chassis and enclosure must be connected to an electrical ground. If the
equipment is supplied with a three-conductor AC power cable, the power cable must be plugged into an approved
three-contact electrical outlet, with the grounding wire (green/yellow) reliably connected to an electrical ground
(safety ground) at the power outlet. The power jack and mating plug of the power cable meet International
Electrotechnical Commission (IEC) safety standards and local electrical regulatory codes.

Do Not Operate in an Explosive Atmosphere.
Do not operate the equipment in any explosive atmosphere such as in the presence of flammable gases or fumes.
Operation of any electrical equipment in such an environment could result in an explosion and cause injury or damage.

Keep Away From Live Circuits Inside the Equipment.
Operating personnel must not remove equipment covers. Only Factory Authorized Service Personnel or other
qualified service personnel may remove equipment covers for internal subassembly or component replacement or any
internal adjustment. Service personnel should not replace components with power cable connected. Under certain
conditions, dangerous voltages may exist even with the power cable removed. To avoid injuries, such personnel should
always disconnect power and discharge circuits before touching components.

Use Caution When Exposing or Handling a CRT.
Breakage of a Cathode-Ray Tube (CRT) causes a high-velocity scattering of glass fragments (implosion). To prevent
CRT implosion, do not handle the CRT and avoid rough handling or jarring of the equipment. Handling of a CRT
should be done only by qualified service personnel using approved safety mask and gloves.

Do Not Substitute Parts or Modify Equipment.
Do not install substitute parts or perform any unauthorized modification of the equipment. Contact your local
Motorola representative for service and repair to ensure that all safety features are maintained.

Observe Warnings in Manual.
Warnings, such as the example below, precede potentially dangerous procedures throughout this manual. Instructions
contained in the warnings must be followed. You should also employ all other safety precautions which you deem
necessary for the operation of the equipment in your operating environment.

Warning

To prevent serious injury or death from dangerous voltages, use extreme
caution when handling, testing, and adjusting this equipment and its
components.

Flammability
All Motorola PWBs (printed wiring boards) are manufactured with a flammability rating
of 94V-0 by UL-recognized manufacturers.

EMI Caution

!
Caution

This equipment generates, uses and can radiate electromagnetic energy. It
may cause or be susceptible to electromagnetic interference (EMI) if not
installed and used with adequate EMI protection.

Lithium Battery Caution
This product contains a lithium battery to power the clock and calendar circuitry.

!
Caution

!
Attention

!
Vorsicht

Danger of explosion if battery is replaced incorrectly. Replace battery only
with the same or equivalent type recommended by the equipment
manufacturer. Dispose of used batteries according to the manufacturer’s
instructions.

Il y a danger d’explosion s’il y a remplacement incorrect de la batterie.
Remplacer uniquement avec une batterie du même type ou d’un type
équivalent recommandé par le constructeur. Mettre au rebut les batteries
usagées conformément aux instructions du fabricant.

Explosionsgefahr bei unsachgemäßem Austausch der Batterie. Ersatz nur
durch denselben oder einen vom Hersteller empfohlenen Typ. Entsorgung
gebrauchter Batterien nach Angaben des Herstellers.

CE Notice (European Community)
Motorola Computer Group products with the CE marking comply with the EMC Directive
(89/336/EEC). Compliance with this directive implies conformity to the following
European Norms:
EN55022 “Limits and Methods of Measurement of Radio Interference Characteristics
of Information Technology Equipment”; this product tested to Equipment Class B
EN50082-1:1997 “Electromagnetic Compatibility—Generic Immunity Standard, Part
1. Residential, Commercial and Light Industry”
System products also fulfill EN60950 (product safety) which is essentially the requirement
for the Low Voltage Directive (73/23/EEC).
Board products are tested in a representative system to show compliance with the above
mentioned requirements. A proper installation in a CE-marked system will maintain the
required EMC/safety performance.
In accordance with European Community directives, a “Declaration of Conformity” has
been made and is on file within the European Union. The “Declaration of Conformity” is
available on request. Please contact your sales representative.

Notice
While reasonable efforts have been made to assure the accuracy of this document,
Motorola, Inc. assumes no liability resulting from any omissions in this document, or from
the use of the information obtained therein. Motorola reserves the right to revise this
document and to make changes from time to time in the content hereof without obligation
of Motorola to notify any person of such revision or changes.
Electronic versions of this material may be read online, downloaded for personal use, or
referenced in another document as a URL to the Motorola Computer Group website. The
text itself may not be published commercially in print or electronic form, edited, translated,
or otherwise altered without the permission of Motorola, Inc.
It is possible that this publication may contain reference to or information about Motorola
products (machines and programs), programming, or services that are not available in your
country. Such references or information must not be construed to mean that Motorola
intends to announce such Motorola products, programming, or services in your country.

Limited and Restricted Rights Legend
If the documentation contained herein is supplied, directly or indirectly, to the U.S.
Government, the following notice shall apply unless otherwise agreed to in writing by
Motorola, Inc.
Use, duplication, or disclosure by the Government is subject to restrictions as set forth in
subparagraph (b)(3) of the Rights in Technical Data clause at DFARS 252.227-7013 (Nov.
1995) and of the Rights in Noncommercial Computer Software and Documentation clause
at DFARS 252.227-7014 (Jun. 1995).
Motorola, Inc.
Computer Group
2900 South Diablo Way
Tempe, Arizona 85282

Contents
About This Manual
Summary of Changes .................................................................................................. xx
Overview of Contents ................................................................................................xxi
Comments and Suggestions .......................................................................................xxi
Conventions Used in This Manual............................................................................xxii
CHAPTER 1

Board Description and Memory Maps

Introduction................................................................................................................1-1
Overview....................................................................................................................1-1
Summary of Features .................................................................................................1-2
System Block Diagram ..............................................................................................1-3
Functional Description...............................................................................................1-6
VMEbus Interface...............................................................................................1-6
Front Panel..........................................................................................................1-6
PCI interface .......................................................................................................1-7
P2 I/O...........................................................................................................1-7
Programming Model ..................................................................................................1-7
Processor Memory Maps ....................................................................................1-7
Default Processor Memory Map..................................................................1-8
Processor CHRP Memory Map ...................................................................1-9
Processor PREP Memory Map ..................................................................1-11
PCI Configuration Access .........................................................................1-12
PCI Memory Maps............................................................................................1-13
Default PCI Memory Map.........................................................................1-13
PCI CHRP Memory Map ..........................................................................1-13
PCI PREP Memory Map ...........................................................................1-16
VMEbus Mapping.............................................................................................1-20
VMEbus Master Map ................................................................................1-20
VMEbus Slave Map...................................................................................1-21
Falcon-Controlled System Registers ................................................................1-24
System Configuration Register (SYSCR) .................................................1-25
Memory Configuration Register (MEMCR) .............................................1-27
System External Cache Control Register (SXCCR)..................................1-29
Processor 0 External Cache Control Register (P0XCCR).........................1-30
Processor 1 External Cache Control Register (P1XCCR).........................1-30

vii

CPU Control Register ............................................................................... 1-30
ISA Local Resource Bus.......................................................................................... 1-31
W83C553 PIB Registers .................................................................................. 1-31
16550 UART .................................................................................................... 1-31
General-Purpose Readable Jumpers ................................................................. 1-32
NVRAM/RTC and Watchdog Timer Registers ................................................ 1-32
Module Configuration and Status Registers..................................................... 1-33
CPU Configuration Register ..................................................................... 1-34
Base Module Feature Register .................................................................. 1-35
Base Module Status Register (BMSR)...................................................... 1-36
Seven-Segment Display Register .............................................................. 1-37
VME Registers ................................................................................................. 1-37
LM/SIG Control Register.......................................................................... 1-38
LM/SIG Status Register ............................................................................ 1-39
Location Monitor Upper Base Address Register ...................................... 1-41
Location Monitor Lower Base Address Register...................................... 1-41
Semaphore Register 1 ............................................................................... 1-42
Semaphore Register 2 ............................................................................... 1-42
VME Geographical Address Register (VGAR) ........................................ 1-43
Emulated Z8536 CIO Registers and Port Pins ................................................. 1-43
Emulated Z8536 Registers ........................................................................ 1-43
Z8536 CIO Port Pins ................................................................................. 1-44
ISA DMA Channels ......................................................................................... 1-45
CHAPTER 2

Raven PCI Bridge ASIC

Introduction ............................................................................................................... 2-1
Features...................................................................................................................... 2-1
Block Diagram........................................................................................................... 2-2
Functional Description .............................................................................................. 2-4
MPC Bus Interface ............................................................................................. 2-4
MPC Address Mapping............................................................................... 2-4
MPC Slave .................................................................................................. 2-6
MPC Write Posting ..................................................................................... 2-8
MPC Master ................................................................................................ 2-8
MPC Arbiter.............................................................................................. 2-10
MPC Bus Timer ........................................................................................ 2-10
PCI Interface..................................................................................................... 2-10
PCI Address Mapping ............................................................................... 2-11
PCI Slave................................................................................................... 2-14
PCI Write Posting ..................................................................................... 2-17

viii

PCI Master .................................................................................................2-17
Generating PCI Cycles ..............................................................................2-21
Endian Conversion............................................................................................2-25
When MPC Devices are Big-Endian .........................................................2-25
When MPC Devices are Little-Endian ......................................................2-27
Raven Registers and Endian Mode............................................................2-27
Error Handling ..................................................................................................2-28
Transaction Ordering ........................................................................................2-29
Raven Registers .......................................................................................................2-30
MPC Registers ..................................................................................................2-30
Vendor ID/Device ID Registers ................................................................2-32
Revision ID Register .................................................................................2-33
General Control-Status/Feature Registers .................................................2-33
MPC Arbiter Control Register...................................................................2-36
Prescaler Adjust Register...........................................................................2-36
MPC Error Enable Register .......................................................................2-37
MPC Error Status Register ........................................................................2-39
MPC Error Address Register .....................................................................2-40
MPC Error Attribute Register - MERAT ..................................................2-41
PCI Interrupt Acknowledge Register ........................................................2-43
MPC Slave Address (0,1 and 2) Registers ................................................2-43
MPC Slave Address (3) Register...............................................................2-44
MPC Slave Offset/Attribute (0,1 and 2) Registers ....................................2-45
MPC Slave Offset/Attribute (3) Registers.................................................2-46
General-Purpose Registers ........................................................................2-47
PCI Registers ....................................................................................................2-47
Vendor ID/ Device ID Registers ...............................................................2-49
PCI Command/ Status Registers................................................................2-50
Revision ID/ Class Code Registers............................................................2-52
I/O Base Register.......................................................................................2-52
Memory Base Register ..............................................................................2-53
PCI Slave Address (0,1,2 and 3) Registers................................................2-54
PCI Slave Attribute/ Offset (0,1,2 and 3) Registers ..................................2-55
CONFIG_ADDRESS Register..................................................................2-56
CONFIG_DATA Register .........................................................................2-58
Raven Interrupt Controller .......................................................................................2-60
Features.............................................................................................................2-60
Architecture ......................................................................................................2-60
Readability of CSR....................................................................................2-61
Interrupt Source Priority ............................................................................2-61
Processor’s Current Task Priority..............................................................2-61

ix

Nesting of Interrupt Events ....................................................................... 2-62
Spurious Vector Generation ...................................................................... 2-62
Interprocessor Interrupts (IPI)................................................................... 2-62
8259 Compatibility.................................................................................... 2-62
Raven-Detected Errors .............................................................................. 2-63
Timers ....................................................................................................... 2-63
Interrupt Delivery Modes .......................................................................... 2-64
Block Diagram Description.............................................................................. 2-65
Program-Visible Registers ........................................................................ 2-66
Interrupt Pending Register (IPR) .............................................................. 2-66
Interrupt Selector (IS) ............................................................................... 2-66
Interrupt Request Register (IRR) .............................................................. 2-67
In-Service Register (ISR) .......................................................................... 2-67
Interrupt Router ......................................................................................... 2-67
MPIC Registers ................................................................................................ 2-69
RavenMPIC Registers ............................................................................... 2-69
Feature Reporting Register ....................................................................... 2-73
Global Configuration Register .................................................................. 2-74
Vendor Identification Register .................................................................. 2-75
Processor Init Register .............................................................................. 2-75
IPI Vector/Priority Registers..................................................................... 2-76
Spurious Vector Register .......................................................................... 2-77
Timer Frequency Register......................................................................... 2-77
Timer Current Count Registers ................................................................. 2-78
Timer Base Count Registers...................................................................... 2-78
Timer Vector/Priority Registers ................................................................ 2-79
Timer Destination Registers...................................................................... 2-80
External Source Vector/Priority Registers ................................................ 2-81
External Source Destination Registers...................................................... 2-82
Raven-Detected Errors Vector/Priority Register ...................................... 2-83
Raven-Detected Errors Destination Register ............................................ 2-84
Interprocessor Interrupt Dispatch Registers.............................................. 2-84
Interrupt Task Priority Registers ............................................................... 2-85
Interrupt Acknowledge Registers.............................................................. 2-86
End-of-Interrupt Registers ........................................................................ 2-86
Programming Notes.......................................................................................... 2-87
External Interrupt Service ......................................................................... 2-87
Reset State ................................................................................................. 2-88
Interprocessor Interrupts ........................................................................... 2-89
Dynamically Changing I/O Interrupt Configuration................................. 2-89
EOI Register.............................................................................................. 2-90
Interrupt Acknowledge Register ............................................................... 2-90

x

8259 Mode.................................................................................................2-90
Current Task Priority Level.......................................................................2-90
Architectural Notes ...........................................................................................2-91
CHAPTER 3

Falcon ECC Memory Controller Chip Set

Introduction................................................................................................................3-1
Features ......................................................................................................................3-1
Block Diagrams .........................................................................................................3-2
Functional Description...............................................................................................3-5
Bit Ordering Convention ....................................................................................3-5
Performance ........................................................................................................3-5
Four-beat Reads/Writes ...............................................................................3-5
Single-beat Reads/Writes ............................................................................3-6
DRAM Speeds .............................................................................................3-6
ROM/Flash Speeds ....................................................................................3-10
PowerPC 60x Bus Interface..............................................................................3-11
Responding to Address Transfers..............................................................3-11
Completing Data Transfers........................................................................3-11
Cache Coherency .......................................................................................3-11
Cache Coherency Restrictions...................................................................3-12
L2 Cache Support ......................................................................................3-12
ECC...................................................................................................................3-12
Cycle Types ...............................................................................................3-12
Error Reporting..........................................................................................3-13
Error Logging ............................................................................................3-14
DRAM Tester....................................................................................................3-14
ROM/Flash Interface ........................................................................................3-14
Refresh/Scrub....................................................................................................3-18
Blocks A and/or B Present, Blocks C and D Not Present .........................3-18
Blocks A and/or B Present, Blocks C and/or D Present............................3-19
DRAM Arbitration............................................................................................3-20
Chip Defaults ....................................................................................................3-20
External Register Set ........................................................................................3-21
CSR Accesses ...................................................................................................3-21
Programming Model ................................................................................................3-21
CSR Architecture..............................................................................................3-21
Register Summary.............................................................................................3-27
Detailed Register Bit Descriptions ...................................................................3-27
Vendor/Device Register ............................................................................3-30
Revision ID/ General Control Register .....................................................3-31

xi

DRAM Attributes Register ....................................................................... 3-33
DRAM Base Register................................................................................ 3-35
CLK Frequency Register........................................................................... 3-35
ECC Control Register ............................................................................... 3-36
Error Logger Register ............................................................................... 3-39
Error Address Register .............................................................................. 3-42
Scrub/Refresh Register.............................................................................. 3-43
Refresh/Scrub Address Register ............................................................... 3-44
ROM A Base/Size Register....................................................................... 3-45
ROM B Base/Size Register ....................................................................... 3-48
DRAM Tester Control Registers............................................................... 3-50
32-Bit Counter........................................................................................... 3-50
Test SRAM................................................................................................ 3-50
Power-Up Reset Status Register 1 ............................................................ 3-51
Power-Up Reset Status Register 2 ............................................................ 3-51
External Register Set................................................................................. 3-52
Software Considerations.......................................................................................... 3-53
Parity Checking on the PowerPC Bus .............................................................. 3-53
Programming ROM/Flash Devices .................................................................. 3-53
Writing to the Control Registers....................................................................... 3-53
Sizing DRAM................................................................................................... 3-54
ECC Codes ....................................................................................................... 3-57
Data Paths......................................................................................................... 3-60
CHAPTER 4

Universe (VMEbus to PCI) Chip

Introduction ............................................................................................................... 4-1
Features...................................................................................................................... 4-1
Block Diagram........................................................................................................... 4-3
Functional Description .............................................................................................. 4-3
VMEbus Interface .............................................................................................. 4-4
Universe as VMEbus Slave......................................................................... 4-4
Universe as VMEbus Master ...................................................................... 4-5
PCI Bus Interface ............................................................................................... 4-5
Universe as PCI Slave ................................................................................. 4-6
Universe as PCI Master............................................................................... 4-6
Interrupter ........................................................................................................... 4-6
VMEbus Interrupt Handling ....................................................................... 4-7
DMA Controller ................................................................................................. 4-7
Universe Control and Status Registers (UCSR)................................................. 4-8
Universe Register Map................................................................................ 4-9

xii

Universe Chip Problems after PCI Reset..........................................................4-14
Description.................................................................................................4-14
Workarounds .............................................................................................4-15
Examples...........................................................................................................4-16
Example 1: MVME2600 Series Board Exhibits PCI Reset Problem ........4-16
Example 2: MVME3600 Series Board Acts Differently...........................4-17
Example 3: Universe Chip is Checked at Tundra......................................4-19
CHAPTER 5

Programming Details

Introduction................................................................................................................5-1
PCI Arbitration...........................................................................................................5-1
Interrupt Handling......................................................................................................5-2
RavenMPIC ........................................................................................................5-3
8259 Interrupts....................................................................................................5-4
ISA DMA Channels ...................................................................................................5-7
Exceptions..................................................................................................................5-8
Sources of Reset..................................................................................................5-8
Soft Reset............................................................................................................5-9
Universe Chip Problems after PCI Reset............................................................5-9
Error Notification and Handling .......................................................................5-10
Endian Issues ...........................................................................................................5-11
Processor/Memory Domain ..............................................................................5-13
Role of the Raven ASIC ...................................................................................5-13
PCI Domain ......................................................................................................5-13
PCI-SCSI ...................................................................................................5-13
PCI/Ethernet ..............................................................................................5-13
PCI-Graphics .............................................................................................5-14
Role of the Universe ASIC ...............................................................................5-14
VMEbus Domain ..............................................................................................5-14
ROM/Flash Initialization .........................................................................................5-15
APPENDIX A

Related Documentation

Motorola Computer Group Documents ....................................................................A-1
Manufacturers’ Documents.......................................................................................A-2
Related Specifications...............................................................................................A-4

xiii

List of Figures
Figure 1-1. MVME2300 Series System Block Diagram ...........................................1-5
Figure 1-2. VMEbus Master Mapping.....................................................................1-20
Figure 1-3. VMEbus Slave Mapping .......................................................................1-22
Figure 1-4. General-Purpose Software-Readable Header........................................1-32
Figure 2-1. Raven Block Diagram .............................................................................2-3
Figure 2-2. MPC-to-PCI Address Decoding..............................................................2-5
Figure 2-3. MPC to PCI Address Translation ............................................................2-6
Figure 2-4. PCI to MPC Address Decoding ............................................................2-12
Figure 2-5. PCI to MPC Address Translation ..........................................................2-13
Figure 2-6. PCI Spread I/O Address Translation .....................................................2-22
Figure 2-7. Big- to Little-Endian Data Swap...........................................................2-26
Figure 2-8. RavenMPIC Block Diagram .................................................................2-65
Figure 3-1. Falcon Pair Used with DRAM in a System ............................................3-2
Figure 3-2. Falcon Internal Data Paths (Simplified)..................................................3-3
Figure 3-3. Overall DRAM Connections...................................................................3-4
Figure 3-4. Data Path for Reads from the Falcon Internal CSRs.............................3-22
Figure 3-5. Data Path for Writes to the Falcon Internal CSRs.................................3-23
Figure 3-6. Memory Map for Byte Reads to CSR ...................................................3-24
Figure 3-7. Memory Map for Byte Writes to Internal Register Set
and Test SRAM ........................................................................................................3-25
Figure 3-8. Memory Map for 4-Byte Reads to CSR................................................3-26
Figure 3-9. Memory Map for 4-Byte Writes to Internal Register Set
and Test SRAM ........................................................................................................3-26
Figure 3-10. PowerPC Data to DRAM Data Correspondence.................................3-60
Figure 4-1. Architectural Diagram for the Universe..................................................4-4
Figure 4-2. UCSR Access Mechanisms.....................................................................4-9
Figure 5-1. MVME2300 Series Interrupt Architecture..............................................5-2
Figure 5-2. PIB Interrupt Handler Block Diagram ....................................................5-5
Figure 5-3. Big-Endian Mode ..................................................................................5-11
Figure 5-4. Little-Endian Mode ...............................................................................5-12

xv

List of Tables
Table 1-1. Features: MVME2300 Series....................................................................1-2
Table 1-2. Default Processor Memory Map...............................................................1-8
Table 1-3. CHRP Memory Map Example..................................................................1-9
Table 1-4. Raven MPC Register Values for CHRP Memory Map...........................1-10
Table 1-5. PREP Memory Map Example.................................................................1-11
Table 1-6. Raven MPC Register Values for PREP Memory Map ...........................1-12
Table 1-7. PCI CHRP Memory Map........................................................................1-13
Table 1-8. Raven PCI Register Values for CHRP Memory Map.............................1-15
Table 1-9. Universe PCI Register Values for CHRP Memory Map.........................1-15
Table 1-10. PCI PREP Memory Map.......................................................................1-16
Table 1-11. Raven PCI Register Values for PREP Memory Map ............................1-18
Table 1-12. Universe PCI Register Values for PREP Memory Map........................1-19
Table 1-13. Universe PCI Register Values for VMEbus Slave Map Example ........1-23
Table 1-14. VMEbus Slave Map Example...............................................................1-24
Table 1-15. System Register Summary ....................................................................1-24
Table 1-16. 16550 Access Registers ........................................................................1-31
Table 1-17. M48T59/559 Access Registers .............................................................1-33
Table 1-18. Module Configuration and Status Registers .........................................1-33
Table 1-19. VME Registers......................................................................................1-38
Table 1-20. Emulated Z8536 Access Registers .......................................................1-43
Table 1-21. Z8536 CIO Port Pin Assignments ........................................................1-44
Table 2-1. Features of the Raven ASIC .....................................................................2-1
Table 2-2. Command Types — MPC Slave Response...............................................2-7
Table 2-3. MPC Transfer Types .................................................................................2-9
Table 2-4. Command Types — PCI Slave Response...............................................2-15
Table 2-5. PCI Master Command Codes .................................................................2-18
Table 2-6. Address Modification for Little-Endian Transfers .................................2-27
Table 2-7. Raven MPC Register Map ......................................................................2-31
Table 2-8. Raven PCI Configuration Register Map.................................................2-48
Table 2-9. Raven PCI I/O Register Map ..................................................................2-49
Table 2-10. RavenMPIC Register Map....................................................................2-69
Table 3-1. Features of the Falcon Chip Set................................................................3-1
Table 3-2. PowerPC 60x Bus to DRAM Access Timing — 70ns Page Devices.......3-7
Table 3-3. PowerPC 60x Bus to DRAM Access Timing — 60ns Page Devices.......3-8

xvii

Table 3-4. PowerPC Bus to DRAM Access Timing — 50ns Hyper Devices ........... 3-9
Table 3-5. PowerPC 60x Bus to ROM/Flash Access Timing — 64 Bits
(32 Bits per Falcon) ................................................................................................. 3-10
Table 3-6. PowerPC 60x Bus to ROM/Flash Access Timing — 16 Bits (8 Bits
per Falcon) ............................................................................................................... 3-10
Table 3-7. Error Reporting....................................................................................... 3-13
Table 3-8. PowerPC 60x to ROM/Flash Address Mapping — ROM/Flash
16 Bits Wide (8 Bits per Falcon) ............................................................................. 3-16
Table 3-9. PowerPC 60x to ROM/Flash Address Mapping — ROM/Flash
64 Bits Wide (32 Bits per Falcon) ........................................................................... 3-17
Table 3-10. Register Summary ................................................................................ 3-28
Table 3-11. ram spd1,ram spd0 and DRAM Type ................................................... 3-32
Table 3-12. Block_A/B/C/D Configurations ........................................................... 3-34
Table 3-13. rtest Encodings ..................................................................................... 3-43
Table 3-14. ROM Block A Size Encoding .............................................................. 3-46
Table 3-15. rom_a_rv and rom_b_rv Encoding....................................................... 3-46
Table 3-16. Read/Write to ROM/Flash.................................................................... 3-47
Table 3-17. ROM Block B Size Encoding .............................................................. 3-49
Table 3-18. Sizing Addresses .................................................................................. 3-56
Table 3-19. PowerPC 60x Address to DRAM Address Mappings.......................... 3-56
Table 3-20. Syndrome Codes Ordered by Bit in Error ............................................ 3-57
Table 3-21. Single-Bit Errors Ordered by Syndrome Code..................................... 3-59
Table 3-22. PowerPC Data to DRAM Data Mapping ............................................. 3-61
Table 4-1. Features of the Universe ASIC................................................................. 4-2
Table 4-2. Universe Register Map ........................................................................... 4-10
Table 5-1. PCI Arbitration Assignments ................................................................... 5-1
Table 5-2. RavenMPIC Interrupt Assignments ......................................................... 5-3
Table 5-3. PIB PCI/ISA Interrupt Assignments ........................................................ 5-6
Table 5-4. Reset Sources and Devices Affected ........................................................ 5-9
Table 5-5. Error Notification and Handling............................................................. 5-10
Table 5-6. ROM/Flash Bank Default...................................................................... 5-15

xviii

About This Manual
The MVME2300 Series VME Processor Module Programmer’s Reference
Guide provides board-level information and detailed ASIC information,
including register bit descriptions, for the MVME2300 and
MVME2300SC series of VME processor modules.
The MVME2300 series VME processor module is based on an MPC603
or MPC604 PowerPC microprocessor, and features dual PCI Mezzanine
Card (PMC) slots with front panel and/or P2 I/O. In addition, the
MVME2300SC versions of the board give both PMC slots access (via P2)
to an SCSA (Signal Computing System Architecture) backplane bus, if the
system supports one.
The MVME2300 series VME processor module is compatible with
optional double-width or single-width PMCs, and with the PMCspan PCI
expansion mezzanine module. By utilizing the two onboard PMC slots and
stacking PMCspan(s), the MVME2300SC can provide support for up to
six PMCs.
As of the publication date, the information presented in this manual applies
to the following MVME2300 and MVME2300SC models:
Model

Memory

MVME2301

16MB ECC DRAM

MVME2302

32MB ECC DRAM

MVME2303

64MB ECC DRAM

MVME2304

128MB ECC DRAM

MVME2304-0111, -0113, MVME2305*

16MB ECC DRAM

MVME2304-0121, -0121SC, -0123, MVME2306*

32MB ECC DRAM

MVME2304-0131, -0131SC, -0133, MVME2307*

64MB ECC DRAM

MVME2304-0141, -0141SC, -0143, MVME2308*

128MB ECC DRAM

MVME2306SC-1

32MB ECC DRAM

MVME2307SC-1

64MB ECC DRAM

Processor

MPC603
@ 200 MHz

MPC604
@ 300*/333
MHz
MPC604
@ 300 MHz

xix

This manual is intended for anyone who designs OEM systems, adds
capability to an existing compatible system, or works in a lab environment
for experimental purposes. A basic knowledge of computers and digital
logic is assumed. To use this manual, you may also wish to become
familiar with the publications listed in Appendix A, Related
Documentation.

Summary of Changes
This is the fifth edition of the Programmer’s Reference Guide. It
supersedes the March 2001 edition and incorporates the following updates.
Date

Description of Change

January 2001

A caution about DRAM component requirements was added to the DRAM
Attributes Register and Sizing DRAM sections of Chapter 3.

January 2001

In descriptions of the general-purpose software-readable header (J10/J17), such
as Figure 1-4 in Chapter 1, information on bit 1 (SRH1) was updated to
correctly reflect the functionality of that bit.

March 2001

At various locations in the manual, such as P2 I/O on page 1-7, information has
been added to accommodate the MVME2300SC variants of the board.
The contents of the manual have also been reorganized somewhat to conform
with present Computer Group practice for board manuals.

June 2001

All data referring to the VME CSR Bit Set Register (VCSR_SET) and VME
CSR Bit Clear Register (VCSR_CLR) has been deleted. These registers of the
Universe II are unavailable for implementation as intended by the MVME
materials and the Universe II User Manual.

xx

Overview of Contents
Chapter 1, Board Description and Memory Maps, describes the boardlevel hardware features of MVME2300 series VME processor modules. It
includes memory maps and a discussion of some general software
considerations such as cache coherency, interrupts, and bus errors.
Chapter 2, Raven PCI Bridge ASIC, describes the Raven ASIC, the PCI
local bus/PowerPC processor bus interface chip used on MVME2300
series boards.
Chapter 3, Falcon ECC Memory Controller Chip Set, describes the Falcon
memory controller chip set, which provides the interface between the
PowerPC processor bus and memory systems on MVME2300 series
boards.
Chapter 4, Universe (VMEbus to PCI) Chip, describes the Universe ASIC,
the VMEbus/PCI local bus interface chip used on MVME2300 series
boards.
Chapter 5, Programming Details, examines aspects of several
programming functions that are not tied to any specific ASIC on
MVME2300 series boards.
Appendix A, Related Documentation, lists all documentation related to the
MVME2300 and MVME2300SC series boards.

Comments and Suggestions
Motorola welcomes and appreciates your comments on its documentation.
We want to know what you think about our manuals and how we can make
them better. Mail comments to:
Motorola Computer Group
Reader Comments DW164
2900 S. Diablo Way
Tempe, Arizona 85282
You can also submit comments to the following e-mail address:
reader-comments@mcg.mot.com

xxi

In all your correspondence, please list your name, position, and company.
Be sure to include the title and part number of the manual and tell how you
used it. Then tell us your feelings about its strengths and weaknesses and
any recommendations for improvements.

Conventions Used in This Manual
The following typographical conventions are used in this document:
bold
is used for user input that you type just as it appears; it is also used for
commands, options and arguments to commands, and names of
programs, directories and files.
italic
is used for names of variables to which you assign values. Italic is also
used for comments in screen displays and examples, and to introduce
new terms.
courier
is used for system output (for example, screen displays, reports),
examples, and system prompts.
,  or 
 represents the carriage return or Enter key.
CTRL
represents the Control key. Execute control characters by pressing the
Ctrl key and the letter simultaneously, for example, Ctrl-d.
Data and address parameters are preceded by a character identifying the
numeric format as follows:
$
%
&

xxii

dollar
percent
ampersand

specifies a hexadecimal character
specifies a binary number
specifies a decimal number

For example, “12” is the decimal number twelve, and “$12” is the decimal
number eighteen.
Unless otherwise specified, all address references are in hexadecimal.
In descriptions of the VMEbus interface, an asterisk (∗) following the
signal name for signals which are level significant denotes that the signal
is true or valid when the signal is low. An asterisk (∗) following the signal
name for signals which are edge significant denotes that the actions
initiated by that signal occur on high to low transition.
In references to other bus signals (such as PCI) found on MVME2300
series boards, an underscore (_) or pound sign (#) following the signal
name denotes an active low signal.
In this manual, assertion and negation signify the forcing of a signal to a
particular state. In particular, assertion and assert refer to a signal that is
active or true; negation and negate indicate a signal that is inactive or false.
These terms are used independently of the voltage level (high or low) that
they represent.
Data and address sizes for MPC60x chips are defined as follows:
❏

A byte is eight bits, numbered 0 through 7, with bit 0 being the least
significant.

❏

A half-word is 16 bits, numbered 0 through 15, with bit 0 being the
least significant.

❏

A word or single word is 32 bits, numbered 0 through 31, with bit 0
being the least significant.

❏

A double word is 64 bits, numbered 0 through 63, with bit 0 being
the least significant.

Refer to Endian Issues in Chapter 5 for a discussion of which elements on
MVME2300 series boards use big-endian byte ordering, and which use
small-endian byte ordering.
The terms control bit and status bit are used extensively in this document.
The term control bit is used to describe a bit in a register that can be set and
cleared under software control. The term true is used to indicate that a bit
is in the state that enables the function it controls. The term false is used to

xxiii

indicate that the bit is in the state that disables the function it controls. In
all tables, the terms 0 and 1 are used to describe the actual value that should
be written to the bit, or the value that it yields when read. The term status
bit is used to describe a bit in a register that reflects a specific condition.
The status bit can be read by software to determine operational or
exception conditions.

xxiv

1Board Description and Memory
Maps

1

Introduction
This manual provides programming information for MVME2300 and
MVME2300SC VME processor modules. Extensive programming
information is provided for several Application-Specific Integrated Circuit
(ASIC) devices used on the boards. Reference information is included in
Appendix A for the Large Scale Integration (LSI) devices used on the
boards and sources for additional information are listed.
This chapter briefly describes the board level hardware features of the
MVME2300-series VME processor modules. The chapter begins with a
board level overview and features list. Memory maps are next, and are the
major feature of this chapter.
Programmable registers that reside in ASICs in the MVME2300 series are
covered in the chapters on those ASICs. Chapter 2, Raven PCI Bridge
ASIC covers the Raven chip, Chapter 3, Falcon ECC Memory Controller
Chip Set covers the Falcon chip set, Chapter 4, Universe (VMEbus to PCI)
Chip covers the Universe chip, and Chapter 5, Programming Details
covers certain programming features, such as interrupts and exceptions.
Appendix A, Related Documentation lists all related documentation.

Overview
The MVME2300-series VME Processor Module family, hereafter
sometimes referred to simply as the MVME230x or the MVME2300
series, provides many standard features required by a computer system:
Ethernet interface, async serial port, boot Flash, and up to 128MB of ECC
DRAM.

1-1

1

Board Description and Memory Maps

Summary of Features
There are many models based on the MVME2300 series architecture. The
following table summarizes the major features of the MVME2300 series:
Table 1-1. Features: MVME2300 Series
Feature

MVME2300

MVME2300SC
®

Microprocessor

Form factor
ECC DRAM

200 MHZ MPC603 PowerPC
processor
(MVME2301 - 2304 models)

PowerPC®

300 MHZ MPC604
processor
(MVME2305 - 2308 models)

300 MHZ MPC604 PowerPC®
processor (All models)

6U VMEbus
Two-way interleaved, ECCTwo-way interleaved, ECCprotected 16MB, 32MB, 64MB, or protected 32MB or 64MB
128MB
Bank B: Two 32-pin PLCC sockets that can be populated with 1MB 8-bit
Flash devices

Flash memory

Real-time clock
Switches
Status LEDs

Timers

Bank A: Four 16-bit Smart Voltage Bank A: Four 16-bit Smart Voltage
SMT devices that can be populated SMT devices populated with 8Mbit
with 8Mbit Flash devices (4MB) or Flash devices (4MB)
4Mbit devices (2MB)
8KB NVRAM with RTC, battery
backup, and watchdog function
(SGS-Thomson M48T59/T559)

8KB NVRAM with RTC, battery
backup, and watchdog function
(SGS-Thomson M48T559)

Reset (RST) and Abort (ABT)
Four: Board fail (BFL), CPU, PMC Four: Board Fail (BFL), CPU,
(one for PMC slot 2, one for slot 1) System Controller (SCON), Fuses
(FUS)
One 16-bit timer in W83C553 PCI/ISA bridge; four 32-bit timers in
Raven (MPIC) device
Watchdog timer provided in SGS-Thomson M48T59/T559

Interrupts

Software interrupt handling via Raven (PCI/MPU bridge) and Winbond
(PCI/ISA bridge) controllers

VME I/O

VMEbus P2 connector

1-2

Computer Group Literature Center Web Site

System Block Diagram

Table 1-1. Features: MVME2300 Series (Continued)
Feature

MVME2300

Serial I/O

Ethernet I/O

MVME2300SC

One asynchronous debug port via
RJ45 connector on front panel

One asynchronous debug port via
DB9 connector on front panel,
also via P2 and transition module

10BaseT/100BaseTX connections
via RJ45 connector on front panel

10BaseT/100BaseTX connections
via RJ45 connector on front panel;
AUI connections via P2 and
transition module

Two IEEE P1386.1 PCI Mezzanine Card (PMC) slots for one doublewidth or two single-width PMCs
PCI interface

Front panel and/or VMEbus P2 I/O on both PMC slots
One 114-pin Mictor connector for optional PMCspan expansion module

SCSA I/O

Not available

Connections from both PMC slots
to SCSA backplane TDM bus (if
present in system) via shared pins
on P2 connector

VMEbus system controller functions
VME64 extension
VMEbus-to-local-bus interface (A24/A32, D8/D16/D32/block transfer
[D8/D16/D32/D64])
Local-bus-to-VMEbus interface (A16/A24/A32, D8/D16/D32)
VMEbus interface

VMEbus interrupter
VMEbus interrupt handler
Global Control/Status Register (GCSR) for interprocessor
communications
DMA for fast local memory/VMEbus transfers (A16/A24/A32,
D16/D32/D64)

System Block Diagram
The MVME2300 series does not provide any look-aside external cache
option. The Falcon chip set controls the boot Flash and the ECC DRAM.
The Raven ASIC functions as the 64-bit PCI host bridge and the MPIC
interrupt controller. PCI devices include: VME, Ethernet, and two PMC

http://www.motorola.com/computer/literature

1-3

1

1

Board Description and Memory Maps

slots. Standard I/O functions are provided by the UART device which
resides on the ISA bus. The NVRAM/RTC also resides on the ISA bus.
The general system block diagram for MVME2300 series is shown below:

1-4

Computer Group Literature Center Web Site

System Block Diagram

CLOCK
GENERATOR

DEBUG CONNECTOR

66MHz MPC604 PROCESSOR BUS

DRAM
16/32/64/128MB

64-BIT PMC SLOT

PHB & MPIC
RAVEN ASIC

Flash
3MB or 5MB

SYSTEM
REGISTERS

MEMORY CONTROLLER
FALCON CHIP SET
PCI EXPANSION

PROCESSOR
MPC603/604

33MHz 32/64-BIT PCI LOCAL BUS

10BT/100BTX

PIB
W83C553

ETHERNET
DEC21140

PC16550
UART

BUFFERS

ISA
REGISTERS

FRONT PANEL

ISA BUS

SERIAL
PORT

RTC/NVRAM/WD
MK48T59/559

PMC FRONT I/O SLOT
PMC FRONT I/O SLOT

VME BRIDGE
UNIVERSE

VME P2

VME P1

2067 9708

Figure 1-1. MVME2300 Series System Block Diagram

http://www.motorola.com/computer/literature

1-5

1

1

Board Description and Memory Maps

Functional Description
The MVME2300 series is a family of single-slot VME processor modules.
It consists of the MPC603/604 processor, the Raven PCI Bridge and
Interrupt Controller, the Falcon ECC Memory Controller chip set, 3MB or
5MB of Flash memory, 16MB to 128MB of ECC-protected DRAM, and a
rich set of I/O features.
I/O peripheral devices on the PCI bus are: Ethernet chip, Universe
VMEbus interface ASIC, and two PMC slots. Functions provided from the
ISA bus are: one asynchronous serial port, a real-time clock,
counters/timers, and a software-readable header.

VMEbus Interface
MVME2300 series boards interface to the VMEbus via the P1 and P2
backplane connectors. MVME2300SC boards use the three-row 96-pin
connectors specified in the original VMEbus standard; non-SCbus
MVME2300 boards use the 5-row 160-pin connectors specified in the
VME64 Extension standard.
Both types of boards draw +5V, +12V, and –12V power from the VMEbus
backplane through these two connectors. 3.3V and 2.5V supplies are
regulated onboard from the +5 power.

Front Panel
Front panel connectors on the non-SCbus MVME2300 series boards
include an RJ45 connector for the Ethernet 10BaseT/100BaseTX
interface, and a second RJ45 connector for the asynchronous serial debug
port.
Front panel connectors on the MVME2300SC include an RJ45 connector
for the Ethernet 10BaseT/100BaseTX interface, and a 9-pin DB9
connector for the asynchronous serial debug port.

1-6

Computer Group Literature Center Web Site

Programming Model

PCI interface
MVME2300 and MVME2300SC boards are equipped with two IEEE
1386.1 PCI Mezzanine Card (PMC) slots. The PMC slots are 64-bit
capable and support both front and rear I/O.
P2 I/O
Certain pins of each PMC slot connector are routed to VME backplane
connector P2 for use in rear I/O configurations.
On MVME2300 boards, pins 1-64 of PMC slot 1 connector J14 are routed
to rows C and A of the 5-row DIN P2 connector. Pins 1-46 of PMC slot 2
connector J24 are routed to rows D and Z of connector P2.
On MVME2300SC boards, pins 1-32 of PMC slot 1 connector J14 are
routed to rows C and A of the 3-row DIN P2 connector. Pins 1-32 of PMC
slot 2 connector J24 (as with J14) are routed to rows C and A of connector
P2.
Additional PCI expansion is supported with a 114-pin Mictor connector.
This connection allows stacking of one or two PMCspan dual-PMC carrier
boards, to increase the I/O capability. Each PMCspan board requires an
additional VME slot.

Programming Model
The following sections describe the memory maps for the MVME2300
series boards.

Processor Memory Maps
The Processor memory map is controlled by the Raven ASIC and the
Falcon chip set. The Raven ASIC and the Falcon chip set have flexible
programming Map Decoder registers to customize the system for many
different applications.

http://www.motorola.com/computer/literature

1-7

1

1

Board Description and Memory Maps

Default Processor Memory Map
After a reset, the Raven ASIC and the Falcon chip set provide the default
processor memory map as shown in the following table.
Table 1-2. Default Processor Memory Map
Size
Start

Definition

End

0000 0000

7FFF FFFF

2G

8000 0000

8001 FFFF

128K

8002 0000

FEF7 FFFF

2G - 16M 640K

FEF8 0000

FEF8 FFFF

64K

Falcon Registers

FEF9 0000

FEFE FFFF

384K

Not mapped

FEFF 0000

FEFF FFFF

64K

Raven Registers

FF00 0000

FFEF FFFF

15M

Not mapped

FFF0 0000

FFFF FFFF

1M

ROM/Flash Bank A or Bank B

Notes

Processor Address

Not mapped
PCI/ISA I/O Space

1

Not mapped

2

Notes
1. This default map for PCI/ISA I/O space allows software to
determine whether the system is MPC105-based or Falcon/Ravenbased by examining either the PIB Device ID or the CPU Type
register.
2. The first Megabyte of ROM/Flash bank A appears at this range after
a reset if the rom_b_rv control bit is cleared. If the rom_b_rv control
bit is set, then this address range maps to ROM/Flash bank B.

1-8

Computer Group Literature Center Web Site

Programming Model

Processor CHRP Memory Map
The following table shows a recommended CHRP memory map from the
point of view of the processor.
Table 1-3. CHRP Memory Map Example
Size
Start

Definition

End

Notes

Processor Address

0000 0000

top_dram

dram_size

System Memory (onboard DRAM)

1, 2

4000 0000

FCFF FFFF

3G - 48M

PCI Memory Space:
4000 0000 to FCFF FFFF

3,4,8

FD00 0000

FDFF FFFF

16M

Zero-Based PCI/ISA Memory Space
(mapped to 00000000 to 00FFFFFF)

3,8

FE00 0000

FE7F FFFF

8M

Zero-Based PCI/ISA I/O Space
(mapped to 00000000 to 007FFFFF)

3,5,8

FE80 0000

FEF7 FFFF

7.5M

Reserved

FEF8 0000

FEF8 FFFF

64K

Falcon Registers

FEF9 0000

FEFE FFFF

384K

Reserved

FEFF 0000

FEFF FFFF

64K

Raven Registers

FF00 0000

FF7F FFFF

8M

ROM/Flash Bank A

1,7

FF80 0000

FF8F FFFF

1M

ROM/Flash Bank B

1,7

FF50 0000

FFEF FFFF

6M

Reserved

FFF0 0000

FFFF FFFF

1M

ROM/Flash Bank A or Bank B

9

7

Notes
1. Programmable via Falcon chip set. For the MVME2300 series,
RAM size is limited to 128MB and ROM/Flash to 4MB.
2. To enable the “Processor-hole” area, program the Falcon chip set to
ignore 0x000A0000 - 0x000BFFFF address range and program the
Raven to map this address range to PCI memory space.

http://www.motorola.com/computer/literature

1-9

1

1

Board Description and Memory Maps

3. Programmable via Raven ASIC.
4. CHRP requires the starting address for the PCI memory space to be
256MB-aligned.
5. Programmable via Raven ASIC for either contiguous or spread-I/O
mode.
6. The actual size of each ROM/Flash bank may vary.
7. The first Megabyte of ROM/Flash bank A appears at this range after
a reset if the rom_b_rv control bit is cleared. If the rom_b_rv control
bit is set then this address range maps to ROM/Flash bank B.
8. This range can be mapped to the VMEbus by programming the
Universe ASIC accordingly. The map shown is the recommended
setting which uses the Special PCI Slave Image and two of the four
programmable PCI Slave Images.
9. The only method of generating a PCI Interrupt Acknowledge cycle
(8259 IACK) is to perform a read access to the Raven’s PIACK
register at 0xFEFF0030.
The following table shows the programmed values for the associated
Raven MPC registers for the processor CHRP memory map.
Table 1-4. Raven MPC Register Values for CHRP Memory Map
Address

1-10

Register Name

Register Value

FEFF 0040

MSADD0

4000 FCFF

FEFF 0044

MSOFF0 & MSATT0

0000 00C2

FEFF 0048

MSADD1

FD00 FDFF

FEFF 004C

MSOFF1 & MSATT1

0300 00C2

FEFF 0050

MSADD2

0000 0000

FEFF 0054

MSOFF2 & MSATT2

0000 0002

FEFF 0058

MSADD3

FE00 FE7F

FEFF 005C

MSOFF3 & MSATT3

0200 00C0

Computer Group Literature Center Web Site

Programming Model

Processor PREP Memory Map
The Raven/Falcon chip set can be programmed for PREP-compatible
memory map. The following table shows the PREP memory map of the
MVME2300 series from the point of view of the processor.
Table 1-5. PREP Memory Map Example
Processor Address
Size
Start

Definition

Notes

End

0000 0000

top_dram

dram_size

System Memory (onboard DRAM)

1

8000 0000

BFFF FFFF

1G

Zero-Based PCI I/O Space:
0000 0000 - 3FFFF FFFF

2

C000 0000

FCFF FFFF

1G - 48M

FD00 0000

FEF7 FFFF

40.5M

FEF8 0000

FEF8 FFFF

64K

Falcon Registers

FEF9 0000

FEFE FFFF

384K

Reserved

FEFF 0000

FEFF FFFF

64K

Raven Registers

FF00 0000

FF7F FFFF

8M

ROM/Flash Bank A

1, 3

FF80 0000

FF8F FFFF

1M

ROM/Flash Bank B

1, 3

FF90 0000

FFEF FFFF

6M

Reserved

FFF0 0000

FFFF FFFF

1M

ROM/Flash Bank A or Bank B

Zero-Based PCI/ISA Memory Space:
0000 0000 - 3CFFFFFF

2, 5

Reserved

6

4

Notes
1. Programmable via Falcon chip set. For the MVME2300 series,
RAM size is limited to 128MB and ROM/Flash to 4MB.
2. Programmable via Raven ASIC.
3. The actual size of each ROM/Flash bank may vary.

http://www.motorola.com/computer/literature

1-11

1

1

Board Description and Memory Maps

4. The first Megabyte of ROM/Flash bank A appears at this range after
a reset if the rom_b_rv control bit is cleared. If the rom_b_rv control
bit is set then this address range maps to ROM/Flash bank B.
5. This range can be mapped to the VMEbus by programming the
Universe ASIC accordingly.
6. The only method of generating a PCI Interrupt Acknowledge cycle
(8259 IACK) is to perform a read access to the Raven’s PIACK
register at 0xFEFF0030.
The following table shows the programmed values for the associated
Raven MPC registers for the processor PREP memory map.
Table 1-6. Raven MPC Register Values for PREP Memory Map
Address

Register Name

Register Value

FEFF 0040

MSADD0

C000 FCFF

FEFF 0044

MSOFF0 & MSATT0

4000 00C2

FEFF 0048

MSADD1

0000 0000

FEFF 004C

MSOFF1 & MSATT1

0000 0002

FEFF 0050

MSADD2

0000 0000

FEFF 0054

MSOFF2 & MSATT2

0000 0002

FEFF 0058

MSADD3

8000 BFFF

FEFF 005C

MSOFF3 & MSATT3

8000 00C0

PCI Configuration Access
PCI Configuration accesses are accomplished via the CONFIG_ADD and
CONFIG_DAT registers. These two registers are implemented in the
Raven ASIC. In the CHRP memory map example, the CONFIG_ADD and
CONFIG_DAT registers are located at 0xFE000CF8 and 0xFE000CFC,
respectively. With the PREP memory map, the CONFIG_ADD register
and the CONFIG_DAT register are located at 0x80000CF8 and
0x80000CFC, respectively.

1-12

Computer Group Literature Center Web Site

Programming Model

PCI Memory Maps
The PCI memory map is controlled by the Raven ASIC and the Universe
ASIC. The Raven ASIC and the Universe ASIC have flexible
programming Map Decoder registers to customize the system to fit many
different applications.
Default PCI Memory Map
After a reset, the Raven ASIC and the Universe ASIC turn all the PCI slave
map decoders off. Software must program the appropriate map decoders
for a specific environment.
PCI CHRP Memory Map
The following table shows a PCI memory map of the MVME2300 series
that is CHRP-compatible from the point of view of the PCI local bus.
Table 1-7. PCI CHRP Memory Map
PCI Address
Size
Start

Definition

Notes

End

0000 0000

top_dram

dram_size

Onboard ECC DRAM

1

4000 0000

EFFF FFFF

3G - 256M

VMEbus A32/D32 (Super/Program)

3

F000 0000

F7FF FFFF

128M

VMEbus A32/D16 (Super/Program)

3

F800 0000

F8FE FFFF

16M - 64K

VMEbus A24/D16 (Super/Program)

4

F8FF 0000

F8FF FFFF

64K

VMEbus A16/D16 (Super/Program)

4

F900 0000

F9FE FFFF

16M - 64K

VMEbus A24/D32 (Super/Data)

4

F9FF 0000

F9FF FFFF

64K

VMEbus A16/D32 (Super/Data)

4

FA00 0000

FAFE FFFF

16M - 64K

VMEbus A24/D16 (User/Program)

4

FAFF 0000

FAFF FFFF

64K

VMEbus A16/D16 (User/Program)

4

FB00 0000

FBFE FFFF

16M - 64K

VMEbus A24/D32 (User/Data)

4

FBFF 0000

FBFF FFFF

64K

VMEbus A16/D32 (User/Data)

4

http://www.motorola.com/computer/literature

1-13

1

1

Board Description and Memory Maps

Table 1-7. PCI CHRP Memory Map (Continued)
PCI Address
Size
Start

Definition

Notes

End

FC00 0000

FC03 FFFF

256K

RavenMPIC

FC04 0000

FCFF FFFF

16M - 256K

FD00 0000

FDFF FFFF

16M

PCI Memory Space
or System Memory Alias Space
(mapped to 00000000 to 00FFFFFF)

FE00 0000

FFFF FFFF

48M

Reserved

1

PCI Memory Space
1

Notes
1. Programmable via the Raven’s PCI Configuration registers. For the
MVME2300 series, RAM size is limited to 128MB.
2. To enable the CHRP “io-hole”, program the Raven to ignore the
0x000A0000 - 0x000FFFFF address range.
3. Programmable mapping via the four PCI Slave Images in the
Universe ASIC.
4. Programmable mapping via the Special Slave Image (SLSI) in the
Universe ASIC.

1-14

Computer Group Literature Center Web Site

Programming Model

The following table shows the programmed values for the associated
Raven PCI registers for the PCI CHRP memory map.
Table 1-8. Raven PCI Register Values for CHRP Memory Map
Configuration
Address Offset

Configuration
Register Name

Register Value
(Aliasing OFF)

Register Value
(Aliasing ON)

$14

RavenMPIC MBASE

FC00 0000

FC00 0000

$80

PSADD0

0000 3FFF

0100 3FFF

$84

PSOFF0 & PSATT0

0000 00FX

0000 00FX

$88

PSADD1

0000 0000

FD00 FDFF

$8C

PSOFF1 & PSATT1

0000 0000

0000 00FX

$90

PSADD2

0000 0000

0000 0000

$94

PSOFF2 & PSATT2

0000 0000

0000 0000

$98

PSADD3

0000 0000

0000 0000

$9C

PSOFF3 & PSATT3

0000 0000

0000 0000

The next table shows the programmed values for the associated Universe
PCI registers for the PCI CHRP memory map.
Table 1-9. Universe PCI Register Values for CHRP Memory Map
Configuration
Address Offset

Configuration
Register Name

Register Value

$100

LSI0_CTL

C082 5100

$104

LSI0_BS

4000 0000

$108

LSI0_BD

F000 0000

$10C

LSI0_TO

XXXX 0000

$114

LSI1_CTL

C042 5100

$118

LSI1_BS

F000 0000

$11C

LSI1_BD

F800 0000

http://www.motorola.com/computer/literature

1-15

1

1

Board Description and Memory Maps

Table 1-9. Universe PCI Register Values for CHRP Memory Map (Continued)
Configuration
Address Offset

Configuration
Register Name

Register Value

$120

LSI1_TO

XXXX 0000

$128

LSI2_CTL

0000 0000

$12C

LSI2_BS

XXXX XXXX

$130

LSI2_BD

XXXX XXXX

$134

LSI2_TO

XXXX XXXX

$13C

LSI3_CTL

0000 0000

$140

LSI3_BS

XXXX XXXX

$144

LSI3_BD

XXXX XXXX

$148

LSI3_TO

XXXX XXXX

$188

SLSI

C0A053F8

PCI PREP Memory Map
The following table shows a PCI memory map of the MVME2300 series
boards that is PREP-compatible from the point of view of the PCI local
bus.
Table 1-10. PCI PREP Memory Map
PCI Address
Start

Size

Definition

Notes

End

0000 0000

00FF FFFF

16M

PCI/ISA Memory Space

0100 0000

2FFF FFFF

752M

VMEbus A32/D32 (Super/Program)

3

3000 0000

37FF FFFF

128M

VMEbus A32/D16 (Super/Program)

3

3800 0000

38FE FFFF

16M - 64K

VMEbus A24/D16 (Super/Program)

4

1-16

Computer Group Literature Center Web Site

Programming Model

Table 1-10. PCI PREP Memory Map (Continued)
PCI Address
Size

Definition

Notes

38FF FFFF

64K

VMEbus A16/D16 (Super/Program)

4

3900 0000

39FE FFFF

16M - 64K

VMEbus A24/D32 (Super/Data)

4

39FF 0000

39FF FFFF

64K

VMEbus A16/D32 (Super/Data)

4

3A00 0000

3AFE FFFF

16M - 64K

VMEbus A24/D16 (User/Program)

4

3AFF 0000

3AFF FFFF

64K

VMEbus A16/D26 (User/Program)

4

3B00 0000

3BFE FFFF

16M - 64K

VMEbus A24/D32 (User/Data)

4

3BFF 0000

3BFF FFFF

64K

VMEbus A16/D32 (User/Data)

4

3C00 0000

7FFF FFFF

1G + 64M

PCI Memory Space

8000 0000

FBFF FFFF

2G - 64M

Onboard ECC DRAM

1

FC00 0000

FC03 FFFF

256K

RavenMPIC

1

FC04 0000

FFFF FFFF

64M - 256K

Start

End

38FF 0000

PCI Memory Space

Notes
1. Programmable via the Raven’s PCI Configuration registers. For the
MVME2300 series, RAM size is limited to 128MB.
2. To enabled the CHRP “io-hole”, program the Raven to ignore the
0x000A0000 - 0x000FFFFF address range.
3. Programmable mapping via the four PCI Slave Images in the
Universe ASIC.
4. Programmable mapping via the Special Slave Image (SLSI) in the
Universe ASIC.

http://www.motorola.com/computer/literature

1-17

1

1

Board Description and Memory Maps

The following table shows the programmed values for the associated
Raven PCI registers for the PREP-compatible memory map.
Table 1-11. Raven PCI Register Values for PREP Memory Map
Configuration
Address Offset

1-18

Configuration
Register Name

Register Value

$14

RavenMPIC MBASE

FC00 0000

$80

PSADD0

8000 FBFF

$84

PSOFF0 & PSATT0

8000 00FX

$88

PSADD1

0000 0000

$8C

PSOFF1 & PSATT1

0000 0000

$90

PSADD2

0000 0000

$94

PSOFF2 & PSATT2

0000 0000

$98

PSADD3

0000 0000

$9C

PSOFF3 & PSATT3

0000 0000

Computer Group Literature Center Web Site

Programming Model

The next table shows the programmed values for the associated Universe
PCI registers for the PCI PREP memory map.
Table 1-12. Universe PCI Register Values for PREP Memory Map
Configuration
Address Offset

Configuration
Register Name

$100

LSI0_CTL

C082 5100

$104

LSI0_BS

0100 0000

$108

LSI0_BD

3000 0000

$10C

LSI0_TO

XXXX 0000

$114

LSI1_CTL

C042 5100

$118

LSI1_BS

3000 0000

$11C

LSI1_BD

3800 0000

$120

LSI1_TO

XXXX 0000

$128

LSI2_CTL

0000 0000

$12C

LSI2_BS

XXXX XXXX

$130

LSI2_BD

XXXX XXXX

$134

LSI2_TO

XXXX XXXX

$13C

LSI3_CTL

0000 0000

$140

LSI3_BS

XXXX XXXX

$144

LSI3_BD

XXXX XXXX

$148

LSI3_TO

XXXX XXXX

$188

SLSI

C0A05338

http://www.motorola.com/computer/literature

Register Value

1-19

1

1

Board Description and Memory Maps

VMEbus Mapping
The processor can access any address range in the VMEbus with the help
of the Universe ASIC’s address translation capabilities. The Processor
Memory Map section shows the recommended mapping.
VMEbus Master Map
The figure below illustrates how VMEbus master mapping is
accomplished. (Note that for MVME2300 series boards, RAM size is
limited to 128MB.)
PROCESSOR

VMEBUS

PCI MEMORY

ONBOARD
MEMORY

PROGRAMMABLE
SPACE

NOTE 2

PCI MEMORY
SPACE

NOTE 1

VME A24
VME A16
NOTE 3

VME A24
VME A16

NOTE 1
PCI/ISA
MEMORY SPACE

VME A24
VME A16

PCI
I/O SPACE

VME A24
VME A16

MPC
RESOURCES

11553.00 9609

Figure 1-2. VMEbus Master Mapping

1-20

Computer Group Literature Center Web Site

Programming Model

Notes
1. Programmable mapping done by the Raven ASIC.
2. Programmable mapping via the four PCI Slave Images in the
Universe ASIC.
3. Programmable mapping via the Special Slave Image (SLSI) in the
Universe ASIC.
VMEbus Slave Map
The four programmable VME Slave images in the Universe ASIC give
other VMEbus masters access to any devices on the board. The
combination of the four Universe VME Slave images and the four Raven
PCI Slave decoders offers great flexibility in mapping the system
resources as seen from the VMEbus.
In most applications, the VMEbus needs to see only the system memory
and, perhaps, the software interrupt registers (SIR1 and SIR2 registers).
For an example of the VMEbus slave map, refer to the figure below:

http://www.motorola.com/computer/literature

1-21

1

1

Board Description and Memory Maps

PCI Memory

Processor

VMEbus

NOTE 2

Onboard
Memory

NOTE 1

NOTE 1

PCI I/O Space

ISA Space
NOTE3

Software INT
Registers

1896 9609

Figure 1-3. VMEbus Slave Mapping
Notes
1. Programmable mapping via the four VME Slave Images in the
Universe ASIC.
2. Programmable mapping via PCI Slave Images in the Raven ASIC.
3. Fixed mapping via the PIB device.

1-22

Computer Group Literature Center Web Site

Programming Model

The following table shows the programmed values for the associated
Universe registers for the VMEbus slave function.
Table 1-13. Universe PCI Register Values for VMEbus Slave Map Example
Configuration
Address Offset

Configuration
Register Name

$F00

VSI0_CTL

C0F2 0001

C0F2 0001

$F04

VSI0_BS

4000 0000

4000 0000

$F08

VSI0_BD

4000 1000

4000 1000

$F0C

VSI0_TO

C000 1000

C000 1000

$F14

VSI1_CTL

E0F2 00C0

E0F2 00C0

$F18

VSI1_BS

1000 0000

1000 0000

$F1C

VSI1_BD

2000 0000

2000 0000

$F20

VSI1_TO

F000 0000

7000 0000

$F28

VSI2_CTL

0000 0000

0000 0000

$F2C

VSI2_BS

XXXX XXXX

XXXX XXXX

$F30

VSI2_BD

XXXX XXXX

XXXX XXXX

$F34

VSI2_TO

XXXX XXXX

XXXX XXXX

$F3C

VSI3_CTL

0000 0000

0000 0000

$F40

VSI3_BS

XXXX XXXX

XXXX XXXX

$F44

VSI3_BD

XXXX XXXX

XXXX XXXX

$F48

VSI3_TO

XXXX XXXX

XXXX XXXX

http://www.motorola.com/computer/literature

Register Value
(CHRP)

Register Value
(PREP)

1-23

1

1

Board Description and Memory Maps

The register values in the table yield the following VMEbus slave map:
Table 1-14. VMEbus Slave Map Example
VMEbus Address
Size

CHRP Map

PREP Map

A32 U/S/P/D
D08/16/32

4K

PCI/ISA I/O Space:
0000 1000 - 0000 1FFF

PCI/ISA I/O Space:
0000 1000 - 0000 1FFF

A32 U/S/P/D
D08/16/32/64
RMW

256M

PCI/ISA Memory Space
(On-board DRAM)
0000 0000 - 0FFF FFFF

PCI/ISA Memory Space
(On-board DRAM)
8000 0000 - 8FFF FFFF

Range

Mode

4000 0000 4000 0FFF
1000 0000 1FFF FFFF

Falcon-Controlled System Registers
The Falcon chip set latches the states of the DRAM data lines onto the
PR_STAT1 and PR_STAT2 registers. MVME2300 series boards use these
status registers to provide the system configuration information. In
addition, the Falcon chip set performs the decode and control for an
external register port. This function is utilized by MVME2300 series
boards to provide the system control registers.
Table 1-15. System Register Summary
BIT # ---->

31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

FEF80400

System Configuration Register (Upper Falcon’s PR_STAT1)

FEF80404

Memory Configuration Register (Lower Falcon’s PR_STAT1)

FEF88000

System External Cache
Control Register

FEF88300

CPU Control Register

The following subsections describe these system registers in detail.

1-24

Computer Group Literature Center Web Site

Programming Model

System Configuration Register (SYSCR)
The states of the RD[0:31] DRAM data pins, which have weak internal
pull-ups, are latched by the upper Falcon chip at a rising edge of the powerup reset and stored in this System Configuration register to provide some
information about the system. Configuration is accomplished with external
pull-down resistors. This 32-bit read-only register is defined as follows:
REG

System Configuration Register - $FEF80400

BIT

31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

FIELD

SYSID

SYSCLK

OPER
RESET

SYSXC

P0STAT

P1STAT

Read Only
$FD

1111

SYSID

1111

0111

1111

1 1

$F

System Identification. This field specifies the type of the
overall system configuration so that the software may
appropriately handle any software visible differences. For
the MVME2300 series, this field returns a value of $FD.

SYSCLK System Clock Speed. This field relays the system clock
speed and the PCI clock speed information as follows:
SYSCLK Value

System Clock Speed

PCI Clock Speed

0B0000 to 0B1100

Reserved

Reserved

0B1101

50MHz

25MHz

0B1110

60MHz

30MHz

0B1111

66.66MHz

33.33MHz

http://www.motorola.com/computer/literature

1-25

1

1

Board Description and Memory Maps

SYSXC

System External Cache Size. The MVME2300 series does
not offer any external caching options. Reads from this
field will always return a hardwired value of 0b1111
indicating the absence of external caching.

P0/1STAT Processor 0/1 Status. This field is encoded as follows:

1-26

P0/1STAT Value

Processor 0/1 Present

External In-line Cache
Size

0B0000 to 0B0011

Reserved

Reserved

0B0100

Yes

1M

0B0101

Yes

512K

0B0110

Yes

256K

0B0111

Yes

None

0B1000 to 0B1111

No

N/A

Computer Group Literature Center Web Site

Programming Model

Memory Configuration Register (MEMCR)
The states of the RD[00:31] DRAM data pins, which have weak internal
pull-ups, are latched by the lower Falcon chip at a rising edge of the powerup reset and stored in this Memory Configuration register to provide some
information about the system memory. Configuration is accomplished
with external pull-down resistors. This 32-bit read-only register is defined
as follows:

FLSHP2FLSHP1_
FLSHP0_

M_SIZE1
M_SIZE0

L2_PLL3
L2_PLL2
L2_PLL1
L2_PLL0
L3_TYPE3
L2_TYP2
L2_TYPE1
L2_TYPE0
R_B_TYP2
R_B_TYP1
R_B_TYP0

63
62
61
60
59
58
57
56
55
54
53
52
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32

FIELD

R_A_TYP2
R_A_TYP1
R_A_TYP0

BIT

M_SPD1
M_SPD0

Memory Configuration Register - $FEF80404

M_FREF

REG

OPER
1
1
1
X
X
X
1
1
X
X
X
X
X
X
X
X
X
X
X
1
X
X
X
1
X
X
1
1
X
1
X
X

RESET

M_SIZE[0:1]
Memory Size. This field is encoded as follows:
M_SIZE[0:1]

Total Memory On Board

0B00

16 Megabytes

0B01

32 Megabytes

0B10

64 Megabytes

0B11

128 Megabytes

M_FREF Block A/B/C/D Fast Refresh. When this bit is set, it
indicates that a DRAM block requires faster refresh rate.
If any of the four blocks requires faster refresh rate then
the ram ref control bit should be set.

http://www.motorola.com/computer/literature

1-27

1

1

Board Description and Memory Maps

M_SPD[0:1]
Memory Speed. This field relays the memory speed
information as follows:
M_SPD[0:1]

DRAM Speed

DRAM Type

0B00

70ns

Past Page

0B01

60ns

Fast Page

0B10

Reserved

Reserved

0B11

50ns

EDO

These two bits reflect the combined status of the four
blocks of DRAM. Initialization software uses this
information to program the ram_spd0 and ram_spd1
control bits in the Falcon’s Chip Revision register.
R_A/B_TYP[0:2]
ROM/Flash Type. This field is encoded as follows:
ROM_A/B_TYP[0:2]
0B000 to 0B101

Note

ROM/Flash Type
Reserved

0B110

Intel 16-bit wide Flash with 16K Bottom Boot
Block

0B111

Unknown type (i.e. ROM/Flash sockets)

The device width differs from the width of the Flash bank. If the
bank width is 64 bits and the device width is 16 bits, then the
Flash bank consists of four Flash devices.

L2_TYPE[0:3]
L2 Memory Type. This field is encoded as follows:
L2_TYPE[0:3]
0B0000

Late write Sync

0B0001

Pipelined Sync Burst

0B0010 to 0B1111

1-28

Configuration

Reserved

Computer Group Literature Center Web Site

Programming Model

L2_PLL[0:3]
L2 Core Frequency to L2 Frequency divider. This field is
encoded as follows:
PLL Value]

Size

0B0000

Disable

0B0001

1

0B0010

1.5

0B0011

2

0B0100

2.5

0B0101

3

0B0110 to 0B1111

Reserved

FLSHP[0:2]
Bank A Flash memory size. This field is encoded as
follows:
Flash Size

FLSHP0_

FLSHP1_

FLSHP2_

1MB

0

0

0

2MB

0

0

1

4MB

0

1

0

8MB

0

1

1

16MB

1

0

0

32MB

1

0

1

64MB

1

1

0

No Flash

1

1

1

System External Cache Control Register (SXCCR)
The MVME2300 and MVME2300SC boards do not implement this
register. Writes to this register location ($FEF88000) will have no system
effects. Reads from this register location will return undefined data.

http://www.motorola.com/computer/literature

1-29

1

1

Board Description and Memory Maps

Processor 0 External Cache Control Register (P0XCCR)
The MVME2300 and MVME2300SC boards do not implement this
register. Writes to this register location ($FEF88100) will have no system
effects. Reads from this register location will return undefined data.
Processor 1 External Cache Control Register (P1XCCR)
The MVME2300 and MVME2300SC boards do not implement this
register. Writes to this register location ($FEF88200) will have no system
effects. Reads from this register location will return undefined data.
CPU Control Register
The CPU Control register is accessed via the RD[32:39] data lines of the
upper Falcon device. This 8-bit register is defined as follows:
REG
BIT

CPU Control Register - $FEF88300
1

OPER

R

RESET

1

3

R

R

0

0

LEMODE

FIELD

2

4

5

6

7

R/W

R

R

R

R

1

X

X

X

X

P0_TBEN

0

LEMODE Little Endian Mode. This bit must be set in conjunction
with the LEND bit in the Raven for little-endian mode.
P0_TBEN Processor 0 Time Base Enable. When this bit is cleared,
the TBEN pin of the processor will be driven low.

1-30

Computer Group Literature Center Web Site

ISA Local Resource Bus

ISA Local Resource Bus
W83C553 PIB Registers
The PIB contains ISA Bridge I/O registers for various functions. These
registers are actually accessible from the PCI bus. Refer to the W83C553
Data Book for details.

16550 UART
The 16550 UART provides the MVME2300 series boards with an
asynchronous serial port. Refer to the 16550 Data Sheet for additional
details and programming information.
The following table shows the mapping of the 16550 registers within the
MVME2300 series boards’ ISA I/O space beginning at address 0x3F8:
Table 1-16. 16550 Access Registers
ISA I/O Address

Function

0000 03F8

Receiver Buffer (Read);
Transmitter Holding (Write)

0000 03F9

Interrupt Enable

0000 03FA

Interrupt Identification (Read);
FIFO Control (Write)

0000 03FB

Line Control

0000 03FC

MODEM control

0000 03FD

Line Status

0000 03FE

MODEM Status

0000 03FF

Scratch

http://www.motorola.com/computer/literature

1-31

1

1

Board Description and Memory Maps

General-Purpose Readable Jumpers
Headers J10 (on the MVME2300SC) and J17 (on the MVME2300)
provide eight software-readable jumpers. These jumpers can be read as a
register at ISA I/O address $801 (hexadecimal). Bit 0 is associated with
header pins 1-2; bit 7 is associated with pins 15-16. The bit values are read
as a 0 when a jumper is installed, and as a 1 when the jumper is removed.
The PowerPC firmware, PPCBug, reserves all bits, SRH0 to SRH7. The
board is shipped from the factory with J10 / J17 set to all 0s (jumpers on
all pins), as shown in Figure 1-4.
J10/J17
Bit 0 (SRH0)

1

PPCBug INSTALLED
2

Reserved for future use

Bit 1 (SRH1)

Reserved for future use

Bit 2 (SRH2)

Reserved for future use

Bit 3 (SRH3)

Reserved for future use

Bit 4 (SRH4)

Reserved for future use

Bit 5 (SRH5)

Reserved for future use

Bit 6 (SRH6)

Reserved for future use

Bit 7 (SRH7)

15

16

Reserved for future use

Figure 1-4. General-Purpose Software-Readable Header

NVRAM/RTC and Watchdog Timer Registers
The M48T59/559 provides the MVME2300 series boards with 8K of nonvolatile SRAM, a time-of-day clock, and a watchdog timer. Accesses to
the M48T59/559 are accomplished via three registers:

1-32

❏

The NVRAM/RTC Address Strobe 0 register

❏

The NVRAM/RTC Address Strobe 1 register

❏

The NVRAM/RTC Data Port register

Computer Group Literature Center Web Site

ISA Local Resource Bus

The NVRAM/RTC Address Strobe 0 register latches the lower 8 bits of the
address and the NVRAM/RTC Address Strobe 1 register latches the upper
5 bits of the address.
Table 1-17. M48T59/559 Access Registers
PCI I/O Address

Function

0000 0074

NVRAM/RTC Address Strobe 0 (A7 - A0)

0000 0075

NVRAM/RTC Address Strobe 1 (A15 - A8)

0000 0077

NVRAM/RTC Data Register

The NVRAM and RTC are accessed through the above three registers.
When accessing an NVRAM/RTC location, follow this procedure:
1. Write the low address (A7-A0) of the NVRAM to the
NVRAM/RTC STB0 register,
2. Write the high address (A15-A8) of the NVRAM to the
NVRAM/RTC STB1 register, and
3. Then read or write the NVRAM/RTC Data Port.
Refer to the M48T59 Data Sheet for additional details and programming
information.

Module Configuration and Status Registers
Four registers provide the configuration and status information about the
board. These registers are listed in the following table:
Table 1-18. Module Configuration and Status Registers
PCI I/O Address

Function

0000 0800

CPU Configuration Register

0000 0802

Base Module Feature Register

0000 0803

Base Module Status Register

0000 08C0 - 0000 08C1

Seven-Segment Display Register

http://www.motorola.com/computer/literature

1-33

1

1

Board Description and Memory Maps

The following subsections describe the configuration and status registers
in detail.
CPU Configuration Register
The CPU Configuration register is an 8-bit register located at ISA I/O
address x0800. This register is defined for the MVME2300 series to
provide some backward compatibility with older MVME1600 products.
The Base Module Status register should be used to identify the base
module type and the System Configuration register should be used to
obtain information about the overall system.
REG
BIT

Old CPU Configuration Register - $FE000800
SD7

SD6

SD5

SD4

SD3

SD2

SD1

FIELD

CPUTYPE

OPER

R

R

RESET

$E

$F

SD0

CPUTYPE
CPU Type. This field will always read as $E for the
MVME2300 series. (The whole register will read $EF.)
The System Configuration register should be used for
additional information.

1-34

Computer Group Literature Center Web Site

ISA Local Resource Bus

Base Module Feature Register
The Base Module Feature register is an 8-bit register providing the
configuration information about the MVME2300-series VME processor
module. This read-only register is located at ISA I/O address x0802.
REG

Base Module Feature Register - Offset $0802
SD4

SD3
VMEP_

R

R

R

SD2

SD1

SD0

FIELD

OPER

R

R

R

R

R

RESET

X

1

X

X

X

1

X

1

LANP_

SD5

PMC1P_

SD7
PCIXP_

SD6

PMC2P_

BIT

PCIXP_

PCI Expansion Slot present. If set, there is no PCIX
device installed. If cleared, the PCIX slot contains a PCI
Mezzanine Card.

PMC2P_

PMC Slot 2 present. If set, there is no PCI Mezzanine
Card installed in PMC Slot 2. If cleared, PMC Slot 2
contains a PMC.

PMC1P_

PMC Slot 1 present. If set, there is no PCI Mezzanine
Card installed in PMC Slot 1. If cleared, PMC Slot 1
contains a PMC.

VMEP_

VMEbus present. If set, there is no VMEbus interface. If
cleared, VMEbus interface is supported.

LANP_

Ethernet present. If set, there is no Ethernet transceiver
interface. If cleared, there is on-board Ethernet support.

http://www.motorola.com/computer/literature

1-35

1

1

Board Description and Memory Maps

Base Module Status Register (BMSR)
The Base Module Status register is an 8-bit read-only register located at
ISA I/O address x0803.
REG
BIT

Base Module Status Register - Offset $0803
SD7

SD6

SD5

SD4

SD3

FIELD

SD1

SD0

BASE_TYPE

OPER
RESET

SD2

R
1

1

1

1

N/A

BASE_TYPE
Base Module Type. This four-bit field is used to provide
the category of the base module and is defined as follows:

1-36

BASE_TYPE Value

Base Module Type

$0 to $8

Reserved

$9

MVME2300

$A to $F

Reserved

Computer Group Literature Center Web Site

ISA Local Resource Bus

Seven-Segment Display Register
Note

This register is NOT USED on the MVME2300-series
boards.

This 16-bit register allows data to be sent to the 4-digit hexadecimal
diagnostic display. The register also allows the data to be read back.
REG

SD0

SD1

DIG1[3:0]

SD2

SD3

SD4

SD5

SD6

SD7

DIG2[3:0]

OPER
RESET

SD8

SD9

DIG3[3:0]

SD10

SD11

SD12

SD13

FIELD

SD14

SD15

BIT

7-Segment Display Register - Offset $08C0

DIG0[3:0]

R/W
X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

DIG3[3:0] Hexadecimal value of the most significant digit.
DIG2[3:0] Hexadecimal value of the third significant digit.
DIG1[3:0] Hexadecimal value of the second significant digit.
DIG0[3:0] Hexadecimal value of the least significant digit.

VME Registers
The registers listed in the table below provide the following functions for
the VMEbus interface:
❏

A software interrupt capability

❏

A location monitor function

❏

A geographical address status

For these registers to be accessible from the VMEbus, the Universe ASIC
must be programmed to map VMEbus Slave Image 0 into the appropriate
PCI I/O address range. Refer to the VMEbus Slave Map section for
additional details.

http://www.motorola.com/computer/literature

1-37

1

1

Board Description and Memory Maps

Table 1-19. VME Registers
PCI I/O Address

Function

0000 1000

SIG/LM Control Register

0000 1001

SIG/LM Status Register

0000 1002

VMEbus Location Monitor Upper Base Address

0000 1003

VMEbus Location Monitor Lower Base Address

0000 1004

VMEbus Semaphore Register 1

0000 1005

VMEbus Semaphore Register 2

0000 1006

VMEbus Geographical Address Status

These registers are described in the following subsections.
LM/SIG Control Register
The LM/SIG Control register is an 8-bit register located at ISA I/O address
x1000. This register provides a method to generate software interrupts.
The Universe ASIC is programmed so that this register can be accessed
from the VMEbus to generate software interrupts to the processor(s).
REG

LM/SIG Control Register - Offset $1000

BIT

SD7

SD6

SD5

SD4

SD3

SD2

SD1

SD0

FIELD

SET
SIG1

SET
SIG0

SET
LM1

SET
LM0

CLR
SIG1

CLR
SIG0

CLR
LM1

CLR
LM0

0

0

0

OPER
RESET

WRITE-ONLY
0

0

0

0

0

SET_SIG1
Writing a 1 to this bit will set the SIG1 status bit.
SET_SIG0
Writing a 1 to this bit will set the SIG0 status bit.

1-38

Computer Group Literature Center Web Site

ISA Local Resource Bus

SET_LM1
Writing a 1 to this bit will set the LM1 status bit.
SET_LM0
Writing a 1 to this bit will set the LM0 status bit.
CLR_SIG1
Writing a 1 to this bit will clear the SIG1 status bit.
CLR_SIG0
Writing a 1 to this bit will clear the SIG0 status bit.
CLR_LM1
Writing a 1 to this bit will clear the LM1 status bit.
CLR_LM0
Writing a 1 to this bit will clear the LM0 status bit.
LM/SIG Status Register
The LM/SIG Status register is an 8-bit register located at ISA I/O address
x1001. This register, in conjunction with the LM/SIG Control register,
provides a method to generate interrupts. The Universe ASIC is
programmed so that this register can be accessed from the VMEbus to
provide a capability to generate software interrupts to the onboard
processor(s) from the VMEbus.
REG

LM/SIG Status Register - Offset $1001

BIT

SD7

SD6

SD5

SD4

SD3

SD2

SD1

SD0

FIELD

EN
SIG1

EN
SIG0

EN
LM1

EN
LM0

SIG1

SIG0

LM1

LM0

OPER
RESET

R/W
0

0

READ-ONLY
0

0

0

0

0

0

EN_SIG1 When the EN_SIG1 bit is set, an LM/SIG Interrupt 1 is
generated if the SIG1 bit is asserted.
EN_SIG0 When the EN_SIG0 bit is set, an LM/SIG Interrupt 0 is
generated if the SIG0 bit is asserted.

http://www.motorola.com/computer/literature

1-39

1

1

Board Description and Memory Maps

EN_LM1 When the EN_LM1 bit is set, an LM/SIG Interrupt 1 is
generated and the LM1 bit is asserted.
EN_LM0 When the EN_LM0 bit is set, an LM/SIG Interrupt 0 is
generated and the LM0 bit is asserted.

1-40

SIG1

SIG1 status bit. This bit can only be set by the SET_LM1
control bit. It can only be cleared by a reset or by writing
a 1 to the CLR_LM1 control bit.

SIG0

SIG0 status bit. This bit can only be set by the SET_LM0
control bit. It can only be cleared by a reset or by writing
a 1 to the CLR_LM0 control bit.

LM1

LM1 status bit. This bit can be set by either the location
monitor function or the SET_LM1 control bit. LM1
correspond to offset 3 from the location monitor base
address. This bit can only be cleared by a reset or by
writing a 1 to the CLR_LM1 control bit.

LM0

LM0 status bit. This bit can be set by either the location
monitor function or the SET_LM0 control bit. LM0
correspond to offset 1 from the location monitor base
address. This bit can only be cleared by a reset or by
writing a 1 to the CLR_LM0 control bit.

Computer Group Literature Center Web Site

ISA Local Resource Bus

Location Monitor Upper Base Address Register
The Location Monitor Upper Base Address register is an 8-bit register
located at ISA I/O address x1002. The Universe ASIC is programmed so
that this register can be accessed from the VMEbus to provide VMEbus
location monitor function.
REG

Location Monitor Upper Base Address Register - Offset $1002

BIT

SD7

SD6

SD5

SD4

SD3

SD2

SD1

SD0

FIELD

VA15

VA14

VA13

VA12

VA11

VA10

VA9

VA8

0

0

0

0

OPER
RESET

R/W
0

0

VA[15:8]

0

0

Upper Base Address for the location monitor function.

Location Monitor Lower Base Address Register
The Location Monitor Lower Base Address register is an 8-bit register
located at ISA I/O address x1003. The Universe ASIC is programmed so
that this register can be accessed from the VMEbus to provide VMEbus
location monitor function.
REG

Location Monitor Lower Base Address Register - Offset $1003

BIT

SD7

SD6

SD5

SD4

SD3

FIELD

VA7

VA6

VA5

VA4

LMEN

OPER
RESET

R/W
0

0

0

0

0

SD2

SD1

SD0

R

R

R

0

0

0

VA[7:4]

Lower Base Address for the location monitor function.

LMEN

This bit must be set to enable the location monitor
function.

http://www.motorola.com/computer/literature

1-41

1

1

Board Description and Memory Maps

Semaphore Register 1
Semaphore Register 1 is an 8-bit register located at ISA I/O address x1004.
The Universe ASIC is programmed so that this register can be accessible
from the VMEbus. This register can only be updated if bit 7 is low or if the
new value has the most significant bit cleared. When bit 7 is high, this
register will not latch in the new value if the new value has the most
significant bit set.
REG
BIT

Semaphore Register 1 - Offset $1004
SD7

SD6

SD5

SD4

FIELD

SEM1

OPER

R/W

RESET

0

0

0

0

SD3

SD2

SD1

SD0

0

0

0

0

Semaphore Register 2
Semaphore Register 2 is an 8-bit register located at ISA I/O address x1005.
The Universe ASIC is programmed so that this register can be accessible
from the VMEbus. This register can only be updated if bit 7 is low or if the
new value has the most significant bit cleared. When bit 7 is high, this
register will not latch in the new value if the new value has the most
significant bit set.
REG
BIT

Semaphore Register 2 - Offset $1005
SD7

SD6

SD5

SD4

FIELD

SEM2

OPER

R/W

RESET

1-42

0

0

0

0

SD3

SD2

SD1

SD0

0

0

0

0

Computer Group Literature Center Web Site

ISA Local Resource Bus

VME Geographical Address Register (VGAR)
The VME Geographical Address register is an 8-bit read-only register
located at ISA I/O address x1006. This register reflects the states of the
geographical address pins at the P1 connector.
REG
BIT

VME Geographical Address Register - Offset $1006
SD7

SD6

FIELD

SD5

SD4

SD3

SD2

SD1

SD0

GAP#

GA4#

GA3#

GA2#

GA1#

GA0#

X

X

X

OPER
RESET

READ ONLY
X

X

X

X

X

Emulated Z8536 CIO Registers and Port Pins
Although MVME2300 series boards do not use a Z8536 device, several of
its functions are emulated within an ISA Register PLD. These functions
are accessed by reading/writing the Port A, B, C Data registers and Control
register. Note that the Pseudo IACK function is not implemented in the
MVME2300 series.
Emulated Z8536 Registers
The MVME2300 series implements the Z8536 CIO functions according to
the following table.
Table 1-20. Emulated Z8536 Access Registers
PCI I/O Address

http://www.motorola.com/computer/literature

Function

0000 0844

Port C’s Data Register

0000 0845

Port B’s Data Register

0000 0846

Port A’s Data Register

0000 0847

Control Register

1-43

1

1

Board Description and Memory Maps

Z8536 CIO Port Pins
The following table shows the signal function and port mapping for the
Z8536 CIO emulation. The signal directions are fixed in hardware.
Table 1-21. Z8536 CIO Port Pin Assignments
Port
Pin

Signal
Name

Direction

Descriptions

PA0

I/O

Not used

PA1

I/O

Not used

PA2

I/O

Not used

PA3

I/O

Not used

PA4

I/O

Not used

PA5

I/O

Not used

Output

Board Fail: When set, will illuminate BFL LED.

PA7

I/O

Not used

PB0

I/O

Not used

PB1

I/O

Not used

PB2

I/O

Not used

PB3

I/O

Not used

PB4

I/O

Not used

PB5

I/O

Not used

PB6

I/O

Not used

Input

Status of ABORT# signal

PC0

I/O

Not used

PC1

I/O

Not used

PA6

PB7

1-44

BRDFAIL

ABORT_

Computer Group Literature Center Web Site

ISA Local Resource Bus

Table 1-21. Z8536 CIO Port Pin Assignments (Continued)
Port
Pin

Signal
Name

Direction

PC2

BASETYP0

Input

PC3

BASETYP1

Input

Descriptions
Genesis Base Module Type:
00b = Genesis II (see Base Module Status Register)
01b = MVME1600-011
10b = Reserved
11b = MVME1600-001

ISA DMA Channels
No ISA DMA channels are implemented on MVME2300 series boards.

http://www.motorola.com/computer/literature

1-45

1

2Raven PCI Bridge ASIC

2

Introduction
This chapter describes the architecture and usage of the Raven ASIC, a
PowerPC-to-PCI-Local-Bus bridge controller chip. The Raven is intended
to provide PowerPC 60x (MPC60x) compliant devices access to devices
residing on the PCI Local Bus. In the remainder of this chapter, the
MPC60x bus is referred to as the "MPC bus" and the PCI Local Bus is
referred to as "PCI". PCI is a high-performance 32-bit or 64-bit, burst
mode, synchronous bus capable of transfer rates of 132 MB/sec in 32-bit
mode or 264 MB/sec in 64-bit mode using a 33MHz clock.

Features
The following table summarizes the characteristics of the Raven ASIC.
Table 2-1. Features of the Raven ASIC
Function
MPC Bus Interface

Features
Direct interface to MPC603 or MPC604 processors
64-bit data bus, 32-bit address bus
Four independent software-programmable slave map decoders
Multi-level write-post FIFO for writes to PCI
Support for MPC bus clock speeds up to 66MHz
Selectable big- or little-endian operation
3.3V signal levels

PCI Interface

Fully PCI Rev. 2.0 compliant
32-bit or 64-bit address/data bus
Support for accesses to all four PCI address spaces
Single-level write-posting buffers for writes to the MPC bus
Read-ahead buffer for reads from the MPC bus
Four independent software-programmable slave map decoders

2-1

Raven PCI Bridge ASIC

Table 2-1. Features of the Raven ASIC (Continued)

2

Function

Features

Interrupt Controller

MPIC compliant
Support for 16 external interrupt sources and two processors
Multiprocessor interrupt control allowing any interrupt source to be
directed to either processor
Multilevel cross-processor interrupt control for multiprocessor
synchronization
Four 31-bit tick timers

Processor
Coordination

Two 64-bit general purpose registers for cross-processor messaging

Block Diagram
Figure 2-1 shows a functional block diagram of the Raven ASIC. The
Raven control logic is subdivided into the following functions:

2-2

❏

PCI slave

❏

PCI master

❏

MPC slave

❏

MPC master

Computer Group Literature Center Web Site

MPC Slave

PCI Slave

Raven

http://www.motorola.com/computer/literature
MPC Dec

Reg

MPCADIN

Reg

PCIADIN

PCI Dec

Mux

Mux

MPC Bus

MPC Regs

Endian

Data Path ‘B’

Endian

Data Path ‘A’

PCI Regs

MPIC

PCI Bus

FIFO

FIFO

Reg

Reg

MPC Master

Mux

Mux MPC

Mux

Mux PCI

PCI Master

Block Diagram

2

1914 9702

Figure 2-1. Raven Block Diagram

2-3

Raven PCI Bridge ASIC

2

Functional Description
The Raven data path logic is subdivided into the following functions:
❏

Data Path ‘A’ FIFOs/muxes

❏

Data Path ‘B’ FIFOs/muxes

❏

PCIADIN, MPCADIN, Mux PCI, and Mux MPC

Address decoding is handled in the PCI Decode and MPC Decode blocks.
The control register logic is contained in the PCI Registers and MPC
Registers blocks. The interrupt controller (RavenMPIC) and the MPC
arbiter functions make up the remainder of the Raven design.
The data path function imposes some restrictions on access to the
RavenMPIC, the PCI registers, and the MPC registers. The RavenMPIC
and the PCI registers are only accessible to PCI-originated transactions.
The MPC registers are only accessible to MPC-originated transactions.

MPC Bus Interface
The MPC Bus interface is designed to be coupled directly to up to two
MPC603 or MPC604 microprocessors as well as a memory/cache
subsystem. It uses a subset of the capabilities of the MPC60x bus protocol.
MPC Address Mapping
The Raven will map either PCI memory space or PCI I/O space into MPC
address space using four programmable map decoders. These decoders
provide windows into the PCI bus from the MPC bus. The most significant
16 bits of the MPC address are compared with the address range of each
map decoder, and if the address falls within the specified range, the access
is passed on to PCI. An example of this appears in Figure 2-2.

2-4

Computer Group Literature Center Web Site

Functional Description

2
MPC Bus Address

8 0 8 0 1 2 3 4
0

15

Decode is

MSADDx Register

>=

16

and

31

<=

7 0 8 0 9 0 0 0
0

15

16

31

Figure 2-2. MPC-to-PCI Address Decoding
The Raven ASIC imposes no limits on how large an address space a map
decoder can represent. There is a minimum of 64KB due to the resolution
of the address compare logic.
For each map, there is an associated set of attributes. These attributes are
used to enable read accesses, enable write accesses, enable write-posting,
and define the PCI transfer characteristics.
Each map decoder also includes a programmable 16-bit address offset. The
offset is added to the 16 most significant bits of the MPC address, and the
result is used as the PCI address. This offset allows PCI devices to reside
at any PCI address, independent of the MPC address map. An example of
this appears in Figure 2-3.

http://www.motorola.com/computer/literature

2-5

Raven PCI Bridge ASIC

2
MPC Bus Address

8 0 8 0 1 2 3 4
0

15

16

31

+

MSOFFx Register

9 0 0 0
0

15

=

PCI Bus Address

1 0 8 0 1 2 3 4
31

16

15

0

Figure 2-3. MPC to PCI Address Translation
You should take care to assure that all programmable decoders decode
unique address ranges, since overlapping address ranges will lead to
undefined operation.
MPC Slave
The MPC slave provides the interface between the MPC bus and the Raven
FIFOs. The MPC slave is responsible for tracking and maintaining
coherency to the 60x processor bus protocol.
The MPC slave divides MPC command types into three categories:
Address Only; Write; and Read.
If a command is of type address-only and the address presented at the time
of the command is a valid Raven address, the MPC slave will respond
immediately. The Raven will not respond to address-only cycles where the
address presented is not a Raven address. The response of the MPC slave
to command types is listed in Table 2-2.

2-6

Computer Group Literature Center Web Site

Functional Description

2
Table 2-2. Command Types — MPC Slave Response
Transfer
Encoding

Transaction

Clean Block

00000

Addr Only

Flush Block

00100

Addr Only

SYNC

01000

Addr Only

MPC Transfer Type

Kill Block

01100

Addr Only

EIEIO

10000

Addr Only

ECOWX

10100

No Response

TLB Invalidate

11000

Addr Only

ECIWX

11100

No Response

LWARX

00001

Addr Only

STWCX

00101

Addr Only

TLBSYNC

01001

Addr Only

ICBI

01101

Addr Only

Reserved

1XX01

No Response

Write-with-flush

00010

Write

Write-with-kill

00110

Write

Read

01010

Read

Read-with-intent-to-modify

01110

Read

Write-with-flush-atomic

10010

Write

Reserved

10110

No Response

Read-atomic

11010

Read

Read-with-intent-to-modify-atomic

11110

Read

Reserved

00011

No Response

Reserved

00111

No Response

Read-with-no-intent-to-cache

01011

Read

Reserved

01111

No Response

Reserved

1xx11

No Response

http://www.motorola.com/computer/literature

2-7

Raven PCI Bridge ASIC

2

MPC Write Posting
The MPC write FIFO stores up to eight data beats in any combination of
single- and four-beat (burst) transactions. If write-posting is enabled,
Raven stores the data necessary to complete an MPC write transfer to the
PCI bus and immediately acknowledges the transaction on the MPC bus.
This frees the MPC bus from waiting for the potentially long PCI
arbitration and transfer. The MPC bus may be used for more useful work
while the Raven manages the completion of the write-posted transaction
on PCI.
All transactions will be completed on the PCI bus in the same order that
they are completed on the MPC bus. A read or a compelled write
transaction will force all previously issued write-posted transactions to be
flushed from the FIFO. All write-posted transfers will be completed before
a non-write-posted read or write is begun, to assure that all transfers are
completed in the order issued. All write-posted transfers will also be
completed before any access to the Raven’s registers is begun.
MPC Master
The MPC master will attempt to move data using burst transfers wherever
possible. A 64-bit-by-16 entry FIFO is used to hold data between the PCI
slave and the MPC master to ensure that optimum data throughput is
maintained. While the PCI slave is filling the FIFO with one cache line
worth of data, the MPC master can be moving another cache line worth
onto the MPC bus. This will allow the PCI slave to receive long block
transfers without stalling.
When programmed in “read ahead” mode (the RAEN bit in the PSATTx
register is set) and the PCI slave receives a Memory Read Line or Memory
Read Multiple command, the MPC master will fetch data in bursts and
store it in the FIFO. The contents of the FIFO will then be used to attempt
to satisfy the data requirements for the remainder of the PCI block
transaction. If the data requested is not in the FIFO, the MPC master will
read another cache line. The contents of the FIFO are “invalidated” at the
end of each PCI block transaction.

2-8

Computer Group Literature Center Web Site

Functional Description

Notes

2

1. Read-ahead mode should not be used when data coherency may be
a problem, as there is no way to snoop all MPC bus transactions and
invalidate the contents of the FIFO.
2. Accesses near the top of local memory with read-ahead mode
enabled could cause the MPC master to perform reads beyond the
top of local memory, which could produce an MPC bus timeout
error.
The MPC bus transfer types generated by the MPC master depend on the
PCI command code and the INV/GBL bits in the PSATTx registers. The
GBL bit determines whether or not the GBL∗ signal is asserted for all
portions of a transaction, and is fully independent of the PCI command
code and INV bit. Table 2-3 shows the relationship between PCI command
codes and the INV bit.
Table 2-3. MPC Transfer Types
PCI Command Code

INV

MPC Transfer Type

MPC Transfer Size

Memory Read
Memory Read Multiple
Memory Read Line

TT0-TT4

0

Read

Burst/Single Beat

01010

Memory Read
Memory Read Multiple
Memory Read Line

1

Read With Intent to
Modify

Burst/Single Beat

01110

Memory Write
Memory Write and
Invalidate

x

Write with Kill

Burst

00110

Memory Write
Memory Write and
Invalidate

x

Write with Flush

Single Beat

00010

The MPC master incorporates an optional operating mode called Bus Hog.
When Bus Hog is enabled, the MPC master will continually request the
MPC bus for the entire duration of each PCI transfer. When Bus Hog is not

http://www.motorola.com/computer/literature

2-9

Raven PCI Bridge ASIC

enabled, the MPC master will structure its bus request actions according to
the requirements of the FIFO. Use this mode with caution, since the overgenerosity of bus ownership to the MPC master can be detrimental to the
host CPU’s performance. The Bus Hog mode can be controlled by the
BHOG bit within the GCSR. The default state for BHOG is disabled.

2

MPC Arbiter
The MPC Arbiter is an optional feature in the Raven ASIC. It is not used
on MVME2300 series boards. Arbitration for the MPC bus on the
MVME2300 series is performed external to the Raven.
MPC Bus Timer
The MPC bus timer allows the current bus master to recover from a lockup condition resulting from no slave response to the transfer request.
The timeout duration of the bus timer is determined by the MBT field in
the Global Control/Status register.
The bus timer starts ticking at the beginning of an address transfer (TS∗
asserted). If the address transfer is not terminated (AACK∗ asserted)
before the timeout period has elapsed, the Raven will assert the MATO bit
in the MPC Error Status register, latch the MPC address in the MPC Error
Address register, and then terminate the cycle.
The MATO bit may be configured to generate an interrupt or a machine
check through the MEREN register.
The timer is disabled if the transfer is intended for PCI. PCI-bound
transfers will be timed by the PCI master.

PCI Interface
The Raven PCI interface is designed for direct connection to a PCI Local
Bus. It supports Master and Target transactions within Memory space, I/O
space, and Configuration space.

2-10

Computer Group Literature Center Web Site

Functional Description

The PCI interface may operate at any clock speed up to 33MHz. The
PCLK input must be externally synchronized with the MCLK input, and
the frequency of the PCLK input must be exactly half the frequency of the
MCLK input.
PCI Address Mapping
The Raven ASIC provides three resources to PCI:
❏

Configuration registers mapped into PCI Configuration space

❏

MPC bus address space mapped into PCI Memory space

❏

RavenMPIC control registers mapped into either PCI I/O space or
PCI Memory space

Configuration Registers
The Raven has no IDSEL pin. Instead, an internal connection made within
the Raven logically associates the assertion of IDSEL with the assertion of
AD31.
Raven provides a configuration space that is fully compliant with the PCI
Local Bus Specification 2.0 definition for configuration space. Two base
registers within the standard 64-byte header are used to control the
mapping of RavenMPIC. One register is dedicated to mapping
RavenMPIC into PCI I/O space; the other register is dedicated to mapping
RavenMPIC into PCI Memory space. The mapping of MPC address space
is handled by device-specific registers located above the 64-byte header.
These control registers support a mapping scheme that is functionally
similar to the PCI-to-MPC mapping scheme described in the section on
MPC Address Mapping earlier in this chapter.

http://www.motorola.com/computer/literature

2-11

2

Raven PCI Bridge ASIC

MPC Bus Address Space

2

The Raven will map MPC address space into PCI Memory space using
four programmable map decoders. The most significant 16 bits of the PCI
address are compared with the address range of each map decoder; if the
address falls within the specified range, the access is passed on to the MPC
bus. An example of this appears in Figure 2-4.

PCI Bus Address

8 0 8 0 1 2 3 4
31

Decode is

PSADDx Register

16

>=

15

and

0

<=

7 0 8 0 9 0 0 0
31

16

15

0

Figure 2-4. PCI to MPC Address Decoding
The Raven ASIC imposes no limits on how large an address space a map
decoder can represent. There is a minimum of 64KB due to the resolution
of the address compare logic.
For each map, there is an associated set of attributes. These attributes are
used to enable read accesses, enable write accesses, enable write-posting,
and define the MPC bus transfer characteristics.
Each map decoder also includes a programmable 16-bit address offset. The
offset is added to the 16 most significant bits of the PCI address, and the
result is used as the MPC address. This offset allows devices to reside at
any MPC address, independent of the PCI address map. An example of this
appears in Figure 2-5.

2-12

Computer Group Literature Center Web Site

Functional Description

2
PCI Bus Address

8 0 8 0 1 2 3 4
31

16

15

0

+

PSOFFx Register

9 0 0 0
31

16

=

MPC Bus Address

1 0 8 0 1 2 3 4
0

15

16

31

Figure 2-5. PCI to MPC Address Translation
All Raven address decoders are prioritized so that programming multiple
decoders to respond to the same address is not a problem. When the PCI
address falls into the range of more than one decoder, only the highest
priority one will respond. The decoders are prioritized as shown below.
Decoder
PCI Slave 0

Priority
highest

PCI Slave 1
PCI Slave 2
PCI Slave 3

lowest

RavenMPIC Control Registers
The RavenMPIC control registers are located within either PCI memory or
PCI I/O space using traditional PCI-defined base registers within the
predefined 64-byte header. Refer to the section on Raven Interrupt
Controller for more information.

http://www.motorola.com/computer/literature

2-13

Raven PCI Bridge ASIC

2

PCI Slave
The PCI slave provides the control logic needed to interface the PCI bus to
the Raven’s FIFO buffers. The PCI slave can accept either 32-bit or 64-bit
transactions, but it can accept only 32-bit addressing.
There is no limit to the length of the transfer that the slave can handle.
During posted write cycles, the slave will continue to accept write data
until the write-post FIFO is full. If the write-post FIFO is full, the slave will
hold off the master with wait states until there is more room in the FIFO.
The slave will not initiate a disconnect.
If the write transaction is compelled, the slave will hold off the master with
wait states while each beat of data is being transferred. The slave will
acknowledge the completion of the transfer only after the data transfer has
successfully completed on the MPC bus.
If a read transaction is occurring within an address space marked for
prefetching, the slave (in conjunction with the MPC master) will attempt
to read far enough ahead on the MPC bus to allow for an uninterrupted
burst transaction on the PCI bus. Read transactions within address spaces
marked for no prefetching will be acknowledged on the PCI bus only after
a single beat read has successfully completed on the MPC bus.
Each read on the MPC bus will begin only after the previous read has been
acknowledged on the PCI bus and there is an indication that the PCI master
wishes more data to be transferred.
The following paragraphs identify some associations between the
operation of the PCI slave and the requirements of the PCI 2.0 Local Bus
Specification.

2-14

Computer Group Literature Center Web Site

Functional Description

Command Types

2

Table 2-4 shows which types of PCI cycles the slave has been designed to
accept.
Table 2-4. Command Types — PCI Slave Response
Command Type

Slave Response?

Interrupt Acknowledge

No

Special Cycle

No

I/O Read

Yes

I/O Write

Yes

Reserved

No

Reserved

No

Memory Read

Yes

Memory Write

Yes

Reserved

No

Reserved

No

Configuration Read

Yes

Configuration Write

Yes

Memory Read Multiple

Yes

Dual Address Cycle

No

Memory Read Line

Yes

Memory Write and Invalidate

Yes

Addressing
The slave will accept any combination of byte enables during read or write
cycles. During write cycles, a discontinuity (i.e., a ‘hole’) in the byte
enables will force the slave to issue a disconnect. During all read cycles,
the slave will return an entire word of data regardless of the byte enables.
During I/O read cycles, the slave will perform integrity checking of the
byte enables against the address being presented and assert SERR∗ in the
event there is an error.

http://www.motorola.com/computer/literature

2-15

Raven PCI Bridge ASIC

The slave will honor only the Linear Incrementing addressing mode. The
slave will perform a disconnect with data if any other mode of addressing
is attempted.

2

Device Selection
The PCI slave will always respond to valid decoded cycles as a medium
responder.
Target-Initiated Termination
The PCI slave normally strives to complete transactions without issuing
disconnects or retries.
One exception is when the slave performs configuration cycles. All
configuration cycles are terminated with a disconnect after one data beat
has been transferred. Another exception is the issue of a disconnect when
asked to perform a transaction with byte enable ‘holes’.
Fast Back-to-Back Transactions
The PCI slave supports both of the fundamental target requirements for
fast back-to-back transactions. The PCI slave meets the first criteria of
being able to successfully track the state of the PCI bus without the
existence of an IDLE state between transactions. The second criteria,
associated with signal turn-around timing, is met by default since the slave
functions as a medium responder.
Latency
The PCI slave has no hardware mechanisms in place to guarantee that the
initial and subsequent target latency requirements are met. This is typically
not a problem, since the bandwidth of the MPC bus far exceeds the
bandwidth of the PCI bus. The Raven MPC arbiter has been designed to
give the highest priority to its own transactions, which further reduces PCI
bus latency.
Exclusive Access
The PCI slave has no mechanism to support exclusive access.

2-16

Computer Group Literature Center Web Site

Functional Description

Parity

2

The PCI slave supports address parity error detection, data parity
generation and data parity error detection.
Cache Support
The PCI slave does not participate in the PCI caching protocol.
PCI Write Posting
If write-posting is enabled, the Raven stores the target address, attributes,
and up to 128 bytes of data from one PCI write transaction and
immediately acknowledges the transaction on the PCI bus. This allows the
slower PCI to continue to transfer data at its maximum bandwidth, and the
faster MPC bus to accept data in high-performance cache-line burst
transfers.
Only one PCI transaction may be write-posted at any given time. If the
Raven is busy processing a previous write-posted transaction when a new
PCI transaction begins, the next PCI transaction is delayed (TRDY∗ is not
asserted) until the previous transaction has completed. If during a
transaction the write-post buffer is filled, subsequent PCI data transfers are
delayed (TRDY∗ is not asserted) until the Raven has removed some data
from the FIFO. Under normal conditions, the Raven should be able to
empty the FIFO faster than the PCI bus can fill it.
PCI Configuration cycles intended for internal Raven registers are also
delayed if the Raven is busy, so that control bits which may affect writeposting do not change until all write-posted transactions have completed.
PCI Master
The PCI master, in conjunction with the capabilities of the MPC slave, will
attempt to move data in either single-beat or four-beat (burst) transactions.
All single-beat transactions will be subdivided into one or two 32-bit
transfers, depending on the alignment and size of the transaction. The PCI
master will attempt to transfer all four-beat transactions in 64-bit mode if
the PCI bus has 64-bit mode enabled. If at any time during the transaction
the PCI target indicates that it cannot support 64-bit mode, the PCI master
will continue to transfer the remaining data in 32-bit mode.

http://www.motorola.com/computer/literature

2-17

Raven PCI Bridge ASIC

The PCI master can support Critical Word First (CWF) burst transfers. The
PCI master will divide this transaction into two parts. The first part will
start on the address presented with the CWF transfer request and continue
up to the end of the current cache line. The second transfer will start at the
beginning of the associated cache line and work its way up to (but not
including) the word addressed by the CWF request.

2

It should be noted that even though the master can support burst
transactions, a majority of the transaction types handled are single-beat
transfers. Since PCI space is typically not configured as cacheable, burst
transactions to PCI space would not naturally occur. Burst transactions
must be supported, however, since it is conceivable that bursting could
happen. For example, nothing prevents the processor from loading up a
cache line with PCI write data and manually flushing the cache line.
The following paragraphs identify some associations between the
operation of the PCI master and the requirements of the PCI 2.0 Local Bus
Specification.
Command Types
The PCI command codes generated by the PCI master depend on the type
of transaction being performed on the MPC bus. Please refer to the MPC
Slave section earlier in this chapter for a further description of MPC bus
read and MPC bus write transactions. Table 2-5 summarizes the command
types supported and shows how they are generated.
Table 2-5. PCI Master Command Codes
MPC
TBST∗ MEM
Transfer Type

Entity Addressed

C/BE

PCI Command

PIACK

Read

x

x

0000

Interrupt Acknowledge

CONADD/CONDAT

Write

x

x

0001

Special Cycle

MPC Mapped PCI Space

Read

x

0

0010

I/O Read

Write

x

0

0011

I/O Write

-- Unsupported --

0100

Reserved

-- Unsupported --

0101

Reserved

MPC Mapped PCI Space

2-18

Read

1

1

0110

Memory Read

Write

x

1

0111

Memory Write

Computer Group Literature Center Web Site

Functional Description

Table 2-5. PCI Master Command Codes (Continued)
MPC
TBST∗ MEM
Transfer Type

Entity Addressed

C/BE

2

PCI Command

-- Unsupported --

1000

Reserved

-- Unsupported --

1001

Reserved

CONADD/CONDAT

Read

x

x

1010

Configuration Read

CONADD/CONDAT

Write

x

x

1011

Configuration Write

-- Unsupported --

1100

Memory Read Multiple

-- Unsupported --

1101

Dual Address Cycle

1110

Memory Read Line

1111

Memory Write and
Invalidate

MPC Mapped PCI Space

Read

0

1

-- Unsupported --

Addressing
The PCI master will generate all memory transactions using the linear
incrementing addressing mode.
Combining, Merging, and Collapsing
The PCI master does not participate in any of these protocols.
Master Initiated Termination
The PCI master can handle any defined method of target retry, target
disconnect, or target abort. If the target responds with a retry, the PCI
master will wait for the required two clock periods and attempt the
transaction again. The attempts will continue indefinitely until the
transaction either completes, or is aborted by the target, or is aborted due
to a Raven-detected bridge lock. The same happens if the target responds
with a disconnect and there is still data to be transferred.
If the PCI master detects a target abort during a read, any untransferred
read data will be filled with 1s. If the PCI master detects a target abort
during a write, any untransferred portions of data will be dropped. The
same rule applies if the PCI master generates a Master Abort cycle.

http://www.motorola.com/computer/literature

2-19

Raven PCI Bridge ASIC

Arbitration

2

The PCI master can support parking on the PCI bus. If the PCI master starts
a transaction that is going to take more than one beat, the PCI master will
continuously assert its request until the transaction has completed. The one
exception is when the PCI master receives a disconnect or a retry.
Fast Back-to-Back Transactions
The PCI master does not generate fast back-to-back transactions.
Arbitration Latency
Because the bulk of the transactions on PCI are limited to single-beat
transfers, the PCI master does not implement a Master Latency timer.
Exclusive Access
The PCI master is not able to initiate exclusive access transactions.
Address/Data Stepping
The PCI master does not participate in the Address/Data Stepping
protocol.
Parity
The PCI master supports address parity generation, data parity generation,
and data parity error detection.
Cache Support
The PCI master does not participate in the PCI caching protocol.

2-20

Computer Group Literature Center Web Site

Functional Description

Generating PCI Cycles

2

Four basic types of bus cycles can be generated on the PCI bus:
❏

Memory and I/O

❏

Configuration

❏

Special Cycle

❏

Interrupt Acknowledge

Generating PCI Memory and I/O Cycles
Each programmable slave may be configured to generate PCI I/O or
memory accesses through the MEM and IOM fields in its Attribute register
as shown below.
:

MEM

IOM

PCI Cycle Type

1

x

Memory

0

0

Contiguous I/O

0

1

Spread I/O

If the MEM bit is set, the Raven will perform Memory addressing on the
PCI bus. The Raven will take the MPC bus address, apply the offset
specified in the MSOFFx register, and map the result directly to the PCI
bus.
The IBM CHRP specification describes two approaches for handling PCI
I/O addressing: contiguous or spread address modes. When the MEM bit
is cleared, the IOM bit is used to select between these two modes whenever
a PCI I/O cycle is to be performed.
The Raven will perform contiguous I/O addressing when the MEM bit is
clear and the IOM bit is clear. The Raven will take the MPC address, apply
the offset specified in the MSOFFx register, and map the result directly to
PCI.

http://www.motorola.com/computer/literature

2-21

Raven PCI Bridge ASIC

The Raven will perform spread I/O addressing when the MEM bit is clear
and the IOM bit is set. The Raven will take the MPC address, apply the
offset specified in the MSOFFx register, and map the result to PCI as
shown in Figure 2-6.

2

.

MPC Address + Offset
31

31

12 11

25 24

5 4

0

5 4

0

0 0
00 00 00 00 00 0
PCI Address
1915 9702

Figure 2-6. PCI Spread I/O Address Translation
Spread I/O addressing allows each PCI device’s I/O registers to reside on
a different MPC memory page, so device drivers can be protected from
each other using memory page protection.
All I/O accesses must be performed within natural word boundaries. Any
I/O access that is not contained within a natural word boundary will result
in unpredictable operation. For example, an I/O transfer of four bytes
starting at address $80000010 is considered a valid transfer. An I/O
transfer of four bytes starting at address $80000011 is considered an
invalid transfer since it crosses the natural word boundary at address
$80000013/$80000014.
Generating PCI Configuration Cycles
The Raven uses configuration mechanism #1 as defined in PCI Local Bus
Specification 2.0 to generate configuration cycles. Please refer to the
specification for a complete description of this function.

2-22

Computer Group Literature Center Web Site

Functional Description

Configuration mechanism #1 uses an address register/data register format.
Performing a configuration access is a two-step process. The first step is to
place the address of the configuration cycle within the
CONFIG_ADDRESS register. Note that this action does not generate any
cycles on the PCI bus. The second step is to either read or write
configuration data into the CONFIG_DATA register. If the
CONFIG_ADDRESS register has been set up correctly, the Raven will
pass this access on to the PCI bus as a configuration cycle.
The addresses of the CONFIG_ADDRESS and CONFIG_DATA registers
are actually embedded within PCI I/O space. If the CONFIG_ADDRESS
register has been set incorrectly or the access to either the
CONFIG_ADDRESS or CONFIG_DATA register is not 1,2, or 4 bytes
wide, the Raven will pass the access on to PCI as a normal I/O Space
transfer.
The CONFIG_ADDRESS register is located at offset $CF8 from the
bottom of PCI I/O space. The CONFIG_DATA register is located at offset
$CFC from the bottom of PCI I/O space. The Raven address decode logic
has been designed such that MSADD3 and MSOFF3 must be used for
mapping to PCI Configuration (consequently I/O) space. The
MSADD3/MSOFF3 register group is initialized at reset to allow PCI I/O
access starting at address $80000000. The powerup location (that is, littleendian disabled) of the CONFIG_ADDRESS register is $80000CF8, and
the CONFIG_DATA register is located at $80000CFC.
The CONFIG_ADDRESS register must be prefilled with four fields:
1. Register Number
2. Function Number
3. Device Number
4. Bus Number
The Register Number and Function Number are passed along to the PCI
bus as portions of the lower address bits.
When performing a configuration cycle, the Raven uses the upper 20
address bits as IDSEL lines. During the address phase of a configuration
cycle, only one of the upper address bits will be set. The device that has its

http://www.motorola.com/computer/literature

2-23

2

Raven PCI Bridge ASIC

IDSEL connected to the address bit being asserted will be selected for a
configuration cycle. The Raven decodes the Device Number to determine
which of the upper address lines to assert. The decoding of the five-bit
Device Number is show below:.

2

Device Number

Address Bit

00000

AD31

00001 - 01010

All Zeros

01011

AD11

01100

AD12

(etc.)

(etc.)

11101

AD29

11110

AD30

11111

All Zeros

The Bus Number determines which bus is the target for the configuration
read cycle. The Raven will always host PCI bus #0. Accesses that are to be
performed on the PCI bus connected to the Raven must have zero
programmed into the Bus Number. If the configuration access is targeted
for another PCI bus, then that bus number should be programmed into the
Bus Number field. The Raven will detect a nonzero field and convert the
transaction to a Type 1 Configuration cycle.
Generating PCI Special Cycles
The Raven supports the method stated in PCI Local Bus Specification 2.0
to generate special cycles using Configuration Mechanism #1. To prime
the Raven for a special cycle, the host processor must write a 32-bit value
to the CONFIG_ADDRESS register. The contents of the write are defined
later in this chapter under the CONFIG_ADDRESS register definition.
After the write to CONFIG_ADDRESS has been accomplished, the next
write to the CONFIG_DATA register causes the Raven to generate a
special cycle on the PCI bus. The write data is driven onto AD[31:0]
during the special cycle’s data phase.

2-24

Computer Group Literature Center Web Site

Functional Description

Generating PCI Interrupt Acknowledge Cycles

2

Performing a read from the PIACK register will initiate a single PCI
Interrupt Acknowledge cycle. Any single byte or combination of bytes
may be read from, and the actual byte enable pattern used during the read
will be passed on to the PCI bus. Upon completion of the PCI interrupt
acknowledge cycle, the Raven will present the resulting vector information
obtained from the PCI bus as read data.

Endian Conversion
The Raven ASIC supports both big- and little-endian data formats. Since
the PCI bus is inherently little-endian, conversion is necessary if all MPC
devices are configured for big-endian operation. The Raven may be
programmed to perform the endian conversion described below.
When MPC Devices are Big-Endian
When all MPC devices are operating in big-endian mode, all data to/from
the PCI bus must be swapped such that the PCI bus looks big-endian from
the MPC bus’s perspective. This association is true regardless of whether
the transaction originates on the PCI bus or the MPC bus. Figure 2-7
illustrates the concept.

http://www.motorola.com/computer/literature

2-25

Raven PCI Bridge ASIC

DL31-24
D7

PPC Bus

D7

D6

D5

D4

D3

D2

D1

D0

64-bit PCI

DL07-00

DL15-08

DL23-16

DL31-24

D3

D4

D5

D6

D7

D7

D6

D5

D4

32-bit PCI

D3

D2

D1

D0
AD07-00

DH31-24

D2

AD15-08

DH23-16

D1

AD23-16

DH15-08

D0

AD31-24

DH07-00

AD07-00

DL23-16
D6

AD15-08

DL15-08
D5

AD23-16

DL07-00
D4

AD31-24

DH31-24
D3

AD39-32

DH23-16
D2

AD47-40

DH15-08
D1

AD55-48

D0

AD63-56

DH07-00

.

2

PPC Bus

1916 9610

Figure 2-7. Big- to Little-Endian Data Swap

2-26

Computer Group Literature Center Web Site

Functional Description

When MPC Devices are Little-Endian

2

When all MPC devices are operating in little-endian mode, the originating
address is modified to remove the exclusive-ORing applied by MPC60x
processors before being passed on to the PCI bus. Note that no data
swapping is performed. Address modification happens to the originating
address regardless of whether the transaction originates from the PCI bus
or the MPC bus. The three low-order address bits are exclusive-ORed with
a three-bit value that depends on the length of the operand, as shown in
Table 2-6.
Table 2-6. Address Modification for Little-Endian Transfers

Note

Data
Length
(bytes)

Address
Modification

1

XOR with 111

2

XOR with 110

4

XOR with 100

8

No change

The only legal data lengths supported in little-endian mode
are 1-, 2-, 4-, or 8-byte aligned transfers.

Since there are some difficulties with this method in dealing with
unaligned PCI-originated transfers, the Raven MPC master will break up
all unaligned PCI transfers into multiple aligned PCI transfers into
multiple aligned transfers on the MPC bus.
Raven Registers and Endian Mode
The Raven ASIC’s registers are not sensitive to changes in big-endian and
little-endian mode. With respect to the MPC bus (but not always the
address internal to the processor), the MPC registers are always
represented in big-endian mode. This means that the processor’s internal
view of the MPC registers will vary depending on the processor’s
operating mode.

http://www.motorola.com/computer/literature

2-27

Raven PCI Bridge ASIC

With respect with the PCI bus, the RavenMPIC registers and the
configuration registers are always represented in little-endian mode.

2

The CONFIG_ADDRESS and CONFIG_DATA registers are actually
represented in PCI space to the processor and are subject to the endian
functions. For example, the powerup location of the CONFIG_ADDRESS
register with respect to the MPC bus is $80000CF8 when the Raven is in
big-endian mode. When the Raven is switched to little-endian mode, the
CONFIG_ADDRESS register with respect to the MPC bus is $80000CFC.
Note that in both cases the address generated internal to the processor will
be $80000CF8.
The contents of the CONFIG_ADDRESS register are not subject to the
endian function.
The data associated with PIACK accesses is subject to the endian
swapping function. Because the address of a PIACK cycle is undefined,
address modification during little-endian mode is not an issue.

Error Handling
The Raven is capable of detecting and reporting the following errors to one
or more MPC masters:
❏

MPC address bus time-out

❏

PCI master signalled master abort

❏

PCI master received target abort

❏

PCI parity error

❏

PCI system error

Each of these error conditions will set an error status bit in the MPC Error
Status register. If a second error is detected while any of the error bits is
set, the OVFL bit is asserted, but none of the error bits are changed. You
can clear each bit in the MPC Error Status register by writing a 1 to it;
writing a 0 to it has no effect. New error bits may be set only when all
previous error bits have been cleared.

2-28

Computer Group Literature Center Web Site

Functional Description

When any bit in the MPC Error Status register is set, the Raven ASIC will
attempt to latch as much information as possible about the error in the
MPC Error Address and Attribute registers. Information is saved as
follows:

Error Status

Error Address
and Attributes

MATO

From MPC bus

SMA

From PCI bus

RTA

From PCI bus

PERR

Invalid

SERR

Invalid

Each MERST error bit may be programmed to generate a machine check
and/or a standard interrupt. The error response is programmed through the
MPC Error Enable register on a source-by-source basis. When a machine
check is enabled, either the MID field in the MPC Error Attribute register
or the DFLT bit in the MEREN register determine the master to which the
machine check is directed. For errors in which the master that originated
the transaction can be determined, the MID field is used, provided the MID
is%00 (processor 0), %01 (processor 1), or %10 (processor 2). For errors
not associated with a particular MPC master, or associated with masters
other than processor 0, 1, or 2, the DFLT bit is used. One example of an
error condition which cannot be associated with a particular MPC master
would be a PCI system error.

Transaction Ordering
The Raven ASIC supports transaction ordering with an optional FIFO
flushing option. The FLBRD (Flush Before Read) bit within the GCSR
register controls the flushing of PCI write-posted data when performing
MPC-originated read transactions.

http://www.motorola.com/computer/literature

2-29

2

Raven PCI Bridge ASIC

When the FLBRD bit is set, Raven will handle read transactions
originating from the MPC bus in the following manner:

2

❏

Write-posted transactions originating from the processor bus are
flushed by the nature of the FIFO architecture. The Raven will hold
the processor with wait states until the PCI-bound FIFO is empty.

❏

Write-posted transactions originating from the PCI bus are flushed
whenever the PCI slave has accepted a write-posted transaction and
the transaction has not completed on the MPC bus.

Raven Registers
This section provides a detailed description of all registers in the Raven
ASIC. The registers are organized in two groups: MPC registers and PCI
Configuration registers. The MPC registers are accessible only from the
MPC bus, but accept any valid transfer size. The PCI Configuration
registers reside in PCI configuration space. They are accessible from the
MPC bus through the Raven ASIC.
The MPC registers are described first; the PCI Configuration registers are
described next. A complete discussion of the RavenMPIC registers can be
found later in this chapter.
The following conventions are used in the Raven register charts:
❏

R

Read Only field.

❏

R/W

Read/Write field.

❏

S

Writing a ONE to this field sets this field.

❏

C

Writing a ONE to this field clears this field.

MPC Registers
The Raven MPC register map is shown in Table 2-7.
2Raven PCI Bridge ASIC
0Raven Registers

2-30

Computer Group Literature Center Web Site

Raven Registers

2

Table 2-7. Raven MPC Register Map
Bit --->
$FEFF0000

1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
VENID

$FEFF0004
$FEFF0008

DEVID
REVID

GCSR

FEAT

$FEFF000C

MARB

$FEFF0010

PADJ

$FEFF0014
$FEFF0018
$FEFF001C
$FEFF0020

MEREN

$FEFF0024

MERST

$FEFF0028

MERAD

$FEFF002C

MERAT

$FEFF0030

PIACK

$FEFF0034
$FEFF0038
$FEFF003C
$FEFF0040
$FEFF0044

MSADD0
MSOFF0

$FEFF0048
$FEFF004C

MSADD1
MSOFF1

$FEFF0050
$FEFF0054

MSATT1
MSADD2

MSOFF2

$FEFF0058
$FEFF005C

MSATT0

MSATT2
MSADD3

MSOFF3

http://www.motorola.com/computer/literature

MSATT3

2-31

Raven PCI Bridge ASIC

Table 2-7. Raven MPC Register Map (Continued)

2
Bit --->

1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

$FEFF0060
$FEFF0064
$FFEF0068
$FEFF006C
$FEFF0070

GPREG0(Upper)

$FEFF0074

GPREG0(Lower)

$FEFF078

GPREG1(Upper)

$FEFF07C

GPREG1(Lower)

Vendor ID/Device ID Registers
Address
Bit
Name

$FEFF0000
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
VENID

DEVID

R

R

$1057

$4801

Operation
Reset

2-32

VENID

Vendor ID. Identifies the manufacturer of the device. The
identifier is allocated by the PCI SIG to ensure
uniqueness. $1057 has been assigned to Motorola. This
register is duplicated in the PCI Configuration registers.

DEVID

Device ID. Identifies this particular device. The Raven
will always return $4801. This register is duplicated in the
PCI Configuration registers.

Computer Group Literature Center Web Site

Raven Registers

Revision ID Register

2

Address
Bit

$FEFF0004
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Name

REVID

Operation
Reset

R

R

R

R

$00

$02

$00

$00

REVID

Revision ID. Identifies the Raven revision level. This
register is duplicated in the PCI Configuration registers.

General Control-Status/Feature Registers
Address
Bit

$FEFF0008
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Name

GCSR

FEAT

0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

Reset

EXT00 R
EXT01 R
EXT02 R
EXT03 R
EXT04 R
EXT05 R
EXT06 R
EXT07 R
EXT08 R
EXT09 R
EXT10 R
EXT11 R
EXT12 R
EXT13 R
EXT14 R
R
MID0
R
MID1
R
R
R
R
MPIC
R
MARB R
P64
R
MBT0 R/W
MBT1 R/W
FLBRD R/W
BHOG R/W
R
R
R
R/W

LEND

Operation

LEND

Endian Select. If set, the MPC bus is operating in littleendian mode. The MPC address will be modified as
described in the When MPC Devices are Little-Endian
section. When LEND is clear, the MPC bus is operating in
big-endian mode, and all data to/from PCI is swapped as
described in the When MPC Devices are Big-Endian
section.

http://www.motorola.com/computer/literature

2-33

Raven PCI Bridge ASIC

2

FLBRD

Flush Before Read. If set, the Raven will guarantee that
all PCI-initiated posted write transactions will complete
before any MPC-initiated read transactions are allowed to
complete. When FLBRD is clear, there is no correlation
between these transaction types and their order of
completion. Please refer to the Transaction Ordering
section for more information.

BHOG

Bus Hog. If set, the Raven MPC master will operate in the
Bus Hog mode. Bus Hog mode means the MPC master
will continually request the MPC bus for the entire
duration of each PCI transfer. If Bus Hog is not enabled,
the MPC master will request the bus in a normal manner.
Please refer to the MPC Master section for more
information.

MBTx

MPC Bus Time-out. Specifies the MPC bus time-out
length. The time-out length is encoded as follows:
MBT

2-34

Time-Out Length

00

256 µsec

01

64 µsec

10

8 µsec

11

Disabled

P64

64-bit PCI Mode Enable. If set, the Raven is connected
to a 64-bit PCI bus. This bit is set if REQ64∗ is asserted
on the rising edge of RESET∗.

MARB

MPC Arbiter Enable. If set, the Raven internal MPC
Arbiter is enabled. This bit is set if CPUID is %111 on the
rising edge of RESET∗.

MPIC

Multi-Processor Interrupt Controller Enable. If set,
the Raven internal MPIC interrupt controller is enabled.
This bit is set if EXT15 is high on the rising edge of
RESET∗. If cleared, Raven-detected errors are passed on
to the processor 0 INT pin.

Computer Group Literature Center Web Site

Raven Registers

MIDx

Master ID. Encoded as shown below to indicate who is
currently the MPC bus master. When the internal MPC
arbiter is enabled (MARB is set), these bits are controlled
by the internal arbiter. When the internal arbiter is
disabled (MARB is clear) these bits reflect the status of
the CPUID pins. In a multi- processor environment, these
bits allow software to determine on which processor it is
currently running. The internal MPC arbiter encodes this
field as follows:

.

FEAT

MID

Current MPC Data Bus Master

00

Device on ABG0*

01

Device on ABG1*

10

Device on ABG2

11

Raven

Feature Register. Each bit in this register reflects the
state of one of the external interrupt input pins on the
rising edge of RESET∗. This register may be used to
report hardware configuration parameters to system
software.

http://www.motorola.com/computer/literature

2-35

2

Raven PCI Bridge ASIC

2

MPC Arbiter Control Register
Address
Bit

$FEFF000C
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Name

R

$00

$00

1
1
0
0
1
0
0
0
1
1
1
0
0
0
0
0

Reset

R

DEFM0 R/W
DEFM1 R/W
R
R
BAMD R/W
GLMD R/W
PKMD R/W
PKEN
R/W
BREN0 R/W
BREN1 R/W
BREN2 R/W
R
R
R
R
R

Operation

MARB

This register is not used in MVME2300 series boards.
Prescaler Adjust Register
Address
Bit

$FEFF0010
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Name
Operation
Reset

PADJ
R

R

R

R/W

$00

$00

$00

$B4

PADJ

Prescaler Adjust. Used to specify a scale factor for the
prescaler to ensure that the time base for the bus timer is
1 MHz. The scale factor is calculated as follows:
PADJ = 256 - Clk,
where Clk is the frequency of the CLK input in MHz. This
register should be written with the value $BE, indicating
a 66MHz MPC bus.

2-36

Computer Group Literature Center Web Site

Raven Registers

MPC Error Enable Register

2

Address
Bit

$FEFF0020
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Name

Reset

R

R

$00

$00

DFLT

RTAI
R/W 0
SMAI
R/W 0
SERRI
R/W 0
PERRI
R/W 0
R
0
MATOII R/W 0
R
0
R
0
RTAM
R/W 0
SMAM
R/W 0
SERRM R/W 0
PERRM R/W 0
R
0
MATOM R/W 0
DFLT
R/W 0
R
0

Operation

MEREN

Default MPC Master ID. This bit determines which
MCHK∗ pin will be asserted for error conditions in which
the MPC master ID cannot be determined or the Raven
was the MPC master. For example, in event of a PCI
parity error for a transaction in which the Raven’s PCI
master was not involved, the MPC master ID cannot be
determined. When DFLT is set, MCHK1∗ is used. When
DFLT is clear, MCHK0∗ is used.

MATOM MPC Address Bus Time-out Machine Check Enable.
When this bit is set, the MATO bit in the MERST register
is used to assert the MCHK output to the current address
bus master. When this bit is clear, MCHK is not asserted.
PERRM

PCI Parity Error Machine Check Enable. When this
bit is set, the PERR bit in the MERST register is used to
assert the MCHK output to bus master 0. When this bit is
clear, MCHK is not asserted.

SERRM

PCI System Error Machine Check Enable. When this
bit is set, the SERR bit in the MERST register is used to
assert the MCHK output to bus master 0. When this bit is
clear, MCHK is not asserted.

http://www.motorola.com/computer/literature

2-37

Raven PCI Bridge ASIC

2

2-38

SMAM

PCI Signalled Master Abort Machine Check Enable.
When this bit is set, the SMA bit in the MERST register is
used to assert the MCHK output to the bus master which
initiated the transaction. When this bit is clear, MCHK is
not asserted.

RTAM

PCI Master Received Target Abort Machine Check
Enable.When this bit is set, the RTA bit in the MERST
register is used to assert the MCHK output to the bus
master which initiated the transaction. When this bit is
clear, MCHK is not asserted.

MATOI

MPC Address Bus Time-out Interrupt Enable.When
this bit is set, the MATO bit in the MERST register is used
to assert an interrupt through the MPIC interrupt
controller. When this bit is clear, no interrupt is asserted.

PERRI

PCI Parity Error Interrupt Enable.When this bit is set,
the PERR bit in the MERST register is used to assert an
interrupt through the MPIC interrupt controller. When this
bit is clear, no interrupt is asserted.

SERRI

PCI System Error Interrupt Enable.When this bit is
set, the PERR bit in the MERST register is used to assert
an interrupt through the MPIC interrupt controller. When
this bit is clear, no interrupt is asserted.

SMAI

PCI Master Signalled Master Abort Interrupt
Enable.When this bit is set, the SMA bit in the MERST
register is used to assert an interrupt through the MPIC
interrupt controller. When this bit is clear, no interrupt is
asserted.

RTAI

PCI Master Received Target Abort Interrupt
Enable.When this bit is set, the RTA bit in the MERST
register is used to assert an interrupt through the MPIC
interrupt controller. When this bit is clear, no interrupt is
asserted.

Computer Group Literature Center Web Site

Raven Registers

MPC Error Status Register

2

Address
Bit

$FEFF0024
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Name

MERST

R

R

$00

$00

$00

0
0
0
0
0
0
0
0

Reset

R

RTA
R/C
SMA
R/C
SERR R/C
PERR R/C
R
MATO R/C
R
R/C

OVF

Operation

OVF

Error Status Overflow. This bit is set when an error is
detected and any of the error status bits are already set.
The bit may be cleared by writing a 1 to it; writing a 0 to
it has no effect.

MATO

MPC Address bus Time-Out. This bit is set when the
MPC address bus timer times out. The bit may be cleared
by writing it to a 1; writing it to a 0 has no effect. When
the MATOM bit in the MEREN register is set, the
assertion of this bit will assert MCHK to the master
designated by the MID field in the MERAT register. When
the MATOI bit in the MEREN register is set, the assertion
of this bit will assert an interrupt through the MPIC
interrupt controller.

PERR

PCI Parity Error. This bit is set when the PCI PERR∗ pin
is asserted. The bit may be cleared by writing it to a 1;
writing it to a 0 has no effect. When the PERRM bit in the
MEREN register is set, the assertion of this bit will assert
MCHK to the master designated by the DFLT bit in the
MERAT register. When the PERRI bit in the MEREN
register is set, the assertion of this bit will assert an
interrupt through the MPIC interrupt controller.

http://www.motorola.com/computer/literature

2-39

Raven PCI Bridge ASIC

2

SERR

PCI System Error. This bit is set when the PCI SERR∗
pin is asserted. The bit may be cleared by writing it to a 1;
writing it to a 0 has no effect. When the SERRM bit in the
MEREN register is set, the assertion of this bit will assert
MCHK to the master designated by the DFLT bit in the
MERAT register. When the SERRI bit in the MEREN
register is set, the assertion of this bit will assert an
interrupt through the MPIC interrupt controller.

SMA

PCI Master Signalled Master Abort. This bit is set
when the PCI master signals master abort to terminate a
PCI transaction. The bit may be cleared by writing it to a
1; writing it to a 0 has no effect. When the SMAM bit in
the MEREN register is set, the assertion of this bit will
assert MCHK to the master designated by the MID field
in the MERAT register. When the SMAI bit in the
MEREN register is set, the assertion of this bit will assert
an interrupt through the MPIC interrupt controller.

RTA

PCI Master Received Target Abort. This bit is set when
the PCI master receives target abort to terminate a PCI
transaction. The bit may be cleared by writing it to a 1;
writing it to a 0 has no effect. When the RTAM bit in the
MEREN register is set, the assertion of this bit will assert
MCHK to the master designated by the MID field in the
MERAT register. When the RTAI bit in the MEREN
register is set, the assertion of this bit will assert an
interrupt through the MPIC interrupt controller.

MPC Error Address Register
Address
Bit
Name
Operation
Reset

2-40

$FEFF0028
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
MERAD
R
$00000000

Computer Group Literature Center Web Site

Raven Registers

MERAD

MPC Error Address. This register captures the MPC
address when the MATO bit is set in the MERST register.
It captures the PCI address when the SMA or RTA bits are
set in the MERST register. Its contents are not defined
when the PERR or SERR bits are set in the MERST
register.

MPC Error Attribute Register - MERAT
If the PERR or SERR bits are set in the MERST register, the contents of
the MERAT register are zero. If the MATO bit is set, the register is defined
by the following figure:
Address
Bit

$FEFF002C
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Name

R

$00

$00

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

Reset

R

TT4
R
TT3
R
TT2
R
TT1
R
TT0
R
TSIZ2 R
TSIZ1 R
TSIZ0 R
TBST R
R
R
R
MID0 R
MID1 R
R
R

Operation

MERAT

MIDx

MPC Master ID. Contains the ID of the MPC master
which originated the transfer in which the error occurred.
The encoding scheme is identical to that used in the GCSR
register.

TBST

Transfer Burst. This bit is set when the transfer in which
the error occurred was a burst transfer.

TSIZx

Transfer Size. Contains the transfer size of the MPC
transfer in which the error occurred.

TTx

Transfer Type. Contains the transfer type of the MPC
transfer in which the error occurred.

http://www.motorola.com/computer/literature

2-41

2

Raven PCI Bridge ASIC

If the SMA or RTA bits are set, the register is defined by the following
figure:

2
Address
Bit

$FEFF002C
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Name

MERAT

$00

$00

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2-42

R

R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R

Reset

R

BYTE0
BYTE1
BYTE2
BYTE3
BYTE4
BYTE5
BYTE6
BYTE7
COMM0
COMM1
COMM2
COMM3
MID0
MID1

WP

Operation

WP

Write-Post Completion. This bit is set when the PCI
master detects an error while completing a write-post
transfer.

MIDx

MPC Master ID. Contains the ID of the MPC master
which originated the transfer in which the error occurred.
The encoding scheme is identical to that used in the GCSR
register

COMMx

PCI Command. Contains the PCI command of the PCI
transfer in which the error occurred.

BYTEx

PCI Byte Enable. Contains the PCI byte enables of the
PCI transfer in which the error occurred. A set bit
designates a selected byte.

Computer Group Literature Center Web Site

Raven Registers

PCI Interrupt Acknowledge Register
Address
Bit

2
$FEFF0030

1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Name

PIACK

Operation

R

Reset

$00000000

PIACK

PCI Interrupt Acknowledge. Performing a read from
this register will initiate a single PCI Interrupt
Acknowledge cycle. Any single byte or combination of
bytes may be read from, and the actual byte enable pattern
used during the read will be passed on to the PCI bus.
Upon completion of the PCI interrupt acknowledge cycle,
the Raven will present the resulting vector information
obtained from the PCI bus as read data.

MPC Slave Address (0,1 and 2) Registers
Address

Bit

MSADD0 - $FEFF0040
MSADD1 - $FEFF0048
MSADD2 - $FEFF0050
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Name

Operation
Reset

MSADDx
START

END

R/W

R/W

$0000

$0000

To initiate a PCI cycle from the MPC bus, the MPC address must be
greater than or equal to the START field and less than or equal to the END
field.

http://www.motorola.com/computer/literature

2-43

Raven PCI Bridge ASIC

2

START

Start Address. Determines the start address of a
particular memory area on the MPC bus which will be
used to access PCI bus resources. The value of this field
will be compared with the upper 16 bits of the incoming
MPC address.

END

End Address. Determines the end address of a particular
memory area on the MPC bus which will be used to access
PCI bus resources. The value of this field will be
compared with the upper 16 bits of the incoming MPC
address.

MPC Slave Address (3) Register
Address
Bit

MSADD3 - $FEFF0058
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Name

Operation
Reset

MSADD3
START

END

R/W

R/W

$8000

$8080

MSADD3, MSOFF3 and MSATT3 represent the only register group
which can be used to initiate access to the PCI Configuration Address
($80000CF8) and Configuration Data ($80000CFC) registers. Note that
this implies that MSxxx3 also represents the generation of PCI Special
Cycles. The power-up default values of MSADD3, MSOFF3 and
MSATT3 are set to allow access to PCI configuration space without MPC
register initialization. For additional information, please refer to the
description of the MSOFF3/MSATT3 registers under MPC Slave
Offset/Attribute (3) Registers.
To initiate a PCI cycle from the MPC bus, the MPC address must be
greater than or equal to the START field and less than or equal to the END
field.

2-44

Computer Group Literature Center Web Site

Raven Registers

START

Start Address. Determines the start address of a
particular memory area on the MPC bus which will be
used to access PCI bus resources. The value of this field
will be compared with the upper 16 bits of the incoming
MPC address.

END

End Address. Determines the end address of a particular
memory area on the MPC bus which will be used to access
PCI bus resources. The value of this field will be
compared with the upper 16 bits of the incoming MPC
address.

MPC Slave Offset/Attribute (0,1 and 2) Registers
Address

Bit

MSOFF0/MSATT0 - $FEFF0044
MSOFF1/MSATT1 - $FEFF004C
MSOFF2/MSATT2 - $FEFF0054
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Name

MSOFFx

MSATTx

R

$0000

$00

0
0
0
0
0
0
0
0

Reset

R/W

IOM
R/W
MEM R/W
R
R
WPEN R/W
R
R/W
R/W

WEN
REN

Operation

MSOFFx MPC Slave Offset. A 16-bit offset that is added to the
upper 16 bits of the MPC address to determine the PCI
address used for transfers from the MPC bus to PCI. This
offset allows PCI resources to reside at addresses that
would not normally be visible from the MPC bus.
REN

Read Enable. If set, the corresponding MPC slave is
enabled for read transactions.

WEN

Write Enable. If set, the corresponding MPC slave is
enabled for write transactions.

http://www.motorola.com/computer/literature

2-45

2

Raven PCI Bridge ASIC

2

WPEN

Write-Post Enable. If set, write-posting is enabled for the
corresponding MPC slave.

MEM

PCI Memory Cycle. If set, the corresponding MPC slave
will generate transfers to or from PCI memory space.
When clear, the corresponding MPC slave will generate
transfers to or from PCI I/O space using the addressing
mode defined by the IOM field.

IOM

PCI I/O Mode. If set, the corresponding MPC slave will
generate PCI I/O cycles using spread addressing as
defined in the section on Generating PCI Memory and I/O
Cycles. When clear, the corresponding MPC slave will
generate PCI I/O cycles using contiguous addressing.
This field only has meaning when the MEM bit is clear.

MPC Slave Offset/Attribute (3) Registers
Address
Bit
Name

MSOFF3/MSATT3 - $FEFF005C
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
MSOFF3

MSATT3

R

$8000

$00

0
0
0
0
0
0
1
1

Reset

R/W

IOM
R/W
R
R
R
WPEN R/W
R
R/W
R/W

WEN
REN

Operation

MSOFF3 MPC Slave Offset. Contains a 16-bit offset that is added
to the upper 16 bits of the MPC address to determine the
PCI address used for transfers from the MPC bus to PCI.
This offset allows PCI resources to reside at addresses that
would not normally be visible from the MPC bus. It is
initialized to $8000 to facilitate a zero-based access to PCI
space.

2-46

Computer Group Literature Center Web Site

Raven Registers

REN

Read Enable. If set, the corresponding MPC slave is
enabled for read transactions.

WEN

Write Enable. If set, the corresponding MPC slave is
enabled for write transactions.

WPEN

Write-Post Enable. If set, write-posting is enabled for the
corresponding MPC slave.

IOM

PCI I/O Mode. If set, the corresponding MPC slave will
generate PCI I/O cycles using spread addressing as
defined in the section on Generating PCI Memory and I/O
Cycles. When clear, the corresponding MPC slave will
generate PCI I/O cycles using contiguous addressing.

2

General-Purpose Registers
Address

Bit

GPREG0 (Upper) - $FEFF0070
GPREG0 (Lower) - $FEFF0074
GPREG1 (Upper) - $FEFF0078
GPREG1 (Lower) - $FEFF007C
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Name

GPREGx

Operation

R/W

Reset

$00000000

These general-purpose read/write registers are provided for inter-process
message passing or general-purpose storage. They do not control any
hardware.

PCI Registers
The PCI Configuration registers are compliant with the configuration
register set described in the PCI Local Bus Specification, Revision 2.0.
The CONFIG_ADDRESS and CONFIG_DATA registers described in
this section are accessed within PCI I/O space.

http://www.motorola.com/computer/literature

2-47

Raven PCI Bridge ASIC

All write operations to reserved registers will be treated as no-ops. That is,
the access will be completed normally on the bus and the data will be
discarded. Read accesses to reserved or unimplemented registers will be
completed normally and a data value of 0 returned.

2

The Raven PCI Configuration Register map appears in Table 2-8. The
Raven PCI I/O Register map appears in Table 2-9.
Table 2-8. Raven PCI Configuration Register Map
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

<--- Bit

DEVID

VENID

$00

PSTAT

PCOMM

$04

CLASS

REVID

$08
$0C

IOBASE

$10

MEMBASE

$14
$18 - $7F

PSADD0
PSOFF0

$80
PSATT0

PSADD1
PSOFF1

$88
PSATT1

PSADD2
PSOFF2

2-48

$8C
$90

PSATT2
PSADD3

PSOFF3

$84

$94
$98

PSATT3

$9C

Computer Group Literature Center Web Site

Raven Registers

Table 2-9. Raven PCI I/O Register Map

2

3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

<--- Bit

CONFIG_ADDRESS

$CF8

CONFIG_DATA

$CFC

Vendor ID/ Device ID Registers
Offset
Bit
Name

$00
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
DEVID

VENID

R

R

$4801

$1057

Operation
Reset

VENID

Vendor ID. Identifies the manufacturer of the device.
This identifier is allocated by the PCI SIG to ensure
uniqueness. $1057 has been assigned to Motorola. This
register is duplicated in the MPC registers.

DEVID

Device ID. Identifies the particular device. The Raven
will always return $4801. This register is duplicated in the
MPC registers.

http://www.motorola.com/computer/literature

2-49

Raven PCI Bridge ASIC

2

PCI Command/ Status Registers
Offset
Bit

$04
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

PSTAT

PCOMM
IOSP
MEMSP
MSTR

PERR

SERR

FAST
DPAR
SELTIM0
SELTIM1
SIGTA
RCVTA
RCVMA
SIGSE
RCVPE

Operation

R/W
R/W
R/W
R
R
R
R/W
R
R/W
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R/C
R
R
R/C
R/C
R/C
R/C
R/C

Reset

0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0

2-50

IOSP

IO Space Enable. If set, the Raven will respond to PCI
I/O accesses when appropriate. If cleared, the Raven will
not respond to PCI I/O space accesses.

MEMSP

Memory Space Enable. If set, the Raven will respond to
PCI memory space accesses when appropriate. If cleared,
the Raven will not respond to PCI memory space
accesses.

MSTR

Bus Master Enable. If set, the Raven may act as a master
on PCI. If cleared, the Raven may not act as a PCI master.

PERR

Parity Error Response. If set, the Raven will check
parity on all PCI transfers. If cleared, the Raven will
ignore any parity errors that it detects and will continue
normal operation.

SERR

System Error Enable. This bit enables the SERR∗ output
pin. If clear, the Raven will never drive SERR∗. If set, the
Raven will drive SERR∗ active when a system error is
detected.

FAST

Fast Back-to-Back Capable. This bit indicates that the
Raven is capable of accepting fast back-to-back
transactions with different targets.

Computer Group Literature Center Web Site

Raven Registers

DPAR

Data Parity Detected. This bit is set when three
conditions are met: 1) the Raven asserted PERR∗ itself or
observed PERR∗ asserted; 2) the Raven was the PCI
master for the transfer in which the error occurred; 3) the
PERR bit in the PCI Command register is set. This bit is
cleared by writing it to 1; writing a 0 has no effect.

SELTIM

DEVSEL Timing. This field indicates that the Raven will
always assert DEVSEL∗ as a ‘medium’ responder.

SIGTA

Signalled Target Abort. This bit is set by the PCI slave
whenever it terminates a transaction with a target-abort.
The bit is cleared by writing it to 1; writing a 0 has no
effect.

RCVTA

Received Target Abort. This bit is set by the PCI master
whenever its transaction is terminated by a target-abort.
The bit is cleared by writing it to 1; writing a 0 has no
effect.

RCVMA

Received Master Abort. This bit is set by the PCI master
whenever its transaction (except for Special Cycles) is
terminated by a master-abort. The bit is cleared by writing
it to 1; writing a 0 has no effect.

SIGSE

Signaled System Error. This bit is set whenever the
Raven asserts SERR∗. The bit is cleared by writing it to 1;
writing a 0 has no effect.

RCVPE

Detected Parity Error. This bit is set whenever the
Raven detects a parity error, even if parity error checking
is disabled (see bit PERR in the PCI Command register).
The bit is cleared by writing it to 1; writing a 0 has no
effect.

http://www.motorola.com/computer/literature

2-51

2

Raven PCI Bridge ASIC

2

Revision ID/ Class Code Registers
Offset
Bit

$08
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name
Operation
Reset

CLASS

REVID

R

R

$060000

$02

REVID

Revision ID. Identifies the Raven revision level. This
register is duplicated in the MPC registers.

CLASS

Class Code. Identifies the Raven as follows:
Base Class Code
Subclass Code
Program Class Code

$06
$00
$00

PCI Bridge Device
PCI Host Bridge
Not Used

I/O Base Register
Offset
Bit

$10
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

IOBASE

Reset

R/W

R

$0000

$0000

1
0

Operation

IO/MEM R
RES
R

IOBA

This register controls the mapping of the MPIC control registers in PCI I/O
space.
IO/MEM IO Space Indicator. This bit is hard-wired to a logic 1 to
indicate PCI I/O space.

2-52

Computer Group Literature Center Web Site

Raven Registers

RES

Reserved. This bit is hard-wired to 0.

IOBA

I/O Base Address. These bits define the I/O space base
address of the MPIC control registers. The IOBASE
decoder is disabled when the IOBASE value is zero.

2

Memory Base Register
Offset
Bit

$14
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

MEMBASE

R

$0000

$0000

0
0
0
0

Reset

R/W

R
R
R
R

Operation

IO/MEM
MTYP0
MTYP1
PRE

MEMBA

This register controls the mapping of the MPIC control registers in PCI
memory space.
IO/MEM IO Space Indicator. This bit is hard-wired to a logic 0 to
indicate PCI memory space.
MTYPx

Memory Type. These bits are hard-wired to 0 to indicate
that the MPIC registers can be located anywhere in the 32bit address space

PRE

Prefetch. This bit is hard-wired to 0 to indicate that the
MPIC registers are not prefetchable.

MEMBA Memory Base Address. These bits define the memory
space base address of the MPIC control registers. The
MBASE decoder is disabled when the MBASE value is
zero.

http://www.motorola.com/computer/literature

2-53

Raven PCI Bridge ASIC

2

PCI Slave Address (0,1,2 and 3) Registers
Offset

Bit

PSADD0 - $80
PSADD1 - $88
PSADD2 - $90
PSADD3 - $98
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

PSADDx
START

END

R/W

R/W

$0000

$0000

Operation
Reset

To initiate an MPC cycle from the PCI bus, the PCI address must be greater
than or equal to the START field and less than or equal to the END field.

2-54

START

Start Address. Determines the start address of a
particular memory area on the PCI bus which will be used
to access MPC bus resources. The value of this field will
be compared with the upper 16 bits of the incoming PCI
address.

END

End Address. Determines the end address of a particular
memory area on the PCI bus which will be used to access
MPC bus resources. The value of this field will be
compared with the upper 16 bits of the incoming PCI
address.

Computer Group Literature Center Web Site

Raven Registers

PCI Slave Attribute/ Offset (0,1,2 and 3) Registers
Offset

Bit

2

PSATT0/PSOFF0 - $84
PSATT1/PSOFF1 - $8C
PSATT2/PSOFF2 - $94
PSATT3/PSOFF3 - $9C
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

PSOFFx

PSATTx

R/W

R

R/W
R/W
R
R
R/W
R/W
R/W
R/w

$0000

$00

0
0
0
0
0
0
0
0

Reset

INV
GBL

RAEN
WPEN
WEN
REN

Operation

INV

Invalidate Enable. If set, the MPC master will issue a
transfer type code which specifies the current transaction
should cause an invalidate for each MPC transaction
originated by the corresponding PCI slave. The transfer
type codes generated are shown in Table 2-3.

GBL

Global Enable. If set, the MPC master will assert the
GBL∗ pin for each MPC transaction originated by the
corresponding PCI slave.

RAEN

Read Ahead Enable. If set, read-ahead is enabled for the
corresponding PCI slave.

WPEN

Write-Post Enable. If set, write-posting is enabled for the
corresponding PCI slave.

WEN

Write Enable. If set, the corresponding PCI slave is
enabled for write transactions.

REN

Read Enable. If set, the corresponding PCI slave is
enabled for read transactions.

PSOFFx

PCI Slave Offset. Contains a 16-bit offset that is added to
the upper 16 bits of the PCI address to determine the MPC
address used for transfers from PCI to the MPC bus. This
offset allows MPC resources to reside at addresses that
would not normally be visible from PCI.

http://www.motorola.com/computer/literature

2-55

Raven PCI Bridge ASIC

2

CONFIG_ADDRESS Register
The description of the CONFIG_ADDRESS register is presented in three
perspectives: from the PCI bus, from the MPC bus in big-endian mode, and
from the MPC bus in little-endian mode. Note that the view from the PCI
bus is purely conceptual, since there is no way to access the
CONFIG_ADDRESS register from the PCI bus.
Conceptual perspective from the PCI bus
Offset
Bit
Name

EN

$CFB
$CFA
$CF9
$CF8
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CONFIG_ADDRESS
FUN
BUS
DEV
REG
R/W

R/W

R/W

$00

$00

$00

$0

$00

0
0

R/W

R
R

R

1

Reset

R/W

Operation

Perspective from the MPC bus in Big-Endian mode
Offset
Bit (DH)
Name

$CF8

EN

$CF9
$CFA
$CFB
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
CONFIG_ADDRESS
FUN
BUS
REG
DEV

2-56

R/W

$00

$0

$00

R

1

$00

R/W

R/W

Reset

R/W

0
0

R/W

R
R

Operation

$00

Computer Group Literature Center Web Site

Raven Registers

Perspective from the MPC bus in Little-Endian mode
Offset
Bit (DL)
Name

$CFC

EN

$CFD
$CFE
$CFF
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
CONFIG_ADDRESS
FUN
BUS
DEV
REG
R

R/W

R/W

R/W

R/W

R
R

1

$00

$00

$00

$0

$00

0
0

Reset

R/W

Operation

The register fields are defined as follows:
REG

Register Number.

Configuration Cycles: Identifies a target double word within a
target’s configuration space. This field is copied to the PCI AD bus
during the address phase of a Configuration cycle.
Special Cycles: This field must be written with all 0s.
FUN

Function Number.

Configuration Cycles: Identifies a function number within a
target’s configuration space. This field is copied to the PCI AD bus
during the address phase of a Configuration cycle.
Special Cycles: This field must be written with all 1s.
DEV

Device Number.

Configuration Cycles: Identifies a target’s physical PCI device
number. Refer to the section on Generating PCI Configuration
Cycles for a description of how this field is encoded.
Special Cycles: This field must be written with all 1s.

http://www.motorola.com/computer/literature

2-57

2

Raven PCI Bridge ASIC

BUS

2

Bus Number.

Configuration Cycles: Identifies a targeted bus number. If written
with all zeros, a Type 0 Configuration Cycle will be generated. If
written with any value other than all 0s, then a Type 1
Configuration Cycle will be generated.
Special Cycles: Identifies a targeted bus number. If written with all
0s, a Special Cycle will be generated. If written with any value
other than all 0s, then a Special Cycle translated into a Type 1
Configuration Cycle will be generated.
EN

Enable.
Configuration Cycles: Writing a 1 to this bit enables
CONFIG_DATA to Configuration Cycle translation. If this bit is a
0, subsequent accesses to CONFIG_DATA will be passed though
as I/O cycles.
Special Cycles: Writing a 1 to this bit enables CONFIG_DATA to
Special Cycle translation. If this bit is a 0, subsequent accesses to
CONFIG_DATA will be passed though as I/O cycles.

CONFIG_DATA Register
The description of the CONFIG_DATA register is also presented in three
perspectives: from the PCI bus, from the MPC bus in big-endian mode, and
from the MPC bus in little-lndian mode. Note that the view from the PCI
bus is purely conceptual, since there is no way to access the
CONFIG_DATA register from the PCI bus.
2Raven PCI Bridge ASIC
0Raven Registers

2-58

Computer Group Literature Center Web Site

Raven Registers

Conceptual perspective from the PCI bus
Offset
Bit

$CFF

$CFE

Reset

2
$CFC

3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name
Operation

$CFD

CONFIG_DATA
Data ‘D’

Data ‘C’

Data ‘B’

Data ‘A’

R/W

R/W

R/W

R/W

n/a

n/a

n/a

n/a

Perspective from the MPC bus in Big-Endian mode
Offset
Bit (DL)

$CFC

$CFD

Reset

$CFF

1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Name
Operation

$CFE

CONFIG_DATA
Data ‘A’

Data ‘B’

Data ‘C’

Data ‘D’

R/W

R/W

R/W

R/W

n/a

n/a

n/a

n/a

Perspective from the MPC bus in Little-Endian mode
Offset
Bit (DH)

$CF8

$CF9

Reset

$CFB

1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Name
Operation

$CFA

CONFIG_DATA
Data ‘D’

Data ‘C’

Data ‘B’

Data ‘A’

R/W

R/W

R/W

R/W

n/a

n/a

n/a

n/a

http://www.motorola.com/computer/literature

2-59

Raven PCI Bridge ASIC

2

Raven Interrupt Controller
This section describes the general implementation of the Raven Interrupt
Controller (RavenMPIC).

Features
The RavenMPIC has the characteristics listed below.
❏

MPIC programming model

❏

Support for two processors

❏

Support for 16 external interrupts

❏

Support for 15 programmable Interrupt and Processor Task priority
levels

❏

Support for the connection of an external 8259 for ISA/AT
compatibility

❏

Distributed interrupt delivery for external I/O interrupts

❏

Direct/Multicast interrupt delivery for Interprocessor and timer
interrupts

❏

Four Interprocessor Interrupt sources

❏

Four timers

❏

Processor initialization control

Architecture
The Raven PCI Slave implements two address decoders for placing the
RavenMPIC registers in PCI IO or PCI Memory space. Access to these
registers require MPC and PCI bus mastership. These accesses include
interrupt and timer initialization and interrupt vector reads.

2-60

Computer Group Literature Center Web Site

Raven Interrupt Controller

The RavenMPIC receives interrupt inputs from:
❏

16 external sources

❏

Four interprocessor sources

❏

Four timer sources

❏

One Raven internal error detection source

2

Externally sourced interrupts 1 through 15 have two modes of activation:
low level or active high positive edge. External interrupt 0 can be either
level- or edge-activated with either polarity. The Interprocessor and timer
interrupts are event-activated.
Readability of CSR
Unless explicitly specified, all registers are readable and return the last
value written. The exceptions are the IPI dispatch registers and the EOI
registers which return 0s on reads, the interrupt source ACT bit which
returns current interrupt source status, the interrupt acknowledge register
which returns the vector of the highest-priority currently pending interrupt,
and reserved bits which return 0s. The interrupt acknowledge register is
also the only register which exhibits any read side-effects.
Interrupt Source Priority
Each interrupt source is assigned a priority value in the range from 0 to 15,
where 15 is the highest priority level. For delivery of an interrupt to take
place, the priority of the source must be greater than that of the destination
processor. Therefore, setting a source priority to zero inhibits that
interrupt.
Processor’s Current Task Priority
Each processor has a task priority register which is set by system software
to indicate the relative importance of the task running on that processor.
The processor will not receive interrupts with a priority level equal to or
lower than its current task priority. Therefore, setting the current task
priority to 15 prohibits the delivery of all interrupts to the associated
processor.

http://www.motorola.com/computer/literature

2-61

Raven PCI Bridge ASIC

2

Nesting of Interrupt Events
A processor is guaranteed never to have an in-service interrupt preempted
by an equal- or lower-priority source. An interrupt is considered to be in
service from the time its vector is returned during an interrupt
acknowledge cycle until an EOI is received for that interrupt. The EOI
cycle indicates the end of processing for the highest-priority in-service
interrupt.
Spurious Vector Generation
Under certain circumstances the RavenMPIC will not have a valid vector
to return to the processor during an interrupt acknowledge cycle. In these
cases, the spurious vector from the spurious vector register will be
returned. The following cases would cause a spurious vector fetch.
❏

INT is asserted in response to an externally sourced interrupt which
is activated with level sensitive logic and the asserted level is
negated before the interrupt is acknowledged.

❏

INT is asserted for an interrupt source which is masked using the
mask bit in the Vector-Priority register before the interrupt is
acknowledged.

Interprocessor Interrupts (IPI)
Processors 0 and 1 can generate interrupts which are targeted for the other
processor or both processors. There are four Interprocessor Interrupt (IPI)
channels. The interrupts are initiated by writing a bit in the IPI dispatch
registers. If subsequent IPIs are initiated before the first is acknowledged,
only one IPI will be generated. The IPI channels deliver interrupts in
Direct mode and can be directed to more than one processor.
8259 Compatibility
The RavenMPIC provides a mechanism to support PC-AT compatible
chip sets using the 8259 interrupt controller architecture. After power-on
reset, the RavenMPIC defaults to 8259 pass-through mode. In this mode,
interrupts from external source number 0 (the interrupt signal from the
8259 is connected to this external interrupt source on the RavenMPIC) are

2-62

Computer Group Literature Center Web Site

Raven Interrupt Controller

passed directly to processor 0. If the pass-through mode is disabled, the
8259 interrupts are delivered using the priority and distribution
mechanisms of the RavenMPIC.
The RavenMPIC does not interact with the vector fetch from the 8259
interrupt controller.
Raven-Detected Errors
Raven-detected errors are grouped together and sent to the interrupt logic
as a single interrupt source. The interrupt delivery mode for this interrupt
is distributed. The Raven Error Vector Priority register should be
programmed for high true level sensitive activation.
For system implementations where the RavenMPIC controller is not used,
the Raven-Detected Error condition will be made available by a signal
which is external to the Raven ASIC. Presumably this signal would be
connected to an externally sourced interrupt input of a MPIC controller in
a different device. Since the MPIC specification defines external I/O
interrupts to operate in the distributed mode, the delivery mode of this
error interrupt should be consistent.
Timers
There is a divide-by-eight prescaler which is synchronized to the Raven
clock (MPC processor clock). The output of the prescaler enables the
decrement of the four timers. The timers may be used for system timing or
to generate periodic interrupts. Each timer has four registers which are
used for configuration and control. They are:
1. Current Count register
2. Base Count register
3. Vector Priority register
4. Destination register

http://www.motorola.com/computer/literature

2-63

2

Raven PCI Bridge ASIC

2

Interrupt Delivery Modes
The direct and distributed interrupt delivery modes are supported. Note
that the direct delivery mode has sub modes of multicast or non-multicast.
The Interprocessor Interrupts (IPIs) and Timer interrupts operate in the
direct delivery mode. The externally sourced or I/O interrupts operate in
the distributed mode.
In direct delivery mode, the interrupt is directed to one or both processors.
If it is directed to two processors (i.e. multicast), it will be delivered to two
processors. The interrupt is delivered to the processor when the priority of
the interrupt is greater than the priority contained in the task register for
that processor, and when the priority of the interrupt is greater than any
interrupt which is in-service for that processor. An interrupt is considered
to be in service from the time its vector is returned during an interrupt
acknowledge cycle until an EOI is received for that interrupt. The EOI
cycle indicates the end of processing for the highest-priority in-service
interrupt.
In distributed delivery mode, the interrupt is pointed to one or more
processors but it will be delivered to only one processor. Therefore, for
externally sourced or I/O interrupts, multicast delivery is not
supported.The interrupt is delivered to a processor when the priority of the
interrupt is greater than the priority contained in the task register for that
processor, and when the priority of the interrupt is greater than any
interrupt which is in-service for that processor, and when the priority of
that interrupt is the highest of all interrupts pending for that processor, and
when that interrupt is not in-service for the other processor. If both
destination bits are set for each processor, the interrupt will be delivered to
the processor that has a lower task register priority.
Note

2-64

Because a deadlock condition can occur when the task register
priorities for each processor are the same and both processors are
targeted for interrupt delivery, the interrupt will be delivered to
processor 0.

Computer Group Literature Center Web Site

Raven Interrupt Controller

Block Diagram Description

2

The description of the block diagram focuses on the theory of operation for
the interrupt delivery logic. If the preceding section is a satisfactory
description of the interrupt delivery modes and the reader is not interested
in the logic implementation, this section can be skipped.
Interrupt
Signals

Program
Visible
Registers

IPR

Interrupt
Selector_1

Interrupt
Selector_0

IRR_1

IRR_0

ISR_1

ISR_0

Interrupt
Router

INT1

INT 0

1917 9610

Figure 2-8. RavenMPIC Block Diagram

http://www.motorola.com/computer/literature

2-65

Raven PCI Bridge ASIC

2

Program-Visible Registers
These are the registers which software can access. They are described in
detail in the Raven Registers section.
Interrupt Pending Register (IPR)
The interrupt signals to the RavenMPIC are qualified and synchronized to
the clock by the IPR. If the interrupt source is internal to the Raven ASIC
or external with their Sense bit = 0 (edge sensitive), a bit is set in the IPR.
That bit is cleared when the interrupt associated with that bit is
acknowledge. If the interrupt source is external and level activated, the
output from the IPR is not negated until the level into the IPR is negated.
Externally sourced interrupts are qualified based upon their Sense and/or
Pol bits in the Vector Priority register. IPI and Timer Interrupts are
generated internally to the Raven ASIC and are qualified by their
Destination bit. Since the internally generated interrupts use direct delivery
mode with multicast capability, there are two bits in the IPR, one for each
processor, associated with each IPI and Timer interrupt source.
The MASK bits from the Vector Priority registers are used to qualify the
output of the IPR. Therefore, if an interrupt condition is detected when the
MASK bit is set, that interrupt will be requested when the MASK bit is
lowered.
Interrupt Selector (IS)
There is an Interrupt Selector (IS) for each processor. The IS receives
interrupt requests from the IPR. If the interrupt request are from an
external source, they are qualified by the destination bit for that interrupt
and processor. If they are from an internal source, they have been qualified.
The output of the IS will be the highest priority interrupt that has been
qualified. This output is the priority of the selected interrupt and its source
identification. The IS will resolve an interrupt request in two Raven clock
ticks.
The IS also receives a second set of inputs from the ISR. During the End
Of Interrupt cycle, these inputs are used to select which bits are to be
cleared in the ISR.

2-66

Computer Group Literature Center Web Site

Raven Interrupt Controller

Interrupt Request Register (IRR)

2

There is an Interrupt Request register (IRR) for each processor. The IRR
always passes the output of the IS except during Interrupt Acknowledge
cycles. This guarantees that the vector which is read from the Interrupt
Acknowledge register is not changing due to the arrival of a higher priority
interrupt. The IRR also serves as a pipeline register for the two tick
propagation time through the IS.
In-Service Register (ISR)
There is an In-Service register (ISR) for each processor. The contents of
the ISR is the priority and source of all interrupts which are in-service. The
ISR receives a bit-set command during Interrupt Acknowledge cycles and
a bit-clear command during End Of Interrupt cycles.
The ISR is implemented as a 40 bit register with individual bit set and clear
functions. Fifteen bits are used to store the priority level of each interrupt
which is in-service. Twenty-five bits are used to store the source
identification of each interrupt which is in service. Therefore there is one
bit for each possible interrupt priority and one bit for each possible
interrupt source.
Interrupt Router
The Interrupt Router monitors the outputs from the ISRs, Current Task
Priority registers, Destination registers, and the IRRs to determine when to
assert a processor’s INT pin.
When considering the following rule sets, it is important to remember that
there are two types of inputs to the Interrupt Selectors. If the interrupt is a
distributed class interrupt, there is a single bit in the IPR associated with
this interrupt and it is delivered to both Interrupt Selectors. This IPR bit is
qualified by the destination register contents for that interrupt before the
Interrupt Selector compares its priority to the priority of all other
requesting interrupts for that processor. If the interrupt is programmed to
be edge sensitive, the IPR bit is cleared when the vector for that interrupt
is returned when the Interrupt Acknowledge register is examined. On the
other hand, if the interrupt is a direct/multicast class interrupt, there are two
bits in the IPR associated with this interrupt: one bit for each processor.

http://www.motorola.com/computer/literature

2-67

Raven PCI Bridge ASIC

Then one of these bits is delivered to each Interrupt Selector. Since this
interrupt source can be multicast, each of these IPR bits must be cleared
separately when the vector is returned for that interrupt to a particular
processor.

2

If one of the following sets of conditions is true, the interrupt pin for
processor 0 is driven active.
❏

Set1
The source ID in IRR_0 is from an external source.
The destination bit for processor 1 is a 0 for this interrupt.
The priority from IRR_0 is greater than the highest priority in
ISR_0.
The priority from IRR_0 is greater than the contents of task
register_0.

❏

Set2
The source ID in IRR_0 is from an external source.
The destination bit for processor 1 is a 1 for this interrupt.
The source ID in IRR_0 is not present is ISR_1.
The priority from IRR_0 is greater than the highest priority in
ISR_0.
The priority from IRR_0 is greater than the Task Register_0
contents.
The contents of Task Register_0 is less than the contents of Task
Register_1.

❏

Set3
The source ID in IRR_0 is from an internal source.
The priority from IRR_0 is greater than the highest priority in
ISR_0.
The priority from IRR_0 is greater than the Task Register_0
contents.

2-68

Computer Group Literature Center Web Site

Raven Interrupt Controller

There is the possibility of a priority tie between the two processors when
resolving external interrupts. In such cases the interrupt is always
delivered to processor 0. This case is not defined in the above rule set.

MPIC Registers
The following conventions are used in the Raven register charts:
❏

R

Read Only field.

❏

R/W

Read/Write field.

❏

S

Writing a 1 to this field sets this field.

❏

C

Writing a 1 to this field clears this field.

RavenMPIC Registers
The RavenMPIC register map is shown in the following table. The Off
field is the address offset from the base address of the RavenMPIC
registers in the MPC-IO or MPC-MEMORY space. Note that this map
does not depict linear addressing. The Raven PCI-SLAVE has two
decoders for generating the RavenMPIC select. These decoders will
generate a select and acknowledge all accesses which are in a reserved
256K byte range. If the index into that 256K block does not decode a valid
RavenMPIC register address, the logic will return $00000000.
The registers are 8-, 16-, or 32-bit accessible.
Table 2-10. RavenMPIC Register Map
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Off

FEATURE REPORTING REGISTER 0

$01000

GLOBAL CONFIGURATION REGISTER 0

$01020

MPIC VENDOR IDENTIFICATION REGISTER

$01080

PROCESSOR INIT REGISTER

$01090

http://www.motorola.com/computer/literature

2-69

2

Raven PCI Bridge ASIC

2

3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Off

IPI0 VECTOR-PRIORITY REGISTER

$010A0

IPI1 VECTOR-PRIORITY REGISTER

$010B0

IPI2 VECTOR-PRIORITY REGISTER

$010C0

IPI3 VECTOR-PRIORITY REGISTER

$010D0
SP REGISTER

2-70

$010E0

TIMER FREQUENCY REPORTING REGISTER

$010F0

TIMER 0 CURRENT COUNT REGISTER

$01100

TIMER 0 BASE COUNT REGISTER

$01110

TIMER 0 VECTOR-PRIORITY REGISTER

$01120

TIMER 0 DESTINATION REGISTER

$01130

TIMER 1 CURRENT COUNT REGISTER

$01140

TIMER 1 BASE COUNT REGISTER

$01150

TIMER 1VECTOR-PRIORITY REGISTER

$01160

TIMER 1DESTINATION REGISTER

$01170

TIMER 2 CURRENT COUNT REGISTER

$01180

TIMER 2 BASE COUNT REGISTER

$01190

TIMER 2 VECTOR-PRIORITY REGISTER

$011A0

TIMER 2 DESTINATION REGISTER

$011B0

TIMER 3 CURRENT COUNT REGISTER

$011C0

TIMER 3 BASE COUNT REGISTER

$011D0

TIMER 3 VECTOR-PRIORITY REGISTER

$011E0

TIMER 3 DESTINATION REGISTER

$011F0

INT. SRC. 0 VECTOR-PRIORITY REGISTER

$10000

INT. SRC. 0 DESTINATION REGISTER

$10010

INT. SRC. 1 VECTOR-PRIORITY REGISTER

$10020

INT. SRC. 1 DESTINATION REGISTER

$10030

Computer Group Literature Center Web Site

Raven Interrupt Controller

3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Off

INT. SRC. 2 VECTOR-PRIORITY REGISTER

$10040

INT. SRC. 2 DESTINATION REGISTER

$10050

INT. SRC. 3 VECTOR-PRIORITY REGISTER

$10060

INT. SRC. 3 DESTINATION REGISTER

$10070

INT. SRC. 4 VECTOR-PRIORITY REGISTER

$10080

INT. SRC. 4 DESTINATION REGISTER

$10090

INT. SRC. 5 VECTOR-PRIORITY REGISTER

$100A0

INT. SRC. 5 DESTINATION REGISTER

$100B0

INT. SRC. 6 VECTOR-PRIORITY REGISTER

$100C0

INT. SRC. 6 DESTINATION REGISTER

$100D0

INT. SRC. 7 VECTOR-PRIORITY REGISTER

$100E0

INT. SRC. 7 DESTINATION REGISTER

$100F0

INT. SRC. 8 VECTOR-PRIORITY REGISTER

$10100

INT. SRC. 8 DESTINATION REGISTER

$10110

INT. SRC. 9 VECTOR-PRIORITY REGISTER

$10120

INT. SRC. 9 DESTINATION REGISTER

$10130

INT. SRC. 10 VECTOR-PRIORITY REGISTER

$10140

INT. SRC. 10 DESTINATION REGISTER

$10150

INT. SRC. 11 VECTOR-PRIORITY REGISTER

$10160

INT. SRC. 11 DESTINATION REGISTER

$10170

INT. SRC. 12 VECTOR-PRIORITY REGISTER

$10180

INT. SRC. 12 DESTINATION REGISTER

$10190

INT. SRC. 13 VECTOR-PRIORITY REGISTER

$101A0

INT. SRC. 13 DESTINATION REGISTER

$101B0

INT. SRC. 14 VECTOR-PRIORITY REGISTER

$101C0

INT. SRC. 14 DESTINATION REGISTER

$101D0

http://www.motorola.com/computer/literature

2-71

2

Raven PCI Bridge ASIC

2

3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Off

INT. SRC. 15 VECTOR-PRIORITY REGISTER

$101E0

INT. SRC. 15 DESTINATION REGISTER

$101F0

RAVEN DETECTED ERRORS VECTOR-PRIORITY REGISTER

$10200

RAVEN DETECTED ERRORS DESTINATION REGISTER

$10210

IPI 0 DISPATCH REGISTER PROC. 0

$20040

IPI 1 DISPATCH REGISTER PROC. 0

$20050

IPI 2 DISPATCH REGISTER PROC. 0

$20060

IPI 3 DISPATCH REGISTER PROC. 0

$20070

CURRENT TASK PRIORITY REGISTER PROC. 0

$20080

2-72

IACK REGISTER
P0

$200A0

EOI REGISTER
P0

$200B0

IPI 0 DISPATCH REGISTER PROC. 1

$21040

IPI 1 DISPATCH REGISTER PROC. 1

$21050

IPI 2 DISPATCH REGISTER PROC. 1

$21060

IPI 3 DISPATCH REGISTER PROC. 1

$21070

CURRENT TASK PRIORITY REGISTER PROC. 1

$21080

IACK REGISTER
P1

$210A0

EOI REGISTER
P1

$210B0

Computer Group Literature Center Web Site

Raven Interrupt Controller

Feature Reporting Register

2

Offset
Bit

$01000
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

FEATURE REPORTING
NIRQ

NCPU

VID

Operation

R

R

R

R

R

Reset

$0

$00F

$0

$01

$02

NIRQ

NUMBER OF IRQs. The number of the highest external
IRQ source supported. The IPI, Timer, and Raven
Detected Error interrupts are excluded from this count.

NCPU

NUMBER OF CPUs. The number of the highest physical
CPU supported. This design supports two CPUs (CPU 0
and CPU 1).

VID

VERSION ID. Version ID for this interrupt controller.
This value reports what level of the specification is
supported by this implementation. A version level of 02 is
used for the initial release of the MPIC specification.

http://www.motorola.com/computer/literature

2-73

Raven PCI Bridge ASIC

2

Global Configuration Register
Offset
Bit

$01020
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

Reset

M
R/W 0
R
0
RESET C
0

Operation

GLOBAL CONFIGURATION

R

R

R

R

$00

$00

$00

$00

R

Reset Controller. Writing a 1 to this bit forces the
controller logic to be reset. The bit is cleared
automatically when the reset sequence is complete. While
this bit is set, the values of all other register are undefined.

M

Cascade Mode. Allows cascading of an external 8259
pair connected to the first interrupt source input pin (0).
This bit will always be set to 1, indicating mixed mode. In
mixed mode, 8259 interrupts are delivered using the
priority and distribution mechanism of the RavenMPIC.
The Vector/Priority and Destination registers for interrupt
source 0 are used to control the delivery mode for all
8259-generated interrupt sources.

2Raven PCI Bridge ASIC
0Raven Interrupt Controller

2-74

Computer Group Literature Center Web Site

Raven Interrupt Controller

Vendor Identification Register

2

Offset
Bit

$01080
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

VENDOR IDENTIFICATION
STP

Operation
Reset

R

R

R

R

$00

$02

$00

$00

Two of the fields in the Vendor Identification register are not defined for
the RavenMPIC implementation, but are defined in the MPIC
specification. They are the vendor identification and device ID fields.
STP

Stepping. The stepping or silicon revision number is
initially 0.

Processor Init Register
Offset
Bit

$01090
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

Reset

R

R

R

R

$00

$00

$00

$00

P0 R/W 0
P1 R/W 0

Operation

PROCESSOR INIT

P1

Processor 1. Writing a 1 to P1 will assert the Soft Reset
input of processor 1. Writing a 0 to it will negate the
SRESET signal.

P0

Processor 0. Writing a 1 to P0 will assert the Soft Reset
input of processor 0. Writing a 0 to it will negate the
SRESET signal.

http://www.motorola.com/computer/literature

2-75

Raven PCI Bridge ASIC

The Soft Reset input to the MPC603 or MPC604 is negative-edgesensitive.

2

IPI Vector/Priority Registers
Offset

Bit

IPI 0 - $010A0
IPI 1 - $010B0
IPI 2 - $010C0
IPI 3 - $010D0
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

Reset

PRIOR

ACT
R
0
MASK R/W 1

Operation

IPI VECTOR/PRIORITY
VECTOR

R

R/W

R

R/W

$000

$0

$00

$00

MASK

Mask. Setting this bit disables any further interrupts from
this source. If the mask bit is cleared while the bit
associated with this interrupt is set in the IPR, the interrupt
request will be generated.

ACT

Activity. The activity bit indicates that an interrupt has
been requested or that it is in-service. The ACT bit is set
to a 1 when its associated bit in the Interrupt Pending
register or In-Service register is set.

PRIOR

Interrupt Priority. Priority 0 is the lowest and 15 is the
highest. Note that a priority level of 0 will not enable
interrupts.

VECTOR Interrupt Vector. This vector is returned when the
Interrupt Acknowledge register is examined during a
request for the interrupt associated with this vector.

2-76

Computer Group Literature Center Web Site

Raven Interrupt Controller

Spurious Vector Register

2

Offset
Bit

$010E0
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name
Operation
Reset

VECTOR
R

R

R

R/W

$00

$00

$00

$FF

VECTOR Interrupt Vector. This vector is returned when the
Interrupt Acknowledge register is read during a spurious
vector fetch.
Timer Frequency Register
Offset
Bit
Name

$010F0
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
TIMER FREQUENCY

Operation

R/W

Reset

$00000000

This register is used to report the frequency (in Hz) of the clock source for
the global timers. Following a reset, this register contains zero. For the
Raven implementation of MPIC on the MVME2300 series, this register
must be written with a value of $7DE290 (that is, 66/8 MHz or 8.25 MHz),
which corresponds to a 66MHz MPC bus.

http://www.motorola.com/computer/literature

2-77

Raven PCI Bridge ASIC

2

Timer Current Count Registers
Offset

Bit

Timer 0 - $01100
Timer 1 - $01140
Timer 2 - $01180
Timer 3 - $011C0
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

CC

R

R

0

Reset

T

Operation

TIMER CURRENT COUNT

$00000000

T

Toggle. This bit toggles when ever the current count
decrements to zero.

CC

Current Count. The Current Count field decrements
while the Count Inhibit bit in the Base Count register is
zero. When the timer counts down to zero, the Current
Count register is reloaded from the Base Count register.

Timer Base Count Registers
Offset

Bit

Timer 0 - $01110
Timer 1 - $01150
Timer 2 - $01190
Timer 3 - $011D0
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

2-78

BC

R/W 1

Reset

CI

Operation

TIMER BASECOUNT

R/W
$00000000

Computer Group Literature Center Web Site

Raven Interrupt Controller

CI

Count Inhibit. Setting this bit to 1 inhibits counting for
this timer. Setting the bit to 0 allows counting to proceed.

BC

Base Count. This field contains the 31-bit count for this
timer. When a value is written into this register and the CI
bit transitions from a 1 to a 0, the value is copied into the
corresponding Current Count register and the toggle bit in
the Current Count register is cleared. When the timer
counts down to zero, the Current Count register is
reloaded from the Base Count register.

Timer Vector/Priority Registers
Offset

Bit

Timer 0 - $01120
Timer 1 - $01160
Timer 2 - $011A0
Timer 3 - $011E0
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

Reset

PRIOR

ACT
R
0
MASK R/W 1

Operation

TIMER VECTOR/PRIORITY
VECTOR

R

R/W

R

R/W

$000

$0

$00

$00

MASK

Mask. Setting this bit disables any further interrupts from
this source. If the mask bit is cleared while the bit
associated with this interrupt is set in the IPR, the interrupt
request will be generated.

ACT

Activity. The activity bit indicates that an interrupt has
been requested or that it is in-service. The ACT bit is set
to a 1 when its associated bit in the Interrupt Pending
register or In-Service register is set.

http://www.motorola.com/computer/literature

2-79

2

Raven PCI Bridge ASIC

PRIOR

2

Interrupt Priority. Priority 0 is the lowest and 15 is the
highest. Note that a priority level of 0 will not enable
interrupts.

VECTOR Interrupt Vector. This vector is returned when the
Interrupt Acknowledge register is examined upon
acknowledgment of the interrupt associated with this
vector.
Timer Destination Registers
Offset

Bit

Timer 0 - $01130
Timer 1 - $01170
Timer 2 - $011B0
Timer 3 - $011F0
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

Reset

R

R

R

R

$00

$00

$00

$00

P0 R/W 0
P1 R/W 0

Operation

TIMER DESTINATION

This register indicates the destinations for this timer’s interrupts. Timer
interrupts operate in the Directed delivery interrupt mode. This register
may specify multiple destinations (multicast delivery).

2-80

P1

PROCESSOR 1. The interrupt is directed to processor 1.

P0

PROCESSOR 0. The interrupt is directed to processor 0.

Computer Group Literature Center Web Site

Raven Interrupt Controller

External Source Vector/Priority Registers
Offset
Bit

Int Src 0 - $10000
Int Src 2 -> Int Src15 - $10020 -> $101E0
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

EXTERNAL SOURCE VECTOR/PRIORITY

R
0
R/W 1

Reset

R
$000

R
0
R
0
SENSE R/W 0
R/W 0
POL

ACT
MASK

Operation

2

PRIOR

VECTOR

R/W

R

R/W

$0

$00

$00

MASK

Mask. Setting this bit disables any further interrupts from
this source. If the mask bit is cleared while the bit
associated with this interrupt is set in the IPR, the interrupt
request will be generated.

ACT

Activity. The activity bit indicates that an interrupt has
been requested or that it is in-service. The ACT bit is set
to a 1 when its associated bit in the Interrupt Pending
register or In-Service register is set.

POL

Polarity. This bit sets the polarity for external interrupts.
Setting this bit to a 0 enables active low or negative edge.
Setting this bit to a 1 enables active high or positive edge.
Only External Interrupt Source 0 uses this bit in this
register.

SENSE

Sense. This bit sets the sense for external interrupts.
Setting this bit to a zero enables edge-sensitive interrupts.
Setting this bit to a one enables level-sensitive interrupts.
For external interrupt sources 1 through 15, setting this bit
to a 0 enables positive edge-triggered interrupts. Setting
this bit to a one enables active-low level-triggered
interrupts.

http://www.motorola.com/computer/literature

2-81

Raven PCI Bridge ASIC

PRIOR

2

Interrupt Priority. Priority 0 is the lowest and 15 is the
highest. Note that a priority level of 0 will not enable
interrupts.

VECTOR Interrupt Vector. This vector is returned when the
Interrupt Acknowledge register is examined upon
acknowledgment of the interrupt associated with this
vector.
External Source Destination Registers
Offset
Bit

Int Src 0 - $10010
Int Src 2 -> Int Src 15 - $10030 -> $101F0
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

Reset

R

R

R

R

$00

$00

$00

$00

P0 R/W 0
P1 R/W 0

Operation

EXTERNAL SOURCE DESTINATION

This register indicates the possible destinations for the external interrupt
sources. These interrupts operate in the Distributed interrupt delivery
mode.

2-82

P1

Processor 1. The interrupt is pointed to processor 1.

P0

Processor 0. The interrupt is pointed to processor 0.

Computer Group Literature Center Web Site

Raven Interrupt Controller

Raven-Detected Errors Vector/Priority Register
Offset
Bit

$10200
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

RAVEN DETECTED ERRORS VECTOR/PRIORITY

$000

PRIOR

R/W

R

R/W

0
0
0
0

R
0
R/W 1

Reset

R

R
R
SENSE R/W
R

ACT
MASK

Operation

2

VECTOR

$0

$00

$00

MASK

Mask. Setting this bit disables any further interrupts from
this source. If the mask bit is cleared while the bit
associated with this interrupt is set in the IPR, the interrupt
request will be generated.

ACT

Activity. The activity bit indicates that an interrupt has
been requested or that it is in-service. The ACT bit is set
to a 1 when its associated bit in the Interrupt Pending
register or In-Service register is set.

SENSE

Sense. This bit sets the sense for external interrupts.
Setting this bit to a 0 enables positive edge sensitive
interrupts. Setting this bit to a 1 enables active low level
sensitive interrupts.

PRIOR

Interrupt Priority. Priority 0 is the lowest and 15 is the
highest. Note that a priority level of 0 will not enable
interrupts.

VECTOR Interrupt Vector. This vector is returned when the
Interrupt Acknowledge register is examined upon
acknowledgment of the interrupt associated with this
vector.

http://www.motorola.com/computer/literature

2-83

Raven PCI Bridge ASIC

2

Raven-Detected Errors Destination Register
Offset
Bit

$10210
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

Reset

R

R

R

R

$00

$00

$00

$00

P0 R/W 0
P1 R/W 0

Operation

RAVEN DETECTED ERROR DESTINATION

This register indicates the possible destinations for the Raven-detected
error interrupt source. These interrupts operate in the Distributed interrupt
delivery mode.
P1

Processor 1. The interrupt is pointed to processor 1.

P0

Processor 0. The interrupt is pointed to processor 0.

Interprocessor Interrupt Dispatch Registers
Offset
Bit

Processor 0 $20040, $20050, $20060, $20070
Processor 1 $21040, $21050,$21060, $21070
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

Reset

R

R

R

R

$00

$00

$00

$00

P0 R/W 0
P1 R/W 0

Operation

IPI DISPATCH

There are four Interprocessor Interrupt Dispatch registers. Writing to an
IPI Dispatch register with the P0 and/or P1 bit set causes an interprocessor
interrupt request to be sent to one or more processors. Note that each IPI

2-84

Computer Group Literature Center Web Site

Raven Interrupt Controller

Dispatch register has two addresses. These registers are considered to be
per-processor registers and there is one address per processor. Reading
these registers returns zeros.
P1

Processor 1. The interrupt is directed to processor 1.

P0

Processor 0. The interrupt is directed to processor 0.

Interrupt Task Priority Registers
Offset
Bit

Processor 0 $20080
Processor 1 $21080
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name

INTERRUPT TASK PRIORITY
TP

Operation
Reset

R

R

R

R

R/W

$00

$00

$00

$0

$F

There is one Task Priority register per processor. Priority levels from 0
(lowest) to 15 (highest) are supported. Setting the Task Priority register to
15 masks all interrupts to this processor. Hardware will set the task register
to $F when it is reset, or when the Init bit associated with this processor is
written to a 1.

http://www.motorola.com/computer/literature

2-85

2

Raven PCI Bridge ASIC

2

Interrupt Acknowledge Registers
Offset
Bit

Processor 0 $200A0
Processor 1 $210A0
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name
Operation
Reset

VECTOR
R

R

R

R

$00

$00

$00

$FF

On PowerPC-based systems, Interrupt Acknowledge is implemented as a
read request to a memory-mapped Interrupt Acknowledge register.
Reading the Interrupt Acknowledge register returns the interrupt vector
corresponding to the highest-priority pending interrupt. Reading this
register also has the following side effects.
❏

The associated bit in the Interrupt Pending register is cleared.

❏

Reading this register will update the In-Service register.

Reading this register without a pending interrupt will return a value of $FF
hexadecimal.
End-of-Interrupt Registers
Offset
Bit

Processor 0 $200B0
Processor 1 $210B0
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0

Name
Operation
Reset

EOI
R

R

R

R

W

$00

$00

$00

$0

$0

EOI

2-86

End Of Interrupt. There is one EOI register per
processor. EOI code values other than 0 are currently
undefined. Data values written to this register are ignored;
zero is assumed. Writing to this register signals the end of

Computer Group Literature Center Web Site

Raven Interrupt Controller

processing for the highest-priority interrupt currently in
service by the associated processor. The write operation
will update the In-Service register by retiring the highestpriority interrupt. Reading this register returns zeros.

Programming Notes
This section includes a number of items of information that should prove
helpful in programming your MVME2300 series board for a variety of
applications.
External Interrupt Service
The following summarizes how an external interrupt is serviced:
1. An external interrupt occurs.
2. The processor state is saved in the machine status save/restore
registers. A new value is loaded into the Machine State register
(MSR). The External Interrupt Enable bit in the new MSR (MSRee)
is set to zero. Control is transferred to the O/S external interrupt
handler.
3. The external interrupt handler calculates the address of the Interrupt
Acknowledge register for this processor (RavenMPIC Base Address
+ 0x200A00 + (processor ID shifted left 12 bits)).
4. The external interrupt handler issues an Interrupt Acknowledge
request to read the interrupt vector from the RavenMPIC. If the
interrupt vector indicates the interrupt source is the 8259, the
interrupt handler issues a second Interrupt Acknowledge request to
read the interrupt vector from the 8259. The RavenMPIC does not
interact with the vector fetch from the 8259.
5. The interrupt handler saves the processor state and other interruptspecific information in system memory and re-enables for external
interrupts (the MSRee bit is set to 1). The RavenMPIC blocks
interrupts from sources with equal or lower priority until an End-ofInterrupt is received for that interrupt source. Interrupts from
higher-priority interrupt sources continue to be enabled. If the

http://www.motorola.com/computer/literature

2-87

2

Raven PCI Bridge ASIC

interrupt source was the 8259, the interrupt handler issues an EOI
request to the RavenMPIC. This resets the In-Service bit for the
8259 within the RavenMPIC and allows it to recognize higherpriority interrupt requests, if any, from the 8259. If none of the
nested interrupt modes of the 8259 are enabled, the interrupt handler
issues an EOI request to the 8259.

2

a. The device driver interrupt service routine associated with this
interrupt vector is invoked.
b. If the interrupt source was not the 8259, the interrupt handler
issues an EOI request for this interrupt vector to the
RavenMPIC. If the interrupt source was the 8259 and any of the
nested interrupt modes of the 8259 are enabled, the interrupt
handler issues an EOI request to the 8259.
Normally, interrupts from ISA devices are connected to the 8259
interrupt controller. ISA devices typically rely on the 8259 Interrupt
Acknowledge to flush buffers between the ISA device and system
memory. If interrupts from ISA devices are directly connected to the
RavenMPIC (bypassing the 8259), the device driver interrupt
service routine must read status from the ISA device to ensure
buffers between the device and system memory are flushed.
Reset State
After a power-on reset, the RavenMPIC state is as follows:

2-88

❏

Current task priority for all CPUs set to 15.

❏

All interrupt source priorities set to 0.

❏

All interrupt source mask bits set to 1.

❏

All interrupt source activity bits cleared.

❏

Processor Init register cleared.

❏

All counters stopped and interrupts disabled.

❏

Controller mode set to 8259 pass-through.

Computer Group Literature Center Web Site

Raven Interrupt Controller

Interprocessor Interrupts

2

Four interprocessor interrupt (IPI) channels are provided for use by all
processors. During system initialization, the IPI vector/priority registers
for each channel should be programmed to set the priority and vector
returned for each IPI event. During system operation a processor may
generate an IPI by writing a destination mask to one of the IPI dispatch
registers.
Note that each IPI dispatch register is shared by both processors. Each IPI
dispatch register has two addresses but they are shared by both processors.
That is, there is a total of four IPI dispatch registers in the RavenMPIC.
The IPI mechanism may be used for self-interrupts by programming the
dispatch register with the bit mask for the originating processor.
Dynamically Changing I/O Interrupt Configuration
The interrupt controller provides a mechanism for safely changing the
vector, priority, or destination of I/O interrupt sources. This is provided to
support systems which allow dynamic configuration of I/O devices. In
order to change the vector, priority, or destination of an active interrupt
source, the following sequence should be performed:
1. Mask the source using the MASK bit in the vector/priority register.
2. Wait for the activity bit (ACT) for that source to be cleared.
3. Make the desired changes.
4. Unmask the source.
This sequence ensures that the vector, priority, destination, and mask
information remain valid until all processing of pending interrupts is
complete.

http://www.motorola.com/computer/literature

2-89

Raven PCI Bridge ASIC

2

EOI Register
Each processor has a private EOI register which is used to signal the end
of processing for a particular interrupt event. If multiple nested interrupts
are in service, the EOI command terminates the interrupt service of the
highest priority source. Once an interrupt is acknowledged, only sources
of higher priority will be allowed to interrupt the processor until the EOI
command is received. This register should always be written with a value
of zero which is the nonspecific EOI command.
Interrupt Acknowledge Register
Upon receipt of an interrupt signal, the processor may read this register to
retrieve the vector of the interrupt source which caused the interrupt.
8259 Mode
The 8259 mode bits control the use of an external 8259 pair for PC-AT
compatibility. Following a reset, this mode is set for pass-through, which
essentially disables the advanced controller and passes an 8259 input on
external interrupt source 0 directly through to processor 0. During interrupt
controller initialization this channel should be programmed for mixed
mode in order to take advantage of the interrupt delivery modes.
Current Task Priority Level
Each processor has a separate Current Task Priority Level register. The
system software uses this register to indicate the relative priority of the task
running on the corresponding processor. The interrupt controller will not
deliver an interrupt to a processor unless it has a priority level which is
greater than the current task priority level of that processor. This value is
also used in determining the destination for interrupts which are delivered
using the distributed deliver mode.

2-90

Computer Group Literature Center Web Site

Raven Interrupt Controller

Architectural Notes

2

The hardware and software overhead required to update the Task Priority
register synchronously with instruction execution may far outweigh the
anticipated benefits of the Task Priority register. To minimize this
overhead, the interrupt controller architecture should allow the Task
Priority register to be updated asynchronously with respect to instruction
execution. Lower-priority interrupts may continue to occur for an
indeterminate number of cycles after the processor has updated the Task
Priority register. If this is not acceptable, the interrupt controller
architecture should recommend that if the Task Priority register is not
implemented with the processor, the Task Priority register should be
updated only when the processor enter or exits an idle state.
Only when the Task Priority register is integrated within the processor,
(such that it can be accessed as quickly as the MSRee bit defined in the
Programming Notes section, for example), should the architecture require
the Task Priority register to be updated synchronously with instruction
execution.

http://www.motorola.com/computer/literature

2-91

3Falcon ECC Memory Controller
Chip Set

3

Introduction
The Falcon DRAM controller ASIC is designed for the MVME2300
family of boards. It is used in sets of two to provide the interface between
the PowerPC 60x bus (also called MPC60x bus or MPC bus) and a 144-bit
ECC-DRAM memory system. It also provides an interface to ROM/Flash.
This chapter provides a functional description and programming model for
the Falcon chip set. Most of the information necessary to use the device in
a system, program it in a system, and test it can be found here.

Features
The following table summarizes the characteristics of the Falcon chip set.
Table 3-1. Features of the Falcon Chip Set
Function
DRAM Interface

Features
Double-bit error detect/Single-bit error correct on 72-bit basis
Up to four blocks
Programmable base address for each block
Two-way interleave factor
Built-in Refresh/Scrub

Error Notification for
DRAM

Software-programmable Interrupt on Single/Double-Bit error
Error address and Syndrome Log Registers for Error Logging
Does not provide TEA_ on Double-Bit Error. (Chip has no TEA_ pin.)

ROM/Flash Interface

Two blocks with two 8-bit devices, or two 32-bit devices per block

3-1

Falcon ECC Memory Controller Chip Set

Block Diagrams
Figure 3-1 depicts a Falcon pair as it would be connected in a system.
Figure 3-2 shows the Falcon’s internal data paths. Figure 3-3 shows the
overall DRAM connections.

3

Lower PowerPC

Lower DRAM

Data (32Bits)

Data (64 Bits)

Lower
DRAM
ARRAYS

Lower DRAM
Address & Control

Lower DRAM

Check

Check-bits (8 Bits)

PowerPC
Address &
Control

Serial Bus

PowerPC 60x Bus

FALCON

Data

Upper
DRAM
ARRAYS

Upper DRAM
Data (64 Bits)

FALCON

Data
Upper DRAM
Address & Control

Upper PowerPC
Data (32 Bits)
Upper DRAM

Check

Check-bits (8 Bits)

1900 9609

Figure 3-1. Falcon Pair Used with DRAM in a System

3-2

Computer Group Literature Center Web Site

Block Diagrams

PowerPC
Side

DRAM
Side

HAMGEN

Latched D

CKD[0:7]

(64 Bits)

(64 Bits)

(8 Bits)

Uncorrected Data
(64 Bits)

RD[0:63]

+

+

LATCHES

(8 Bits)

HAMGEN

SYNDEC

(8 Bits)

(64 Bits)

Corrected Data

D[0:31]

(64 Bits)

(64 Bits)

MUX

DFF’s

3

1901 9609

Figure 3-2. Falcon Internal Data Paths (Simplified)

http://www.motorola.com/computer/literature

3-3

Falcon ECC Memory Controller Chip Set

3

BD_RAS_/CAS_
AC_RAS_/CAS_

RA/OE_/WE_

LOWER
FALCON

RD0-63

CKD0-7

DRAM
BLOCK A
LOWER

DRAM
BLOCK B
LOWER

DRAM
BLOCK C
LOWER

DRAM
BLOCK D
LOWER

DRAM
BLOCK A
UPPER

DRAM
BLOCK B
UPPER

DRAM
BLOCK C
UPPER

DRAM
BLOCK D
UPPER

BD_RAS_/CAS_
AC_RAS_/CAS_

RA/OE_/WE_

UPPER
FALCON

RD0-63

CKD0-7

1902 9609

Figure 3-3. Overall DRAM Connections

3-4

Computer Group Literature Center Web Site

Functional Description

Functional Description
The following sections describe the logical function of the Falcon ASIC.
The Falcon is designed to be used as a set of two chips. A pair of Falcons
works with x1 or wider DRAM memory devices to form a memory system
for the PowerPC 60x bus. A pair of Falcons that is connected to implement
a memory control function is referred to in this document as a “Falcon
pair”.

Bit Ordering Convention
All Falcon bused signals are named using big-endian bit ordering (bit 0 is
the most significant bit).

Performance
The following sections describe the Falcon pair’s data transfer
characteristics in various configurations.
Four-beat Reads/Writes
The Falcon pair is specifically designed to provide maximum performance
for cache line (four-beat) cycles to and from the PowerPC 60x bus at
66MHz. This is done by providing a two-way interleave between the 64bit PowerPC 60x data bus and the 128-bit (144 with check-bits) DRAM
bus. When a PowerPC 60x bus master begins a quad-aligned, four-beat
read to DRAM, the Falcon pair accesses the full 144-bit width of DRAM
at once so that when the DRAM access time is reached, not only is the first
64-bit double-word of data ready to be transferred to the PowerPC 60x bus
master, but so is the next. While the Falcon pair is presenting the first two
double-words to the PowerPC 60x bus, it cycles CAS without cycling RAS
to obtain the next two double-words. The Falcon pair transfers the next two
double-words to the PowerPC 60x bus after 0 or more idle clocks.
The Falcon pair also profits from the fact that PowerPC 60x processors can
do address pipelining. Many times while a data cycle is finishing, the
PowerPC 60x processor begins a new address cycle. The Falcon pair can
begin the next DRAM access earlier when this happens, thus shortening

http://www.motorola.com/computer/literature

3-5

3

Falcon ECC Memory Controller Chip Set

the access time. Further savings come when the new address cycle is to an
address close enough to the previous one that it falls within the same row
in the DRAM array. When this happens, the Falcon pair can transfer the
data for the next cycle by cycling CAS without cycling RAS.

3

Single-beat Reads/Writes
Single-beat cycles to and from the PowerPC 60x bus do not achieve data
rates as high as do four-beat cycles. The Falcon pair does take advantage
of the PowerPC 60x address pipelining as much as possible for single-beat
accesses.
Single-beat writes are the slowest type of accesses because they require
that the Falcon pair perform first a read cycle, then a write cycle to the
DRAM in order to complete. When the Falcon pair can take advantage of
address pipelining, back-to-back single-beat writes take 10 clocks to
complete.
DRAM Speeds
The Falcon pair can be configured for three different DRAM speeds: 50ns,
60ns and 70ns. When the Falcon pair is configured for 50ns DRAMs, it
assumes that the devices are Hyper-Page parts. When the Falcon pair is
configured for 70ns DRAMs, it assumes that the devices are Page parts.
When the pair is configured for 60ns DRAMs, it allows the devices to be
either Page or Hyper-Page parts. Performance summaries using the
different devices are shown in Table 3-2, Table 3-3, and Table 3-4.

3-6

Computer Group Literature Center Web Site

Functional Description

Table 3-2. PowerPC 60x Bus to DRAM Access Timing — 70ns Page Devices
Clock Periods Required For:
Access Type

Total
Clocks

1st
Beat

2nd
Beat

3rd
Beat

4th
Beat

4-Beat Read after Idle (Quadword aligned)

10

1

3

1

15

4-Beat Read after Idle (Quadword misaligned)

10

4

1

1

16

4-Beat Read after 4-Beat Read
(Quad-word aligned)

9/3 1

1

3

1

14/8

4-Beat Read after 4-Beat Read
(misaligned)

7/2 1

4

1

1

13/8

4

1

1

1

7

10/6 1

1

1

1

13/9

10

-

-

-

10

11/7 1

-

-

-

11/7

4

-

-

-

4

-

-

-

15/11

4-Beat Write after Idle
4-Beat Write after 4-Beat Write
(Quad-word aligned)
1-Beat Read after Idle
1-Beat Read after 1-Beat Read
1-Beat Write after Idle
1-Beat Write after 1-Beat Write

15/11

1

Notes
1. These numbers assume that the PowerPC 60x bus master is doing
address pipelining with TS_ occurring at the minimum time after
AACK_ is asserted. Also, the two numbers shown in the 1st Beat
column are for page miss/page hit.
2. In some cases, the numbers shown are averages and specific
instances may be longer or shorter.

http://www.motorola.com/computer/literature

3-7

3

Falcon ECC Memory Controller Chip Set

Table 3-3. PowerPC 60x Bus to DRAM Access Timing — 60ns Page Devices.
Clock Periods Required For:

3

Access Type

Total
Clocks

1st
Beat

2nd
Beat

3rd
Beat

4th
Beat

4-Beat Read after Idle (Quadword aligned)

9

1

2

1

13

4-Beat Read after Idle (Quadword misaligned)

9

3

1

1

14

4-Beat Read after 4-Beat Read
(Quad-word aligned)

7/3 1

1

2

1

11/7

4-Beat Read after 4-Beat Read
(misaligned)

6/2 1

3

1

1

11/7

4

1

1

1

7

7/3 1

1

1

1

10/6

9

-

-

-

9

9/6 1

-

-

-

9/6

4

-

-

-

4

-

-

-

13/10

4-Beat Write after Idle
4-Beat Write after 4-Beat Write
(Quad-word aligned)
1-Beat Read after Idle
1-Beat Read after 1-Beat Read
1-Beat Write after Idle
1-Beat Write after 1-Beat Write

13/10

1

Notes
1. These numbers assume that the PowerPC 60x bus master is doing
address pipelining with TS_ occurring at the minimum time after
AACK_ is asserted. Also, the two numbers shown in the 1st Beat
column are for page miss/page hit.
2. In some cases, the numbers shown are averages and specific
instances may be longer or shorter.

3-8

Computer Group Literature Center Web Site

Functional Description

Table 3-4. PowerPC Bus to DRAM Access Timing — 50ns Hyper Devices
Clock Periods Required For:
Access Type

Total
Clocks

1st
Beat

2nd
Beat

3rd
Beat

4th
Beat

4-Beat Read after Idle (Quadword aligned)

8

1

1

1

11

4-Beat Read after Idle (Quadword misaligned)

8

2

1

1

12

4-Beat Read after 4-Beat Read
(Quad-word aligned)

5/2 1

1

1

1

8/5

4-Beat Read after 4-Beat Read
(misaligned)

4/2 1

2

1

1

8/6

4

1

1

1

7

4/3 1

1

1

1

7/6

8

-

-

-

8

7/5 1

-

-

-

7/5

4

-

-

-

4

9/7 1

-

-

-

9/7

4-Beat Write after Idle
4-Beat Write after 4-Beat Write
(Quad-word aligned)
1-Beat Read after Idle
1-Beat Read after 1-Beat Read
1-Beat Write after Idle
1-Beat Write after 1-Beat Write

Notes
1. These numbers assume that the PowerPC 60x bus master is doing
address pipelining with TS_ occurring at the minimum time after
AACK_ is asserted. Also, the two numbers shown in the 1st Beat
column are for page miss/page hit.
2. In some cases, the numbers shown are averages and specific
instances may be longer or shorter.

http://www.motorola.com/computer/literature

3-9

3

Falcon ECC Memory Controller Chip Set

ROM/Flash Speeds
The Falcon pair provides the interface for two blocks of ROM/Flash. Each
block can address up to 64MB of memory depending on the width
implemented for that block (16 bits or 64 bits). Bank A is 64 bits wide and
bank B is 16 bits wide. The access times for ROM/Flash are listed in Table
3-5 and Table 3-6.

3

Table 3-5. PowerPC 60x Bus to ROM/Flash Access Timing — 64 Bits
(32 Bits per Falcon)
Clock Periods Required For:
Access Type

Total
Clocks

1st
Beat

2nd
Beat

3rd
Beat

4th
Beat

4-Beat Read

20

16

16

16

68

4-Beat Write

N/A

N/A

N/A

N/A

N/A

1-Beat Read

20

-

-

-

20

1-Beat Write

19

-

-

-

19

Table 3-6. PowerPC 60x Bus to ROM/Flash Access Timing — 16 Bits (8 Bits
per Falcon)
Clock Periods Required For:
Access Type

Total
Clocks

1st
Beat

2nd
Beat

3rd
Beat

4th
Beat

4-Beat Read

68

64

64

64

260

4-Beat Write

N/A

N/A

N/A

N/A

N/A

1-Beat Read (2 bytes to 8 bytes)

68

-

-

-

68

1-Beat Read (1 byte)

20

-

-

-

20

1-Beat Write

19

-

-

-

19

3-10

Computer Group Literature Center Web Site

Functional Description

PowerPC 60x Bus Interface
The Falcon pair has a PowerPC slave interface only. It has no PowerPC
master interface. The slave interface is the mechanism for all accesses to
DRAM, ROM/Flash, and Falcon registers/SRAM.
Responding to Address Transfers
When the Falcon pair detects an address transfer to which it should
respond, it asserts AACK_ immediately if there is no uncompleted
PowerPC 60x bus data transfer in progress. If a transfer is in progress, the
Falcon pair waits and asserts AACK_ coincident with the uncompleted
data transfer’s last data beat if the Falcon pair is the slave for the previous
data. If it is not the slave for the previous data, the Falcon pair holds off
AACK_ until the CLOCK after the previous data transfer’s last data beat.
Completing Data Transfers
If an address transfer to the Falcon pair will have an associated data
transfer, the Falcon pair begins a read or write cycle to the accessed entity
(DRAM/ROM/Flash/internal register) as soon as the entity is free. If the
data transfer will be a read, the Falcon pair begins providing data to the
PowerPC 60x bus as soon as the entity has data ready and the PowerPC 60x
data bus is granted. If the data transfer will be a write, the Falcon pair
begins latching data from the PowerPC data bus as soon as any previously
latched data is no longer needed and the PowerPC 60x data bus has been
granted.
Cache Coherency
The Falcon pair supports cache coherency by monitoring the ARTRY_
control signal on the PowerPC 60x bus and behaving appropriately when
it is asserted. When ARTRY_ is asserted, if the access is a read, the Falcon
pair does not source the data for that access. If the access is a write, the
Falcon does not write the data for that access to the DRAM array.
Depending upon when the retry occurs however, the Falcon pair may cycle
the DRAM even though the data transfer does not happen.

http://www.motorola.com/computer/literature

3-11

3

Falcon ECC Memory Controller Chip Set

Cache Coherency Restrictions
The PowerPC 60x GBL_ signal must not be asserted in the CSR areas.

3

L2 Cache Support
The Falcon pair provides support for a look-aside L2 cache by
implementing a hold-off input, L2CLM_. On cycles that select the Falcon
pair, the Falcon pair samples L2CLM_ on the second rising edge of
CLOCK after the assertion of TS_. If L2CLM_ is high, the Falcon pair
responds normally to the cycle. If it is low, the Falcon pair ignores the
cycle.
Note

The MVME2300 series boards have no L2 cache.

ECC
The Falcon pair performs single-bit error correction and double-bit error
detection for DRAM. (No checking is provided for ROM/Flash.) The 64bit wide PowerPC 60x data bus is divided into upper (DH0-DH31) and
lower (DL0-DL31) halves. Each half is routed through a Falcon which
multiplexes it with half of the DRAM data bus. Each Falcon connects to
64 DRAM data-bits and to 8 DRAM check-bits. The total DRAM array
width is 144 bits (2×[64+8]).
Cycle Types
To support ECC, the Falcon pair always deals with DRAM using full
width (144-bit) accesses. When the PowerPC 60x bus master requests any
size read of DRAM, the Falcon pair reads 144 bits at least once. When the
PowerPC 60x bus master requests a four-beat write to DRAM, the Falcon
pair writes all 144 bits twice. When the PowerPC 60x bus master requests
a single-beat write to DRAM, the Falcon pair performs a 144-bit wide read
cycle to DRAM, merges in the appropriate PowerPC 60x bus write data,
and writes 144 bits back to DRAM.

3-12

Computer Group Literature Center Web Site

Functional Description

Error Reporting
The Falcon pair checks data from the DRAM during single- and four-beat
reads, during single-beat writes, and during scrubs. Table 3-7 shows the
actions taken by the Falcon pair for different errors during these accesses.
Note that the Falcon pair does not assert TEA_ on double-bit errors. In fact,
the Falcon pair does not have a TEA_ signal pin and it assumes that the
system does not implement TEA_. The Falcon can, however, assert
machine check (MCP_) on double-bit errors.
Table 3-7. Error Reporting
Error Type

Single-Beat/
Four-Beat Read
Terminate the
PowerPC 60x bus cycle
normally.

Single-Bit
Error

Triple- (or
greater)
Bit Error

Four-Beat Write

Terminate the
PowerPC 60x bus cycle
normally.

Provide corrected data to Correct the data read
from DRAM, merge with
the PowerPC 60x bus
the write data, and write
master.
the corrected, merged
data to DRAM.
Assert INT_ if so
enabled.
Terminate the
PowerPC 60x bus cycle
normally.

Double-Bit
Error

Single-Beat Write

Assert INT_ if so
enabled.
Terminate the
PowerPC 60x bus cycle
normally.

Scrub
This cycle is not seen on
the PowerPC 60x bus.

N/A 1

Write corrected data
back to DRAM if so
enabled.

Assert INT_ if so
enabled.
This cycle is not seen on
the PowerPC 60x bus.

Provide miss-corrected, Do not perform the write
Do not perform the
raw DRAM data to the
write portion of the
portion of the readN/A 1
PowerPC 60x bus master. modify-write cycle to
read-modify-write cycle
to DRAM.
DRAM.
Assert INT_ if so
enabled.
Assert INT_ if so
Assert INT_ if so
enabled.
Assert MCP_ if so
enabled.
enabled.
Assert MCP_ if so
enabled.
Some of these errors are detected correctly and are treated the same as double-bit errors. The rest could
show up as “no error” or “single-bit error”, both of which are incorrect.

Notes 1. No opportunity for error, since no read of DRAM occurs
during a four-beat write.

http://www.motorola.com/computer/literature

3-13

3

Falcon ECC Memory Controller Chip Set

Error Logging
ECC error logging is facilitated by the Falcon because of its internal
latches. When an error (single- or double-bit) occurs in the DRAMs to
which a Falcon is connected, it records the address and syndrome bits
associated with the data in error. Each Falcon performs this logging
function independently of the other. Once a Falcon has logged an error, it
does not log any more until the elog control /status bit has been cleared by
software unless the currently logged error is single-bit and a new, doublebit error is encountered. The logging of errors that occur during scrub can
be enabled/disabled in software. Refer to the Error Logger Register
section of this chapter.

3

DRAM Tester
The DRAM tester is for factory testing purposes only; it should not be used
by customers.

ROM/Flash Interface
The Falcon pair provides the interface for two blocks of ROM/Flash. Each
block provides addressing and control for up to 64MB. Note that no error
checking (ECC or Parity) is provided for the ROM/Flash.
The ROM/Flash interface allows each block to be individually configured
by jumpers and/or by software as follows:
1. Access for each block is controlled by two software-programmable
control register bits: an overall enable, a write enable, and a reset
vector enable. The overall enable controls normal read accesses.
The write enable is used to program Flash devices. The reset vector
enable controls whether the block is also enabled at $FFF00000 $FFFFFFFF. The overall enable and write enable bits are always
cleared at reset. The reset vector enable bit is cleared or set at reset
depending on external jumper configuration. This allows the board
designer to use external jumpers to enable/disable Block A/B
ROM/Flash as the source of reset vectors.
The write enable bit is cleared at reset for both blocks.

3-14

Computer Group Literature Center Web Site

Functional Description

2. The base address for each block is software programmable. At reset,
Block A’s base address is $FF000000 and Block B’s base address is
$FF400000.
As noted above, in addition to appearing at the programmed base
address, the first 1Mbyte of Block A/B also appears at $FFF00000$FFFFFFFF if the reset vector enable bit is set.
3. The assumed size for each block is software-programmable. It is
initialized to its smallest setting at reset.
4. The assumed device type for Block A/B is determined by an
external jumper at reset time. It also is available as a status bit and
cannot be changed by software.
When the width status bit is cleared, the block’s ROM/Flash is
considered to be 16 bits wide, where each Falcon interfaces to 8 bits.
In this mode, the following rules are enforced:
a. Only single-byte writes are allowed (all other sizes are ignored).
b. All reads are allowed (multiple accesses are performed to the
ROM/Flash devices when the read is for greater than one byte).
When the width status bit is set, the block’s ROM/Flash is
considered to be 64 bits wide, where each Falcon interfaces with 32
bits. In this mode, the following rules are enforced:
a. Only aligned, 4-byte writes should be attempted (all other sizes
are ignored).
b. All reads are allowed (multiple accesses to the ROM/Flash
device are performed for burst reads).
More information about ROM/Flash can be found in the Programming
Model section of this chapter.
In order to place code correctly in the ROM/Flash devices, address
mapping information is required. Table 3-8 shows how PowerPC 60x
addresses map to the ROM/Flash addresses when ROM/Flash is 16 bits
wide (8 bits per Falcon). Table 3-9 shows how they map when Flash is 64
bits wide (32 bits per Falcon).

http://www.motorola.com/computer/literature

3-15

3

Falcon ECC Memory Controller Chip Set

Table 3-8. PowerPC 60x to ROM/Flash Address Mapping — ROM/Flash
16 Bits Wide (8 Bits per Falcon)

3

PowerPC 60x A0-A31

ROM/Flash A22-A0

ROM/Flash Device Selected

$XX000000

$000000

Upper

$XX000001

$000001

Upper

$XX000002

$000002

Upper

$XX000003

$000003

Upper

$XX000004

$000000

Lower

$XX000005

$000001

Lower

$XX000006

$000002

Lower

$XX000007

$000003

Lower

$XX000008

$000004

Upper

$XX000009

$000005

Upper

$XX00000A

$000006

Upper

$XX00000B

$000007

Upper

$XX00000C

$000004

Lower

$XX00000D

$000005

Lower

$XX00000E

$000006

Lower

$XX00000F

$000007

Lower

.
.
.

.
.
.

.
.
.

$XXFFFFF8

$7FFFFC

Upper

$XXFFFFF9

$7FFFFD

Upper

$XXFFFFFA

$7FFFFE

Upper

$XXFFFFFB

$7FFFFF

Upper

$XXFFFFFC

$7FFFFC

Lower

$XXFFFFFD

$7FFFFD

Lower

$XXFFFFFE

$7FFFFE

Lower

$XXFFFFFF

$7FFFFF

Lower

3-16

Computer Group Literature Center Web Site

Functional Description

Table 3-9. PowerPC 60x to ROM/Flash Address Mapping — ROM/Flash
64 Bits Wide (32 Bits per Falcon)
PowerPC 60x A0-A31

ROM/Flash A22-A0

ROM/Flash Device Selected

$X0000000

$000000

Upper

$X0000001

$000000

Upper

$X0000002

$000000

Upper

$X0000003

$000000

Upper

$X0000004

$000000

Lower

$X0000005

$000000

Lower

$X0000006

$000000

Lower

$X0000007

$000000

Lower

$X0000008

$000001

Upper

$X0000009

$000001

Upper

$X000000A

$000001

Upper

$X000000B

$000001

Upper

$X000000C

$000001

Lower

$X000000D

$000001

Lower

$X000000E

$000001

Lower

$X000000F

$000001

Lower

.
.
.

.
.
.

.
.
.

$X3FFFFF0

$7FFFFE

Upper

$X3FFFFF1

$7FFFFE

Upper

$X3FFFFF2

$7FFFFE

Upper

$X3FFFFF3

$7FFFFE

Upper

$X3FFFFF4

$7FFFFE

Lower

$X3FFFFF5

$7FFFFE

Lower

$X3FFFFF6

$7FFFFE

Lower

$X3FFFFF7

$7FFFFE

Lower

$X3FFFFF8

$7FFFFF

Upper

http://www.motorola.com/computer/literature

3-17

3

Falcon ECC Memory Controller Chip Set

Table 3-9. PowerPC 60x to ROM/Flash Address Mapping — ROM/Flash
64 Bits Wide (32 Bits per Falcon) (Continued)

3

PowerPC 60x A0-A31

ROM/Flash A22-A0

ROM/Flash Device Selected

$X3FFFFF9

$7FFFFF

Upper

$X3FFFFFA

$7FFFFF

Upper

$X3FFFFFB

$7FFFFF

Upper

$X3FFFFFC

$7FFFFF

Lower

$X3FFFFFD

$7FFFFF

Lower

$X3FFFFFE

$7FFFFF

Lower

$X3FFFFFF

$7FFFFF

Lower

Refresh/Scrub
The Refresh/Scrub operation varies according to which DRAM blocks are
populated: (A and/or B) but not (C and D); or (A and/or B) and (C and/or
D).
Blocks A and/or B Present, Blocks C and D Not Present
The Falcon pair performs refreshes by doing a burst of four RAS_ cycles
approximately once every 60µs. This increases to once every 30µs when
certain DRAM devices are used. (The refresh rate is controlled by the
ram_fref bit in the status registers.) RAS_ is asserted to both of Blocks A
and B during each of the 4 cycles. Along with RAS_, the Falcon pair also
asserts CAS_ with (OE_ then WE_) to one of the blocks during one of the
four cycles. This forms a read-modify-write which is a scrub cycle to that
location.
After each of the 4 cycles, the DRAM row address increments by one.
When it reaches all 1s, it rolls over and starts anew at 0. Each time the row
address rolls over, the block that is scrubbed toggles between A and B.
Every second time that the row address rolls over, which of the 4 cycles
that is a scrub changes from 1st to 2nd, from 2nd to 3rd, from 3rd to 4th,
or from 4th to 1st. Every eighth time that the row address rolls over, the
column address increments by one. When the column address reaches all
ones, it rolls over and starts over at 0. Each time the column address rolls
over, the SC1, SC0 bits in the scrub/refresh register increment by 1.

3-18

Computer Group Literature Center Web Site

Functional Description

Blocks A and/or B Present, Blocks C and/or D Present
The Falcon pair performs refreshes by doing a burst of four RAS_ cycles
approximately once every 30µs. This increases to once every 15µs when
certain DRAM devices are used. (The refresh rate is controlled by the
ram_fref bit in the status registers.) RAS_ is asserted to blocks A and B
during the first cycle, to blocks C and D during the second cycle, back to
blocks A and B during the third cycle and to blocks C and D during the
fourth cycle. Along with RAS, the Falcon pair also asserts CAS_ (with
OE_ then WE_) to one of the blocks during one of the four cycles. This
forms a read-modify-write which is a scrub cycle to that location.
After the second and fourth cycles, the DRAM row address increments by
one. When it reaches all 1s, it rolls over and starts anew at 0. Each time the
row address rolls over, the block that is scrubbed toggles between A/C and
B/D. Every second time the row address rolls over, which of the 4 cycles
that is a scrub changes from 1st to 2nd, from 2nd to 3rd, from 3rd to 4th,
or from 4th to 1st. Every eighth time that the row address rolls over, the
column address increments by 1. When the column address reaches all
ones, it rolls over and starts anew at 0. Each time the column address rolls
over, the SC1, SC0 bits in the scrub/refresh register increment by 1.
Note that an entire refresh of DRAM is achieved every time the row
address rolls over, and that an entire scrub of DRAM is achieved every
time the column address rolls over.
During scrub cycles, if the SWEN bit is cleared, the Falcon pair does not
perform the write portion of the read-modify write cycle. If the SWEN bit
is set, the Falcon pair does perform the write unless it encounters a doublebit error during the read.
If so enabled, single- and double-bit scrub errors are logged, and the
PowerPC 60x bus master is notified via interrupt.

http://www.motorola.com/computer/literature

3-19

3

Falcon ECC Memory Controller Chip Set

DRAM Arbitration
The Falcon pair has 3 different entities that can request use of the DRAM
cycle controller:

3

❏

The PowerPC 60x bus master

❏

The tester

❏

The refresher/scrubber

The Falcon pair’s arbiters assign priority with the refresher/scrubber
highest, the tester next, and the PowerPC 60x bus lowest. When no
requests are pending, the arbiter defaults to providing a PowerPC 60x bus
grant. This provides fast response for PowerPC 60x bus cycles. Although
the arbiter operates on a priority basis, it also performs a pseudo roundrobin algorithm in order to prevent starving any of the requesting entities.
Note that PowerPC DRAM or ROM/Flash accesses should not be
attempted while the tester is in operation.

Chip Defaults
Some jumper option kinds of parameters need to be configured by
software in the Falcon pair. These parameters include DRAM and
ROM/Flash attributes. In order to set up these parameters correctly,
software needs some way of knowing about the devices that are being used
with the Falcon pair. One way of providing this information is by using the
power-up status registers in the Falcon pair. At power-up reset, each
Falcon latches the level on its RD0-RD63 signal pins into its power-up
status registers. Since the RD signal pins are high impedance during reset,
their power-up reset level can be controlled by pullup/pulldown resistors.
(They are pulled up internally.)
3Falcon ECC Memory Controller Chip Set
0Programming Model

3-20

Computer Group Literature Center Web Site

Programming Model

External Register Set
Each chip in the Falcon pair has an external register chip select pin which
enables it to talk to an external set of registers. This interface is like the
ROM/Flash interface but with less flexibility. It is intended for the system
designer’s use in implementing general-purpose status/control signals.
Refer to the Programming Model section of this chapter for a description
of the external register set.

CSR Accesses
An important part of the operation of a Falcon pair is that the value written
to the internal control registers and SRAM in each of the two chips must
be the same at all times. To facilitate this, writes to the pair itself are
restricted to the upper Falcon only. When software writes to the upper
Falcon, hardware in the two chips shifts this same value into the lower
Falcon before the cycle completion is acknowledged. The shifting is done
in holding registers such that the actual update of the control register
happens on the same CLOCK cycle in both chips. Writes to the upper
Falcon can be single-byte or 4-byte. Writes to the lower Falcon are
ignored.
This duplicating of writes from upper to lower applies to the Falcon’s
internal registers and SRAM only. No duplication is performed for writes
to DRAM, ROM/Flash, or the External Register set.

Programming Model
The following sections describe the programming model for the Falcon
chip set.

CSR Architecture
The CSR (Control/Status Register set) consists of the chip’s internal
register set, its test SRAM, and its external register set. The base address
of the CSR is hard coded to the address $FEF80000 (or $FEF90000 if the
SIO pin is low at reset).

http://www.motorola.com/computer/literature

3-21

3

Falcon ECC Memory Controller Chip Set

Accesses to the CSR are mapped differently depending on whether they
are reads or writes. For reads, CSR data read on the upper half of the data
bus comes from the upper Falcon while CSR data read on the lower half of
the data bus comes from the lower Falcon. (See Figure 3-4.)

3

Lower
Data Bus

Upper
Data Bus

MPC60x Master

CSR

CSR

Upper FALCON

Lower FALCON

1903 9609

Figure 3-4. Data Path for Reads from the Falcon Internal CSRs
For writes, internal register or test SRAM data written on the upper half of
the data bus goes to the upper Falcon and is automatically copied by
hardware to the lower Falcon. Internal register or test SRAM data written
on the lower half of the data bus does not go to either Falcon in the pair,
but the access is terminated normally with TA_. (See Figure 3-5.)

3-22

Computer Group Literature Center Web Site

Programming Model

3

Lower
Data Bus

Upper
Data Bus

MPC60x Master

CSR

CSR

Upper FALCON

Lower FALCON

1904 9609

Figure 3-5. Data Path for Writes to the Falcon Internal CSRs
External register data that is written on the upper data bus goes through the
upper Falcon, while data that is written on the lower data bus goes through
the lower Falcon. Unlike the internal register set, there is no automatic
copying of upper data to lower data for the external register set.
CSR read accesses can have a size of 1, 2, 4, or 8 bytes with any alignment.
CSR write accesses are restricted to a size of 1 or 4 bytes and they must be
aligned. Some Tester registers are limited to 4-byte only accesses. Figure
3-6 through Figure 3-9 show the memory maps for the different kinds of
access.

http://www.motorola.com/computer/literature

3-23

Falcon ECC Memory Controller Chip Set

3

$FEF80000

Upper Falcon

$FEF80001

Upper Falcon

$FEF80002

Upper Falcon

$FEF80003

Upper Falcon

$FEF80004

Lower Falcon

$FEF80005

Lower Falcon

$FEF80006

Lower Falcon

$FEF80007

Lower Falcon

$FEF80008

Upper Falcon

$FEF80009

Upper Falcon

$FEF807FF

Lower Falcon

1905 9609

Figure 3-6. Memory Map for Byte Reads to CSR

3-24

Computer Group Literature Center Web Site

Programming Model

$FEF80000

Both Falcons

$FEF80001

Both Falcons

$FEF80002

Both Falcons

$FEF80003

Both Falcons

3
Writes not allowed Here

$FEF80004
$FEF80005
$FEF80006
$FEF80007
$FEF80008

Both Falcons

$FEF80009

Both Falcons

$FEF807FF

1906 9609

Figure 3-7. Memory Map for Byte Writes to Internal Register Set
and Test SRAM

http://www.motorola.com/computer/literature

3-25

Falcon ECC Memory Controller Chip Set

3

$FEF80000

Upper Falcon

$FEF80004

Lower Falcon

$FEF80008

Upper Falcon

$FEF8000C

Lower Falcon

$FEF807FC

Lower Falcon

1907 9609

Figure 3-8. Memory Map for 4-Byte Reads to CSR

Writes not allowed Here
$FEF80000

Both Falcons

$FEF80004
$FEF80008

Both Falcons

$FEF8000C

$FEF807FC

1908 9609

Figure 3-9. Memory Map for 4-Byte Writes to Internal Register Set
and Test SRAM

3-26

Computer Group Literature Center Web Site

Programming Model

Register Summary
Table 3-10 shows a summary of the CSR. Note that the table shows only
addresses for accesses to the upper Falcon. To get the addresses for
accesses to the lower Falcon, add 4 to the address shown. Since the only
way to write to the lower Falcon’s internal register set and test SRAM is to
duplicate what is written to the upper Falcon, only the addresses shown in
the table should be used for writes to them. Writes to the external register
set are not duplicated from upper to lower, so writes to them can be via the
upper or lower Falcon.

Detailed Register Bit Descriptions
The sections following Table 3-10 describe the registers and their bits in
detail. The possible operations for each bit in the register set are as follows:
R

The bit is a read-only status bit.

R/W

The bit is readable and writable.

R/C

The bit is cleared by writing a 1 to itself.

C

The bit is readable. Writing a 0 to the bit will clear it.

The possible states of the bits after local and power-up reset are as defined
below.
P

The bit is affected by power-up reset.

L

The bit is affected by local reset.

X

The bit is not affected by reset.

V

The effect of reset on the bit is variable.

http://www.motorola.com/computer/literature

3-27

3

Falcon ECC Memory Controller Chip Set

Table 3-10. Register Summary
27

28

29

30

31

adis

ram fref

ram spd0

ram spd1

chipu

26

25

24

23

22

21

20

19

18

17

16

15

14

isa_hole

aonly_en

RAM C
SIZ

ram d en

ram c en

RAM B
SIZ
RAM B BASE

RAM C BASE

RAM D
SIZ
RAM D BASE
por
mcken

mien

sien

tien

FEF80038

scof

esblk0

ERROR_SYNDROME

esblk1

embt

esbt

scien

derc

esen

escb

elog

rwcb

refdis

FEF80028

SBE COUNT

ERROR_ADDRESS
rtest2

rtest1

rtest0

swen

scb0

scb1

FEF80048

ROW ADDRESS

rom b we

tb0

tb1

tzbit

tfail

tpass

tsse

trun

TEST PC

rom b en

ROM B
SIZ

rom a we

ROM A
SIZ

rom a en

ROM B BASE

FEF80058

COL ADDRESS
rom_a_rv rom_b_rv

rom_a_64 rom_b_64

ROM A BASE

FEF80050

FEF80068

13

CLK FREQUENCY

FEF80060

12

FEF80020

ram b en

ram a en

RAM A
SIZ
RAM A BASE

FEF80040

DEVID
REVID

FEF80018

FEF80030

11

VENDID

FEF80008

FEF80010

10

9

8

FEF80000

7

6

5

4

3

2

1

3

0

BIT # ---->

TEST IR

FEF80070

TEST A0

FEF80078

TEST A1

FEF80080
FEF80088

TEST D0 (Upper 8 Bits)

FEF80090

TEST D0 (Middle 32 Bits)

FEF80098

TEST D0 (Lower 32 Bits)

3-28

Computer Group Literature Center Web Site

Programming Model

Table 3-10. Register Summary (Continued)
FEF800A0
FEF800A8

TEST D1 (Upper 8 Bits)

FEF800B0

TEST D1 (Middle 32 Bits)

FEF800B8

TEST D1 (Lower 32 Bits)

FEF800C0
FEF800C8

TEST D2 (Upper 8 Bits)

FEF800D0

TEST D2 (Middle 32 Bits)

FEF800D8

TEST D2 (Lower 32 Bits)

FEF800E0
FEF800E8

TEST D3 (Upper 8 Bits)

FEF800F0

TEST D3 (Middle 32 Bits)

FEF800F8

TEST D3 (Lower 32 Bits)

FEF80100

CTR32

FEF80200
.
.
FEF803F8
FEF80400

PR_STAT1

FEF80408
.
.
FEF804F8
FEF80500

PR_STAT2

FEF80508
.
.
FEF807F8
FEF80800
.
.
FEF80BF8

http://www.motorola.com/computer/literature

TEST SRAM

3-29

3

Falcon ECC Memory Controller Chip Set

Table 3-10. Register Summary (Continued)

3

FEF80C00
.
.
FEF87FF8
FEF88000
.
.
FEF8FFF8

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

BIT # ---->

EXTERNAL REGISTER SET

Notes 1. All shaded bit fields are reserved and read as zeros.
2. All status bits are shown in italics.
3. All control bits are shown with underline.
4. All control and status bits are shown with italics and underline.
Vendor/Device Register
$FEF80000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

Address
Bit
Name

Operation
Reset

VENDID

DEVID

READ ONLY
X

READ ONLY
X

VENDID

Note

The current value of VENDID ($1507) is incorrect. The correct
vendor ID is $1057. This error is presently handled as an erratum.

DEVID

3-30

This read-only register contains the value $1507. It
represents the vendor number assigned to Motorola Inc.

This read-only register contains the value $4802. It is the
device number for the Falcon.

Computer Group Literature Center Web Site

Programming Model

Revision ID/ General Control Register
$FEF80008
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

Address
Bit

READ ONLY

X

X

VP
0P
0P
1P
0P
X
X
X
0 PL
VP
X
X
X
X
X
X

Reset

READ ZERO

R
R/W
R/W
R/W
R/W
R
R
R
R/W
R
R
R
R
R
R
R

Operation

REVID

chipu
ram spd1
ram spd0
ram fref
adis
0
0
0
isa_hole
aonly_en
0
0
0
0
0
0

Name

REVID

The REVID bits are hard-wired to indicate the revision
level of the Falcon. The values are $01 for the first
revision, $02 for the second.

aonly_en

Normally, the Falcon pair responds to address-only cycles
only if they fall within the address range of one of its
enabled map decoders. When the aonly_en bit is set, the
Falcon pair also responds to address-only cycles that fall
outside of the range of its enabled map decoders provided
they are not acknowledged by some other slave within 8
clock periods. aonly_en is read-only and reflects the level
that was on the CKD4 pin at power-up reset.

isa_hole

When it is set, isa_hole disables any of the DRAM or
ROM/Flash blocks from responding to PowerPC accesses
in the range from $000A0000 to $000BFFFF. This has the
effect of creating a hole in the DRAM memory map for
accesses to ISA. When isa_hole is cleared, there is no hole
created in the memory map.

adis

When adis is clear, fast page mode operation is used for
back-to-back pipelined accesses to the same page within
DRAM. When it is set, RAS is cycled between accesses.
This bit should normally be cleared unless the Falcon has
a problem operating that way.

http://www.motorola.com/computer/literature

3-31

3

Falcon ECC Memory Controller Chip Set

ram fref

3

Some DRAMs require that they be refreshed at the rate of
7.8µs per row rather than the standard 15.6µs per row. If
any of the DRAM devices require the higher rate, then the
ram fref bit should be left set, otherwise, it can be cleared.

ram spd0,ram spd1
Together ram spd0,ram spd1 control DRAM timing used
by the Falcon pair. They are encoded as shown:
Table 3-11. ram spd1,ram spd0 and DRAM Type
ram spd0, ram spd1
%00
%01
%10
%11

DRAM Speed
70ns
60ns
50ns

DRAM Type
Page Mode
Page Mode
Reserved
EDO

EDO refers to DRAMs that use an output latch on data.
Sometimes these parts are referred to as Hyper-Page
Mode DRAMs.
To ensure reliable operation, the system should always be
configured so that these two bits are encoded to match the
slowest devices used. Also, if any parts do not support
EDO, then these bits must set for Page Mode. The only
case in which it is permissible to set ram spd0,ram spd1
for “50ns, EDO” is when all parts are 50ns and all support
EDO.
chipu

3-32

chipu indicates which of the two positions within the
Falcon pair is occupied by this chip. When chipu is low,
this chip is connected to the lower half of the PowerPC
60x data bus and it does not drive TA_ or AACK_. When
chipu is high, this chip is connected to the upper half of
the PowerPC 60x data bus, and it drives TA_ and AACK_.
chipu reflects the level that was on the ERCS_ pin during
power-up reset.

Computer Group Literature Center Web Site

Programming Model

DRAM Attributes Register

!
Caution

R/W
R/W
R/W
R
R
R
R
R/W
R/W
R/W
R/W
R
R
R
R
R/W
R/W
R/W
R/W
R
R
R
R
R/W
R/W
R/W
R/W
R
R
R
R
R/W
0P
0P
0P
X
X
X
X
0 PL
0P
0P
0P
X
X
X
X
0 PL
0P
0P
0P
X
X
X
X
0 PL
0P
0P
0P
X
X
X
X
0 PL

OPERATI
ON
RESET

ram d siz2
ram d siz1
ram d siz0
0
0
0
0
ram d en
ram c siz2
ram c siz1
ram c siz0
0
0
0
0
ram c en
ram b siz2
ram b siz1
ram b siz0
0
0
0
0
ram b en
ram a siz2
ram a siz1
ram a siz0
0
0
0
0
ram a en

NAME

$FEF80010
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

ADDRESS
BIT

To satisfy DRAM component requirements before the memory is used at
start-up, software must always wait at least 500µs after the initial setting
of a bank’s size bits to a nonzero value before the initial access to that
bank. These settings are stored in the DRAM Attributes register (offset
$FEF80010). The delay is introduced to ensure that the bank has been
refreshed at least eight times before use. The 500µs interval is sufficient,
as the CLK Frequency register (offset $FEF80020) is within a factor of
two of matching the actual processor clock frequency.

ram a/b/c/d en
Control bits that enable accesses to the corresponding
block of DRAM when set, and disable them when cleared.
ram a/b/c/d siz0-2
These control bits define the size of their corresponding
block of DRAM. Table 3-12 shows the block
configuration assumed by the Falcon pair for each value
of ram siz0-ram siz2.

http://www.motorola.com/computer/literature

3-33

3

Falcon ECC Memory Controller Chip Set

Table 3-12. Block_A/B/C/D Configurations

3

ram a/b/c/d
siz0-2

Block Size

%000

0MB

%001

%010

%011

%100

%101

16MB

32MB

Devices Used

Technology

Comments

-

Block Not Present

-

-

-

36

-

1Mx4s

4Mb

8

-

1Mx18s

16Mb

4

-

1Mx36s

4Mb/1Mb

18

-

2Mx8s

16Mb

144

-

4Mx1s

4Mb

36

-

4Mx4s

16Mb

8

-

4Mx18s

64Mb

4

-

4Mx36s

16Mb/4Mb

18

-

8Mx8s

64Mb

144

-

16Mx1s

16Mb

36

-

16Mx4s

64Mb

4

-

16Mx36s

64Mb/16Mb

144

-

64Mx1s

64Mb

-

-

-

SIMM/DIMM

64MB

128MB

256MB

%110

1024MB

%111

0MB

-

SIMM/DIMM

SIMM/DIMM

Reserved

It is important that all of the ram a/b/c/d siz0-2 bits be set to accurately
match the actual size of their corresponding blocks. This includes clearing
them to %000 if their corresponding blocks are not present. Failure to do
so will cause problems with addressing and with scrub error logging.

3-34

Computer Group Literature Center Web Site

Programming Model

DRAM Base Register

Name
Operation
Reset

$FEF80018
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

Address
Bit

RAM A BASE

RAM B BASE

RAM C BASE

RAM D BASE

READ/WRITE
0 PL

READ/WRITE
0 PL

READ/WRITE
0 PL

READ/WRITE
0 PL

RAM A/B/C/D BASE
These control bits define the base address for their block’s
DRAM. RAM A/B/C/D BASE bits 0-7/8-15/16-23/2431 correspond to PowerPC 60x address bits 0 - 7. For
larger DRAM sizes, the lower significant bits of A/B/C/D
BASE are ignored. This means that the block’s base
address will always appear at an even multiple of its size.
Note that bit 0 is MSB.
Also note that the combination of RAM_X_BASE and
ram_x_siz should never be programmed such that
DRAM responds at the same address as the CSR,
ROM/Flash, External Register Set, or any other slave on
the PowerPC bus.
CLK Frequency Register

READ ZERO

READ ZERO

42 P

X

X

1P
X
X
X
X
X
X
X

Reset

CLK
FREQUENCY
READ/WRITE

R/C
R
R
R
R
R
R
R

Operation

por
0
0
0
0
0
0
0

Name

$FEF80020
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

Address
Bit

CLK FREQUENCY
These bits should be programmed with the hexadecimal
value of the operating CLOCK frequency in MHz (i.e.
$42 for 66MHz). When these bits are programmed this
way, the chip’s prescale counter produces a 1MHz output.

http://www.motorola.com/computer/literature

3-35

3

Falcon ECC Memory Controller Chip Set

The output of the chip prescale counter is used by the
refresher/scrubber and the 32-bit counter. After power-up,
this register is initialized to $42 (for 66MHz).

3

por

por is set by the occurrence of power-up reset. It is cleared
by writing a 1 to it. Writing a 0 to it has no effect.

ECC Control Register
$FEF80028
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

Address
Bit

mcken R/W 0 PL

X
X
X
X
X
X

3-36

X

0 PL
0 PL
0 PL
0 PL
X
X
X
X
1 PL
0 PL
0 PL
X
X
X
X
X

X

R
R
R
R
R
R

Reset

R

R/W
R/W
R/W
R/W
R
R
R
R
R/W
R/W
R/W
R
R
R
R
R

READ ZERO

0
0
0
0
0
0

mien
sien
tien
scien
0
0
0
0
derc
rwcb
refdis
0
0
0
0
0

Operation

0

Name

refdis

When set, refdis causes the refresher and all of its
associated counters and state machines to be cleared and
maintained that way until refdis is removed (cleared). If a
refresh cycle is in process when refdis is updated by a
write to this register, the update does not take effect until
the refresh cycle has completed. This prevents the
generation of illegal cycles to the DRAM when refdis is
updated.

rwcb

rwcb, when set, causes reads and writes to DRAM from
the PowerPC 60x bus to access check-bit data rather than
normal data. The data path used for this mode is DH24-31
for check-bit data controlled by the upper Falcon, and
DL24-31 for check-bit data controlled by the lower
Falcon. Each 8-bit check-bit location services 64 bits of
normal data. The 64 bits of data are all within the same
Falcon. Each Falcon provides every other 32 bits of data
in the normal mode. The following figure shows the
relationship between normal data and check-bit data.

Computer Group Literature Center Web Site

Programming Model

So, for example, the check-bits that correspond to the 64
bits of data found in normal mode (rwcb=0) at
$00001000-$00001003 and $00001008-$0000100b are
written and read in check-bit mode (rwcb=1) at location
$00001003.
Connected to
Lower Falcon

Connected to
Upper Falcon

0

4

8

C

Normal
View of
Data
(rwcb=0)
32 bits

0

1

2

3

4

5

6

7

Check-bit
View
(rwcb=1
11707.00 9701

Note that if test software wishes to force a single-bit error
to a location using the rwcb function, the scrubber may
correct the location before the test software gets a chance
to check for the single-bit error. This can be avoided by
disabling scrub writes. Also note that writing bad checkbits can set the elog bit in the Error Logger register. The
writing of check-bits causes the Falcon to perform a readmodify-write to DRAM. If the location to which checkbits are being written has a single- or double-bit error, data
in the location may be altered by the write check-bits
operation. To avoid this, it is recommended that the derc
bit also be set while the rwcb bit is set. A possible
sequence for performing read-write check-bits is as
follows:

http://www.motorola.com/computer/literature

3-37

3

Falcon ECC Memory Controller Chip Set

1. Disable scrub writes by clearing the swen bit if it is set.
2. Stop all DRAM Tester operations by clearing the trun bit.

3

3. Make sure software is not using DRAM at this point, because while
rwcb is set, DRAM will not function as normal memory.
4. Set the derc and rwcb bits in the Data Control register.
5. Perform the desired read and/or write check-bit operations.
6. Clear the derc and rwcb bits in the Data Control register.
7. Perform the desired testing related to the location/locations that
have had their check-bits altered.
8. Enable scrub writes by setting the swen bit if it was set before.
derc

Setting derc to 1 alters Falcon pair operation as follows:

1. During reads, data is presented to the PowerPC 60x data bus
uncorrected from the DRAM array.
2. During single-beat writes, data is written without correcting singlebit errors that may occur on the read portion of the read-modifywrite. Check-bits are generated for the data being written.
3. During single-beat writes, the write portion of the read-modifywrite happens regardless of whether there is a multiple-bit error
during the read portion. No correction of data is attempted. Checkbits are generated for the data being written.
4. During refresh/scrub cycles, if swen is set, a read-write to DRAM
happens with no attempt to correct data bits. Check-bits are
generated for the data being written.
derc is useful for initializing DRAM after power-up and
for testing DRAM, but it should be cleared during normal
system operation.
scien

3-38

When scien is set, the rolling over of the SBE COUNT
register causes the INT_ signal pin to pulse true.

Computer Group Literature Center Web Site

Programming Model

tien

When tien is set, the setting of the tpass or the tfail bit
causes the INT_ signal pin to pulse true.

sien

When sien is set, the logging of a single-bit error causes
the INT_ signal pin to pulse true.

mien

When mien is set, the logging of a non-correctable error
causes the INT_ signal pin to pulse true.

mcken

When mcken is set, the detection of a multiple-bit error
during a PowerPC read or write causes the Falcon to pulse
its machine check interrupt request pin (MCP_) true.
When mcken is cleared, the Falcon does not ever assert its
MCP_ pin.
The Falcon never asserts its MCP_ pin in response to a
multiple-bit error detected during a scrub cycle.

!
Caution

The INT_ and MCP_ pins are the only non-polled notification that a
multiple-bit error has occurred. The Falcon pair does not assert TEA as a
result of a multiple bit error. In fact, the Falcon pair does not have a TEA_
signal pin and it assumes that the system does not implement TEA_.

Error Logger Register
Address

$FEF80030
scof
0
0
0
esblk1
esblk0
0
0

READ ONLY

R/C
R
R
R
R
R
R
R

READ/WRITE

XP

0P
X
X
X
X
X
X
X

Reset

SBE_COUNT

XP
XP
0 PL
XP
X
X
X
0P

Operation

ERROR_SYNDROME

R
R
R/W
R
R
R
R
R/C

31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

Name

esbt
embt
esen
escb
0
0
0
elog

Bit

0P

The Error Logger and Error Address registers behave the same as the other
registers, in that data written to the upper Falcon is automatically
duplicated in the lower Falcon. They also behave the same as the other
registers, in that status read from the upper Falcon pertains to the upper
Falcon, and status read from the lower Falcon pertains to the lower Falcon.

http://www.motorola.com/computer/literature

3-39

3

Falcon ECC Memory Controller Chip Set

Unlike most of the other registers, however, it is normal for this status to
differ between the two. This is due to the fact that each Falcon is connected
to its own set of DRAMs. The upper Falcon can log an error during a cycle
and the local Falcon not, or vice-versa. Or they can both log an error during
the same cycle and have the attributes of the errors differ.

3

Due to the above characteristics, software must monitor both the upper and
lower Falcon’s Error Logger and Error Address registers. This includes
checking the elog bit from the upper Falcon and from the lower Falcon.
When the upper Falcon logs an error, it updates its attribute bits (escb,
embt, esbt, ERROR_SYNDROME, eblk0, eblk1, and
ERROR_ADDRESS) to match the results of the read cycle for its portion
of the DRAM array. When the lower Falcon logs an error, it updates its
attribute bits to match the results of the read cycle for its portion of the
DRAM array.
While the logging of errors by one Falcon in a pair does not affect the
logging of errors by the other, writing to the Error Logger Register control
bits affects both Falcons. This is of particular interest as regards the elog
bit. Writing a 1 to the elog bit clears the elog bit for both the upper and
lower Falcons. Because of this, software needs to check the status of both
upper and lower Error Logger and Error Address registers before it clears
the elog bits. Otherwise, it could miss a logged error.

3-40

elog

When set, elog indicates that a single- or multiple-bit error
has been logged by its Falcon. If elog is set by a multiplebit error, then no more errors will be logged until software
clears it. If elog is set by a single-bit error, then no more
single-bit errors will be logged until software clears it,
however if elog is set by a single-bit error and a multiplebit error occurs, the multiple-bit error will be logged and
the single-bit error information overwritten. elog can only
be set by the logging of an error and cleared by the writing
of a 1 to itself or by power-up reset.

escb

escb indicates the entity that was accessing DRAM at the
last logging of a single- or multiple-bit error by its Falcon.
If escb is 1, it indicates that the scrubber was accessing

Computer Group Literature Center Web Site

Programming Model

DRAM. If escb is 0, it indicates that the PowerPC 60x bus
master was accessing DRAM. Note that the DRAM Tester
cannot cause an error to be logged.
esen

When set, esen allows errors that occur during scrubs to
be logged. When cleared, esen does not allow errors that
occur during scrubs to be logged.

embt

embt is set by the logging of a multiple-bit error in its
Falcon. It is cleared by the logging of a single-bit error in
its Falcon. It is undefined after power-up reset. A Falcon’s
syndrome code is meaningless if its embt bit is set.

esbt

esbt is set by the logging of a single-bit error in its Falcon.
It is cleared by the logging of a multiple-bit error in its
Falcon. When a Falcon logs a single-bit error, its
syndrome code indicates which bit was in error. (Refer to
the section on ECC Codes.)

ERROR_SYNDROME
ERROR_SYNDROME reflects the syndrome value at the
last logging of an error by its Falcon. This eight-bit code
indicates the position of the data error. When all the bits
are zero, there was no error. Note that if the logged error
was non-correctable, then these bits are meaningless.
Refer to the ECC Codes section for a decoding of the
syndromes.
esblk0,esblk1
Together these two bits indicate which block of DRAM
was being accessed when their Falcon logged a scrub
error. esblk0,esblk1 are 0,0 for Block A; 0,1 for Block B;
1,0 for Block C; and 1,1 for Block D.
scof

scof is set by the SBE COUNT register rolling over from
$FF to $00. It is cleared by software writing a 1 to it.

SBE COUNT
This register keeps track of the number of single-bit errors
that have occurred since it was last cleared. It counts up by
one each time its half of the Falcon pair detects a single-

http://www.motorola.com/computer/literature

3-41

3

Falcon ECC Memory Controller Chip Set

bit error (independent of the state of the elog bit). It is
cleared by power-up reset and by software writing all 0s
to it. When SBE COUNT rolls over from $FF to $00, its
Falcon sets the scof bit. It also pulses the INT_ signal low
if the scien bit is set.

3
Error Address Register
Address

31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

Bit

$FEF80038

READ ONLY
XP

X
X
X
X

Reset

ERROR_ADDRESS

R
R
R
R

Operation

0
0
0
0

Name

ERROR_ADDRESS
These bits reflect the value that corresponds to bits 0-27
of the PowerPC 60x address bus when their Falcon last
logged an error during a PowerPC access to DRAM. They
reflect the value of the DRAM row and column addresses
if the error was logged during a scrub cycle. In this case,
bits 2-14 correspond to row address signals 0-12
respectively and bits 15-27 correspond to column address
signals 0-12 respectively. Refer to Table 3-19 in the Sizing
DRAM subsection under Software Considerations. It
shows how PowerPC addresses correspond to DRAM row
and column addresses.
3Falcon ECC Memory Controller Chip Set
0Programming Model

3-42

Computer Group Literature Center Web Site

Programming Model

Scrub/Refresh Register
Address

$FEF80040

Bit

31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

Name

rtest2
rtest1
rtest0
0
0
0
0
0
swen
0
0
0
0
0
scb1
scb0

Operation

R/W
R/W
R/W
R
R
R
R
R
R/W
R
R
R
R
R
R
R

Reset

0P
0P
0P
X
X
X
X
X
0P
X
X
X
X
X
0P
0P

READ ZERO

READ ZERO

X

X

scb0,scb1

These bits increment every time the scrubber completes a
scrub of the entire DRAM. When these bits reach binary
11, they roll over to binary 00 and continue. They are
cleared by power-up reset.

swen

When set, swen allows the scrubber to perform write
cycles. When cleared, swen prevents scrubber writes.

rtest0,1,2 The rtest bits enable certain refresh counter test modes.
Table 3-13 shows their encodings. Note that these test
modes are not intended to be used once the chip is in a
system.
Table 3-13. rtest Encodings
rtest0,rtest1,rtest2
%000
%001
%010
%011
%100
%101
%110
%111

http://www.motorola.com/computer/literature

Test Mode selected
Normal counter operation
RA counts at 16x
RA counts at 256x
RA is always at roll value for CA
CA counts at 16x
CA counts at 256x
Reserved
Reserved

3-43

3

Falcon ECC Memory Controller Chip Set

Refresh/Scrub Address Register
Address

COL ADDRESS

READ/WRITE

R X
R X
R X

Reset

ROW ADDRESS

0
0
0

Operation

R X
R X
R X

Name

0
0
0

Bit

31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

3

$FEF80048

READ/WRITE

0P

0P

ROW ADDRESS
These bits form the row address counter used by the
refresher/scrubber for all blocks of DRAM. The row
address counter increments by one after each
refresh/scrub cycle. When it reaches all 1s, it rolls back
over to all 0s and continues counting. ROW ADDRESS is
readable and writable for test purposes.
Note that within each block, the most significant bits of
ROW ADDRESS are used only when their DRAM
devices are large enough to require them.
COL ADDRESS
These bits form the column address counter used by the
refresher/scrubber for all blocks of DRAM. The counter
increments by 1 every eighth time the ROW ADDRESS
rolls over. COL ADDRESS is readable and writable for
test purposes.
Note that within each block, the most significant bits of
COL ADDRESS are only used when their DRAM devices
are large enough to require them.

3-44

Computer Group Literature Center Web Site

Programming Model

ROM A Base/Size Register
$FEF80050
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

Address
Bit

X

0 PL
0 PL
VP
X
X
X
X
X

$FF0 PL

Reset

READ ZERO

R/W
R/W
R/W
R
R
R
R
R

READ/WRITE

rom a we
rom a en
rom_a_rv
0
0
0
0
0

rom a siz2
rom a siz1
rom a siz0
rom_a_64

Operation

0 PL
0 PL
0 PL
VP

ROM A BASE

R/W
R/W
R/W
R

Name

ROM A BASE
These control bits define the base address for ROM/Flash
Block A. ROM A BASE bits 0-11 correspond to
PowerPC 60x address bits 0 - 11 respectively. For larger
ROM/Flash sizes, the lower significant bits of ROM A
BASE are ignored. This means that the block’s base
address will always appear at an even multiple of its size.
ROM A BASE is initialized to $FF0 at power-up or local
bus reset.
Note that in addition to the programmed address, the first
1Mbyte of Block A also appears at $FFF00000 $FFFFFFFF if the rom_a_rv bit is set and the rom_b_rv
bit is cleared.
Also note that the combination of ROM_A_BASE and
rom_a_siz should never be programmed such that
ROM/Flash Block A responds at the same address as the
CSR, DRAM, External Register set, or any other slave on
the PowerPC bus.
rom_a_64
rom_a_64 indicates the width of the ROM/Flash
device(s) being used for Block A. When rom_a_64 is
cleared, Block A is 16 bits wide, where each Falcon
interfaces to 8 bits. When rom_a_64 is set, Block A is 64

http://www.motorola.com/computer/literature

3-45

3

Falcon ECC Memory Controller Chip Set

bits wide, where each Falcon interfaces to 32 bits.
rom_a_64 matches the value that was on the CKD2 pin at
power-up reset. It cannot be changed by software.

3

rom a siz

The rom a siz control bits are the size of ROM/Flash for
Block A. They are encoded as shown in Table 3-14.
Table 3-14. ROM Block A Size Encoding
rom a siz

Block Size

%000

1MB

%001

2MB

%010

4MB

%011

8MB

%100

16MB

%101

32MB

%110

64MB

%111

Reserved

rom_a_rv rom_a_rv and rom_b_rv determine which (if either) of
Blocks A and B is the source of reset vectors or any other
access in the range $FFF00000 - $FFFFFFFF as shown in
the table below.
Table 3-15. rom_a_rv and rom_b_rv Encoding
rom_a_rv

rom_b_rv

Result

0

0

Neither block is the source of reset
vectors.

0

1

Block B is the source of reset vectors.

1

0

Block A is the source of reset vectors.

1

1

Block B is the source of reset vectors.

rom_a_rv is initialized at power-up reset to match the
value on the CKD0 pin.

3-46

Computer Group Literature Center Web Site

Programming Model

rom a en

When rom a en is set, accesses to Block A ROM/Flash in
the address range selected by ROM A BASE are enabled.
When rom a en is cleared, they are disabled.

rom a we When rom a we is set, writes to Block A ROM/Flash are
enabled. When rom a we is cleared, they are disabled.
Note that if rom_a_64 is cleared, only one-byte writes are
allowed. If rom_a_64 is set, only four-byte writes are
allowed. The Falcon ignores other writes. If a valid write
is attempted and rom a we is cleared, the write does not
happen but the cycle is terminated normally. Refer to
Table 3-16 for details of ROM/Flash accesses.
Table 3-16. Read/Write to ROM/Flash
Cycle

Transfer
Size

Alignment

rom_x_64

rom_x_we

Falcon Response

Write

1-byte

X

0

0

Normal termination, but
no write to ROM/Flash

Write

1-byte

X

0

1

Normal termination,
write occurs to
ROM/Flash

Write

1-byte

X

1

X

No Response

Write

4-byte

Misaligned

X

X

No Response

Write

4-byte

Aligned

0

X

No Response

Write

4-byte

Aligned

1

0

Normal termination, but
no write to ROM/Flash

Write

4-byte

Aligned

1

1

Normal termination,
write occurs to
ROM/Flash

Write

2,3,5,6,7,
8,32-byte

X

X

X

No Response

Read

X

X

X

X

Normal Termination

http://www.motorola.com/computer/literature

3-47

3

Falcon ECC Memory Controller Chip Set

ROM B Base/Size Register
$FEF80058
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
X

0 PL
0 PL
VP
X
X
X
X
X

$FF4 PL

Reset

READ ZERO

R/W
R/W
R/W
R
R
R
R
R

READ/WRITE

rom b we
rom b en
rom_b_rv
0
0
0
0
0

Operation

0 PL
0 PL
0 PL
VP

ROM B BASE

R/W
R/W
R/W
R

Name

rom b siz2
rom b siz1
rom b siz0
rom_b_64

3

Address
Bit

ROM B BASE
These control bits define the base address for ROM/Flash
Block B. ROM B BASE bits 0-11 correspond to
PowerPC 60x address bits 0-11 respectively. For larger
ROM/Flash sizes, the lower significant bits of ROM B
BASE are ignored. This means that the block’s base
address will always appear at an even multiple of its size.
ROM B BASE is initialized to $FF4 at power-up or local
bus reset.
Note that in addition to the programmed address, the first
1Mbyte of Block B also appears at $FFF00000 $FFFFFFFF if the rom_b_rv bit is set.
Also note that the combination of ROM_B_BASE and
rom_b_siz should never be programmed such that
ROM/Flash block B responds at the same address as the
CSR, DRAM, External Register set, or any other slave on
the PowerPC bus.
rom_b_64
rom_b_64 indicates the width of the ROM/Flash
device(s) being used for block B. When rom_b_64 is
cleared, block B is 16 bits wide, where each Falcon
interfaces to 8 bits. When rom_b_64 is set, block B is 64
bits wide, where each Falcon interfaces to 32 bits.

3-48

Computer Group Literature Center Web Site

Programming Model

rom_b_64 matches the inverse of the value that was on the
CKD3 pin at power-up reset. It cannot be changed by
software.
rom b siz The rom b siz control bits are the size of ROM/Flash for
block B. They are encoded as shown in Table 3-17.
Table 3-17. ROM Block B Size Encoding
rom b siz

Block Size

%000

1MB

%001

2MB

%010

4MB

%011

8MB

%100

16MB

%101

32MB

%110

64MB

%111

Reserved

rom_b_rv rom_b_rv and rom_a_rv determine which if either of
Blocks A and B is the source of reset vectors or any other
access in the range $FFF00000 - $FFFFFFFF as shown in
Table 3-15.
rom_b_rv is initialized at power-up reset to match the
inverse of the value on the CKD1 pin.
rom b en

When rom b en is set, accesses to block B ROM/Flash in
the address range selected by ROM B BASE are enabled.
When rom b en is cleared they are disabled.

rom b we When rom b we is set, writes to block B ROM/Flash are
enabled. When rom b we is cleared they are disabled.
Refer back to Table 3-16 for more details.

http://www.motorola.com/computer/literature

3-49

3

Falcon ECC Memory Controller Chip Set

DRAM Tester Control Registers

3

The tester should not be used by software. The trun and tsse bits (bits 0
and 1 of the register at address $FEF80060) should never be set.

!
Caution

32-Bit Counter
Address

31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

Bit

$FEF80100

Name

CTR32

Operation

READ/WRITE

Reset

0 PL

CTR32

Note

CTR32 is a 32-bit, free-running counter that increments
once per microsecond if the CLK_FREQUENCY register
has been programmed properly. Notice that CTR32 is
cleared by power-up and local reset. It does not exist in
Revision 1 of Falcon.

When the system clock is a fractional frequency, such as
66.67MHz, CTR32 will count at a fractional amount faster or
slower than 1MHz, depending on the programming of the
CLK_FREQUENCY register.

Test SRAM
(Deleted)

3-50

Computer Group Literature Center Web Site

Programming Model

Power-Up Reset Status Register 1
Address

31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

Bit

$FEF80400

Name

PR_STAT1

Operation

READ

Reset

VP

PR_STAT1
PR_STAT1 (power-up reset status) reflects the value that
was on the RD0-RD31 signal pins at power-up reset. This
register is read-only.
Note

For descriptions of how this register is used in the MVME2300
series boards, refer to the Falcon-Controlled System Registers
section in Chapter 1, especially to System Configuration Register
(SYSCR) and Memory Configuration Register (MEMCR).

Power-Up Reset Status Register 2
Address

$FEF80500
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

Bit
Name

PR_STAT2

Operation

READ

Reset

VP

PR_STAT2
PR_STAT2 (power-up reset status) reflects the value that
was on the RD32-RD63 signal pins at power-up reset.
This register is read-only.

http://www.motorola.com/computer/literature

3-51

3

Falcon ECC Memory Controller Chip Set

External Register Set
Address
Bit

31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

3

$FEF88000 - $FEF8FFF8

Name
EXTERNAL REGISTER SET

Operation

READ/WRITE

Reset

X PL

EXTERNAL REGISTER SET
The EXTERNAL REGISTER SET is user-provided and
is external to the Falcon pair. The Falcon pair provides a
static RAM style interface for the external registers. The
external registers can be SRAM, ROM, Flash or some
other user device. There can be one device connected to
either the upper or lower Falcon, or there can be two
devices with one connected to each Falcon. The devices
can be 8, 16, or 32 bits wide. The data path to the external
devices is via the RD32-RD63 pins. Reads to the external
devices can be any size except burst. Note that if the
devices are less than 32 bits wide, reads to unused data
lanes will yield undefined data. Note that writes are
restricted to one- or four-byte length only. Four-byte
writes can be used for any size device; data should be
placed on the correct portion of the data bus so that valid
data is written to the device. Data duplication is turned off
for the EXTERNAL REGISTER SET so writes can be to
either the upper Falcon, or to the lower Falcon.
Note

For descriptions of how these registers are used in the
MVME2300 series boards, refer to the Falcon-Controlled System
Registers section of Chapter 1, especially to System External
Cache Control Register (SXCCR) and CPU Control Register.

3Falcon ECC Memory Controller Chip Set
0Programming Model

3-52

Computer Group Literature Center Web Site

Software Considerations

Software Considerations
This section contains information that may be helpful in making efficient
use of the Falcon pair when programming.

Parity Checking on the PowerPC Bus
The Falcon does not generate parity on the PowerPC address or data buses.
Because of this, the appropriate registers in the MPC60x should be
programmed to disable parity checking for the address bus and for the data
bus.

Programming ROM/Flash Devices
Those who program devices to be controlled by the Falcon should make
note of the address mapping that is shown in Table 3-8 and in Table 3-9.
When using eight-bit devices, for example, the code will be split so that
every other four-byte segment goes in each device.

Writing to the Control Registers
Software should not change control register bits that affect DRAM
operation while DRAM is being accessed. Because of pipelining, software
should always make sure that the two accesses before and after the
updating of critical bits are not DRAM accesses. A possible scenario for
trouble would be to execute code out of DRAM while updating the critical
DRAM control register bits. The preferred method is to be executing code
out of ROM/Flash and avoiding DRAM accesses while updating these
bits.
Since software has no way of controlling refresh accesses to DRAM, the
hardware is designed so that updating control bits coincidentally with
refreshes is not a problem. An exception to this is the ROW_ADDRESS
and COL_ADDRESS bits. In any event, however, it is not intended that
software write to these bits.

http://www.motorola.com/computer/literature

3-53

3

Falcon ECC Memory Controller Chip Set

As with DRAM, software should not change control register bits that affect
ROM/Flash while the affected block is being accessed. This generally
means that the ROM/Flash size, base address, enable, write enable, etc. are
changed only during initial execution in the reset vector area ($FFF00000
- $FFFFFFFF).

3

Sizing DRAM

!
Caution

To satisfy DRAM component requirements before the memory is used at
start-up, software must always wait at least 500µs after the initial setting
of a bank’s size bits to a nonzero value before the initial access to that
bank. These settings are stored in the DRAM Attributes register (offset
$FEF80010). The delay is introduced to ensure that the bank has been
refreshed at least eight times before use. The 500µs interval is sufficient,
as the CLK Frequency register (offset $FEF80020) is within a factor of
two of matching the actual processor clock frequency.
The following routine can be used to size DRAM for the Falcon.
First, initialize the Falcon control register bits to a known state as follows:
1. Clear the isa_hole bit.
2. Make sure that ram_fref and ram_spd0,ram_spd1 are correct.
3. Set CLK_FREQUENCY to match the operating frequency.
4. Clear the refdis, rwcb bits.
5. Set the derc bit.
6. Clear the scien, tien, sien, and mien bits.
7. Clear the mcken bit.
8. Clear the swen and rtest0,rtest1,rtest2 bits.
9. Make sure that ROM/Flash banks A and B are not enabled to
respond in the range from $00000000 to $40000000.

3-54

Computer Group Literature Center Web Site

Software Considerations

10. Make sure that no other devices respond in the range from
$00000000 to $40000000.
Then, for each block:

3

1. Set the block’s base address to $00000000.
2. Enable the block and make sure that the other three blocks are
disabled.
3. Set the block’s size control bits. Start with the largest possible
(1024MB).
4. Write differing 64-bit data patterns to certain addresses within the
block. The data patterns do not matter as long as each 64-bit data
pattern is unique. The addresses to be written vary depending on the
size that is currently being checked and are specified in Table 3-18.
Table 3-19 shows how PowerPC addresses correspond to DRAM
row/column addresses.
5. Read back all of the addresses that have been written.
If all of the addresses still contain exactly what was written, then the
block’s size has been found. It is the size for which the block is
currently programmed.
If any of the addresses do not match exactly, then the amount of
memory is less than that for which it is currently programmed.
Sizing needs to continue for this block by programming its control
bits to the next smaller size and repeating steps 4 and 5.
6. If no match is found for any size, then the block is unpopulated and
has a size of 0MB.

http://www.motorola.com/computer/literature

3-55

Falcon ECC Memory Controller Chip Set

Each size that is checked has a specific set of locations that must be written
and read. The following table shows the addresses that go with each size.
Table 3-18. Sizing Addresses

3
1024MB

256MB

128MB

64MB

32MB

16MB

$00000000
$20000000

$00000000
$02000000
$08000000
$0A000000

$00000000
$00002000
$02000000
$02002000
$04000000
$04002000
$06000000
$06002000

$00000000
$00002000
$02000000
$02002000

$00000000
$00001000
$00002000
$00003000
$01000000
$01001000
$01002000
$01003000

$00000000

Table 3-19. PowerPC 60x Address to DRAM Address Mappings
RA ---->
Block Size
|
V

0

ROW

1

2

A19 A18

3

4

A8

A9

5

6

7

8

9

10

11

12

A10 A11 A12 A13 A14 A15 A16 A17

16MB
COL

A18 A19 A20 A21 A22 A23 A24 A25 A26 A27

ROW

A18

A7

A8

A9

A10 A11 A12 A13 A14 A15 A16 A17

32MB
COL
ROW

A18 A19 A20 A21 A22 A23 A24 A25 A26 A27
A18

A6

A7

A8

A9

A10 A11 A12 A13 A14 A15 A16 A17

A6

A18 A19 A20 A21 A22 A23 A24 A25 A26 A27

A7

A8

A6

A18 A19 A20 A21 A22 A23 A24 A25 A26 A27

A5

A7

A8

A4

A6

A18 A19 A20 A21 A22 A23 A24 A25 A26 A27

64MB
COL
ROW

A6

A5

A9

A10 A11 A12 A13 A14 A15 A16 A17

128MB
COL
ROW

A4

A9

A10 A11 A12 A13 A14 A15 A16 A17

256MB
COL

3-56

Computer Group Literature Center Web Site

Software Considerations

Table 3-19. PowerPC 60x Address to DRAM Address Mappings
RA ---->
Block Size
|
V

0

1

2

3

4

5

6

7

8

9

10

11

12

3

ROW

A3

A5

A7

A8

A9

A10 A11 A12 A13 A14 A15 A16 A17

COL

A2

A4

A6

A18 A19 A20 A21 A22 A23 A24 A25 A26 A27

1024MB

ECC Codes
When the Falcon reports a single-bit error, software can use the syndrome
that was logged by the Falcon (upper or lower depending where the error
occurred) to determine which bit was in error. Table 3-20 shows the
syndrome for each possible single bit error. Table 3-21 shows the same
information ordered by syndrome. In order to relate this information to
PowerPC addresses and bit numbers, the user needs to understand how the
Falcon pair positions PowerPC data in DRAM. See the section on Data
Paths for an explanation of this.
Note that these tables are the same whether the Falcon is configured as
upper or as lower device.
Table 3-20. Syndrome Codes Ordered by Bit in Error
Bit Syndrome Bit Syndrome Bit Syndrome Bit Syndrome Bit Syndrome
rd0

$4A

rd16

$92

rd32

$A4

rd48

$29

ckd0

$01

rd1

$4C

rd17

$13

rd33

$C4

rd49

$31

ckd1

$02

rd2

$2C

rd18

$0B

rd34

$C2

rd50

$B0

ckd2

$04

rd3

$2A

rd19

$8A

rd35

$A2

rd51

$A8

ckd3

$08

rd4

$E9

rd20

$7A

rd36

$9E

rd52

$A7

ckd4

$10

rd5

$1C

rd21

$07

rd37

$C1

rd53

$70

ckd5

$20

rd6

$1A

rd22

$86

rd38

$A1

rd54

$68

ckd6

$40

rd7

$19

rd23

$46

rd39

$91

rd55

$64

ckd7

$80

http://www.motorola.com/computer/literature

3-57

Falcon ECC Memory Controller Chip Set

Table 3-20. Syndrome Codes Ordered by Bit in Error
Bit Syndrome Bit Syndrome Bit Syndrome Bit Syndrome Bit Syndrome

3

rd8

$25

rd24

$49

rd40

$52

rd56

$94

rd9

$26

rd25

$89

rd41

$62

rd57

$98

rd10

$16

rd26

$85

rd42

$61

rd58

$58

rd11

$15

rd27

$45

rd43

$51

rd59

$54

rd12

$F4

rd28

$3D

rd44

$4F

rd60

$D3

rd13

$0E

rd29

$83

rd45

$E0

rd61

$38

rd14

$0D

rd30

$43

rd46

$D0

rd62

$34

rd15

$8C

rd31

$23

rd47

$C8

rd63

$32

3-58

Computer Group Literature Center Web Site

Software Considerations

Table 3-21. Single-Bit Errors Ordered by Syndrome Code
Syn- Bit Syn- Bit Syn- Bit Syn- Bit Syn- Bit Syn- Bit Syn- Bit Syn- Bit
drome
drome
drome
drome
drome
drome
drome
drome
$00

-

$01
$02

$20

ckd5 $40

ckd6 $60

-

ckd0 $21

-

$41

-

$61

ckd1 $22

-

$42

-

$62

$23

$80

ckd7 $A0

-

rd42 $81

-

$A1

rd38 $C1

rd37 $E1

-

rd41 $82

-

$A2

rd35 $C2

rd34 $E2

-

rd45

-

rd31 $43

rd30 $63

-

rd29 $A3

-

$E3

-

ckd2 $24

-

$44

-

rd55 $84

-

rd32 $C4

rd33 $E4

-

$05

-

$25

rd8

$45

rd27 $65

-

$85

rd26 $A5

-

$C5

-

$E5

-

$06

-

$26

rd9

$46

rd23 $66

-

$86

rd22 $A6

-

$C6

-

$E6

-

$07

rd21 $27

-

$47

-

$67

-

$87

-

$A7

rd52 $C7

-

$E7

-

$08

ckd3 $28

-

$48

-

$68

rd54 $88

-

$A8

rd51 $C8

rd47 $E8

-

$09

-

$29

rd48 $49

rd24 $69

-

$89

rd25 $A9

-

-

rd4

$0A

-

$2A

rd3

$4A

rd0

$6A

-

$8A

rd19 $AA -

$CA -

$EA -

$0B

rd18 $2B

-

$4B

-

$6B

-

$8B

-

$AB -

$CB -

$EB

-

$0C

-

rd2

$4C

rd1

$6C

-

$8C

rd15 $AC -

$CC -

$EC

-

$0D

rd14 $2D

-

$4D

-

$6D

-

$8D

-

$AD -

$CD -

$ED -

$0E

rd13 $2E

-

$4E

-

$6E

-

$8E

-

$AE -

$CE

-

$EE

-

$0F

-

$2F

-

$4F

rd44 $6F

-

$8F

-

$AF

-

$CF

-

$EF

-

$10

ckd4 $30

-

$50

-

rd53 $90

-

$B0

rd50 $D0

rd46 $F0

-

$11

-

$31

rd49 $51

rd43 $71

-

$91

rd39 $B1

-

$D1

-

$F1

-

$12

-

$32

rd63 $52

rd40 $72

-

$92

rd16 $B2

-

$D2

-

$F2

-

$13

rd17 $33

-

-

$73

-

$93

-

$B3

-

$D3

rd60 $F3

-

$14

-

$34

rd62 $54

rd59 $74

-

$94

rd56 $B4

-

$D4

-

$F4

rd12

$15

rd11

$35

-

$55

-

$75

-

$95

-

$B5

-

$D5

-

$F5

-

$16

rd10 $36

-

$56

-

$76

-

$96

-

$B6

-

$D6

-

$F6

-

$17

-

$37

-

$57

-

$77

-

$97

-

$B7

-

$D7

-

$F7

-

$18

-

$38

rd61 $58

rd58 $78

-

$98

rd57 $B8

-

$D8

-

$F8

-

$19

rd7

$39

-

$59

-

$79

-

$99

-

$B9

-

$D9

-

$F9

-

$1A

rd6

$3A

-

$5A

-

$7A

rd20 $9A

-

$BA -

$DA -

$FA

-

$1B

-

$3B

-

$5B

-

$7B

-

$9B

-

$BB -

$DB -

$FB

-

$1C

rd5

$3C

-

$5C

-

$7C

-

$9C

-

$BC -

$DC -

$FC

-

$1D

-

$3D

rd28 $5D

-

$7D

-

$9D

-

$BD -

$DD -

$FD

-

$1E

-

$3E

-

$5E

-

$7E

-

$9E

rd36 $BE

-

$DE -

$FE

-

$1F

-

$3F

-

$5F

-

$7F

-

$9F

-

-

$DF

$FF

-

$2C

$53

$70

http://www.motorola.com/computer/literature

$BF

$C9

-

$E0

$04

$A4

$C3

-

$03

$64

$83

$C0

-

$E9

3-59

3

Falcon ECC Memory Controller Chip Set

Data Paths

ra12=0

3

ra12=1

Because of the Falcon “pair” architecture, data paths can be confusing.
Figure 3-10 attempts to show the placement of data that is written by a
PowerPC master to DRAM. Table 3-22 shows the same information in
tabular format.

a[27:28]=3

a[27:28]=2

a[27:28]=1

a[27:28]=0

rd63

Lower Falcon’s
DRAM

rd32
rd31

dl31

rd0

dh0

ra12=1

ra12=0

PowerPC
dl0
Data
dh31

rd63

rd32
rd31

Upper Falcon’s
DRAM

rd0
1909 9609

Figure 3-10. PowerPC Data to DRAM Data Correspondence

3-60

Computer Group Literature Center Web Site

Software Considerations

Table 3-22. PowerPC Data to DRAM Data Mapping
PowerPC
A[27]

A[28]

Data Bits

RA[12]

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

dh[00:07]
dh[08:15]
dh[16:23]
dh[24:31]
dl[00:07]
dl[08:15]
dl[16:23]
dl[24:31]
dh[00:07]
dh[08:15]
dh[16:23]
dh[24:31]
dl[00:07]
dl[08:15]
dl[16:23]
dl[24:31]
dh[00:07]
dh[08:15]
dh[16:23]
dh[24:31]
dl[00:07]
dl[08:15]
dl[16:23]
dl[24:31]
dh[00:07]
dh[08:15]
dh[16:23]
dh[24:31]
dl[00:07]
dl[08:15]
dl[16:23]
dl[24:31]

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

DRAM Array
Upper Falcon DRAM
Lower Falcon DRAM
Data Bits
Data Bits
rd[00:07]
rd[08:15]
rd[16:23]
rd[24:31]
rd[00:07]
rd[08:15]
rd[16:23]
rd[24:31]
rd[32:39]
rd[40:47]
rd[48:55]
rd[56:63]
rd[32:39]
rd[40:47]
rd[48:55]
rd[56:63]
rd[00:07]
rd[08:15]
rd[16:23]
rd[24:31]
rd[00:07]
rd[08:15]
rd[16:23]
rd[24:31]
rd[32:39]
rd[40:47]
rd[48:55]
rd[56:63]
rd[32:39]
rd[40:47]
rd[48:55]
rd[56:63]

http://www.motorola.com/computer/literature

3-61

3

4Universe (VMEbus to PCI) Chip

4

Introduction
This chapter describes the VMEbus interface on MVME2300 series
boards, the CA91C042 Universe ASIC. The Universe chip interfaces the
32/64-bit PCI local bus to the VMEbus. It provides a PCI-bus-to-VMEbus
interface, a VMEbus-to-PCI-bus interface, and the DMA controller
functions of the local VMEbus.
Note that all of the information in this chapter (except the section entitled
Universe Chip Problems after PCI Reset) is taken from the Universe User
Manual, which is listed under Manufacturers’ Documents in Appendix A,
Related Documentation. Refer to that manual for detailed information on
the Universe ASIC.

Features
The Universe VMEbus interface chip (CA91C042) provides a reliable
high-performance 64-bit VMEbus-to-PCI interface in one device.
Designed by Tundra Semiconductor Corporation in consultation with
Motorola, the Universe is compliant with the VME64 specification and is
tuned to the new generation of high-speed processors.
The Universe is ideally suited for CPU boards acting as both master and
slave in the VMEbus system, and is particularly fitted for PCI local
systems. The Universe is manufactured in a CMOS process.

4-1

Universe (VMEbus to PCI) Chip

The following table summarizes the characteristics of the Universe ASIC.
Table 4-1. Features of the Universe ASIC
Function
VMEbus Interface

4

Features
Fully compliant, high-performance 64-bit VMEbus interface
VMEbus transfer rates of 60-70 MB/sec
Full VMEbus system controller functionality
Integral FIFOs for write-posting to maximize bandwidth utilization

Automatic initialization for slave-only applications:
− A32/A24/A16 master and slave
− D64 (MBLT)/D32/D16/D08 master and slave
− D64 (MBLT)/D32/D16/D08 master and slave
− BLT, ADOH, RMW, LOCK
Complete suite of VMEbus address and data transfer modes
PCI Local Bus
Interface

Fully compliant, 64-bit, 33 MHz PCI local bus interface
Integral FIFOs for write-posting to maximize bandwidth utilization
Automatic initialization for slave-only applications

DMA Controller

Programmable DMA controller with linked list support

Additional
Functionality

Flexible register set, programmable from both the PCI bus and VMEbus
ports
IEEE 1149.1 JTAG testability support
Available in 313-pin Plastic BGA and 324-pin contact Ceramic BGA

4-2

Computer Group Literature Center Web Site

Block Diagram

Block Diagram
The descriptions in the following sections make reference to the functional
block diagram supplied in Figure 4-1. Notice that for each interface,
VMEbus and PCI bus, there are three functionally distinct modules: master
module, slave module, and interrupt module.
These three modules are connected to the different functional channels
operating in the Universe. These channels are:
❏

VME Slave channel

❏

PCI Bus Slave channel

❏

DMA channel

❏

Interrupt channel

❏

Register channel

Functional Description
The functional description is organized into the following sections:
❏

VMEbus Interface

❏

PCI Bus Interface

❏

Interrupter and Interrupt Handler

❏

DMA Controller

These sections describe the operation of the Universe in terms of the
different modules and channels listed above and illustrated in Figure 4-1.

http://www.motorola.com/computer/literature

4-3

4

Universe (VMEbus to PCI) Chip

DMA Channel
DMA bidirectional FIFO

PCI Bus
Interface

VMEbus
Interface
VMEbus Slave Channel

PCI
Master

4

posted writes FIFO
prefetch read FIFO
coupled read

VME
Slave

PCI Bus Slave Channel

PCI
BUS

PCI
Slave

posted writes FIFO
coupled read logic

VME
Master

VMEbus

Interrupt Channel

PCI
Interrupts

Interrupt Handler
Interrupter

VME
Interrupts

Register Channel
1894 9609

Figure 4-1. Architectural Diagram for the Universe

VMEbus Interface
This section examines the Universe ASIC’s VMEbus interface function,
from the standpoint of the Universe as VMEbus slave as well as VMEbus
master.
Universe as VMEbus Slave
The Universe VME Slave channel accepts all of the addressing and data
transfer modes documented in the VME64 specification (except A64 and
those intended to support 3U applications, that is, A40 and MD32).
Incoming write transactions from the VMEbus may be treated as either
coupled or posted, depending upon the programming of the VMEbus slave
image. (Refer to VME Slave Images in the Universe User Manual.) With
posted write transactions, data is written to a Posted Write Receive FIFO
(RXFIFO), and the VMEbus master receives data acknowledgment from

4-4

Computer Group Literature Center Web Site

Functional Description

the Universe. Write data is transferred to the PCI resource from the
RXFIFO without the involvement of the initiating VMEbus master (Refer
to Posted Writes in the Universe User Manual for a full explanation of this
operation.). With a coupled cycle, the VMEbus master only receives data
acknowledgment when the transaction is complete on the PCI bus. This
means that the VMEbus is unavailable to other masters while the PCI bus
transaction is executed.
Read transactions may be prefetched or coupled. If enabled by the user, a
prefetched read is initiated when a VMEbus master requests a block read
transaction (BLT or MBLT) and this mode is enabled. When the Universe
receives the block read request, it begins to fill its Read Data FIFO
(RDFIFO) using burst transactions from the PCI resource. The initiating
VMEbus master then acquires its block read data from the RDFIFO rather
than from the PCI resources directly.
Universe as VMEbus Master
The Universe becomes VMEbus master when the VME Master interface
is internally requested by the PCI Bus Slave channel, the DMA channel, or
the Interrupt channel. The Interrupt channel always has priority over the
other two channels. Several mechanisms are available to configure the
relative priority that the PCI Bus Slave channel and DMA channel have
over ownership of the VMEbus Master interface.
The Universe’s VME Master interface generates all of the addressing and
data transfer modes documented in the VME64 specification (except A64
and those intended to support 3U applications, that is, A40 and MD32).
The Universe is also compatible with all VMEbus modules conforming to
pre-VME64 specifications. As VMEbus master, the Universe supports
Read-Modify-Write (RMW), and Address-Only-with-Handshake
(ADOH) but does not accept RETRY∗ as a termination from the VMEbus
slave. The ADOH cycle is used to implement the VMEbus Lock
command, allowing a PCI master to lock VMEbus resources.

PCI Bus Interface
This section examines the Universe ASIC’s PCI bus interface function,
from the standpoint of the Universe as PCI slave as well as PCI master.

http://www.motorola.com/computer/literature

4-5

4

Universe (VMEbus to PCI) Chip

Universe as PCI Slave
Read transactions from the PCI bus are always processed as coupled. Write
transactions may be either coupled or posted, depending upon the setting
of the PCI bus slave image. (Refer to PCI Bus Slave Images in the Universe
User Manual.) With a posted write transaction, write data is written to a
Posted Write Transmit FIFO (TXFIFO) and the PCI bus master receives
data acknowledgment from the Universe with zero wait states. Meanwhile,
the Universe obtains the VMEbus and writes the data to the VMEbus
resource independent of the initiating PCI master. (Refer to Posted Writes
in the Universe User Manual for a full description of this operation.)

4

To allow PCI masters to perform RMW and ADOH cycles, the Universe
provides a Special Cycle Generator. The Special Cycle Generator can be
used in combination with a VMEbus ownership function to guarantee PCI
masters exclusive access to VMEbus resources over several VMEbus
transactions. (Refer to Exclusive Accesses and RMW and ADOH Cycles in
the Universe User Manual for a full description of this functionality.)
Universe as PCI Master
The Universe becomes PCI master when the PCI Master Interface is
internally requested by the VME Slave Channel or the DMA Channel.
There are mechanisms provided which allow the user to configure the
relative priority of the VME Slave Channel and the DMA Channel.

Interrupter
The Universe interrupt channel provides a flexible scheme to map
interrupts to either the PCI bus or VMEbus interface. Interrupts are
generated from either hardware or software sources (refer to the
Interrupter section of the Universe User Manual for a full description of
hardware and software sources). Interrupt sources can be mapped to any of
the PCI bus or VMEbus interrupt output pins. Interrupt sources mapped to
VMEbus interrupts are generated on the VMEbus interrupt output pins
VIRQ∗[7:1]. When a software and hardware source are assigned the same
VIRQn∗ pin, the software source always has higher priority.

4-6

Computer Group Literature Center Web Site

Functional Description

Interrupt sources mapped to PCI bus interrupts are generated on one of the
INT∗[7:0] pins. To be fully PCI compliant, all interrupt sources must be
routed to a single INT∗ pin.
For VMEbus interrupt outputs, the Universe interrupter supplies an 8-bit
STATUS/ID to a VMEbus interrupt handler during the IACK cycle, and
optionally generates an internal interrupt to signal that the interrupt vector
has been provided. (Refer to VMEbus Interrupt Generation in the Universe
User Manual.)
Interrupts mapped to PCI bus outputs are serviced by the PCI interrupt
controller. The CPU determines which interrupt sources are active by
reading an interrupt status register in the Universe. The source negates its
interrupt when it has been serviced by the CPU. (Refer to PCI Interrupt
Generation in the Universe User Manual.)
VMEbus Interrupt Handling
A VMEbus interrupt triggers the Universe to generate a normal VMEbus
IACK cycle and generate the specified interrupt output. When the IACK
cycle is complete, the Universe releases the VMEbus and the interrupt
vector is read by the PCI resource servicing the interrupt output. Software
interrupts are ROAK, while hardware and internal interrupts are RORA.

DMA Controller
The Universe provides an internal DMA controller for high-performance
data transfer between the PCI bus and VMEbus. DMA operations between
the source and destination bus are decoupled through the use of a single
bidirectional FIFO (DMAFIFO). Parameters for the DMA transfer are
software configurable in the Universe registers. (Refer to DMA Controller
in the Universe User Manual.)
The principal mechanism for DMA transfers is the same for operations in
either direction (PCI to VME, or VME to PCI); only the relative identity
of the source and destination bus changes. In a DMA transfer, the Universe
gains control of the source bus and reads data into its DMAFIFO.

http://www.motorola.com/computer/literature

4-7

4

Universe (VMEbus to PCI) Chip

Following specific rules of DMAFIFO operation (refer to FIFO Operation
and Bus Ownership in the Universe User Manual), it then acquires the
destination bus and writes data from its DMAFIFO.
The DMA controller can be programmed to perform multiple blocks of
transfers using entries in a linked list. The DMA will work through the
transfers in the linked-list following pointers at the end of each linked-list
entry. Linked-list operation is initiated through a pointer in an internal
Universe register, but the linked list itself resides in PCI bus memory.

4

Universe Control and Status Registers (UCSR)
The Universe Control and Status Registers (UCSR) facilitate host system
configuration and allow the user to control Universe operational
characteristics. The UCSR set is divided into three groups:
❏

PCI Configuration Space (PCICS)

❏

VMEbus Control and Status Registers (VCSR)

❏

Universe Device-Specific Status Registers (UDSR)

The Universe registers are little-endian.

4-8

Computer Group Literature Center Web Site

Functional Description

Figure 4-2 summarizes the supported register access mechanisms.

VMEbus Configuration
and Status Registers
(VCSR)

4

UNIVERSE DEVICE
SPECIFIC REGISTERS
(UDSR)

4 Kbytes

PCI CONFIGURATION
SPACE
(PCICS)

1895 9609

Figure 4-2. UCSR Access Mechanisms
Universe Register Map
Table 4-2 lists the Universe registers by address offset. Tables in the
Universe User Manual provide detailed descriptions of each register.

http://www.motorola.com/computer/literature

4-9

Universe (VMEbus to PCI) Chip

Address offsets in Table 4-2 below apply to accesses from the PCI bus and
to accesses from the VMEbus side using the VMEbus Register Access
Image (Refer to Registers in the Universe User Manual.). For register
accesses in CR/CSR space, be sure to add 508KB (0x7F00) to the address
offsets provided in the table.
Table 4-2. Universe Register Map

4
Offset

Register

000

PCI Configuration Space ID Register

PCI_ID

004

PCI Configuration Space Control and Status Register

PCI_CSR

008

PCI Configuration Class Register

PCI_CLASS

00C

PCI Configuration Miscellaneous 0 Register

PCI_MISC0

010

PCI Configuration Base Address Register

PCI_BS

014

PCI Unimplemented

018

PCI Unimplemented

01C

PCI Unimplemented

020

PCI Unimplemented

024

PCI Unimplemented

028

PCI Reserved

02C

PCI Reserved

030

PCI Unimplemented

034

PCI Reserved

038

PCI Reserved

03C

PCI Configuration Miscellaneous 1 Register

040 - 0FF

PCI_MISC1

PCI Unimplemented

100

PCI Slave Image 0 Control

LSI0_CTL

104

PCI Slave Image 0 Base Address Register

LSI0_BS

108

PCI Slave Image 0 Bound Address Register

LSI0_BD

10C

PCI Slave Image 0 Translation Offset

LSI0_TO

110

4-10

Name

Universe Reserved

114

PCI Slave Image 1 Control

LSI1_CTL

118

PCI Slave Image 1 Base Address Register

LSI1_BS

Computer Group Literature Center Web Site

Functional Description

Table 4-2. Universe Register Map (Continued)
Offset

Register

Name

11C

PCI Slave Image 1 Bound Address Register

LSI1_BD

120

PCI Slave Image 1 Translation Offset

LSI1_TO

124

Universe Reserved

128

PCI Slave Image 2 Control

LSI2_CTL

12C

PCI Slave Image 2 Base Address Register

LSI2_BS

130

PCI Slave Image 2 Bound Address Register

LSI2_BD

134

PCI Slave Image 2 Translation Offset

LSI2_TO

138

4

Universe Reserved

13C

PCI Slave Image 3 Control

LSI3_CTL

140

PCI Slave Image 3 Base Address Register

LSI3_BS

144

PCI Slave Image 3 Bound Address Register

LSI3_BD

148

PCI Slave Image 3 Translation Offset

LSI3_TO

14C - 16C

Universe Reserved

170

Special Cycle Control Register

SCYC_CTL

174

Special Cycle PCI bus Address Register

SCYC_ADDR

178

Special Cycle Swap/Compare Enable Register

SCYC_EN

17C

Special Cycle Compare Data Register

SCYC_CMP

180

Special Cycle Swap Data Register

SCYC_SWP

184

PCI Miscellaneous Register

LMISC

188

Special PCI Slave Image

SLSI

18C

PCI Command Error Log Register

L_CMDERR

190

PCI Address Error Log

LAERR

194 - 1FC

Universe Reserved

200

DMA Transfer Control Register

DCTL

204

DMA Transfer Byte Count Register

DTBC

208

DMA PCI bus Address Register

DLA

20C
210

Universe Reserved
DMA VMEbus Address Register

214

http://www.motorola.com/computer/literature

DVA

Universe Reserved

4-11

Universe (VMEbus to PCI) Chip

Table 4-2. Universe Register Map (Continued)
Offset
218

Register
DMA Command Packet Pointer

21C

4

DCPP

Universe Reserved

220

DMA General Control and Status Register

DGCS

224

DMA Linked List Update Enable Register

D_LLUE

228 - 2FC

Universe Reserved

300

PCI Interrupt Enable

LINT_EN

304

PCI Interrupt Status

LINT_STAT

308

PCI Interrupt Map 0

LINT_MAP0

30C

PCI Interrupt Map 1

LINT_MAP1

310

VMEbus Interrupt Enable

VINT_EN

314

VMEbus Interrupt Status

VINT_STAT

318

VMEbus Interrupt Map 0

VINT_MAP0

31C

VMEbus Interrupt Map 1

VINT_MAP1

320

Interrupt Status/ID Out

STATID

324

VIRQ1 STATUS/ID

V1_STATID

328

VIRQ2 STATUS/ID

V2_STATID

32C

VIRQ3 STATUS/ID

V3_STATID

330

VIRQ4 STATUS/ID

V4_STATID

334

VIRQ5 STATUS/ID

V5_STATID

338

VIRQ6 STATUS/ID

V6_STATID

33C

VIRQ7 STATUS/ID

V7_STATID

340 - 3FC

Universe Reserved

400

Master Control

MAST_CTL

404

Miscellaneous Control

MISC_CTL

408

Miscellaneous Status

MISC_STAT

40C

User AM Codes Register

USER_AM

410 - EFC

4-12

Name

Universe Reserved

F00

VMEbus Slave Image 0 Control

VSI0_CTL

F04

VMEbus Slave Image 0 Base Address Register

VSI0_BS

Computer Group Literature Center Web Site

Functional Description

Table 4-2. Universe Register Map (Continued)
Offset

Register

Name

F08

VMEbus Slave Image 0 Bound Address Register

VSI0_BD

F0C

VMEbus Slave Image 0 Translation Offset

VSI0_TO

F10

Universe Reserved

F14

VMEbus Slave Image 1 Control

VSI1_CTL

F18

VMEbus Slave Image 1 Base Address Register

VSI1_BS

F1C

VMEbus Slave Image 1 Bound Address Register

VSI1_BD

F20

VMEbus Slave Image 1 Translation Offset

VSI1_TO

F24

4

Universe Reserved

F28

VMEbus Slave Image 2 Control

VSI2_CTL

F2C

VMEbus Slave Image 2 Base Address Register

VSI2_BS

F30

VMEbus Slave Image 2 Bound Address Register

VSI2_BD

F34

VMEbus Slave Image 2 Translation Offset

VSI2_TO

F38

Universe Reserved

F3C

VMEbus Slave Image 3 Control

VSI3_CTL

F40

VMEbus Slave Image 3 Base Address Register

VSI3_BS

F44

VMEbus Slave Image 3 Bound Address Register

VSI3_BD

F48

VMEbus Slave Image 3 Translation Offset

VSI3_TO

F4C - F6C

Universe Reserved

F70

VMEbus Register Access Image Control Register

VRAI_CTL

F74

VMEbus Register Access Image Base Address

VRAI_BS

F78

Universe Reserved

F7C

Universe Reserved

F80

VMEbus CSR Control Register

VCSR_CTL

F84

VMEbus CSR Translation Offset

VCSR_TO

F88

VMEbus AM Code Error Log

V_AMERR

F8C

VMEbus Address Error Log

VAERR

F90 - FEC

http://www.motorola.com/computer/literature

Universe Reserved

4-13

Universe (VMEbus to PCI) Chip

Table 4-2. Universe Register Map (Continued)
Offset

Register

FF0

4

Name

VME CR/CSR Reserved

FF4

VMEbus CSR Bit Clear Register

VCSR_CLR

FF8

VMEbus CSR Bit Set Register

VCSR_SET

FFC

VMEbus CSR Base Address Register

VCSR_BS

!
Caution

Register space marked as “Reserved” should not be overwritten.
Unimplemented registers return a value of 0 on reads; writes complete
normally.
Note

The VMEbus CSR Bit Clear Register and the VMEbus CSR Bit
Set Register are not supported on the MVME2300. Writing a 1 to
the VMEbus CSR Bit Set Register reset bit will cause the board
to go into a permanent reset condition.

Universe Chip Problems after PCI Reset
Customers who overwrite the firmware settings for the Universe chip, or
who replace the MCG firmware with their own, may find that under the
conditions described below, there are problems with the Universe chip
after a PCI reset.
Description
The Universe chip is being enabled on the PCI bus after a PCI reset (the
problem does not occur after a board reset or power up).
The Universe is causing the "bye" command to hang the system. The
Universe Master Enable and Memory Enable in the PCI_CSR
(Configuration Space register) are enabled, even before the PCI_BS
register has been initialized. The symptoms can be alleviated by modifying
the PCI probe list such that the Universe PCI configuration is done first.

4-14

Computer Group Literature Center Web Site

Functional Description

The Configuration Space enables are not the only things enabled after a
PCI reset. The LSI0 image may also not be disabled by a PCI reset,
regardless of the enable bit’s power-up condition. If the image is active at
the time the reset occurs, it will remain enabled through the reset.
Additionally, the image does not remain in the same VME or PCI address
range.
How many of the Power-Up (P/U) option bits actually get latched as the
Universe manual indicates they should, is uncertain. In any case, the EN
bit in the LSI0_CTL register is not latched; on MVME2300 series boards,
its P/U state is disabled but is not honored.
Workarounds
The software cannot completely correct this problem, but can minimize the
effects of it. Two possible solutions are presented:
Method 1
1. Modify the PCI probe code to disable each PCI device prior to
writing its configuration space BS registers. This will prevent the
Universe from being active on the PCI bus while it has a base
address of 0.
2. Once the Universe has been assigned a valid PCI Base Address,
enable register space access and disable the LSI0 slave image by
clearing the EN bit of the LSI0_CTL register.
Method 2
Modify the port 92 reset code to disable the LSI0 image before
propagating the reset. This will cause the LSI0 image to come up
disabled.
MCG understands that both of these methods are awkward, because the
PCI probe/reset code should not contain any device-specific patches. It
should only need to follow the probing conventions of the PCI
specification. However, the only other option appears to be avoidance of
the LSI0 image altogether.
Tundra engineering describes the problem as follows:

http://www.motorola.com/computer/literature

4-15

4

Universe (VMEbus to PCI) Chip

"Following are the most recently discovered bugs which will be
addressed in Universe 1.1.
1. LSIO image
Description: After a PCI reset, the LSIO image is still enabled, but the
base, bound, and translation offset changes value.

4

Workaround: None."
Motorola Firmware Engineering has implemented Method 1 in its
firmware workaround in PPCBug debugger release 3.1.
Note

As mentioned at the start of this section, the preceding notes
describing this Universe chip PCI reset problem are meant to
assist those customers who replace the MCG firmware with their
own, or who overwrite the firmware settings for the Universe
chip. Customers who do that may encounter this problem.
Those who leave Motorola’s PPCBug firmware intact should not
experience any difficulties.

Examples
In this section you will find some representative solutions implemented as
workarounds for the Universe PCI reset problem described above.
Example 1: MVME2600 Series Board Exhibits PCI Reset Problem
Use an MVME2600 series board to exhibit the problem.
Conditions:
The board is an MVME260x running PPCOF2.0 Ir05. All the
Universe code which initializes the Universe has been disabled (the
driver code, not the PCI code). The Probe list has been modified to
d,c,e,f,10. The env parameters are set such that an LSI0 image will be
enabled.
Procedure:

4-16

Computer Group Literature Center Web Site

Functional Description

1. Manually call each Universe initialization word, to duplicate typical
operation.
With the LSI0 enabled, the registers are:
CTL
BS
BD
TO
80821000 1012000 21012000 3efee000
2. Execute a bye command.

4

3. Manually enable access to the Universe register set, and read the
LSI0 registers:
CTL
BS
BD
TO
80820000
0
20000000
0
This means that the PCI reset has changed the image as follows:
– From supervisor address modifier to user
– From PCI space base address 1012000 to 0 (size of 2000.0000
constant)
– From VME address range 4000.0000 through 5FFF.FFFF to a
new VMEbus range of 0 through 1FFF.FFFF
It is still enabled.
Example 2: MVME3600 Series Board Acts Differently
In this example, portions of the earlier example are repeated on an
MVME3600 series board. This particular board had customized values for
the LSI0 setup parameters. It had not previously been seen to hang upon
PCI reset.
Conditions:
The Universe register init code is still disabled, and must be manually
called. The PCI init code is enabled, so the Universe PCI memory space
requirement defined by its Configuration Space register at offset 0x10 is
being accommodated and enabled during PCI probing. The PCI probe list
is set to d,c,e,f,10.
Procedure:
1. After a power-up reset, before the init code has written the registers,
the LSI0 register settings are:

http://www.motorola.com/computer/literature

4-17

Universe (VMEbus to PCI) Chip

CTL
800000

BS
0

BD
0

TO
0

2. Run the init code and the LSI0 registers become:
CTL
BS
BD
TO
80821000 3000000 300a000 4d000000

4

3. After a bye, before the init code has run:
CTL
80820000

BS
0

BD
0

TO
0

Therefore the PCI reset caused the following changes in the LSI0
image:
– From supervisor to user
– From PCI space base address 300.0000 to 0
– From PCI space size of A000 to size of 0
– From a VME base address of 5000.0000 to 0
This explains why the PCI reset problem had never arisen on this
particular MVME360x. The fact that the PCI base and PCI bound
registers are both 0 makes the effective size of the image 0 bytes.
Therefore this "enabled" image will never utilize any PCI address
space.
4. Now try modifying the LSI0 env parameters to match those on the
MVME260x which failed:
printenv
vme3_lsi0_vmeaddr
vme3_lsi0_size
vme3_lsi0_phi

1073741824
536870912
77

1073741824
536870912
77

After a power-up, before the init code has run, the LSI0 values are:
800000 0 0 0
5. Do NOT run the init code, but press the RESET button, and the
values become:
830001 f0000000 f0000000 0
6. Run the vme3 init code, and the values are set to accommodate env
parameters:

4-18

Computer Group Literature Center Web Site

Functional Description

80821000 3000000 23000000 3d000000
7. Do a bye.
The values before the init code runs are:
80820000 0 20000000 0
This produces the same results with the MVME360x as with the
MVME260x, and the difference seen earlier is related to the values
of the LSI0 slave at the time the PCI reset occurred.
Example 3: Universe Chip is Checked at Tundra
An engineer at Tundra Semiconductor Corporation had run a simulation on
the LSI0_CTL register, and could see that it was going to be enabled after
a port 92 reset. Motorola engineers mentioned that the problem was
primarily with the _BS, _BD, and _TO registers. He said he would run
more simulations to look at the outcome on those registers. Motorola
engineers explained what they had seen.
The engineer at Tundra re-ran the simulation based on the information
given him. He saw exactly what the Motorola engineers had seen, i.e., that
the LSI0_BS, LSI0_BD, and LSI0_TO values changed, as well as the
LSI0_CTL fields for program, super, and vct. He checked to see whether
this was in fact what the Universe is supposed to do.
The following are his results:
Register
-------LSI0_CTL
LSI0_BS
LSI0_BD
LSIO_TO

Before RST#
----------8082_5FFF
FFFF_FFFF
FFFF_FFFF
FFFF_FFFF

After RST#
----------8082_0001
F000_0000
F000_0000
0000_0000

Explanation:
All the fields in the LSI0 registers which are "Power-up Options" cannot
be reset by assertion of RST# (PCI reset).
The following fields in the LSIO registers cannot be reset by a PCI reset:

http://www.motorola.com/computer/literature

4-19

4

Universe (VMEbus to PCI) Chip

LSI0_CTL register: EN, VAS, LAS
LSI0_BS register: Bits [31:28]
LSI0_BD register: Bits [31:28]
All the other fields in the LSI0 registers are reset to 0, which explains why
the PGM and SUPER fields changed, the translation offset reset to 0, etc.

4

4-20

Computer Group Literature Center Web Site

5Programming Details

5

Introduction
This chapter discusses details of several programming functions that are
not tied to any specific ASIC chip.

PCI Arbitration
PCI arbitration is performed by the PCI-to-ISA Bridge (PIB) which
supports six PCI external PCI masters. The PIB can also be a PCI master
for ISA DMA functions. The arbitration assignments on the MVME2300
series are as follows:
Table 5-1. PCI Arbitration Assignments
Pci Bus Request

PCI Master(s)

PIB (internal)

PIB

CPU

Raven ASIC

Request 0

PMC Slot 2

Request 1

PMC Slot 1

Request 2

PCIX Slot

Request 3

Ethernet

Request 4

Universe ASIC (VMEbus)

Upon power-up, the PIB defaults to a “round-robin” arbitration mode. The
relative priority of each request/grant pair can be customized via PCI
Priority Control Register 1. Refer to the W83C553 Data Book for
additional details, in Appendix A, Related Documentation.

5-1

Programming Details

Interrupt Handling
The interrupt architecture of the MVME2300 series VME processor
module is illustrated in the following figure:

INT
INT_

5
PIB
(8529 Pair)

Processor

MCP_

RavenMPIC
INT_

Processor
SERR_& PERR_
PCI Interrupts
ISA Interrupts

MCP_

11559.00 9609

Figure 5-1. MVME2300 Series Interrupt Architecture

5-2

Computer Group Literature Center Web Site

Interrupt Handling

RavenMPIC
The Raven ASIC has a built-in interrupt controller that meets the MultiProcessor Interrupt Controller (MPIC) specification. This MPIC supports
up to two processors and 16 external interrupt sources. There are also six
other interrupt sources inside the MPIC: Two cross-processor interrupts
and four timer interrupts.
All ISA interrupts go through the 8259 pair in the PIB. The output of the
PIB then goes through the MPIC in the Raven. Refer to Chapter 2, Raven
PCI Bridge ASIC for details on the RavenMPIC. The following table
shows the interrupt assignments for the RavenMPIC on MVME2300
series boards:
Table 5-2. RavenMPIC Interrupt Assignments
MPIC
IRQ

Edge/
Level

Polarity

IRQ0

Level

High

PIB (8259)

1

IRQ1

Edge

Low

Falcon-ECC Error

2

IRQ2

Level

Low

PCI-Ethernet

4

IRQ3

N/A

N/A

Not used

IRQ4

N/A

N/A

Not used

IRQ5

Level

Low

PCI-VME INT 0 (Universe LINT0#)

3, 4

IRQ6

Level

Low

PCI-VME INT 1 (Universe LINT1#)

3

IRQ7

Level

Low

PCI-VME INT 2 (Universe LINT2#)

3

IRQ8

Level

Low

PCI-VME INT 3 (Universe LINT3#)

3

IRQ9

Level

Low

PCI-PMC1 INTA#, PMC2 INTD#, PCIX INTA#

4

IRQ10

Level

Low

PCI-PMC1 INTB#, PMC2 INTA#, PCIX INTB#

IRQ11

Level

Low

PCI-PMC1 INTC#, PMC2 INTB#, PCIX INTC#

IRQ12

Level

Low

PCI-PMC1 INTD#, PMC2 INTC#, PCIX INTD#

IRQ13

Level

Low

LM/SIG Interrupt 0

Interrupt Source

http://www.motorola.com/computer/literature

Notes

4

5-3

5

Programming Details

Table 5-2. RavenMPIC Interrupt Assignments (Continued)
MPIC
IRQ

Edge/
Level

Polarity

IRQ14

Level

Low

LM/SIG Interrupt 1

IRQ15

N/A

N/A

Not used

Interrupt Source

Notes
4

Notes

5

1. Interrupt from the PCI/ISA Bridge.
2. Interrupt from the Falcon chip set for a single and/or double bit
memory error.
3. The mapping of interrupt sources from the VMEbus and Universe
internal interrupt sources is programmable via the Local Interrupt
Map 0 Register and the Local Interrupt Map 1 Register in the
Universe ASIC.
4. These interrupts also appear at the PIB for backward compatibility
with older MVME1600 and PM603/4 modules.

8259 Interrupts
There are 15 interrupt requests supported by the PIB. These 15 interrupts
are ISA-type interrupts that are functionally equivalent to two 82C59
interrupt controllers. Except for IRQ0, IRQ1, IRQ2, IRQ8_, and IRQ13,
each of the interrupt lines can be configured for either edge-sensitive mode
or level-sensitive mode by programming the appropriate ELCR registers
in the PIB.
There is also support for four PCI interrupts, PIRQ3_-PIRQ0_. The PIB
has four PIRQ Route Control registers to allow each of the PCI interrupt
lines to be routed to any of eleven ISA interrupt lines (IRQ0, IRQ1, IRQ2,
IRQ8_, and IRQ13 are reserved for ISA system interrupts). Since PCI
interrupts are defined as level-sensitive, software must program the
selected IRQ(s) for level-sensitive mode. Note that more than one PCI

5-4

Computer Group Literature Center Web Site

Interrupt Handling

interrupt can be routed to the same ISA IRQ line. The PIB can be
programmed to handle the PCI interrupts if the RavenMPIC is either not
present or not used.
The following figure shows the interrupt structure of the PIB.

Timer1/Counter0
IRQ1

0
1

5

2
PIRQ0_

PIRQ Route
Control Register

IRQx

IRQ3
IRQ4

3
4

Controller 1
(INT1)

INTR

IRQ5
5
IRQ6
PIRQ1_

PIRQ2_

PIRQ Route
Control Register

IRQx

PIRQ Route
Control Register

IRQx

IRQ7

IRQ8
IRQ9
IRQ10
IRQ11

PIRQ3_

PIRQ Route
Control Register

IRQx

IRQ12

6
7

0
1
2
3
4

Controller 2
(INT2)

IRQ13
5
IRQ14
IRQ15

6
7

1897 9609

Figure 5-2. PIB Interrupt Handler Block Diagram

http://www.motorola.com/computer/literature

5-5

Programming Details

The assignments of the PCI and ISA interrupts supported by the PIB are as
follows:
Table 5-3. PIB PCI/ISA Interrupt Assignments
Edge/
Level

INT1

Edge

High

Timer 1 / Counter 0

Interrupt Source

Notes

PCI
IRQ

Polarity

5

ISA
IRQ

Controller

PRI

1

IRQ0

2

IRQ1

N/A

N/A

Not used

3-10

IRQ2

Edge

High

Cascade Interrupt from INT2

3

IRQ8_

Edge

Low

ABORT Switch Interrupt

4

IRQ9

N/A

N/A

Not used

5

IRQ10

PIRQ0_

Level

Low

PCI-Ethernet Interrupt

2,3,4

6

IRQ11

PIRQ1_

Level

Low

Universe Interrupt (LINT0#)

2,3,4

7

IRQ12

N/A

N/A

Not used

8

IRQ13

N/A

N/A

Not used

9

IRQ14

PIRQ2_

N/A

N/A

Not used

10

IRQ15

PIRQ3_

Level

Low

PMC/PCIX Interrupt

11

IRQ3

N/A

N/A

Not used

12

IRQ4

Edge

High

COM1 (16550)

13

IRQ5

Level

High

LM/SIG Interrupt 0/1

14

IRQ6

N/A

N/A

Not used

15

IRQ7

N/A

N/A

Not used

5-6

INT2

INT1

1

2,3,4

4

Computer Group Literature Center Web Site

ISA DMA Channels

Notes
1. Internally generated by the PIB.
2. After a reset, all ISA IRQ interrupt lines default to edge-sensitive
mode.
3. These PCI interrupts are routed to the ISA interrupts by
programming the PRIQ Route Control registers in the PIB. The
PCI-to-ISA interrupt assignments in this table are suggested. Each
ISA IRQ to which a PCI interrupt is routed must be programmed for
level-sensitive mode. Use this routing for PCI interrupts only when
the RavenMPIC is either not present or not used.
4. The RavenMPIC, when present, should be used for these interrupts.

ISA DMA Channels
The MVME2300 series boards do not implement any ISA DMA channels.

http://www.motorola.com/computer/literature

5-7

5

Programming Details

Exceptions
Sources of Reset
There are eight potential sources of reset on MVME2300 series boards.
They are:
1. Power-On reset

5

2. RESET switch
3. Watchdog Timer reset via the MK48T59/559 Timekeeper device
4. Port 92 Register via the PIB
5. I/O Reset via the Clock Divisor register in the PIB
6. VMEbus SYSRESET∗ signal
7. Local software reset via the Universe ASIC (MISC_CTL register)
8. VME System Reset Via the Universe ASIC (MISC_CTL register)

5-8

Computer Group Literature Center Web Site

Exceptions

The following table shows which devices are affected by the various reset
sources:
Table 5-4. Reset Sources and Devices Affected

✓

✓

✓

✓

✓

Reset Switch

✓

✓

✓

✓

✓

✓

Watchdog (MK48T59/559)

✓

✓

✓

✓

✓

✓

VME System Reset (SYSRESET∗ Signal)

✓

✓

✓

✓

✓

✓

VME System Software Reset (MISC_CTL
Register)

✓

✓

✓

✓

✓

✓

VME Local Software Reset (MISC_CTL
Register)

✓

✓

✓

✓

✓

Hot Reset (Port 92 Register)

✓

✓

✓

✓

✓

✓

✓

PCI/ISA Reset (Clock Divisor Register)

VMEbus (System
Controller)

PCI Devices

✓

Sources of Reset

ISA Devices

Falcon Chip Set

Raven ASIC

Processor (s)

Power-On

Devices Affected

Soft Reset
Software can assert the SRESET∗ pin of any processor by programming
the Processor Init register of the RavenMPIC appropriately.

Universe Chip Problems after PCI Reset
Under certain conditions, there may be problems with the Universe chip
after a PCI reset. Refer to Universe Chip Problems after PCI Reset in
Chapter 4 for details.

http://www.motorola.com/computer/literature

5-9

5

Programming Details

Error Notification and Handling
The Raven ASIC and Falcon chip set can detect certain hardware errors
and can be programmed to report these errors via the RavenMPIC
interrupts or Machine Check Interrupt. Note that the TEA∗ signal is not
used at all by the MVME2300 series. The following table summarizes how
hardware errors are handled by the MVME2300 series boards:
Table 5-5. Error Notification and Handling

5

Cause

Action

Single-bit ECC

Store: Write corrected data to memory.
Load: Present corrected data to the MPC master.
Generate interrupt via RavenMPIC if so enabled.

Double-bit ECC

Store: Terminate the bus cycle normally without writing to DRAM.
Load: Present un-corrected data to the MPC master.
Generate interrupt via RavenMPIC if so enabled.
Generate Machine Check Interrupt to the processor(s) if so enabled.

MPC Bus Time Out

Store: Discard write data and terminate bus cycle normally.
Load: Present undefined data to the MPC master.
Generate interrupt via RavenMPIC if so enabled.
Generate Machine Check Interrupt to the processor(s) if so enabled.

PCI Target Abort

Store: Discard write data and terminate bus cycle normally.
Load: Return all ones and terminate bus cycle normally.
Generate interrupt via RavenMPIC if so enabled.
Generate Machine Check Interrupt to the processor(s) if so enabled.

PCI Master Abort

Store: Discard write data and terminate bus cycle normally
Load: Return all ones and terminate bus cycle normally
Generate interrupt via RavenMPIC if so enabled
Generate Machine Check Interrupt to the processor(s) if so enabled

PERR# Detected

Generate interrupt via RavenMPIC if so enabled
Generate Machine Check Interrupt to the processor(s) if so enabled

SERR# Detected

Generate interrupt via RavenMPIC if so enabled
Generate Machine Check Interrupt to the processor(s) if so enabled

5-10

Computer Group Literature Center Web Site

Endian Issues

Endian Issues
The MVME2300 series supports both little-endian and big-endian
software. Because the PowerPC processor is inherently big-endian, PCI is
inherently little-endian, and the VMEbus is big-endian, there is potential
for confusion. The figures below illustrate how the MVME2300 series
boards handle the endian issue in big-endian and little-endian modes.

5
Big-Endian PROGRAM
Falcons

DRAM

60X System Bus

Raven
N-way Byte Swap

Big-Endian
Little-Endian

PCI Local Bus

Universe
Little-Endian
N-way Byte Swap
Big-Endian

VMEbus
1898 9609

Figure 5-3. Big-Endian Mode

http://www.motorola.com/computer/literature

5-11

Programming Details

Little-Endian PROGRAM

Little-Endian
Big-Endian

EA Modification (XOR)

5

Falcons

DRAM

60X System Bus

Raven
Big-Endian
EA Modification
Little-Endian

PCI Local Bus

Universe
Little-Endian
N-way Byte Swap
Big-Endian

VMEbus
1899 9609

Figure 5-4. Little-Endian Mode

5-12

Computer Group Literature Center Web Site

Endian Issues

Processor/Memory Domain
The MPC603 and MPC604 processors can operate in both big-endian and
little-endian mode. However, they always treat the external
processor/memory bus as big-endian by performing address
rearrangement and reordering when running in little-endian mode.
The MPC registers inside the Raven, the registers inside the Falcon chip
set, the DRAM, the ROM/Flash, and the system registers always appear as
big-endian.

Role of the Raven ASIC
Since PCI is little-endian, the Raven PowerPC-to-PCI-Local-Bus bridge
controller chip performs byte swapping in both directions (from PCI to
memory and from the processor to PCI) to maintain address invariance
when it is programmed to operate in big-endian mode with the processor
and the memory subsystem.
In little-endian mode, it reverse-rearranges the address for PCI-bound
accesses and rearranges the address for memory-bound accesses (from
PCI). In this case, no byte swapping is done.

PCI Domain
The PCI bus is inherently little-endian and all devices connected directly
to PCI will operate in little-endian mode, regardless of the mode of
operation in the processor’s domain.
PCI-SCSI
The MVME2300 series boards do not implement SCSI.
PCI/Ethernet
Ethernet is byte-stream-oriented, with the byte having the lowest address
in memory being the first one transferred regardless of endian mode. Since
address invariance is maintained by the Raven in both little-endian and

http://www.motorola.com/computer/literature

5-13

5

Programming Details

big-endian mode, there should be no endian issues for Ethernet data. Bigendian software, however, must still take the byte-swapping effect into
account when accessing the registers of the PCI-Ethernet device.
PCI-Graphics
Big-endian software must take the effects of byte swapping on big-endian
software into account.

5

Note

On MVME2300 series boards this is not presently a
consideration, as no graphics are implemented on these
boards.

Role of the Universe ASIC
Since PCI is little-endian and the VMEbus is big-endian, the Universe
VMEbus interface chip performs byte swapping in both directions (from
PCI to VMEbus and from VMEbus to PCI) to maintain address invariance,
regardless of the mode of operation in the processor’s domain.

VMEbus Domain
The VMEbus is inherently big-endian. All devices connected directly to
the VMEbus are expected to operate in big-endian mode, regardless of the
mode of operation in the processor’s domain.
In big-endian mode on the MVME2300 series boards, byte swapping is
performed by the Universe and then by the Raven. The result has the
desirable effect of being transparent to the big-endian software.
In little-endian mode, however, software must take the byte-swapping
effect of the Universe ASIC and the address reverse-rearranging effect of
the Raven into account.

5-14

Computer Group Literature Center Web Site

ROM/Flash Initialization

ROM/Flash Initialization
There are two methods of injecting code into the Flash in bank A:
1. In-circuit programming
2. Loading it from ROM/Flash bank B
For the second method, hardware must direct the Falcon chip set to map
the FFF00000-FFFFFFFF address range to Flash bank B following a hard
reset. Bank A then can be programmed by code from bank B.
Software can determine the mapping of the FFF00000-FFFFFFFF address
range by examining the rom_b_rv bit in the Falcon’s Rom B Base/Size
register.

Table 5-6. ROM/Flash Bank Default
rom_b_rv

Default Mapping for FFF00000-FFFFFFFF

0

ROM/FLASH Bank A

1

ROM/FLASH Bank B

http://www.motorola.com/computer/literature

5-15

5

ARelated Documentation

A

Motorola Computer Group Documents
The Motorola publications listed below are referenced in this manual. You
can obtain paper or electronic copies of Motorola Computer Group
publications by:
❏

Contacting your local Motorola sales office

❏

Visiting MCG’s World Wide Web literature site,
http://www.motorola.com/computer/literature
Document Title

Publication
Number

MVME2300SC VME Processor Module Installation and Use

V2300SCA/IH

MVME2300-Series VME Processor Module Installation and Use

V2300A/IH

MVME2300-Series VME Processor Module Programmer’s Reference Guide

V2300A/PG

PPCBug Firmware Package User’s Manual (Parts 1 and 2)

PPCBUGA1/UM
PPCBUGA2/UM

PPCBug Diagnostics Manual

PPCDIAA/UM

PMCspan PMC Adapter Carrier Module Installation and Use

PMCSPANA/IH

To locate and view the most up-to-date product information in PDF or
HTML format, visit http://www.motorola.com/computer/literature.

A-1

A

Related Documentation

Manufacturers’ Documents
For additional information, refer to the following table for manufacturers’
data sheets and user’s manuals. For your convenience, a source for the
listed document is also provided.
It is important to note that in many cases, the information shown is
preliminary and the revision levels of the documents are subject to change
without notice.
Publication
Number

Document Title and Source
PowerPC 603e® RISC Microprocessor Technical Summary
PowerPC 604e® RISC Microprocessor Technical Summary
Literature Distribution Center for Motorola
Telephone: 1-800- 441-2447
FAX: (602) 994-6430 or (303) 675-2150
WebSite: http://e-www.motorola.com/webapp/DesignCenter/
E-mail: ldcformotorola@hibbertco.com
PowerPC 603e® RISC Microprocessor User’s Manual
PowerPC 604e® RISC Microprocessor User’s Manual
Literature Distribution Center for Motorola
Telephone: 1-800- 441-2447
FAX: (602) 994-6430 or (303) 675-2150
WebSite: http://e-www.motorola.com/webapp/DesignCenter/
E-mail: ldcformotorola@hibbertco.com
OR
IBM Microelectronics
PowerPC603e User Manual
PowerPC604e User Manual
Web Site:
http://www.chips.ibm.com/techlib/products/powerpc/manuals

A-2

MPC603E/D
MPC604E/D

MPC603EUM/AD
MPC604EUM/AD

G522-0297-00
G522-0330-00

Computer Group Literature Center Web Site

Manufacturers’ Documents

Document Title and Source
PowerPC® Microprocessor Family: The Programming Environments for
32-Bit Microprocessors
Literature Distribution Center for Motorola
Telephone: 1-800- 441-2447
FAX: (602) 994-6430 or (303) 675-2150
WebSite: http://e-www.motorola.com/webapp/DesignCenter/
E-mail: ldcformotorola@hibbertco.com
OR
IBM Microelectronics
Programming Environment Manual
Web Site:
http://www.chips.ibm.com/techlib/products/powerpc/manuals
PC16550 UART
National Semiconductor Corporation
http://www.national.com/

Publication
Number
MPCFPE/AD

G522-0290-01

PC16550DV

21140 Fast Etherworks PCI 10-Flash-100 Ethernet Adapter Owner’s
Manual
Compaq
Telephone: 1-800.at.compaq
http://www3.compaq.com/support

EK-DE500-OM

W83C553 Enhanced System I/O Controller with PCI Arbiter (PIB)
Winbond Electronics Corporation;
http://www.winbond.com.tw/product/

W83C553F

M48T59 CMOS 8K x 8 TIMEKEEPERTM SRAM Data Sheet
STMicroelectronics;
http://eu.st.com/stonline/index.shtml

M48T59

Universe User Manual
Tundra Semiconductor Corporation
http://www.tundra.com/page.cfm?tree_id=100008#Universe II
(CA91C042)

8091042_MD300_
05.pdf

Universe User Manual
Tundra Semiconductor Corporation
http://www.tundra.com/page.cfm?tree_id=100008#Universe II
(CA91C042)

8091042_MD300_
05.pdf

http://www.motorola.com/computer/literature

A-3

A

A

Related Documentation

Related Specifications
For additional information, refer to the following table for related
specifications. For your convenience, a source for the listed document is
also provided. It is important to note that in many cases, the information is
preliminary and the revision levels of the documents are subject to change
without notice.
Publication
Number

Document Title and Source
VME64 Specification
VITA (VMEbus International Trade Association)
Web Site: http://www.vita.com/

ANSI/VITA 1-1994

Versatile Backplane Bus: VMEbus
Institute of Electrical and Electronics Engineers, Inc.
OR
Microprocessor system bus for 1 to 4 byte data
Bureau Central de la Commission Electrotechnique Internationale
3, rue de Varembé
Geneva, Switzerland

ANSI/IEEE
Standard 1014-1987

IEC 821 BUS

Web Site: http://standards.ieee.org/catalog/
IEEE - Common Mezzanine Card Specification (CMC)
Institute of Electrical and Electronics Engineers, Inc.
Web Site: http://standards.ieee.org/catalog/

P1386 Draft 2.0

IEEE - PCI Mezzanine Card Specification (PMC)
Institute of Electrical and Electronics Engineers, Inc.
Web Site: http://standards.ieee.org/catalog/

P1386.1 Draft 2.0

Bidirectional Parallel Port Interface Specification
Institute of Electrical and Electronics Engineers, Inc.
Web Site: http://standards.ieee.org/catalog/

IEEE Standard
1284

A-4

Computer Group Literature Center Web Site

Related Specifications

Document Title and Source
Peripheral Component Interconnect (PCI) Local Bus Specification,
Revision 2.0
PCI Special Interest Group
Web Site: http://www.pcisig.com/
PowerPC Reference Platform (PRP) Specification,
Third Edition, Version 1.0, Volumes I and II
International Business Machines Corporation
Web Site: http://www.ibm.com
PowerPC Microprocessor Common Hardware Reference Platform: A
System Architecture (CHRP), Version 1.0
Literature Distribution Center for Motorola
Telephone: 1-800- 441-2447
FAX: (602) 994-6430 or (303) 675-2150
Web Site: http://e-www.motorola.com/webapp/DesignCenter/
E-mail: ldcformotorola@hibbertco.com
OR
Morgan Kaufmann Publishers, Inc.
Telephone: (415) 392-2665
Telephone: 1-800-745-7323
Web Site: http://www.mkp.com/books_catalog/
Interface Between Data Terminal Equipment and Data CircuitTerminating Equipment Employing Serial Binary Data Interchange
Electronic Industries Alliance
Web Site: http://www.eia.org/
Web Site: http://global.ihs.com/index.cfm (for publications)

http://www.motorola.com/computer/literature

Publication
Number
PCI Local Bus
Specification

MPR-PPC-RPU-02

ISBN
1-55860-394-8

TIA/EIA-232
Standard

A-5

A

Glossary
10Base-5

An Ethernet implementation in which the physical medium is a
doubly shielded, 50-ohm coaxial cable capable of carrying data at 10
Mbps for a length of 500 meters (also referred to as thicknet). Also
known as thick Ethernet.

10Base-2

An Ethernet implementation in which the physical medium is a
single-shielded, 50-ohm RG58A/U coaxial cable capable of
carrying data at 10 Mbps for a length of 185 meters (also referred to
as AUI or thinnet). Also known as thin Ethernet.

10Base-T

An Ethernet implementation in which the physical medium is an
unshielded twisted pair (UTP) of wires capable of carrying data at
10 Mbps for a maximum distance of 185 meters. Also known as
twisted-pair Ethernet.

100Base-TX

An Ethernet implementation in which the physical medium is an
unshielded twisted pair (UTP) of wires capable of carrying data at
100 Mbps for a maximum distance of 100 meters. Also known as
fast Ethernet.

AIX

Advanced Interactive eXecutive (IBM version of UNIX).

architecture

The main overall design in which each individual hardware
component of the computer system is interrelated. The most
common uses of this term are 8-bit, 16-bit, or 32-bit architectural
design systems.

ASCII

American Standard Code for Information Interchange; a 7-bit code
used to encode alphanumeric information. In the IBM-compatible
world, this is expanded to eight bits to encode a total of 256
alphanumeric and control characters.

ASIC

Application-Specific Integrated Circuit.

AUI

Attachment Unit Interface.

BBRAM

Battery Backed-up Random Access Memory.

bi-endian

Having big-endian and little-endian byte ordering capability.

GL-1

Glossary

G
L
O
S
S
A
R
Y

big-endian

A byte-ordering method in memory where the address n of a word
corresponds to the most significant byte. In an addressed memory
word, the bytes are ordered (left to right) 0, 1, 2, 3, with 0 being the
most significant byte.

BLT

BLock Transfer.

bus

The pathway used to communicate between the CPU, memory, and
various input/output devices, including floppy and hard disk drives.
Available in various widths (8-, 16-, and 32-bit), with accompanying
increases in speed.

cache

A high-speed memory that resides logically between a central
processing unit (CPU) and the main memory. This temporary
memory holds the data and/or instructions that the CPU is most
likely to use over and over again and avoids accessing the slower
hard or floppy disk drive.

CAS

Column Address Strobe. The clock signal used in dynamic RAMs to
control the input of column addresses.

CISC

Complex-Instruction-Set Computer. A computer whose processor
is designed to sequentially run variable-length instructions, many of
which require several clock cycles, that perform complex tasks and
thereby simplify programming.

CPU

Central Processing Unit. The master computer unit in a system.

DCE

Data Circuit-terminating Equipment.

DIMM

Dual Inline Memory Module.

DMA

Direct Memory Access. A method by which a device may read or
write to memory directly without processor intervention. DMA is
typically used by block I/O devices.

DRAM

Dynamic Random Access Memory. A memory technology that is
characterized by extreme high density, low power, and low cost. It
must be more or less continuously refreshed to avoid loss of data.

DTE

Data Terminal Equipment.

ECC

Error Correction Code

EEPROM

Electrically Erasable Programmable Read-Only Memory. A
memory storage device that can be written repeatedly with no
special erasure fixture. EEPROMs do not lose their contents when
they are powered down.

GL-2

Computer Group Literature Center Web Site

EIDE

Enhanced Integrated Drive Electronics. An improved version of
IDE, with faster data rates, 32-bit transactions, and DMA. Also
known as Fast ATA-2.

EISA (bus)

Extended Industry Standard Architecture (bus) (IBM). An
architectural system using a 32-bit bus that allows data to be
transferred between peripherals in 32-bit chunks instead of 16-bit or
8-bit that most systems use. With the transfer of larger bits of
information, the machine is able to perform much faster than the
standard ISA bus system.

EPROM

Erasable Programmable Read-Only Memory. A memory storage
device that can be written once (per erasure cycle) and read many
times.

ESD

Electro-Static Discharge/Damage

Ethernet

A local area network standard that uses radio frequency signals
carried by coaxial cables.

Falcon

The DRAM controller chip developed by Motorola for the
MVME2600 and MVME3600 series of boards. It is intended to be
used in sets of two to provide the necessary interface between the
Power PC60x bus and the 144-bit ECC DRAM (system memory
array) and/or ROM/Flash.

fast Ethernet

See 100Base-TX.

FDDI

Fiber Distributed Data Interface. A network based on the use of
optical-fiber cable to transmit data in non-return-to-zero, invert-on1s (NRZI) format at speeds up to 100 Mbps.

firmware

The program or specific software instructions that have been more
or less permanently burned into an electronic component, such as a
ROM (read-only memory) or an EPROM (erasable programmable
read-only memory).

hardware

A computing system is normally spoken of as having two major
components: hardware and software. Hardware is the term used to
describe any of the physical embodiments of a computer system,
with emphasis on the electronic circuits (the computer) and
electromechanical devices (peripherals) that make up the system.

IDE

Integrated Drive Electronics. A disk drive interface standard. Also
known as ATA (Advanced Technology Attachment).

IEEE

Institute of Electrical and Electronics Engineers

http://www.motorola.com/computer/literature

GL-3

G
L
O
S
S
A
R
Y

Glossary

G
L
O
S
S
A
R
Y

ISA (bus)

Industry Standard Architecture (bus). The de facto standard system
bus for IBM-compatible computers until the introduction of VESA
and PCI. Used in the reference platform specification. (IBM)

ISASIO

ISA Super Input/Output device

ISDN

Integrated Services Digital Network. A standard for digitally
transmitting video, audio, and electronic data over public phone
networks.

LAN

Local Area Network

LED

Light-Emitting Diode

little-endian

A byte-ordering method in memory where the address n of a word
corresponds to the least significant byte. In an addressed memory
word, the bytes are ordered (left to right) 3, 2, 1, 0, with 3 being the
most significant byte.

MPC603, MPC604

Motorola’s component designations for the PowerPC 603 and
PowerPC 604 microprocessors.

MPIC

Multi-Processor Interrupt Controller

MPU

MicroProcessing Unit

nonvolatile memory

A memory in which the data content is maintained whether the
power supply is connected or not.

NVRAM

Non-Volatile Random Access Memory

OEM

Original Equipment Manufacturer

OS

Operating System. The software that manages the computer
resources, accesses files, and dispatches programs.

parallel port

A connector that can exchange data with an I/O device eight bits at
a time. This port is more commonly used for the connection of a
printer to a system.

PCI (local bus)

Peripheral Component Interconnect (local bus) (Intel). A highperformance, 32-bit internal interconnect bus used for data transfer
to peripheral controller components, such as those for audio, video,
and graphics.

PCMCIA (bus)

Personal Computer Memory Card International Association (bus).
A standard external interconnect bus which allows peripherals
adhering to the standard to be plugged in and used without further
system modification.

GL-4

Computer Group Literature Center Web Site

PHB

PCI Host Bridge

physical address

A binary address that refers to the actual location of information
stored in secondary storage.

PIB

PCI-to-ISA Bridge

PMC

PCI Mezzanine Card

POWER

Performance Optimized With Enhanced RISC architecture (IBM)

PowerPC™

The trademark used to describe the Performance Optimized With
Enhanced RISC microprocessor architecture for Personal
Computers developed by the IBM Corporation. PowerPC is
superscalar, which means it can handle more than one instruction per
clock cycle. Instructions can be sent simultaneously to three types of
independent execution units (branch units, fixed-point units, and
floating-point units), where they can execute concurrently, but finish
out of order. PowerPC is used by Motorola, Inc. under license from
IBM.

RAM

Random-Access Memory. The temporary memory that a computer
uses to hold the instructions and data currently being worked with.
All data in RAM is lost when the computer is turned off.

RAS

Row Address Strobe. A clock signal used in dynamic RAMs to
control the input of the row addresses.

Raven

The PowerPC-to-PCI local bus bridge chip developed by Motorola
for the MVME2600 and MVME3600 series of boards. It provides
the necessary interface between the PowerPC 60x bus and the PCI
bus, and acts as interrupt controller.

Reduced-Instruction-Set Computer (RISC)

A computer in which the processor’s instruction set is limited to
constant-length instructions that can usually be executed in a single
clock cycle.
RFI

Radio Frequency Interference

ROM

Read-Only Memory

RTC

Real-Time Clock

SBC

Single Board Computer

http://www.motorola.com/computer/literature

GL-5

G
L
O
S
S
A
R
Y

Glossary

G
L
O
S
S
A
R
Y

SCSA

Signal Computing System Architecture. A hardware model for
computer telephony servers. A key SCSA element is a TDM (time
division multiplexed) telephony bus for voice and video signals,
known as the SCbus™ in VME implementations of this architecture.

SCSI

Small Computer Systems Interface. An industry-standard highspeed interface primarily used for secondary storage. SCSI-1
provides up to 5 Mbps data transfer.

SCSI-2 (Fast/Wide)

An improvement over plain SCSI; and includes command queuing.
Fast SCSI provides 10 Mbps data transfer on an 8-bit bus. Wide
SCSI provides up to 40 Mbps data transfer on a 16- or 32-bit bus.

serial port

A connector that can exchange data with an I/O device one bit at a
time. It may operate synchronously or asynchronously, and may
include start bits, stop bits, and/or parity.

SIM

Serial Interface Module

SIMM

Single Inline Memory Module. A small circuit board with RAM
chips (normally surface mounted) on it designed to fit into a standard
slot.

SIO

Super I/O controller

SMT

Surface Mount Technology. A method of mounting devices (such as
integrated circuits, resistors, capacitors, and others) on a printed
circuit board, characterized by not requiring mounting holes. Rather,
the devices are soldered to pads on the printed circuit board.
Surface-mount devices are typically smaller than the equivalent
through-hole devices.

software

A computing system is normally spoken of as having two major
components: hardware and software. Software is the term used to
describe any single program or group of programs, languages,
operating procedures, and documentation of a computer system.
Software is the real interface between the user and the computer.

SRAM

Static Random Access Memory

TDM

Time Division Multiplexing. A multiplexing scheme in which
individual I/O ports or channels share slices of time on an aggregate
channel, Receivers and transmitters are synchronized. The SCbus™
is a TDM implementation that provides up to 2048 time slots, the
equivalent of 1024 voice conversations at 64 Kbps.

thick Ethernet

See 10base-5.

GL-6

Computer Group Literature Center Web Site

thin Ethernet

See 10base-2.

twisted-pair Ethernet

See 10Base-T.

UART

Universal Asynchronous Receiver/Transmitter

Universe

ASIC developed by Tundra in consultation with Motorola which
provides the complete interface between the PCI bus and the
VMEbus.

VESA (bus)

Video Electronics Standards Association (or VL bus). An internal
interconnect standard for transferring video information to a
computer display system.

virtual address

A binary address issued by a CPU that indirectly refers to the
location of information in primary memory, such as main memory.
When data is copied from disk to main memory, the physical address
is changed to the virtual address.

VL bus

See VESA Local bus (VL bus).

volatile memory

A memory in which the data content is lost when the power supply
is disconnected.

G
L
O
S
S
A
R
Y

http://www.motorola.com/computer/literature

GL-7

Index

Numerics
16550 UART registers 1-31
8259 mode (Raven interrupt controller) 2-90,
5-4

A
access timing
DRAM 3-7, 3-8, 3-9
ROM/Flash 3-10
address mapping
PowerPC to DRAM 3-56
PowerPC to ROM/Flash 3-16, 3-17
address transfers (PowerPC bus) 3-11
addresses, sizing of 3-56
addressing PCI slave 2-15
Application-Specific Integrated Circuits
(ASICs) 1-1
Falcon ECC Memory Controller chip set
3-1
Raven PCI Bridge 2-1
Universe VMEbus/PCI interface 4-1
architecture
Falcon ECC Memory Controller chip set
3-2
Raven interrupt controller 2-60
Universe ASIC 4-4
ARTRY_ signal (PowerPC 60x bus) 3-11
assertion, definition of xxiii
asterisk (*), meaning of xxiii

B
Base Module Feature register 1-35
Base Module Status register (BMSR) 1-36

big-endian byte ordering xxiii, 5-11
in Raven PCI Bridge ASIC 2-25
binary number, symbol for xxii
bit ordering conventions (Falcon chip set) 3-5
block diagrams
Falcon ECC Memory Controller chip set
3-2
MVME2300 series boards 1-5
PIB interrupt handler 5-5
Raven interrupt controller function 2-65
Raven PCI Bridge ASIC 2-2
board connectors 1-6
bus interface (PowerPC 60x bus) 3-11
byte ordering conventions 5-11
MVME2300 series xxiii
PCI domain 5-13
PCI/Ethernet 5-13
PCI/graphics 5-14
processor/memory domain 5-13
Universe ASIC 5-14
VMEbus domain 5-14
byte, definition of xxiii

C
cache coherency (PowerPC 60x bus) 3-11,
3-12
changing I/O interrupt configurations (Raven
interrupt controller) 2-89
CIO port pins (Z8536 emulation) 1-44
CLK Frequency register (Falcon chip set)
3-35
clock frequency (Falcon chip set) 3-35
CONFIG_ADDRESS register 2-56

IN-1

Index

CONFIG_DATA register 2-58
configuration registers (Raven PCI Bridge
ASIC) 2-11
connectors, MVME2300 series boards 1-6
control bit, definition of xxiii
control registers, writing to (Falcon chip set)
3-53
control/status registers (Falcon chip set) 3-21
CPU Configuration register 1-34
CPU Control register 1-30
CSR accesses (Falcon chip set) 3-21
CSR base address (Falcon chip set) 3-21
current task priority level (Raven interrupt
controller) 2-90
cycle types (Falcon chip set) 3-12

D

I
N
D
E
X

data paths, PowerPC/DRAM 3-60
data transfers (PowerPC 60x bus) 3-11
decimal number, symbol for xxii
default memory maps
PCI 1-13
processor 1-8
defaults (Falcon chip set) 3-20
Disable Error Correction control bit (Falcon
chip set) 3-38
DMA controller (Universe ASIC) 4-7
documentation, related A-1
double word, definition of xxiii
double-bit errors (Falcon chip set) 3-13
DRAM
addressing 3-56
arbitration (Falcon chip set) 3-20
connection diagrams 3-2, 3-3, 3-4
size control bits (Falcon chip set) 3-33
sizing 3-54
speed control bits (Falcon chip set) 3-32
speeds 3-6
DRAM Attributes register (Falcon chip set)
3-33
DRAM Base register (Falcon chip set) 3-35

IN-2

DRAM Tester Control registers (Falcon chip
set) 3-50

E
ECC codes (Falcon chip set) 3-57
ECC Control register (Falcon chip set) 3-36
ECC implementation 3-12
emulated Z8536 registers 1-43
endian conversion (Raven PCI Bridge ASIC)
2-25
endian data swaps 2-26
endian issues 5-11
End-of-Interrupt registers (Raven MPIC)
2-86, 2-90
error
correction (Falcon chip set) 3-12
correction codes (Falcon chip set) 3-57
detection (Falcon chip set) 3-12
handling (Raven PCI Bridge ASIC) 2-28
logging (Falcon chip set) 3-14
notification and handling 5-10
reporting (Falcon chip set) 3-13
Error Address register (Falcon chip set) 3-42
Error Logger register (Falcon chip set) 3-39
examples, Universe/PCI reset problem 4-16
external
interrupt service (Raven MPIC) 2-87
register set (Falcon chip set) 3-21, 3-52
External Source Destination registers (Raven
MPIC) 2-82
External Source Vector/Priority registers
(Raven MPIC) 2-81

F
Falcon ECC Memory Controller chip set
address pipelining 3-5, 3-6
control/status registers 3-21
external register set 3-21, 3-52
features 3-1
four-beat reads/writes 3-5
functional description 3-5
programming model 3-21

Computer Group Literature Center Web Site

reading internal CSRs 3-22
single-beat reads/writes 3-6
software considerations 3-53
writing to internal CSRs 3-23
Falcon-controlled system registers 1-24
false, definition of xxiii
fast refresh control bit (Falcon chip set) 3-32
Feature Reporting register (RavenMPIC)
2-73
features
Falcon ECC Memory Controller chip set
3-1
MVME2300 series boards 1-2
Raven PCI Bridge ASIC 2-1
Universe ASIC 4-1, 4-2
Flash (see ROM/Flash interface) 3-14
functional description
Falcon ECC Memory Controller chip set
3-5
Raven PCI Bridge ASIC 2-4
Universe ASIC 4-3

G
General Control/Status and Feature registers
2-33
General-Purpose registers 2-47
general-purpose software-readable header
(J10/J17) 1-32
generating PCI cycles (Raven PCI Bridge
ASIC) 2-21
Global Configuration register (RavenMPIC)
2-74

H
half-word, definition of xxiii
headers
J10/J17 (general-purpose software-readable header) 1-32
hexadecimal character, symbol for xxii
hints for programming 5-1

I
I/O Base register 2-52
initializing ROM/Flash 5-15
In-Service register (ISR) 2-67
Interprocessor Interrupt Dispatch registers
(Raven MPIC) 2-84
interprocessor interrupts 2-89
Interrupt Acknowledge registers (Raven
MPIC) 2-86, 2-90
interrupt delivery modes (Raven ASIC) 2-64
Interrupt Enable control bits (Falcon chip set)
3-38
interrupt handling, MVME2300 boards 5-2
Interrupt Pending register (IPR) 2-66
Interrupt Request register (IRR) 2-67
interrupt router (Raven ASIC) 2-67
interrupt selector (IS) 2-66
Interrupt Task Priority registers (RavenMPIC) 2-85
interrupter and interrupt handler (Universe
ASIC) 4-6
IPI Vector/Priority registers (Raven MPIC)
2-76
ISA local resource bus 1-31

J
jumper headers
J10/J17 (general-purpose software-readable header) 1-32

L
Large Scale Integration (LSI) 1-1
little-endian byte ordering xxiii, 5-12
LM/SIG Control register 1-38
LM/SIG Status register 1-39
Location Monitor
Lower Base Address register 1-41
Upper Base Address register 1-41

I
N
D
E
X

M
manual terminology xxiii
manufacturers’ documents A-2

http://www.motorola.com/computer/literature

IN-3

Index

I
N
D
E
X

Memory Base register 2-53
Memory Configuration register (MEMCR)
1-27
memory maps
byte reads to CSRs (Falcon chip set)
3-24
byte writes to internal register set and
test SRAM (Falcon chip set)
3-25
default processor 1-8
four-byte reads to CSR (Falcon chip set)
3-26
four-byte writes to internal register set
and test SRAM (Falcon chip
set) 3-26
PCI bus 1-13
PCI PREP 1-16
processor CHRP 1-9
processor PREP 1-11
Raven PCI configuration registers 2-48
Raven PCI I/O registers 2-49
VMEbus master 1-20
VMEbus slave 1-21
MK48T59/559 access registers 1-33
module configuration and status registers
1-33
MPC
address mapping 2-4
arbiter (Raven PCI Bridge ASIC) 2-10
Arbiter Control register 2-36
bus address space (Raven PCI Bridge
ASIC) 2-12
bus interface (Raven PCI Bridge ASIC)
2-4
bus timer (Raven PCI Bridge ASIC)
2-10
bus transfer types (Raven PCI Bridge
ASIC) 2-9
Error Address register 2-40
Error Attribute register (MERAT) 2-41
Error Enable register 2-37
Error Status register 2-39

IN-4

master function (Raven PCI Bridge
ASIC) 2-8
Slave Address (0,1 and 2) registers 2-43
Slave Address (3) register 2-44
slave function (Raven PCI Bridge ASIC)
2-6
Slave Offset/Attribute (0,1 and 2) registers 2-45
Slave Offset/Attribute (3) registers 2-46
write posting (Raven PCI Bridge ASIC)
2-8
MPC-to-PCI address decoding 2-5
MPC-to-PCI address translation 2-6
MPIC registers (Raven ASIC) 2-69
MVME2300 series interrupt architecture 5-2

N
negation, definition of xxiii
NVRAM/RTC 1-32

P
P2 signal routing 1-7
parity checking and Falcon chip set 3-53
PCI
address mapping (Raven PCI Bridge
ASIC) 2-11
arbitration 5-1
CHRP memory map 1-13
Command/ Status registers 2-50
configuration access 1-12
interface function (Raven PCI Bridge
ASIC) 2-10
interface function (Universe ASIC) 4-5
Interrupt Acknowledge register 2-43
master function (Raven PCI Bridge
ASIC) 2-17
memory maps 1-13
PREP memory map 1-16
registers (Raven ASIC) 2-47
reset problems with Universe ASIC 4-14
Slave Address (0,1,2 and 3) registers
2-54

Computer Group Literature Center Web Site

Slave Attribute/ Offset (0,1,2 and 3) registers 2-55
slave command types 2-15
slave function (Raven PCI Bridge ASIC)
2-14
write posting 2-17
PCI/ISA interrupt assignments 5-6
PIB interrupt handler
block diagram 5-5
PCI/ISA interrupt assignments 5-6
pound sign (#), meaning of xxiii
PowerPC to DRAM
access timing 3-7, 3-8, 3-9
address mapping 3-56
data mapping 3-61
PowerPC to ROM/Flash
address mapping 3-16, 3-17
Power-Up Reset status bit (Falcon chip set)
3-36
Power-Up Reset Status registers (Falcon chip
set) 3-51
Prescaler Adjust register 2-36
priority level, current task (Raven interrupt
controller) 2-90
processor CHRP memory map 1-9
Processor Init register (RavenMPIC) 2-75
processor memory maps 1-7
processor PREP memory map 1-11
programming details 5-1
programming model
Falcon chip set 3-21
MVME2300 series boards 1-7
programming notes 2-87
programming ROM/Flash 3-53
program-visible registers (Raven interrupt
controller) 2-66

R
Raven interrupt controller implementation
2-60
Raven MPC register values
for CHRP memory map 1-10

http://www.motorola.com/computer/literature

for PREP memory map 1-12
Raven PCI
configuration register map 2-48
I/O register map 2-49
register values for CHRP memory map
1-15
register values for PREP memory map
1-18
Raven PCI Bridge ASIC, description of 2-1
Raven-Detected Errors
Destination register (Raven MPIC) 2-84
Vector/Priority register (Raven MPIC)
2-83
RavenMPIC
control registers 2-13
interrupt controller 5-3
register map 2-69
Read/Write Checkbits control bit (Falcon
chip set) 3-36
read/write cycles to ROM/Flash (Falcon
chipset) 3-47
readable jumpers 1-32
Refresh Counter Test control bits (Falcon
chip set) 3-43
Refresh/Scrub Address register (Falcon chip
set) 3-44
refresh/scrub implementation (Falcon chip
set) 3-18, 3-19
register descriptions, locations of 1-1
register maps
Falcon chip set 3-27
Raven ASIC 2-30
Universe ASIC 4-9
registers
16550 UART 1-31
Base Module Features 1-35
Base Module Status 1-36
CPU Configuration 1-34
CPU Control 1-30
emulated Z8536 1-43
Falcon-controlled 1-24
LM/SIG Control 1-38

IN-5

I
N
D
E
X

Index

I
N
D
E
X

LM/SIG Status 1-39
Location Monitor Lower Base Address
1-41
Location Monitor Upper Base Address
1-41
Memory Configuration (MEMCR) 1-27
MK48T59/559 access 1-33
module configuration and status 1-33
NVRAM/RTC and Watchdog Timer
1-32
Raven configuration 2-11
Raven MPC 1-10, 1-12
RavenMPIC control 2-13
Semaphore Register 1 1-42
Semaphore Register 2 1-42
System Configuration (SYSCR) 1-25
System External Cache Control (SXCCR) 1-29
Universe Control and Status registers
(UCSR) 4-8
VME Geographical Address (VGAR)
1-43
W83C553 PIB 1-31
registers and endian mode (Raven PCI
Bridge ASIC) 2-27
registers, Falcon chip set
CLK Frequency 3-35
CSR summary 3-27
DRAM Attributes 3-33
DRAM Base 3-35
DRAM Tester Control 3-50
ECC Control 3-36
Error Address 3-42
Error Logger 3-39
Power-Up Reset Status 3-51
RAM/Flash Block A Base/Size 3-45
Refresh/Scrub 3-44
Revision ID/General Control 3-31
ROM/Flash Block B Base/Size 3-48
Scrub/Refresh 3-43
Vendor/Device 3-30
registers, Raven ASIC

CONFIG_ADDRESS 2-56
CONFIG_DATA 2-58
End-of-Interrupt
registers
(Raven
MPIC) 2-86
External Source Destination registers
(Raven MPIC) 2-82
External Source Vector/Priority registers
(Raven MPIC) 2-81
Feature Reporting register (RavenMPIC) 2-73
General Control/Status and Features
2-33
General-Purpose 2-47
Global Configuration register (RavenMPIC) 2-74
I/O Base 2-52
In-Service register (ISR) 2-67
Interprocessor Interrupt Dispatch registers (Raven MPIC) 2-84
Interrupt Acknowledge registers (Raven
MPIC) 2-86
Interrupt Pending register (IPR) 2-66
Interrupt Request register (IRR) 2-67
interrupt selector (IS) 2-66
Interrupt Task Priority registers (RavenMPIC) 2-85
IPI Vector/Priority registers (Raven
MPIC) 2-76
Memory Base 2-53
MPC 2-30
MPC Arbiter Control 2-36
MPC Error Address 2-40
MPC Error Attributes 2-41
MPC Error Enable 2-37
MPC Error Status 2-39
MPC Slave Address (0,1 and 2) 2-43
MPC Slave Address (3) 2-44
MPC Slave Offset/Attribute (0,1 and 2)
2-45
MPC Slave Offset/Attribute (3) 2-46
PCI Command/ Status 2-50
PCI Interrupt Acknowledge 2-43

IN-6

Computer Group Literature Center Web Site

PCI Slave Address (0,1,2 and 3) 2-54
PCI Slave Attribute/ Offset (0,1,2 and 3)
2-55
Prescaler Adjust 2-36
Processor Init register (RavenMPIC)
2-75
Raven-Detected Errors Destination register (Raven MPIC) 2-84
Raven-Detected Errors Vector/Priority
register (Raven MPIC) 2-83
Revision ID 2-33
Revision ID/ Class Code 2-52
Spurious Vector register (Raven MPIC)
2-77
Timer Base Count registers (Raven
MPIC) 2-78
Timer Current Count registers (Raven
MPIC) 2-78
Timer Destination registers (Raven
MPIC) 2-80
Timer Frequency register (Raven MPIC)
2-77
Timer Vector/Priority registers (Raven
MPIC) 2-79
Vendor ID/Device ID 2-32, 2-49
Vendor Identification register (RavenMPIC) 2-75
registers, writing to (Falcon chip set) 3-53
related documentation A-1
related specifications A-4
reset sources on MVME2300 boards 5-8
devices affected 5-9
reset state (Raven MPIC) 2-88
revision ID (Falcon chip set) 3-31
Revision ID register (Raven ASIC) 2-33
Revision ID/Class Code registers (Raven
ASIC) 2-52
Revision ID/General Control register (Falcon
chip set) 3-31
ROM 5-15
ROM/Flash
initialization 5-15

http://www.motorola.com/computer/literature

interface (Falcon chip set) 3-14
programming 3-53
speed 3-10
ROM/FLASH bank default mapping 5-15
ROM/Flash Block A
Base Address control bits (Falcon chip
set) 3-45
Base/Size register (Falcon chip set) 3-45
size encoding (Falcon chip set) 3-46
Width control bit (Falcon chip set) 3-45
ROM/Flash Block B
Base Address control bits (Falcon chip
set) 3-48
Base/Size register (Falcon chipset) 3-48
size encoding (Falcon chip set) 3-49
Width control bit (Falcon chip set) 3-48

S
scrub counter (Falcon chip set) 3-43
Scrub Write Enable control bit (Falcon chip
set) 3-43
Scrub/Refresh register (Falcon chip set) 3-43
SCSA bus xix, 1-3, 1-6, 1-7
Semaphore Register 1 1-42
Semaphore Register 2 1-42
signal routing, P2 connector 1-7
single word, definition of xxiii
single-bit error counter (Falcon chip set) 3-41
single-bit errors (Falcon chip set) 3-13
ordered by syndrome code 3-59
sizing addresses 3-56
sizing DRAM 3-54
soft resets 5-9
software considerations (Falcon chip set)
3-53
software-readable jumpers 1-32
sources of reset 5-8
specifications, related A-4
spread I/O addressing (Raven PCI Bridge
ASIC) 2-22
Spurious Vector register (Raven MPIC) 2-77
SRAM base address (Falcon chip set) 3-21

IN-7

I
N
D
E
X

Index

status bit, definition of xxiii
symbols, use of xxii
syndrome codes, ECC (Falcon chip set) 3-57
System Configuration register (SYSCR) 1-25
System External Cache Control register (SXCCR) 1-29

T
Timer registers (Raven MPIC)
Base Count registers 2-78
Current Count registers 2-78
Destination registers 2-80
Frequency register 2-77
Vector/Priority registers 2-79
timing (DRAM access) 3-7, 3-8, 3-9
timing (ROM/Flash access) 3-10
transaction ordering (Raven PCI Bridge
ASIC) 2-29
triple- (or greater) bit errors (Falcon chip set)
3-13
true, use of xxiii

U

I
N
D
E
X

UCSR access mechanisms 4-9
underscore (_), meaning of xxiii
Universe (VMEbus to PCI) interface chip 4-1
architectural diagram 4-4
as PCI master 4-6
as PCI slave 4-5
as VMEbus master 4-5
as VMEbus slave 4-4
byte ordering 5-14
chip problems after PCI reset 4-14, 5-9
Control and Status registers (UCSR) 4-8
interrupter and interrupt handler 4-6
PCI Register values for CHRP memory
map 1-15
PCI register values for PREP memory
map 1-19
PCI register values for VMEbus slave
map 1-23
register map 4-9

IN-8

upper/lower chip status bit (Falcon chip set)
3-32

V
Vendor ID/Device ID registers 2-32, 2-49
Vendor Identification register (RavenMPIC)
2-75
Vendor/Device register (Falcon chip set)
3-30
VME Geographical Address register
(VGAR) 1-43
VME registers 1-37
VMEbus
interface 4-4
interrupt handling (Universe ASIC) 4-7
mapping 1-20
master map 1-20
slave map 1-21, 1-24
Universe ASIC and 4-1

W
W83C553 PIB registers 1-31
Watchdog Timer registers 1-32
word, definition of xxiii
write posting (Raven PCI Bridge ASIC) 2-17
writing to control registers (Falcon chip set)
3-53

Z
Z8536 emulation (CIO port pins) 1-44

Computer Group Literature Center Web Site



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.2
Linearized                      : No
Create Date                     : 1910:10:61 91:31:51
Producer                        : Acrobat Distiller 3.01 for Windows
Title                           : MVME2300 Series VME Processor Module Programmer's Reference Guide
Creator                         : FrameMaker+SGML 5.5.6p145
Author                          : Motorola Computer Group
Modify Date                     : 2001:06:19 13:18:38
Page Count                      : 282
Page Mode                       : UseOutlines
EXIF Metadata provided by EXIF.tools

Navigation menu