Features • Eight General-purpose Floating-point Data Registers, Each Supporting a Full 80-bit • • • • • • • • • • • • • • • • Extended Precision Real Data Format (a 64-bit Mantissa Plus a Sign Bit, and a 15-bit Signed Exponent) A 67-bit Arithmetic Unit to Allow Very Fast Calculations with Intermediate are Precision Greater than the Extended Precision Format A 67-bit Barrel Shifter for High-speed Shifting Operations (for Normalizing etc.) Special-purpose Hardware for High-speed Conversion Between Single, Double, and Extended Formats and the Internal Extended Format An Independent State Machine to Control Main Processor Communication for Pipelined Instruction Processing Forty-six Instructions, Including 35 Arithmetic Operations Full Conformation to the IEEE 754 Standard, Including All Requirements and Suggestions Support of Functions Not Defined by the IEEE Standard, Including a Full Set of Trigonometric and Transcendental Functions Seven Data Type Types: Byte, Word and Long Integers; Single, Double, and Extended Precision Real Numbers; and Packed Binary Coded Decimal String Real Numbers Twenty-two Constants Available In The On-chip ROM, Including π, e, and Powers of 10 Virtual Memory/Machine Operations Efficient Mechanisms for Procedure Calls, Context Switches, and Interrupt Handling Fully Concurrent Instruction Execution with the Main Processor Fully Concurrent Instruction Execution of Multiple Floating-point Instructions Use with any Host Processor, on an 8-, 16- or 32-bit Data Bus Available in 16.67, 20, 25 and 33 MHz for Tc from -55°C to +125°C VCC = 5V ± 10% CMOS Enhanced Floating-point Co-processor TS68882 Description The TS68882 enhanced floating-point co-processor is a full implementation of the IEEE Standard for Binary Floating-Point Arithmetic (754) for use with the THOMSON TS68000 Family of microprocessors. It is a pin and software compatible upgrade of the TS68881 with optimized MPU interface that provides over 1.5 times the performance of the TS68881. It is implemented using VLSI technology to give systems designers the highest possible functionality in a physically small device. Intended primarily for use as a co-processor to the TS68020/68030 32-bit microprocessor units (MPUs), the TS68882 provides a logical extension to the main MPU integer data processing capabilities. It does this by providing a very high performance floating-point arithmetic unit and a set of floating-point data registers that are utilized in a manner that is analogous to the use of the integer data registers. The TS68882 instruction set is a natural extension of all earlier members of the TS68000 Family, and supports all of the addressing modes of the host MPU. Due to the flexible bus interface of the TS68000 Family, the TS68882 can be used with any of the MPU devices of the TS68000 Family, and it may also be used as a peripheral to non-TS68000 processors. Screening/Quality This product could be manufactured in full compliance with either: • MIL-STD-883 Class B • DESC 5962-89436 • or According to ATMELGrenoble Standards R suffix PGA 68 Ceramic Pin Grid Array F suffix CQFP 68 Ceramic Quad Flat Pack Rev. 2119A–HIREL–04/02 1 Introduction The TS68882 is a high-performance floating-point device designed to interface with the TS68020 or TS68030 as a co-processor. This device fully supports the TS68000 virtual machine architecture, and is implemented in HCMOS, Atmel’s low power, small geometry process. This process allows CMOS and HMOS (high-density NMOS) gates to be combined on the same device. CMOS structures are used where speed and low power is required, and HMOS structures are used where minimum silicon area is desired. The HCMOS technology enables the TS68882 to be very fast while consuming less power than comparable HMOS, and still have a reasonably small die size. With some performance degradation, the TS68882 can also be used as a peripheral processor in systems where the TS68020 or TS68030 is not the main processor (i.e., TS68000, TS68010). The configuration of the TS68882 as a peripheral processor or coprocessor may be completely transparent to user software (i.e., the same object code may be executed in either configuration). The architecture of the TS68882 appears to the user as a logical extension of the TS68000 Family architecture. Coupling of the co-processor interface allows the TS68020/TS68030 programmer to view the TS68882 registers as though the registers are resident in the TS68020/TS68030. Thus, a TS68020 or TS68030/TS68882 device pair appears to be one processor that supports seven floating-point and integer data types, and has eight integer data registers, eight address registers, and eight floatingpoint data registers. As shown in Figure 1, the TS68882 is internally divided into four processing elements; the Bus Interface Unit (BIU), the Conversion Control Unit (CCU), the Execution Control Unit (ECU), and the Microcode Control Unit (MCU). The BIU communicates with the main processor, the CCU controls the main processor communications dialog and performs some data conversions, and the ECU and MCU execute most floating-point calculations. The BIU contains the co-processor interface registers, and the 32-bit control, and instruction address registers. In addition to these registers, the register select and DSACK timing control logic is contained in the BIU. Finally, the status flags used to monitor the status of communications with the main processor are contained in the BIU. The CCU contains special-purpose hardware that performs conversions between the single, double, and extended precision memory data formula and the internal data format used by the ECU. It also contains a state machine that controls communications with the main processor during co-processor interface dialogs. The eight 80-bit floating-point data registers (FP0-FP7) are located in the ECU. In addition to these registers, the ECU contains a high-speed 67-bit arithmetic unit used for both mantissa and exponent calculations, a barrel shifter that can shift from 1-bit to 67bits in one machine cycle, and ROM constants (for use by the internal algorithms or user programs). The MCU contains the clock generator, a two-level microcoded sequencer that controls the ECU, the microcode ROM, and self-test circuitry. The built-in self-test capabilities of the TS68882 enhance reliability and ease manufacturing requirements; however, these diagnostic functions are not available to the user. 2 TS68882 2119A–HIREL–04/02 TS68882 Figure 1. TS68882 Simplified Block 3 2119A–HIREL–04/02 Pin Assignments Figure 2. PGA Terminal Designation * Reserved for future ATMEL-Grenoble use 4 TS68882 2119A–HIREL–04/02 TS68882 Figure 2b. CQFP Terminal Designation Functional Signal Descriptions This section contains a brief description of the input and output signals for the TS68882 floating-point co-processor. The signals are functionally organized into groups as shown in Figure 3. Figure 3. TS68882 Input/output Signals Note: The terms assertion and negation are used extensively. This is done to avoid confusion when describing “active-low” and “active-high” signals. The term assert or assertion is used to indicate that a signal is active or true, independent of whether that level is represented by a high or low voltage. The term negate or negation is used to indicate that a signal is inactive or false. 5 2119A–HIREL–04/02 Signal Summary Table 1 provides a summary of all the TS68882 signals described in this section. Table 1. Signal Summary Signal Name Mnemonic Input/Output Active State Address Bus A0 - A4 Input High D0 - D31 Input/Output High SIZE Input Low Address Strobe AS Input Low Chip Select CS Input Low Read/Write R/W Input High/Low Data Strobe DS Input Low DSACK0, DSACK1 Output Low Reset RESET Input Low Clock CLK Input SENSE Input/Output Power Input VCC Input Ground GND Input Data Bus Size Data Transfer and Size Acknowledge Sense Device Three State Yes Yes Low No Detailed Specifications Scope This drawing describes the specific requirements for the microprocessor 68882, 16.67, 20 MHz and 25 MHz, in compliance with MIL-STD-883 class B. Applicable Documents MIL-STD-883 1. MIL-STD-883: Test Methods And Procedures For Electronics 2. MIL-PRF-38535 Appendix A: General Specifications For Microcircuits 3. Desc Drawing 5962 - 89436xxx Requirements General The microcircuits are in accordance with the applicable document and as specified herein. Design and Construction Terminal Connections Depending on the package, the terminal connections shall be as shown in Figure 2 and Figure 2b. Lead Material and Finish Lead material and finish shall be any option of MIL-STD-1835. 6 TS68882 2119A–HIREL–04/02 TS68882 Package The macrocircuits are packaged in hermetically sealed ceramic packages which are conform to case outlines of MIL-STD-1835 (when defined): • 68-PIN SQ.PGA UP PAE Outline • 68-PIN Ceramic Quad Flat Pack CQFP The precise case outlines are described on Figure 23 and Figure 24. Electrical Characteristics Table 2. Absolute Maximum Ratings Symbol VCC VI Parameter Min Max Unit Supply Voltage -0.3 +7.0 V Input Voltage -0.3 +7.0 V 0.75 W PDMAX Max Power Dissipation TCASE Operating Temperature TSTG Storage Temperature TLEADS Test Conditions TCASE = -55°C to +125°C Lead Temperature Recommended Condition of Use M Suffix -55 +125 °C V Suffix -40 +85 °C -55 +150 °C +270 °C Max 5 sec. Soldering Unless otherwise stated, all voltages are referenced to the reference terminal (see Table 1). Table 3. DC Electrical Characteristics VCC = 5.0 VDC ± 10%; GND = 0 VDC; Tc = -55°C to +125°C Symbol Parameter Min Max Unit Supply Voltage 4.5 5.5 V Operating Temperature -55 +125 °C VIH Input High Voltage 2.0 VCC V VIL Input Low Voltage GND - 0.3 0.8 V IIN Input Leakage Current at 5.5V CLK, RESET, R/W, A0-A4, CS, DS, AS, SIZE 10 µA ITSI HI-Z (Off state) Input Current at 2.4V/0.4V DSACK0, DSACK1, D0-D31 20 µA VOH Output High Voltage (IOH = -400 µA)(1) DSACK0, DSACK1, D0-D31 VOL Output Low Voltage (IOL = 5.3 mA)(1) DSACK0, DSACK1, D0-D31 0.5 V IOL Output Low Current (VOL = GND) SENSE 500 µA PD Power Dissipation 0.75 W CIN Capacitance (VIN = 0, TA = 25°C, f = 1 MHz)(2) 20 pF CL Output Load Capacitance 130 pF VCC TCASE Notes: 2.4 V 1. Test load, see Figure 5. 2. Capacitance is periodically sampled rather than 100% tested. 7 2119A–HIREL–04/02 Thermal Characteristics Table 4. Package PGA 68 CQFP Symbol Parameter Value Rating θJA Thermal Resistance - Ceramic Junction To Ambient 33 °C/W θJC Thermal Resistance - Ceramic Junction To Case 4 °C/W θJA Thermal Resistance - Ceramic Junction To Ambient 33 °C/W θJC Thermal Resistance - Ceramic Junction To Case 3 °C/W Power Considerations The average chip-junction temperature, TJ, in °C can be obtained from: TJ = TA + (PD + θJA) (1) TA = Ambient Temperature, °C θJA = Package Thermal Resistance, Junction-to-Ambient, °C/W PD = PINT + PI/O PINT = ICC x VCC, Watts - Chip Internal Power PI/O = Power Dissipation on Input and Output Pins - User Determined For most applications PI/O < PINT and can be neglected. An Approximate relationship between PD and TJ (if PI/O is neglected) is: PD = K: (TJ + 273) (2) Solving equations (1) and (2) for K gives K = PD. (TA + 273) + θJA · PD2 (3) where K is constant pertaining to the particular part K can be determined from the equation (3) by measuring PD (at equilibrium) for a known TA. Using this value of K, the values of PD and TJ can be obtained by solving equations (1) and (2) iteratively for any value of TA. The total thermal resistance of a package (θJA) can be separated into two components, θJC and θCA, representing the barrier to heat flow from the semiconductor junction to the package (case), surface (θJC) and from the case to the outside ambient (θCA). These terms are related by the equation: θJA = θJC + θCA (4) θJA is device related and cannot be influenced by the user. However, θCA is user dependent and can be minimized by such thermal management techniques as heat sinks, ambient air cooling and thermal convection. Thus, good thermal management on the part of the user can significantly reduce θCA so that θJA approximately equals θJC. Substitution of θ JC for θ JA in equation (1) will result in a lower semiconductor junction temperature. 8 TS68882 2119A–HIREL–04/02 TS68882 Mechanical and Environmental The microcircuits shall meet all mechanical environmental requirements of either MILSTD-883 for class B devices. Marking The document defines the markings that are identified in the related reference documents. Each microcircuit is legible and permanently marked with the following information as minimum: • Atmel-Grenoble Logo • Manufacturer’s Part Number • Class B Identification • Date-code of inspection lot • ESD Identifier if Available • Country of Manufacturing Quality Conformance Inspection DESC/MIL-STD-883 Is in accordance with MIL-M-38510 and method 5005 of MIL-STD-883. Group A and B inspections are performed on each production lot. Group C and D inspection are performed on a periodical basis. Electrical Characteristics General Requirements All static and dynamic electrical characteristics specified and the relevant measurement conditions are given below. For inspection purpose, refer to relevant specification: Static electrical characteristics for all electrical variants. Dynamic electrical characteristics for 68882-16 (16.67 MHz), 68882-20 (20 MHz), 68882-25 (25 MHz) and 68882-33 (33 MHz). For static characteristics, test methods refer to clause “Test Load” on page 13 hereafter of this specification (Table 5). For dynamic characteristics (Tables 6 and 7), test methods refer to IEC 748-2 method number, where existing. Table 5. Static Characteristics VCC = 5.0 VDC ± 10%; GND = 0 VDC; Tc = -55/+125°C or -40/+85°C Symbol Parameter Min Max Unit VIH Input High Voltage 2.0 VCC V VIL Input Low Voltage GND - 0.3 0.8 V IIN Input Leakage Current at 5.5V CLK, RESET, R/W, A0-A4, CS, DS, AS, SIZE 10 µA ITSI HI-Z (off state) Input Current at 2.4V/0.4V DSACK0, DSACK1, D0-D31 20 µA (1) VOH Output High Voltage (IOH = -400 µA) DSACK0, DSACK1, D0-D31 2.4 V VOL Output Low Voltage (IOL = 5.3 mA)(1) DSACK0, DSACK1, D0-D31 0.5 V IOL Output Low Current (VOL = GND) SENSE 500 µA 9 2119A–HIREL–04/02 Table 5. Static Characteristics VCC = 5.0 VDC ± 10%; GND = 0 VDC; Tc = -55/+125°C or -40/+85°C Symbol Parameter Min Max Unit ICC Maximum Supply Current (VCC = 5.5V; CLK = fmax; part in Reset) 136 mA Cin Capacitance (VIN = 0, TA = 25°C, f = 1MHz)(2) 20 pF CL Output Load Capacitance 130 pF Notes: 1. Test load, see Figure 5. 2. Capacitance is periodically sampled rather than 100% tested. Dynamic (Switching) Characteristics The limits and values given in this section apply over the full case temperature range 55°C to +125°C and VCC in the range 4.5V to 5.5V, See “AC Electrical Specification Definitions” on page 13. The numbers (N°) refer to the timing diagrams. See Figure 4, Figure 6, Figure 7, Figure 8 and Figure 9. Table 6. AC Electrical Characteristics - Clock Input VCC = 5.0 VDC ± 10%; GND = 0 VDC; Tc = -55°C to +125°C (see Figure 4) 16.67 MHz N° Parameter 20 MHz 25 MHz 33.33 MHz Min Max Min Max Min Max Min Max Unit Frequency of Operation 8 16.67 12.5 20 12.5 25 16.7 33.33 MHz 1 Clck Time 60 125 50 80 40 80 30 60 ns 2, 3 Clock Pulse Width 24 95 20 54 15 59 14 66 ns 4, 5 Rise and Fall Times 3 ns 5 5 4 Figure 4. Clock Input Timing Diagram Note: 10 Timing measurements are referenced to and from a low voltage of 0.8V and a high voltage of 2.0V, unless otherwise noted. The voltage swing through this range should start outside, and pass through, the range such that the rise of fall will be linear between 0.8V and 2.0V. TS68882 2119A–HIREL–04/02 TS68882 Table 7. AC Electrical Characteristics – Read and Write Cycles(1) VCC = 5.0 VDC ± 10%; GND = 0 VDC; Tc = -55°C/+125°C or Tc = -40°C/+85°C (see Figure 7, Figure 8, Figure 9) 16.67 MHz N° Parameter 6 Address valid to AS asserted(5) 6a 6b Min Max 20 MHz Min Max 25 MHz Min Max 33.33 MHz Min Max Unit 15 10 5 5 ns (5) 15 10 5 5 ns (5) Address valid to DS asserted (read) Address valid to DS asserted (write) 50 50 35 26 ns 7 AS negated to address invalid (6) 10 10 5 5 ns 7a DS negated to address invalid(6) 10 10 5 5 ns 8 CS asserted to AS asserted or AS asserted to CS asserted(9) 0 0 0 0 ns 8a CS asserted to DS asserted or DS asserted to CS asserted (read)(9) 0 0 0 0 ns 8b CS asserted to DS asserted or DS asserted to CS asserted (write)(9) 30 25 20 15 ns 9 AS negated to CS negated 10 10 5 5 ns 9a DS negated to CS negated 10 10 5 5 ns 10 R/W high to AS asserted (read) 15 10 5 5 ns 10a R/W high to DS asserted (read) 15 10 5 5 ns 10b R/W low to DS asserted (write) 35 30 25 25 ns 11 AS negated to R/W low (read) or AS negated to R/W high (write) 10 10 5 5 ns 11a DS negated to R/W low (read) or DS negated to R/W high (write) 10 10 5 5 ns 12 DS width asserted (write) 40 38 30 23 ns 13 DS width negated 40 38 30 23 ns 13a DS negated to AS asserted(4) 30 30 25 18 ns 14 CS, DS asserted to data-out valid (read)(2) 15 DS negated to data-out invalid (read) 16 DS negated to data-out high impedance (read) 17 Data-in invalid to DS asserted (write) 15 10 5 5 ns 18 DS negated to data-in invalid (write) 15 10 5 5 ns 19 START true to DSACK0 and DSACK1 asserted(2) 19a DSACK0 asserted to DSACK1 asserted (skew)(7) 20 DSACK0 or DSACK1 asserted to data-out valid 50 21 START false to DSACK0 and DSACK1 negated(8) 50 80 0 45 0 50 15 0 35 50 -15 45 0 35 35 -10 30 ns ns 30 ns 25 20 ns 10 5 ns 43 32 17 ns 30 40 30 ns 10 -10 11 2119A–HIREL–04/02 Table 7. AC Electrical Characteristics – Read and Write Cycles(1) (Continued) VCC = 5.0 VDC ± 10%; GND = 0 VDC; Tc = -55°C/+125°C or Tc = -40°C/+85°C (see Figure 7, Figure 8, Figure 9) 16.67 MHz N° Parameter 22 START false to DSACK0 and DSACK1 high impedance(8) 23 START true to clock high (synchronous read)(3)(8) 24 Clock low to data-out valid synchronous read)(3) 25 START true to data-out valid (synchronous read)(3)(8) 26 Clock low to DSACK0 and DSACK1 asserted (synchronous read(3) 27 START true to DSACK0 and DSACK1 asserted (synchronous read) (3)(8) Notes: 12 Min Max 20 MHz Min 70 0 0 105+ 2.5 1.5 75+ 2.5 0 80 + 2.5 55+ 2.5 Min 1.5 60+ 2.5 1.5 45 1.5 Max Unit 40 ns 0 60 55 1.5 Max 33.33 MHz 55 80 75 1.5 Min 55 105 0 1.5 Max 25 MHz 45+ 2.5 1.5 ns 45 ns 452.5 ns Clks 30 ns 302.5 ns Clks 1. Timing measurements are referenced to and from a low voltage of 0.8V and a high voltage of 2.0V, unless otherwise noted. The voltage swing through this range should start outside, and pass through, the range such that the rise or fall will be linear between 0.8V and 2.0V. 2. These specifications only apply if the TS68882 has completed all internal operations initiated by the termination of the previous bus cycle when DS was negated. 3. Synchronous read cycles occur only when the save or response CIR locations are read. 4. This specification only applies to systems in which back-to-back accesses (read-write or write-write) of the operand CIR can occur. When the TS68882 is used as a co-processor to the TS68020/68030, this can occur when the addressing mode is immediate. 5. If the SIZE pin is not strapped to either VCC or GND, it must have the same setup times as do addresses. 6. If the SIZE pin is not strapped to either VCC or GND, it must have the same hold times as do addresses. 7. This number is reduced to 5 nanoseconds if DSACK0 and DSACK1 have equal loads. 8. START is not an external signal; rather, it is the logical condition that indicates the start of an access. The logical equation for this condition is START = CS + AS + (R/W · DS). 9. If a subsequent access is not a FPCP access, CS must be negated before the assertion of AS and/or DS on the non-FPCP access. These specifications replace the old specifications 8 and 8A (the old specifications implied that in all cases, transitions in CS must not occur simultaneously with transitions of AS or DS. This is not a requirement of the TS68882). TS68882 2119A–HIREL–04/02 TS68882 Test Conditions Specific to the Device Test Load The applicable loading network shall be as defined in column “Test conditions” of Table 2, referring to the loading network number as shown in Figure 5. Figure 5. Test Loads AC Electrical Specification Definitions The AC specifications presented consist of output delays, input setup and hold times, and signal skew times. All signals are specified relative to an appropriate edge of the clock input and, possibly, relative to one or more other signals. The measurement of the AC specifications is defined by the waveforms shown in Figure 6. In order to test the parameters guaranteed inputs must be driven to the voltage levels specified in Figure 6. Outputs are specified with minimum and/or maximum limits, as appropriate, and are measured as shown. Inputs are specified with minimum and, an appropriate maximum setup and hold times, and are measured as shown. Finally, the measurement for signal-to-signal specifications are also shown. Note that the testing levels used to verify conformance to the AC specifications does not affect the guaranteed DC operation of the device specified in the DC electrical characteristics. 13 2119A–HIREL–04/02 Figure 6. Drive Levels and Test Points for AC Specifications Legend A) Maximum output delay specification. B) Minimum output hold time. C) Minimum input setup time specification. D) Minimum input hold time specification. E) Signal valid to signal valid specification (maximum or minimum). F) Signal valid to signal invalid specification (maximum or minimum). Notes: 14 1. 2. 3. 4. 5. This output timing is applicable to all parameters specified relative to the rising edge of the clock. This output timing is applicable to all parameters specified relative to the falling edge of the clock. This input timing is applicable to all parameters specified relative to the rising edge of the clock. This input timing is applicable to all parameters specified relative to the falling edge of the clock. This timing is applicable to all parameters specified relative to the assertion/negation of another signal. TS68882 2119A–HIREL–04/02 TS68882 Figure 7. Asynchronous Read Cycle Timing Diagram Note: START is actually a logical condition, but is shown as an active signal for clarity. The logical equation for this signal is: START = CS + AS + (R/W · DS). 15 2119A–HIREL–04/02 Figure 8. Asynchronous Write Cycle Timing Diagram Note: 16 START is actually a logical condition, but is shown as an active signal for clarity. The logical equation for this signal is: START = CS + AS + (R/W · DS). TS68882 2119A–HIREL–04/02 TS68882 Figure 9. Synchronous Read Cycle Timing Diagram Note: START is actually a logical condition, but is shown as an active signal for clarity. The logical equation for this signal is: START = CS + AS + (R/W · DS). Additional Information Additional information shall not be for any inspection purposes. Capacitance (Not for Inspection Purposes) Symbol Parameter Cin Input Capacitance Test Conditions Vin = 0 Tamb = 25°C Min Max Unit 20 pF f = 1 MHz 17 2119A–HIREL–04/02 Functional Description The Co-processor Concept The TS68882 functions as a co-processor in systems where the TS68020 or TS68030 is the main processor via the TS68000 co-processor interface. It functions as a peripheral processor in systems where the main processor is the TS68000, TS68010. The TS68882 utilizes the TS68000 Family co-processor interface to provide extension of the TS68020 /TS68030 registers and instruction set in a manner which is transparent to the programmer. The programmer perceives the MPU/FPCP execution model as if both devices are implemented on one chip. A fundamental goal of the TS68000 Family co-processor interface is to provide the programmer with an execution model based upon sequential instruction execution by the TS68020/TS68030 and the TS68882. For optimum performance, however, the co-processor interface allows concurrent operations in the TS68882 with respect to the TS68020/TS68030 whenever possible. In order to simplify the programmer’s model, the co-processor interface is designed to emulate, as closely as possible, non-concurrent operation between the TS68020/TS68030 and the TS68882. The TS68882 is s non-DMA type co-processor which uses a subset of the general-purpose co-processor interface supported by the TS68020/TS68030. Features of the interface implemented in the TS68882 are as follows: 18 • The main processor(s) and TS68882 communicate via standard TS68000 bus cycles • The main processor(s) and TS68882 communications are not dependent upon the instruction sets or internal details of the individual devices (i.e., instruction pipes or caches, addressing modes) • The main processor(s) and TS68882 may operate at different clock speeds • TS68882 instructions utilize all addressing modes provided by the main processor; all effective addresses are calculated by the main processor at the request of the coprocessor • All data transfers are performed by the main processor at the request of the TS68882; thus memory management, bus errors, address errors, and bus arbitration function as if the TS68882 instructions are executed by the main processor • Overlapped (concurrent) instruction execution enhances throughput while maintaining the programmer’s model of sequential instruction execution • Co-processor detection of exceptions which require a trap to be taken are serviced by the main processor at the request of the TS68882 thus exception processing functions as if the TS68882 instructions were executed by the main processor • Support of virtual memory/virtual machine systems is provided via the FSAVE and FRESTORE instructions • Up to eight co-processors may reside in a system simultaneously: multiple coprocessors of the same type are also allowed • Systems may use software emulation of the TS68882 without reassembling or relinking user software TS68882 2119A–HIREL–04/02 TS68882 The TS68882 programming model is shown in Figure 10 through 15, and consists of the following: • Eight 80-bit floating-point data registers (FP0-FP7). These registers are analogous to the integer data registers (D0-D7) and are completely general-purpose (i.e., any instruction may use any register) • A 32-bit control register that contains enable bits for each class of exceptions trap, and mode bits to set the user-selectable rounding and precision modes • A 32-bit status register that contains floating-point condition codes, quotient bits, and exception status information • A 32-bit instruction address register that contains the main processor memory address of the last floating-point instruction that was executed. This address is used in exception handling to locate the instruction that caused the exception The connection between the TS68020/TS68030 and the TS68882 is a simple extension of the TS68000 bus interface. The TS68882 is connected as a co-processor to the TS68020/TS68030, and the selection of the TS68882 is based upon a chip select (CS), which is decoded from the TS68020/TS68030 function codes and address bus. Figure 16 illustrates the TS68882/TS68020 or TS68030 configuration. Figure 10. TS68882 Programming Model 19 2119A–HIREL–04/02 Figure 11. Exception Status/Enable Byte Figure 12. Mode Control Byte 7 6 PREC 5 4 RND 3 2 1 0 0 ROUNDING MODE: 00 TO NEAREST 01 TOWARD ZERO 10 TOWARD MINUS INFINITY 11 TOWARD PLUS INFINITY ROUNDING PRECISION: 00 extended 01 SINGLE 10 DOUBLE 11 (UNDEFINED RESERVED) Figure 13. Condition Code Byte Figure 14. Quotient Byte 20 TS68882 2119A–HIREL–04/02 TS68882 Figure 15. Accrued Exception Byte Figure 16. Typical Co-processor Configuration Bus Interface Unit All communications between the TS68020/TS68030 and the TS68882 occur via standard TS68000 Family bus transfers. The TS68882 is designed to operate on 8-, 16-, or 32-bit data buses. The TS68882 contains a number of co-processor interface registers (CIRs) which are addresses in the same manner as memory by the main processor. The TS68000 Family co-processor interface is implemented via a protocol of reading and writing to these registers by the main processor. The TS68020 and TS68030 implements this generalpurpose co-processor interface protocol in hardware and microcode. When the TS68020/TS68030 detects a typical TS68882 instruction, the MPU writes the instruction to the memory-mapped command CIR, and reads the response CIR. In this response, the BIU encodes requests for any additional action required of the MPU on behalf of the TS68882. For example, the response may request that the MPU fetch an operand from the evaluated effective address and transfer the operand to the operated CIR. Once the MPU fulfills the co-processor request(s), it is free to fetch and execute subsequent instructions. 21 2119A–HIREL–04/02 A key concern in a co-processor interface that allows concurrent instruction execution is synchronization during main processor and co-processor communication. If a subsequent instruction is written to the TS68882 before the CCU has passed the operands for the previous instructions to the ECU, the response instructs the TS68020/TS68030 to wait. Thus, the choice of concurrent or nonconcurrent instruction execution is determined on an instruction-by-instruction basis by the co-processor. The only difference between a co-processor bus transfer and any other bus transfer is that the TS68020/TS68030 issues a function code to indicate the CPU address space during the cycle (the function codes are generated by the TS68000 Family processors to identify eight separate address spaces). Thus, the memory-mapped co-processor interface reg isters do no t in fringe u pon in stru ctio n or data ad dress spaces. Th e TS68020/TS68030 places a co-processor ID field from the co-processor instruction onto three of the upper address lines during co-processor accesses. This ID, along with the CPU address space function code, is decoded to select one of eight co-processors in the system. Since the co-processor interface protocol is based solely on bus transfers, the protocol is easily emulated by software when the TS68882 is used as a peripheral with any processor capable of memory-mapped I/O over on TS68000 style bus. When used as a peripheral processor with the 8-bit TS68008 or the 16-bit TS68000, or TS68010, all TS68882 instructions are trapped by the main processor to an exception handler at execution time. Thus, the software emulation of the processor interface protocol can be totally transparent to the user. The system can be quickly upgraded by replacing the main processor with a TS68020/TS68030 without changes to the user software. Since the bus is asynchronous, the TS68882 need not run at the same clock speed as the main processor. Total system performance may therefore be customized. For example, a system requiring very fast floating-point arithmetic with relatively slow integer arithmetic can be designed with an inexpensive main processor and a fast TS68882. Co-processor Interface The TS68000 Family co-processor interface is an integral part of the TS68882 and TS68020/TS68030 designs, with the interface tasks shared between the two. The interface is fully compatible with all present and future TS68000 Family products. Tasks are partitioned such that the TS68020/TS68030 does not have to decode co-processor instructions and, the TS68882 does not have to duplicate main processor functions such as effective address evaluation. This partitioning provides an orthogonal extension of the instruction set by permitting TS68882 instructions to utilize all TS68020/TS68030 addressing modes and to generate execution time exception traps. Thus, from the programmer’s view, the CPU and coprocessor appear to be integrated onto a single chip. While the execution of the majority of TS68882 instructions may be overlapped with the execution of TS68020/TS68030 instructions, concurrency is co mp lete ly transparen t to the programmer. The TS68020/TS68030 single-step and program flow (trace) modes are fully supported by the TS68882 and the TS68000 Family co-processorco-processor interface. While the TS68000 Family co-processor interface permits co-processors to be bus mast e rs , th e T S6 8 8 8 2 is ne v e r a bu s ma s te r. T he TS 6 8 8 82 r eq u e s ts t h a t t h e TS68020/TS68030 fetch all operands and store all results. In this manner, the TS68020/TS68030 32-bit data bus provides high speed transfer of floating-point operands and results while simplifying the design of the TS68882. 22 TS68882 2119A–HIREL–04/02 TS68882 Since the co-processor interface is based solely upon bus cycles and the TS68882 is never a bus master, the TS68882 can be placed on either the logical or physical side of the system memory management unit. This provides a great deal of flexibility in the system design. The virtual machine architecture of the TS68000 Family is supported by the co-processor interface and the TS68882 through the FSAVE and FRESTORE instructions. If the TS68020/TS68030 detects a page fault and/or task time out, it can force the TS68882 to stop whatever operation is in process at any time (even in the middle of the execution of an instruction) and save the TS68882 internal state in memory. The size of the saved internal state of the TS68882 is dependent upon what the CCU and ECU are doing at the time that the FSAVE is executed. If the TS68882 is in the reset state when the FSAVE instruction is received, only one word of state is transferred to memory, which may be examined by the operating system to determine that the coprocessor programmer’s model is empty. If the co-processor is idle when the save instruction is received, only a few words of internal state are transferred to memory. If the TS68882 is in the middle of performing a calculation, it may be necessary to save the entire internal state of the machine. Instructions that can complete execution in less time than it would take to save the larger state in mid-instruction are allowed to complete execution and then save the idle state. Thus the size of the saved internal state is kept to a minimum. The ability to utilize several internal state sizes greatly reduces the average context switching time. The FRESTORE instruction permits reloading of an internal state that was saved earlier, and continue any operation that was previously suspended. Restoring of the reset internal state functions just like a hardware reset to the TS68882 in that defaults are reestablished. Note: Operand Data Formats Though the TS68882 is instruction set compatible with the TS68881, the idle and busy state frames are both 32 bytes larger on the TS68882 than on the TS68881. A unique format word is generated by the TS68882 so that system software can detect this difference. The TS68882 supports the following data formats: • Byte Integer (B) • Word Integer (W) • Long Word Integer (L) • Single Precision Real (S) • Double Precision Real (D) • Extended Precision Real (X) • Packed Decimal String Real (P) The capital letters contained in parenthesis denote suffixes added to instructions in the assembly language source to specify the data format to be used. 23 2119A–HIREL–04/02 Integer Data Formats The three Integer data formats (byte, word, and long word) are the standard data formats supported in the TS68000 Family architecture. Whenever an integer is used in a floating-point operation, the integer is automatically converted by the TS68882 to an extended precision floating-point number before being used. For example, to add an integer constant of five to the number contained in floating-point data register 3 (FP3), the following instruction can be used: FADD.W #5.FP3 The ability to effectively use integers in floating-point operations saves user memory since an integer representation of a number, if representable, is usually smaller than the equivalent floating-point representation. Floating-point Data Formats The floating-point data formats single precision (32-bits) and double precision (64-bits) are as defined by the IEEE standard. These are the main floating-point formats and should be used for most calculations involving real numbers. Table 8 lists the exponent and mantissa size for single, double, and extended precision. The exponent is biased, and the mantissa is in sign and magnitude form. Since single and double precision require normalized numbers, the most significant bit of the mantissa is implied as one and is not included, thus giving one extra bit of precision. Table 8. Exponent and Mantissa Sizes Data Format Exponent Bits Mantissa Bits Bias Single 8 23 (+1) 127 Double 11 52 (+1) 1023 Extended 15 64 16383 The extended precision data format is also in conformance with the IEEE standard, but the standard does not specify this format to the bit level as it does for single and double precision. The memory format on the TS68882 consists of 96 bits (three long words). Only 80 bits are actually used, the other 16 bits are for future expandability and for longword alignment of floating-point data structures. Extended format has a 15-bit exponent, a 64-bit mantissa, and a 1-bit mantissa sign. Extended precision numbers are intended for use as temporary variables, intermediate values, or in places where extra precision is needed. For example, a compiler might select extended precision arithmetic for evaluation of the right side of an equation with mixed sized data and then convert the answer to the data type on the left side of the equation. It is anticipated that extended precision data will not be stored in large arrays, due to the amount of memory required by each number. 24 TS68882 2119A–HIREL–04/02 TS68882 Packed Decimal String Real Data Format The packed decimal string data format allows packed BCD strings to be input to and output from the TS68882. The strings consist of a 3-digit base 10 exponent and a 17digit base 10 mantissa. Both the exponent and mantissa have a separate sign bit. All digits are packed BCD, such that an entire string fits in 96 bits (three long words). As is the case with all data formats, when packed BCD strings are input to the TS68882, the strings are automatically converted to extended precision real values. This allows packed BCD numbers to be used as inputs to any operation. For example: FADD.P # - 6.023E + 24, FP5 BCD numbers can be output from the TS68882 in a format readily used for printing by a program generated by a high-level language compiler. For example: FMOVE.P FP3.BUFFER (# -5) instructs the TS68882 to convert the floating-point data register 3 (FP3) contents into a packed BCD string with five digits to the right of the decimal point (FORTRAN F format). Data Format Summary All data formats described above are supported orthogonally by all arithmetic and transcendental operations, and by all appropriate TS68000 Family addressing modes. For example, all of the following are legal instructions: FADD.B # 3.FP0 FADD.W D2.FP3 FADD.L BIGINT.FP7 FADD.S # 3.14159.FP5 FADD.D (SP) + .FP6 FADD.X [(TEMP -PTR.A7)].FP3 FADD.P # 1.23E25.FP0 On-chip calculations are performed to extended precision format, and the eight floatingpoint data registers always contain extended precision values. All data used in an operation is converted to extended precision by the TS68882 before the specific operation is performed, and all results are in extended precision. This ensures accuracy without sacrificing performance. Refer to Figure 17 for a summary of the memory formats for the seven data formats supported by the TS68882. 25 2119A–HIREL–04/02 Figure 17. TS68882 Data Format Summary Instruction Set The TS68882 instruction set is organized into six major classes: 1. Moves Between The TS68882 and Memory or The MPU (In and Out) 2. Move Multiple Registers (In and Out) 3. Monadic Operations 4. Dyadic Operations 5. Branch, Set, or Trap Conditionally, and 6. Miscellaneous Moves All moves from memory (or from an MPU data register) to the TS68882, cause data conversion from the source data format to the internal extended precision format. All moves from the TS68882 to memory (or to an MPU data register), cause data conversion from the internal extended precision format to the destination data format. 26 TS68882 2119A–HIREL–04/02 TS68882 Note that data movement instructions perform arithmetic operations, since the result is always rounded to the precision selected in the FPCR mode control byte. The result is rounded using the selected rounding mode, and is checked for overflow and underflow. The syntax for the move is: FMOVE.(fmt) (ea).FPn Move to TS68882 FMOVE.(fmt) FPm.(ea) Move from TS68882 FMOVE.X FPm.FPn Move within TS68882 where: (ea) is a TS68000 Family effective address operand and (fmt) is the data format size. FPm and FPn are floating-point data registers. Move Multiples The floating-point move multiple instructions on the TS68882 are much like the integer counterparts on the TS68000 Family processors. Any set of the floating-point registers FP0 through FP7 can be moved to or from memory with one instruction. These registers are always moved as 96-bit extended data with no conversion (hence no possibility of conversion errors). Some move multiple examples are as follows: FMOVEM (ea), FP0-FP3/FP7 FMOVEM FP2/FP4/FP6,(ea) Move multiples are useful during context switches and interrupts to save or restore the state of a program. These moves are also useful at the start and end of a procedure to save and restore the calling routine’s register set. In order to reduce procedure call overhead, the list of registers to be saved or restored can be contained in a data register. This allows run-time optimization by allowing a called routine to save as few registers as possible. Note that no rounding or overflow/underflow checking is performed by these operations. Monadic Operations Monadic operations have one operand. This operand may be in a floating-point data register, memory, or in an MPU data register. The result is always stored in a floatingpoint data register. For example, the syntax for square root is: FSQRT.(fmt) (ea), FPN or, FSQRT.X FPm, FPn or, FSQRT.X FPn The TS68882 monadic operations available are as follows: FABS Absolute Value FACOS Arc Cosine FASIN Arc Sine FATAN Arc Tangent FATANH Hyperbolic Arc Tangent FCOS Cosine FCOSH Hyperbolic Cosine FETOX e to the x Power 27 2119A–HIREL–04/02 Dyadic Operations FABS Absolute Value FACOS Arc Cosine FETOXM1 e to the x Power - 1 FGETEXP Get Exponent FGETMAN Get Mantissa FINT Integer Part FINTRZ Integer Part (Truncated) FLOG10 Log Base 10 FLOG2 Log Base 2 FLOGN Log Base e FLOGNP Log Base e of(x + 1) FNEG Negate FSIN Sine FSINCOS Simultaneous Sine and Cosine FSINH Hyperbolic Sine FSQRT Square Root FTAN Tangent FTANH Hyperbolic Tangent FTENTOX 10 to the x Power FTST test FTWOTOX 2 to the x Power Dyadic operations have two input operands. The first input operand comes from a floating-point data register, memory, or MPU data register. The second input operand comes from a floating-point data register. The destination is the same floating-point data register used for the second input. For example, the syntax for add is: FADD.(fmt) (ea).FPnor, FADD.X FPm.FPn The TS68882 dyadic operations available are as follows: 28 FADD Add FCMP Compare FDIV Divide FMOD Modulo Remainder FMUL Multiply FREM IEEE Remainder FSCALE Scale Exponent TS68882 2119A–HIREL–04/02 TS68882 Branch, Set, and Trap-on Condition FADD Add FSGLDIV Single Precision Divide FSGLMUL Single Precision Multiply FSUB Subtract The floating-point branch, set, and trap-on condition instructions implemented by the TS68882 are similar to the equivalent integer instructions of the TS68000 Family processors, except that more conditions exist due to the special values in IEEE floatingpoint arithmetic. When a conditional instruction is executed, the TS68882 performs the necessary condition checking and tells the MPU whether the condition is true or false; the MPU then takes the appropriate action. Since the TS68882 and TS68020/TS68030 are closely coupled, the floating-point branch operations executed by the pair are very fast. The TS68882 conditional operations are: FBcc Branch FDBcc Decrement and Branch FScc Set Byte According to Condition FTRAPcc Trap-on Condition (with an Optional Parameter) where: cc is one of the 32 floating-point conditional test specifiers as shown in Table 9. rs Table 9. Floating-point Conditional Test Specifiers Mnemonic Definition Note: The following conditional tests do not set the BSUN bit in the status register exception byte under any circumstances. F False EQ Equal OGT Ordered Greater Than OGE Ordered Greater Than or Equal OLT Ordered Less Than OLE Ordered Less Than or Equal OGL Ordered Greater or Less Than OR Ordered UN Unordered UEQ Unordered or Equal UGT Unordered or Greater Than UGE Unordered or Greater or Equal ULT Unordered or Less Than ULE Unordered or Less or Equal NE Not Equal 29 2119A–HIREL–04/02 Table 9. Floating-point Conditional Test Specifiers (Continued) Mnemonic Definition T True Note: The following conditional tests set the BSUN bit in the status register exception byte if the NAN condition code bit is set when a conditional instruction is executed. SF Signaling False SEQ Signaling Equal GT Greater Than GE Greater Than or Equal LT Less Than LE Less Than or Equal GL Greater or Less Than GLE Greater Less or Equal NGLE Not (Greater, Less or Equal) NGL Not (Greater or Less) NLE Not (Less or Equal) NLT Not (Less Than) NGE Not (Greater or Equal) NGT Not (Greater Than) SNE Signaling Not Equal ST Signaling True Miscellaneous Instructions Miscellaneous instructions include moves to and from the status, control, and instruction address registers and a no operation function that can be used to “flush” exceptions. Also included are the virtual memory/machine FSAVE and FRESTORE instructions that save and restore the internal state of the TS68882. FMOVE (ea),FPcr Move to Control Register(s) FMOVE FPcr,(ea) Move from Control Register(s) FNOP Addressing Modes 30 No Operation FSAVE (ea) Virtual Machine State Save FRESTORE (ea) Virtual Machine State Restore The TS68882 does not perform address calculations. This satisfies the criterion that a TS68000 Family co-processor must not depend on certain features or capabilities that may or may not be implemented by a given main processor. Thus, when the TS68882 instructs the TS68020/TS68030 to transfer an operand via the co-processor interface, the MPU performs the addressing mode calculations requested in the instruction. In this case, the instruction is encoded specifically for the TS68020/TS68030, and the execution of the TS68882 is not dependent on that encoding, but only on the value of the command word written to the TS68882 by the main processor. TS68882 2119A–HIREL–04/02 TS68882 This interface is quite flexible and allows any addressing mode to be used with floatingpoint instructions. For the TS68000 Family, these addressing modes include immediate, postincrement, predecrement, data or address register direct, and the indexed/indirect addressing modes of the TS68020/TS68030. Some addressing modes are restricted for some instructions in keeping with the TS68000 Family architectural definitions (i.e., PC relative addressing is not allowed for a destination operand). The orthogonal instruction set of the TS68882, along with the flexible branches and addressing modes, allows a programmer writing assembly language code, or a compiler writer generating object or source code for the MPU/TS68882 device pair, to think of the TS68882 as though it is part of the MPU. There are no special restrictions imposed by the co-processor interface, and floating-point arithmetic is coded exactly like integer arithmetic. Address Bus (A0 through These active-high address line inputs are used by the main processor to select the coprocessor interface register locations located in the CPU address space. These lines A4) control the register selection as listed in Table 10. When the TS68882 is configured to operate over an 8-bit data bus, the A0 pin is used as an address signal for byte accesses of the co-processor interface registers. When the TS68882 is configured to operate over a 16- or 32-bit system data bus, both the A0 and SIZE pins are strapped high and/or low as listed in Table 11. Table 10. Co-processor Interface Register Selection A4-A0 Offset Width Type Register 0000x S00 16 Read Response 0001x S02 16 Write Control 0010x S04 16 Read Save 0011x S06 16 R/W Restore 0100x S08 16 - (Reserved) 0101x S0A 16 Write Command 0110x S0C 16 - (Reserved) 0111x S0E 16 Write Condition 100xx S10 32 R/W Operand 1010x S14 16 Read Register select 1011x S16 16 - 110xx S18 32 Read Instruction Address 111xx S1C 32 R/W Operand Address (Reserved) Table 11. System Data Bus Size Configuration A0 Size Data bus Low 8-bit Low High 16-bit High High 32-bit 31 2119A–HIREL–04/02 Data Bus (D0 through D31) This 32-bit, bi-directional, three-state bus serves as the general-purpose data path between the TS68020/TS68030 and the TS68882. Regardless of whether the TS68882 is operated as a co-processor or a peripheral processor, all inter-processor transfers of instruction information, operand data, status information, and requests for service occur as standard TS68000 bus cycles. The TS68882 will operate over an 8-, 16-, or 32-bit system data bus. Depending upon the system data bus configuration, both the A0 and SIZE pins are configured specifically for the applicable bus configuration. (Refer to ADDRESS BUS (A0 through A4) and SIZE (SIZE for further details). Size (SIZE) This active-low input signal is used in conjunction with the A0 pin to configure the TS68882 for operation over an 8-, 16-, or 32-bit system data bus. When the TS68882 is configured to operate over a 16-or 32-bit system data bus, both the SIZE and A0 pins are strapped high and/or low as listed in Table 11. Address Strobe (AS) This active-low input signal indicates that there is a valid address on the address bus, and both the chip select (CS) and read/write (R/W signal lines are valid). Chip Select (CS) This active-low input signal enables the main processor access to the TS68882 co-processor interface registers. When operating the TS68882 as a peripheral processor, the chip select decode is system dependent (i.e., like the chip select on any peripheral). The CS signal must be valid (either asserted or negated) when AS is asserted. Refer to CHIP SELECT TIMING for further discussion of timing restrictions for this signal. Read/Write (R/W) This input signal indicates the direction of a bus transaction (read/write) by the main processor. A logic high (1) indicates a read from the TS68882, and a logic low (0) indicates a write to the TS68882. The R/W signal must be valid when AS is asserted. Data Strobe (DS) This active-low input signal indicates that there is valid data on the data bus during a write bus cycle. Data Transfer and Size Acknowledge (DSACK0, DSACK1) These active-low, three-state output signals indicate the completion of a bus cycle to the main processor. The TS68882 asserts both the DSACK0, and DSACK1 signals upon assertion of CS. If the bus cycle is a main processor read, the TS68882 asserts DSACK0 and DSACK1 signals to indicate that the information on the data bus is valid. (Both DSACK signals may be asserted in advance of the valid data being placed on the bus). If the bus cycle is a main processor write to the TS68882, DSACK0 and DSACK1 are used to acknowledge acceptance of the data by the TS68882. The TS68882 also uses DSACK0 and DSACK1 signals to dynamically indicate to the TS68020/TS68030 the “port” size (system data bus width) on a cycle-by-cycle basis. Depending upon which of the two DSACK pins are asserted in a given bus cycle, the TS68020/TS68030 assumes data has been transferred to/from an 8-, 16-, or 32-bit wide data port. Table 12 lists the DSACK assertions that are used by the TS68882 for the various bus cycles over the various bus cycles over the various system data bus configurations. 32 TS68882 2119A–HIREL–04/02 TS68882 Table 12 indicates that all accesses over a 32-bit bus where A4 equals zero are to 16-bit registers. The TS68882 implements all 16-bit co-processor interface registers on data lines D16 - D13 (to eliminate the need for on-chip multiplexers); however, the TS68020/TS68030 expects 16-bit registers that are located in a 32-bit port at odd word addresses (A1 = 1) to be implemented on data lines D0-D15. For accesses to these registers when configured for 32-bit bus operation, the TS68882 generates DSACK signals as listed in Table 12 to inform the TS68020/TS68030 of valid data on D16 - D31 instead of D0-D15. An external holding resistor is required to maintain both DSACK0 and DSACK1 high between bus cycles. In order to reduce the signal rise time, the DSACK0 and DSACK1 lines are actively pulled up (negated) by the TS68882 following the rising edge of AS or DS and both DSACK lines are then three-stated (placed in the high-impedance state) to avoid interference with the next bus cycle. Table 12. DSACK Assertions Data Bus A4 DSACK1 DSACK2 32-bit 1 L L Valid data on D31-D0 32-bit 0 L H Valid data on D31-D16 16-bit x L H Valid data on D31-D16 or D15-D0 8-bit x H L Valid data on D31-D24, D23-D16, D15-D8, D7-D0 All x H H Insert Wait States in Current Bus Cycle Reset (RESET) Comments This active-low input signal causes the TS68882 to initialize the floating-point data registers to non-signaling not-a-numbers (NANs) and clears the floating-point control, status, and instruction address registers. When performing a power-up reset, external circuitry should keep the RESET line asserted to a minimum of four clock cycles after VCC is within tolerance. This assures correct initialization of the TS68882 when power is applied. For compatibility with all TS68000 Family devices, 100 milliseconds should be used as the minimum. When performing a reset of the TS68882 after VCC has been within tolerance for more than the initial power-up time, the RESET line must have an asserted pulse width which is greater than two clock cycles. For compatibility with all TS68000 Family devices, 10 clock cycles should be used as the minimum. Clock (CLK) The TS68882 clock input is a TTL-compatible signal that is internally buffered for development of the internal clock signals. The clock input should be a constant frequency square wave with no stretching or shaping techniques required. The clock should not be gated off at any time and must conform to minimum and maximum period and pulse width times. Sense Device (SENSE) This pin may be used optionally as an additional GND pin, or as an indicator to external hardware that the TS68882 is present in the system. This signal is internally connected to the GND of the die, but it is not necessary to connect it to the external ground for correct device operation. If a pullup resistor (which should be larger than 10 kΩ) is connected to this pin location, external hardware may sense the presence of the TS688882 in a system. 33 2119A–HIREL–04/02 Power (VCC and GND) These pins provide the supply voltage and system reference level for the internal circuitry of the TS68882. Care should be taken to reduce the noise level on these pins with appropriate capacitance decoupling. No Connect (NC) One pin of the TS68882 package is designated as a no connect (NC). This pin position is reserved for future use, and should not be used for signal routing or connected to VCC or GND. Interfacing Methods TS68882/TS68020 or TS68030 interfacing The following paragraphs describe how to connect the TS68882 to a TS68020 or TS68030 for co-processor operation via an 8-, 16-, or 32-bit data bus. 32-bit Data Bus Co-processor Connection Figure 18 illustrates the co-processor interface connection of a TS68882 to a TS68020/TS68030 via a 32-bit data bus. The TS68882 is configured to operate over a 32-bit data bus when both the A0 and SIZE pins are connected to VCC. 16-bit Data Bus Co-processor Connection Figure 19 illustrates the co-processor interface connection of a TS68882 to a TS68020/TS68030 via a 16-bit data bus. The TS68882 is configured to operate over a 16-bit data bus when the SIZE pin is connected to VCC, and the A0 pin is connected to GND. The sixteen least significant data pins (D0-D15) must be connected to the sixteen most significant data pins (D16 - D31) when the TS68882 is configured to operate over a 16-bit data bus (i.e., connect D0 to D16, D1 to D17,... and D15 to D31). The DSACK pins of the two devices are directly connected, although it is not necessary to connect the DSACK0 pin since the TS68882 never asserts it in this configuration. 8-bit Data Bus Co-processor Connection Figure 20 illustrates the connection of a TS68882 to a TS68020/TS68030 as a co-processor over an 8-bit data bus. The TS68882 is configured to operate over an 8-bit data bus when the SIZE pin is connected to GND. The twenty four least significant data pins (D0-D23) must be connected to eight most significant data pins (D24-D31) when the TS68882 is configured to operate over an 8-bit data bus (i.e., connect D0 to D8, D16 to D24; D1 to D9, D17, and D15;... and D7 to D15, D23 and D31). The DSACK pins of the two devices are directly connected, although it is not necessary to connect the DSACK1 pin since the TS68882 never asserts it in this configuration. • TS68882/TS68000/TS68008/TS68010 Interfacing The following paragraphs describe how to connect the TS68882 to a TS68000, TS68008, or TS68010 processor for operation as a peripheral via an 8- or 16-bit data bus. 16-bit Data Peripheral Processor Connection 34 Figure 21 illustrates the connection of a TS68882 to a TS68000 or TS68010 as a peripheral processor over an 16-bit data bus. The TS68882 is configured to operate over an 16-bit data bus when the SIZE pin is connected to VCC, and the A0 pin is connected to GND. The sixteen least significant data pins (D0-D15) must be connected to the sixteen most significant data pins (D16 - D31) when the TS68882 is configured to operate over an 16-bit data bus (i.e., connect D0 to D16, D1 to D17,... and D15 to D31). The DSACK1 pin of the TS68882, is connected to the DTACK pin of the main processor, and the DSACK0 pin is not used. TS68882 2119A–HIREL–04/02 TS68882 When connected as a peripheral processor, the TS68882 chip select (CS) decode is system dependent. If the TS68000 is used as the main processor, the TS68882 CS must be decoded in the supervisor or user data spaces. However, if the TS68010 is used as the main processor, the MOVES instruction may be used to emulate any CPU space access that the TS68020/co-processorTS68030 generates for co-processor communications. Thus, the CS decode logic for such systems may be the same as in a TS68020/TS68030 systems, such that the TS68882 will not use any part of the data address spaces. Figure 18. 32-bit Data Bus co-processor Connection 35 2119A–HIREL–04/02 Figure 19. 16-bit Data Bus co-processor Connection Figure 20. 8-bit Data Bus Co-processor Connection GND 36 TS68882 2119A–HIREL–04/02 TS68882 Figure 21. 16-bit Data Bus Peripheral Processor Connection Figure 22. 8-bit Data Bus Peripheral Processor Connection 37 2119A–HIREL–04/02 8-bit Data Bus Peripheral Processor Connection Figure 22 illustrates the connection of a TS68882 to a TS68008 as a peripheral processor over an 8-bit data bus. The TS68882 is configured to operate over an 8-bit data bus when the SIZE pin is connected to GND. The eight least significant data pins (D0-D7) must be connected to the twenty four most significant data pins (D8-D31) when the TS68882 is configured to operate over an 8-bit data bus (i.e., connect D0 to D8, D16 and D24; D1 to D9, D17, and D25;... and D7 to D 15, D 23, and D31). The DSACK0 pin of the TS68882 is connected to the DTACK pin of the TS68008, and the DSACK1 pin is not used. When connected as a peripheral processor, the TS68882 chip select (CS) decode is system dependent, and the CS must be decoded in the supervisor or user data spaces. Preparation For Delivery Certificate of Compliance ATMEL-Grenoble offers a certificate of compliance with each shipment of parts, affirming the products are in compliance with MIL-STD-883 and guaranteeing the parameters are tested at extreme temperatures for the entire temperature range. Handling Devices must be handled with certain precautions to avoid damage due to accumulation of static charge. Input protection devices have been designed in the chip to minimize the e ffe ct o f th is sta tic b u ild up . H ow e ve r, th e follow ing h an d lin g pr ac tic es ar e recommended: a) Device should be handled on benches with conductive and grounded surface. b) Ground test equipment, tools and operator. c) Do not handle devices by the leads. d) Store devices in conductive foam or carriers. e) Avoid use of plastic, rubber, or silk. f) Maintain relative humidity above 50%, if practical. 38 TS68882 2119A–HIREL–04/02 TS68882 Package Mechanical Data Figure 23. 68-lead CPGA Notes: 1. Dimensions A and B are datums and T S datum surface. 2. Positional tolerance for leads 168 places: θ φ0.13 ( 0.005 ) T, A (5)|B (5) 3. Dimensioning and tolerancing per AN5I Y14 5M 1982. 4. Controlling dimension: INCH. 39 2119A–HIREL–04/02 Figure 24. 68-lead CQFP 40 TS68882 2119A–HIREL–04/02 TS68882 Ordering Information HI-REL Product Commercial Atmel Part-Number Norms Package Temperature Range Tc (°C) Frequency (MHz) Drawing Number TS68882MRB/C16 MIL-STD-883 PGA 68 -55 / +125 16.67 - TS68882MRB/C20 MIL-STD-883 PGA 68 -55 / +125 20 - TS68882MRB/C25 MIL-STD-883 PGA 68 -55 / +125 25 - TS68882MRB/C33 MIL-STD-883 PGA 68 -55 / +125 33 - TS68882MFB/C16 MIL-STD-883 CQFP 68 -55 / +125 16.67 - TS68882MFB/C20 MIL-STD-883 CQFP 68 -55 / +125 20 - TS68882MFB/C25 MIL-STD-883 CQFP 68 -55 / +125 25 - TS68882DESC01XA DESC PGA 68 -55 / +125 16.67 5962 8946301XA TS68882DESC02XA DESC PGA 68 -55 / +125 20 5962 8946301XA TS68882DESC03XA DESC PGA 68 -55 / +125 25 5962 8946301XA TS68882DESC04XA DESC PGA 68 -55 / +125 33 5962 8946301XA TS68882DESC01YA DESC CQFP 68 -55 / +125 16.67 5962 8946301XA TS68882DESC02YA DESC CQFP 68 -55 / +125 20 5962 8946301XA TS68882DESC03YA DESC CQFP 68 -55 / +125 25 5962 8946301XA TS68882DESC04YA DESC CQFP 68 -55 / +125 33 5962 8946304YA Standard Product Commercial Atmel Part-Number Norms Package Temperature Range Tc (°c) Frequency MHZ Drawing Number TS68882VR16 ATMEL-Grenoble Standard PGA 68 -40 / +85 16.67 Internal TS68882VR20 ATMEL-Grenoble Standard PGA 68 -40 / +85 20 Internal TS68882VR25 ATMEL-Grenoble Standard PGA 68 -40 / +85 25 Internal TS68882VR33 ATMEL-Grenoble Standard PGA 68 -40 / +85 33 Internal TS68882MR16 ATMEL-Grenoble Standard PGA 68 -55 / +125 16.67 Internal TS68882MR20 ATMEL-Grenoble Standard PGA 68 -55 / +125 20 Internal TS68882MR25 ATMEL-Grenoble Standard PGA 68 -55 / +125 25 Internal TS68882MR33 ATMEL-Grenoble Standard PGA 68 -55 / +125 33 Internal TS68882VF16 ATMEL-Grenoble Standard CQFP 68 -40 / +85 16.67 Internal TS68882VF20 ATMEL-Grenoble Standard CQFP 68 -40 / +85 20 Internal TS68882VF25 ATMEL-Grenoble Standard CQFP 68 -40 / +85 25 Internal TS68882VF33 ATMEL-Grenoble Standard CQFP 68 -40 / +85 33 Internal TS68882MF16 ATMEL-Grenoble Standard CQFP 68 -55 / +125 16.67 Internal 41 2119A–HIREL–04/02 Standard Product Commercial Atmel Part-Number Norms Package Temperature Range Tc (°c) Frequency MHZ Drawing Number TS68882MF20 ATMEL-Grenoble Standard CQFP 68 -55 / +125 20 Internal TS68882MF25 ATMEL-Grenoble Standard CQFP 68 -55 / +125 25 Internal TS68882MF33 ATMEL-Grenoble Standard CQFP 68 -55 / +125 33 Internal TS68882 M R 1 B/C 20 Type Speed (MHz) Temperature range: Tc M: -55/+125°C V: -40/+85°C Package Screening - = Standard B/C = MIL STD 883 Class B R = Pin grid array 68 F = CQFP 68 Hirel lead finish 1: Hot solder dip (883C) Gold Note: 42 For availability of the different versions, contact your Atmel sales office. TS68882 2119A–HIREL–04/02 Atmel Headquarters Atmel Operations Corporate Headquarters Memory 2325 Orchard Parkway San Jose, CA 95131 TEL 1(408) 441-0311 FAX 1(408) 487-2600 Atmel Corporate 2325 Orchard Parkway San Jose, CA 95131 TEL 1(408) 441-0311 FAX 1(408) 436-4314 Europe Atmel Sarl Route des Arsenaux 41 Case Postale 80 CH-1705 Fribourg Switzerland TEL (41) 26-426-5555 FAX (41) 26-426-5500 Microcontrollers Atmel Corporate 2325 Orchard Parkway San Jose, CA 95131 TEL 1(408) 441-0311 FAX 1(408) 436-4314 Atmel Nantes La Chantrerie BP 70602 44306 Nantes Cedex 3, France TEL (33) 2-40-18-18-18 FAX (33) 2-40-18-19-60 Asia Atmel Asia, Ltd. Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimhatsui East Kowloon Hong Kong TEL (852) 2721-9778 FAX (852) 2722-1369 ASIC/ASSP/Smart Cards Japan Atmel Japan K.K. 9F, Tonetsu Shinkawa Bldg. 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 Japan TEL (81) 3-3523-3551 FAX (81) 3-3523-7581 Atmel Rousset Zone Industrielle 13106 Rousset Cedex, France TEL (33) 4-42-53-60-00 FAX (33) 4-42-53-60-01 RF/Automotive Atmel Heilbronn Theresienstrasse 2 Postfach 3535 74025 Heilbronn, Germany TEL (49) 71-31-67-0 FAX (49) 71-31-67-2340 Atmel Colorado Springs 1150 East Cheyenne Mtn. Blvd. Colorado Springs, CO 80906 TEL 1(719) 576-3300 FAX 1(719) 540-1759 Biometrics/Imaging/Hi-Rel MPU/ High Speed Converters/RF Datacom Atmel Grenoble Avenue de Rochepleine BP 123 38521 Saint-Egreve Cedex, France TEL (33) 4-76-58-30-00 FAX (33) 4-76-58-34-80 Atmel Colorado Springs 1150 East Cheyenne Mtn. Blvd. Colorado Springs, CO 80906 TEL 1(719) 576-3300 FAX 1(719) 540-1759 Atmel Smart Card ICs Scottish Enterprise Technology Park Maxwell Building East Kilbride G75 0QR, Scotland TEL (44) 1355-803-000 FAX (44) 1355-242-743 e-mail [email protected] Web Site http://www.atmel.com © Atmel Corporation 2002. Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company’s standard warranty which is detailed in Atmel’s Terms and Conditions located on the Company’s web site. The Company assumes no responsibility for any errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel’s products are not authorized for use as critical components in life support devices or systems. ATMEL ® is the registered trademarks of Atmel. Other terms and product names may be the trademarks of others. Printed on recycled paper. 2119A–HIREL–04/02 0M