TOSHIBA TMPR4955F

64-Bit TX System RISC
TX49 Family
TMPR4955A
R4000/R4400/R5000 are a trademark of MIPS Technologies, Inc.
The information contained herein is subject to change without notice.
The information contained herein is presented only as a guide for the applications of our
products. No responsibility is assumed by TOSHIBA for any infringements of patents or
other rights of the third parties which may result from its use. No license is granted by
implication or otherwise under any patent or patent rights of TOSHIBA or others.
The products described in this document contain components made in the United States
and subject to export control of the U.S. authorities. Diversion contrary to the U.S. law
is prohibited.
TOSHIBA is continually working to improve the quality and reliability of its products.
Nevertheless, semiconductor devices in general can malfunction or fail due to their
inherent electrical sensitivity and vulnerability to physical stress.
It is the responsibility of the buyer, when utilizing TOSHIBA products, to comply with
the standards of safety in making a safe design for the entire system, and to avoid
situations in which a malfunction or failure of such TOSHIBA products could cause loss
of human life, bodily injury or damage to property.
In developing your designs, please ensure that TOSHIBA products are used within
specified operating ranges as set forth in the most recent TOSHIBA products
specifications.
Also, please keep in mind the precautions and conditions set forth in the “Handling
Guide for Semiconductor Devices,” or “TOSHIBA Semiconductor Reliability
Handbook” etc..
The Toshiba products listed in this document are intended for usage in general
electronics applications ( computer, personal equipment, office equipment, measuring
equipment, industrial robotics, domestic appliances, etc.).
These Toshiba products are neither intended nor warranted for usage in equipment that
requires extraordinarily high quality and/or reliability or a malfunction or failure of
which may cause loss of human life or bodily injury (“Unintended Usage”).
Unintended Usage include atomic energy control instruments, airplane or spaceship
instruments, transportation instruments, traffic signal instruments, combustion control
instruments, medical instruments, all types of safety devices, etc.. Unintended Usage of
Toshiba products listed in this document shall be made at the customer’s own risk.
The products described in this document may include products subject to the foreign
exchange and foreign trade laws.
© 2001 TOSHIBA CORPORATION
All Rights Reserved
Preface
Thank you for your new or continued patronage of Toshiba semiconductor products. This is the 2001
edition of the user’s manual for the TMPR4955A 64-bit RISC microprocessor.
This databook is written so as to be accessible to engineers who may be designing a Toshiba
microprocessor into their products for the first time. No prior knowledge of this device is assumed.
What we offer here is basic information about the microprocessor, a discussion of the application fields
in which the microprocessor is utilized, and an overview of design methods. On the other hand, the
more experienced designer will find complete technical specifications for this product.
Toshiba continually updates its technical information. Your comments and suggestions concerning this
and other Toshiba documents are sincerely appreciated and may be utilized in subsequent editions. For
updating of the data in this manual, or for additional information about the product appearing in it,
please contact your nearest Toshiba office or authorized Toshiba dealer.
Dec 2000
TMPR4955A
Contents
Handling Precautions
TMPR4955A
Chapter 1. Introduction ............................................................................................................................ 1-1
1.1 Overview ........................................................................................................................................ 1-1
1.2 Notation used in this manual ....................................................................................................... 1-1
1.2.1 Numerical notation ................................................................................................................ 1-1
1.2.2 Data notation.......................................................................................................................... 1-1
1.2.3 Signal notation ....................................................................................................................... 1-1
1.2.4 Register notation .................................................................................................................... 1-1
Chapter 2. Features .................................................................................................................................. 2-1
2.1 Block Diagram ............................................................................................................................... 2-2
2.2 Pin Description .............................................................................................................................. 2-3
2.2.1 TX4955A pin out (160-pin QFP)............................................................................................ 2-3
Chapter 3. Initialization Interface........................................................................................................... 3-1
3.1 Functional Overview ..................................................................................................................... 3-1
3.1.1 System Coordination.............................................................................................................. 3-1
3.2 Reset Signal Description............................................................................................................... 3-2
3.2.1 Cold Reset ............................................................................................................................... 3-2
3.2.2 Warm Reset............................................................................................................................. 3-2
3.3 TX4955A......................................................................................................................................... 3-4
3.3.1 Power Modes (Doze/Halt Mode) ............................................................................................ 3-4
3.3.2 Operating Modes .................................................................................................................... 3-5
3.3.3 System Endianness ................................................................................................................ 3-5
3.3.4 Reverse Endianness ............................................................................................................... 3-6
3.3.5 Instruction Trace Support ..................................................................................................... 3-6
3.3.6 Bootstrap Exception Vector ................................................................................................... 3-6
3.3.7 Interrupt Enable .................................................................................................................... 3-6
3.3.8 Floating-Point Reigsters ........................................................................................................ 3-6
Chapter 4. Clock Interface........................................................................................................................ 4-1
4.1 Signal Terminology........................................................................................................................ 4-1
4.2 Basic System Clocks...................................................................................................................... 4-2
4.2.1 MasterClock............................................................................................................................ 4-2
4.2.2 PClock ..................................................................................................................................... 4-2
4.2.3 SClock ..................................................................................................................................... 4-2
4.2.4 PClock-to-SClock Division ..................................................................................................... 4-3
4.2.5 Phase-Locked Loop (PLL) ...................................................................................................... 4-3
4.3 Connecting Clocks to a Phase-Locked System ............................................................................ 4-4
Chapter 5 Cache Organization................................................................................................................ 5-1
5.1 Memory Organization ................................................................................................................... 5-1
5.2 Cache Organization ....................................................................................................................... 5-2
5.2.1 Cache Sizes ............................................................................................................................. 5-2
5.2.2 Cache Line Lengths ............................................................................................................... 5-2
5.2.3 Organization of the Instruction Cache (I-Cache) ................................................................. 5-2
5.2.4 Instruction cache address field.............................................................................................. 5-3
5.2.5 Instruction cache configuration............................................................................................. 5-3
5.2.6 Organization of the Data Cache (D-Cache) .......................................................................... 5-4
5.2.7 Data cache address field ........................................................................................................ 5-4
5.2.8 Data cache configuration ....................................................................................................... 5-4
5.3 Lock function ................................................................................................................................. 5-5
5.3.1 Lock function .......................................................................................................................... 5-5
5.3.2 Operation during lock ............................................................................................................ 5-6
5.3.3 Example of Data cache locking.............................................................................................. 5-6
i
TMPR4955A
5.3.4 Example of Instruction cache locking ................................................................................... 5-6
5.4 The primary cache accessing ........................................................................................................ 5-7
5.5 Cache States .................................................................................................................................. 5-7
5.6 Cache Line Ownership .................................................................................................................. 5-8
5.7 Cache Multi-Hit Operation ........................................................................................................... 5-8
5.8 FIFO Replacement Algorithm ...................................................................................................... 5-8
5.9 Cache Testing................................................................................................................................. 5-9
5.9.1 Cache disabling ...................................................................................................................... 5-9
5.9.2 Cache Flushing....................................................................................................................... 5-9
5.10 Cache Operations ........................................................................................................................ 5-10
5.10.1 Cache Write Policy ................................................................................................................5-11
5.10.2 Data Cache Line Replacement .............................................................................................5-11
5.10.3 Instruction Cache Line Replacement.................................................................................. 5-12
5.11 Manipulation of the Caches by an External Agent ................................................................... 5-12
Chapter 6. TX4955A System Interface .................................................................................................... 6-1
6.1 Terminology ................................................................................................................................... 6-1
6.2 Explanation of System Interface of R5000 type protocol mode .................................................. 6-1
6.2.1 Interface bus ........................................................................................................................... 6-2
6.2.2 Address cycle and data cycle ................................................................................................. 6-2
6.2.3 Issue cycle ............................................................................................................................... 6-3
6.2.4 Handshake signal................................................................................................................... 6-4
6.2.5 System Interface Protocol of R5000 type .............................................................................. 6-4
6.2.5.1
Master state and slave state.......................................................................................... 6-5
6.2.5.2
Shifting from the master state to the slave state ........................................................ 6-5
6.2.5.3
External arbitration ....................................................................................................... 6-5
6.2.5.4
Shifting to the slave state on its own............................................................................ 6-5
6.2.6 Processor Requests and External Requests ......................................................................... 6-6
6.2.6.1
Rules relating to processor requests ............................................................................. 6-6
6.2.6.2
Processor requests.......................................................................................................... 6-7
6.2.6.3
Processor read requests ................................................................................................. 6-7
6.2.6.4
Processor write request.................................................................................................. 6-8
6.2.6.5
External requests ........................................................................................................... 6-8
6.2.6.6
External read requests................................................................................................... 6-9
6.2.6.7
External write requests ................................................................................................. 6-9
6.2.6.8
Read responses ............................................................................................................. 6-10
6.2.7 Handling of Requests ........................................................................................................... 6-10
6.2.7.1
Load miss ...................................................................................................................... 6-10
6.2.7.2
Store miss ..................................................................................................................... 6-10
6.2.7.3
Store hits........................................................................................................................6-11
6.2.7.4
Uncached load or store..................................................................................................6-11
6.2.7.5
Cache instruction operation .........................................................................................6-11
6.2.8 Processor Request and External Request Protocol ............................................................ 6-12
6.2.8.1
Processor request protocol ........................................................................................... 6-12
6.2.8.2
Processor read request protocol................................................................................... 6-12
6.2.8.3
Processor write request protocols................................................................................ 6-13
6.2.8.4
Processor single write requests ................................................................................... 6-15
6.2.8.5
Processor block write request ...................................................................................... 6-17
6.2.8.6
External request protocol ............................................................................................ 6-17
6.2.8.7
External arbitration protocol....................................................................................... 6-18
6.2.8.8
External read request protocol .................................................................................... 6-19
6.2.8.9
External null request protocol..................................................................................... 6-20
6.2.8.10 External write request protocol................................................................................... 6-21
6.2.8.11 Read response protocol ................................................................................................ 6-22
6.2.9 Data Transfer ....................................................................................................................... 6-24
6.2.9.1
Data transfer pattern................................................................................................... 6-24
6.2.9.2
Independent transfer on SysAD bus ........................................................................... 6-24
6.2.10 System Interface cycle time................................................................................................. 6-25
6.2.10.1 Release latency ............................................................................................................. 6-25
ii
TMPR4955A
6.2.11 System Interface Command and Data Identifiers ............................................................. 6-26
6.2.11.1 Syntax of commands and data identifiers .................................................................. 6-26
6.2.11.2 Syntax of system interface commands........................................................................ 6-26
6.2.11.3 Read requests ............................................................................................................... 6-27
6.2.11.4 Write requests .............................................................................................................. 6-28
6.2.11.5 Null requests ................................................................................................................ 6-29
6.2.11.6 Syntax of system interface data identifiers................................................................ 6-29
6.2.11.7 Non-coherent data........................................................................................................ 6-29
6.2.11.8 Bit definition of data identifiers .................................................................................. 6-30
6.2.12 System Interface Addresses................................................................................................. 6-31
6.2.12.1 Addressing rules in the 32-bit bus mode .................................................................... 6-31
6.2.13 Mode Register of System Interface (G2Sconfig)................................................................. 6-31
6.2.14 Data Error Detection ........................................................................................................... 6-32
6.2.14.1 Indication of good data by data identifier SysCmd(5) ............................................... 6-32
6.2.14.2 Determination by a check bit ...................................................................................... 6-32
6.2.14.3 Timing at which a bus error exception occurs............................................................ 6-32
6.2.14.4 Precautions ................................................................................................................... 6-32
6.3 System Interface of TX4300 type protocol mode ....................................................................... 6-33
6.3.1 System Interface Description of TX4300 Type Protocol Mode .......................................... 6-33
6.3.2 System Events ...................................................................................................................... 6-35
6.3.3 System Event Sequences and the SysAD Bus Protocol ..................................................... 6-35
6.3.3.1
Fetch Miss..................................................................................................................... 6-35
6.3.3.2
Load Miss...................................................................................................................... 6-36
6.3.3.3
Store Miss ..................................................................................................................... 6-36
6.3.3.4
Uncached Load or Store............................................................................................... 6-36
6.3.3.5
Cache Instructions ....................................................................................................... 6-36
6.3.3.6
Byte Ordering (Endian) ............................................................................................... 6-36
6.3.3.7
Physical Addresses ....................................................................................................... 6-36
6.3.3.8
Interface Buses............................................................................................................. 6-36
6.3.3.9
Address and Data Cycles ............................................................................................. 6-37
6.3.4 System Interface Protocols .................................................................................................. 6-38
6.3.4.1
Master and Slave States .............................................................................................. 6-38
6.3.4.2
Moving from Master to Slave State ............................................................................ 6-38
6.3.4.3
External Arbitration .................................................................................................... 6-39
6.3.4.4
Uncompelled Change to Slave State ........................................................................... 6-39
6.3.4.5
Signal Timing ............................................................................................................... 6-39
6.3.5 Timing Summary ................................................................................................................. 6-40
6.3.6 Arbitration ............................................................................................................................ 6-45
6.3.7 Issuing Commands............................................................................................................... 6-46
6.3.8 Processor Write Request ...................................................................................................... 6-46
6.3.9 Processor Read Request....................................................................................................... 6-48
6.3.10 External Write Request ....................................................................................................... 6-48
6.3.11 External Read Response ...................................................................................................... 6-50
6.3.12 Flow Control ......................................................................................................................... 6-52
6.3.13 Data Rate Control ................................................................................................................ 6-53
6.3.14 Consecutive SysAD Bus Transactions ................................................................................ 6-54
6.3.15 Starvation and Deadlock Avoidance.................................................................................... 6-56
6.3.16 Discarding and Re-Executing Read Command .................................................................. 6-56
6.3.17 Multiple Drivers on the SysAD Bus.................................................................................... 6-57
6.3.18 Signal Codes ......................................................................................................................... 6-58
6.3.19 Physical Addresses ............................................................................................................... 6-60
6.3.20 Mode Register of System Interface (G2SConfig)................................................................ 6-60
6.3.21 Read Time Out Counter (MODE43* = 0)............................................................................ 6-61
Chapter 7. JTAG Interface ....................................................................................................................... 7-1
7.1 What Boundary Scanning Is......................................................................................................... 7-1
7.2 Signal Summary ............................................................................................................................ 7-2
7.3 JTAG Controller and Registers .................................................................................................... 7-3
7.3.1 Instruction Register ............................................................................................................... 7-3
iii
TMPR4955A
7.3.2 Bypass Register ...................................................................................................................... 7-4
7.3.3 Boundary-Scan Register ........................................................................................................ 7-5
7.3.4 Device Identification Register ............................................................................................... 7-5
7.3.5 Test Access Port (TAP) ........................................................................................................... 7-6
7.3.6 TAP Controller........................................................................................................................ 7-6
7.3.7 Controller Reset ..................................................................................................................... 7-6
7.3.8 TAP Controller........................................................................................................................ 7-7
7.4 Instructions for JTAG ..................................................................................................................7-11
7.4.1 The EXTEST Instruction......................................................................................................7-11
7.4.2 The SAMPLE/PRELOAD Instruction................................................................................. 7-12
7.4.3 The BYPASS Instruction ..................................................................................................... 7-13
7.4.4 The IDCODE Instruction..................................................................................................... 7-13
7.5 Note .............................................................................................................................................. 7-14
Chapter 8. TX4955A Processor Interrupts .............................................................................................. 8-1
8.1 Nonmaskable Interrupt ................................................................................................................ 8-1
8.2 External Interrupts ....................................................................................................................... 8-1
8.3 Software Interrupt ........................................................................................................................ 8-1
8.4 Timer Interrupt ............................................................................................................................. 8-2
8.5 Asserting Interrupts...................................................................................................................... 8-3
Chapter 9. Debug Support Unit ............................................................................................................... 9-1
9.1 Features ......................................................................................................................................... 9-1
9.2 EJTAG interface ............................................................................................................................ 9-1
9.3 JTAG Interface .............................................................................................................................. 9-2
9.4 Processor Access Overview ........................................................................................................... 9-2
9.5 Instruction ..................................................................................................................................... 9-2
9.6 Debug Unit..................................................................................................................................... 9-3
9.6.1 Extended Instructions............................................................................................................ 9-3
9.6.2 Extended Debug Registers in CP0 ........................................................................................ 9-3
9.7 Register Map.................................................................................................................................. 9-3
9.8 Processor Bus Break Function ..................................................................................................... 9-3
9.9 Debug Exception............................................................................................................................ 9-4
9.9.1 Debug Single Step (DSS) ....................................................................................................... 9-4
9.9.2 Debug Breakpoint exception (Dbp) ....................................................................................... 9-4
9.9.3 JTAG Break Exception .......................................................................................................... 9-4
9.9.4 Debug Exception Handling.................................................................................................... 9-4
9.9.5 Branching to debug handler .................................................................................................. 9-4
9.9.6 Exception handling when in Debug Mode (DM bit is set) ................................................... 9-4
9.10 Real Time PC TRACE Output ...................................................................................................... 9-4
Chapter 10. Electrical Characteristics .................................................................................................... 10-1
10.1 Electrical Characteristics of TMPR4955AF............................................................................... 10-1
10.1.1 Absolute Maximum Ratings ................................................................................................ 10-1
10.1.2 Recommended Operating Conditions.................................................................................. 10-1
10.1.3 DC Characteristics ............................................................................................................... 10-2
10.1.4 AC Characteristics ............................................................................................................... 10-2
10.1.4.1 Clock Timing................................................................................................................. 10-2
10.1.4.2 System Interface .......................................................................................................... 10-2
10.1.5 Timing Diagrams.................................................................................................................. 10-3
10.1.5.1 Clock Timing................................................................................................................. 10-3
10.1.5.2 PClock to SClock DIVISOR of 2 .................................................................................. 10-3
10.1.5.3 System Interface Timing ............................................................................................. 10-4
10.1.5.4 Cold Reset Timing ........................................................................................................ 10-4
10.1.5.5 Warm Reset Timing...................................................................................................... 10-4
Chapter 11. Package Dimension ...............................................................................................................11-1
A. PLL Passive Components .....................................................................................................................A-1
B. Movement parameter setting of a processor........................................................................................B-1
iv
TMPR4955A
C. Differences Between the TMPR4955 and the TMPR4955A ...............................................................C-1
v
TMPR4955A
vi
Handling Precautions
1
1.
Using Toshiba Semiconductors Safely
Using Toshiba Semiconductors Safely
TOSHIBA are continually working to improve the quality and the reliability of their products.
Nevertheless, semiconductor devices in general can malfunction or fail due to their inherent
electrical sensitivity and vulnerability to physical stress. It is the responsibility of the buyer, when
utilizing TOSHIBA products, to observe standards of safety, and to avoid situations in which a
malfunction or failure of a TOSHIBA product could cause loss of human life, bodily injury or
damage to property.
In developing your designs, please ensure that TOSHIBA products are used within specified
operating ranges as set forth in the most recent products specifications. Also, please keep in mind
the precautions and conditions set forth in the TOSHIBA Semiconductor Reliability Handbook.
1-1
1
1-2
Using Toshiba Semiconductors Safely
2
2.
Safety Precautions
Safety Precautions
This section lists important precautions which users of semiconductor devices (and anyone else)
should observe in order to avoid injury and damage to property, and to ensure safe and correct use
of devices.
Please be sure that you understand the meanings of the labels and the graphic symbol described
below before you move on to the detailed descriptions of the precautions.
[Explanation of labels]
Indicates an imminently hazardous situation which will result in death or
serious injury if you do not follow instructions.
Indicates a potentially hazardous situation which could result in death or
serious injury if you do not follow instructions.
Indicates a potentially hazardous situation which if not avoided, may result
in minor injury or moderate injury.
[Explanation of graphic symbol]
Graphic symbol
Meaning
Indicates that caution is required (laser beam is dangerous to eyes).
2-1
2
2.1
Safety Precautions
General Precautions regarding Semiconductor Devices
Do not use devices under conditions exceeding their absolute maximum ratings (e.g. current, voltage, power dissipation or
temperature).
This may cause the device to break down, degrade its performance, or cause it to catch fire or explode resulting in injury.
Do not insert devices in the wrong orientation.
Make sure that the positive and negative terminals of power supplies are connected correctly. Otherwise the rated maximum
current or power dissipation may be exceeded and the device may break down or undergo performance degradation, causing it to
catch fire or explode and resulting in injury.
When power to a device is on, do not touch the device’s heat sink.
Heat sinks become hot, so you may burn your hand.
Do not touch the tips of device leads.
Because some types of device have leads with pointed tips, you may prick your finger.
When conducting any kind of evaluation, inspection or testing, be sure to connect the testing equipment’s electrodes or probes to
the pins of the device under test before powering it on.
Otherwise, you may receive an electric shock causing injury.
Before grounding an item of measuring equipment or a soldering iron, check that there is no electrical leakage from it.
Electrical leakage may cause the device which you are testing or soldering to break down, or could give you an electric shock.
Always wear protective glasses when cutting the leads of a device with clippers or a similar tool.
If you do not, small bits of metal flying off the cut ends may damage your eyes.
2-2
2
2.2
2.2.1
Safety Precautions
Precautions Specific to Each Product Group
Optical semiconductor devices
When a visible semiconductor laser is operating, do not look directly into the laser beam or look through the optical system.
This is highly likely to impair vision, and in the worst case may cause blindness.
If it is necessary to examine the laser apparatus, for example to inspect its optical characteristics, always wear the appropriate
type of laser protective glasses as stipulated by IEC standard IEC825-1.
Ensure that the current flowing in an LED device does not exceed the device’s maximum rated current.
This is particularly important for resin-packaged LED devices, as excessive current may cause the package resin to blow up,
scattering resin fragments and causing injury.
When testing the dielectric strength of a photocoupler, use testing equipment which can shut off the supply voltage to the
photocoupler. If you detect a leakage current of more than 100 µA, use the testing equipment to shut off the photocoupler’s
supply voltage; otherwise a large short-circuit current will flow continuously, and the device may break down or burst into flames,
resulting in fire or injury.
When incorporating a visible semiconductor laser into a design, use the device’s internal photodetector or a separate
photodetector to stabilize the laser’s radiant power so as to ensure that laser beams exceeding the laser’s rated radiant power
cannot be emitted.
If this stabilizing mechanism does not work and the rated radiant power is exceeded, the device may break down or the
excessively powerful laser beams may cause injury.
2.2.2
Power devices
Never touch a power device while it is powered on. Also, after turning off a power device, do not touch it until it has thoroughly
discharged all remaining electrical charge.
Touching a power device while it is powered on or still charged could cause a severe electric shock, resulting in death or serious
injury.
When conducting any kind of evaluation, inspection or testing, be sure to connect the testing equipment’s electrodes or probes to
the device under test before powering it on.
When you have finished, discharge any electrical charge remaining in the device.
Connecting the electrodes or probes of testing equipment to a device while it is powered on may result in electric shock, causing
injury.
2-3
2
Safety Precautions
Do not use devices under conditions which exceed their absolute maximum ratings (current, voltage, power dissipation,
temperature etc.).
This may cause the device to break down, causing a large short-circuit current to flow, which may in turn cause it to catch fire or
explode, resulting in fire or injury.
Use a unit which can detect short-circuit currents and which will shut off the power supply if a short-circuit occurs.
If the power supply is not shut off, a large short-circuit current will flow continuously, which may in turn cause the device to catch
fire or explode, resulting in fire or injury.
When designing a case for enclosing your system, consider how best to protect the user from shrapnel in the event of the device
catching fire or exploding.
Flying shrapnel can cause injury.
When conducting any kind of evaluation, inspection or testing, always use protective safety tools such as a cover for the device.
Otherwise you may sustain injury caused by the device catching fire or exploding.
Make sure that all metal casings in your design are grounded to earth.
Even in modules where a device’s electrodes and metal casing are insulated, capacitance in the module may cause the
electrostatic potential in the casing to rise.
Dielectric breakdown may cause a high voltage to be applied to the casing, causing electric shock and injury to anyone touching it.
When designing the heat radiation and safety features of a system incorporating high-speed rectifiers, remember to take the
device’s forward and reverse losses into account.
The leakage current in these devices is greater than that in ordinary rectifiers; as a result, if a high-speed rectifier is used in an
extreme environment (e.g. at high temperature or high voltage), its reverse loss may increase, causing thermal runaway to occur.
This may in turn cause the device to explode and scatter shrapnel, resulting in injury to the user.
A design should ensure that, except when the main circuit of the device is active, reverse bias is applied to the device gate while
electricity is conducted to control circuits, so that the main circuit will become inactive.
Malfunction of the device may cause serious accidents or injuries.
When conducting any kind of evaluation, inspection or testing, either wear protective gloves or wait until the device has cooled
properly before handling it.
Devices become hot when they are operated. Even after the power has been turned off, the device will retain residual heat which
may cause a burn to anyone touching it.
2.2.3
Bipolar ICs (for use in automobiles)
If your design includes an inductive load such as a motor coil, incorporate diodes or similar devices into the design to prevent
negative current from flowing in.
The load current generated by powering the device on and off may cause it to function erratically or to break down, which could in
turn cause injury.
Ensure that the power supply to any device which incorporates protective functions is stable.
If the power supply is unstable, the device may operate erratically, preventing the protective functions from working correctly. If
protective functions fail, the device may break down causing injury to the user.
2-4
3 General Safety Precautions and Usage Considerations
3.
General Safety Precautions and Usage Considerations
This section is designed to help you gain a better understanding of semiconductor devices, so as to
ensure the safety, quality and reliability of the devices which you incorporate into your designs.
3.1
3.1.1
From Incoming to Shipping
Electrostatic discharge (ESD)
When handling individual devices (which are not yet mounted on a printed
circuit board), be sure that the environment is protected against
electrostatic electricity. Operators should wear anti-static clothing, and
containers and other objects which come into direct contact with devices
should be made of anti-static materials and should be grounded to earth via
an 0.5- to 1.0-MΩ protective resistor.
Please follow the precautions described below; this is particularly important
for devices which are marked “Be careful of static.”.
(1) Work environment
• When humidity in the working environment decreases, the human body and other insulators
can easily become charged with static electricity due to friction. Maintain the recommended
humidity of 40% to 60% in the work environment, while also taking into account the fact that
moisture-proof-packed products may absorb moisture after unpacking.
• Be sure that all equipment, jigs and tools in the working area are grounded to earth.
• Place a conductive mat over the floor of the work area, or take other appropriate measures, so
that the floor surface is protected against static electricity and is grounded to earth. The surface
resistivity should be 104 to 108 Ω/sq and the resistance between surface and ground, 7.5 × 105 to
108 Ω
• Cover the workbench surface also with a conductive mat (with a surface resistivity of 104 to
108 Ω/sq, for a resistance between surface and ground of 7.5 × 105 to 108 Ω) . The purpose of this
is to disperse static electricity on the surface (through resistive components) and ground it to
earth. Workbench surfaces must not be constructed of low-resistance metallic materials that
allow rapid static discharge when a charged device touches them directly.
• Pay attention to the following points when using automatic equipment in your workplace:
(a) When picking up ICs with a vacuum unit, use a conductive rubber fitting on the end of the
pick-up wand to protect against electrostatic charge.
(b) Minimize friction on IC package surfaces. If some rubbing is unavoidable due to the device’s
mechanical structure, minimize the friction plane or use material with a small friction
coefficient and low electrical resistance. Also, consider the use of an ionizer.
(c) In sections which come into contact with device lead terminals, use a material which
dissipates static electricity.
(d) Ensure that no statically charged bodies (such as work clothes or the human body) touch
the devices.
3-1
3 General Safety Precautions and Usage Considerations
(e) Make sure that sections of the tape carrier which come into contact with installation
devices or other electrical machinery are made of a low-resistance material.
(f)
Make sure that jigs and tools used in the assembly process do not touch devices.
(g) In processes in which packages may retain an electrostatic charge, use an ionizer to
neutralize the ions.
• Make sure that CRT displays in the working area are protected against static charge, for
example by a VDT filter. As much as possible, avoid turning displays on and off. Doing so can
cause electrostatic induction in devices.
• Keep track of charged potential in the working area by taking periodic measurements.
• Ensure that work chairs are protected by an anti-static textile cover and are grounded to the
floor surface by a grounding chain. (Suggested resistance between the seat surface and
grounding chain is 7.5 × 105 to 1012Ω.)
• Install anti-static mats on storage shelf surfaces. (Suggested surface resistivity is 104 to 108
Ω/sq; suggested resistance between surface and ground is 7.5 × 105 to 108 Ω.)
• For transport and temporary storage of devices, use containers (boxes, jigs or bags) that are
made of anti-static materials or materials which dissipate electrostatic charge.
• Make sure that cart surfaces which come into contact with device packaging are made of
materials which will conduct static electricity, and verify that they are grounded to the floor
surface via a grounding chain.
• In any location where the level of static electricity is to be closely controlled, the ground
resistance level should be Class 3 or above. Use different ground wires for all items of
equipment which may come into physical contact with devices.
(2) Operating environment
• Operators must wear anti-static clothing and conductive shoes (or
a leg or heel strap).
• Operators must wear a wrist strap grounded to earth via a
resistor of about 1 MΩ.
• Soldering irons must be grounded from iron tip to earth, and must be used only at low voltages
(6 V to 24 V).
• If the tweezers you use are likely to touch the device terminals, use anti-static tweezers and in
particular avoid metallic tweezers. If a charged device touches a low-resistance tool, rapid
discharge can occur. When using vacuum tweezers, attach a conductive chucking pat to the tip,
and connect it to a dedicated ground used especially for anti-static purposes (suggested
resistance value: 104 to 108 Ω).
• Do not place devices or their containers near sources of strong electrical fields (such as above a
CRT).
3-2
3 General Safety Precautions and Usage Considerations
• When storing printed circuit boards which have devices mounted on them, use a board
container or bag that is protected against static charge. To avoid the occurrence of static charge
or discharge due to friction, keep the boards separate from one other and do not stack them
directly on top of one another.
• Ensure, if possible, that any articles (such as clipboards) which are brought to any location
where the level of static electricity must be closely controlled are constructed of anti-static
materials.
• In cases where the human body comes into direct contact with a device, be sure to wear antistatic finger covers or gloves (suggested resistance value: 108 Ω or less).
• Equipment safety covers installed near devices should have resistance ratings of 109 Ω or less.
• If a wrist strap cannot be used for some reason, and there is a possibility of imparting friction to
devices, use an ionizer.
• The transport film used in TCP products is manufactured from materials in which static
charges tend to build up. When using these products, install an ionizer to prevent the film from
being charged with static electricity. Also, ensure that no static electricity will be applied to the
product’s copper foils by taking measures to prevent static occuring in the peripheral
equipment.
3.1.2
Vibration, impact and stress
Handle devices and packaging materials with care. To avoid damage
to devices, do not toss or drop packages. Ensure that devices are not
subjected to mechanical vibration or shock during transportation.
Ceramic package devices and devices in canister-type packages which
have empty space inside them are subject to damage from vibration
and shock because the bonding wires are secured only at their ends.
Vibration
Plastic molded devices, on the other hand, have a relatively high level
of resistance to vibration and mechanical shock because their bonding
wires are enveloped and fixed in resin. However, when any device or package type is installed in
target equipment, it is to some extent susceptible to wiring disconnections and other damage from
vibration, shock and stressed solder junctions. Therefore when devices are incorporated into the
design of equipment which will be subject to vibration, the structural design of the equipment
must be thought out carefully.
If a device is subjected to especially strong vibration, mechanical shock or stress, the package or
the chip itself may crack. In products such as CCDs which incorporate window glass, this could
cause surface flaws in the glass or cause the connection between the glass and the ceramic to
separate.
Furthermore, it is known that stress applied to a semiconductor device through the package
changes the resistance characteristics of the chip because of piezoelectric effects. In analog circuit
design attention must be paid to the problem of package stress as well as to the dangers of
vibration and shock as described above.
3-3
3 General Safety Precautions and Usage Considerations
3.2
3.2.1
Storage
General storage
• Avoid storage locations where devices will be exposed to moisture or direct sunlight.
• Follow the instructions printed on the device cartons regarding
transportation and storage.
• The storage area temperature should be kept within a
Humidity:
Temperature:
temperature range of 5°C to 35°C, and relative humidity should
be maintained at between 45% and 75%.
• Do not store devices in the presence of harmful (especially
corrosive) gases, or in dusty conditions.
• Use storage areas where there is minimal temperature fluctuation. Rapid temperature changes
can cause moisture to form on stored devices, resulting in lead oxidation or corrosion. As a result,
the solderability of the leads will be degraded.
• When repacking devices, use anti-static containers.
• Do not allow external forces or loads to be applied to devices while they are in storage.
• If devices have been stored for more than two years, their electrical characteristics should be
tested and their leads should be tested for ease of soldering before they are used.
3.2.2
Moisture-proof packing
Moisture-proof packing should be handled with care. The handling
procedure specified for each packing type should be followed scrupulously.
If the proper procedures are not followed, the quality and reliability of
devices may be degraded. This section describes general precautions for
handling moisture-proof packing. Since the details may differ from device
to device, refer also to the relevant individual datasheets or databook.
(1) General precautions
Follow the instructions printed on the device cartons regarding transportation and storage.
• Do not drop or toss device packing. The laminated aluminum material in it can be rendered
ineffective by rough handling.
• The storage area temperature should be kept within a temperature range of 5°C to 30°C, and
relative humidity should be maintained at 90% (max). Use devices within 12 months of the date
marked on the package seal.
3-4
3 General Safety Precautions and Usage Considerations
• If the 12-month storage period has expired, or if the 30% humidity indicator shown in Figure 1
is pink when the packing is opened, it may be advisable, depending on the device and packing
type, to back the devices at high temperature to remove any moisture. Please refer to the table
below. After the pack has been opened, use the devices in a 5°C to 30°C. 60% RH environment
and within the effective usage period listed on the moisture-proof package. If the effective usage
period has expired, or if the packing has been stored in a high-humidity environment, bake the
devices at high temperature.
Packing
Moisture removal
Tray
If the packing bears the “Heatproof” marking or indicates the maximum temperature which it can
withstand, bake at 125°C for 20 hours. (Some devices require a different procedure.)
Tube
Transfer devices to trays bearing the “Heatproof” marking or indicating the temperature which they
can withstand, or to aluminum tubes before baking at 125°C for 20 hours.
Tape
Deviced packed on tape cannot be baked and must be used within the effective usage period after
unpacking, as specified on the packing.
• When baking devices, protect the devices from static electricity.
• Moisture indicators can detect the approximate humidity level at a standard temperature of
25°C. 6-point indicators and 3-point indicators are currently in use, but eventually all indicators
will be 3-point indicators.
HUMIDITY INDICATOR
60%
50%
30%
20%
10%
HUMIDITY INDICATOR
40
30
DANGER IF PINK
DANGER IF PINK
CHANGE DESICCANT
40%
20
READ AT LAVENDER
BETWEEN PINK & BLUE
READ AT LAVENDER
BETWEEN PINK & BLUE
(a) 6-point indicator
(b) 3-point indicator
Figure 1
Humidity indicator
3-5
3 General Safety Precautions and Usage Considerations
3.3
Design
Care must be exercised in the design of electronic equipment to achieve the desired reliability. It is
important not only to adhere to specifications concerning absolute maximum ratings and
recommended operating conditions, it is also important to consider the overall environment in
which equipment will be used, including factors such as the ambient temperature, transient noise
and voltage and current surges, as well as mounting conditions which affect device reliability. This
section describes some general precautions which you should observe when designing circuits and
when mounting devices on printed circuit boards.
For more detailed information about each product family, refer to the relevant individual technical
datasheets available from Toshiba.
3.3.1
Absolute maximum ratings
Do not use devices under conditions in which their absolute maximum ratings
(e.g. current, voltage, power dissipation or temperature) will be exceeded. A
device may break down or its performance may be degraded, causing it to
catch fire or explode resulting in injury to the user.
The absolute maximum ratings are rated values which must not be
exceeded during operation, even for an instant. Although absolute
maximum ratings differ from product to product, they essentially
concern the voltage and current at each pin, the allowable power
dissipation, and the junction and storage temperatures.
If the voltage or current on any pin exceeds the absolute maximum
rating, the device’s internal circuitry can become degraded. In the worst
case, heat generated in internal circuitry can fuse wiring or cause the semiconductor chip to break
down.
If storage or operating temperatures exceed rated values, the package seal can deteriorate or the
wires can become disconnected due to the differences between the thermal expansion coefficients
of the materials from which the device is constructed.
3.3.2
Recommended operating conditions
The recommended operating conditions for each device are those necessary to guarantee that the
device will operate as specified in the datasheet.
If greater reliability is required, derate the device’s absolute maximum ratings for voltage, current,
power and temperature before using it.
3.3.3
Derating
When incorporating a device into your design, reduce its rated absolute maximum voltage, current,
power dissipation and operating temperature in order to ensure high reliability.
Since derating differs from application to application, refer to the technical datasheets available
for the various devices used in your design.
3.3.4
Unused pins
If unused pins are left open, some devices can exhibit input instability problems, resulting in
malfunctions such as abrupt increase in current flow. Similarly, if the unused output pins on a
device are connected to the power supply pin, the ground pin or to other output pins, the IC may
malfunction or break down.
3-6
3 General Safety Precautions and Usage Considerations
Since the details regarding the handling of unused pins differ from device to device and from pin
to pin, please follow the instructions given in the relevant individual datasheets or databook.
CMOS logic IC inputs, for example, have extremely high impedance. If an input pin is left open, it
can easily pick up extraneous noise and become unstable. In this case, if the input voltage level
reaches an intermediate level, it is possible that both the P-channel and N-channel transistors
will be turned on, allowing unwanted supply current to flow. Therefore, ensure that the unused
input pins of a device are connected to the power supply (Vcc) pin or ground (GND) pin of the same
device. For details of what to do with the pins of heat sinks, refer to the relevant technical
datasheet and databook.
3.3.5
Latch-up
Latch-up is an abnormal condition inherent in CMOS devices, in which Vcc gets shorted to ground.
This happens when a parasitic PN-PN junction (thyristor structure) internal to the CMOS chip is
turned on, causing a large current of the order of several hundred mA or more to flow between Vcc
and GND, eventually causing the device to break down.
Latch-up occurs when the input or output voltage exceeds the rated value, causing a large current
to flow in the internal chip, or when the voltage on the Vcc (Vdd) pin exceeds its rated value,
forcing the internal chip into a breakdown condition. Once the chip falls into the latch-up state,
even though the excess voltage may have been applied only for an instant, the large current
continues to flow between Vcc (Vdd) and GND (Vss). This causes the device to heat up and, in
extreme cases, to emit gas fumes as well. To avoid this problem, observe the following precautions:
(1) Do not allow voltage levels on the input and output pins either to rise above Vcc (Vdd) or to
fall below GND (Vss). Also, follow any prescribed power-on sequence, so that power is applied
gradually or in steps rather than abruptly.
(2) Do not allow any abnormal noise signals to be applied to the device.
(3) Set the voltage levels of unused input pins to Vcc (Vdd) or GND (Vss).
(4) Do not connect output pins to one another.
3.3.6
Input/Output protection
Wired-AND configurations, in which outputs are connected together, cannot be used, since this
short-circuits the outputs. Outputs should, of course, never be connected to Vcc (Vdd) or GND
(Vss).
Furthermore, ICs with tri-state outputs can undergo performance degradation if a shorted output
current is allowed to flow for an extended period of time. Therefore, when designing circuits, make
sure that tri-state outputs will not be enabled simultaneously.
3.3.7
Load capacitance
Some devices display increased delay times if the load capacitance is large. Also, large charging
and discharging currents will flow in the device, causing noise. Furthermore, since outputs are
shorted for a relatively long time, wiring can become fused.
Consult the technical information for the device being used to determine the recommended load
capacitance.
3-7
3 General Safety Precautions and Usage Considerations
3.3.8
Thermal design
The failure rate of semiconductor devices is greatly increased as operating temperatures increase.
As shown in Figure 2, the internal thermal stress on a device is the sum of the ambient
temperature and the temperature rise due to power dissipation in the device. Therefore, to
achieve optimum reliability, observe the following precautions concerning thermal design:
(1) Keep the ambient temperature (Ta) as low as possible.
(2) If the device’s dynamic power dissipation is relatively large, select the most appropriate
circuit board material, and consider the use of heat sinks or of forced air cooling. Such
measures will help lower the thermal resistance of the package.
(3) Derate the device’s absolute maximum ratings to minimize thermal stress from power
dissipation.
θja = θjc + θca
θja = (Tj–Ta) / P
θjc = (Tj–Tc) / P
θca = (Tc–Ta) / P
in which θja = thermal resistance between junction and surrounding air (°C/W)
θjc = thermal resistance between junction and package surface, or internal thermal
resistance (°C/W)
θca = thermal resistance between package surface and surrounding air, or external
thermal resistance (°C/W)
Tj = junction temperature or chip temperature (°C)
Tc = package surface temperature or case temperature (°C)
Ta = ambient temperature (°C)
P = power dissipation (W)
Ta
θca
Tc
θjc
Tj
Figure 2
3.3.9
Thermal resistance of package
Interfacing
When connecting inputs and outputs between devices, make sure input voltage (VIL/VIH) and
output voltage (VOL/VOH) levels are matched. Otherwise, the devices may malfunction. When
connecting devices operating at different supply voltages, such as in a dual-power-supply system,
be aware that erroneous power-on and power-off sequences can result in device breakdown. For
details of how to interface particular devices, consult the relevant technical datasheets and
databooks. If you have any questions or doubts about interfacing, contact your nearest Toshiba
office or distributor.
3-8
3 General Safety Precautions and Usage Considerations
3.3.10
Decoupling
Spike currents generated during switching can cause Vcc (Vdd) and GND (Vss) voltage levels to
fluctuate, causing ringing in the output waveform or a delay in response speed. (The power supply
and GND wiring impedance is normally 50 Ω to 100 Ω.) For this reason, the impedance of power
supply lines with respect to high frequencies must be kept low. This can be accomplished by using
thick and short wiring for the Vcc (Vdd) and GND (Vss) lines and by installing decoupling
capacitors (of approximately 0.01 µF to 1 µF capacitance) as high-frequency filters between Vcc
(Vdd) and GND (Vss) at strategic locations on the printed circuit board.
For low-frequency filtering, it is a good idea to install a 10- to 100-µF capacitor on the printed
circuit board (one capacitor will suffice). If the capacitance is excessively large, however, (e.g.
several thousand µF) latch-up can be a problem. Be sure to choose an appropriate capacitance
value.
An important point about wiring is that, in the case of high-speed logic ICs, noise is caused mainly
by reflection and crosstalk, or by the power supply impedance. Reflections cause increased signal
delay, ringing, overshoot and undershoot, thereby reducing the device’s safety margins with
respect to noise. To prevent reflections, reduce the wiring length by increasing the device
mounting density so as to lower the inductance (L) and capacitance (C) in the wiring. Extreme
care must be taken, however, when taking this corrective measure, since it tends to cause
crosstalk between the wires. In practice, there must be a trade-off between these two factors.
3.3.11
External noise
Printed circuit boards with long I/O or signal pattern lines are
vulnerable to induced noise or surges from outside sources.
Consequently, malfunctions or breakdowns can result from
overcurrent or overvoltage, depending on the types of device
used. To protect against noise, lower the impedance of the
pattern line or insert a noise-canceling circuit. Protective
measures must also be taken against surges.
For details of the appropriate protective measures for a
particular device, consult the relevant databook.
3.3.12
Input/Output
Signals
Electromagnetic interference
Widespread use of electrical and electronic equipment in recent years has brought with it radio
and TV reception problems due to electromagnetic interference. To use the radio spectrum
effectively and to maintain radio communications quality, each country has formulated
regulations limiting the amount of electromagnetic interference which can be generated by
individual products.
Electromagnetic interference includes conduction noise propagated through power supply and
telephone lines, and noise from direct electromagnetic waves radiated by equipment. Different
measurement methods and corrective measures are used to assess and counteract each specific
type of noise.
Difficulties in controlling electromagnetic interference derive from the fact that there is no
method available which allows designers to calculate, at the design stage, the strength of the
electromagnetic waves which will emanate from each component in a piece of equipment. For this
reason, it is only after the prototype equipment has been completed that the designer can take
measurements using a dedicated instrument to determine the strength of electromagnetic
interference waves. Yet it is possible during system design to incorporate some measures for the
prevention of electromagnetic interference, which can facilitate taking corrective measures once
the design has been completed. These include installing shields and noise filters, and increasing
3-9
3 General Safety Precautions and Usage Considerations
the thickness of the power supply wiring patterns on the printed circuit board. One effective
method, for example, is to devise several shielding options during design, and then select the most
suitable shielding method based on the results of measurements taken after the prototype has
been completed.
3.3.13
Peripheral circuits
In most cases semiconductor devices are used with peripheral circuits and components. The input
and output signal voltages and currents in these circuits must be chosen to match the
semiconductor device’s specifications. The following factors must be taken into account.
(1) Inappropriate voltages or currents applied to a device’s input pins may cause it to operate
erratically. Some devices contain pull-up or pull-down resistors. When designing your system,
remember to take the effect of this on the voltage and current levels into account.
(2) The output pins on a device have a predetermined external circuit drive capability. If this
drive capability is greater than that required, either incorporate a compensating circuit into
your design or carefully select suitable components for use in external circuits.
3.3.14
Safety standards
Each country has safety standards which must be observed. These safety standards include
requirements for quality assurance systems and design of device insulation. Such requirements
must be fully taken into account to ensure that your design conforms to the applicable safety
standards.
3.3.15
Other precautions
(1) When designing a system, be sure to incorporate fail-safe and other appropriate measures
according to the intended purpose of your system. Also, be sure to debug your system under
actual board-mounted conditions.
(2) If a plastic-package device is placed in a strong electric field, surface leakage may occur due to
the charge-up phenomenon, resulting in device malfunction. In such cases take appropriate
measures to prevent this problem, for example by protecting the package surface with a
conductive shield.
(3) With some microcomputers and MOS memory devices, caution is required when powering on
or resetting the device. To ensure that your design does not violate device specifications,
consult the relevant databook for each constituent device.
(4) Ensure that no conductive material or object (such as a metal pin) can drop onto and short the
leads of a device mounted on a printed circuit board.
3.4
3.4.1
Inspection, Testing and Evaluation
Grounding
Ground all measuring instruments, jigs, tools and soldering irons to earth.
Electrical leakage may cause a device to break down or may result in electric
shock.
3-10
3 General Safety Precautions and Usage Considerations
3.4.2
Inspection Sequence
c Do not insert devices in the wrong orientation. Make sure that the positive
and negative electrodes of the power supply are correctly connected.
Otherwise, the rated maximum current or maximum power dissipation
may be exceeded and the device may break down or undergo performance
degradation, causing it to catch fire or explode, resulting in injury to the
user.
d When conducting any kind of evaluation, inspection or testing using AC
power with a peak voltage of 42.4 V or DC power exceeding 60 V, be sure to
connect the electrodes or probes of the testing equipment to the device
under test before powering it on. Connecting the electrodes or probes of
testing equipment to a device while it is powered on may result in electric
shock, causing injury.
(1) Apply voltage to the test jig only after inserting the device securely into it. When applying or
removing power, observe the relevant precautions, if any.
(2) Make sure that the voltage applied to the device is off before removing the device from the
test jig. Otherwise, the device may undergo performance degradation or be destroyed.
(3) Make sure that no surge voltages from the measuring equipment are applied to the device.
(4) The chips housed in tape carrier packages (TCPs) are bare chips and are therefore exposed.
During inspection take care not to crack the chip or cause any flaws in it.
Electrical contact may also cause a chip to become faulty. Therefore make sure that nothing
comes into electrical contact with the chip.
3.5
Mounting
There are essentially two main types of semiconductor device package: lead insertion and surface
mount. During mounting on printed circuit boards, devices can become contaminated by flux or
damaged by thermal stress from the soldering process. With surface-mount devices in particular,
the most significant problem is thermal stress from solder reflow, when the entire package is
subjected to heat. This section describes a recommended temperature profile for each mounting
method, as well as general precautions which you should take when mounting devices on printed
circuit boards. Note, however, that even for devices with the same package type, the appropriate
mounting method varies according to the size of the chip and the size and shape of the lead frame.
Therefore, please consult the relevant technical datasheet and databook.
3.5.1
Lead forming
c Always wear protective glasses when cutting the leads of a device with
clippers or a similar tool. If you do not, small bits of metal flying off the cut
ends may damage your eyes.
d Do not touch the tips of device leads. Because some types of device have
leads with pointed tips, you may prick your finger.
Semiconductor devices must undergo a process in which the leads are cut and formed before the
devices can be mounted on a printed circuit board. If undue stress is applied to the interior of a
device during this process, mechanical breakdown or performance degradation can result. This is
attributable primarily to differences between the stress on the device’s external leads and the
stress on the internal leads. If the relative difference is great enough, the device’s internal leads,
adhesive properties or sealant can be damaged. Observe these precautions during the leadforming process (this does not apply to surface-mount devices):
3-11
3 General Safety Precautions and Usage Considerations
(1) Lead insertion hole intervals on the printed circuit board should match the lead pitch of the
device precisely.
(2) If lead insertion hole intervals on the printed circuit board do not precisely match the lead
pitch of the device, do not attempt to forcibly insert devices by pressing on them or by pulling
on their leads.
(3) For the minimum clearance specification between a device and a
printed circuit board, refer to the relevant device’s datasheet and
databook. If necessary, achieve the required clearance by forming
the device’s leads appropriately. Do not use the spacers which are
used to raise devices above the surface of the printed circuit board
during soldering to achieve clearance. These spacers normally
continue to expand due to heat, even after the solder has begun to solidify; this applies severe
stress to the device.
(4) Observe the following precautions when forming the leads of a device prior to mounting.
• Use a tool or jig to secure the lead at its base (where the lead meets the device package) while
bending so as to avoid mechanical stress to the device. Also avoid bending or stretching device
leads repeatedly.
• Be careful not to damage the lead during lead forming.
• Follow any other precautions described in the individual datasheets and databooks for each
device and package type.
3.5.2
Socket mounting
(1) When socket mounting devices on a printed circuit board, use sockets which match the
inserted device’s package.
(2) Use sockets whose contacts have the appropriate contact pressure. If the contact pressure is
insufficient, the socket may not make a perfect contact when the device is repeatedly inserted
and removed; if the pressure is excessively high, the device leads may be bent or damaged
when they are inserted into or removed from the socket.
(3) When soldering sockets to the printed circuit board, use sockets whose construction prevents
flux from penetrating into the contacts or which allows flux to be completely cleaned off.
(4) Make sure the coating agent applied to the printed circuit board for moisture-proofing
purposes does not stick to the socket contacts.
(5) If the device leads are severely bent by a socket as it is inserted or removed and you wish to
repair the leads so as to continue using the device, make sure that this lead correction is only
performed once. Do not use devices whose leads have been corrected more than once.
(6) If the printed circuit board with the devices mounted on it will be subjected to vibration from
external sources, use sockets which have a strong contact pressure so as to prevent the
sockets and devices from vibrating relative to one another.
3.5.3
Soldering temperature profile
The soldering temperature and heating time vary from device to device. Therefore, when
specifying the mounting conditions, refer to the individual datasheets and databooks for the
devices used.
3-12
3 General Safety Precautions and Usage Considerations
(1) Using a soldering iron
Complete soldering within ten seconds for lead temperatures of up to 260°C, or within three
seconds for lead temperatures of up to 350°C.
(2) Using medium infrared ray reflow
• Heating top and bottom with long or medium infrared rays is recommended (see Figure 3).
Medium infrared ray heater
(reflow)
Product flow
Long infrared ray heater (preheating)
Figure 3
Heating top and bottom with long or medium infrared rays
• Complete the infrared ray reflow process within 30 seconds at a package surface temperature of
between 210°C and 240°C.
• Refer to Figure 4 for an example of a good temperature profile for infrared or hot air reflow.
Package surface temperature
(°C)
240
210
160
140
60-120 s
30 s
or less
Time (s)
Figure 4
Sample temperature profile for infrared or hot air reflow
(3) Using hot air reflow
• Complete hot air reflow within 30 seconds at a package surface temperature of between 210°C
and 240°C.
• For an example of a recommended temperature profile, refer to Figure 4 above.
(4) Using solder flow
• Apply preheating for 60 to 120 seconds at a temperature of 150°C.
• For lead insertion-type packages, complete solder flow within 10 seconds with the
temperature at the stopper (or, if there is no stopper, at a location more than 1.5 mm from
the body) which does not exceed 260°C.
3-13
3 General Safety Precautions and Usage Considerations
• For surface-mount packages, complete soldering within 5 seconds at a temperature of 250°C or
less in order to prevent thermal stress in the device.
• Figure 5 shows an example of a recommended temperature profile for surface-mount packages
using solder flow.
Package surface temperature
(°C)
250
160
140
60-120 s
5s
or less
Time (s)
Figure 5
3.5.4
Sample temperature profile for solder flow
Flux cleaning and ultrasonic cleaning
(1) When cleaning circuit boards to remove flux, make sure that no residual reactive ions such as
Na or Cl remain. Note that organic solvents react with water to generate hydrogen chloride
and other corrosive gases which can degrade device performance.
(2) Washing devices with water will not cause any problems. However, make sure that no
reactive ions such as sodium and chlorine are left as a residue. Also, be sure to dry devices
sufficiently after washing.
(3) Do not rub device markings with a brush or with your hand during cleaning or while the
devices are still wet from the cleaning agent. Doing so can rub off the markings.
(4) The dip cleaning, shower cleaning and steam cleaning processes all involve the chemical
action of a solvent. Use only recommended solvents for these cleaning methods. When
immersing devices in a solvent or steam bath, make sure that the temperature of the liquid is
50°C or below, and that the circuit board is removed from the bath within one minute.
(5) Ultrasonic cleaning should not be used with hermetically-sealed ceramic packages such as a
leadless chip carrier (LCC), pin grid array (PGA) or charge-coupled device (CCD), because the
bonding wires can become disconnected due to resonance during the cleaning process. Even if
a device package allows ultrasonic cleaning, limit the duration of ultrasonic cleaning to as
short a time as possible, since long hours of ultrasonic cleaning degrade the adhesion between
the mold resin and the frame material. The following ultrasonic cleaning conditions are
recommended:
Frequency: 27 kHz ∼ 29 kHz
Ultrasonic output power: 300 W or less (0.25 W/cm2 or less)
Cleaning time: 30 seconds or less
Suspend the circuit board in the solvent bath during ultrasonic cleaning in such a way that
the ultrasonic vibrator does not come into direct contact with the circuit board or the device.
3-14
3 General Safety Precautions and Usage Considerations
3.5.5
No cleaning
If analog devices or high-speed devices are used without being cleaned, flux residues may cause
minute amounts of leakage between pins. Similarly, dew condensation, which occurs in
environments containing residual chlorine when power to the device is on, may cause betweenlead leakage or migration. Therefore, Toshiba recommends that these devices be cleaned.
However, if the flux used contains only a small amount of halogen (0.05W% or less), the devices
may be used without cleaning without any problems.
3.5.6
Mounting tape carrier packages (TCPs)
(1) When tape carrier packages (TCPs) are mounted, measures must be taken to prevent
electrostatic breakdown of the devices.
(2) If devices are being picked up from tape, or outer lead bonding (OLB) mounting is being
carried out, consult the manufacturer of the insertion machine which is being used, in order
to establish the optimum mounting conditions in advance and to avoid any possible hazards.
(3) The base film, which is made of polyimide, is hard and thin. Be careful not to cut or scratch
your hands or any objects while handling the tape.
(4) When punching tape, try not to scatter broken pieces of tape too much.
(5) Treat the extra film, reels and spacers left after punching as industrial waste, taking care not
to destroy or pollute the environment.
(6) Chips housed in tape carrier packages (TCPs) are bare chips and therefore have their reverse
side exposed. To ensure that the chip will not be cracked during mounting, ensure that no
mechanical shock is applied to the reverse side of the chip. Electrical contact may also cause a
chip to fail. Therefore, when mounting devices, make sure that nothing comes into electrical
contact with the reverse side of the chip.
If your design requires connecting the reverse side of the chip to the circuit board, please
consult Toshiba or a Toshiba distributor beforehand.
3.5.7
Mounting chips
Devices delivered in chip form tend to degrade or break under external forces much more easily
than plastic-packaged devices. Therefore, caution is required when handling this type of device.
(1) Mount devices in a properly prepared environment so that chip surfaces will not be exposed to
polluted ambient air or other polluted substances.
(2) When handling chips, be careful not to expose them to static electricity.
In particular, measures must be taken to prevent static damage during the mounting of chips.
With this in mind, Toshiba recommend mounting all peripheral parts first and then mounting
chips last (after all other components have been mounted).
(3) Make sure that PCBs (or any other kind of circuit board) on which chips are being mounted do
not have any chemical residues on them (such as the chemicals which were used for etching
the PCBs).
(4) When mounting chips on a board, use the method of assembly that is most suitable for
maintaining the appropriate electrical, thermal and mechanical properties of the
semiconductor devices used.
* For details of devices in chip form, refer to the relevant device’s individual datasheets.
3-15
3 General Safety Precautions and Usage Considerations
3.5.8
Circuit board coating
When devices are to be used in equipment requiring a high degree of reliability or in extreme
environments (where moisture, corrosive gas or dust is present), circuit boards may be coated for
protection. However, before doing so, you must carefully consider the possible stress and
contamination effects that may result and then choose the coating resin which results in the
minimum level of stress to the device.
3.5.9
Heat sinks
(1) When attaching a heat sink to a device, be careful not to apply excessive force to the device in
the process.
(2) When attaching a device to a heat sink by fixing it at two or more locations, evenly tighten all
the screws in stages (i.e. do not fully tighten one screw while the rest are still only loosely
tightened). Finally, fully tighten all the screws up to the specified torque.
(3) Drill holes for screws in the heat sink exactly as specified. Smooth the
surface by removing burrs and protrusions or indentations which might
interfere with the installation of any part of the device.
(4) A coating of silicone compound can be applied between the heat sink and
the device to improve heat conductivity. Be sure to apply the coating
thinly and evenly; do not use too much. Also, be sure to use a non-volatile
compound, as volatile compounds can crack after a time, causing the heat
radiation properties of the heat sink to deteriorate.
(5) If the device is housed in a plastic package, use caution when selecting the type of silicone
compound to be applied between the heat sink and the device. With some types, the base oil
separates and penetrates the plastic package, significantly reducing the useful life of the
device.
Two recommended silicone compounds in which base oil separation is not a problem are
YG6260 from Toshiba Silicone.
(6) Heat-sink-equipped devices can become very hot during operation. Do not touch them, or you
may sustain a burn.
3.5.10
Tightening torque
(1) Make sure the screws are tightened with fastening torques not exceeding the torque values
stipulated in individual datasheets and databooks for the devices used.
(2) Do not allow a power screwdriver (electrical or air-driven) to touch devices.
3.5.11
Repeated device mounting and usage
Do not remount or re-use devices which fall into the categories listed below; these devices may
cause significant problems relating to performance and reliability.
(1) Devices which have been removed from the board after soldering
(2) Devices which have been inserted in the wrong orientation or which have had reverse current
applied
(3) Devices which have undergone lead forming more than once
3-16
3 General Safety Precautions and Usage Considerations
3.6
3.6.1
Protecting Devices in the Field
Temperature
Semiconductor devices are generally more sensitive to temperature than are other electronic
components. The various electrical characteristics of a semiconductor device are dependent on the
ambient temperature at which the device is used. It is therefore necessary to understand the
temperature characteristics of a device and to incorporate device derating into circuit design. Note
also that if a device is used above its maximum temperature rating, device deterioration is more
rapid and it will reach the end of its usable life sooner than expected.
3.6.2
Humidity
Resin-molded devices are sometimes improperly sealed. When these devices are used for an
extended period of time in a high-humidity environment, moisture can penetrate into the device
and cause chip degradation or malfunction. Furthermore, when devices are mounted on a regular
printed circuit board, the impedance between wiring components can decrease under highhumidity conditions. In systems which require a high signal-source impedance, circuit board
leakage or leakage between device lead pins can cause malfunctions. The application of a
moisture-proof treatment to the device surface should be considered in this case. On the other
hand, operation under low-humidity conditions can damage a device due to the occurrence of
electrostatic discharge. Unless damp-proofing measures have been specifically taken, use devices
only in environments with appropriate ambient moisture levels (i.e. within a relative humidity
range of 40% to 60%).
3.6.3
Corrosive gases
Corrosive gases can cause chemical reactions in devices, degrading device characteristics.
For example, sulphur-bearing corrosive gases emanating from rubber placed near a device
(accompanied by condensation under high-humidity conditions) can corrode a device’s leads. The
resulting chemical reaction between leads forms foreign particles which can cause electrical
leakage.
3.6.4
Radioactive and cosmic rays
Most industrial and consumer semiconductor devices are not designed with protection against
radioactive and cosmic rays. Devices used in aerospace equipment or in radioactive environments
must therefore be shielded.
3.6.5
Strong electrical and magnetic fields
Devices exposed to strong magnetic fields can undergo a polarization phenomenon in their plastic
material, or within the chip, which gives rise to abnormal symptoms such as impedance changes
or increased leakage current. Failures have been reported in LSIs mounted near malfunctioning
deflection yokes in TV sets. In such cases the device’s installation location must be changed or the
device must be shielded against the electrical or magnetic field. Shielding against magnetism is
especially necessary for devices used in an alternating magnetic field because of the electromotive
forces generated in this type of environment.
3-17
3 General Safety Precautions and Usage Considerations
3.6.6
Interference from light (ultraviolet rays, sunlight, fluorescent lamps and
incandescent lamps)
Light striking a semiconductor device generates electromotive force due to photoelectric effects. In
some cases the device can malfunction. This is especially true for devices in which the internal
chip is exposed. When designing circuits, make sure that devices are protected against incident
light from external sources. This problem is not limited to optical semiconductors and EPROMs.
All types of device can be affected by light.
3.6.7
Dust and oil
Just like corrosive gases, dust and oil can cause chemical reactions in devices, which will
adversely affect a device’s electrical characteristics. To avoid this problem, do not use devices in
dusty or oily environments. This is especially important for optical devices because dust and oil
can affect a device’s optical characteristics as well as its physical integrity and the electrical
performance factors mentioned above.
3.6.8
Fire
Semiconductor devices are combustible; they can emit smoke and catch fire if heated sufficiently.
When this happens, some devices may generate poisonous gases. Devices should therefore never
be used in close proximity to an open flame or a heat-generating body, or near flammable or
combustible materials.
3.7
Disposal of Devices and Packing Materials
When discarding unused devices and packing materials, follow all procedures specified by local
regulations in order to protect the environment against contamination.
3-18
4
4.
Precautions and Usage Considerations
Precautions and Usage Considerations
This section describes matters specific to each product group which need to be taken into
consideration when using devices. If the same item is described in Sections 3 and 4, the
description in Section 4 takes precedence.
4.1
4.1.1
Microcontrollers
Design
(1) Using resonators which are not specifically recommended for use
Resonators recommended for use with Toshiba products in microcontroller oscillator applications
are listed in Toshiba databooks along with information about oscillation conditions. If you use a
resonator not included in this list, please consult Toshiba or the resonator manufacturer
concerning the suitability of the device for your application.
(2) Undefined functions
In some microcontrollers certain instruction code values do not constitute valid processor
instructions. Also, it is possible that the values of bits in registers will become undefined. Take
care in your applications not to use invalid instructions or to let register bit values become
undefined.
4-1
4
4-2
Precautions and Usage Considerations
TMPR4955A
Rev 2.2
Chapter 1 Introduction
Chapter 1.
1.1
Introduction
Overview
The TMPR4955A (to be called “TX4955A” hereinafter) is a standard microcontroller of 64-bit
RISC Microprocessor TX49 family.
The TX4955A uses the TX49/H2 Processor Core as the CPU. The TX49/H2 Processor Core is a
64-bit RISC CPU core Toshiba developed based on the R4000 architecture of MIPS Technologies,
Inc (“MIPS”). In addition to its TX49/H2 core with Floating Point Unit (“FPU”), the TX4955A also
incorporates peripheral circuits such as SysAD Bus Interface.
R4000 is a trademark of MIPS Technologies, Inc.
1.2
Notation used in this manual
1.2.1
Numerical notation
•
Hexadecimal numbers in this manual are expressed as follows:0x2A (example shown for
decimal number 42)
•
KB (kilobyte) 210 = 1,024 bytes
MB (megabyte) 220 = 1,024 × 1,024 = 1,048,576 byte
GB (gigabyte) 230 = 1,024 × 1,024 × 1,024 = 1,073,741,824 bytes
1.2.2
Data notation
•
Byte: Eight bits
•
Half word: Two contiguous bytes (16 bits)
•
Word: Four contiguous bytes (32 bits)
•
Double word: Eight contiguous bytes (64 bits)
1.2.3
Signal notation
•
Active-low signals are indicated by adding an asterisk(*) at the end of the signal name
(Example: RESET*)
•
When a signal is driven to the active voltage level, the signal is said to be “asserted.”
When the signal is driven to an inactive voltage level, it is said to be “deasserted.”
1.2.4
Register notation
•
The following nomenclature is used for access attributes.
R:
Read only. Cannot be written.
W:
Write only. The bit value is undefined if read.
R/W: Read/Write
1-1
Chapter 1 Introduction
1-2
開発中
Chapter 2 Features
Chapter 2. Features
•
TX49/H2 Processor Core
TX49/H2 Processor Core is a 64-bit RISC CPU core Toshiba developed based on the
architecture of MIPS for interactive consumer applications including Printer, Network
and set-top terminals.
•
IEEE754 compatible single and double precision FPU
The floating-point operations fully conform to the requirements of ANSI/IEEE Standard
754-1985, IEEE Standard for Binary Floating-Point Arithmetic.
As 32 general purpose register (32 FGRs), each of which is 64 bits wide and 2 control of
FPU registers (2 FCRs), each of which is 32bit wide. All floating-point instructions, as
defined in the MIPS ISA for the floating-point coprocessor, CP1, are processed by the
other hardware unit that executes integer instruction.
•
Internal bus width is
is 64-bit, External bus width is 32-bit
Core and Cache are connect with 64-bit Internal bus. External bus is SysAD-bus I/F. This
interface is compatible with the TX4300, R4000, and R5000 system interfaces.
•
Power management
Internal: 1.5 V
I/O: 3.3 V
The TX49/H2 Processor support Power management mode (Halt, Doze)
•
Maximum operating frequency
The TX49/H2 Processor’s maximum operating frequency is 200 MHz.
The SysAD-bus I/F and TX49/H2 Processor’s maximum operating frequency is set by
External pin (DivMode (1:0)).
Ex. Core’s operating frequency is 167 MHz/200 MHz
Div Mode (1:0)
Master Clock
CPU Clock
0
1
2
3
41.8 MHz/50 MHz
66.7 MHz/80 MHz
83.5 MHz/100 MHz
55.7 MHz/66.7 MHz
167 MHz/200 MHz
167 MHz/200 MHz
167 MHz/200 MHz
167 MHz/200 MHz
•
Package
TX4955A: 160-pin QFP
•
Part Number
TMPR4955AF-167
TMPR4955AF-200
2-1
開発中
2.1
Chapter 2 Features
Block Diagram
TX4955A
TX49/H2 Core
MasterClock
CG
System Control
Coprocessor (CP0)
Integer Unit
GPR
Reset
Synchronize
JTAG
Interface
DSU
(EJTAG)
Interrupt /
Data
Path
CP0 Registers
Pipeline
Control
Floating-Point
Coprocessor ( CP1)
FP Registers
MMU / TLB
Data Path
32 bit
SysAD Bus
SysAD
Interface
Exception Unit
MAC
32 KB
4-Way set
Instruction Cache
Cache
Controller
32 KB
4-Way set
Data Cache
Figure 2.1.1 TX4955A Processor Signals
2-2
Write
Buffer
開発中
2.2
Chapter 2 Features
Pin Description
2.2.1
TX4955A pin out (160-pin QFP)
Table 2.2.1 TX4955A Pin Out
1
Vss
41
Vss
81
VccInt
121
SysAD28
2
BufSel1
42
TRST*
82
NMI*
122
SysAD29
3
JTDO
43
RdRdy*
83
ExtRqst*
123
VccInt
4
JTDI
44
WrRdy*
84
Reset*
124
Vss
5
JTCK
45
ValidIn*
85
ColdReset*
125
SysAD30
6
JTMS
46
ValidOut*
86
VccIO
126
VccIO
7
VccIO
47
Release*
87
Endian
127
Vss
8
Vss
48
VccIO
88
VccIO
128
SysAD31
9
SysAD4
49
PLLReset*
89
Vss
129
SysADC2
10
SysAD5
50
VccInt
90
SysAD16
130
VccInt
11
VccInt
51
TintDis
91
VccInt
131
Vss
12
Vss
52
Vss
92
Vss
132
SysADC3
13
SysAD6
53
SysCmd0
93
SysAD17
133
VccIO
14
VccIO
54
SysCmd1
94
SysAD18
134
Vss
15
Vss
55
SysCmd2
95
VccIO
135
SysADC0
16
SysAD7
56
SysCmd3
96
Vss
136
VccInt
17
SysAD8
57
SysCmd4
97
SysAD19
137
Vss
18
VccInt
58
SysCmd5
98
VccInt
138
SysADC1
19
Vss
59
VccIO
99
Vss
139
SysAD0
20
SysAD9
60
Vss
100
SysAD20
140
VccIO
21
VccIO
61
SysCmd6
101
SysAD21
141
Vss
22
Vss
62
SysCmd7
102
VccIO
142
SysAD1
23
SysAD10
63
SysCmd8
103
Vss
143
SysAD2
24
SysAD11
64
SysCmdP
104
SysAD22
144
VccInt
25
VccInt
65
VccInt
105
VccInt
145
Vss
26
Vss
66
Vss
106
Vss
146
SysAD3
27
SysAD12
67
VccIO
107
SysAD23
147
PCST8
28
VccIO
68
HALT/DOZE
108
SysAD24
148
PCST7
29
Vss
69
Int0*
109
VccIO
149
PCST6
30
SysAD13
70
Int1*
110
Vss
150
PCST5
31
SysAD14
71
Int2*
111
SysAD25
151
PCST4
32
VccInt
72
Int3*
112
VccInt
152
VccIO
33
Vss
73
Int4*
113
Vss
153
Vss
34
SysAD15
74
Int5*
114
SysAD26
154
VccIO
35
BufSel1
75
VccIO
115
SysAD27
155
VssPLL
36
PCST3
76
Vss
116
VccIO
156
PLLCAP
37
PCST2
77
TPC3
117
MODE43*
157
VccPLL
38
PCST1
78
TPC2
118
DivMode1
158
Vss
39
PCST0
79
TPC1
119
DivMode0
159
MasterClock
40
VccIO
80
DCLK
120
Vss
160
VccIO
Note: “*” means the signal is the low-active.
2-3
開発中
Chapter 2 Features
Table 2.2.2 System Interface
PIN NAME
I/O
FUNCTION
SysAD(31:0)
I/O
System addres/data bus
A 32-bit address and data bus for communication between the processor and an external agent.
SysCmd(8:0)
I/O
System command/data identifier bus
A 9-bit bus for command and data identifier transmission between the processor and an external
agent.
SysADC(3:0)
I/O
System command/data check bus
A 4-bit bus containing parity check bits for the SysAD bus during data cycle.
SysCmdP
I/O
Reserved for system command/data identifier bus parity
For the TX4955A this signal is unused on input and zero on output.
ValidIn*
I
Valid input
The external agent asserts Validln* when it is driving a calid address or data on the SysAD bus and
valid command or data identifier on the SysCmd bus.
ValidOut*
O
Valid output
The processor asserts ValidOut* when it is driving a valid address or data on the SysAD bus and a
valid command or data identifier on the SysCmd bus.
ExtRqst*
I
External request
An external agent asserts ExtRqst* to request use of the System interface.
Release*
O
Release interface
Signals that the system interface needs to submit an external request.
WrRdy*
I
Write Ready
Signals that an external agent can now accept a processor write request.
RdRdy*
I
Read Ready
Signals that an external agent can now accept a processor read request.
Table 2.2.3 Clock/Control Interface
PIN NAME
I/O
FUNCTION
MasterClock
I
Master clock
Master clock input that establishes the processor operating frequency.
DivMode(1:0)
I
Set the operational frequency of the System interface
DivMode[1:0]
MasterClock
Pclock
00
41.8 MHz/50 MHz
167 MHz/200 MHz
01
66.7 MHz/80 MHz
167 MHz/200 MHz
10
83.5 MHz/100 MHz
167 MHz/200 MHz
11
55.7 MHz/66.7 MHz
167 MHz/200 MHz
TintDis
I
Timer-Interrupt disable input
0 enable Timer-Interrupt (Can not use Int 5*)
1 disable Timer-Interrupt (Can use Int 5*)
HALT/DOZE
O
HALT/DOZE mode output
This signal output the status of HALT or DOZE mode. This signal indicates that the TX4955A is in the
HALT or DOZE mode when this signal is “H”.
PLLReset*
I
PLL reset input
A signal to halt the PLL oscillation or the TX4955A built-in clock generator.
0 PLL is halt (no oscillation)
1 PLL is enabled.
Endian
I
Endianess input
Indicates the initial setting of the endian during a reset.
0 Little Endian
1 Big Endian
2-4
開発中
Chapter 2 Features
Table 2.2.4 Interrupt Interface
PIN NAME
I/O
FUNCTION
Int(5:0)*
I
Interrupt
Six lines of general-purpose processor interrupt inputs, which are sampled at rising edges of the
Master Clock.
Note: Int(5)* can use when TintDis signal is “1”.
NMI*
I
Nonmaskable interrupt
Nonmaskable interrupt input, which is sampled at rising edges of the Master Clock.
Table 2.2.5 JTAG Interface
PIN NAME
I/O
FUNCTION
JTDI
I
JTAG data input / Debug interrupt input
Run-time mode: Input serial data to JTAG data/instruction registers.
Real-time mode: Interrupt input to change the debug unit state from real-time mode to run-time mode.
JTCK
I
JTAG clock input
Clock input for JTAG. The JTDI and JTMS data are latched on rising edges of this clock.
JTDO/TPC(0)
O
JTAG data output / Trace PC output
Data is serially shifted out from this pin. / Outputs a non-sequential program counter value
synchronously with DCLK.
JTMS
I
JTAG command
Controls mainly the status transition of the TAP controller state machine.
When the serial input data is a JTAG command, apply a high signal (= 1) to this pin.
DCLK
O
Debug clock (1/3 CPU clock)
Clock output for a real-time debug system. Timings of the serial monitor bus and PC trace interface
signals all are defined by this debug clock DCLK.
The TX4955A’s operating clock frequency is 1/3 that of Pclock. (Pclock is Internal CPU Clock)
PCST(8:0)
O
PC trace status
Outputs PC trace status information and serial monitor bus mode.
TPC(3:1) Note 1
O
Trace PC output
Outputs a non-sequential program counter value synchronously with DCLK.
TRST*
I
Test reset input
Reset input for a real-time debug system. When TRST* is asserted (= 0), the debug support unit (DSU)
is initialized. TRST* should be asserted when DSU is not used.
Note1: Leave TPC (3-1) pins open when not using them as PC trace outputs for debugging.
2-5
開発中
Chapter 2 Features
Table 2.2.6 Initialization Interface
PIN NAME
I/O
FUNCTION
Reset*
I
Reset
Assert this signal for all reset sequences. Also, make sure it is applied synchronously with the Master
Clock.
ColdReset*
I
Cold reset
Assert this signal at power-on and for a cold reset. SClock starts operating synchronously with this
signal.
MODE43*
I
SysAD bus protocol selection
The high or low level of this input signal at power-on or cold reset selects the SysAD bus protocol.
Low level: TX4300 type protocol
High level: R5000 type protocol
BufSel(1:0)
I
Output Buffer Select
Select the output buffer type of data bus and control signals.
BufSel[1:0]
Buffer output rate
00
50 %
01
reserved
10
150 %
11
100 % (Same as TX4955)
PLLCAP
I
PLL adjusting capacitor
Reserved
Table 2.2.7 Power Supply
PIN NAME
I/O
VccPLL
-
VssPLL
-
VccIO
-
VccInt
-
Vss
-
FUNCTION
Vcc for the PLL
This is a static Vcc for the internal Phase Locked Loop. (Apply a 1.5 V power supply.)
Vss for the PLL
This is a static Vss for the internal Phase Locked Loop.
VccIO
This is a 3.3 V power supply pin.
VccInt
This is a 1.5 V power supply pin.
Vss
This is the ground pin.
2-6
Chapter 3 Initialization Interface
Chapter 3.
Initialization Interface
This chapter describes the TX4955A Initialization interface, and the processor modes. This
includes the reset signal description and types, and initialization sequence, with signals and
timing dependencies, and the user-selectable TX4955A processor modes.
Signal names are listed in bold letters—for instance the signal MasterClock indicates the
processor clock. Low-active signals are indicated by a trailing asterisk, such as ColdReset*,
ColdReset the
power-on/cold reset signal.
3.1
Functional Overview
The TX4955A processor has the following two types of resets; they use the ColdReset*
ColdReset
and Reset*
Reset input signals.
•
Cold Reset is asserted after the power supply is stable and then restarts all clocks. A
cold reset completely reinitializes the internal state machine of the processor without
saving any state information.
•
Warm Reset restarts processor, but does not affect clocks. A warm reset preserves the
processor internal state.
After reset, the processor is bus master and drives the SysAD bus.
For reset vector address, use Oxbfc0 0000.
In the TX49/H2 processor core, the reset vector is located in address space without caching.
Therefore, the cache and TLB need not be initialized at reset processing.
3.1.1
System Coordination
Care must be taken to coordinate system reset with other system elements. In general,
bus errors immediately before, during, or after a reset may result in unpredicted behavior.
Also, a small amount of processor state is guaranteed as stable after a reset of the TX4955A
processor, so extreme care must be taken to correctly initialize the processor through
software.
The operation of each type of reset is described in sections that follow. Refer to Figure
3.2.1 and Figure 3.2.2 later in this chapter for timing diagrams of the cold and warm resets.
3-1
Chapter 3 Initialization Interface
3.2
Reset Signal Description
This section describes the two reset signals, ColdReset*
ColdReset and Reset*.
Reset
•
ColdReset*:
ColdReset the ColdReset*
ColdReset signal must be asserted(Note) (low) to reset the processor.
Internal clock begins to cycle and is synchronized with the deasserted edge
(high) of ColdReset*.
ColdReset ColdReset*
ColdReset can be asserted and deasserted
asynchronously with the rising edge of MasterClock.
MasterClock
•
Reset*:
Reset the Reset*
Reset signal is asserted synchronously to initiate a warm reset. The
Reset*
Reset signal must be deasserted synchronously with MasterClock.
MasterClock
Note: Asserted means the signal is true, or in its valid state. For example, the low-active Reset*
signal is said to be asserted when it is in a low (true) state.
3.2.1
Cold Reset
A cold reset is used to completely reset the processor, including processor clocks.
Information about saving processor states is given below.
Once power to the processor is established, the ColdReset*
ColdReset signal is asserted for 64,000
MasterClock cycles to ensure time for the processor clocks to lock to the input MasterClock.
MasterClock
ColdReset*
ColdReset can be asserted and deasserted asynchronously with the rising edge of
MasterClock.
MasterClock
Reset*
Reset can be asserted/deasserted when ColdReset*
ColdReset is asserted, but its value must not be
changed during the reset sequence.
Upon reset, the processor becomes bus master and drives the SysAD bus. After Reset*
Reset is
deasserted, the processor branches to the Reset exception vector and begins executing the
Reset exception code.
For information on the bit states during a cold reset, see the section on Cold Reset
exceptions in CPU Exception Processing.
3.2.2
Warm Reset
A warm reset is used to reset the processor without affecting the clocks; in other words, a
warm reset is a logic reset.
Asserting the Reset*
Reset signal resets the processor without disrupting the clocks and allows
the processor to retain as much of its state as possible for debugging. (For information on
saving the processor states, see the section on Soft Reset exception in CPU Exception
Processing.) Because asserting the Reset*
Reset signal results in an immediate warm reset,
multicycle instructions such as cache misses or floating-point instructions may be aborted
and some data lost as a result.
A warm reset is started by assertion of the Reset*
Reset pin. Reset*
Reset must be asserted for a
minimum of 16 cycles, and must be asserted and deasserted synchronously with
MasterClock.
MasterClock In general, data in the processor is preserved for debugging purposes.
Upon reset, the processor becomes bus master and drives the SysAD bus. After Reset*
Reset is
deasserted, the processor branches to the Reset exception vector and begins executing the
reset exception code.
If Reset*
Reset is asserted in the middle of a SysAD transaction, care must be taken to reset all
external agents to avoid SysAD bus contention.
Figure 3.2.1 and Figure 3.2.2 show the timing diagrams for the cold and warm resets.
3-2
Chapter 3 Initialization Interface
Wavy lines indicate one or more identical cycles, not
shown due to space constraints
VCC
MasterClock
(MClk)
TDH
TDS
≥64,000MClk cycles
ColdReset*
≥16MClk cycles
Reset*
Figure 3.2.1 Cold Reset
Wavy lines indicate one or more identical cycles, not
shown due to space constraints
VCC
MasterClock
(MClk)
ColdReset*
TDH
TDS
≥16MClk cycles
Reset*
Figure 3.2.2 Warm Reset
VCC IO
VCC Int
Wavy lines indicate one or more identical cycles, not
shown due to space constraints
MasterClock
(MClk)
Internal clock
PLLReset*
ColdReset*
≥100 ms
≥64,000MClk cycles
≥16MClk cycles
Reset*
Note: As for the PLLReset*, there is not need to take the same period with Master Clock.
Figure 3.2.3 Power on Reset
3-3
Chapter 3 Initialization Interface
3.3
TX4955A
The TX4955A processor supports several user-selectable modes. All modes except DivMode
ratios are set/reset by writing to the Status and Config registers.
3.3.1
Power Modes (Doze/Halt Mode)
The TX4955A supports three power modes: normal operation, Doze, and Halt. This
section describes these three modes. In TX4955A, there is a terminal showing that the
status is Halt mode or Doze mode state.
Figure 3.3.1 show the status shifts in the operation mode.
HALT bit = 0 and WAIT inst.
HALT bit = 1 and WAIT inst.
Normal Operation
Mode
Halt Mode
Interrupt or Reset
Doze Mode
Interrupt or Reset
Interrupt or Reset
Figure 3.3.1 Status Shift Among Normal Operation Mode and Low Power Consumption Modes
•
Normal Operation Mode
Normally the TX4955A processor clock (PClock
PClock)
PClock operates at a multiple of the
MasterClock speed (as designated by the DivMode setting). The System Interface
Clock (SClock
SClock)
SClock operates at the same frequency as MasterClock.
MasterClock
•
Doze Mode
The user can specify Doze mode by setting the Halt bit in the Config Register to 1
after excuting a Wait instruction. Consumption power is bigger than later Halt mode so
that a circuit maintaining pipeline status works in Doze mode.
To recover from Doze mode, assert one of the following signal:
Int[5:0]*, NMI*, Reset*, or ColdReset*.
When recovering from Doze mode by asserting a non-enabled Int[5:0]* signal, the
value of the Int Mask field in the Status Register is not affected.
When recovering from Doze mode via the ColdReset* signal, NMI* signal, or an
enabled Int[5:0]* signal, the top instruction of the exception handler corresponding to
the signal is executed. On execution of the top instruction, the EPC points to
instruction following the Wait instruction. When recovering via a non-enabled Int[5:0]*
signal, the processor resumes execution from the instruction following the instruction
used to change to Doze mode.
•
Halt Mode
The user can change to Halt mode by setting the Halt bit in the Config resister to 0
after excuting a Wait instruction.
In Halt mode, operations are suspended with the pipeline state retained.
Even requests for bus mastership are ignored. When an instruction that clears the
3-4
Chapter 3 Initialization Interface
wait instruction is executed during a bus operation, the Halt mode is after the bus
operation completes.
Write buffer operations do not stop during Halt mode: when the write buffer contain
date, write operations continue until the write buffer empties.
To recover from Halt mode, assert one of the following signal:
Int[5:0]*, NMI*, Reset*, or ColdReset*.
When recovering from Halt mode by asserting a non-enabled Int[5:0]* signal, the
value of the Int Mask field in the Status Register is not affected.
When recovering from Halt mode via the ColdReset* signal, NMI* signal, or an
enabled Int[5:0]* signal, the top instruction of the exception handler corresponding to
the signal is executed. On execution of the top instruction, the EPC points to
instruction following the Wait instruction. When recovering via a non-enabled Int[5:0]*
signal, the processor resumes execution from the instruction following the instruction
used to change to Halt mode.
3.3.2
Operating Modes
The TX4955A has three operating modes, User mode, Supervisor mode and Kernel mode,
that function in both 32- and 64-bit operations. The KSU, EXL and ERL bits in the Status
register select User, Supervisor or Kernel mode. The UX, SX and KX bits in the Status
register select 32-bit or 64-bit addressing for User, Kernel and Supervisor operating modes.
3.3.3
KSU
EXL
ERL
UX
SX
KX
Mode
10
0
0
0
—
—
32-bit addressing for User mode
10
0
0
1
—
—
64-bit addressing for User mode
01
0
0
—
0
—
32-bit addressing for Supervisor mode
01
0
0
—
1
—
64-bit addressing for Supervisor mode
00
—
—
—
—
0
32-bit addressing for Kernel mode
—
1
—
—
—
0
32-bit addressing for Kernel mode
—
—
1
—
—
0
32-bit addressing for Kernel mode
00
—
—
—
—
1
64-bit addressing for Kernel mode
—
1
—
—
—
1
64-bit addressing for Kernel mode
—
—
1
—
—
1
64-bit addressing for Kernel mode
System Endianness
By setting the External pin (Endian), the state of system endianness is provide to the
processor.
Indicateds the initial setting of the endian during a reset.
Endian = 0: Little Endian
Endian = 1: Big Endian
Note: Be bit in the Config register is read only.
3-5
Chapter 3 Initialization Interface
3.3.4
Reverse Endianness
When the RE bit in the Status register is set, endianess as seen by user software is
reversed from its previous state.
3.3.5
Instruction Trace Support
Consists of an Enhanced JTAG Module and a Debug Support Unit (DSU). It can be used
to provide single-step execution and hardware break-points for debugging processor system.
EJTAG utilizes JTAG interface and extends the ability to access the inside register
contents, host system peripherals, and system memory.
3.3.6
Bootstrap Exception Vector
This bit is used when diagnostic tests cause exceptions to occur prior to verifying proper
operation of the cache and main memory system.
When set, the Bootstrap Exception Vector (BEV) bit in the Status register causes the
TLB refill exception vector to be relocated to a virtual address of 0xFFFF FFFF BFC0 0200
and the general exception vector relocated to address 0xFFFF FFFF BFC0 0380.
When BEV is cleared, these vectors are located at 0xFFFF FFFF 8000 0000 (TLB refill)
and 0xFFFF FFFF 8000 0180 (general).
3.3.7
Interrupt Enable
When IE bit is clear, interrupts are not allowed, with the exception of reset and the
nonmaskable interrupt.
3.3.8
Floating-Point Reigsters
By setting the FR bit in the Status register, the user accesses the full set of 32, 64-bit
floating point registers as defined in the MIPS III ISA. When reset, the processor accesses
the registers as defined in the MIPS II architecture.
3-6
Chapter 4 Clock Interface
Chapter 4.
Clock Interface
This chapter describes the clock signals (“clocks”) used in the TX4955A processor.
The subject matter includes basic system clocks, system timing parameters, operating the
TX4955A processor in reduced power (RP) mode, connecting clocks to a phase-locked system, and
connecting clocks to a system without phase locking.
4.1
Signal Terminology
The following terminology is used in this chapter (and book) when describing signals:
•
Rising edge indicates a low-to-high transition.
•
Falling edge indicates a high-to-low transition.
•
Clock-to-Q delay is the amount of time it takes for a signal to move from the input of a
device (clock) to the output of the device (Q).
Figure 4.1.1 and Figure 4.1.2 illustrate these terms.
single clock cycle
1
high-to-low transition
2
3
4
low-to-high transition
Figure 4.1.1 Signal Transitions
Q
data in
data in
clock in
clock in
clock-to-Q
Clock-to-Q
delay
data out
Figure 4.1.2 Clock-to-Q Delay
4-1
data out
Chapter 4 Clock Interface
4.2
Basic System Clocks
The various clock signals used in the TX4955A processor are described below, starting with
MasterClock, upon which the processor bases all internal and external clocking.
MasterClock
The clocks on the TX4955A processor are controlled by an on-processor Phase-locked Loop
(PLL) circuit. This circuit keeps the TX4955A processor’s internal clock edges aligned with the
clock edges of the MasterClock signal, which itself acts as the master system clock.
Inside the TX4955A processor, the MasterClock signal can be multiplied by a factor set by the
DivMode (1:0) inputs to the processor. All internal clocks are then derived from this clock. The
TX4955A processor has two primary internal clocks, the pipeline (also referred to as processor)
clock, PClock,
PClock and the system interface clock, SClock.
SClock SClock has the same frequency and
phase as MasterClock.
MasterClock
4.2.1
MasterClock
The Processor bases all internal and external clocking on the single MasterClock input
signal. MasterClock specifications are shown in Figure 4.2.1.
tMCP
tMCH
0.8VCC IO
0.2VCC IO
tMCL
tMCR
tMCF
Figure 4.2.1 MasterClock
4.2.2
PClock
The pipeline (or processor) clock, PClock,
PClock can be 2, 2.5, 3 or 4 times the MasterClock
frequency. This multiplication factor is determined by DivMode (1:0) pins, which are static
signal inputs to TX4955A.
All internal registers and latches use PClock.
PClock
4.2.3
SClock
The system interface clock, SClock,
SClock is the same as the MasterClock frequency. SClock is
always derived from Pclock. The TX4955A processor drives its outputs on this clock edge.
The first rising edge of SClock,
SClock after ColdReset*
ColdReset is deasserted, is aligned with the first
rising edge of MasterClock.
MasterClock
4-2
Chapter 4 Clock Interface
4.2.4
PClock-to-SClock Division
Figure 4.2.2 shows the clocks for a PClock-to-SClock division by 2.
1
Cycle
2
4
3
MasterClock
SyncOut
PClock
SClock
D
SysAD Driven
D
D
D
tDO
D
SysADIn
D
D
D
tDS
tDH
Figure 4.2.2 Processor Clock, PClock-to-SClock Divisor of 2
4.2.5
Phase-Locked Loop (PLL)
The TX4955A clocks are controlled by a Phase-locked Loop circuit (PLL).
4-3
Chapter 4 Clock Interface
4.3
Connecting Clocks to a Phase-Locked System
When the processor is used in a phase-locked system, the external agent must phase lock its
operation to a common MasterClock.
MasterClock In such a system, the delivery of data and data sampling
have common characteristics, even if the components have different delay values. For example,
transmission time (the amount of time a signal takes to move from one component to another
along a trace on the board) between any two components A and B of a phase-locked system can
be calculated from the following equation:
Transmission Time = (SClock period) − (tDO for A) − (tDS for B) −
(Clock Jitter for A Max) − (Clock Jitter for B Max)
Figure 4.3.1 shows a block-level diagram of a phase-locked system using the TX4955A
processor.
MasterClock
External Agent
TX4955A
MasterClock
MasterClock
SysCmd
SysCmd
SysAD
SysAD
Figure 4.3.1 The TX4955A Processor Phase-Locked System
4-4
Chapter 5 Cache Organization
Chapter 5
Cache Organization
This chapter describes in detail the cache memory: its place in the TX4955A memory
organization, and individual organization of the caches.
This chapter uses the following terminology:
•
The data cache may also be referred to as the D-cache.
•
The instruction cache may also be referred to as the I-cache.
These terms are used interchangeably throughout this book.
5.1
Memory Organization
Figure 5.1.1 shows the TX4955A system memory hierarchy. In the logical memory hierarchy,
both primary and secondary caches lie between the CPU and main memory. They are designed
to make the speedup of memory accesses transparent to the user.
Each functional block in Figure 5.1.1 has the capacity to hold more data than the block above
it. For instance, physical main memory has a larger capacity than the caches. At the same time,
each functional block takes longer to access than any block above it. For instance, it takes
longer to access data in main memory than in the CPU on-chip registers.
TX49 CPU
CPU Core
I-cache
D-cache
Core
Caches
Cache
Faster Access
Time
Main Memory
Disk, CD-ROM,
Tape, etc.
Increasing Data
Capacity
Memory
Peripherals
Figure 5.1.1 Logical Hierarchy of Memory
The TX4955A processor has two on-chip caches: one holds instructions (the instruction cache),
the other holds data (the data cache). The instruction and data caches can be read in one PClock
cycle.
Data writes are pipelined and can complete at a rate of one per PClock cycle. In the first stage
of the cycle, the store address is translated and the tag is checked; in the second stage, the data
is written into the data RAM.
5-1
Chapter 5 Cache Organization
5.2
Cache Organization
This section describes the organization of the on-chip data and instruction caches. Figure
5.2.1 provides a block diagram of the TX4955A cache and memory model.
TX4955A
Main Memory
Cache Controller
I-cache
Caches
D-cache
I-cache: Instruction cache
D-cache: data cache
Figure 5.2.1 TX4955A Cache Support
5.2.1
Cache Sizes
The TX4955A instruction cache is 32 Kbytes; the data cache is 32 Kbytes.
5.2.2
Cache Line Lengths
A cache line is the smallest unit of information that can be fetched from main memory for
the cache, and that is represented by a single tag.(Note)
The line size for the instruction cache is 8 words (32 bytes) and the line size for the data
cache is 8 words (32 bytes).
Note: Cache tags are described in the following sections.
5.2.3
Organization of the Instruction Cache (I-Cache)
Each line of I-cache data (although it is actually an instruction, it is referred to as data to
distinguish it from its tag) has an associated 24-bit tag.
The TX4955A processor I-cache has the following characteristics:
• Cache size: 32 KB
• Four-way set associative
• FIFO replacement
• Indexed with a virtual address
• Checked with a physical tag
• Block (line) size: 8 words (32 bytes)
• Burst refill size: 8 words (32 bytes)
• Lockable on a per-line basis (way1 ∼ way3)
• All valid bits, lock and FIFO bits are cleared by a Reset exception
5-2
Chapter 5 Cache Organization
5.2.4
Instruction cache address field
Figure 5.2.2 shows the instruction cache address field. When 4-KB page size is in 32 KB
I-cache, the bit 12 of the physical Address and the Virtual Address must be same value.
12 11
35
5 4
3 2
0
Physical Tag
(24 bits )
Cache Tag Index
(8 bits)
Word
(2 bits)
Byte
(3 bits)
Figure 5.2.2 Instruction cache address field
5.2.5
Instruction cache configuration
Each line in the 4 ways of the instruction cache share F1, F0 replacement bits. Figure
5.2.3 shows the format of replacement bits. These bits are shared by way0, way1, way2 and
way3 for 32 KB cache, and indicate next set to which replacement will be directed; when
lock bit is set to 1, indicate this set is not locked.
Each line of instruction cache data has an associated 26-bit tag that contains a 24-bit
physical address, a single Lock bit and a single valid bit, except for the line in way0, which
has an 25-bit tag that excludes a lock bit. Figure 5.2.4 shows the formats of tag and data
pair.
1
0
F1
F2
F0: FIFO replace bit 0
F1: FIFO replace bit 1
Figure 5.2.3 Format of replacement bits
24 23
0
V
P Tag
63
0
63
0
Data
63
Data
0
63
Data
0
Data
Format for way0
25 24
L V
23
0
63
P Tag
0
63
Data
0
63
Data
0
Data
Format for way1, 2 and 3
L: Lock bit (1: enable, 0: disable)
V: Valid bit (1: valid, 0: invalid)
PTag: Physical tag (bit 35∼12 of the physical address)
Data: Instruction cache data
Figure 5.2.4 Format of tag and data pair for I-cache
5-3
63
0
Data
Chapter 5 Cache Organization
5.2.6
Organization of the Data Cache (D-Cache)
Each line of D-cache data has an associated 24-bit tag.
The TX4955A processor D-cache has the following characteristics:
• Cache size: 32 KB
• Four-way set associative
• FIFO replacement
• Indexed with a virtual address
• Checked with a physical tag
• Block (line) size: 8 words (32 bytes)
• Burst size: 8 words (32 bytes)
• Store buffer
• Lockable on a per-line basis (way1 ∼ way3)
• Write-back or write-through on a per-page basis
• All write-back, CS, FIFO and lock bits are cleared by a Reset exception
5.2.7
Data cache address field
Figure 5.2.5 shows the data cache address field. When 4-KB page size is used in 32KB
D-cache, the bit 12 of the Physical Address and the Virtual Address must be same value.
12 11
35
5 4
3 2
0
Physical Tag
(24 bits )
Cache Tag Index
(8 bits)
Word
(2 bits)
Byte
(3 bits)
Figure 5.2.5 Data cache address field
5.2.8
Data cache configuration
Each line in the 4 ways of the data cache share F1, F0 replacement bits. Figure 5.2.6
shows the format of replacement bits. These bits are shared by way0, way1, way2 and
way3 for 32 KB cache, and indicate next set to which replacement will be directed; when
lock bit is set to 1, indicate this set is not locked.
Each line of data cache data has an associated 28-bit tag that contains a 24-bit physical
address, a single Lock bit, a single write-back bit and a 2-bit cache state, except for the line
in way0, which has an 27-bit tag that excludes a Lock bit. Figure 5.2.7 shows the formats of
tag and data pair.
1
0
F1
F2
F0: FIFO replace bit 0
F1: FIFO replace bit 1
Figure 5.2.6 Format of replacement bits
5-4
Chapter 5 Cache Organization
26 25 24
W
23
CS
0
63
PTag
0
63
DATA
0
63
DATA
0
63
DATA
0
DATA
Format for way0
27
L
26 25 24 23
W
CS
0
63
PTag
0
63
DATA
0
DATA
63
0
DATA
63
0
DATA
Format for way1, 2 and 3
L: Lock bit (1: enable, 0: disable)
W: Write-back bit (set if cache line has written)
CS: Primary cache state (0: Invalid, 1: Reserved, 2: Reserved, 3: Valid)
PTag: Physical tag (bit 35~12 of the physical address)
Data: Data cache data
Figure 5.2.7 Format of tag and data pair for D-cache
In the TX4955A, the W (write-back) bit, not the cache state, indicates when the primary
cache contents modified data that must be written back to memory. The states Invalid and
Dirty Exclusive are used to describe the cache line. That is, there is no hardware support
for cache coherency.
5.3
Lock function
The lock function can be used to locate critical instruction/data in one instruction/data cache
set and they are not replaced when the lock bit is set.
5.3.1
Lock function
Setting the Lock bit in each line cache enable the instruction/data cache lock function.
When the lock function is enabled, the instruction/data in the valid line is locked and never
be replaced. The set to be locked is pointed by FIFO bit. Refilled instruction/data during
the lock function is enabled is locked. When a store miss occurs for the write-through data
cache without write allocate, the store data is not written to the cache and will therefore
not be locked.
The lock function is disabled by clearing the Lock bit in each line.
In order to clear or set the Lock bit in the cache, Cache instructions (Index store I-cache
/D-cache Tag) can be used, and in order to load the instruction/data to cache from memory,
another Cache instructions (Fill I-cache/D-cache) can be used (refer to Cache instruction).
Clear the lock bit as follows when data written to a locked line should be stored in main
memory.
(1) Read the locked data from cache memory
(2) Clear the lock bit
(3) Store the data that was read
5-5
Chapter 5 Cache Organization
5.3.2
Operation during lock
After the lock bit is set for a line, the line can be replaced only when it’s line state is
invalid. The locked valid line can never be replaced. FIFO bit should point only to the set
of locked invalid line or unlocked line.
A write access to a locked valid line takes place only to the cache not to the memory at
Write Back mode. Both of the cache and the memory are replaced at Write Through mode.
5.3.3
Example of Data cache locking
During the load operation to the locked line of the cache, any interrupt should be
disabled in order to avoid to lock the wrong data.
To lock data cache lines, the following sequence of codes could be used.
.......................
/* Disable the interrupt */
mtc0 t0, TagLo
/* Load data into TagLo reg */
cache 2 (D), offset (base) /* Invalidate and lock line in desired set using
Index_Store_Tag cache instruction */
cache 7 (D), offset (base) /* Fill the cache line from desired memory location */
.......................
/* Enable the interrupt */
5.3.4
Example of Instruction cache locking
To lock instruction cache lines, the following sequence of codes could be used:
.......................
mtc0 t0, TagLo
cache 2 (I), offset (base)
cache 5 (I), offset (base)
.......................
/* Disable the interrupt */
/* Load data into TagLo reg */
/* Invalidate and lock line in desired set using
Index_Store_Tag cache instruction */
/* Fill the cache line from desired memory location */
/* Enable the interrupt */
5-6
Chapter 5 Cache Organization
5.4
The primary cache accessing
Figure 5.4.1 shows the virtual address (VA) index to the primary cache. Each instruction and
data cache size is 32 KB. The virtual address bits be used to index into the primary cache
decided by the cache size.
Data
Tags
Tag line
Data line
VA (12..5)
VA (12..5)
W Stage Tag
64
Figure 5.4.1 Primary Cache Data and Tag Organization
5.5
Cache States
The section describes about the state of a cache line. The cache line in the TX4955A are in
one of states described in Table 5.5.1.
The I-Cache line is in one of the following states:
• invalid
• valid
The D-Cache line is in one of the following states:
• invalid
• valid
Table 5.5.1 Cache States
Cache line State
Description
Invalid
A cache line that does not contain valid information must be marked invalid, and
cannot be used. A cache line in any other state than invalid is assumed to
contain valid information.
Valid
A cache line contains valid information. The cache line may or not be consistent
with memory and is owned by the processor (see Cache Line Ownership in this
chapter).
5-7
Chapter 5 Cache Organization
5.6
Cache Line Ownership
The TX4955A becomes the owner of a cache line after it writes to that cache line (that is, by
entering the dirty exclusive), and is responsible for providing the contents of that line on a read
request. There can only be one owner for each cache line.
5.7
Cache Multi-Hit Operation
The TX4955A is not guaranteed the operation for the multi-hit of primary cache.
Thus, in case of locking the specified program/data in the primary cache, the program/data
must be used after locked in the cache by Fill instruction.
Such as the previous description the cache multi hit does not guarantee in the TX4955A,
however, if it occurs, the TX4955A will do the operation as follows.
• Load: read from the higher way of priority (way0 > way1 > way2 > way3).
• Store: write to all way that are multi-hits.
5.8
FIFO Replacement Algorithm
The instruction and data caches in the TX4955A use the FIFO replacement algorithm.
•
Usually, cache elements are replaced in this order: Way0, Way1, Way2, Way3.
•
The FIFO[1:0] replacement bits do not point to a locked, valid cache line.
•
Data is first written to a cache line marked invalid, if any.
•
The FIFO replacement bits change every time memory data is written to the cache or a CACHE
instruction is executed.
Figure 5.8.1 shows several examples of how the FIFO replacement bits change.
Way0
Way1
Way2
Way3
A)
Invalid
Invalid
Invalid
Invalid
Way0
Way1
Way2
Way3
C)
Invalid
Invalid
valid
Invalid
Way0
Way1
Way2
Way3
E)
Invalid
valid
Lock
valid
Lock
valid
Lock
Way0
Way1
Way2
Way3
B)
Invalid
Invalid
Lock
Invalid
Invalid
Way0
Way1
Way2
Way3
D)
Invalid
valid
Lock
Invalid
valid
Way0
Way1
Way2
Way3
F)
valid
valid
valid
valid
Lock
Figure 5.8.1 Examples of Cache State Transitions by the FIFO Replacement Algorithm
5-8
Chapter 5 Cache Organization
5.9
Cache Testing
5.9.1
Cache disabling
The ICE# and DCE# bits in the Config register enable and disable the instruction and
data caches respectively.
When the cache is disabled, any attempt to access the cache causes a cache miss;
therefore, a cache refill does not occur. (A burst bus cycle does not occur, either, as is the
case with an access to a uncached memory space.) With the cache disabled, the Valid (V)
and Cache State (CS) bits for each entry remain unchanged.
Note: When the instruction cache is disabled
− All instruction fetches cause an instruction cache miss. External memory accesses
will occur as a single-read operation.
− Instruction cache operations by the CACHE instruction are valid.
Note: When the data cache is disabled
− All memory accesses by the load and store instructions cause a data cache miss. At
this time, no cache refill occurs. External memory accesses will occur as a
single-read or single-write operation.
− Data cache operations by the CACHE instruction are valid.
Note: How to disable the instruction cache reliably
− To disable the instruction cache, stop instruction streaming by following the
MTC0 instruction with a jump instruction, as shown below:
Example: MTC0 Rn, Config (Set ICE# bit.)
J
L1
(Jump to L1 and stop streaming.)
NOP
(Jump delay slot)
L1: CACHE IndexInvalidate, offset (base)
5.9.2
Cache Flushing
Both the instruction and data caches are flushed by a Cold Reset or Warm Reset
exception. i:e., all the Valid and CS bits are cleared to zeroes.
The instruction cache is also flushed by the Index Invalidate and Hit Invalidate
operations with a CACHE instruction. The data cache is flushed by the Hit Invalidate
operation with a CACHE instruction.
Data is written back to the main memory when an Index Writeback Invalidate or Hit
Writeback Invalidate operation is performed, when a Hit Writeback operation is performed,
and when a cache line is replaced. When the write-back policy is employed, it is required to
consciously maintain cache coherency when flushing the cache.
5-9
Chapter 5 Cache Organization
5.10 Cache Operations
As described earlier, caches provide fast temporary data storage, and they make the speedup
of memory accesses transparent to the user. In general, the processor accesses cache-resident
instructions or data through the following procedure:
1. The processor, through the on-chip cache controller, attempts to access the next instruction
or data in the appropriate cache.
2. The cache controller checks to see if this instruction or data is present in the cache.
• If the instruction/data is present, the processor retrieves it. This is called a cache hit.
• If the instruction/data is not present in the cache, the cache controller must retrieve it
from memory. This is called a cache miss.
3. The processor retrieves the instruction/data from the cache and operation continues.
It is possible for the same data to be in two places simultaneously: main memory and cache.
This data is kept consistent through the use of a write-back methodology; that is, modified data
is not written back to memory until the cache line is to be replaced.
Instruction and data cache line replacement operations are listed in described as the
following sections.
Table 5.10.1 Cache Instruction
Name
Caches
Operation
Index Invalidate
Instruction
Sets the cache state of cache block to invalid.
Index Write Back Invalidate
Data
Examines cache state, if Valid Dirty, then that block is written back to main
memory. Then the cache block is set to invalid.
Index Load Tag
Instruction & Data
Read the tag for the cache block at the specified index and place it into
TagLo.
Index Store Tag
Instruction & Data
Write the tag for the cache block at the specified index from the TagLo
register.
Create Dirty Exclusive
Data
If the cache does not contain the specified address, and the block is Valid
Dirty the block will be written back to main memory. Then the tag will be set
to the specified physical address and will be marked valid.
Hit Invalidate
Instruction & Data
If the cache block contains the specified address, cache block will be marked
invalid.
Hit Write Back Invalidate
Data
If the cache block contains the specified address, and it is Valid Dirty, the
data will be written back to main memory. Then, the cache block is marked
invalid.
Fill
Instruction
Fill the Instruction cache block from main memory.
Fill
Data
Fill the Data cache block from memory.
Data
If the cache block contains the specified address, and it is marked Valid Dirty,
the block will be written back to main memory, and marked Valid Clean.
Hit Write Back
5-10
Chapter 5 Cache Organization
5.10.1
Cache Write Policy
The TX4955A processor manages its data cache by using a write-back and a write-through
policy. A write-back stores write data into the cache, instead of writing it directly to
memory. Some time later this data is independently written into memory. In the TX4955A
implementation, a modified cache line is not written back to memory until the cache line is
to be replaced either in the course of satisfying a cache miss, or during the execution of a
write-back CACHE instruction.
When the processor writes a cache line back to memory, it does not ordinarily retain a
copy of the cache line, and the state of the cache line is changed to invalid.
A write-through is written simultaneously to cache and memory.
5.10.2
Data Cache Line Replacement
Since the data cache uses a write-back and a write-through methodology, a cache line
load is issued to main memory on a load or store miss, as described below. After the data
from memory is written to the data cache, the pipeline resumes execution.
TX4955A does not support “Critical Data Word First”. Always it transfer the data of first
address.
Rules for replacement on data load and data store misses are given below.
• Data Load Miss
If the missed line is not dirty, it is replaced with the requested line.
If the missed line is dirty, it is moved to the write buffer. The requested line replaces
the missed line, and the data in the write buffer is written to memory.
• Data Store Miss
If the missed line is not dirty, the requested line is merged with the store data and
written to memory.
If the missed line is dirty, it is moved to the write buffer. The requested line is
merged with the store data and written to cache, and data in the write buffer is
written to memory.
The data cache miss penalties, in number of SClock cycles, are given in Table
5.10.2.
Table 5.10.2 Data Cache Refill Penalty Cycle Count
Number of
PClock Cycles
Action
1
Stall the DC stage.
1
Transfer address to the write buffer and wait for the pipeline start signal
1∼2
Transfer address to the internal SysAD bus on the SClock.
2
Transfer to the external SysAD bus.
M
Time needed to access memory, measured in PClock cycles.
4
Transfer the cache line form memory to the SysAD bus.
2
Transfer the cache line from the external bus to the internal bus.
0
Restart the DC stage.
5-11
Chapter 5 Cache Organization
5.10.3
Instruction Cache Line Replacement
For an instruction cache miss, refill is done using sequential ordering, starting from the
first word of the retrieved cache line.
During an instruction cache miss, a memory read is issued. The requested line is
returned from memory and written to the instruction cache. At this time the pipeline
resumes execution, and the instruction cache is reaccessed.
The replacement sequence for an instruction cache miss is:
1. Move the instruction physical address to the processor pads.
2. Wait for a PClock cycle, aligned with an SClock boundary, to occur.
3. Read the line from memory and write it out to the instruction cache array.
4. Restart the processor pipe.
The instruction cache miss penalties, in number of PClock, is given in Table 5.10.3.
Table 5.10.3 Instruction Cache Refill Penalty Cycle Count
Number of
PClock
Action
1
Stall the RF stage.
1
Transfer address to the write buffer and wait for the pipeline start signal.
1∼2
Transfer to the external SysAD bus.
2
Transfer to the external SysAD bus.
M
Time needsd to access memory, measured in PClock cycles.
8
Transfer the cache line from memory to the SysAD bus.
2
Transfer the cache line from the external bus to the internal bus.
0
Restart the RF stage.
5.11 Manipulation of the Caches by an External Agent
The TX4955A does not provide any mechanisms for an external agent to examine and
manipulate the state and contents of the caches.
5-12
Chapter 6 TX4955A System Interface
Chapter 6. TX4955A System Interface
6.1
Terminology
The following terms are used in this section.
6.2
•
External agent: Logic device that is directly connected to the processor via the system
interface so a processor can issue (instructions).
•
System event: Event issued inside a processor which, when generated, means that
access to external system resources is required.
•
Sequence: Strict order of requests that the processor generates in order to provide
service for system events.
•
Protocol: Shift of signals for each cycle generated on the system interface so processor
requests or external requests can be asserted.
•
Syntax: Strict definition of the bit pattern on the encoded bus (command bus, etc.).
Explanation of System Interface of R5000 type protocol mode
In TX4955A, it is built in system interface function corresponding to TX4300 type protocol. A
selection of above-mentioned R5000 type protocol mode or TX4300 type protocol mode increases
by external pin (MODE43* : 117 pin).
MODE43* = 0: TX4300 type protocol
MODE43* = 1: R5000 type protocol
The TX4955A processor supports 32-bit address/data interfaces. This processor makes it
possible to construct a processor system by processors and main memory. System interfaces
consist of the following components:
•
32-bit address/data bus, SysAD
•
4-bit SysAD check bus, SysADC
•
9-bit command bus, SysCmd
•
1-bit SysCmd check parity, SysCmdP
•
6 handshake signals
– RdRdy*, WrRdy*
– ExtRqst*, Release*
– ValidIn*, ValidOut*
The TX4955A processor accesses external resources using the system interface in order to
correct cache misses, uncached operation, and other problems.
6-1
Chapter 6 TX4955A System Interface
6.2.1
Interface bus
Figure 6.2.1 illustrates the 32-bit address/data bus SysAD (31:0), which is the main
communication bus of the system interface, and the 9-bit command bus SysCmd (8:0).
SysAD and SysCmd are bi-directional busses. In other words, these two busses are used for
the processor to issue processor requests and for the external agent to issue external
requests.
TX4955A
External agent
SysAD (31:0)
SysCmd (8:0)
Figure 6.2.1 System Interface Bus
Requests sent via the system interface consist of the following:
6.2.2
•
Address
•
System interface command that strictly specifies the type of request
•
Series of data elements for when the request is a particular write or read process.
Address cycle and data cycle
Cycles during which valid addresses exist on the SysAD bus are referred to as address
cycles. Also, cycles during which valid data exist on the SysAD bus are referred to as data
cycles. Validity is determined depending on the ValidIn signals and ValidOut signals.
The SysCmd bus is used to identify the contents of the SysAD bus for all cycles at which
it is to be valid. The most significant bit of the SysCmd bus is used to indicate whether the
current cycle is an address cycle or a data cycle.
•
In the case of an address cycle [SysCmd(8) = 0], the remaining bits SysCmd(7:0) of
the SysCmd bus contain the system interface commands.
•
In the case of a data cycle [SysCmd(8) = 1], the remaining bits SysCmd(7:0) of the
SysCmd bus contain the data identifier.
6-2
Chapter 6 TX4955A System Interface
6.2.3
Issue cycle
Two types of processor issue cycles exist with the TX4955A.
•
•
Processor read request issue cycles.
Processor write request issue cycles.
The TX4955A judges the issue cycle of the processor read request by sampling the
RdRdy* signal. It also judges the issue cycle of the processor write request by sampling the
WrRdy* signal from the external agent.
As illustrated in Figure 6.2.2, RdRdy* must be asserted two cycles before the processor
read request address cycle in order to define the address cycle as an issue cycle.
Issue
Cycle
Cycle
1
2
3
4
5
6
Master Clock
Address
SysAD Bus
RdRdy*
ValidOut*
Figure 6.2.2 RdRdy* Signal Status in case of Read Request
As illustrated in Figure 6.2.3, WrRdy* is asserted two cycles before the initial address
cycle of the processor write request, and the address cycle must be defined as the issue
cycle.
Issue
Cycle
Cycle
1
2
3
4
5
6
Master Clock
SysAD Bus
Data
Address
WrRdy*
ValidOut*
Figure 6.2.3 WrRdy* Signal Status in case of Write Request
The TX4955A repeats the request address cycle until the conditions of the valid issue
cycle are met. If the processor request is a data transmission, then data transmission starts
at the point when the issue cycle is complete. There is only one issue cycle no matter what
the processor request is.
The TX4955A accepts external requests even while trying to issue processor requests. If
the external agent asserts ExtRqst*, the processor responds to the external agent by
releasing the system interface and going into the slave state. Rules relating to the issue
cycle of processor requests are strictly applied in determining the processor run operation
as well. The TX4955A performs one of the following:
6-3
Chapter 6 TX4955A System Interface
•
Complete issuing of processor requests before external requests are received.
•
Release the system interface and go into the slave mode without completing
issuance of the processor requests.
In the latter of the above situations, the TX4955A issues processor requests after
external requests are complete. Rules relating to issuing are also provided to processor
requests.
6.2.4
Handshake signal
The processor uses the eight control signals explained below to manage the flow of
requests.
6.2.5
•
RdRdy* and WrRdy* are used by the external agent to indicate that it is ready to
accept a new read or write transaction.
•
ExtRqst* and Release* are used to transfer SysAD bus and SysCmd bus control.
ExtRqst* is used by the external agent to indicate the necessity of controlling the
interface. Release* is asserted by the processor when transferring the system
interface access privileges.
•
The TX4955A processor uses ValidOut* and the external agent ValidIn* signals to
indicate the valid command/data on the SysCmd/SysAD bus.
System Interface Protocol of R5000 type
Figure 6.2.4 illustrates the system interface that operates between registers. In other
words, processor output is directly transferred from the output register and changes and
the Master Clock rising edge.
Processor input is directly transferred to the input register and the input register latches
these input signals at the rising edge of the Master Clock. In this way, it becomes possible
for the system interface to operate at the fastest clock frequency.
TX4955A
Output data
Input data
Master Clock
Figure 6.2.4 Operation of the System Interface Between Registers
6-4
Chapter 6 TX4955A System Interface
6.2.5.1
Master state and slave state
The system interface is placed in the master state when the TX4955A processor is
driving the SysAD bus and SysCmd bus. In contrast, the system interface is in the
slave state when the external agent is driving the SysAD bus and SysCmd bus.
The processor asserts the ValidOut* signal if the SysAD bus and SysCmd bus
become valid when the system interface is in the master state. The external agent
asserts the ValidIn* signal if the SysAD bus and SysCmd bus become valid when the
system interface is in the slave state.
6.2.5.2
Shifting from the master state to the slave state
The system interface remains in the master state unless it enters one of the
following states:
6.2.5.3
•
The external agent issues a request, then usage of the system interface is
granted (external arbitration).
•
The processor issues a read request and shifts into the slave mode by itself.
External arbitration
The external agent cannot issue external requests via the system interface unless
the system interface goes into the slave state. Shifts from the master state to the slave
state are arbitrated by the processor using the system interface handshake signals
ExtRqst* and Release.* This shift is performed as follows below.
6.2.5.4
1)
The external agent sends notification that it would like to issue an external
request by asserting the ExtRqst* signal.
2)
The processor releases the system interface and changes its state from the master
state to the slave state by asserting the Release* signal for 1 cycle.
3)
The system interface returns to the master state when issuing of the external
request is complete.
Shifting to the slave state on its own
Shifting to the slave state on its own means that the shift from the master state to
the slave state is started by the processor when the processor read request is still on
hold. The Release signal is automatically asserted after the read transaction.
Self-invoked shifting to the slave state occurs either during the issue cycle of the read
request or several cycles after that.
After shifting to the slave state on its own, the processor returns to the master state
at the end of the next external request. This is made possible by a read request or
other type of external request.
The SysAd bus and SysCmd bus drives must start after the external agent confirms
that the processor autonomously shifted to the slave state. While the system interface
is in the slave state, the external agent can start making external requests without
requesting access to the system interface (without asserting the ExtRqst* signal).
The system interface returns to the master state when the external request ends.
If a processor read request is on hold after a read request is issued, the processor
automatically changes the system interface into the slave state even if the system
interface access necessary for the system agent to issue the external request has not
been requested. By shifting to the slave state in this manner, the external agent
becomes able to return read response data.
6-5
Chapter 6 TX4955A System Interface
6.2.6
Processor Requests and External Requests
Requests are broadly categorized as processor requests and external requests. This
section will describe these two categories.
When a system event is generated, either a single request or a series of requests (referred
to as processor requests) are issued via the system interface so the processor can access an
external resource and invoke the service for the event. In order for this operation to be
performed properly, the processor system interface must be connected to a system agent
that meets the two following conditions:
1)
It is in compliance to the system interface protocol.
2)
It can regulate access to system resources.
An external agent that requests access to the processor cache or the status registers
generates an external request. This access request is transferred via the system interface.
Figure 6.2.5 illustrates the system event and request cycles.
TX4955A
External agent
Processor Request
・ Read
・ Write
Processor Request
・ Read
・ Write
・ Null
System Events
・ Load miss
・ Store miss
・ Store bit
・ Uncached load/store
・ Cache operation
Figure 6.2.5 Requests and System Event
6.2.6.1
Rules relating to processor requests
The following rules apply to processor requests.
Cycle
1
•
After a processor read request is issued, the processor cannot issue the next
read request until after it receives a read response.
•
When in the R4000 compatible mode, after a write request is issued, at least 4
cycles must pass from when the write request issue cycle is complete until the
processor can issue the next request. This is because two dummy system
cycles are inserted as illustrated in Figure 6.2.6 by consecutive write requests
of single data cycles.
2
3
4
5
6
7
8
Cycle
1
2
3
4
Addr
Data
Dummy
Dummy
Addr
9
10
Master Clock
SysAD Bus
Write #1
Data
Write #2
WrRdy*
ValidOut*
Figure 6.2.6 Timing of Consecutive Write Cycles
6-6
Dummy
Chapter 6 TX4955A System Interface
6.2.6.2
Processor requests
The term “processor request” refers to either a single request or a series of requests
issued via the system interface in order to access external resources. As illustrated in
Figure 6.2.7, there are two types of processor request: read and write.
TX4955A
External agent
Processor Request
・ Read
・ Write
Figure 6.2.7 Processor Requests
Read requests are requests that read data from main memory or other memory
resources in block double word, partial double word, word, and partial word units.
Write requests are requests that write data to main memory or other system
resources in block, double word, partial double word, word, and partial word units.
Processor requests are managed by the TX4955A processor in the same manner as
the R4000/R4400 non-secondary cache mode.
The processor issues requests strictly according to a sequential method. In other
words, the processor cannot issue the next request while a previous request is on hold.
For example, after issuing a read request, the processor waits for a read response
before issuing the next request. The processor only issues write requests when there
are no read requests on hold.
When using processor input signals RdRdy* and WrRdy*, the external agent can
control the processor request flow. RdRdy* is the signal that controls the processor
read flow, and WrRdy* controls the processor write request flow. Figure 6.2.8
illustrates the sequence of the processor request cycle.
External agent
TX4955A
1. Processor issues read/
write requests.
2. External system controls
acceptance of requests
by asserting either
RdRdy* or WrRdy*.
Figure 6.2.8 Processor Requests
6.2.6.3
Processor read requests
When the processor issues a read request, the external agent must access the
specified resource and return the requested data.
The external agent returns response data for processor read requests so they can be
executed separately from the requests. In other words, the external agent can start an
external request before returning response data for the processor read request. A
processor read request is complete when the final word of the response data is received
from the external agent.
Depending on the data identifier combined with the response data, an error in the
response data may be pointed out. The processor would then treat this error as a bus
error.
If data have not been returned to the issued processor read request, the applicable
request is said to be “on hold.” This state continues until the requested read data are
returned.
6-7
Chapter 6 TX4955A System Interface
The external agent must be able to accept processor read requests at any time if
either of the two following conditions is met.
6.2.6.4
•
There is no processor read request that is on hold.
•
The RdRdy* signal is asserted for 1 cycle 2 cycles before the issue cycle.
Processor write request
When the processor issues a write request, the specified resources are accessed,
then the data are written to those resources.
Processor write requests are complete when the final data word is transferred to the
external agent.
The external agent must be able to accept processor write requests at any time if
either of the two following conditions are met.
6.2.6.5
•
There is no processor read request that is on hold.
•
The WrRdy* signal is asserted for 1 cycle 2 cycles before the issue cycle.
External requests
As illustrated in Figure 6.2.9, there are three types of external request: read, write,
and null. This section will explain read responses, which are special external request
cases.
TX4955A
External agent
External request
・ Read
・ Write
・ Null
Figure 6.2.9 External Requests
Read requests are used to call 1-word data from processor internal resources. Write
requests are used to write 1-word data to the processor internal resources. Null
requests are requests that do not require processor operation.
As illustrated in Figure 6.2.10, the processor uses arbitration signals ExtRqst* and
Release* to control the flow of external requests. The external agent cannot issue
external requests unless access privileges to the system interface are obtained. In
order to do so, the external agent asserts the ExtRqst* signal, then waits until the
processor asserts the Release* signal for 1 cycle.
External agent
TX4955A
1. External system requests
bus access privileges by
asserting the ExtRqst*
signal
2. Processor grants access
privileges by asserting
the Release* signal
3. External system issues
external request
4. Processor obtains bus
access privileges again
Figure 6.2.10 External Requests
6-8
Chapter 6 TX4955A System Interface
After the external request is issued, the system interface access privileges always
return to the processor. The processor will not accept another external request until
the current one is complete.
If there is no processor request that is on hold, the processor decides based on the
interior state whether to accept an external request or to issue a new processor
request. The processor can issue a new processor request even if the external agent
requested access to the system interface.
The external agent sends notification that it would like to start an external request
by asserting the ExtRqst* signal. After that, the external agent waits for the processor
to assert the Release* signal and send notification that preparations have been made
to accept this request. The processor sends notification based on the next judgement
criterion to be listed that preparations have been made to accept an external request.
6.2.6.6
•
The processor ends processor requests that are in progress.
•
The processor can accept an external request while waiting for the RdRdy*
signal to be asserted so a processor read request can be issued. However, this
request must be transferred to the processor at least 1 cycle before the
RdRdy* signal is asserted.
•
The processor can accept an external request while waiting for the WrRdy*
signal to be asserted so a processor write request can be issued. However, this
request must be transferred to the processor at least 1 cycle before the
WrRdy* signal is asserted.
•
If waiting for a response to a read request after the processor shifted itself to
the slave state, the external agent can issue an external request before
sending read response data.
External read requests
In contrast to processor read requests, data are directly returned as a response to
the request for external read requests. No other requests can be issued until the
processor returns the requested data. External read requests are complete when the
processor returns the requested data word. Depending on the data identifier
combined with the response data, an error in the response data may be pointed out.
The processor would process the error as a bus error.
6.2.6.7
Note: The TX4955A does not have any resources that can read external read requests.
The processor returns to the external read request undefined data and data
identifiers in which SysCmd(5) of the errant data bit is set.
External write requests
When the external agent issues a write request, the specified resources are accessed,
then the data are written to those resources. External requests are complete when the
data word is transferred to the processor.
The only processor resource that an external write request can use are the Interrupt
registers.
6-9
Chapter 6 TX4955A System Interface
6.2.6.8
Read responses
As illustrated in Figure 6.2.11, read responses return data to processor read
requests. Read responses are external requests, strictly speaking, but there is only
one difference with other external requests: read responses do not request permission
to use the system interface. Therefore, read responses are handled separately from
other external requests and are simply referred to as read responses.
External agent
TX4955A
1. Read request
2. Read response
Figure 6.2.11 Read Response
6.2.7
Handling of Requests
This section will describe in detail sequences, protocol, and syntax for both processor and
external requests.
6.2.7.1
•
Load miss
•
Store miss
•
Store bit
•
Cache operation
•
Load Linked/Store Conditional
Load miss
If a processor load miss occurs in the primary cache, the processor cannot proceed to
the next process if the cache line that contains the loaded data elements is not received
from the external agent.
If the current cache line set in which the write back bit (W bit) is set is replaced by a
new cache line, the current cache line must be written back.
The processor checks the coherency properties in the TLB entries for pages
including the requested cache lines. If the coherency properties are non-coherent, then
a non-coherent read request is issued. Table 6.2.1 indicates the measures that can be
taken when a load miss occurs in the primary cache.
Table 6.2.1 Load Miss to the Primary Cache
Page Properties
Non-coherent
6.2.7.2
State of the replaced data cache line
Dirty (W = 0)/Invalid
Dirty (W = 1)
NCR
NCR/W
NCR: Processor non-coherent, block read request
NCR/W: Processor non-coherent, block write requests continue after the block read
request
Store miss
When a store miss occurs in the primary cache, the processor cannot proceed to the
next process if it does not receive from the external agent a cache line that includes a
store target address. The processor checks the coherency properties in the TLB entries
for pages including the requested cache line, then confirms whether to invalidate write
transactions to that cache line or not.
After that, the processor executes one of the following requests:
6-10
Chapter 6 TX4955A System Interface
•
If the coherency properties are non-coherent write back or non-coherent write
through (write allocate), then a non-coherent block read request is issued.
•
If the coherency properties are non-coherent write through (non-write
allocate), then a non-block write request is issued. Table 6.2.2 indicates the
measures taken when there is a store miss to the primary cache.
Table 6.2.2 Store Miss to Primary Cache
State of the replaced data cache line
Page Properties
Dirty (W = 0)/Invalid
Dirty (W = 1)
Non-coherent write back or non-coherent write through
(write allocate)
NCR
NCR/W
Non-coherent write through (non-write allocate)
NCW
NA
NCR: Processor non-coherent, block read request
NCR/W: Processor non-coherent, block write requests continue after the block read request
NCW: Processor non-coherent write request
6.2.7.3
Store hits
Operation in the system interface is determined by whether a line is write back or
write through. When in the primary cache mode, all lines set to write back are set to
the dirty exclusion state (W = 1). In other words, burst transactions do not occur even
if a store hit occurs. Lines set to write through generate processor write requests for
store data.
6.2.7.4
Uncached load or store
When performing uncached load operations, the processor issues non-coherent read
requests for double words, partial double words, words, or partial words. Also, when
performing uncached store operations, the processor issues write requests for double
words, partial double words, words, or partial words.
The TX4955A judges that there is valid parity and data in the entire 32-bit SysAD
bus even for data requests of less than words. Even if there was a partial word request
for example, all parity must be correctly returned for all 32 bits. If not, then parity
check must be disabled.
All write transactions by the TX4955A are buffered in the 4-stage write buffer of the
system interface. If there are entries in the write buffer when a block request is
required, the write buffer is flushed before a read request is generated (for cache
misses or read transactions to uncached areas). Data cache misses or uncached data
load transactions flush the write buffer.
6.2.7.5
Cache instruction operation
Various operations are made available to the Cache instruction in order to maintain
the primary cache status and contents. When Cache instruction operations are in
progress, write requests or invalidate requests can be issued from the processor.
6-11
Chapter 6 TX4955A System Interface
6.2.8
Processor Request and External Request Protocol
This section explains the bus arbitration protocol for both processor requests and
external requests on a cycle-by-cycle basis. Table 6.2.3 below describes the abbreviations
used in the following timing diagram of the bus.
Table 6.2.3 System Interface Request
Range
6.2.8.1
Abbreviation
Meaning
Total
Unsd
Unused
SysAD bus
Addr
Physical address
Data<n>
Data number n of the data block
SysCmd bus
Cmd
Undefined system interface command
Read
Processor or external read request command
Write
Processor or external write request command
SINull
External null request command that releases the
system interface
NData
Non-coherent data identifier for datum other than
the final datum
NEOD
Non-coherent data identifier for the final datum
Processor request protocol
Processor request protocol is as follows.
6.2.8.2
•
Read
•
Write
•
Null write
Processor read request protocol
The processor read request protocol is as described in the following sequence. The
next step numbers correspond to the numbers in Figure 6.2.12.
1.
RdRdy* is asserted to Low by the external agent. This means that the external
agent is ready to accept read requests.
2.
When the system interface is in the master state, the read command is
transmitted to the SysCmd bus, then the processor read request is issued by
transmitting the read address to the SysAD bus.
3.
At the same time, the processor asserts the ValidOut* signal for one cycle. This
means that valid data are being transmitted to the SysCmd bus and SysAD bus.
4.
The processor goes into the slave state by itself either at the issue cycle of a read
request or after the Release* signal is asserted for one cycle and the issue cycle of
the read request is complete.
Note: The external agent must not assert the ExtRqst* signal as a means of
returning a read response. It must however wait to shift to the slave state on its
own. If an external request other than a read response is issued, ExtRqst* can be
asserted either before the read response or in the process of the read response.
5.
The SysCmd bus and SysAD bus are released from the processor one cycle after
the Release* signal is asserted.
6.
The SysCmd bus and SysAD bus are driven by the external agent within two
cycles after the Release* signal is asserted.
When shifting to the slave state (from Cycle 5 in Figure 6.2.12), the external agent
can return the requested data as a read response. Notification of an error in the
6-12
Chapter 6 TX4955A System Interface
returned data is sent if either the data requested by a read response were
returned or if the requested data could not be fetched. In this case, the processor
handles the result as a bus error exception.
Figure 6.2.12 illustrates a situation in which the slave state is autonomously
shifted to after a processor read request is issued.
Note:The timing of the SysADC bus and SysCmdP bus are the same as the timing
of the SysAD bus and SysCmd bus timing, respectively.
Master
Cycle
1
2
Slave
3
4
5
6
7
8
9
10
11
12
Master Clock
SysAD Bus
Addr
5
2
SysCmd Bus
6
Read
3
ValidOut*
Validln*
1
RdRdy*
WrRdy*
4
Release*
Figure 6.2.12 Processor Read Request Protocol
If the Release* signal is asserted, this means that either there is autonomous
shifting to the slave state or there is a response to the ExtRqst* signal assertion. In
this case, the processor can accept either a read response or an external request other
than a read response. If an external request other than a read response is issued, the
processor asserts Release* for 1 cycle, then autonomously shifts to the slave state
again after the external request process.
6.2.8.3
Processor write request protocols
Either of the two following protocols is used in issuing processor write requests.
•
The word write request protocol (see Note below) is used for double word,
partial double word, word or partial word writing.
Note: Words are called to differentiate from the block request protocol. It is
actually possible to transfer data in double word, partial double word, word,
or partial word units.
•
The block write request protocol is used for block write transactions.
The system interface is used in the master state to issue processor double word
write requests. Figure 6.2.13 illustrates processor non-coherent single word write
request cycles.
1.
In order to issue a processor single word write request, a write command is sent to
6-13
Chapter 6 TX4955A System Interface
the SysCmd bus, and a write address is sent to the SysAD bus.
2.
The processor asserts the ValidOut* signal
3.
The processor sends the data identifier to the SysCmd bus and transmits data to
the SysAD bus.
4.
The data identifier for this data cycle must receive an indication that this is the
final data cycle. ValidOut* is deasserted at the end of the cycle.
Note: The SysADC bus and SysCmd bus timing is the same as the SysAD bus and
SysCmd bus, respectively.
Master
Cycle
1
2
3
4
5
SysAD Bus
Addr
Data 0
SysCmd Bus
Write
NEOD
6
7
8
9
10
Master Clock
3
1
ValidOut*
2
4
Validln*
RdRdy*
WrRdy*
Release*
Figure 6.2.13 Processor Non-coherent Single Word Write Request Protocol
6-14
11
12
Chapter 6 TX4955A System Interface
6.2.8.4
Processor single write requests
There are three processor single write requests as follow below.
With later G2SConfig-Regster, these modes are selected.
1.
R4000 compatible write
2.
Reissue write
3.
Pipeline write
Table 6.2.4 Data Transfer Rate, Data Pattern and Setting at single write requests
Maximum Data Transfer Rate
Data Pattern Setting Bit(2:1)
1 double word/3 Master Clock cycle
Write mode
Dxx
00
Reserved
01
Reserved
1 double word/1 Master Clock cycles
D
10
Pipeline write
1 double word/1 Master Clock cycles
D
11
Reissue write
Reserved
R4000 compatible
Note: The setting Bit(2:1) is bit(2:1) of the G2Sconfig register (0xF FF10 0000).
Bit(2:1) is set to “00” when initialized.
1.
R4000 compatible write
When in the R4000 compatible write mode, 4 cycles are required for single write
operation. After the address is asserted for 1 cycle, it is followed by 2 cycles of
dummy data. Figure 6.2.14 illustrates its basic operation.
In the case of the TX4955A, the WrRdy* signal must be asserted for 1 cycle 2
cycles before the write operation is issued. When in the R4000 compatible signal
write mode, the external agent receives the write data then immediately asserts
WrRdy*, making it possible to stop write operation that continues after 4 cycles.
The 2 cycles of dummy data that follow these write data give the external agent
time to stop the next write operation.
Cycle
1
2
3
4
SysAD Bus
Addr
SysCmd Bus
Write
5
6
7
8
9
10
11
Data 0
Addr
Data 1
Addr
NEOD
Write
NEOD
Write
Master Clock
ValidOut*
Validln*
RdRdy*
WrRdy*
Release*
Figure 6.2.14 R4000 Compatible Write
6-15
12
Chapter 6 TX4955A System Interface
2.
Reissue write
When in the reissue write mode, the WrRdy* signal is asserted for 1 cycle 2 cycles
before the address cycle, and the write operation is reissued when the WrRdy*
signal is asserted during the address cycle. Figure 6.2.15 illustrates the reissue
write protocol.
•
By asserting (Low) the WrRdy* signal in the first and third cycles,
Addr0/Data0 issues a write operation in the third or fourth cycle.
•
By deasserting (High) the WrRdy* signal in the fifth cycle, Addr1/Data1 does
not issue a write operation in the fifth and sixth cycles.
•
By asserting (Low) the WrRdy* signal again in the eighth and tenth cycles,
Addr1/Data issues a write operation in the tenth and eleventh cycles.
No
Issue
Issue
Cycle
1
2
No
Issue
No
Issue
8
No
Issue
Issue
9
10
3
4
5
6
7
11
SysAD Bus
Addr0
Data0
Addr1
Data1
Addr1
Data 1
SysCmd Bus
Write
NEOD
Write
NEOD
Write
NEOD
12
Master Clock
WrRdy*
Figure 6.2.15 Reissue Write Protocol
3.
Pipeline write
Similar to when in the R4000 compatible write mode, the pipeline write protocol
issues a write operation if the WrRdy* signal is asserted for 1 cycle 2 cycles before
the write operation is issued. However, the 2 cycles of dummy data after the write
operation are deleted. The external agent must be able to accept one write
operation or more after WrRdy* is deasserted. Figure 6.2.16 illustrates this
protocol.
•
Third, fourth cycle Addr0/Data0 is issued by asserting (Low) the WrRdy*
signal in the first cycle.
•
Fifth, sixth cycle Addr1/Data1 is issued by asserting (Low) the WrRdy* signal
in the third cycle.
•
Addr2 is not issued in the seventh cycle when the WrRdy* signal is deasserted
(High) in the fifth cycle. Addr2/Data2 is issued in the tenth, eleventh cycle by
asserting the WrRdy* signal again in the eighth cycle.
Issue
Cycle
1
2
No
Issue
Issue
No
Issue
8
No
Issue
Issue
9
10
3
4
5
6
7
11
SysAD Bus
Addr0
Data0
Addr1
Data1
Addr2
Data 1
SysCmd Bus
Write
NEOD
Write
NEOD
Write
NEOD
Master Clock
WrRdy*
Figure 6.2.16 Pipeline Write Protocol
6-16
12
Chapter 6 TX4955A System Interface
6.2.8.5
Processor block write request
The master state system interface is used to issue processor block write requests.
Figure 6.2.17 illustrates a processor non-coherent block request made for 8-word data
with the “D” data pattern.
1.
Processor sends a write command to the SysCmd bus, then sends a write address
to the SysAD bus.
2.
Processor asserts the ValidOut* signal.
3.
Processor sends data identifier to the SysCmd bus and sends data to the SysAD
bus.
4.
Processor asserts the ValidOut* signal only for the number of cycles required to
transfer the data block.
5.
Final data cycle directive must be included in data identifiers for the final data
cycle.
Note: There is transmission protocol of Processor block write request three kinds same as
Processor single write requests. With later G2SConfig-Regster, these modes are
selected.
Master
Cycle
1
2
3
4
5
6
7
8
9
10
11
Addr
Data0
Data1
Data2
Data3
Data4
Data5
Data6
Data7
Write
NData
NData
NData
NData
NData
NData
NData
NEOD
12
Master Clock
SysAD Bus
SysCmd Bus
1
ValidOut*
3
2
4
5
Validln*
RdRdy*
WrRdy*
Release*
Figure 6.2.17 Processor non-coherent block request protocol
6.2.8.6
External request protocol
External requests can only be issued when the system interface is in the slave state.
The external agent asserts the ExtRqst* signal, and requests use of the system
interface. The processor asserts the Release* signal, releases the system interface,
waits for it to enter the slave state, then the external agent issues an external request.
If the system interface is already in the slave mode, namely, if the processor has put
the system interface in the slave state on its own, then the external agent can
immediately issue an external request.
In the case of the external agent, the system interface must be returned to the
master state after issuing an external request. When the external agent issues a
single external request, ExtRqst* must be deasserted 2 cycles after the cycle at which
Release* is asserted. Also, when issuing a series of external requests, the ExtRqst*
signal must be asserted before the last request cycle.
6-17
Chapter 6 TX4955A System Interface
The processor continues processing external requests while ExtRqst* is asserted.
However, until the processor completes a request that is currently being processed, it
will not be able to release the system interface and put it into the slave state in
preparation for the next external request. Also, until ExtRqst* is asserted, a series of
external requests cannot be interrupted by a processor request.
6.2.8.7
External arbitration protocol
As previously mentioned, the ExtRqst* signal and Release* signal are used in
system interface arbitration. Figure 6.2.18 illustrates the timing of the arbitration
protocol when the slave state changes to the master state.
The arbitration cycle sequence is as follows.
1.
The external agent asserts ExtRqst* when it becomes necessary to issue external
requests.
2.
The processor asserts Release* for 1 cycle when it becomes possible to process an
external request.
3.
The processor sets the SysAD bus and SysCmd bus to tri-state.
4.
The external agent must start transmission to the SysAD bus and SysCmd bus 2
cycles after Release* is asserted.
5.
The external agent deasserts ExtRqst* 2 cycles after Release* is asserted. This
does not apply however to situations where an attempt is made to issue another
external request.
6.
The external agent sets the SysAD bus and SysCmd bus to tri-state when
processing of the external request is complete.
The processor becomes able to issue processor requests 1 cycle after the external
agent sets the busses to tri-state.
Note: The SysADC bus and SysCmdP bus timing is the same as that for the SysAD bus
and SysCmd bus, respectively.
Master
Cycle
1
2
Slave
3
4
5
6
7
Addr
Data0
Master
8
9
Master Clock
3
SysAD Bus
4
SysCmd Bus
6
Cmd
NEOD
ValidIn*
WxtRqst*
Release*
1
5
2
Figure 6.2.18 Arbitration Protocol Relating to External Requests
6-18
10
11
12
Chapter 6 TX4955A System Interface
6.2.8.8
External read request protocol
External read requests are requests that read 1 word of data from
processor-internal resources such as registers. External read requests cannot be
partitioned. Namely, it is not possible to generate other requests between an external
read request and the corresponding read response.
Figure 6.2.19 illustrates the timing of external read requests, which consist of the
following steps.
1.
The external agent requests use of the system interface by asserting ExtRqst*.
2.
The processor asserts Release* for 1 cycle, then releases the system interface by
deasserting Release* and puts the interface into the slave state.
3.
After Release* is deasserted, the SysAD bus and SysCmd bus are set to tri-state
for 1 cycle.
4.
The external agent sends a read request command to the SysCmd bus, sends a
read request address to the SysAD bus, and asserts ValidIn* for 1 cycle.
5.
After sending the above address and command, the external agent sets the
SysCmd and SysAD busses to tri-state, makes it possible for the processor to drive
them, then releases them both. The processor that accessed the data to be read
returns the data to the external agent. Therefore, the processor sends the data
identifier to the SysCmd bus, sends the response data to the SysAD bus, then
asserts ValidOut* for 1 cycle. This data identifier indicates that data are the
response data of the final data cycle.
6.
The system interface is in the master state. The processor continues to drive the
SysCmd bus and SysAD bus even after the read response is returned.
Note: Timing of the SysADC bus and SysCmdP bus is the same as that for the SysAD and
SysCmd busses, respectively.
External read requests can read data from only a single word in the processor. If
data elements other than a word are requested, the processor response is not defined.
Master
Cycle
1
2
Slave
3
4
5
6
7
Master
8
9
10
11
12
Master Clock
SysAD Bus
Addr
Data0
6
Read
Data0
6
3
SysCmd Bus
ValidOut*
4
5
ValidIn*
ExtRqst*
Release*
1
2
Figure 6.2.19 External Read Request when System Interface is in the Master State
Note: The processor contains no resources that can read by way of external read requests.
The processor returns data identifiers with SysCmd(5) of the error data bits set along
with undefined data when it receives an external read request.
6-19
Chapter 6 TX4955A System Interface
6.2.8.9
External null request protocol
The processor only supports one external null request. The system interface release
external null request returns the system interface from the slave state to the master
state. This request does not affect any other processors.
The only processing the external null request does is to have the processor return
the system interface to the master state.
Figure 6.2.20 illustrates the timing of the external null request, which consists of
the following steps.
1.
The external agent drives the system interface, sends the external null request
command to the SysCmd bus, then asserts the ValidIn* signal for 1 cycle.
2.
The SysAD bus is not available during the external null request address cycle
(there are no valid data in the bus).
3.
The null request ends when the address cycle is issued.
In the case of a system interface release null request, the external agent releases the
SysCmd bus and SysAD bus so the system interface can return to the master state.
Slave
Cycle
1
2
3
4
5
Master
6
7
8
9
10
11
Master Clock
2
SysAD Bus
Unsd
3
SysCmd Bus
SINull
ValidOut*
1
Validln*
Extqst*
Release*
Figure 6.2.20 System Interface Release External Null Request
6-20
12
Chapter 6 TX4955A System Interface
6.2.8.10 External write request protocol
The same protocol as the processor single word write protocol is used for external
write requests, except when the ValidIn* signal is asserted instead of the ValidOut*
signal.
Figure 6.2.21 illustrates the timing of the external write request, which consists of
the following steps.
1.
The external agent requests use of the system interface by asserting ExtRqst*.
2.
The processor asserts Release*, then the system interface is released from the
processor and goes into the slave state.
3.
The external agent sends a write command to the SysCmd bus, and sends a write
address to the SysAD bus while asserting ValidIn*.
4.
The external agent sends data identifiers to the SysCmd bus, and sends data to
the SysAD bus while asserting ValidIn*.
5.
Data identifiers for this data cycle must contain an indication of a coherent or
non-coherent final data cycle.
6.
After a data cycle is issued, the write request is complete, the external agent sets
the SysCmd and SysAD busses to tri-state, then the system interface returns to
the master state. Timing of the SysADC bus and SysCmdP bus are each the same
as the SysAD bus and SysCmd bus, respectively.
External write requests can write only 1 word of data to the processor. Operation of
processors that have specified data elements other than a single word of data by an
external write request is not defined.
Master
Cycle
1
2
Slave
3
4
5
6
7
Addr
Data0
Master
8
9
10
11
Master Clock
SysAD Bus
6
SysCmd Bus
Write
NEOD
4
ValidOut*
5
3
Validln*
ExtRqst*
Release*
1
2
Figure 6.2.21 External Write Request when System Interface Starts in the Master State
6-21
12
Chapter 6 TX4955A System Interface
6.2.8.11 Read response protocol
The external agent must use the read response protocol to return data to the
processor if a processor read request has been received. The sequence of the read
response protocol is as follows.
1.
The external agent waits for the processor to automatically execute a shift into the
slave state.
2.
The external agent uses either a single data cycle or a series of data cycles to
return data.
3.
After issuing the final data cycle, the read response ends, then the external agent
sets the SysCmd and SysAD busses to tri-state.
4.
The system interface returns to the master state.
Note: After issuing a read response, the processor automatically shifts to the slave state.
5.
Data identifiers of a data cycle must indicate that the data are response data.
6.
Final data cycle identifiers must contain an indication that a cycle is the final data
cycle.
In the case of read responses to non-coherent block read requests, it is not
necessary for the response data to check the initial cache state. The cache state is
automatically set to exclusively dirty.
Data identifiers of data cycles can send notification of transfer data errors in those
cycles. The external agent must return data blocks with the correct size even
when there is an error in the data. Whether there is a single error or multiple
errors in the read response data cycles, the processor processes them as bus
errors.
Read responses must always be returned to the processor when a processor read
request is being held. Processor operation is not defined if a read response was
returned in a state where there were no processor read requests on hold.
Figure 6.2.22 illustrates a processor word read request and the subsequent word
read response. Also, Figure 6.2.23 illustrates the read response to a processor block
read request when the system interface is in the slave state.
Note: The SysADC bus and SysCmdP bus timing is the same as the SysAD bus and
SysCmd timing, respectively.
6-22
Chapter 6 TX4955A System Interface
Master
Cycle
1
2
Slave
3
4
5
6
7
Master
8
9
10
11
12
Master Clock
SysAD Bus
Addr
Data0
3
SysCmd Bus
Addr
4
NEOD
ValidOut*
2
6
ValidIn*
ExtRqst*
1
Release*
Figure 6.2.22 Processor Word Read Request and Subsequent Word Read Response
Master
Cycle
1
2
3
Slave
4
5
Master
6
7
8
9
Data0
Data1
Data2
Data3
10
11
Master Clock
SysAD Bus
Addr
3
SysCmd Bus
Addr
NData
ValidOut*
NData
2
NData
4
NEOD
5
6
ValidIn*
ExtRqst*
Release*
Figure 6.2.23 Block Read Response when System Interface is in the Slave State
6-23
12
Chapter 6 TX4955A System Interface
6.2.9
Data Transfer
The maximum data transfer rate of the system interface is 1 double word per cycle.
The external agent can select the data transfer rate to the processor. For example, it is
possible to transfer data and assert the ValidIn* signal just once for every n cycles instead
of at all cycles. The external agent can transfer data to the processor at the selected
transfer rate.
The processor interprets cycles as being valid when the ValidIn* signal is asserted and
the SysCmd bus includes the data identifier. After a cycle has been interpreted as valid, the
processor continues to accept data until a data word with an indication that it is the final
data word appears.
6.2.9.1
Data transfer pattern
The term “data pattern” in the case of block write operations, refers to a string of
text that indicates the “data” cycles repeated so that the appropriate data transfer
speed can be obtained and the “unused” cycles. Dxx data patterns indicate a repetition
data transfer rate where there is one double word in three cycles followed by two
unused cycles. The data transfer rate is set by G2Sconfig register(0xF FF10 0000).
Table 6.2.5 indicates the data transfer rate, data pattern, and setting.
Table 6.2.5 Data Transfer Rate, Data Pattern and Setting at Block write requests
Maximum Data Transfer Rate
6.2.9.2
Data Pattern
Setting Bit0
1 double word/3 Master Clock cycle
Dxx
0
1 double word/1 Master Clock cycle
D
1
Note: The setting Bit0 is bit0 of the G2Sconfig register (0xF FF10 0000).
Bit0 is set to “0” when initialized.
Independent transfer on SysAD bus
A majority of applications connect the processor and external agent interior (both
directions), and register format transceivers together in a point-to-point manner via
the SysAD bus. The only two SysAD bus drives available for such applications are the
processor and the external agent.
Depending on the application, it may be necessary to make additional connections
on the SysAD bus for drivers and receivers to transfer data using the SysAD bus
without involving the processor. Such transfers are referred to as independent
transfers. In order to perform independent transfers, the external agent must use
arbitration handshake signals and external null requests to properly tune SysAD bus
control.
Independent transfer is performed on the SysAD bus according to the following
steps.
1.
The external agent requests access to the SysAD bus in order to issue an external
request.
2.
The processor releases the system interface and puts it in the slave state.
3.
The external agent can independently transfer data using the SysAD bus.
However, the ValidIn* signal must be asserted during that transfer.
4.
When transfer is complete, the external agent must issue a system interface
release null request and return the system interface to the master state.
6-24
Chapter 6 TX4955A System Interface
6.2.10
System Interface cycle time
In the case of a processor, there is a response time for each kind of processor transaction
and for each external request. A minimum and maximum cycle count has been prescribed
for each response time. Since processor requests themselves are restrained by system
interface request protocols, checking the protocols makes it possible to determine the cycle
count required for requests. The interval for the next interface operation is variable within
the range of the minimum and maximum cycle counts.
•
Stand-by time from when an external request is received and the processor
releases the system interface, until when the interface enters the slave state
(release latency).
•
Response time to external request that requires a response (external response
latency).
6.2.10.1 Release latency
Broadly defined, release latency is the number of cycles for which it is possible to
wait from when the processor receives an external request until when the system
interface is released and shifts to the slave state. If there are no processor requests
currently in progress, the processor must delay release of the system interface for a
few cycles since it is internal operation. Therefore, if release latency is strictly defined,
it becomes the cycle count from when the ExtRqst* signal is asserted until when the
Release* signal is asserted.
There are three types of release latency.
•
Category 1: If external request signal is asserted 2 cycles before the final cycle
of the processor request
•
Category 2: If external request signal is asserted during processor request or
is the final cycle even if it is asserted
•
Category 3: If processor automatically shifts to the slave state
Table 6.2.6 indicates the minimum and maximum release latency inherent to categories
1, 2, and 3. However, note that these cycle counts may be changed at any time.
Table 6.2.6 Release Latency for External Requests
Category
Minimum cycle count
1
3
5
2
1
24
3
0
0
6-25
Maximum cycle count
Chapter 6 TX4955A System Interface
6.2.11
System Interface Command and Data Identifiers
System interface commands specify the type of system interface and its properties. This
specification is performed in the request address cycle. The system interface data
identifiers specify the properties of the data transferred during the system interface data
cycle.
Of the system interface commands and data identifiers used for external requests, set
the bits and fields that are reserved to “1.” In the case of system interface commands and
data identifiers used for processor requests, bits, field contents and data identifiers that are
reserved in the commands are undefined.
6.2.11.1 Syntax of commands and data identifiers
System interface commands and data identifiers consist of 9 bits. These commands are
sent by the SysCmd bus from the processor to the external agent or from the external agent
to the processor during either the address cycle or the data cycle. Bit 8 (MSB) of the
SysCmd bus specifies whether the SysCmd contents at that time are a command or a data
identifier (namely, whether the current cycle is an address cycle or a data cycle). If the
contents are a system interface command, then SysCmd(8) must be set to “0.” If the
contents are a system interface data identifier, then SysCmd(8) must be set to “1.”
6.2.11.2 Syntax of system interface commands
Following is an explanation of the SysCmd bus structure in the case of a system interface
command. Figure 6.2.24 illustrates the structure common to all system interface
commands.
8
0
7
5
4
0
Request type
Request specific
Figure 6.2.24 Syntax Bit Structure of System Interface Command
SysCmd(8) must always be set to “0” in the case of system interface commands.
SysCmd(7:5) specifies the type of system interface request (read, write, null). Table
6.2.7 indicates the SysCmd(7:5) specification method.
Table 6.2.7 SysCmd(7:5) Specification Method for System Interface Commands
SysCmd(7:5)
Command
0
Read request
1
Reserve
2
Write request
3
Null request
4∼7
Reserve
SysCmd(4:0) varies depending on the type of request. Each specification type is
indicated below.
6-26
Chapter 6 TX4955A System Interface
6.2.11.3 Read requests
Figure 6.2.25 illustrates the SysCmd format in the case of read requests.
8
7
54
0
0
000
Read request specific
Figure 6.2.25 Bit Definition of SysCmd Bus for Read Requests
Table 6.2.8, 6.2.9, and 6.2.10 indicate the methods for specifying SysCmd(4:0) for
read requests.
Table 6.2.8 Specification Method of SysCmd(4:3) for Read Requests
SysCmd(4:3)
0∼1
Read Properties
Reserved
2
Non-coherent block read
3
Word or partial word read
Table 6.2.9 Specification Method of SysCmd(2:0) for Block Read Requests
SysCmd(2)
Reserved
SysCmd(1:0)
Read Block Size
0
Reserved
1
8 words
2∼3
Reserved
Table 6.2.10 Data Size Expressed by SysCmd(2:0) for Double Word, Partial Double Word, Word or
Partial Word Read Requests
SysCmd(2:0)
Read Data Size
0
1 byte valid (byte)
1
2 bytes valid (half-word)
2
3 bytes valid (tri-byte)
3
4 bytes valid (word)
4
5 bytes valid (quinti-byte)
5
6 bytes valid (sexi-byte)
6
7 bytes valid (septi-byte)
7
8 bytes valid (double word)
Note: 6.10.4 of SysCmd(2:0) is only valid when in the 64-bit bus mode.
6-27
Chapter 6 TX4955A System Interface
6.2.11.4 Write requests
Figure 6.2.26 illustrates the SysCmd format for write requests.
Table 6.2.11 indicates the methods of specifying write properties using SysCmd(4:3).
Table 6.2.12 indicates the methods of specifying replacements properties using
SysCmd(2:0) for block write requests. Table 6.2.13 indicates the methods of specifying
the data size using SysCmd(2:0) for write requests.
8
7
54
0
0
010
Write request specific
Figure 6.2.26 SysCmd Bus Bit Specification for Write Requests
Table 6.2.11 Methods of Specifying SysCmd(4:3) for Write Requests
SysCmd(4:3)
Write Properties
0∼1
Reserved
2
Block write
3
Word or partial word write
Table 6.2.12 Specification Method of SysCmd(2:0) for Block Write Requests
SysCmd(2)
Reserved
SysCmd(1:0)
Write Block Size
0
Reserved
1
8 words
2∼3
Reserved
Table 6.2.13 Methods for Specifying SysCmd(2:0) for Word or Partial Word Write Requests
SysCmd(2:0)
Write Data Size
0
1 byte valid (byte)
1
2 bytes valid (half-word)
2
3 bytes valid (tri-byte)
3
4 bytes valid (word)
4
Reserved
5
Reserved
6
Reserved
7
Reserved
6-28
Chapter 6 TX4955A System Interface
6.2.11.5 Null requests
Figure 6.2.27 illustrates the SysCmd format in the case of read requests.
8
7
54
0
0
011
Null request specific
Figure 6.2.27 Bit Definition of the SysCmd Bus for Null Requests
Null request commands are always used for system interface release external null
requests. Table 6.2.14 indicates methods of specifying SysCmd(4:3) for system
interface release external null requests. SysCmd(2:0) is reserved for null requests.
Table 6.2.14 Method of Specifying SysCmd(4:3) for External Null Requests
SysCmd(4:3)
0
1∼3
Null Properties
Release system interface
Reserved
6.2.11.6 Syntax of system interface data identifiers
This section defines methods of specifying the SysCmd bus for system interface
identifiers. The bit structure illustrated in Figure 6.2.28 is common to all system
interface data identifiers.
8
7
Final
Data
0
Response
Data
5
Error
Data
4
Data
Check
3
0
Reserved
Figure 6.2.28 Bit Definition of the SysCmd Bus for Null Requests
SysCmd(8) must always be set to “1” for system interface data identifiers. System
interface data identifiers are in the non-coherent data format.
6.2.11.7 Non-coherent data
Non-coherent data are data such as the following.
•
Data that are the subject of a processor block write request or a processor
double word/partial double word/word/partial word write request.
•
Data that are returned to a processor non-coherent block read request or a
processor double word/
partial double word/word/partial word read request.
•
Data that are the subject of an external write request.
•
Data that are returned to an external read request as a response.
6-29
Chapter 6 TX4955A System Interface
6.2.11.8 Bit definition of data identifiers
In the case of processor or external coherent data identifiers and processor or
external non-coherent data identifiers, SysCmd(7) indicates that they are the final
data element, and SysCmd(6) indicates whether they are response data. Response
data are the data that are returned to a read request as a response.
SysCmd(5) indicates whether there is an error in a data element. Uncorrectable
errors are included in the error data. When such an error is returned to the processor,
a bus error is generated. If a primary parity error is detected in the data items to be
transferred, the processor deasserts the good data bits and sends data.
SysCmd(4) indicates to the processor whether the data bits and check bits of a data
element should be searched.
SysCmd(3) is reserved in the case of external data identifiers.
SysCmd(4:3) is reserved in the case of non-coherent processor data identifiers.
SysCmd(2:0) is reserved in the case of non-coherent data identifiers.
Table 6.2.15 indicates methods of specifying SysCmd(7:3) for processor data
identifiers. Table 6.2.16 indicates methods of specifying SysCmd(7:3) for external
data identifiers.
Table 6.2.15 Methods of Specifying SysCmd(7:3) for Processor Data Identifiers
SysCmd(7)
Final Data Element Indication
0
Final data element
1
Is not final data element
SysCmd(6)
Response Data Indication
0
Response data
1
Is not response data
SysCmd(5)
Good Data Indication
0
No errors
1
Is error data
SysCmd(4:3)
Reserved
Table 6.2.16 Method of Specifying SysCmd(7:3) for External Data Identifiers
SysCmd(7)
Final Data Element Indication
0
Final data element
1
Is not final data element
SysCmd(6)
Response Data Indication
0
Response data
1
Is not response data
SysCmd(5)
Good Data Indication
0
No errors
1
Is error data
SysCmd(4)
Enable Data Check
0
Check data bits and check bits
1
Do not check data bits and check bits
SysCmd(3)
Reserved
6-30
Chapter 6 TX4955A System Interface
6.2.12
System Interface Addresses
System interface addresses are complete 32-bit physical addresses. They are sent to the
lower 32 bits of the SysAD bus during the address cycle.
6.2.12.1 Addressing rules in the 32-bit bus mode
Addresses that are to be used in word or partial word transactions are arranged to
match the size of the data element. The following rules are used by this system.
6.2.13
•
Target addresses of the block request are aligned to the word boundaries. In
other words, the lower 2 bits of the address become “0”.
•
Word requests set the lower 2 bits of the address to “0”.
•
Half-word requests set the least significant bit of the address to “0”.
•
Byte requests and 3-byte requests use the byte address.
Mode Register of System Interface (G2Sconfig)
The Mode Register of System Interface ( G2Sconfig ) is a read/write register. This
register is only Word-Access.
Table 6.2.17 G2SConfig
Address
Field
Description
0xF_FF10_0000
G2Sconfig
Mode Register of System Interface
31
20 19
Reserved
Bit
4
3
TOut Val
Field
31..20

19..4
TOut Val
2
TOut Enable
1
Write mode
Description
ColdReset
0
Bit
Data rate
Read/Write
Reserved
Undefined
Read
Set Data of Read Time Out Counter
0x0: Generate Read Time Out Error
Other 0x0: Not generate Read Time Out Error
0xFFFF
Read/Write
3
TOut Enable
Enable bit of Read Time Out Counter
In case of MODE43* = H, Read Time Out Counter
does not work.
We recommend it to write 0 or the value of Read
data.
0
Read/Write
2..1
Write mode
Processor write protocols set
00: R4000 compatible write
01: Reserved
10: Pipeline write
11: Reissue write
00
Read/Write
0
Data rate
At the Block write data rate set
0: AWWWWWWWW
1: AWxxWxxWxxWxx
WxxWxxWxxWxx
0
Read/Write
Note1: When initialized Single write: ADxx (R4000 compatible)
Block write: ADDDD
Note2: In case of MODE43* = H, Read Time Out Counter does not work.
It can generate Read Time Out Error when wrote in 0x0 at TOut Val. It does not let a value of
TOut Enable affect it. Please write in a value except 0x0 at TOut Val.
Figure 6.2.29 G2Sconfig Register Formats
6-31
Chapter 6 TX4955A System Interface
6.2.14
Data Error Detection
The TX4955A internal system interface uses the following two methods to detect data
errors:
•
Indication of good data by data identifier SysCmd(5)
•
Determination by a check bit
6.2.14.1 Indication of good data by data identifier SysCmd(5)
This bit indicates whether data is good or not for all data. Therefore, in a block refill
transfer, for example, no matter in what number of data SysCmd(5) may have been set,
a bus error exception is always generated.
6.2.14.2 Determination by a check bit
When an error is detected by check bit determination, a bus error exception occurs.
Because this determination also is made for all data, no matter in what number of
data in a block refill transfer an error may have occurred, a bus error exception is
always generated.
6.2.14.3 Timing at which a bus error exception occurs
Indication of good data (SysCmd(5)): Two cycles after read data
Check bit error detection: Three cycles after read response data
6.2.14.4 Precautions
•
There is no means of identifying whether a bus error exception has been
generated by indication of good data or by check bit determination. Nor does
the TX49 core have a cache parity bit, but when a bus error exception occurs
during a block refill transfer, the cache line is referenced INVALID.
•
Regardless of whether a bus error exception has been generated by indication
of good data or by check bit determination during a block refill transfer, a
designated block size of data needs to be transferred.
6-32
Chapter 6 TX4955A System Interface
6.3
System Interface of TX4300 type protocol mode
In TX4955A, it is built in system interface function corresponding to TX4300 type protocol. A
selection of above-mentioned R5000 type protocol mode or TX4300 type protocol mode increases
by external pin (MODE43* : 117 pin).
MODE43* = 0: TX4300 type protocol
MODE43* = 1: R5000 type protocol
Note:
6.3.1
In TX4300 type protocol mode of TX4955A, there is not PReq signal. Therefore there is the
need that PReq terminal of an external agent is always fixed in "L" Level. And there is not a
function too to show that protocol errors were detected.
But search of protocol errors is possible when I have a counter built-in in TX4955A inside,
and there is not lead reply between constant time because it is established the function that
an exception generates bus error.
System Interface Description of TX4300 Type Protocol Mode
The TX4955A processor has a 32-bit address/data interface. The System interface
consists of:
•
32-bit address and data bus, SysAD
•
5-bit command bus, SysCmd
•
five handshake signals:
– EValid*,
EValid , PValid*
PValid
– EReq*
EReq
– PMaster*,
PMaster , EOK*
EOK
Table 6.3.1 System Interface Signals
(TX4300 type protocol mode is MODE43* = 0)
Signal
I/O
Function
SysAD (31:0)
I/O
Address and data transfer bus, multiplexed between the processor and an external agent.
SysCmd (4:0)
I/O
Used for command and data identifier transmission between the processor and an external agent.
SysCmd (8:5) / GND
O
When TX4300 type protocol mode, those pin output “L”.
SysADC (3:0) / GND
O
When TX4300 type protocol mode, those pin output “L”.
SysCmdP / GND
O
When TX4300 type protocol mode, this pin output “L”.
ValidIn* / EValid*
I
During the cycle it is asserted, EValid* indicates an external agent is driving a valid address or valid
data on the SysAD bus, and a valid command or data identifier on the SysCmd bus.
ValidOut* / PValid*
O
During the cycle it is asserted, PValid*, indicates the processor is driving a Valid address or Valid
data on the SysAD bus, and a valid command or data indentifier on the SysCmd bus.
ExtRqst* / Ereq*
I
Indicates an external agent is requesting System interface bus ownership.
Release* / PMaster
O
Indicates an external agent is capable of the system interface bus.
WrRdy* / EOK*
I
Indicates an external agent is capable of accepting a processor request.
RdRdy* / GND
O
When TX4300 type protocol mode this pin output “L”.
6-33
Chapter 6 TX4955A System Interface
Table 6.3.2 Pin Assign
(MODE43* = 0)
1
Vss
41
Vss
81
VccInt
121
SysAD28
2
BufSel1
42
TRST*
82
NMI*
122
SysAD29
3
JTDO
43
RdRdy* / GND
83
ExtRqst* / Ereq*
123
VccInt
4
JTDI
44
WrRdy* / EOK*
84
Reset*
124
Vss
5
JTCK
45
ValidIn* / Evalid*
85
ColdReset*
125
SysAD30
6
JTMS
46
ValidOut* / Pvalid*
86
VccIO
126
VccIO
7
VccIO
47
Release* / PMaster*
87
Endian
127
Vss
8
Vss
48
VccIO
88
VccIO
128
SysAD31
9
SysAD4
49
PLLReset*
89
Vss
129
SysADC2 / GND
10
SysAD5
50
VccInt
90
SysAD16
130
VccInt
11
VccInt
51
TintDis
91
VccInt
131
Vss
12
Vss
52
Vss
92
Vss
132
SysADC3 / GND
13
SysAD6
53
SysCmd0
93
SysAD17
133
VccIO
14
VccIO
54
SysCmd1
94
SysAD18
134
Vss
15
Vss
55
SysCmd2
95
VccIO
135
SysADC0 / GND
16
SysAD7
56
SysCmd3
96
Vss
136
VccInt
17
SysAD8
57
SysCmd4
97
SysAD19
137
Vss
18
VccInt
58
SysCmd5 / GND
98
VccInt
138
SysADC1 / GND
19
Vss
59
VccIO
99
Vss
139
SysAD0
20
SysAD9
60
Vss
10
SysAD20
140
VccIO
SysAD21
141
Vss
VccIO
142
SysAD1
21
VccIO
61
SysCmd6 / GND
10
22
Vss
62
SysCmd7 / GND
10
23
SysAD10
63
SysCmd8 / GND
10
Vss
143
SysAD2
24
SysAD11
64
SysCmdP / GND
10
SysAD22
144
VccInt
25
VccInt
65
VccInt
10
VccInt
145
Vss
26
Vss
66
Vss
10
Vss
146
SysAD3
27
SysAD12
67
VccIO
10
SysAD23
147
PCST8
28
VccIO
68
HALT/DOZE
10
SysAD24
148
PCST7
29
Vss
69
Int0*
10
VccIO
149
PCST6
30
SysAD13
70
Int1*
11
Vss
150
PCST5
31
SysAD14
71
Int2*
11
SysAD25
151
PCST4
32
VccInt
72
Int3*
11
VccInt
152
VccIO
33
Vss
73
Int4*
11
Vss
153
Vss
34
SysAD15
74
Int5*
11
SysAD26
154
VccIO
35
BufSel0
75
VccIO
11
SysAD27
155
VssPLL
36
PCST3
76
Vss
11
VccIO
156
PLLCAP
37
PCST2
77
TPC3
11
MODE43*
157
VccPLL
38
PCST1
78
TPC2
11
DivMode1
158
Vss
39
PCST0
79
TPC1
11
DivMode0
159
MasterClock
40
VccIO
80
DCLK
12
Vss
160
VccIO
Note: “*” means the signal is the low-active.
MODE43* = 0: TX4300 type
= 1: R5000 type
GND means out to Low level when MODE43* = 0
6-34
Chapter 6 TX4955A System Interface
6.3.2
System Events
System events include:
•
Fetch miss in the instruction cache
•
Load miss in the data cache
•
Store miss in the data cache
•
an uncached load or store
•
actions resulting from the execution of cache instructions
When a system event occurs, the processor issues a request or a series of requests
through the system interface to access some external resource to service that event. The
system interface must be connected to an external agent that coordinates access to system
resources.
Processor requests include both read and write requests:
•
a read request supplies an address to an external agent
•
a write request supplies an address and a word or block of data to be written to an
external agent
Processor read requests that have been issued, but for which data has not yet been
returned, are said to be pending. The processor will not issue another request while a read
is already pending. A processor read request is said to be complete after the last transfer of
response data has been received from an external agent. A processor write request is said
to be complete after the last word of data has been transmitted.
External requests include both read responses and write requests:
•
a read response supplies a block or single transfer of data from an external agent
in response to a read request
•
a write request supplies an address and a word of data to be written to a processor
resource
When an external agent receives a read request, it accesses the specified resource and
returns the requested data through a read response, which may be returned any time after
the read request and at any data rate.
By default, the processor is the master of the system interface. An external agent
becomes master of the system interface either through arbitration, or by default after a
processor read request. The external agent returns mastership to the processor after the
external request completes and/or after the processor read request has been serviced.
6.3.3
System Event Sequences and the SysAD Bus Protocol
The following sections detail the sequence and timing of processor and external requests.
Note: The following sections describe the SysAD bus protocol; the TX4955A processor always
meets the conditions of this protocol. The TX4955A processor is capable of receiving
sequences of transactions on the bus at full protocol speed and of receiving data on
every cycle. At a minimum, the design of external agents must meet the requirements of
this protocol, and would ideally take full advantage of the maximum speed of the
TX4955A processor.
6.3.3.1
Fetch Miss
When the processor misses in the instruction cache on a fetch, it obtains a cache line
of instructions from an external agent. The processor issues a read request for the
cache line and waits for an external agent to provide the data in response to this read
request.
6-35
Chapter 6 TX4955A System Interface
6.3.3.2
Load Miss
When the processor misses in the data cache on a load, it obtains a cache line of data
from an external agent. The processor issues a read request for the cache line and
waits for an external agent to provide the data in response to this read request. If the
cache data which the incoming line will replace contains valid dirty data, this data is
written to memory. The read completes before the write of the dirty cast-out data.
6.3.3.3
Store Miss
When the processor misses in the data cache on a store, it issues a read request to
bring a cache line of data into the cache, where it is then updated with the store data. If
the cache data which the incoming line will replace contains valid dirty data, the data
is written to memory. The read completes before the write of the dirty cast-out data.
To guarantee that cached data written by a store is consistent with main memory,
the corresponding cache line must be explicitly flushed from the cache using a cache
operation.
6.3.3.4
Uncached Load or Store
When the processor performs an uncached load, it issues a read request and waits
for a single transfer of read response data from an external agent.
When the processor performs an uncached store, it issues a write request and
provides a single transfer of data to the external agent.
The processor does not consolidate data on uncached writes. For example, writes of
two contiguous halfwords takes two write cycles, they are never grouped into a single
word write.
6.3.3.5
Cache Instructions
The TX4955A processor provides a number of cache instructions for use in
maintaining the state and contents of the caches. Cache operations supported in the
TX4955A processor are described in Chapter 5.
6.3.3.6
Byte Ordering (Endian)
The System interface byte order is set by the Endian of external pin. The byte order
is big-endian when Endian is high, and little-endian when Endian is low. The RE
(reverse-endian) bit in the Status register can be set by software to reverse the byte
order available in User mode.
6.3.3.7
Physical Addresses
Physical addresses are driven on SysAD (31:0) during address cycles.
6.3.3.8
Interface Buses
Figure 6.3.1 shows the primary communication paths for the System interface: a
32-bit address and data bus, SysAD (31:0),
(31:0) and a 5-bit command bus, SysCmd (4:0).
(4:0)
These SysAD and the SysCmd buses are bidirectional; that is, they are driven by the
processor to issue a processor request, and by the external agent to issue an external
request.
A request through the System interface consists of:
•
an address
•
a System interface command that specifies the precise nature of the request
•
a series of data elements if the request is for a write or read response.
6-36
Chapter 6 TX4955A System Interface
TX4955A
External Agent
SysAD (31:0)
SysCmd (4:0)
Figure 6.3.1 System Interface Buses
6.3.3.9
Address and Data Cycles
The SysCmd bus identifies the contents of the SysAD bus during any cycle in which
it is valid. Cycles in which the SysAD bus contains a valid address are called address
cycles. Cycles in which the SysAD bus contains valid data are called data cycles. The
most significant bit of the SysCmd bus is always used to indicate whether the current
cycle is an address cycle or a data cycle.
When the TX4955A processor is driving the SysAD and SysCmd buses, the System
interface is in master state. When the external agent is driving the SysAD and
SysCmd buses, the System interface is in slave state.
•
When the processor is master, it asserts the PValid*
PValid signal when the SysAD
and SysCmd buses are valid.
•
When the processor is slave, an external agent asserts the EValid*
EValid signal
when the SysAD and SysCmd buses are valid.
The SysCmd bus identifies the contents of the SysAD bus during valid cycles.
•
During address cycles [SysCmd
SysCmd (4) = 0], the remainder of the SysCmd bus,
SysCmd (3:0),
(3:0) contains a System interface command, described later in this
chapter.
•
During data cycles [SysCmd
SysCmd (4) = 1], the remainder of the SysCmd bus,
SysCmd (3:0),
(3:0) contains a data identifier, described later in this chapter.
6-37
Chapter 6 TX4955A System Interface
6.3.4
System Interface Protocols
Figure 6.3.2 shows the register-to-register operation of the System interface. That is,
processor outputs come directly from output registers and begin to change with the rising
edge of SClock.†
SClock
Processor inputs are fed directly to input registers that latch these input signals with the
rising edge of SClock.
SClock This allows the System interface to run at the highest possible clock
frequency.
TX4955A
Output data
Input data
SClock
Figure 6.3.2 System Interface Register-to-Register Operation
6.3.4.1
Master and Slave States
When the TX4955A processor is driving the SysAD and SysCmd buses, the System
interface is in master state. When the external agent is driving the SysAD and
SysCmd buses, the System interface is in slave state.
In master state, the processor asserts the signal PValid*
PValid whenever the SysAD and
SysCmd buses are valid.
In slave state, the external agent asserts the signal EValid*
EValid whenever the SysAD
and SysCmd buses are valid.
6.3.4.2
Moving from Master to Slave State
The processor is the default master of the system interface. An external agent
becomes master of the system interface through arbitration, or by default after a
processor read request. The external agent returns mastership to the processor after
an external request completes.
The System interface remains in master state unless one of the following occurs:
•
The external agent requests and is granted the System interface (external
arbitration).
•
The processor issues a read request (uncompelled change to slave state).
The following sections describe these two actions.
† SClock is an internal clock used by the processor to sample data at the System interface and to clock data into
the processor System interface output registers.
6-38
Chapter 6 TX4955A System Interface
6.3.4.3
External Arbitration
The System interface must be in slave state for the external agent to issue an
external request through the System interface. The transition from master state to
slave state is arbitrated by the processor using the System interface handshake
signals EReq*
EReq and PMaster*.
PMaster This transition is described by the following procedure:
6.3.4.4
1.
An external agent signals that it wishes to issue an external request by asserting
EReq*.
EReq
2.
When the processor is ready to accept an external request, it releases the System
interface from master to slave state by negating PMaster*.
PMaster
3.
The System interface returns to master state as soon as the issue of the external
request is complete.
Uncompelled Change to Slave State
An uncompelled change to slave state is the transition of the System interface from
master state to slave state, initiated by the processor itself when a processor read
request is pending. PMaster*
PMaster is negated automatically after a read request. An
uncompelled change to slave state occurs either during or some number of cycles after
the issue cycle of a read request.
The uncompelled release latency depends on the state of the cache. After an
uncompelled change to slave state, the processor returns to master state at the end of
the next external request. This can be a read response, or some other type of external
request.
An external agent must note that the processor has performed an uncompelled
change to slave state and begin driving the SysAD bus along with the SysCmd bus. As
long as the System interface is in slave state, the external agent can begin an external
request without arbitrating for the System interface; that is, without asserting EReq*.
EReq
After the external request, the System interface returns to master state.
6.3.4.5
Signal Timing
The System interface protocol describes the cycle-by-cycle signal transitions that
occur on the pins of the system interface to realize requests between the processor and
an external agent. Figure 6.3.3 shows the timing relationships between System
interface signal edges.
6-39
Chapter 6 TX4955A System Interface
SClock
tDO
tDH
tDS
SysAD
SysADC
SysCmd
SysCmdP
Valid output
Valid
Input
tDO
tDO
PValid*
PMaster*
tDS
tDH
EValid*, EReq*,
EOK*,
Int*, NMI*
Valid
Input
Note: These waveforms only describe edge-to-edge timing relationships.
Figure 6.3.3 System Interface Edge Timing Relationships
The Timing Summary section below describes the minimum and maximum timing
values of each signal. The sections that follow describe the timing requirements for various
bus cycles.
6.3.5
Timing Summary
In the following timing diagrams, gray-scale signals indicate values that are either
Unknown or Don’t Cares, within the specification limits. They may be any value as long
they do not violate any bus value or timing specification. The timing diagrams illustrate
cycles using the following signals:
PMaster*
PMaster
•
PMaster*
PMaster
•
EValid*
EValid
•
PValid*
PValid
•
EOK*
EOK
•
EReq*
EReq
(O)
SCycle
Indicates the processor is the master of the system interface bus.
A
B
C
SClock
SysAD
SysCmd
Proc Data
ExtAgent Data
Proc Cmd
ExtAgent Cmd
PMaster*
Figure 6.3.4 Sample Cycle with PMaster* Asserted, Then Deasserted
A
Processor drives SysAD and SysCmd buses (processor is master).
B
PMaster is deasserted. SysAD and SysCmd buses are set to a tri-state(no bus master).
C
External agent drives SysAD and SysCmd buses (external agent is master).
6-40
Chapter 6 TX4955A System Interface
A
SCycle
B
C
SClock
SysAD
ExtAgent Data
Proc Data
SysCmd
ExtAgent Cmd
Proc Cmd
PMaster*
Figure 6.3.5 Sample Cycle with PMaster* Asserted
A
External agent drives SysAD and SysCmd buses (external agent is master).
B
SysAD and SysCmd buses are set to a tri-state (no bus master).
C
PMaster*
PMaster is asserted. Processor drives SysAD and SysCmd buses (processor is master).
EValid*
EValid (I), PValid*
PValid (O)
During a cycle in which either signal is asserted, the signal
indicates a new valid address or valid data is on the SysAD bus, and
a new valid command or data identifier is on the SysCmd bus.
EValid*
EValid indicates an external agent is driving new SysAD and
SysCmd values. PValid*
PValid indicates the processor is driving new
SysAD and SysCmd values.
A
SCycle
SClock
SysAD
Data
SysCmd
Cmd
EValid or
PValid
Figure 6.3.6 Sample Cycle with PValid* and EValid*
A: New SysAD and SysCmd values.
Each cycle either of these signals remains asserted indicates there is a new SysAD and
SysCmd value.
SCycle
A
B
SClock
SysAD
SysCmd
Data
Data
Cmd
Cmd
EValid* or
PValid*
Figure 6.3.7 Sample Cycles with Multiple PValid* and EValid*
A
New SysAD and SysCmd value.
B
Another new SysAd and SysCmd value.
6-41
Chapter 6 TX4955A System Interface
EOK*
EOK
(I)
Indicates an external agent accepts a processor request. An external agent has
excepted the processor read/write command if and only if the following has
occurred:
A
EOK*
EOK is active.
B
The processor asserts PValid*
PValid and drives a read or write command. EOK*
EOK is asserted
and the external agent accepts the processor command.
Once the external agent has accepted a processor write command, the agent must be able
to accept the entire data size at the programmed data rate immediately following this
command.
The external agent may provide read response data to the processor at any rate.
Deasserting EOK may kill a processor read/write request in progress. If this occurs, the
external agent must ignore command and data from the processor in the following cycle.
A
SCycle
B
C
SClock
SysAD
Proc Address
SysCmd
Pro Cmd (Rd/Wr)
EOK*
PValid*
Figure 6.3.8 Sample Cycle with EOK* Asserted
SCycle
A
B
C
D
SClock
SysAD
Proc Address
Proc Data
SysCmd
Pro Cmd (Wr)
Data Cmd
EOK*
PValid*
Figure 6.3.9 Sample Cycle with EOK* Asserted, Then Deasserted
A
EOK*
EOK is active.
B
Processor asserts PValid*
PValid and drives a read or write command. EOK*
EOK is deasserted
(external agent has killed the processor’s command).
C
The external agent must ignore any SysAD and SysCmd data from the processor.
D
The external agent does not ignore any SysAD and SysCmd data from the processor.
6-42
Chapter 6 TX4955A System Interface
EReq*
EReq
(I)
A
Indicates an external agent is requesting bus ownership of the System interface.
To gain mastership of the bus, an external agent must arbitrate with the
processor as follows:
External agent asserts EReq*
B
Wait for PMaster* to be deasserted (1 to N cycles).
C
External agent drives SysAD and SysCmd buses. The external agent is guaranteed to
maintain mastership of the bus as long as EReq is asserted.
If at any time EReq*
EReq is deasserted, the external agent must go back to step A and
re-arbitrate for the bus.
SCycle
A
B
C
SClock
SysAD
ExtAgent Data
SysCmd
ExtAgent Cmd
EReq*
PMaster*
Figure 6.3.10 Sample Cycle with EReq* Asserted
From the time that EReq*
EReq is asserted, the external agent is guaranteed to gain
mastership of the bus after at most one processor request. However, if EOK*
EOK is being
deasserted, the external agent will gain mastership of the bus without having to accept any
processor requests.
The external agent relinquishes bus mastership by deasserting EReq*
EReq as shown below:
SCycle
A
B
C
SClock
SysAD
ExtAgent Data
Proc Data
SysCmd
ExtAgent Cmd
Data Cmd
EReq*
PMaster*
Figure 6.3.11 Sample Cycle with Deassertion of EReq*
A
External agent deasserts EReq*
EReq and external agent drives the bus.
B
Bus is set to a tristate.
C
Processor regains mastership of bus.
Except for a processor read request (see below), assertion of EReq*
EReq is the only way the
external agent gets and maintains bus mastership.
6-43
Chapter 6 TX4955A System Interface
A
SCycle
B
C
D
SClock
SysAD
SysCmd
Address
Data
Read Cmd
End of Data
PValid*
PMaster*
EOK*
EValid*
Figure 6.3.12 Sample Cycle with Assertion of EReq
A
Processor drives a valid read command and an external agent accepts it.
B
PMaster*
PMaster is deasserted and the bus is set to a tristate.
C
External agent drives last of requested data. During all cycles between B and C the
external agent is guaranteed mastership of the bus.
6-44
Chapter 6 TX4955A System Interface
6.3.6
Arbitration
The processor is the default master of the bus. It relinquishes ownership of the bus either
when an external agent requests and is granted the system interface, or until the processor
issues a read request. The transition from processor master to processor slave state is
arbitrated by the processor, using the System interface handshake signals EReq*
EReq and
PMaster*.
PMaster
When a processor read request is pending, the processor transitions to slave state by
deasserting PMaster*,
PMaster allowing an external agent to return the read response data. The
processor remains in slave state until the external agent issues an End Of Data read
response, whereupon the processor reassumes mastership, signalled by the assertion of
PMaster*.
PMaster Note that an external agent is able to retain mastership of the bus after an End
Of Data read response if the external agent arbitrates for mastership using EReq*.
EReq
When the processor is master, an external agent acquires control of the system interface
by asserting EReq*,
EReq and waiting for the processor to deassert PMaster*.
PMaster The processor is
ready to enter slave state when it deasserts PMaster*.
PMaster The external agent must go through
a three-step arbitration process (see the EReq*
EReq cycle in the Timing Summary) before
driving the bus. Once the external agent has become master through EReq*
EReq arbitration, it
can remain master as long as it continues to assert EReq*.
EReq The System interface returns to
master state (with the processor driving the bus) two cycles after EReq*
EReq is deasserted.
Figure 6.3.13 illustrates an arbitration for external requests.
SCycle
1
2
3
4
5
6
7
8
9
10
11
12
SClock
External agent data
SysAD
SysCmd
External agent command
EReq*
PMaster*
Figure 6.3.13 External Request Arbitration
When an external agent is master, it may always respond to a read with data. If the
external agent has become master by EReq*,
EReq it may issue transactions at will; that is, the
processor must always accept any command or data on the bus at any time. There is no
means for the processor to hold off the external agent once the external agent is master.
If the processor is in slave state and needs the bus,wait untile the external agent EReq*
deasserted. Thereafter, when the processor sees EReq*
EReq deasserted, it resumes bus
ownership, asserts the PMaster*
PMaster line, and issues its own command. The processor becomes
master and drives the bus two cycles after EReq*
EReq is deasserted.
An illustration of a processor request for bus mastership and the release of the bus by the
external agent is illustrated in Figure 6.3.14.
6-45
Chapter 6 TX4955A System Interface
1
SCycle
2
3
4
5
6
7
8
9
10
11
12
SClock
SysAD
External
agent data
SysCmd
External
agent command
Processor address/data
Processor command
PMaster*
EReq*
EOK*
Figure 6.3.14 Processor Request For Bus Arbitration And External Agent Release
Upon assertion of Reset*
Reset or ColdReset*,
ColdReset the processor becomes bus master and the
external agent must become slave.
This protocol guarantees that either the processor or an external agent is always bus
master. The master should never tristate the bus, except when giving up ownership of the
bus under the rules of the protocol.
6.3.7
Issuing Commands
When the processor is master of the bus and wishes to issue a command, it cannot
successfully issue the command until the external agent signals that it is ready to accept it.
This readiness is indicated by assertion of the EOK*
EOK signal. Being master, the processor
may place the command on the bus and continually reissue it while waiting for EOK*
EOK to be
asserted; however, the command is not considered issued until EOK*
EOK has been asserted for
two consecutive cycle (see the Timing Summary for EOK*
EOK earlier in this chapter).
If the EOK*
EOK signal is asserted in one cycle and then deasserted in the next, during which
time a command is issued, that command is considered killed and must be retried. When a
command is killed in this way, the processor begins to execute the read/write command.
This action must be ignored by the external agent. If a write command is killed, the data
cycle following this killed transaction must be ignored. If a read is killed, the processor
releases the bus one cycle after and (assuming no EReq*)
EReq regains mastership two cycles
later. This allows the processor to retry the transaction.
6.3.8
Processor Write Request
A processor write request is issued by the following:
•
driving a write command on the SysCmd bus
•
driving a write address on the SysAD bus
•
asserting PValid*
PValid for one cycle
•
driving the appropriate number of data identifiers on the SysCmd bus
•
driving data on the SysAD bus
•
asserting PValid*
PValid
6-46
Chapter 6 TX4955A System Interface
For 1-to 4-byte writes, a single data cycle is used. 5-, 6- and 7-byte writes are broken up
into two address/data transactions; one 4 bytes in size, the next handling the remaining 1,
2, or 3 bytes.
For all transactions larger than 7 bytes (e.g. 8, 16, 32), 4 bytes are sent on each data cycle
until the appropriate number of bytes has been transferred. The final data cycle is tagged as
end of data (EOD) on the command bus.
To be fully compliant with all implementations of this protocol, an external agent should
be able to receive write data over any number of cycles with any number of idle cycles
between any two data cycles. However, for the TX4955A processor implementation, data
begins to arrive on the cycle immediately following the write issue cycle, and continues to
arrive at a programed data rate thereafter. The processor drives data at the rate specified
by the data rate configuration signals (see the section describing Data Rate Control, later
in this chapter).
Writes may be cancelled and retried with the EOK*
EOK signal (see the section earlier,
Issuing Commands).
Figure 6.3.15 illustrates the bus transactions for a 4-word data cache block store.
SCycle
1
2
3
4
5
6
7
8
9
10
11
12
SClock
SysAD
Addr Data 0 Data 1 Data 2 Data 3
SysCmd
Write Data
Data
Data
EOD
PValid*
PMaster*
EOK*
Figure 6.3.15 Processor Block Write Request With D Data Rate
Figure 6.3.16 illustrates a write request which is cancelled by the deassertion of EOK*
EOK
during the address cycle of the second write, and which is retried when EOK*
EOK is asserted
again.
SCycle
1
2
3
4
5
6
7
8
9
10
11
12
SClock
SysAD
Addr 0 Data 0 Addr 1 Data 1
Addr 1
Data 1
SysCmd
Write EOD Write EOD
Write
EOD
PValid*
PMaster*
EOK*
Figure 6.3.16 Processor Single Write Request Followed By A Cancelled And Retried Write Request
6-47
Chapter 6 TX4955A System Interface
6.3.9
Processor Read Request
A processor read request is issued by the following:
•
driving a read command on the SysCmd bus
•
driving a read address on the SysAD bus
•
asserting PValid*
PValid
Only one processor read request may be pending at a time. The processor must wait for
an external read response before starting a subsequent read.
The processor moves to slave state after the issue cycle of the read request, by
deasserting the PMaster*
PMaster signal. An external agent may then return the requested data
through a read response. The external agent, which is now bus master, may issue any
number of writes before sending the read response data.
An example of a processor read request and an uncompelled change to slave state
occurring as the read request is issued is illustrated in Figure 6.3.17.
1
SCycle
2
3
4
5
6
7
8
9
10
11
12
SClock
SysAD
Addr
SysCmd
Read
PValid*
PMaster*
EOK*
Figure 6.3.17 Processor Read Request
The TX4955A support the Read Time Out Function. This Function is when the retern
data wait but the time out counter. See chapter 6.3.20 Mode Register of System Interface
(G2SConfig).
6.3.10
External Write Request
External write requests are similar to a processor single write except that the signal
EValid is asserted instead of the signal PValid*.
PValid An external write request consists of the
following:
•
an external agent driving a write command on the SysCmd bus and a write
address on the SysAD bus
•
asserting EValid*
EValid for one cycle
•
driving a data identifier on the SysCmd bus and data on the SysAD bus
•
asserting EValid*
EValid for one cycle.
The data identifier associated with the data cycle must contain a last data cycle
indication. Note that the external agent must gain and maintain bus mastership during
these transactions (see EReq*
EReq in the Timing Summary, earlier in this chapter).
An external write request example with the processor initially in master state is
illustrated in Figure 6.3.18.
6-48
Chapter 6 TX4955A System Interface
6
7
SysAD
Addr
Data
SysCmd
Write EOD
SCycle
1
2
3
4
5
8
9
10
11
12
SClock
PValid*
PMaster*
EValid*
EReq*
Figure 6.3.18 External Write Request
An example of a read response for a processor single word read request that is
interrupted by an external agent write request is illustrated in Figure 6.3.22. External
writes can not occur in the middle of a data response block; they can, however, occur before
the first data response of the data block or after the last EOD response, but it can not occur
between them.
Note: The only writable resources are processor interrupts. An external write to any
address is treated as a write to the processor interrupts.
6-49
Chapter 6 TX4955A System Interface
6.3.11
External Read Response
An external agent returns data to the processor in response to a processor read request
by waiting for the processor to move to slave state. The external agent then returns the
data through either a single data cycle or a series of data cycles sufficient to transmit the
requested data. After the last data cycle is issued, the read response is complete and the
processor becomes master (assuming EReq*
EReq was not asserted).
If, at the end of the read response cycles, EReq*
EReq has been asserted, the processor remains
in slave state until the external agent relinquishes the bus. When the processor is in slave
state and needs access to the SysAD bus, it waits until EReq*
EReq is deasserted.
The data identifier associated with a data cycle may indicate that the data transmitted
during that cycle is erroneous; however, an external agent must return a block of data of
the correct size regardless of this erroneous data cycle indication. If a read response
includes one or more erroneous data cycles, the processor takes a bus error.
Read response data must only be delivered to the processor when a processor read
request is pending. The state of the processor is undefined if a read response is presented to
it when no processor read is pending.
An example of a processor single read request followed by a read response is illustrated
in Figure 6.3.19.
SCycle
1
2
3
4
5
6
7
8
9
11
10
12
SClock
SysAD
Addr
Data
SysCmd
Read
EOD
PValid
PMaster
EOK
EValid
Figure 6.3.19 Single Read Request Followed By Read Response
A read response example for a processor block read with the system interface already in
slave state is illustrated in Figure 6.3.20.
SCycle
1
2
3
4
5
6
7
8
9
10
11
12
SClock
SysAD
SysCmd
Data 0 Data 1 Data 2 Data 3
Data
Data
Data
EOD
PValid*
PMaster*
EValid*
Figure 6.3.20 Block Read Response, System Interface Already In Slave State
6-50
Chapter 6 TX4955A System Interface
A read response example for a processor single read request followed by an external
agent write request is illustrated in Figure 6.3.21.
SCycle
1
2
3
4
5
6
7
8
Data
9
10
11
12
SClock
SysAD
Addr
Data
Addr
SysCmd
Read
EOD
Write EOD
PValid*
PMaster*
EOK*
EValid*
EReq*
Figure 6.3.21 Single Read Request Followed By External Write Request
(External Agent Keeps Bus)
An example of a read response for a processor single word read request that is
interrupted by an external agent write request is illustrated in Figure 6.3.22. Cycle 5 is the
data for the external write request in cycle 4. Cycle 7 is the read response data.
SCycle
1
2
3
4
5
6
7
8
9
10
11
12
SClock
SysAD
Addr
Addr
Data
Data
SysCmd
Read
Write EOD
EOD
PValid*
PMaster*
EOK*
EValid*
Figure 6.3.22 External Write Followed By External Read Response, System Interface In Slave State
6-51
Chapter 6 TX4955A System Interface
6.3.12
Flow Control
EOK*
EOK may be used by an external agent to control the flow of processor read and write
requests; while EOK*
EOK is deasserted the processor will repeat the current address cycle until
an external agent signals it is ready, by asserting EOK*.
EOK There is a one cycle delay from the
assertion of EOK*
EOK to the state in which the Read/Write command becomes valid. EOK*
EOK
must be asserted for two consecutive cycles for the command issue completion. Examples of
EOK*
EOK use are given in Figure 6.3.23 and 6.3.24.
SCycle
1
2
3
4
5
6
7
8
9
10
11
12
10
11
12
SClock
SysAD
Addr
SysCmd
Read
PValid*
PMaster*
EOK*
Figure 6.3.23 Delayed Processor Read Request
SCycle
1
2
3
4
5
6
7
8
9
SClock
SysAD
Addr0 Data
Addr1
Data
SysCmd
Write EOD
Write
EOD
PValid*
PMaster*
EOK*
Figure 6.3.24 Two Processor Write Requests, Second Write Delayed
6-52
Chapter 6 TX4955A System Interface
6.3.13
Data Rate Control
The System interface supports a maximum data rate of one word per cycle, and an external
agent may deliver data to the processor at this maximum data rate. The rate at which data
is delivered to the processor can be controlled by the external agent by driving data and
asserting EValid*
EValid only when it wants data to be available.
The processor interprets cycles as valid data cycles when EValid*
EValid is asserted and the
SysCmd bus contains a data identifier. The processor continues to accept data until the end
of data (EOD) indicator is received.
The rate at which the processor transmits data to an external agent is programmed in
the WBRATE field in G2S Config register. Data patterns are specified using the letters D
and x (D
D indicates a data cycle and x indicates an unused, or idle, cycle). A data pattern is
specified as a sequence of data and unused cycles that will be repeated to provide the
appropriate number of data cycles for a given transfer. For example, a data pattern of
DDxx indicates a data rate of two words every four cycles.
TX4955A supports two data rates, D and Dxx.
Dxx During a cycle indicated by an x, the
processor continues to hold the same data as the previous cycle.
A processor block write request for two words with Dxx pattern is illustrated in Figure
6.3.25; this transaction results from a store doubleword instruction.
SCycle
1
2
3
4
5
6
7
8
9
10
11
SClock
SysAD
Addr Data 0 Data 0 Data 0 Data 1 Data 1 Data 1
SysCmd
Write Data
EOD
PValid*
PMaster*
EOK*
Figure 6.3.25 Processor Block Write Request With Dxx Data Rate
6-53
12
Chapter 6 TX4955A System Interface
6.3.14
Consecutive SysAD Bus Transactions
The following figures (Figure 6.3.26 to 6.3.29) illustrate the minimum cycles required
between consecutive bus transactions.
SCycle
1
2
3
4
5
6
7
8
9
11
10
SClock
SysAD
Addr0
Data
Addr1 Data 0 Data 1
SysCmd
Read
EOD
Write Data
EOD
PValid*
PMaster*
EOK*
EValid*
Figure 6.3.26 Processor Single Word Read Followed By Block Write Request
SCycle
1
2
3
4
5
6
7
8
9
10
11
12
SClock
SysAD
Addr0 Data Addr1 Data Addr2 Data
SysCmd
Write EOD Write EOD Write EOD
PValid*
PMaster*
EOK*
Figure 6.3.27 Consecutive Processor Single Word Write Requests With D Data Rate
SCycle
1
2
3
4
5
6
7
8
9
10
Data
Data
11
12
SClock
SysAD
Addr0 Data
SysCmd
Write EOD
Data
Data Addr1 Data
Write EOD
PValid*
PMaster*
EOK*
Figure 6.3.28 Consecutive Processor Single Word Write Requests With Dxx Data Rate
6-54
Chapter 6 TX4955A System Interface
SCycle
1
2
3
4
5
6
7
8
9
10
11
SClock
SysAD
Addr0 Data Addr1 Data
Addr
Data
SysCmd
Write
Write
EOD
EOD Write
EOD
PValid*
PMaster*
EOK*
EValid*
EReq*
Figure 6.3.29 Consecutive Processor Write Requests Followed By External Write Request
Block Read Maximum Rate
Maximum block reads can occur with the following data rate:
AxD...DxAxD...D (1 cycle between D and A)
where A is the address, D is data (four words, or DDDD, in the data cache miss, and 8
words, or DDDDDDDD, in an instruction cache miss), and x is an idle cycle.
Back-to-Back Instruction Cache Misses
With a PClock to SClock ratio of 2:1, back-to-back instruction cache misses can be refilled
with the following data rate:
AxDDDDDDDDxxxAxDDDDDDDD (3 cycles between D and A)
That is, the address is followed by an idle cycle, the instruction is executed, three idle
cycles occur, followed by the next address. This pattern is valid for the case in which two
sequential instructions miss in the instruction cache, each instruction residing on a
different cache line.
Running completely in uncached space (every instruction is uncached and a cache miss)
results in a similar data pattern:
AxDxxxAxD (3 cycles between D and A)
Back-to-Back Uncached Loads
With a PClock to SClock ratio of 2:1, back-to-back uncached doubleword loads have the
following data rate:
AxDDxxxAxDD (3 cycles between D and A)
That is, the address is followed by an idle cycle, a doubleword of data, three idle cycles,
and the next address.
Back-to-back uncached word loads have the following data rate:
AxDxxxAxD (3 cycles between D and A)
6-55
Chapter 6 TX4955A System Interface
6.3.15
Starvation and Deadlock Avoidance.
Careful use of the EReq*
EReq signal allows a system to avoid starvation and deadlock
situations.
Whenever an external agent needs the bus, it can request the bus by asserting EReq*.
EReq
The external agent is guaranteed to gain mastership of the bus after accepting at most one
read/write request from the processor. If the external agent also deasserts EOK*, it is
guaranteed to gain mastership of the bus without accepting any read/write request from
the processor.
The external agent can allow the processor to gain bus mastership, perform one
read/write request and then relinquish mastership by the following sequence of actions:
1.
deassert EReq*
2.
assert EReq*
3.
arbitrate for the bus while asserting EOK*
EOK
The minimum deassertion of EReq*
EReq can be one cycle in length.
shows an external agent relinquishing the bus to allow a single read/write request from
the processor. The external agent must be ready to accept this request by keeping EOK*
EOK
asserted, otherwise the read/write request is held off or killed and the processor
relinquishes bus mastership without extending a request. This could lead to starvation of
the processor.
SCycle
1
2
3
4
5
6
7
8
9
10
11
SClock
SysAD
Addr
SysCmd
Write
Data 0 Data 1
Data
EOD
PMaster*
EReq*
EOK*
PValid*
Figure 6.3.30 External Agent Gives Up Bus for One Processor Request
6.3.16
Discarding and Re-Executing Read Command
Figure 6.3.31 illustrates how a processor single read request is discarded and reexecuted.
The following sequence describes the protocol.
•
Because the EOK*
EOK signal is low in cycle 5, the processor tries to issue an address
(cycle 6).
•
If the EOK*
EOK signal is high at this point, the processor discards this read request
and enters the slave status in the next cycle.
•
Because the EReq*
EReq signal is inactive, the processor returns to the master status
again and reissues a read request. Because the EOK*
EOK signal is low in both the
cycles 7 and 8, the issuance cycle of the read request is determined.
•
The external agent outputs data at the requsted address.
6-56
Chapter 6 TX4955A System Interface
SCycle
1
2
3
4
5
6
7
8
9
10
11
12
SClock
SysAD(31:0)
Addr
SysCmd(4:0)
Read
Hi-Z
Hi-Z
Addr
Data
Hi-Z
Hi-Z
Data
EOD
Hi-Z
Hi-Z
PMaster*
EReq*
EOK*
PValid*
EValid*
Figure 6.3.31 Discarding and Re-executing Processor Single Read Request
6.3.17
Multiple Drivers on the SysAD Bus
In most applications, the SysAD bus is a point-to-point connection between the processor
and a bidirectional, registered transceiver located in an external agent. In this application,
the SysAD bus has two possible drivers: the processor and the external agent.
However, an application may add additional drivers and receivers to the SysAD bus,
allowing transmissions over the SysAD bus that bypass the processor. To accomplish this,
the external agent(s) must coordinate its use of the SysAD bus by using arbitration
handshake signals such as EReq*
EReq and PMaster*.
PMaster
To implement an independent transmission on the SysAD bus that does not involve the
processor, the system executes the following sequence of actions:
1. The external agent(s) requests the SysAD bus by asserting EReq*.
EReq
2. The processor releases the System interface to slave state.
3. The external agent(s) allows independent transmission over the SysAD bus,
making certain the EValid*
EValid input to the processor is not asserted while the
transmission occurs.
4. When the transmission is complete, the external agent(s) deasserts EReq*
EReq to
return the system interface to master state.
To implement multiple drivers, separate Valid lines are required for non-processor chips
to communicate.
6-57
Chapter 6 TX4955A System Interface
6.3.18
Signal Codes
System interface commands and data identifiers are encoded in five bits on the SysCmd
bus and transmitted between the processor and external agent during address and data
cycles.
•
When SysCmd (4) is a 0, the current cycle is an address cycle and SysCmd (3:0)
contains a command.
•
When SysCmd (4) is a 1, the current cycle is a data cycle and SysCmd (3:0)
identifies data.
For commands and data identifiers associated with external requests, all bits and fields
have a value or a suggested value.
For System interface commands and data identifiers associated with processor requests,
reserved bits and reserved fields in the command or data identifier are undefined, except
where noted.
For all System interface commands, the SysCmd bus specifies the system interface
request type. The encoding of SysCmd (4) for system interface commands is Table 6.3.3.
Table 6.3.3 Encoding of System Interface Commands in SysCmd (4)
SysCmd(4)
Command
0
Address Cycle
1
Data Cycle
For address requests, the remainder of the SysCmd bus specifies the attributes of the
address request, as follows:
•
SysCmd (3) encodes the address request type.
•
SysCmd (2:0) indicates the size of the address requests.
The encoding of SysCmd (3:2) for address requests is shown in Table 6.3.4.
Table 6.3.4 Encoding of SysCmd(3) and SysCmd(2) for Address Cycle
SysCmd (3)
Command
SysCmd (2) Request Size
0
Read Request
0
Single data
1
Write Request
1
Block data
Note:TX4955A support only External Single data write request.
The encoding of SysCmd (1:0) for block or single address requests is shown in Table 6.3.5
and 6.3.6, respectively.
Table 6.3.5 Encoding of SysCmd (1:0) for Block Address Requests
SysCmd (1:0)
Block Size
0
Reserved.
1
Four words(only Data cache).
2
Eight worde.
3
Reserved.
6-58
Chapter 6 TX4955A System Interface
Table 6.3.6 Encoding of SysCmd (1:0) for Single Address Requests
SysCmd (1:0)
Data size.
0
One byte valid (byte)
1
Two bytes valid (halfword).
2
Three bytes valid (tribyte).
3
Four bytes valid (single word)
The encoding of SysCmd (3:0) for processor data identifiers is described in Table 6.3.7.
The encoding of SysCmd (3:0) for external data identifiers is illustrated in Table 6.3.8.
Table 6.3.7 Encoding of SysCmd(3:0) for Processor Data Identifiers
SysCmd (3)
0
1
Last Data Element Indication
Last data element
Not the last data element
SysCmd (2)
Reserved
SysCmd (1)
Reserved for: Good Data Indication
Processor drives 0
(Data is error free)
SysCmd (0)
Reserved for: Data Checking Enable
Processor drives 1
(Disable data checking)
Table 6.3.8 Encoding of SysCmd(3:0) for External Data Identifiers
SysCmd (3)
Last Data Element Indication
0
Last data element
1
Not the last data element
SysCmd (2)
Response Data Indication
0
Data is response data
1
Data is not response data
SysCmd (1)
Reserved for: Good Data Indication
0
Data is error free
1
Data is erroneous
SysCmd (0)
Reserved for: Data Checking Enable
Processor ignores this field (Suggested drive of 1,
disable data checking)
Note: External read requests for processor resources are not supported in the TX4955A processor.
6-59
Chapter 6 TX4955A System Interface
6.3.19
Physical Addresses
Physical addresses are driven on all 32 bits (bits 31 through 0) of the SysAD bus during
address cycles. Addresses associated with single read and write requests are aligned for the
size of the data element; specifically, for single word requests, the low order two bits of the
address are zero, for halfword requests, the low order bit of the address is zero. For byte
and tribyte requests, the address provided is a byte address.
External agents returning read response data must support subblock ordering.
Addresses associated with block read requests are aligned to the word of the desired data.
The order in which data is returned in response to a processor block read request is:
•
the word containing the addressed data word is returned first
•
the remaining word(s) in the block are returned next, sequentially
Block writes are always block aligned
6.3.20
Mode Register of System Interface (G2SConfig)
The Mode Register of System Interface (G2SCofig) is a read/write register.
This register extend from TX4300.
This register is only WORD-Access.
Table 6.3.9 G2SConfig
Address
Field
Desctiption
0xF_FF10_0000
G2SConfig
Mode Register of System Interface
31
20
19
4
Reserved=0
TOutVal
3
2
1
0
TOut Enable
Reserved=0
BURST8
WBRATE
Figure 6.3.32 G2SConfig Register Format
Table 6.3.10 G2SConfig Register Formats (MODE43* = 0)
Bit
Field
Description
ColdReset
read/write
31~20

Undefined
read
19~4
TOutVal
Set Data of Read Time Out Counter
0xFFFF
read/write
3
TOutEnable
Enable bit of Read Time Out Counter
0: Disable
1: Enable
0
read/write
Reserved
2

1
BURST8
Data Formats at 8-word burst write
0: Double burst mode 4 words × 2
0
WBRATE
Set bit of Data Out Formats
0: Every cycle Data Out
1: 4-word Data Out per 12 cycles
Reserved
Undefined
0
read/write
0
read/write
1: Single burst mode 8 words
6-60
Chapter 6 TX4955A System Interface
6.3.21
Read Time Out Counter (MODE43* = 0)
This counter is used to detect time-out when data is not returned during read.
The counter normally is set by loading the G2SConfig register’s TOutVal as its
initial value. When one of the conditions below is met, the counter counts down
one every bus cycle and upon reaching the terminal count of 0, generates a time-out
signal and asserts a bus error signal for one cycle before entering an idle state. If none of
the following conditions is met, the value of TOutVal is reloaded into the counter.
• TOutEnable = 1
• Waiting for data
Note1: For TX4955A, Read Time Out Counter does not work when MODE43* = 1.
When the Read Time Out Counter functions is used, the value of the more than which
added 24 the twice of the wait cycle of the main memory must be set to the TOutVal field.
Note2: Read Time Out Error occurs by writing 0x0 into TOutVal while Read Time Out Counter is
disable.
So TOutVal must be set except for 0x0.
6-61
Chapter 6 TX4955A System Interface
6-62
Chapter 7 JTAG Interface
Chapter 7.
JTAG Interface
The TX4955A processor provides a boundary-scan interface that is compatible with Joint Test
Action Group (JTAG) specifications, using the industry-standard JTAG protocol (IEEE Standard
1149.1/D6).
This chapter describes that interface, including descriptions of boundary scanning, the pins and
signals used by the interface, and the Test Access Port (TAP).
7.1
What Boundary Scanning Is
With the evolution of ever-denser integrated circuits (ICs), surface-mounted devices,
double-sided component mounting on printed-circuit boards (PCBs), and buried vias, in-circuit
tests that depend upon making physical contact with internal board and chip connections have
become more and more difficult to use. The greater complexity of ICs has also meant that tests
to fully exercise these chips have become much larger and more difficult to write.
One solution to this difficulty has been the development of boundary-scan circuits. A
boundary-scan circuit is a series of shift register cells placed between each pin and the internal
circuitry of the IC to which the pin is connected, as shown in Figure 7.1.1. Normally, these
boundary-scan cells are bypassed; when the IC enters test mode, however, the scan cells can be
directed by the test program to pass data along the shift register path and perform various
diagnostic tests. To accomplish this, the tests use the four signals described in the next section:
JTDI,
JTDI JTDO,
JTDO JTMS,
JTMS JTCK,
JTCK, and TRST*.
TRST
Integrated Circuit
C package pin
Boundary-scan cells
Figure 7.1.1 JTAG Boundary-scan Cells
7-1
Chapter 7 JTAG Interface
7.2
Signal Summary
The JTAG interface signals are listed below and shown in Figure 7.2.1.
•
JTDI
JTAG serial data in
•
JTDO
JTAG serial data out
•
JTMS
JTAG test mode select
•
JTCK
JTAG serial clock input
•
TRST
JTAG test reset input
31
0
Device Identification register
7
0
Instruction register
JTDI pin
0
JTD0 pin
TAP Controller
Bypass register
JTMS pin
86
0
JTCK pin
Boundary-scan register
TRST* pin
Figure 7.2.1 JTAG Interface Signals and Registers
The JTAG boundary-scan mechanism (referred to in this chapter as JTAG mechanism)
allows testing of the connections between the processor, the printed circuit board to which it is
attached, and the other components on the circuit board.
The JTAG mechanism does not provide any capability for testing the processor itself.
7-2
Chapter 7 JTAG Interface
7.3
JTAG Controller and Registers
The processor contains the following JTAG controller and registers:
•
Instruction register
•
Boundary-scan register
•
Bypass register
•
ID Code register
•
Test Access Port (TAP) controller
The processor executes the standard JTAG EXTEST operation associated with External Test
functionality testing.
The basic operation of JTAG is for the TAP controller state machine to monitor the JTMS
input signal. When it occurs, the TAP controller determines the test functionality to be
implemented. This includes either loading the JTAG instruction register (IR), or beginning a
serial data scan through a data register (DR), listed in Table 8-1. As the data is scanned in, the
state of the JTMS pin signals each new data word, and indicates the end of the data stream.
The data register to be selected is determined by the contents of the Instruction register.
7.3.1
Instruction Register
The JTAG Instruction register includes eight shift register-based cells; this register is
used to select the test to be performed and/or the test data register to be accessed. As listed
in Table 7.3.1, this encoding selects either the Boundary-scan register or the Bypass
register or Device Identification register.
Table 7.3.1 JTAG Instruction Register Bit Encoding
Instruction Code
(MSB → LSB)
Instruction
Selected Data Register
00000000
EXTEST
Boundary Scan Register
00000001
SAMPLE/PRELOAD
Boundary Scan Register
00000010
Reserved
Reserved
00000011
IDCODE
Device Identification register
00000100 ~ 01111111
Reserved
Reserved
10000000 ~ 11111110
Debug Support Unit
Please refer DSU section
11111111
BYPASS
Bypass register
Figure 7.3.1 shows the format of the Instruction register
7
6
5
4
3
2
1
MSB
0
LSB
Figure 7.3.1 Instruction Register
The instruction code is shifted out to the Instruction register from the LSB.
MSB
LSB
JTDI
JTDO
Figure 7.3.2 Instruction Register Shift Direction
7-3
Chapter 7 JTAG Interface
7.3.2
Bypass Register
The Bypass register is 1 bit wide. When the TAP controller is in the Shift-DR (Bypass)
state, the data on the JTDI pin is shifted into the Bypass register, and the Bypass register
output shifts to the JTDO output pin.
In essence, the Bypass register is a short-circuit which allows bypassing of board-level
devices, in the serial boundary-scan chain, which are not required for a specific test. The
logical location of the Bypass register in the boundary-scan chain is shown in Figure 7.3.3.
Use of the Bypass register speeds up access to boundary-scan registers in those ICs that
remain active in the board-level test datapath.
JTDI
Board
input
JTDO
Board
output
Bypass
register
JTDO
JTDI
JTDO
JTDI
JTDI
JTDO
JTDI
JTDO
Boundary-scan register pad cell
IC package
Board
Figure 7.3.3 Bypass Register Operation
7-4
Chapter 7 JTAG Interface
7.3.3
Boundary-Scan Register
The Boundary Scan register includes all of the inputs and outputs of the TX4955A
processor, except some clock and phase lock loop signals. The pins of the TX4955A chip can
be configured to drive any arbitrary pattern by scanning into the Boundary Scan register
from the Shift-DR state. Incoming data to the processor is examined by shifting while in the
Capture-DR state with the Boundary Scan register enabled.
The Boundary-scan register is a single, 87-bit-wide, shift register-based path containing
cells connected to all input and output pads on the TX4955A processor. Figure 7.3.4 shows
the Boundary-scan register.
86
1
See Table 7.3.2
0
SysEN1
Figure 7.3.4 Format of the Boundary-scan Register
The most-significant bit, SysEN (bit3 to bit0), are the JTAG output enable bit for all
outputs of the processor. Output is enabled when those bit are set to 1 (default state).
The remaining 83 bits correspond to 83 signal pads of the processor.
At the end of this chapter, Table 7.3.2 lists the scan order of these 89 scan bits, starting
from JTDI and ending with JTDO.
JTDO
The JTDI input is loaded to the LSB of the Boundary Scan register. The MSB of the
Boundary Scan register is retrieved from the JTDO output.
7.3.4
Device Identification Register
The Device Identification register is a 32-bit shift register. It is used to read serially from
the IC the identification code indicating the IC manufacturer, part number, and version.
The following shows the Device Identification register structure.
31
28 27
12 11
Version
Product number
4 bits
16 bits
1
manufacturer
identification code
11 bits
Figure 7.3.5 Device Identification Register
The TX4955A device identification code is 0x00017031.
The device identification code is shifted out starting from the LSB.
MSB
LSB
JTDO
Figure 7.3.6 Devide Identification Register shift Direction
7-5
0
1
Chapter 7 JTAG Interface
7.3.5
Test Access Port (TAP)
The Test Access Port (TAP) consists of the five signal pins: TRST*
TRST JTDI,
JTDI JTDO,
JTDO JTMS,
JTMS
and JTCK.
JTCK Serial test data and instructions are communicated over these five signal pins,
along with control of the test to be executed.
As Figure 7.3.7 shows, data is serially scanned into one of the four registers (Instruction
register, Bypass register, Device Identification register, or the Boundary-scan register)
from the JTDI pin, or it is scanned from one of these four registers onto the JTDO pin.
The JTMS input controls the state transitions of the main TAP controller state machine.
The JTCK input is a dedicated test clock that allows serial JTAG data to be shifted
synchronously, independent of any chip-specific or system clocks.
JTCK
JTMS and JTDI sampled on rising
edge of JTCK
JTD0 sampled on falling edge of
JTCK
Data scanned in serially
7
Data scanned out serially
7
0
Instruction register
Instruction register
0
0
Bypass register
Bypass register
JTDI pin
0
86
0
Boundary-scan registe
JTMS pin
86
JTDO pin
0
Boundary-scan register
31
0
Device
Identification register
Figure 7.3.7 JTAG Test Access Port
Data on the JTDI and JTMS pins is sampled on the rising edge of the JTCK input clock
signal. Data on the JTDO pin changes on the falling edge of the JTCK clock signal.
7.3.6
TAP Controller
The processor implements the 16-state TAP controller as defined in the IEEE JTAC
specification.
7.3.7
Controller Reset
The TAP controller state machine can be put into Reset state the following:
•
assertion of the TRST*
TRST signal (Low) resets the TAP controller.
•
keeping the JTMS input signal asserted through five consecutive rising edges of
JTCK input.
In either case, keeping JTMS asserted maintains the Reset state.
7-6
Chapter 7 JTAG Interface
7.3.8
TAP Controller
The state transition diagram of the TAP controller is shown in Figure 7.3.8. Each arrow
between states is labeled with a 1 or 0, indicating the logic value of JTMS that must be set
up before the rising edge of JTCK to cause the transition.
1
Test-Logic-Reset
0
0
Run-Test/Idle
1
Select-DR-Scan
1
Select-IR-Scan
0
0
Capture-DR
1
Capture-IR
1
0
0
Shift-DR
Shift-IR
0
1
1
Exit 1-IR
0
1
0
Pause-DR
Pause-IR
0
1
0
1
Exit 2-DR
0
Exit 2-IR
1
1
Update-DR
1
0
1
Exit 1-DR
0
1
0
Update-IR
1
0
Figure 7.3.8 TAP Controller State Diagram
The following paragraphs describe each of the controller state. The left vertical column in
Figure 7.3.8 is the data column, and the right vertical column is the instruction column.
The data column and instruction column reference data register (DR) and instruction
register (IR), respectively.
7-7
Chapter 7 JTAG Interface
•
Test-Logic-Reset
When the TAP controller is in the Reset state, the value 0x3 is loaded into the
parallel output latch, selecting the Device Identification register as default. The
three most significant bits of the Boundary-scan register are cleared to 0, disabling
the outputs.
The controller remains in this state while JTMS is high. If JTMS is held low while
the controller is in this state, then the controller moves to the Run-Test/Idle state.
•
Run-Test/Idle
In the Run-Test/Idle state, the IC is put in a test mode only when certain
instructions such as a built-in self test (BIST) instruction are present. For
instructions that do not cause any activities in this state, all test data registers
selected by the current instruction retain their previous states.
The controller remains in this state while JTMS is held low. When JTMS is high,
the controller moves to the Select-DR-Scan state.
•
Select-DR-Scan
This is a temporary controller state. Here, the IC does not execute any specific
functions.
If JTMS is held low when the controller is in this state, then the controller moves
to the Capture-DR state. If JTMS is held high, the controller moves to the
Select-IR-Scan state in the instruction column.
•
Select-IR-Scan
This is a temporary controller state. Here, the IC does not execute any specific
functions.
If JTMS is held low when the controller is in this state, then the controller moves
to the Capture-IR state. If JTMS is held high, the controller returns to the
Test-Logic-Reset state.
•
Capture-DR
In this controller state, if the test data register selected by the current instruction
on the rising edge of JTCK has parallel inputs, then data can be parallel-loaded
into the shift portion of the data register. If the test data register does not have
parallel inputs, or if data need not be loaded into the selected data register, then
the data register retains its previous state.
If JTMS is held low while the controller is in this state, the controller moves to the
Shift-DR state. If JTMS is held high, the controller moves to the Exit1-DR state.
•
Shift-DR
In this controller state, the test data register connected between JTDI and JTDO
shifts data one stage forward towards its serial output.
When the controller is in this state, then it remains in the Shift-DR state if JTMS
is held low, or moves to the Exit1-DR state if JTMS is held high.
7-8
Chapter 7 JTAG Interface
•
Exit 1-DR
This is a temporary controller state.
If JTMS is held low when the controller is in this state, then the controller moves
to the Pause-DR state. If JTMS is held high, the controller moves to the
Update-DR state.
•
Pause-DR
This state allows the shifting of the data register selected by the instruction
register to be temporarily suspended. Both the instruction register and the data
register retain their current states.
When the controller is in this state, then it remains in the Pause-DR state if JTMS
is held low, or moves to the Exit2-DR state if JTMS is held high.
•
Exit 2-DR
This is a temporary controller state.
When the controller is in this state, then it returns to the Shift-DR state if JTMS is
held low, or moves on to the Update-DR state if JTMS is held high.
•
Update-DR
In this state, data is latched, on the falling edge of JTCK, onto the parallel outputs
of the data registers from the shift register path. The data held at the parallel
output does not change while data is shifted in the associated shift register path.
When the controller is in this state, it moves to either the Run-Test/Idle state if
JTMS is held low, or the Select-DR-Scan state if JTMS is held high.
•
Capture-IR
In this state, data is parallel-loaded into the instruction register. The two least
significant bits are assigned the values “01”. The higher-order bits of the
instruction register can receive any design specific values. The Capture-IR state is
used for testing the instruction register. Faults in the instruction register, if any
exists, may be detected by shifting out the data loaded in it.
When the controller is in this state, it moves to either the Shift-IR state if JTMS is
low, or the Exit1-IR state if JTMS is high.
•
Shift-IR
In this state, the instruction register is connected between JTDI and JTDO and
shifts the captured data toward its serial output on the rising edge of JTCK.
When the controller is in this state, it remains in the Shift-IR state if JTMS is low,
or moves to the Exit1-IR state if JTMS is high.
7-9
Chapter 7 JTAG Interface
•
Exit 1-IR
This is a temporary controller state.
When the controller is in this state, then it moves to either the Pause-IR state if
JTMS is held low, or the Update-IR state if JTMS is held high.
•
Pause-IR
This state allows the shifting of the instruction register to be temporarily
suspended. Both the instruction register and the data register retain their current
states.
When the controller is in this state, it remains in the Pause-IR state if JTMS is
held low, or moves to the Exit2-IR state if JTMS is held high.
•
Exit 2-IR
This is a temporary controller state.
When the controller is in this state, it moves to either the Shift-IR state if JTMS is
held low, or the Update-IR state if JTMS is held high.
•
Update-IR
This state allows the instruction previously shifted into the instruction register to
be output in parallel on the rising edge of JTCK. Then it becomes the current
instruction, setting a new operational mode.
When the controller is in this state, it moves to either the Run-Test/Idle state if
JTMS is low, or the Select-DR-Scan state if JTMS is high.
Tables 7.3.2 shows the boundary scan order of the processor signals.
Table 7.3.2 Tx4955A JTAG Boundary-Scan Ordering
[JTDI]
1: SysEN1
2: SysEN2
3: SysEN3
4: SysEN4
5: BufSel1
6: SysAD4
7: SysAD5
8: SysAD6
9: SysAD7
10: SysAD8
11: SysAD9
12: SysAD10
13: SysAD11
14: SysAD12
15: SysAD13
16: SysAD14
17: SysAD15
18: BufSel0
19: PCST3
20: PCST2
21: PCST1
22: PCST0
23: RdRdy*
24: WrRdy*
25: ValidIn*
26: ValidOut*
27: Release*
28: PLLRES*
29: TintDis
30: SysCmd0
31: SysCmd1
32: SysCmd2
33: SysCmd3
34: SysCmd4
35: SysCmd5
36: SysCmd6
37: SysCmd7
38: SysCmd8
39: SysCmdP
40: HALTDOZE
41: INT0*
42: INT1*
43: INT2*
44: INT3*
45: INT4*
46: INT5*
47: TPC3
48: TPC2
49: TPC1
50: DCLK
51: NMI*
52: ExtRqst*
53: Reset*
54: ColdReset*
55: Endian
56: SysAD16
57: SysAD17
58: SysAD18
59: SysAD19
60: SysAD20
61: SysAD21
62: SysAD22
63: SysAD23
64: SysAD24
65: SysAD25
66: SysAD26
67: SysAD27
68: MODE43*
69: DivMode1
70: DivMode0
71: SysAD28
72: SysAD29
73: SysAD30
74: SysAD31
75: SysADC2
76: SysADC3
82: SysAD3
83: PCST8
77: SysADC0
78: SysADC1
79: SysAD0
80: SysAD1
81: SysAD2
84: PCST7
85: PCST6
86: PCST5
87: PCST4
[JTDO]
7-10
Chapter 7 JTAG Interface
7.4
Instructions for JTAG
This section defines the instructions supplied and the operations that occur in response to
those instructions.
7.4.1
The EXTEST Instruction
This instruction is used for external interconnect test, and targets the boundary scan
register between JTDI and JTDO. The EXTEST instruction permits BSR cells at output
pins to shift out test patterns in the Update-DR state and those at input pins to capture
test results in the Capture-DR state.
Typically, before EXTEST is executed, the initialization pattern is first shifted into the
boundary scan register using the SAMPLE/PRELOAD instruction. In the Update-DR state,
the boundary scan register loaded with the initialization pattern causes known data to be
driven immediately from the IC onto its external interconnects. This eliminates the
possibility that bus conflicts damage the IC outputs. The flow of data through the boundary
scan register while the EXTEST instruction is selected is shown in Figure 7.4.1, which
follows:
Boundary Scan Path
INPUT
Core Logic
OUTPUT
JTDI
JTDO
Figure 7.4.1 Test Data Flow While the EXTEST Instruction is Selected
The following steps describe the basic test algorithm of an external interconnect test.
1.
Initialize the TAP controller to the Test-Logic-Reset state.
2.
Load the instruction register with SAMPLE/PRELOAD. This causes the boundary
scan register to be connected between JTDI and JTDO.
3.
Initialize the boundary scan register by shifting in determinate data.
4.
Then, load the initial test data into the boundary scan register.
5.
Load the instruction register with EXTEST.
6.
Capture the data applied to the input pin into the boundary scan register.
7.
Shift out the captured data while simultaneously shifting in the next test pattern.
8.
Read out the data in the boundary scan register onto the output pin.
Steps 6 to 8 are repeated for each test pattern.
7-11
Chapter 7 JTAG Interface
7.4.2
The SAMPLE/PRELOAD Instruction
This instruction targets the boundary scan register between JTDI and JTDO. As the
instruction's name implies, two functions are performed through use of the SAMPLE/
PRELOAD instruction.
•
SAMPLE allows the input and output pads of an IC to be monitored. While it does so, it
does not disconnect the system logic from the IC pins. The SAMPLE function occurs in
the Capture-DR controller state. An example application of SAMPLE is to take a
snapshot of the activity of the IC's I/O pins so as to verify the interaction between ICs
during normal functional operation. The flow of data for the SAMPLE phase of the
SAMPLE/PRELOAD instruction is shown in Figure 7.4.2.
Boundary Scan Path
INPUT
Core Logic
JTDI
OUTPUT
JTDO
Figure 7.4.2 Test Data Flow While SAMPLE is Selected
•
PRELOAD allows the boundary scan register to be initialized before another
instruction is selected. For example, prior to selection of the EXTEST instruction,
initialization data is shifted into the boundary scan register using PRELOAD as
described in the previous subsection. PRELOAD permits shifting of the boundary scan
register without interfering with the normal operation of the system logic. The flow of
data for the PRELOAD phase of the SAMPLE/PRELOAD instruction is shown in
Figure 7.4.3.
Boundary Scan Path
INPUT
Core Logic
JTDI
OUTPUT
JTDO
Figure 7.4.3 Test Data Flow While PRELOAD is Selected
7-12
Chapter 7 JTAG Interface
7.4.3
The BYPASS Instruction
This instruction targets the bypass register between JTDI and JTDO. The bypass
register provides a minimum length serial path through the IC (or between JTDI and
JTDO) when the IC is not required for the current test. The BYPASS instruction does not
cause interference to the normal operation of the on-chip system logic. The flow of data
through the bypass register while the BYPASS instruction is selected is shown in Figure
7.4.4.
Bypass Register
JTDI
JTDO
1-bit
Figure 7.4.4 Test Data Flow While the Bypass Instruction is Selected
7.4.4
The IDCODE Instruction
This instruction targets the device identification register between JTDI and JTDO to
identify manufacturer identity, part number, and version number for the part.
7-13
Chapter 7 JTAG Interface
7.5
Note
This section discribes details of JTAG boundary-scan operation that are specific to the
processor.
•
The MasterClock,
MasterClock and PLLCAP signal pads do not supposrt JTAG.
•
When performing a JTAG operation, be sure to run the MasterClock before and after a
reset operation to properly release the processor reset.
•
Reset for JTAG
c
JTAG circuit is initialized by TRST*
TRST assertion. And then deassert TRST*.
TRST
②
At input to JTMS = 1 and asserted for more 5 JTCK cycles.
7-14
Chapter 8 TX4955A Processor Interrupts
Chapter 8.
TX4955A Processor Interrupts
Four types of interrupt are available on the TX4955A. These are:
•
one non-maskable interrupt, NMI
•
six external interrupts
•
two software interrupts
•
one timer interrupt
These are described in this chapter.
8.1
Nonmaskable Interrupt
The non-maskable interrupt is signaled by asserting the NMI*
NMI pin (low), forcing the processor
to branch to the Reset Exception vector. This pin is latched into an internal register by the
rising edge of SClock,
SClock as shown in Figure 8.4.1. An NMI can also be set by an external write
through the SysAD bus. On the data cycle, SysAD (22) acts as the write enable for SysAD (6),
(6)
which is the value to be written as the interrupt.
NMI only takes effect when the processor pipeline is running. Thus NMI can be used to
recover the processor from a software hang (for example, in an infinite loop) but cannot be used
to recover the processor from a hardware hang (for example, no read response from an external
agent). NMI cannot cause drive contention on the SysAD bus and no reset of external agents is
required.
This interrupt cannot be masked.
The NMI*
NMI pin is latched by the rising edge of SClock,
SClock however the NMI exception occurs in
response to the falling edge of the NMI*
NMI signal, and is not level-sensitive.
Figure 8.4.1 shows the internal derivation of the NMI signal. The NMI*
NMI pin is latched into an
internal register by the rising edge of SClock.
SClock Bit 6 of the Interrupt register is then ORed with
the inverted value of NMI*
NMI to form the nonmaskable interrupt.
8.2
External Interrupts
External interrupts are set by asserting the external interrupt pins Int (5
(5:0)*.
:0) They also may
be set by an external write through the SysAD bus. During the data cycle, SysAD (21
(21:16) are
the write enables for bits SysAD (5
(5:0),
:0) which are the values to be written as interrupts.
These interrupts can be masked with the IM, IE, and EXL fields of the Status register.
Note: Int5* is doubled as a Timer Interrupt. Therefore either is selected with the External pin (TintDis).
8.3
Software Interrupt
Software interrupts use bits 1 and 0 of the interrupt pending, IP, field in the Cause register.
These may be written by software, but there is no hardware mechanism to set or clear these
bits.
These interrupts are maskable.
8-1
Chapter 8 TX4955A Processor Interrupts
8.4
Timer Interrupt
The timer interrupt signal is bit 15 of the Cause register, which is bit 7 of the interrupt
pending, IP, field. The timer interrupt is set whenever the value of the Count register equals
the value of the Compare register.
This interrupt is maskable through the IM field of the Status register.
Note: Timer Interrupt is doubled as a Int5*. There fore either is selected with the External pin
(TintDis).
SysAD
Interrupt register
Software
Interrupt
0
1
2
3
4
5
6
0
1
2
3
4
5
6
8
IP0
9
IP1
IP2
IP3
IP4
IP5
IP6
10
11
12
13
14
NMI
TintDis
H: INT5*
L: Timer
16
17
H
IP7
18
15
Timer interrupt
19
L
20
Cause resister
21
22
(Buffer)
INT0*
INT1*
INT2*
INT3*
INT4*
INT5*
NMI*
Note: Interrupt register : Please see Chapter 6 External Write Request
Figure 8.4.1 TX4955A Interrupt Control Circuit
8-2
Chapter 8 TX4955A Processor Interrupts
8.5
Asserting Interrupts
External writes to the CPU are directed to various internal resources, based on an internal
address map of the processor. An external write to any address writes to an architecturally
transparent register called the Interrupt register; this register is available for external write
cycles, but not for external reads.
During a data cycle, SysAD (22
(22:16) are the write enables for the seven individual Interrupt
register bits and SysAD (5
(5:0) are the values to be written into these bits. This allows any subset
of the Interrupt register to be set or cleared with a single write request. Figure 8.4.1 shows the
mechanics of an external write to the Interrupt register, along with the nonmaskable interrupt
described earlier.
Figure shows how the TX4955A hardware interrupts are readable through the Cause
register.
• Bits 4:0 of the Interrupt register are bit-wise ORed with the current value of the
interrupt pins Int*[4:0]
Int [4:0] and the result is directly readable as bits 14:10 of the Cause
register.
• Bit5 of the Interrupt register is ORed with the current value of the interrupt pin Int5*.
Bit15 of Cause register is selected this ORed signal or Timer Interrupt by TintDis.
IP (1:0) of the Cause register, which are described in Chapter 8 8.3, are software interrupts.
There is no hardware mechanism for setting or clearing the software interrupts.
Figure 8.5.1 shows the masking of the TX4955A interrupt signals.
• Cause register bits 15:8 (IP7-IP0) are AND-ORed with Status register interrupt mask
bits 15:8 (IM7-IM0) to mask individual interrupts.
• Status register bit 0 is a global Interrupt Enable (IE). It is ANDed with the output of the
AND-OR logic to produce the TX4955A interrupt signal. The EXL bit in the Status
register also enables these interrupts.
Status register
SR (0)
IE
Status register
SR (15:8)
IM0
IM1
IM2
IM3
IM4
IM5
IM6
IM7
Software
interrupts
External
interrupts
Timer interrupts
or Int5*
IP0
IP1
IP2
IP3
IP4
IP5
IP6
IP7
8
TX4955A Interrupt
1
1
8
AND
function
AND-OR
function
Cause register
(15:8)
Figure 8.5.1 Masking of the TX4955A Interrupts
8-3
Chapter 8 TX4955A Processor Interrupts
8-4
Chapter 9 Debug Support Unit
Chapter 9.
9.1
Debug Support Unit
Features
1. Utilizes JTAG interface compatible with IEEE Std. 1149.1.
2. Processor access to external processor probe to execute from the external trace memory during
debug exception and boot time. This is to eliminate system memory for debugging purpose.
3. Supports DMA access through JTAG interface to internal processor bus to access internal
registers, host system peripherals and system memory.
4. Debug functions
• Instruction Address Break
• Data Bus break
• Processor Bus Break
• Reset, NMI, Interrupt Mask
5. Instructions for Debug
• SDBBP, DERET, CTC0, CFC0
6. CP0 Registers for Debug
• Debug, DEPC, DESAVE
9.2
EJTAG interface
This interface consists of two modes of operation a Run Time Mode and Real Time Mode. The
Run Time Mode provides functions such as processor Run, STOP, Single Step, and access to
internal registers and system memory. The Real Time mode provides additional status pins
used in conjunction with JTAG pins for Real Time Trace information.
Table 9.2.1 JTAG Interface
PIN NAME
I/O
FUNCTION
JTDI
I
JTAG data input / Debug interrupt input
Run-time mode: Input serial data to JTAG data/instruction registers.
Real-time mode: Interrupt input to change the debug unit state from real-time mode to run-time mode.
JTCK
I
JTAG clock input
Clock input for JTAG. The JTDI and JTMS data are latched on rising edges of this clock.
JTDO/TPC(0)
O
JTAG data output / Trace PC output
Data is serially shifted out from this pin. / Outputs a non-sequential program counter value
synchronously with DCLK.
JTMS
I
JTAG command
Controls mainly the status transition of the TAP controller state machine.
When the serial input data is a JTAG command, apply a high signal (= 1) to this pin.
DCLK
O
Debug clock (1/3 CPU clock)
Clock output for a real-time debug system. Timings of the serial monitor bus and PC trace interface
signals all are defined by this debug clock DCLK.
This Debug clock frequency is 1/3 that of Pclock.
PCST(8:0)
O
PC trace status
Outputs PC trace status information and serial monitor bus mode.
TPC(3:1) Note 1
O
Trace PC output
Outputs a non-sequential program counter value synchronously with DCLK.
TRST*
I
Test reset input
Reset input for a real-time debug system. When TRST* is asserted (= 0), the debug support unit (DSU)
is initialized.
Note1: Leave TPC (3-1) pins open when not using them as PC trace outputs for debugging.
9-1
Chapter 9 Debug Support Unit
9.3
JTAG Interface
Standard JTAG interface is used for on chip debugging during Run Time mode. The TX49
Debug Support Unit has following registers.
• Instruction Register
• Bypass Register
• Boundary-Scan Register
• Device Identification Register
• Implementation Register
• JTAG_Data_Register
• JTAG_Address_Register
• JTAG_Control_Register
9.4
Processor Access Overview
The core processor can access external processor probe for reading and writing to external
monitor memory, registers and other external resources.
In addition the processor can execute from the external monitor memory located from
0xf_ff20 0000 to 0xf_ff2f ffff when the ProbEnb bit is set and the processor probe is turned ON.
Any access to the monitor location from 0xf_ff20 0000 to 0xf_ff3f ffff are only allowed when the
processor is in the debug mode (DM = 1).
9.5
Instruction
The instruction is a 8 bit field. Instructions for the TX49 Debug Support Unit are encoded
between 0x80 and 0x9f and other codes are reserved for Toshiba Standard JTAG instructions
(Includes EXTEST, SAMPLE/PRELOAD and IDCODE) and so on. Instructions are decoded as
follows.
Figure 9.5.1 Instruction
Hex Value
0x00
Instruction
Description
EXTEST
Boundary Scan Register
0x01
SAMPLE/PRELOAD
Boundary Scan Register
0x02
Reserve
Reserve
0x03
IDCODE
Device Identification Register
0x83
EJTAG_ImpCode
Select Implementation Register
0x88
JTAG_ADDRESS_IR
Select JTAG_Address Register
0x89
JTAG_DATA_IR
Select JTAG_Data Register
0x8A
JTAG_CONTROL_IR
Select JTAG_Control Register
0x8B
JTAG_ALL_IR
Select JTAG_All Register
0x90
PCTRACE
PCIRACE Instruction
0xFF
BYPASS
Select BYPASS Register
Note: 0x80 ∼ 0x9F the other code. Please does not used.
Any unused instruction between 0x80 and 0x9f defaulted to BYPASS instruction.
9-2
Chapter 9 Debug Support Unit
9.6
Debug Unit
9.6.1
Extended Instructions
• SDBBP
• DERET
• CTC0
• CFC0
9.6.2
Extended Debug Registers in CP0
• Debug Register
• Debug Exception PC (DEPC)
• Debug SAVE
9.7
Register Map
Table 9.7.1 Register Map
9.8
Address
Mnemonic
Description
0xf ff30 0000
DCR
Debug Control Register
0xf ff30 0008
IBS
Instruction Break Status
0xf ff30 0010
DBS
Data Break Status
0xf ff30 0018
PBS
Processor Break Status
0xf ff30 0100
IBA0
Instruction Break Address 0
0xf ff30 0108
IBC0
Instruction Break Control 0
0xf ff30 0110
IBM0
Instruction Break Address Mask 0
0xf ff30 0300
DBA0
Data Break Address 0
0xf ff30 0308
DBC0
Data Break Control 0
0xf ff30 0310
DBM0
Data Break Address Mask 0
0xf ff30 0318
DB0
Data Break Value 0
0xf ff30 0600
PBA0
Processor Bus Break Address 0
0xf ff30 0608
PBD0
Processor Bus Break Data 0
0xf ff30 0610
PBM0
Processor Bus Break Mask 0
0xf ff30 0618
PBC0
Processor Bus Break Control 0
Processor Bus Break Function
This function is to monitor the interface to core and provide debug interruption or trace
trigger for a given physical address and data.
9-3
Chapter 9 Debug Support Unit
9.9
Debug Exception
Three kinds of debug exception are supported.
• Debug Single Step (DSS bit)
• Debug Breakpoint Exception (SDBBP Instruction)
• JTAG Break Exception (Jtagbrk bit in JTAG_Control_Register)
Note: During real time debugging, first two functions are disabled.
9.9.1
Debug Single Step (DSS)
When the debug register DSS bit is set, this exception has been raised each time one
instruction is executed.
9.9.2
Debug Breakpoint exception (Dbp)
This exception is raised when SDBBP instruction is executed.
9.9.3
JTAG Break Exception
This exception is raised when JTAG unit set the Jtagbrk in JTAG_Control_Register.
9.9.4
Debug Exception Handling
Updates DEPC and Debug register.
Registers other than DEPC and Debug register retain their values.
9.9.5
Branching to debug handler
If the ProbEnb bit in JTAG_Control_Register[15] is set, the debug exception vector is
located at
PC: 0xffff ffff ff20 0200
If the ProbEnb bit in JTAG_Conctrol_Register[15] is cleared, the debug exception vector
is located at
PC: 0xffff ffff bfc0 0400
9.9.6
Exception handling when in Debug Mode (DM bit is set)
All interrupts including NMI are masked. When the NMI interrupt has occurred during
Debug mode, it is stored internally and the NMI interrupt is taken after debug handler is
finished (DM is clear)
9.10 Real Time PC TRACE Output
In real time mode non-sequential Program Counter and trace information are outputted on
TPC[3:0] and PCST[8:0] at 1/3 of the processor clock speed.
9-4
Chapter 10 Electrical Characteristics
Chapter 10. Electrical Characteristics
ESD Precautions: For handling precautions, see Section 1.1, Electrostatic Discharge (ESD), in
the chapter on General Safety Precautions and Usage Considerations.
10.1 Electrical Characteristics of TMPR4955AF
10.1.1
Absolute Maximum Ratings
VSS = 0 V (GND)
Parameter
Symbol
Ratings
Unit
Supply voltage (for I/O)
VccIOMax
−0.5 ∼ 3.9
V
Supply voltage (for internal)
VccIntMax
−0.5 ∼ 3.0
V
VIN
−0.5 ∼ VCC IO + 0.3
V
TSTG
−65 ∼ + 150
°C
Input voltage (*1)
Storage Temperature
Note: The absolute maximum ratings are rated values which must not be exceeded during
operation, even for an instant. Any one of the ratings must not be exceeded. If any absolute
maximum rating is exceeded, a device may break down or its performance may be
degraded, causing it to catch fire or explode resulting in injury to the user. Thus, when
designing products which include this device, ensure that no absolute maximum rating
value will ever be exceeded.
(*1) VIN Min = −1.5 V for pulse width less than 10 ns.
10.1.2
Recommended Operating Conditions
VSS = 0 V (GND)
Parameter
Symbol
Conditions
Min
Max
Unit
3.5
V
Supply Voltage (for I/O)
VccIO
3.1
Supply Voltage (for internal)
VccInt
1.4
1.6
V
TC
0
+70
°C
Operating Case Temperature
Note: The recommended operating conditions for a device are operating conditions under which it
can be guaranteed that the device will operate as specified. If the device is used under
operating conditions other than the recommended operating conditions (supply voltage,
operating temperature range, specified AN and DC values etc.), malfunction may occur.
Thus, when designing products which include this device, ensure that the recommended
operating conditions for the device are always adhered to.
10-1
Chapter 10 Electrical Characteristics
10.1.3
DC Characteristics
TC = 0°C to 70°C, VccInt = 1.5 V ± 0.1 V, VccIO = 3.3 V ± 0.2 V
Parameter
Symbol
Conditions
Min
Output High Voltage
VOH
VccIO = 3.3 V, Vss = 0 V
IOH = −4 mA
2.4
Output Low Voltage
VOL
VccIO = 3.3 V, Vss = 0 V
IOL = 4 mA
Input High Voltage (*2)
VIH
Input Low Voltage
(*1,2)
ICCInt
Operating Current
(I/O)
ICCIO
-0.5
Units
V
0.4
V
VccIO + 0.3
V
(*1)
0.8
VccIO = 3.5 V,
VccInt = 1.6 V,
MasterClock = 100 MHz
PClock = 200 MHz
V
mA
350
VccIO = 3.5 V,
VccInt = 1.6 V,
MasterClock = 100 MHz
PClock = 200 MHz
550
mA
50
60
±10
µA
Pull-up (*3)
Rinu
30
50
100
KΩ
Pull-down (*4)
Rind
30
50
100
KΩ
Input Leakage
ILI
Except (*3) port
Output Leakage
ILO
±20
µA
Input Capacitance
CIN
10
pF
COUT
10
pF
Output Capacitance
(*1)
(*2)
(*3)
(*4)
10.1.4
Max
2.0
VIL
Operating Current
(Internal)
Typ.
VIL Min = − 1.5 V for pulse width less than 10 ns.
Except for MasterClock input
Applies to Int(5:0)*, NMI*, RESET*, JTMS, JTCK, JTDI, TPC1 inputs
Applies to TRST*, RdRdy*, TPC3, TPC2 inputs
AC Characteristics
10.1.4.1 Clock Timing
TC = 0°C to 70°C, VccInt = 1.5 V ± 0.1 V, VccIO = 3.3 V ± 0.2 V
Parameter
Conditions
Min
tMCH
Transition 5 ns
3.0
MasterClock Low
tMCL
Transition 5 ns
3.0
MasterClock Frequency (*1)
fMCK
20
100
MHz
Internal Operation Frequency
fPCK
50
200
MHz
MasterClock Period
tMCP
10
50
ns
MasterClock Rise Time
tMCR
2.0
ns
MasterClock Fall Time
tMCF
2.0
ns
MasterClock High
Symbol
Max
Units
ns
ns
(*1) Operation of TMPR4955AF is only guaranteed with the Phase Lock Loop enabled.
(*2) All output timings assume a 25 pF capacitive load. Output timings should be derated where
appropriate.
10.1.4.2 System Interface
TC = 0°C to 70°C, VccInt = 1.5 V ± 0.1 V, VccIO = 3.3 V ± 0.2 V, BufSel = 100%
Parameter
Data Output
(*1, 2, 3)
Symbol
Min
Max
Units
6.5
ns
tDO
1.0
Data Setup (*3)
tDS
3.5
ns
Data Hold (*3)
tDH
1.0
ns
(*1) Timings are measured from 1.5 V of the MasterClock to 1.5 V of signal.
(*2) Capacitive load for all output timings is 25 pF.
(*3) Data Output, Data Setup and Data Hold apply to all logic signals driven out of or driven into
the TMPR4955AF on the system interface. Clocks are specified separately.
10-2
Chapter 10 Electrical Characteristics
10.1.5
Timing Diagrams
10.1.5.1 Clock Timing
tMCP
MasterClock
tMCL
tMCH
0.8 *VCCIO
0.2 *VCCIO
tMCR
tMCF
10.1.5.2 PClock to SClock DIVISOR of 2
cycle
1
2
4
3
MasterClock
PClock
(Internal Signal)
SClock
(Internal Signal)
SysAD Driven
D
D
D
D
tDO
SysAD
Received
D
D
tDS
tDH
10-3
D
D
Chapter 10 Electrical Characteristics
10.1.5.3 System Interface Timing
MasterClock
SClock
(Internal Signal)
tDO
SysAD
SysCmd
SysADC
SysCmdP
tDS
Valid output
tDH
Valid input
tDO
D
tDH
ValidOut*,
Release*
tDS tDH
Validln*,
ExtRqst*,
WrRdy*,
RdRdy*,
Int (5:0)*, NMI*
Valid
input
10.1.5.4 Cold Reset Timing
MasterClock
tDS tDH
DivMode (1:0)
tDS tDH
More than 16 MasterClock cycles
Reset*
More than 64,000 MasterClock cycles
ColdReset*
10.1.5.5 Warm Reset Timing
MasterClock
tDS
tDS tDH
Reset*
More than 16 MasterClock cycles
ColdReset*
10-4
Chapter 11 Package Dimension
Chapter 11. Package Dimension
QFP160-P-2828-0.65A
Unit: mm
11-1
Chapter 11 Package Dimension
11-2
Appendix A.
A.
PLL Passive Components
The Phase Locked Loop circuit requires several passive components for proper operation, which
are connected to VccPLL, and VssPLL, as illustrated in Figure A.1.
VccInt
TX4955A
R
L
VccPLL
C1
C2
C3
PLLCAP
(Reserved)
VssPLL
R
L
C1, C2, C3, R and L are Board
Components which should be placed
as close as possible to the processor.
VSS
Figure A.1 PLL Recommended Circuit
Values:
• R = 5 Ω (*1)
• C1 = 1 nF (*1)
• C2 = 82 nF (*1)
• C3 = 10 µF (*1)
• VccInt = 1.5 V ± 0.1 V
The inductors (L) can be used as alternatives to the resistors (R) to filter the power supply.
It is essential to isolate the analog power and ground for the PLL circuit (VccPLL/VssPLL) from
the regular power and ground (VccInt/Vss).
A-1
Appendix A.
A-2
Appendix B.
B.
Movement parameter setting of a processor
A table explains movement parameter with a processor.
Item
Single write protocol
Description
These modes are selected by G2SConfig-Register.
Write mode
Writeback data rate
R4000 compatible
AWxx
01
reserved
reserved
10
Reissue write
AW
11
Pipeline write
AW
These modes are selected by G2SConfig-Register.
Date rate
Clock multiplier
00
0
AWWWWWWWW
1
AWxxWxxWxxWxxWxxWxxWxxWxx
These modes are selected by external pin
(DivMode (1:0))
DivMode (1:0)
Master Clock
PClock
00
41.8 MHz/50 MHz
167 MHz/200 MHz
1:4
01
66.8 MHz/80 MHz
167 MHz/200 MHz
1:2.5
10
83.5 MHz/100 MHz
167 MHz/200 MHz
1:2
11
55.7 MHz/66 MHz
167 MHz/200 MHz
1:3
Endian set
Endian is selected by external pin (Endian).
Indicates the initial setting of the endian during areset.
0: Little Endian
1: Big Endian
Timer Interrupt
Timer-Interrupt is selected by external pin (TintDis).
It is Selection of Timer-Interrupt or Int5.
0: Timer-Interrupt enable Int5 is disable
1: Timer-Interrupt disable Int5 is enable
SysAD bus protocol type
SysAD bus protocol type is selected by external pin (MODE43*).
It is selection of TX4300 type or R5000 type.
0: TX4300 type
1: R5000 type
Note1: A: Address (32 bit), W: Word (32 bit)
Note2: Initial set of data rate
Single write: AWxx (R4000 compatible)
Block write: AWWWWWWWW
B-1
ratio
Appendix B.
B-2
Appendix C.
C.
Differences Between the TMPR4955 and the TMPR4955A
Product Name
TMPR4955F
TMPR4955AF
Power Supply: Core (incl. PLL)
I/O
2.5 V
3.3 V
1.5 V
3.3 V
Pin Assignment (No.2)
(No.35)
VccIO
VccIO
BufSel1
BufSel0
I/O Buffer Drive (Ratio)
1.0
Selectable from 0.5, 1.0 and 1.5
Note: BufSel (1:0) =
Output Drive Ratio =
11
100%
10
150%
Signals influenced by BufSel(1:0)
Signal Name
I/O
SysAD(31:0)
I/O
SysCmd(8:0)
I/O
SysADC
I/O
SysCmdP
I/O
ValidOut*
O
Release*
O
HALTDOZE
O
C-1
01
Reserved
00
50%
Appendix C.
C-2