SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 D D D D D D D D D D D D D Single-Chip Parallel Multiple Instruction / Multiple Data (MIMD) Digital Signal Processor (DSP) More Than Two Billion RISC-Equivalent Operations per Second Master Processor (MP) – 32-Bit Reduced Instruction Set Computing (RISC) Processor – IEEE-754 Floating-Point Capability – 4K-Byte Instruction Cache – 4K-Byte Data Cache Four Parallel Processors (PP) – 32-Bit Advanced DSPs – 64-Bit Opcode Provides Many Parallel Operations per Cycle – 2K-Byte Instruction Cache and 8K-Byte Data RAM per PP Transfer Controller ( TC) – 64-Bit Data Transfers – Up to 400 Megabytes per Second (MBps) Transfer Rate – 32-Bit Addressing – Direct DRAM / VRAM Interface With Dynamic Bus Sizing – Intelligent Queuing and Cycle Prioritization Video Controller ( VC) – Provides Video Timing and Video Random-Access Memory (VRAM) Control – Dual-Frame Timers for Two Simultaneous Image-Capture and / or Display Systems Big- or Little-Endian Operation 50K-Byte On-Chip RAM 4G-Byte Address Space 20-ns Cycle Time 3.3-V Operation IEEE Standard 1149.1† Test Access Port (JTAG) Military Operating Temperature Range – 55°C to 125°C GF PACKAGE ( BOTTOM VIEW ) 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 AP AM AK AH AF AD AB Y V T P M K H F D B AR AN AL AJ AG AE AC AA W U R N L J G E C A HFH PACKAGE ( TOP VIEW ) 320 1 241 240 161 160 80 81 Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of Texas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet. † IEEE Standard 1149.1–1990, IEEE Standard Test Access Port and Boundary-Scan Architecture Copyright 1998, Texas Instruments Incorporated PRODUCTION DATA information is current as of publication date. Products conform to specifications per the terms of Texas Instruments standard warranty. Production processing does not necessarily include testing of all parameters. POST OFFICE BOX 1443 On products compliant to MIL-PRF-38535, all parameters are tested unless otherwise noted. On all other products, production processing does not necessarily include testing of all parameters. • HOUSTON, TEXAS 77251–1443 1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 Table of Contents description GF Pin Assignments – Numerical Listing GF Pin Assignments – Alphabetical Listing HFH Pin Assignments – Numerical Listing HFH Pin Assignments – Alphabetical Listing Terminal Functions architecture master processor (MP) architecture MP control registers MP parameter RAM MP interrupt vectors MP opcode formats MP opcode summary PP architecture PP registers PP data-unit registers PP address-unit registers PP program flow control (PFC) unit registers PP cache architecture PP parameter RAM PP-interrupt vectors PP data unit architecture PP multiplier PP program-flow-control unit architecture PP address-unit architecture PP instruction set PP opcode formats EALU operations TC architecture local memory interface external memory timing examples 2 3 5 7 9 13 14 17 21 28 29 30 30 35 36 37 37 38 40 41 41 42 43 44 46 47 50 59 61 65 71 SDRAM-type cycles special register set cycles device reset absolute maximum ratings over specified temperature ranges recommended operating conditions electrical characteristics over recommended ranges of supply voltage and operating case temperature signal transition levels timing parameter symbology general notes on timing parameters CLKIN timing requirements local-bus switching characteristics over full operating range: CLKOUT device reset timing requirements local bus timing requirements: cycle configuration inputs local bus timing: cycle completion inputs general output signal characteristics over operating conditions data input timing local bus timing: 2-cycle/column CAS timing external interrupt timing XPT input timing host-interface timing video interface timing: SCLK timing video interface timing: FCLK input and video outputs video interface timing: external sync inputs emulator interface connection MECHANICAL DATA MECHANICAL DATA 105 116 127 128 128 128 129 130 130 131 131 132 133 134 137 139 140 141 142 143 144 145 146 147 150 151 description The SMJ320C80 is a single-chip, MIMD parallel processor capable of performing over two billion operations per second. It consists of a 32-bit RISC master processor with a 100-MFLOPS (million floating-point operations per second) IEEE floating-point unit, four 32-bit parallel processing digital signal processors (DSPs), a transfer controller with up to 400-MBps off-chip transfer rate, and a video controller. All the processors are coupled tightly through an on-chip crossbar that provides shared access to on-chip RAM. This performance and programmability make the ’C80 ideally suited for video, imaging, and high-speed telecommunications applications. 2 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 GF Pin Assignments – Numerical Listing PIN NUMBER PIN PIN PIN NAME NUMBER NAME NUMBER NAME A5 CT1 C21 VDD HACK C23 VDD W E33 A7 E35 C25 DBEN F2 VSS CAS / DQM7 C27 C29 VSS CAREA0 F4 A13 A15 CAS / DQM5 C31 CBLNK0 / VBLNK0 F10 A17 D2 RETRY F12 A19 VDD VSS D4 F14 A21 RAS D6 VDD VSS A23 DSF D8 AS0 F18 A25 VSS SCLK1 D10 UTIME F20 D12 D14 VSS RESET F22 A31 VDD EINT1 D16 REQ0 F26 B2 NC D18 F28 B4 BS1 D20 VSS CAS / DQM0 B6 VDD PS1 D22 FCLK1 F34 B8 D24 B10 REQ1 D26 VSS CAREA1 B12 D28 SCLK0 B14 VDD CAS / DQM6 D30 B16 CAS / DQM3 B18 B20 VDD CAS / DQM1 B22 TRG / CAS B24 A9 A11 NUMBER NAME HSYNC0 L5 TCK L31 VSS VSS VDD VSS L33 TRST L35 XPT1 VDD VSS M2 VDD VSS VDD PS0 M32 VSS CT2 N1 N3 A8 VDD VSS N5 F8 F16 M4 M34 VSS VDD VDD N31 VSS VSS VDD VSS N33 TMS N35 VDD VSS P2 VDD A4 P4 A9 VDD VDD P32 TDO G1 P34 XPT0 G3 A2 R1 G5 A1 R3 G31 EINT2 R5 D32 VSS VDD VSS VDD VDD G33 CBLNK1 / VBLNK1 R31 D34 VSYNC0 G35 R33 E1 AS1 H2 VDD STATUS0 E3 FAULT H4 A3 T2 VSS A5 E5 CSYNC1 / HBLNK1 T4 A13 E7 VSS STATUS2 H32 B26 VDD DDIN H34 TDI T32 D62 B28 FCLK0 E9 READY J1 STATUS1 T34 EMU0 B30 VDD CSYNC0 / HBLNK0 E11 BS0 J3 U1 E13 VSS VDD U3 VDD A10 U5 PS3 A27 A29 B32 F24 F32 E15 VSS HREQ J31 C5 VSS STATUS3 E17 CAS / DQM4 J33 VDD VSS U31 NC C7 AS2 E19 RL J35 EMU1 U33 D61 C9 E21 STATUS5 K2 STATUS4 U35 C11 VSS CT0 E23 K4 A6 V2 C13 PS2 E25 VSS CLKOUT VDD VDD K32 VSYNC1 V4 C15 VDD CLKIN E27 LINT4 K34 HSYNC1 V32 C17 E29 EINT3 L1 A0 V34 C19 CAS / DQM2 E31 VSS L3 A7 W1 C3 POST OFFICE BOX 1443 J5 R35 VDD VDD • HOUSTON, TEXAS 77251–1443 VSS VSS VDD A11 3 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 GF Pin Assignments – Numerical Listing (Continued) PIN NUMBER NUMBER PIN NAME NUMBER PIN NAME NUMBER NAME W3 A18 AG1 A16 AL17 D20 AN29 D35 W5 AG3 VSS VDD AL19 D21 AN31 D45 W31 VSS VSS AL21 D24 AN33 W33 D59 AG31 AL23 D63 AG33 AL25 VSS D29 AP4 W35 VDD VSS VDD A27 Y2 A12 AG35 D57 AL27 D32 AP8 VDD D5 Y4 A19 AH2 A20 AL29 D38 AP10 D8 Y32 XPT2 AH4 A30 AL31 AP12 Y34 D56 AH32 D44 AL33 VSS D48 AP14 VDD D13 AA1 VSS VDD AH34 D54 AL35 D53 AP16 D17 AJ1 AM2 A24 AP18 VDD VDD AJ3 VDD A31 AM4 AP20 AM6 AP22 D34 AJ31 AM8 D2 AP24 AA35 VDD VSS VSS VSS VDD VSS VDD D26 AJ33 D42 AM10 D6 AP26 VDD D39 AB2 A14 AJ35 AM12 D41 A21 AK2 AM14 VSS D14 AP28 AB4 VDD VDD AP30 AB32 D55 AK4 AM16 D19 AP32 VDD D47 AB34 D60 AK8 VSS VDD AM18 D0 VDD A22 AK10 VSS VDD AM20 VSS D23 AR5 AC1 AR7 AM22 D25 AR9 VDD D7 VSS VSS AK14 AM26 VSS D31 AR11 AK16 VSS VDD AM24 AC31 AR13 VSS D11 AC33 D52 AK18 NC AM28 D33 AR15 D15 AC35 VDD VDD AK20 VSS D27 AM30 AR17 AM32 VSS VDD AR19 VSS VDD VSS VSS AK24 VDD VSS AM34 D50 AR21 D30 AN5 A29 AR23 D36 AK28 VDD VSS AN7 D1 AR25 AE1 VDD A15 AN9 AR27 AE3 A26 AK34 AN11 AE5 AL1 AN13 D12 AR31 AE31 VSS VSS VDD A23 VSS D9 VSS D40 AL3 A25 AN15 AE33 D51 AL5 AN17 AE35 D58 AL7 VSS D3 VDD D18 AN19 D22 AF2 A17 AL9 D4 AN21 AF4 A28 AL11 D10 AN23 VDD D28 AF32 D46 AL13 AN25 D37 AF34 D49 AL15 VSS D16 AN27 VSS AA3 AA5 AA31 AA33 AC3 AC5 AD2 AD4 AD32 AD34 4 PIN NAME AG5 AJ5 AK12 AK22 AK26 AK32 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 AP6 AR29 VDD D43 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 GF Pin Assignments – Alphabetical Listing PIN NAME PIN NUMBER NAME A0 L1 A1 G5 A2 PIN NUMBER NAME CAS/DQM1 B20 CAS/DQM2 C19 G3 CAS/DQM3 A3 H4 A4 P2 A5 A6 A7 PIN NUMBER NAME NUMBER D24 AL21 DBEN C25 D25 AM22 DDIN B26 B16 D26 AP20 DSF A23 CAS/DQM4 E17 D27 AK22 EINT1 A31 CAS/DQM5 A15 D28 AN23 EINT2 G31 T2 CAS/DQM6 B14 D29 AL25 EINT3 E29 K4 CAS/DQM7 A13 D30 AR21 EMU0 T34 L3 CBLNK0/VBLNK0 C31 D31 AM26 EMU1 J35 A8 N3 CBLNK1/VBLNK1 G33 D32 AL27 FAULT E3 A9 P4 CLKIN C17 D33 AM28 FCLK0 B28 A10 U3 CLKOUT E25 D34 AP22 FCLK1 D22 A11 W1 CSYNC0/HBLNK0 B32 D35 AN29 HACK A9 A12 Y2 CSYNC1/HBLNK1 H32 D36 AR23 HREQ E15 A13 T4 CT0 C11 D37 AN25 HSYNC0 E33 A14 AB2 CT1 A5 D38 AL29 HSYNC1 K34 A15 AE1 CT2 F18 D39 AP26 LINT4 E27 A16 AG1 D0 AR5 D40 AR27 NC B2 A17 AF2 D1 AN7 D41 AP28 NC U31 A18 W3 D2 AM8 D42 AJ33 NC AK18 A19 Y4 D3 AL7 D43 AR31 PS0 F14 A20 AH2 D4 AL9 D44 AH32 PS1 B8 A21 AB4 D5 AP8 D45 AN31 PS2 C13 A22 AC3 D6 AM10 D46 AF32 PS3 U5 A23 AL1 D7 AR9 D47 AP32 RAS A21 A24 AM2 D8 AP10 D48 AL33 READY E9 A25 AL3 D9 AN11 D49 AF34 REQ0 D16 A26 AE3 D10 AL11 D50 AM34 REQ1 B10 A27 AP4 D11 AR13 D51 AE33 RESET D14 A28 AF4 D12 AN13 D52 AC33 RETRY D2 A29 AN5 D13 AP14 D53 AL35 RL E19 A30 AH4 D14 AM14 D54 AH34 SCLK0 D28 A31 AJ3 D15 AR15 D55 AB32 SCLK1 A27 AS0 D8 D16 AL15 D56 Y34 STATUS0 H2 AS1 E1 D17 AP16 D57 AG35 STATUS1 J1 AS2 C7 D18 AN17 D58 AE35 STATUS2 E7 BS0 E11 D19 AM16 D59 W33 STATUS3 C5 STATUS4 K2 BS1 B4 D20 AL17 D60 AB34 CAREA0 C29 D21 AL19 D61 U33 CAREA1 D26 D22 AN19 D62 T32 CAS/DQM0 D20 D23 AM20 D63 W35 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 5 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 GF Pin Assignments – Alphabetical Listing (Continued) PIN PIN PIN NUMBER NAME NUMBER NAME NUMBER NAME NUMBER STATUS5 E21 VDD VSS AR29 VSS VSS AA35 E35 VDD VDD R31 TCK TDI H34 VDD VDD U1 VSS VSS A19 VSS VSS AC31 VSS VSS C3 VSS VSS AD32 VSS VSS C27 VSS VSS AE31 VSS VSS D12 VSS VSS AG33 VSS VSS D24 VSS VSS AJ31 VSS VSS E5 VSS VSS AK10 VSS VSS AK20 VSS VSS AK32 VSS VSS AL13 VSS VSS AL31 VSS VSS AM12 VSS VSS AM24 TDO P32 TMS N33 TRG/CAS B22 TRST L33 UTIME D10 VDD VDD A17 A7 VDD VDD A29 VDD VDD B12 VDD VDD B24 VDD VDD C15 VDD VDD 6 PIN NAME B6 B18 B30 C21 D4 D32 VDD VDD F2 VDD VDD F12 VDD VDD F24 VDD VDD F34 VDD VDD G35 VDD VDD J31 VDD VDD M34 VDD VDD N35 VDD F8 F20 F28 G1 J5 M2 VDD VDD R33 U35 V2 V34 VDD VDD AA3 VDD VDD AA31 VDD VDD AC1 VDD VDD AA5 AA33 AC35 AD2 AD34 VDD VDD AG5 AG31 VDD VDD AJ35 AJ1 VDD VDD AK2 VDD VDD AK12 VDD VDD AK24 VDD VDD AK34 VDD VDD AM32 VDD VDD AN21 VDD VDD AP6 AK8 AK16 AK28 AM4 AN15 AN33 AP12 VDD VDD AP18 VDD VDD AP30 R3 R5 VDD N1 VSS VSS VSS VSS A11 A25 C9 D6 D18 D30 E13 E23 E31 F4 F10 VSS VSS F16 VSS VSS F26 VSS VSS J3 F22 F32 J33 VSS VSS L31 VSS VSS M32 VSS VSS VSS VSS L5 M4 N5 N31 R1 AG3 AJ5 AK4 AK14 AK26 AL5 AL23 AM6 AM18 AM30 AN9 AN27 AR11 AR17 V4 VSYNC1 K32 V32 W C23 W5 XPT0 P34 W31 XPT1 L35 XPT2 Y32 VSS VSS AR19 VSS AA1 • HOUSTON, TEXAS 77251–1443 AE5 R35 AR7 POST OFFICE BOX 1443 VSS VSS AD4 VSS VSYNC0 VSS VSS AP24 VSS VSS AC5 AR25 D34 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 HFH Pin Assignments – Numerical Listing PIN PIN PIN NUMBER NAME NUMBER NAME NUMBER 1 STATUS3 41 CAS/DQM6 2 42 3 VSS STATUS2 VSS CAS/DQM5 4 STATUS1 44 5 45 VDD CAS/DQM4 6 VDD STATUS0 46 7 AS2 47 8 AS1 PIN NAME NUMBER NAME 81 LINT4 121 82 EINT3 122 VDD D59 83 EINT2 123 84 EINT1 124 85 CBLNK1 / VBLNK1 125 CAS/DQM3 86 CBLNK0 / VBLNK0 126 VDD D57 CT2 87 127 XPT2 48 CAS/DQM2 88 VSS VSS 128 VSS CAS/DQM1 89 CSYNC1 / HBLNK1 129 VSS D56 90 130 91 VDD VDD 43 VSS D58 9 AS0 49 10 FAULT 50 11 READY 51 12 RETRY 52 VDD CAS/DQM0 92 CSYNC0 / HBLNK0 132 D55 13 UTIME 53 RL 93 VSYNC1 133 14 BS1 54 RAS 94 VSYNC0 134 VSS D54 15 BS0 55 95 CT1 56 96 VSS VSS 135 16 VSS VSS 17 CT0 57 HSYNC1 137 PS2 58 VSS TRG/CAS 97 18 98 138 19 PS1 59 VDD VDD 139 D52 20 PS0 60 140 21 VDD RESET 61 141 VDD D51 24 VSS HREQ 25 HACK 26 66 27 VSS VSS 28 REQ1 68 29 REQ0 69 30 VDD VDD 22 23 31 32 33 34 35 36 37 38 39 40 VDD FCLK1 99 136 VDD VDD VDD D53 VSS VSS 101 62 VDD VDD VDD HSYNC0 102 TRST 142 D50 63 W 103 TCK 143 D49 64 STATUS5 104 TMS 144 65 VDD DSF 105 TDI 145 VSS VSS 106 TDO 146 D48 VSS DBEN 107 EMU1 147 108 XPT0 148 VDD VDD 109 XPT1 149 70 VDD DDIN 110 150 71 CLKOUT 111 VSS VSS VDD D47 151 D46 VSS VDD VSS 72 CAREA1 112 EMU0 152 D45 73 VSS SCLK1 113 VDD D63 153 VSS VSS VSS CLKIN 75 VDD FCLK0 115 D62 155 D44 116 156 VSS CAS/DQM7 77 VSS SCLK0 117 VSS D61 VDD VDD 158 VDD VDD 79 VDD CAREA0 119 VSS D60 159 VDD D43 120 VDD 160 D42 67 74 76 78 80 POST OFFICE BOX 1443 100 131 114 118 • HOUSTON, TEXAS 77251–1443 154 157 7 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 HFH Pin Assignments – Numerical Listing (Continued) PIN NUMBER NUMBER NUMBER NAME 161 D41 162 VSS VSS 241 D0 281 242 VDD VDD 282 VDD VDD 244 A31 284 VDD A15 164 D40 165 166 VDD D39 245 285 PS3 246 VSS A30 167 D38 207 286 A14 247 A29 287 248 288 249 VSS VSS VSS VDD 168 D37 208 169 VSS D36 209 289 A13 250 A28 290 D16 251 291 252 292 A12 213 VDD D15 VDD VDD VSS VSS 172 VSS VDD 173 D35 293 D34 214 D14 254 VDD A27 VDD A11 174 175 D33 215 D13 255 A26 176 295 VSS D32 216 256 A25 296 217 VSS VSS 257 218 D12 258 VSS VSS 297 179 VDD VDD 219 220 VSS A24 299 D31 VDD VDD 259 180 181 D30 221 261 D29 222 VDD VDD 301 182 VDD D11 302 VDD A7 183 VSS VSS 223 D10 263 303 A6 224 D9 264 VDD A23 304 VSS D28 225 VSS D8 265 A22 305 VSS VSS 266 306 A5 227 307 228 VDD VDD 267 188 VDD VDD VDD A21 308 VSS A4 189 D27 229 D7 269 VSS VSS 190 D26 230 D6 270 A20 310 191 D25 231 D5 271 311 192 VSS D24 232 272 312 233 VSS VSS VDD VDD 273 A19 313 234 D4 274 235 275 196 D23 236 VDD D3 VSS A18 314 195 VDD VDD 276 A17 316 197 D22 237 D2 277 A0 238 318 239 VSS D1 278 199 VSS D21 VSS VSS 317 198 319 200 VSS 240 VSS 280 VSS A16 VDD STATUS4 320 VSS 170 171 177 178 184 185 186 187 193 194 NAME NUMBER 201 D20 202 VDD VDD 204 D19 205 VDD D18 VSS D17 210 VSS VSS 211 212 PIN NAME 163 8 PIN NAME 203 206 226 POST OFFICE BOX 1443 243 253 260 262 268 279 • HOUSTON, TEXAS 77251–1443 283 294 298 300 309 315 VSS A10 VDD A9 VSS A8 VDD VDD VDD A3 VDD A2 VSS A1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 HFH Pin Assignments – Alphabetical Listing PIN PIN PIN PIN NAME NUMBER NAME NUMBER NAME NUMBER NAME NUMBER A0 317 CAS/DQM1 50 D30 181 DBEN 68 A1 316 CAS/DQM2 48 D31 180 DDIN 70 A10 296 CAS/DQM3 46 D32 177 DSF 66 A11 294 CAS/DQM4 45 D33 175 EINT1 84 A12 292 CAS/DQM5 43 D34 174 EINT2 83 A13 289 CAS/DQM6 41 D35 173 EINT3 82 A14 286 CAS/DQM7 38 D36 170 EMU0 112 A15 284 CBLNK0/VBLNK0 86 D37 168 EMU1 107 A16 280 CBLNK1/VBLNK1 85 D38 167 FAULT 10 A17 276 CLKIN 36 D39 166 FCLK0 76 A18 275 CLKOUT 71 D4 234 FCLK1 60 A19 273 CSYNC0/HBLNK0 92 D40 164 HACK 25 A2 314 CSYNC1/HBLNK1 89 D41 161 HREQ 24 A20 270 CT0 17 D42 160 HSYNC0 101 A21 267 CT1 16 D43 159 HSYNC1 97 A22 265 CT2 47 D44 155 LINT4 81 A23 264 D0 241 D45 152 PS0 20 A24 260 D1 239 D46 151 PS1 19 A25 256 D10 223 D47 150 PS2 18 A26 255 D11 222 D48 146 PS3 285 A27 254 D12 218 D49 143 RAS 54 A28 250 D13 215 D5 231 READY 11 A29 247 D14 214 D50 142 REQ0 29 A3 312 D15 213 D51 141 REQ1 28 A30 246 D16 211 D52 139 RESET 22 A31 244 D17 208 D53 136 RETRY 12 A4 308 D18 206 D54 134 RL 53 A5 306 D19 204 D55 132 SCLK0 78 A6 303 D2 237 D56 129 SCLK1 74 A7 302 D20 201 D57 126 STATUS0 6 A8 300 D21 199 D58 124 STATUS1 4 3 A9 298 D22 197 D59 122 STATUS2 AS0 9 D23 196 D6 230 STATUS3 1 AS1 8 D24 193 D60 119 STATUS4 319 AS2 7 D25 191 D61 117 STATUS5 64 BS0 15 D26 190 D62 115 TCK 103 TDI 105 BS1 14 D27 189 D63 114 CAREA0 80 D28 186 D7 229 CAREA1 72 D29 182 D8 226 CAS/DQM0 52 D3 236 D9 224 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 9 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 HFH Pin Assignments – Alphabetical Listing (Continued) PIN PIN PIN NUMBER NAME NUMBER NAME NUMBER NAME NUMBER TDO 106 VSS VSS 110 VSS VSS 259 104 VDD VDD 243 TMS TRG/CAS 58 VDD VDD 252 VSS VSS 116 VSS VSS 268 VDD VDD 261 VSS VSS 123 VSS VSS 27 VDD VDD 263 VSS VSS 133 VDD VDD 271 VSS VSS 138 VDD VDD 281 VSS VSS 145 VDD VDD 283 VSS VSS 154 VDD VDD 293 VSS VSS 163 VSS VSS 171 VSS VSS 183 VSS VSS 185 VSS VSS 198 VSS VSS 200 VSS VSS 209 VSS VSS 217 VSS VSS 23 TRST 102 UTIME 13 VDD VDD 100 VDD VDD 120 VDD VDD 125 VDD VDD 131 VDD VDD 140 VDD VDD 148 VDD VDD 156 VDD VDD 158 VDD VDD 172 VDD VDD 179 VDD VDD 188 VDD VDD 195 VDD VDD 203 VDD VDD 10 PIN NAME 113 121 130 135 147 149 157 165 178 187 194 202 205 21 212 VDD VDD 219 VDD VDD 221 VDD VDD 228 220 227 235 VDD VDD 251 253 262 266 272 282 288 297 30 301 VDD VDD 309 VDD VDD 311 310 313 VDD VDD 318 VDD VDD 40 VDD VDD 44 VDD VDD 51 VDD VDD 61 VDD VDD 65 VDD VDD 75 VDD VDD 90 98 VDD 31 VDD VDD VDD 242 VSS 39 33 5 59 62 111 118 128 137 144 153 162 169 176 184 192 2 207 216 225 232 26 269 274 VSS VSS 277 VSS VSS 279 VSS VSS 290 VSS VSS 295 VSS VSS 304 VSS VSS 307 VSS VSS 320 VSS VSS 35 VSS VSS 42 VSS VSS 55 VSS VSS 57 VSS VSS 73 VSS VSS 87 95 278 287 291 299 305 315 34 37 49 56 67 77 88 VSS VSS 233 238 VSS VSS VSS VSS 240 VSYNC0 94 245 VSYNC1 93 VSS VSS 248 W 63 249 XPT0 108 257 XPT1 109 99 VSS VSS 210 XPT2 127 32 VSS 258 69 79 91 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 96 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 Terminal Functions TERMINAL NAME DESCRIPTION TYPE† LOCAL MEMORY INTERFACE A31 – A0 O Address bus. A31 – A0 output the 32-bit byte address of the external memory cycle. The address can be multiplexed for DRAM accesses. AS2 – AS0 I Address-shift selection. AS2 – AS0 determine how the column address appears on the address bus. Eight shift values are supported, including zero. BS1 – BS0 I Bus size selection. BS1 – BS0 indicate the bus size of the memory or other devices being accessed, allowing dynamic bus sizing for data buses less than 64 bits wide. CT2 – CT0 I Cycle timing selection. CT2 – CT0 signals determine the timing of the current memory access. D63 – D0 I/O Data bus. D63 – D0 transfer up to 64 bits of data per memory cycle into or out of the ’C80. DBEN O Data-buffer enable. DBEN drives the active-low output enables of bidirectional transceivers that can be used to buffer input and output data on D63 – D0. DDIN O Data direction indicator. DDIN indicates the direction of the data that passes through the transceivers. When DDIN is low, the transfer is from external memory into the ’C80. FAULT I Fault. FAULT is driven low by external circuitry to inform the ’C80 that a fault has occurred on the current memory row access. PS3 – PS0 I Page size indication. PS3 – PS0 indicate the page size of the memory device(s) being accessed by the current cycle. The ’C80 uses this information to determine when to begin a new row access. READY I Ready. READY indicates that the external device is ready to complete the memory cycle. READY is driven low by external circuitry to insert wait states into a memory cycle. RL O Row latch. The high-to-low transition of RL can be used to latch the valid 32-bit byte address that is present on A31 – A0. RETRY I Retry. RETRY is driven low by external circuitry to indicate that the addressed memory is busy. The ’C80 memory cycle is rescheduled. STATUS5 – STATUS0 O Status code. At row time, STATUS5 – STATUS0 indicate the type of cycle being performed. At column time, they identify the processor and type of request that initiated the cycle. UTIME I User-timing selection. UTIME causes the timing of RAS and CAS / DQM7 – CAS / DQM0 to be modified so that custom memory timings can be generated. During reset, UTIME selects the endian mode in which the ’C80 operates. CAS / DQM7 – CAS / DQM0 O Column-address strobes. CAS / DQM7 – CAS / DQM0 drive the CAS inputs of DRAMs and VRAMs, or the DQM input of synchronous dynamic random-access memories (SDRAMs). The eight strobes provide byte-write access to memory. DSF O Special function. DSF selects special VRAM functions such as block-write, load color register, split-register transfer, and synchronous graphics random-access memory (SGRAM) block write. RAS O Row-address strobe. RAS drives the RAS inputs of DRAMs, VRAMs, and SDRAMs. TRG / CAS O Transfer / output enable or column-address strobe. TRG / CAS is used as an output enable for DRAMs and VRAMs, and also as a transfer enable for VRAMs. TRG / CAS also drives the CAS inputs of SDRAMs. W O Write enable. W is driven low before CAS during write cycles. W controls the direction of the transfer during VRAM transfer cycles. DRAM, VRAM, AND SDRAM CONTROL † I = input, O = output, Z = high-impedance ‡ This pin has an internal pullup and can be left unconnected during normal operation. § This pin has an internal pulldown and can be left unconnected during normal operation. ¶ For proper operation, all VDD and VSS pins must be connected externally. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 11 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 Terminal Functions (Continued) TERMINAL NAME DESCRIPTION TYPE† HOST INTERFACE O Host acknowledge. The ’C80 drives HACK output low following an active HREQ to indicate that it has driven the local memory bus signals to the high-impedance state and is relinquishing the bus. HACK is driven high asynchronously following HREQ being detected inactive, and then the ’C80 resumes driving the bus. HREQ I Host request. An external device drives HREQ low to request ownership of the local memory bus. When HREQ is high, the ’C80 owns and drives the bus. HREQ is synchronized internally to the ’C80’s internal clock. Also, HREQ is used at reset to determine the power-up state of the MP. If HREQ is low at the rising edge of RESET, the MP comes up running. If HREQ is high, the MP remains halted until the first interrupt occurrence on EINT3. REQ1, REQ0 O Internal cycle request. REQ1 and REQ0 provide a two-bit code indicating the highest-priority memory cycle request that is being received by the TC. External logic can monitor REQ1 and REQ0 to determine if it is necessary to relinquish the local memory bus to the ’C80. HACK SYSTEM CONTROL CLKIN I Input clock. CLKIN generates the internal ’C80 clocks to which all processor functions (except the frame timers) are synchronous. CLKOUT O Local output clock. CLKOUT provides a way to synchronize external circuitry to internal timings. All ’C80 output signals (except the VC signals) are synchronous to this clock. EINT1, EINT2, EINT3 I Edge-triggered interrupts. EINT1, EINT2 and EINT3 allow external devices to interrupt the master processor (MP) on one of three interrupt levels (EINT1 is the highest priority). The interrupts are rising-edge triggered. EINT3 also serves as an unhalt signal. If the MP is powered-up halted, the first rising edge on EINT3 causes the MP to unhalt and fetch its reset vector (the EINT3 interrupt-pending bit is not set in this case). LINT4 I Level-triggered interrupt. LINT4 provides an active-low level-triggered interrupt to the MP. Its priority falls below that of the edge-triggered interrupts. Any interrupt request should remain low until it is recognized by the ’C80. RESET I Reset. RESET is driven low to reset the ’C80 (all processors). During reset, all internal registers are set to their initial state and all outputs are driven to their inactive or high-impedance levels. During the rising edge of RESET, the MP reset mode and the ’C80’s operating endian mode are determined by the levels of HREQ and UTIME pins, respectively. XPT2 – XPT0 I External packet transfer. XPT2 – XPT0 are used by external devices to request a high-priority XPT by the TC. I/O Emulation pins. EMU0 and EMU1 are used to support emulation host interrupts, special functions targeted at a single processor, and multiprocessor halt-event communications. TCK‡ I Test clock. TCK provides the clock for the ’C80 IEEE-1149.1 logic, allowing it to be compatible with other IEEE-1149.1 devices, controllers, and test equipment designed for different clock rates. TDI‡ I Test data input. TDI provides input data for all IEEE-1149.1 instructions and data scans of the ’C80. TDO TMS‡ O Test data output. TDO provides output data for all IEEE-1149.1 instructions and data scans of the ’C80. I Test-mode select. TMS controls the IEEE-1149.1 state machine. TRST§ I Test reset. TRST resets the ’C80 IEEE-1149.1 module. When low, all boundary-scan logic is disabled, allowing normal ’C80 operation. EMULATION CONTROL EMU0, EMU1‡ † I = input, O = output, Z = high-impedance ‡ This pin has an internal pullup and can be left unconnected during normal operation. § This pin has an internal pulldown and can be left unconnected during normal operation. ¶ For proper operation, all VDD and VSS pins must be connected externally. 12 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 Terminal Functions (Continued) TERMINAL NAME DESCRIPTION TYPE† VIDEO INTERFACE CAREA0, CAREA1 O Composite area. CAREA0 and CAREA1 define a special area such as an overscan boundary. This area represents the logical OR of the internal horizontal and vertical area signals. Composite blanking / vertical blanking. Each of CBLNK0 / VBLNK0 and CBLNK1 / VBLNK1 provides one of two blanking functions, depending on the configuration of the CSYNC / HBLNK pin: CBLNK0 / VBLNK0, CBLNK1 / VBLNK1 O Composite blanking disables pixel display /capture during both horizontal and vertical retrace periods and is enabled when CSYNC is selected for composite-sync video systems. Vertical blanking disables pixel display /capture during vertical retrace periods and is enabled when HBLNK is selected for separate-sync video systems. Following reset, CBLNK0 / VBLNK0 and CBLNK1 / VBLNK1 are configured as CBLNK0 and CBLNK1, respectively. Composite sync / horizontal blanking. CSYNC0 / HBLNK0 and CSYNC1 / HBLNK1 can be programmed for one of two functions: CSYNC0 / HBLNK0, CSYNC1 / HBLNK1 I/O/Z Composite sync is for use on composite-sync video systems and can be programmed as an input, output, or high-impedance signal. As an input, the ’C80 extracts horizontal and vertical sync information from externally generated active-low sync pulses. As an output, the active-low composite-sync pulses are generated from either external HSYNC and VSYNC signals or the ’C80’s internal video timers. In the high-impedance state, the pin is neither driven nor allowed to drive circuitry. Horizontal blank disables pixel display / capture during horizontal retrace periods in separate-sync video systems and can be used as an output only. Immediately following reset, CSYNC0 / HBLNK0 and CSYNC1 / HBLNK1 are configured as high-impedance CSYNC0 and CSYNC1, respectively. FCLK0, FCLK1 HSYNC0, HSYNC1 SCLK0, SCLK1 VSYNC0, VSYNC1 I Frame clock. FCLK0 and FCLK1 are derived from the external video system’s dotclock and are used to drive the ’C80 video logic for frame timer 0 and frame timer 1. I/O/Z Horizontal sync. HSYNC0 and HSYNC1 control the video system. They can be programmed as input, output, or high impedance signals. As an input, HSYNC synchronizes the video timer to externally generated horizontal sync pulses. As an output, HSYNC is an active-low horizontal sync pulse generated by the ’C80 on-chip frame timer. In the high-impedance state, the pin is not driven, and no internal synchronization is allowed to occur. Immediately following reset, HSYNC0 and HSYNC1 are in the high-impedance state. I Serial data clock. SCLK0 and SCLK1 are used by the ’C80 shift register transfer (SRT) controller to track the VRAM tap point when using midline reload. SCLK0 and SCLK1 should be the same signals that clock the serial register on the VRAMs controlled by frame timer 0 and frame timer 1, respectively. I/O/Z Vertical sync. VSYNC0 and VSYNC1 control the video system. They can be programmed as inputs, outputs, or high-impedance signals. As inputs, VSYNCx synchronize the frame timer to externally generated vertical-sync pulses. As outputs, VSYNCx are active-low vertical-sync pulses generated by the ’C80 on-chip frame timer. In the high-impedance state, the pin is not driven and no internal synchronization is allowed to occur. Immediately following reset, VSYNCx is in the high-impedance state. POWER VSS¶ VDD¶ I Ground. Electrical ground inputs I Power. Nominal 3.3-V power supply inputs † I = input, O = output, Z = high-impedance ‡ This pin has an internal pullup and can be left unconnected during normal operation. § This pin has an internal pulldown and can be left unconnected during normal operation. ¶ For proper operation, all VDD and VSS pins must be connected externally. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 13 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 Terminal Functions (Continued) TERMINAL NAME DESCRIPTION TYPE† MISCELLANEOUS NC No connect serves as an alignment key or is for factory use and must be left unconnected. † I = input, O = output, Z = high-impedance ‡ This pin has an internal pullup and can be left unconnected during normal operation. § This pin has an internal pulldown and can be left unconnected during normal operation. ¶ For proper operation, all VDD and VSS pins must be connected externally. architecture Figure 1 shows the major components of the ’C80: the master processor (MP), the parallel digital signal processors (PPs), the transfer controller ( TC), and the IEEE-1149.1 emulation interface. Shared access to on-chip RAM is achieved through the crossbar. Crossbar connections are represented by . Each PP can perform three accesses per cycle through its local ( L ), global ( G ), and instruction ( I ) ports. The MP can access two RAMs per cycle through its crossbar/data ( C/ D) and instruction ( I ) ports, and the TC can access one RAM through its crossbar interface. Up to nine simultaneous accesses are supported in each cycle. Addresses can be changed every cycle, allowing the crossbar matrix to be changed on a cycle-by-cycle basis. Contention between processors for the same RAM in the same cycle is resolved by a round-robin priority scheme. In addition to the crossbar, a 32-bit data path exists between the MP and the TC and VC. This allows the MP to access TC control registers that are memory-mapped into the MP memory space. The ’C80 has a 4G-byte address space as shown in Figure 2. The lower 32M bytes are used to address internal RAM and memory-mapped registers. 14 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 I Instruction Cache 32 Data RAM2 64 I 32 Data RAM2 64 I Instruction Cache 32 Data RAM1 Data RAM2 64 I POST OFFICE BOX 1443 Data RAM2 Data RAM1 Data RAM0 • HOUSTON, TEXAS 77251–1443 Data Cache Data Cache OCR I Instruction Cache 64 64 15 SGUS025 – AUGUST 1998 VC TC IEEE1149.1 (JTAG) 32 SMJ320C80 DIGITAL SIGNAL PROCESSOR MP 32 Instruction Cache C/D 64 Parameter RAM ADSP0 32 Instruction Cache L G Parameter RAM ADSP1 32 Data RAM0 L G Parameter RAM ADSP2 32 Data RAM0 L G Parameter RAM ADSP3 64 Data RAM0 L G 32 Data RAM1 Local port Global port Instruction port Crossbar/data port Instruction Cache Figure 1. Block Diagram Showing Data Paths Data RAM1 architecture (continued) 32 L G I C/D Parameter RAM SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 architecture (continued) 0xFFFFFFFF ADSP3 Parameter RAM (2K bytes) Reserved (2K bytes) ADSP2 Parameter RAM (2K bytes) External Memory (4064M bytes) Reserved (2K bytes) ADSP1 Parameter RAM (2K bytes) Reserved (8 063K bytes) Memory-Mapped VC Registers (512 bytes) Memory-Mapped TC Registers (512 bytes) Reserved (28K bytes) MP Instruction Cache (4K bytes) Reserved (28K bytes) MP Data Cache (4K bytes) Reserved (32K bytes) ADSP3 Instruction Cache (2K bytes) Reserved (6K bytes) ADSP2 Instruction Cache (2K bytes) Reserved (6K bytes) ADSP1 Instruction Cache (2K bytes) Reserved (6K bytes) ADSP0 Instruction Cache (2K bytes) Reserved (2K bytes) 0x02000000 0x01FFFFFF 0x01820400 0x018203FF ADSP0 Parameter RAM (2K bytes) ADSP3 Data RAM2 (2K bytes) 0x01820000 0x0181FFFF Reserved (2K bytes) 0x01819000 0x01818FFF ADSP2 Data RAM2 (2K bytes) 0x01818000 0x01817FFF Reserved (2K bytes) 0x01811000 0x01810FFF ADSP1 Data RAM2 (2K bytes) 0x01810000 0x0180FFFF Reserved (2K bytes) 0x01808000 0x01807FFF ADSP0 Data RAM2 (2K bytes) 0x01807800 0x018077FF 0x01805800 0x018057FF ADSP3 Data RAM1 (2K bytes) 0x01804000 0x01803FFF ADSP3 Data RAM0 (2K bytes) 0x01803800 0x018037FF ADSP2 Data RAM1 (2K bytes) 0x01802000 0x01801FFF ADSP2 Data RAM0 (2K bytes) 0x01801800 0x018017FF ADSP1 Data RAM1 (2K bytes) ADSP1 Data RAM0 (2K bytes) 0x01010800 0x010107FF ADSP0 Data RAM1 (2K bytes) 0x01010000 0x0100FFFF ADSP0 Data RAM0 (2K bytes) 0x01003800 Figure 2. Memory Map POST OFFICE BOX 1443 0x01002800 0x010027FF 0x01002000 0x01001FFF 0x01001800 0x010017FF 0x01001000 0x01000FFF 0x01000800 0x010007FF 0x01000000 0x00FFFFFF 0x0000B800 0x0000B7FF 0x0000B000 0x0000AFFF 0x0000A800 0x0000A7FF 0x0000A000 0x00009FFF 0x00009800 0x000097FF 0x00009000 0x00008FFF 0x00008800 0x000087FF 0x00008000 0x00007FFF Reserved (16K bytes) 0x01806000 0x01805FFF Registers (50K bytes) 16 0x01003000 0x01002FFF Reserved (16 338K bytes) 0x01820200 0x018201FF Registers (8 132K bytes) MP Parameter RAM (2K bytes) 0x010037FF • HOUSTON, TEXAS 77251–1443 0x00004000 0x00003FFF 0x00003800 0x000037FF 0x00003000 0x00002FFF 0x00002800 0x000027FF 0x00002000 0x00001FFF 0x00001800 0x000017FF 0x00001000 0x00000FFF 0x00000800 0x000007FF 0x00000000 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 master processor (MP) architecture The master processor (MP) is a 32-bit RISC processor with an integral IEEE-754 floating-point unit. The MP is designed for effective execution of C code and is capable of performing at well over 130 000 dhrystones/s. Major tasks which the MP typically performs are: D D D Task control and user interface Information processing and analysis IEEE-754 floating point (including graphics transforms) MP functional block diagram Figure 3 shows a block diagram of the master processor. Key features of the MP include: D D D D D D D D D D D 32-bit RISC processor – Load/store architecture – Three operand arithmetic and logical instructions 4K-byte instruction cache and 4K-byte data cache – Four-way set associative – Least-recently-used (LRU) information replacement – Data writeback 4K-byte noncached parameter RAM Thirty-one 32-bit general-purpose registers Register and accumulator scoreboard 15-bit or 32-bit immediate constants 32-bit byte addressing Scalable timer Leftmost-one and rightmost-one logic IEEE-754 floating-point hardware – Four double-precision floating-point vector accumulators – Vector floating-point instructions Floating-point operation and parallel load or store Multiply and accumulate High performance – 50 million instructions per second (MIPS) – 100 million floating-point operations per second (MFLOPS) – Over 130 000 dhrystones/s POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 17 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MP functional block diagram (continued) Register File (Thirty-One 32-Bit Registers) Scoreboard Barrel Rotator Mask Generator Double-Precision Floating-Point Multiplier (Single-Precision Core) Zero Comparator Integer Arithmetic and Logic Unit (ALU) Leftmost / Rightmost One Double-Precision Floating-Point Accumulators Timer Control Registers Double-Precision Floating-Point Adder Instruction Register Program Counters (PCs) PC Incrementer Emulation Logic Endian Multiplexers Instruction Cache Controller Data-Cache Controller Crossbar Interface Figure 3. MP Block Diagram MP general-purpose registers The MP contains 31 32-bit general-purpose registers, R1 – R31. Register R0 always reads as zero and writes to it are discarded. Double-precision values are always stored in an even-odd register pair with the higher-numbered register always holding the sign bit and exponent. The R0/R1 pair is not available for this use. A scoreboard keeps track of which registers are awaiting loads or the result of a previous instruction and stalls the instruction pipeline until the register contains valid data. As a recommended software convention, R1 is typically used as a stack pointer and R31 as a return-address link register. Figure 4 shows the MP general-purpose registers. 18 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MP general-purpose registers (continued) Zero/Discard Not Available R1 R2 R2 R3 R2, R3 R4 R4 R5 R4, R5 • • • • • • R30 R30 R31 R30, R31 32-Bit Registers 64-Bit Register Pairs Figure 4. MP General-Purpose Registers The 32-bit registers can contain signed-integer, unsigned-integer, or single-precision floating-point values. Signed and unsigned bytes and halfwords are sign-extended or zero-filled. Doublewords can be stored in a 64-bit even/odd register pair. Double-precision floating-point values are referenced using the even register number or the register pair. Figure 5 through Figure 7 show the register data formats. 31 Si l P i i Single-Precision Floating Point 22 0 S E E E E E E E E M M M M M M M M M M M M M M M M M M M M M M M MS LS 31 Si d 32-bit 32 bit Signed Integer S 0 I I I I I I I I I I I I I I I I I I I I MS I I I I I I I I I 0 U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U MS S E M I U MS LS I LS 31 32 Bit Unsigned 32-Bit Integer I LS Sign bit Exponent Value Signed integer value Unsigned integer value Most significant Least signficant Figure 5. MP Register 32-Bit Data Formats POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 19 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MP general-purpose registers (continued) 31 Signed Byte 7 S S S S S S S S S S S S S S S S S S S S S S S S S 0 I I I I I I MS 31 Unsigned Byte 0 LS 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 U U U U U U U U MS 31 Signed Halfword 0 I I I I I I MS 31 Unsigned U i d Halfword 0 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 I I I I I I I I I LS 0 U U U U U U U U U U U U U U U U MS S I U MS LS LS 15 S S S S S S S S S S S S S S S S S I LS Sign bit(s) Signed byte/halfword value Unsigned byte/halfword value Most significant Least signficant Figure 6. MP Register 8-Bit and 16-Bit Data Formats 31 Odd Register 0 Most Significant 32-Bit Word MS 31 Even Register 0 Least Significant 32-Bit Word LS 31 Odd Register 19 0 S E E E E E E E E E E E M M M M M M M M M M M M M M M M M M M M MS 31 Even Register 0 M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M LS S E I U MS LS Sign bit(s) Exponent Signed byte/halfword value Unsigned byte/halfword value Most significant Least signficant Figure 7. MP Register 64-Bit Data Formats 20 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MP double-precision floating-point accumulators There are four double-precision floating-point registers (see Figure 8) to accumulate intermediate floating-point results. 63 0 a0 Accumulator 0 a1 Accumulator 1 a2 Accumulator 2 a3 Accumulator 3 MSB S E M MS LS LSB Sign bit Exponent Value Most significant Least signficant Figure 8. Double-Precision Floating-Point Accumulators MP control registers In addition to the general-purpose registers, there are a number of control registers that are used to represent the state of the processor. Table 1 shows the control register numbers of the accessible registers. Table 1. Control Register Numbers NUMBER NAME DESCRIPTION NUMBER NAME 0x0000 EPC Exception Program Counter 0x0015–0x001F — 0x0001 EIP Exception Instruction Pointer 0x0020 SYSSTK System Stack Pointer 0x0002 CONFIG Configuration 0x0021 SYSTMP System Temporary Register 0x0003 — 0x0022–0x002F — 0x0004 INTPEN Interrupt Pending Register 0x0030 MPC Emulator Exception Program Counter 0x0005 — Reserved 0x0031 MIP Emulator Exception Instruction Pointer 0x0006 IE Interrupt Enable Register 0x0032 — 0x0007 — Reserved 0x0033 ECOMCNTL 0x0008 FPST Floating-Point Status 0x0034 ANASTAT 0x0009 — 0x000A PPERROR 0x000B 0x000C Reserved Reserved DESCRIPTION Reserved Reserved Reserved Emulator Communication Control Emulation Analysis Status Register 0x0035–0x0038 — PP Error Register 0x0039 BRK1 Reserved Emulation Breakpoint 1 Register — Reserved 0x003A BRK2 Emulation Breakpoint 2 Register — Reserved 0x003B–0x01FF — 0x0200 – 0x020F iCACHET Instruction Cache Tags 0 to 15 Reserved 0x000D PKTREQ Packet-Transfer Request Register 0x000E TCOUNT Current Counter Value 0x0300 iCACHEL Instruction Cache LRU Register 0x000F TSCALE Counter Reload Value 0x0010 FLTOP 0x0011 0x0400–0x040F dCACHET Data Cache Tags 0 to 15 Faulting Operation 0x0500 dCACHEL Data Cache LRU Register FLTADR Faulting Address 0x4000 IN0P Vector Load Pointer 0 0x0012 FLTTAG Faulting Tag 0x4001 IN1P Vector Load Pointer 1 0x0013 FLTDTL Faulting Data (low) 0x4002 OUTP Vector Store Pointer 0x0014 FLTDTH Faulting Data (high) POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 21 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MP pipeline registers The MP uses a three-stage fetch, execute, access (FEA) pipeline. The primary pipeline registers are manipulated implicitly by branch and trap instructions and are not accessible by the user. The exception and emulation pipeline registers are user-accessible as control registers. All pipeline registers are 32 bits. Program Execution Mode Normal Exception Emulation PC EPC MPC Instruction Pointer IP EIP MIP Instruction Register IR Program Counter • • • • Instruction register (IR) contains the instruction being executed. Instruction pointer (IP) points to the instruction being executed. Program counter (PC) points to the instruction being fetched. • Exception/emulator instruction pointer (EIP/MIP) points to the instruction that would have been executed had the exception / emulation trap not occurred. Exception/emulator program counter (EPC/MPC) points to the instruction to be fetched on returning from the exception/emulation trap. Figure 9. MP FEA Pipeline Registers configuration (CONFIG) register (0x0002) The CONFIG register controls or reflects the state of certain options as shown in Figure 10. 3 1 3 0 2 9 2 8 2 7 E R T H X E R T H X Type Release 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 9 1 8 1 7 Reserved 1 6 1 5 1 4 1 3 1 2 Type 1 1 1 0 Reserved Endian mode; 0 = big-endian, 1 = little-endian, read only PPData RAM round robin; 0 = fixed, 1 = variable, read / write TC packet transfer (PT) round robin; 0 = variable, 1 = fixed, read / write High priority MP events; 0 = disabled, 1 = enabled, read / write Externally initiated packet transfers; 0 = disabled, 1 = enabled, read / write Number of PPs in device, read only SMJ320C80 version number Figure 10. CONFIG Register 22 POST OFFICE BOX 1443 9 • HOUSTON, TEXAS 77251–1443 8 7 6 5 Release 4 3 2 1 Reserved 0 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 interrupt-enable (IE) register (0x0006) The IE register contains enable bits for each of the interrupts/traps as shown in Figure 11. The global-interrupt-enable (ie) bit and the appropriate individual interrupt-enable bit must be set in order for an interrupt to occur. 3 1 3 0 2 9 2 8 2 7 2 6 2 5 p e x 4 x 3 b p p b p c m i pe x4 x3 bp pb pc mi p3 2 4 2 3 2 2 2 1 2 0 1 9 1 8 1 7 1 6 1 5 1 4 p 3 p 2 p 1 p 0 i o m f PP error External interrupt 4 (LINT4) External interrupt 3 (EINT3) Bad packet transfer Packet transfer busy Packet transfer complete MP message interrupt PP3 message interrupt p2 p1 p0 io mf x2 x1 ti 1 3 1 2 1 1 1 0 9 8 7 6 5 x 2 x 1 ti f 1 f 0 f x f u f o f1 f0 fx fu fo fz fi ie Frame-timer 1 interrupt Frame-timer 0 interrupt Floating-point inexact Floating-point underflow Floating-point overflow Floating-point divide-by-zero Floating-point invalid Global-interrupt enable PP2 message interrupt PP1 message interrupt PP0 message interrupt Integer overflow Memory fault External interrupt 2 (EINT2) External interrupt 1 (EINT1) MP timer interrupt 4 3 2 fz fi 1 0 ie Figure 11. IE Register interrupt-pending (INTPEN) register (0x0004) The bits in INTPEN register show the current state of each interrupt/trap. Pending interrupts do not occur unless the ie bit and corresponding interrupt-enable bit are set. Software must write a 1 to the appropriate INTPEN bit to clear an interrupt. Figure 12 shows the INTPEN register locations. 3 1 3 0 2 9 2 8 2 7 2 6 2 5 p e x 4 x 3 b p p b p c m i pe x4 x3 bp pb pc mi p3 2 4 2 3 PP error External interrupt 4 (LINT4) External interrupt 3 (EINT3) Bad packet transfer Packet transfer busy Packet transfer complete MP message interrupt PP3 message interrupt 2 2 2 1 2 0 1 9 1 8 1 7 1 6 1 5 1 4 p 3 p 2 p 1 p 0 i o m f p2 p1 p0 io mf x2 x1 ti 1 3 1 2 1 1 1 0 9 8 7 6 5 x 2 x 1 ti f 1 f 0 f x f u f o f1 f0 fx fu fo fz fi ie Frame-timer 1 interrupt Frame-timer 0 interrupt Floating-point inexact Floating-point underflow Floating-point overflow Floating-point divide-by-zero Floating-point invalid Global-interrupt enable PP2 message interrupt PP1 message interrupt PP0 message interrupt Integer overflow Memory fault External interrupt 2 (EINT2) External interrupt 1 (EINT1) MP timer interrupt 4 3 2 fz fi 1 0 Figure 12. INTPEN Register POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 23 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 floating-point status (FPST) register (0x0008) FPST contains status and control information for the floating-point unit (FPU) as shown in Figure 13. Bits 17–21 are read/write FPU control bits. Bits 22 – 26 are read/write accumulated status bits. All other bits show the status of the last FPU instruction to complete and are read only. 3 1 3 0 2 9 2 8 2 7 dest dest ai az ao au ax sm fs vm drm opcode e1 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 9 1 8 1 7 ai a z a o a u a x s m f s v m drm 1 6 1 5 1 4 1 3 opcode 1 1 e 1 e 0 1 0 9 pd 8 7 6 rm The ninth MSB of exponent Destination precision 00 – single float 01 – double float Rounding mode 00 – nearest 01 – zero Int multiply overflow Invalid Divide-by-zero Overflow Underflow Inexact e0 pd Destination register value Accumulated value invalid Accumulated divide-by-zero Accumulated overflow Accumulated underflow Accumulated inexact Sequential mode select Floating-point stall Vector fast mode Rounding mode 00 – nearest 10 – positive ∞ 01 – zero 11 – negative ∞ Last opcode The tenth MSB of exponent 1 2 rm mo i z o u x 5 4 3 2 1 0 mo i z o u x 10 – signed int 11 – unsigned int 10 – positive ∞ 11 – negative ∞ Figure 13. FPST Register PP error (PPERROR) register (0x000A) The bits in the PPERROR register reflect parallel processor errors (see Figure 14). The MP can use these when a PP error interrupt occurs to determine the cause of the error. 3 1 3 0 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 Reserved PP# h I f 0 1 1 9 1 8 1 7 1 6 h h h h 3 2 1 0 1 5 1 4 1 3 1 2 1 1 i i i i PP# 3 2 1 0 Reserved 1 0 9 8 7 6 5 4 3 f f f f PP# 3 2 1 0 Reserved 2 1 0 PPhalted PP illegal instruction PP fault type icache Direct external access (DEA) Figure 14. PPERROR Register packet-transfer request (PKTREQ) register (0x000D) PKTREQ controls the submission and priority of packet-transfer requests as shown in Figure 15. It also indicates that a packet transfer is currently active. 3 1 3 0 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 9 1 8 1 7 1 6 1 5 1 4 1 3 1 2 1 1 Reserved I F S Q P Immediate (urgent) priority selected High (foreground) priority selected Suspend packet transfer Packet transfer queued; read only Submit packet-transfer request Figure 15. PKTREQ Register 24 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 1 0 9 8 7 6 5 4 3 2 1 0 I F S Q P SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 memory-fault registers The five read-only memory-fault registers contain information about memory address exceptions, as shown in Figure 16. FLTOP (0x0010) FLTTAG (0x0011) 3 1 3 0 2 9 2 8 2 7 2 6 2 5 2 4 Dest 3 1 3 0 2 9 2 3 2 2 2 1 2 0 1 9 1 8 1 7 Reserved 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 1 6 1 5 1 4 K 2 0 1 9 1 8 1 7 1 3 SZ 1 6 1 5 1 4 1 3 1 2 1 1 1 0 9 i d x r 1 2 1 1 1 0 9 8 7 6 5 4 3 2 P D P D P D P D 22-Bit Cache Tag Address 8 7 6 5 4 3 2 Reserved 3 2 1 0 Block 1 1 0 0 Sub-Block 31 0 FLTADR (0x0012) Faulting Address Accessed by the Instruction FLTDTH (0x0013) Faulting Write Most-Significant-Data Word FLTDTL (0x0014) Faulting Write Least-Significant-Data Word Dest K SZ Destination Register Number Kind of Operation: 00 – load 01 – unsigned load 10 – store 11 – cache flush/clean Size of Data: 00 – 8-bit 01 – 16-bit 10 – 32-bit 11 – 64-bit i d x r Block P D MP icache fault MP dcache fault DEA Fault Modified return sequence Faulting block number Sub-block is present. Dirty bit set Figure 16. Memory-Fault Registers POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 25 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MP cache registers The ILRU and DLRU registers track least-recently-used (LRU) information for the sixteen instruction-cache and sixteen data-cache blocks. The ITAGxx registers contain block addresses and the present flags for each sub-block. DTAGxx registers are identical to ITAGxx registers but include dirty bits for each sub-block. Figure 17 shows the cache registers. ILRU (0x0300) DLRU (0x0500) 3 1 3 0 MRU 2 9 2 8 NMRU 2 7 2 6 NLRU 2 5 2 4 LRU 2 3 2 2 MRU 2 1 2 0 1 9 NMRU Set 3 1 8 NLRU 1 7 1 6 LRU 1 5 1 4 MRU 1 3 1 2 NMRU Set 2 1 1 1 0 NLRU 9 8 LRU 7 6 MRU 5 4 NMRU Set 1 3 2 NLRU 1 0 LRU Set 0 ITAG0 –ITAG15 (0x0200 – 0x020F) 3 1 3 0 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 9 1 8 1 7 1 6 1 5 1 4 1 3 1 2 1 1 1 0 9 8 P 22-Bit Cache Tag Address 7 6 P 3 5 4 P 2 3 2 1 0 1 0 P 1 0 Sub-Block DTAG0 – DTAG15 (0x0400 – 0x040F) 3 1 3 0 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 9 1 8 1 7 1 6 1 5 1 4 1 3 1 2 1 1 22-Bit Cache Tag Address 1 0 9 8 7 6 5 4 3 2 P D P D P D P D 3 2 1 Sub-Block MRU NMRU NLRU Most-recently-used Next most-recently-used Next least-recently-used LRU P D Least-recently-used Sub-block present Sub-block dirty mru, nmru, nlru, and lru have the value 0, 1, 2, or 3 representing the block number and are mutually exclusive for each set. Figure 17. Cache Registers 26 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 0 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MP cache architecture The MP contains two four-way set-associative, 4K caches for instructions and data. Each cache is divided into four sets with four blocks in each set. Each block represents 256 bytes of contiguous instructions or data and is aligned to a 256-byte address boundary. Each block is partitioned into four sub-blocks that each contain sixteen 32-bit words and are aligned to 64-byte boundaries within the block. Cache misses cause one sub-block to be loaded into cache. Figure 18 shows the cache architecture for one of the four sets in each cache. Figure 19 shows how addresses map into the cache using the cache tags and address bits. Block 0 Tag Reg 0 (Block 0) Block 1 Tag Reg 1 (Block 1) LRU in SET 0 Sub-Blocks NLRU in SET 0 NMRU in SET 0 Set 0 Block 2 Tag Reg 2 (Block 2) Block 3 Tag Reg 3 (Block 3) MRU in SET 0 LRU Stack for SET 0 LRU NLRU NMRU MRU Least-recently-used Next least-recently-used Next most-recently-used Most-recently-used Figure 18. MP Cache Architecture (x4 Sets) 32-Bit Logical Address 3 1 3 0 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 9 1 8 1 7 1 6 1 5 1 4 1 3 1 2 1 1 1 0 9 8 7 6 5 2 1 0 T T T T T T T T T T T T T T T T T T T T T T S S s s W W W W B B 4 3 On-Chip MP 4K Cache RAMS Bank 0 Bank 1 Set 0 Set 2 Set 1 Set 3 11 10 9 8 7 6 5 4 3 2 1 0 S S A A s s W W W W B B Address in On-Chip Cache Bank T – Tag Address Bits s – Sub-Block (within block) Select (0 – 3) B – Byte (within word) Select (0 – 3) S – Set Select Bits (0 – 3) W – Word (within sub-block) Select (0 – 15) A – Block Select (which tag matched) (0 – 3) Figure 19. MP Cache Addressing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 27 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MP parameter RAM The parameter RAM is a noncachable, 2K-byte, on-chip RAM that contains MP interrupt vectors, MP-requested TC task buffers, and a general-purpose area. Figure 20 shows the parameter RAM address map. 0x001010000– 0x0101007F Suspended PT Parameters (128 Bytes) 0x001010800– 0x010100DF Reserved (64 Bytes) 0x0010100E0– 0x010100FB XPT Linked List Start Addresses (60 Bytes) 0x0010100FC– 0x010100FF MP Linked List Start Address 0x001010100– 0x0101017F Off-Chip to Off-Chip PT Buffer (128 Bytes) 0x001010180– 0x0101021F Interrupt and Trap Vectors (160 Bytes) 0x001010220– 0x0101029F 0x0010102A0– 0x010107FF XPTf Linked List Start Add. XPTe Linked List Start Add. XPTd Linked List Start Add. XPTc Linked List Start Add. XPTb Linked List Start Add. XPTa Linked List Start Add. XPT9 Linked List Start Add. XPT8 Linked List Start Add. XPT7 Linked List Start Add. 0x010100E0 XPT6 Linked List Start Add. 0x010100E4 XPT Off-Chip to Off-Chip PT Buffer (128 Bytes) XPT5 Linked List Start Add. 0x010100E8 XPT4 Linked List Start Add. 0x010100EC General-Purpose RAM (3472 Bytes) XPT3 Linked List Start Add. 0x010100F0 XPT2 Linked List Start Add. 0x010100F4 XPT1 Linked List Start Add. 0x010100F8 Figure 20. MP Parameter RAM 28 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MP interrupt vectors Table 2 and Table 3 show the MP interrupts and traps and their vector addresses. Table 2. Maskable Interrupts IE BIT (TRAP#) NAME VECTOR ADDRESS 0 ie 0x01010180 2 fi 0x01010188 Floating-point invalid 3 fz 0x0101018C Floating-point divide-by-zero 5 fo 0x01010194 Floating-point overflow 6 fu 0x01010198 Floating-point underflow 7 fx 0x0101019C Floating-point inexact 8 f0 0x010101A0 Reserved 9 f1 0x010101A4 Reserved MASKABLE INTERRUPT 10 ti 0x010101A8 MP timer interrupt 11 x1 0x010101AC External interrupt 1 (EINT1) 12 x2 0x010101B0 External interrupt 2 (EINT2) 14 mf 0x010101B8 Memory fault 15 io 0x010101BC Integer overflow 16 p0 0x010101C0 PP0 message interrupt 17 p1 0x010101C4 PP1 message interrupt 18 p2 0x010101C8 Reserved 19 p3 0x010101CC Reserved 25 mi 0x010101E4 MP message interrupt 26 pc 0x010101E8 Packet-transfer complete 27 pb 0x010101EC Packet-transfer busy 28 bp 0x010101F0 Bad packet transfer 29 x3 0x010101F4 External interrupt 3 (EINT3) 30 x4 0x010101F8 External interrupt 4 (LINT4) 31 pe 0x010101FC PP error Table 3. Nonmaskable Traps TRAP NUMBER NAME VECTOR ADDRESS 32 e1 0x01010200 Emulator trap1 (reserved) 33 e2 0x01010204 Emulator trap2 (reserved) 34 e3 0x01010208 Emulator trap3 (reserved) 35 e4 0x0101020C Emulator trap4 (reserved) 36 fe 0x01010210 Floating-point error 0x01010214 Reserved 0x01010218 Illegal MP instruction 39 0x0101021C Reserved 72 to 415 0x010102A0 to 0x010107FC 37 38 er POST OFFICE BOX 1443 NONMASKABLE TRAP System- or user-defined • HOUSTON, TEXAS 77251–1443 29 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MP opcode formats The three basic classes of MP instruction opcodes are: short immediate, three register, and long immediate. Figure 21 shows the opcode structure for each class of instruction. 31 Short Immediate 27 26 31 27 26 27 26 Dest 1 1 15-Bit Immediate 13 12 11 1 Opcode 22 21 20 19 Source 2 0 Opcode 22 21 20 19 Source 2 Dest 31 Long Immediate 15 14 Source 2 Dest Three Register 22 21 0 5 4 Options 13 12 11 1 Opcode 1 0 Source 1 5 4 Options 0 Source 1 32-Bit Long Immediate Figure 21. MP Opcode Formats MP opcode summary Table 4 through Table 6 show the opcode formats for the MP. Table 7 summarizes the master processor instruction set. 30 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MP opcode summary (continued) Table 4. Short-Immediate Opcodes 3 1 3 0 trap – – cmnd – – illop0 2 9 2 8 2 7 2 6 2 5 – – E – – – – – – – – – – – – – – – – Dest rdcr Dest swcr Dest brcr – – – 2 4 2 3 2 2 2 1 2 0 1 9 1 8 1 7 1 6 1 5 0 0 0 0 0 0 0 Unsigned Immediate 0 0 0 0 0 0 1 Unsigned Trap Number – 0 0 0 0 0 1 0 Unsigned Immediate – 0 0 0 0 1 0 0 Unsigned Control Register Number 0 0 0 0 1 0 1 Unsigned Control Register Number Source Source – – – – – – – 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 0 0 0 1 1 0 shift.dz Dest Source 0 0 0 1 0 0 0 – – – i n Endmask Rotate shift.dm Dest Source 0 0 0 1 0 0 1 – – – i n Endmask Rotate shift.ds Dest Source 0 0 0 1 0 1 0 – – – i n Endmask Rotate shift.ez Dest Source 0 0 0 1 0 1 1 – – – i n Endmask Rotate shift.em Dest Source 0 0 0 1 1 0 0 – – – i n Endmask Rotate shift.es Dest Source 0 0 0 1 1 0 1 – – – i n Endmask Rotate shift.iz Dest Source 0 0 0 1 1 1 0 – – – i n Endmask Rotate shift.im Dest Source 0 0 0 1 1 1 1 – – – i n Endmask Rotate and.tt Dest Source2 0 0 1 0 0 0 1 Unsigned Immediate and.tf Dest Source2 0 0 1 0 0 1 0 Unsigned Immediate and.ft Dest Source2 0 0 1 0 1 0 0 Unsigned Immediate xor Dest Source2 0 0 1 0 1 1 0 Unsigned Immediate or.tt Dest Source2 0 0 1 0 1 1 1 Unsigned Immediate Dest Source2 0 0 1 1 0 0 0 Unsigned Immediate xnor Dest Source2 0 0 1 1 0 0 1 Unsigned Immediate or.tf Dest Source2 0 0 1 1 0 1 1 Unsigned Immediate or.ft Dest Source2 0 0 1 1 1 0 1 Unsigned Immediate or.ff Dest Source2 0 0 1 1 1 1 0 Unsigned Immediate ld Dest Base 0 1 0 0 M SZ Signed Offset Dest Base 0 1 0 1 M SZ Signed Offset Source Base 0 1 1 0 M SZ Signed Offset Source2 0 1 1 1 M 0 0 Signed Offset st dcache – A E F i – – – – F – – – – – bsr Link 1 0 0 0 0 0 A Signed Offset jsr Link Base 1 0 0 0 1 0 A Signed Offset bbz BITNUM Source 1 0 0 1 0 0 A Signed Offset bbo BITNUM Source 1 0 0 1 0 1 A Signed Offset bcnd Cond Source 1 0 0 1 1 0 A Signed Offset cmp Dest Source2 1 0 1 1 0 0 0 Signed Immediate add Dest Source2 1 0 1 1 0 0 U Signed Immediate sub Dest Source2 1 0 1 1 0 1 U Signed Immediate Reserved bit (code as 0) Annul delay slot instruction if branch taken Emulation trap bit Clear present flags Invert endmask POST OFFICE BOX 1443 0 0 Unsigned Control Register Number and.ff ld.u 0 1 M n SZ U Modify, write modified address back to register Rotate sense for shifting Size (0 = byte, 1 = halfword, 2 = word, 3 = doubleword) Unsigned form • HOUSTON, TEXAS 77251–1443 31 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MP opcode summary (continued) Table 5. Long-Immediate and Three-Register Opcodes 3 1 3 0 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 9 1 8 1 7 1 6 1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 trap – – – – E – – – – – 1 1 0 0 0 0 0 0 1 I – – – – – – – IND TR cmnd – – – – – – – – – – 1 1 0 0 0 0 0 1 0 I – – – – – – – Source1 – – – – – 1 1 0 0 0 0 1 0 0 I – – – – – – – IND CR 1 1 0 0 0 0 1 0 1 I – – – – – – – IND CR 1 1 0 0 0 0 1 1 0 I – – – – – – – IND CR rdcr Dest swcr Dest brcr – – – Source – – – – – – – 0 4 0 3 0 2 0 1 shift.dz Dest Source 1 1 0 0 0 1 0 0 0 I i n Endmask Rotate shift.dm Dest Source 1 1 0 0 0 1 0 0 1 I i n Endmask Rotate shift.ds Dest Source 1 1 0 0 0 1 0 1 0 I i n Endmask Rotate shift.ez Dest Source 1 1 0 0 0 1 0 1 1 I i n Endmask Rotate shift.em Dest Source 1 1 0 0 0 1 1 0 0 I i n Endmask Rotate shift.es Dest Source 1 1 0 0 0 1 1 0 1 I i n Endmask Rotate shift.iz Dest Source 1 1 0 0 0 1 1 1 0 I i n Endmask Rotate shift.im Dest Source 1 1 0 0 0 1 1 1 1 I i n Endmask Rotate and.tt Dest Source2 1 1 0 0 1 0 0 0 1 I – – – – – – – Source1 and.tf Dest Source2 1 1 0 0 1 0 0 1 0 I – – – – – – – Source1 and.ft Dest Source2 1 1 0 0 1 0 1 0 0 I – – – – – – – Source1 xor Dest Source2 1 1 0 0 1 0 1 1 0 I – – – – – – – Source1 or.tt Dest Source2 1 1 0 0 1 0 1 1 1 I – – – – – – – Source1 and.ff Dest Source2 1 1 0 0 1 1 0 0 0 I – – – – – – – Source1 xnor Dest Source2 1 1 0 0 1 1 0 0 1 I – – – – – – – Source1 or.tf Dest Source2 1 1 0 0 1 1 0 1 1 I – – – – – – – Source1 or.ft Dest Source2 1 1 0 0 1 1 1 0 1 I – – – – – – – Source1 or.ff Dest Source2 1 1 0 0 1 1 1 1 0 I – – – – – – – Source1 ld Dest Base 1 1 0 1 0 0 M SZ I S D – – – – – Offset ld.u Dest Base 1 1 0 1 0 1 M SZ I S D – – – – – Offset Base 1 1 0 1 1 0 M SZ I S D – – – – – Offset Source2 1 1 0 1 1 1 M 0 0 I 0 0 – – – – – Source 1 1 1 0 0 0 0 0 A I – – – – – – – Offset st dcache bsr – D E F i 32 Source – – – – F Link – – – – – jsr Link Base 1 1 1 0 0 0 1 0 A I – – – – – – – Offset bbz BITNUM Source 1 1 1 0 0 1 0 0 A I – – – – – – – Target Target bbo BITNUM Source 1 1 1 0 0 1 0 1 A I – – – – – – – bcnd Cond Source 1 1 1 0 0 1 1 0 A I – – – – – – – Target cmp Dest Source2 1 1 1 0 1 0 0 0 0 I – – – – – – – Source1 add Dest Source2 1 1 1 0 1 1 0 0 U I – – – – – – – Source1 sub Dest Source2 1 1 1 0 1 1 0 1 U I – – – – – – – Source1 Reserved bit (code as 0) Direct external access bit Emulation trap bit Clear present flags Invert endmask l M n S SZ POST OFFICE BOX 1443 0 0 Long immediate Modify, write modified address back to register Rotate sense for shifting Scale offset by data size Size (0 = byte, 1 = halfword, 2 = word, 3 = doubleword • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MP opcode summary (continued) Table 6. Miscellaneous Instruction Opcodes 3 1 3 0 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 9 1 8 1 7 1 6 1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 vadd Mem Src / Dst Source2 / Dest 1 1 1 1 0 – 0 0 0 I – m P – d m s Source1 vsub Mem Src / Dst Source2 / Dest 1 1 1 1 0 – 0 0 1 I – m P – d m s Source1 vmpy Mem Src / Dst Source2 / Dest 1 1 1 1 0 – 0 1 0 I – m P – d m s Source1 vmsub Mem Src / Dst Dest 1 1 1 1 0 a 0 1 1 I a m P Z – m – Source1 vrnd(FP) Mem Src / Dst Dest 1 1 1 1 0 a 1 0 0 I a m P m s Source1 vrnd(Int) Mem Src / Dst Dest 1 1 1 1 0 – 1 0 1 I – m P – d m s Source1 vmac Mem Src / Dst Source2 1 1 1 1 0 a 1 1 0 I a m P Z – m – Source1 vmac Mem Src / Dst Source2 1 1 1 1 0 a 1 1 1 I a m P Z – m – Source1 fadd Dest Source2 1 1 1 1 1 0 0 0 0 I – PD P2 P1 Source1 fsub Dest Source2 1 1 1 1 1 0 0 0 1 I – PD P2 P1 Source1 fmpy Dest Source2 1 1 1 1 1 0 0 1 0 I – PD P2 P1 Source1 fdiv Dest Source2 1 1 1 1 1 0 0 1 1 I – PD P2 P1 Source1 frndx Dest 1 1 1 1 1 0 1 0 0 I – PD RM P1 Source1 1 1 1 1 1 0 1 0 1 I – – P2 P1 Source1 1 1 1 1 1 0 1 1 1 I – PD P1 Source1 – – – – – – – fcmp Dest fsqrt Dest Source2 lmo Dest Source 1 1 1 1 1 1 0 0 0 – – – rmo Dest Source 1 1 1 1 1 1 0 0 1 – – – – – – PD 0 0 – – – – – – – – – – – – – – – – – – – – – – estop – – – – – – – – – – 1 1 1 1 1 1 1 1 0 – – – – – – – – – – – – – illopF – – – – – – – – – – 1 1 1 1 1 1 1 1 1 C – – – – – – – – – – – – – a C d l m Mem Src / Dst Dest Reserved bit (code as 0) Floating-point accumulator select Constant operands rather than register Destination precision for vector (0 = sp, 1 = dp) Long immediate 32-bit data Parallel memory operation specifier Vector store or load source / dst register Destination register POST OFFICE BOX 1443 P P1 P2 PD RM S Z Destination precision for parallel load / store (0 = single, 1 = double) Precision of source1 operand Precision of source2 operand Precision of destination result Rounding Mode (0 = N, 1 = Z, 2 = P, 3 = M) Scale offset by data size Use 0 rather than accumulator • HOUSTON, TEXAS 77251–1443 33 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MP opcode summary (continued) Table 7. Summary of MP Opcodes INSTRUCTION add INSTRUCTION DESCRIPTION Signed integer add or.ff Bitwise OR with 1s complement and.tt Bitwise AND or.ft Bitwise OR with 1s complement and.ff Bitwise AND with 1s complement or.tf Bitwise OR with 1s complement and.ft Bitwise AND with 1s complement rdcr Read control register and.tf Bitwise AND with 1s complement rmo Rightmost one bbo Branch bit one shift.dz Shift, disable mask, zero extend bbz Branch bit zero shift.dm Shift, disable mask, merge bcnd Branch conditional shift.ds Shift, disable mask, sign extend br Branch always shift.ez Shift, enable mask, zero extend brcr Branch control register shift.em Shift, enable mask, merge bsr Branch and save return shift.es Shift, enable mask, sign extend cmnd Send command shift.iz Shift, invert mask, zero extend cmp Integer compare shift.im Shift, invert mask, merge dcache Flush data cache sub-block st Store register into memory estop Emulation stop sub Signed integer subtract fadd Floating-point add swcr Swap control register fcmp Floating-point compare trap Trap Floating-point divide vadd Vector floating-point add fmpy Floating-point multiply vmac Vector floating-point multiply and add to accumulator frndx Floating-point convert/round vmpy Vector floating-point multiply fsqrt Floating-point square root vmsc Vector floating-point multiply and subtract from accumulator fsub Floating-point subtract vmsub Vector floating-point subtract accumulator from source illop Illegal operation vrnd(FP) Vector round with floating-point input jsr Jump and save return vrnd(Int) Vector round with integer input ld Load signed into register vsub Vector floating-point subtract ld.u Load unsigned into register xnor Bitwise exclusive NOR lmo Leftmost one xor Bitwise exclusive OR or.tt Bitwise OR fdiv 34 DESCRIPTION POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP architecture The parallel processor (PP) is a 32-bit integer DSP optimized for imaging and graphics applications. Each PP can execute in parallel: a multiply, ALU operation, and two memory accesses within a single instruction. This internal parallelism allows a single PP to achieve over 500 million operations per second for certain algorithms. The PP has a three-input ALU that supports all 256 three input Boolean combinations and many combinations of arithmetic and Boolean functions. Data-merging and bit-to-byte, bit-to-word, and bit-to-halfword translations are supported by hardware in the input data path to the ALU. Typical tasks performed by a PP include: D D D D D Pixel-intensive processing – Motion estimation – Convolution – PixBLTs – Warp – Histogram – Mean square error Domain transforms – Discrete Cosine Transform (DCT) – Fast Fourier Transform (FFT) – Hough Core graphics functions – Line – Circle – Shaded fills – Fonts Image analysis – Segmentation – Feature extraction Bit-stream encoding/decoding – Data merging – Table look-ups POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 35 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP functional block diagram Figure 22 shows a block diagram of a parallel processor. Key features of the PP include: D D D D D D D 36 64-bit instruction word (supports multiple parallel operations) Three-stage pipeline for fast instruction cycle Numerous registers – 8 data, 10 address, 6 index registers – 20 other user-visible registers Data Unit – 16 x 16 integer multiplier (optional dual 8 x 8) – Splittable 3-input ALU – 32-bit barrel rotator – Mask generator – Multiple status flag expander for translations to/from 1 bit-per-pixel space. – Conditional assignment of data unit results – Conditional source selection – Special processing hardware Leftmost one / rightmost one Leftmost bit change / rightmost bit change Memory addressing – Two address units (global and local) provide up to two 32-bit accesses in parallel with data unit operation. – 12 addressing modes (immediate and indexed) – Byte, halfword, and word addressability – Scaled indexed addressing – Conditional assignment for loads – Conditional source selection for stores Program flow – Three hardware loop controllers Zero overhead looping / branching Nested loops Multiple loop endpoints – Instruction cache management – PC mapped to register file – Interrupts for messages and context switching Algebraic assembly language POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP functional block diagram (continued) Data Unit ALU Data Path Multiplier Data Path d0 – d7 Expander Mask Generator Barrel Rotator Three-Input ALU mf and sr Registers Local Address Unit Global Destination Global Source Local Destination / Source a0 – a4, a7 x0 – x2 Global Address Unit a8 – a12, a15 sp = a6 = a14 Local Data Path x8 – x10 Global Data Path Program Flow Control Unit Three Zero-Overhead Loop / Branch Controllers Repl Instruction and Cache Control Repl 32 A/S A/S 64 Local Data Port Instruction Port Global Data Port Repl Replicate hardware A/S Align/sign-extend hardware 32 IAP LAP GAP IAP Instruction address port LAP Local address port GAP Global address port Figure 22. PP Block Diagram POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 37 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP registers The PP contains many general-purpose registers, status registers, and configuration registers. All PP registers are 32-bit registers. Figure 23 shows the accessible registers of the PP blocks. Data-Unit Registers Data Registers Multiple Flags Status d0 / EALU Operation mf sr d1 d2 d3 d4 d5 d6 d7 Address-Unit Registers Global-Address Unit Address Registers Index Flags Local-Address Unit Address Registers Index Flags a8 x8 a0 x0 a9 x9 a1 x1 a10 x10 a2 x2 a11 a3 a12 a14 / sp a15 = 0 a4 Stack Pointer Same Physical Register Prgram Flow Control (PFC) Unit Registers PC-Related Registers Loop Addresses a6/ sp a7 = 0 Loop Counts Communications pc (br, call) ls0 lr0 comm iprs ls1 lr1 Interrupts ipa (read only) ls2 lr2 lntflg ipe (read only) le0 lc0 inten Cache Tags le1 lc1 tag0 (read only) le2 lc2 tag1 (read only) tag2 (read only) Loop Control tag3 (read only) lctl Figure 23. PP Registers 38 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP data-unit registers The data unit contains eight 32-bit general-purpose data registers (d0–d7) referred to as the D registers. The d0 register also acts as the control register for extended ALU (EALU) operations. d0 register Figure 24 shows the format when d0 is used as the EALU control register. 31 30 29 28 FMOD FMOD A C I S N 27 26 A 25 24 23 22 21 20 19 EALU Function Code 18 17 16 15 14 13 12 11 10 9 C I S N E F T – – DMS Function modifiers Arithmetic enable EALU carry-In Invert-carry-In Sign extend Nonmultiple mask E F DMS M R DBR 8 7 6 5 4 3 M R U 2 1 0 DBR Explicit multiple carry-in Expanded multiple flags Default multiply shift amount Split multiply Rounded multiply Default barrel rotate amount Figure 24. d0 Format for EALU Operations multiple flags (mf) register The mf register records status information from each split ALU segment for multiple arithmetic operations. The mf register can be expanded to generate a mask for the ALU. Figure 25 shows the mf register format. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 7 6 5 6 5 4 3 2 4 3 2 1 0 1 0 Figure 25. mf Register Format status register (sr) The sr contains status and control bits for the PP ALU. See Figure 26. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 N C V Z – – – – – – – – – – – – – – – – – – – MSS N C V Z R Negative status bit Carry status bit Overflow status bit Zero status bit Rotation bit MSS Msize Asize R Msize Asize mf status selection 00 – set by zero 10 – set by extended result 01 – set by sign 11 – reserved Expander data size Split ALU data size Figure 26. sr Format PP address-unit registers address registers The address unit contains ten 32-bit address registers which contain the base address for address computations or which can be used for general-purpose data. The registers a0 – a4 are used for local-address computations and registers a8–a12 are used for global-address computations. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 39 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 index registers The six 32-bit index registers contain index values for use with the address registers in address computations or they can be used for general-purpose data. Registers x0 – x3 are used by the local-address unit and registers x8 – x9 are used by the global-address unit. stack pointer (sp) The sp contains the address of the top of the PP’s system stack. The stack pointer is addressed as a6 by the local-address unit and as a14 by the global-address unit. Figure 27 shows the sp register format. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 Word-Aligned Address 1 0 0 0 Figure 27. sp Register Format zero registers The zero registers are read-as-zero address registers for the local address unit (a7) and global-address unit (a15). Writes to the registers are ignored and can be specified when operational results are to be discarded. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Figure 28. Zero Registers PP program flow control (PFC) unit registers loop registers The loop registers control three levels of zero-overhead loops. The 32-bit loop-start registers (ls0 – ls2) and loop-end registers (le0 – le2) contain the starting and ending addresses for the loops. The loop-counter registers (lc0 – lc2) contain the number of repetitions remaining in their associated loops. The lr0 – lr2 registers are loop reload registers used to support nested loops. The format for the loop-control (lctl) register is shown in Figure 29. There are also six special write-only mappings of the loop-reload registers. The lrs0 – lrs2 codes are used for fast initialization of lsn, lrn, and lcn registers for multi-instruction loops while the lrse0 – lrse2 codes are used for single instruction-loop fast initialization. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 – – – – – – – – – – – – – – – – – – – – E E LCDn Loop-end enable Loop-counter designator 000 – None 010 – lc1 001 – lc0 011 – lc2 1xx – reserved 10 9 LCD2 le2 8 7 E 6 5 LCD1 le1 4 3 E 2 1 0 LCD0 le0 Figure 29. lctl Register pipeline registers The PFC unit contains a pointer to each stage of the PP pipeline. The pc contains the program counter which points to the instruction being fetched. The ipa points to the instruction in the address stage of the pipeline and the ipe points to the instruction in the execute stage of the pipeline. The instruction pointer return-from-subroutine (iprs) register contains the return address for a subroutine call. 40 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 pipeline registers (continued) 31 30 29 28 27 26 25 24 23 22 21 pc 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 PC (29-Bit Doubleword Address) 31 30 29 28 27 26 25 24 23 22 21 20 19 1 0 – G L G – Global Interrupt Enable ipa 2 L – Loop Inhibit 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 32-Bit Copy of the Previous pc Register Value 31 30 29 28 27 26 25 24 23 22 ipe 21 20 19 18 17 16 15 14 13 12 11 10 32-Bit Copy of the Previous ipa Register Value 31 30 29 28 27 26 25 24 23 22 21 iprs 20 19 18 17 16 15 14 13 12 11 10 29-Bit Doubleword Return Address 2 1 0 – – – Figure 30. Pipeline Registers interrupt registers The interrupt-enable (inten) register allows individual interrupts to be enabled and configures the interrupt flag (intflg) register operation. The intflg register contains the interrupt flag bits. Interrupt priority increases moving from left to right on intflg. inten intflg 31 30 29 28 r r r r 27 24 23 22 21 20 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 E E E E 26 25 – – – E E E E – – E – – – – – – – – – – – – – W P P P P 3 2 M M S S G G P P 1 M S G P P 0 M S G 19 18 M P M S G P T E N D P T E R R P T Q 0 T A S K 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 r r r r I I I I – – – I I I I – – I – – – – – – – – – – – – – – r E W PPnMSG Reserved (write as 0) Enable interrupt Write mode 0 – writing 1 clears intflg 1 – writing 1 sets intflg PPn message interrupt MPMSG PTEND PTERR PTQ TASK MP message interrupt Packet transfer complete Packet-transfer error Packet transfer queued MP task interrupt Figure 31. PP-Interrupt Registers POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 41 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 communication (comm) register The comm register contains the packet-transfer handshake bits and PP indicator bits. 31 30 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 H S Q P 29 – – – – – – – – – – – – – – – – – – – – – – – – – H S Q P High-priority packet transfer Packet-transfer suspend Packet transfer queued Submit packet transfer request PP# 2 1 0 PP# PP Number (read only) 000 – PP0 010 – PP2 001 – PP1 011 – PP3 1xx – Not implemented Figure 32. comm Register cache-tag registers The tag0 – tag3 registers contain the tag address and sub-block present bits for each cache block. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 23-Bit Tag Address P LRU Present bit Least-recently-used code 00 – Most-recently-used (MRU) 10 – next LRU 01 – next MRU (NMRU) 11 – LRU Sub-Block # 8 7 6 5 4 3 2 1 0 P P P P – – – LRU 3 2 1 0 Figure 33. Cache-Tag Registers PP cache architecture Each PP has its own 2K-byte instruction cache. Each cache is divided into four blocks and each block is divided into four sub-blocks containing 16 64-bit instructions each. Cache misses cause one sub-block to be loaded into cache. Figure 34 shows the cache architecture for one of the four sets in each cache. Figure 35 shows how addresses map into the cache using the cache tags and address bits. Block 0 Tag 0 (Block 0) Block 1 Tag 1 (Block 1) Block 2 Tag 2 (Block 2) Block 3 Tag 3 (Block 3) LRU Sub-Blocks NLRU NMRU MRU LRU Stack Figure 34. PP Cache Architecture 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 23-Bit Tag Value 7 sub 6 5 4 instruction sub – sub-block Figure 35. PP Register Cache-Address Mapping 42 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 3 2 1 0 ignored SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP parameter RAM The parameter RAM is a 2K-byte, on-chip RAM which contains PP-interrupt vectors, PP-requested TC task buffers, and a general-purpose area. The parameter RAM does not use the cache memory. Figure 35 shows the parameter RAM address map. Suspended PT Parameters (128 Bytes) 0x0100#000– 0x0100#07F Reserved (120 Bytes) 0x0100#080– 0x0100#0F7 DEA / Cache Fault Address 0x0100#0F8– 0x0100#0FB PP Linked-List Start Address 0x0100#0FC – 0x0100#0FF Off-Chip to Off-Chip PT Buffer (128 Bytes) 0x0100#100– 0x0100#17F Interrupt Vectors (128 Bytes) 0x0100#180– 0x0100#1FF General-Purpose RAM (3572 Bytes Less Stack Size) 0x0100#200 Application-Dependent Boundary Stack 0x0100#FF7 Stack State Information After Reset (12 Bytes) Stack Pointer After Reset 0x0100#FF4– 0x0100#FFF # – PP Number Figure 36. PP Parameter RAM Address Map PP-interrupt vectors The PP interrupts and their vector addresses are shown in Table 8. Table 8. PP-Interrupt Vectors NAME VECTOR ADDRESS INTERRUPT TASK 0x0100#1B8 Task Interrupt PTQ 0x0100#1C4 Packet Transfer Queued PTERR 0x0100#1C8 Packet-Transfer Error PTEND 0x0100#1CC Packet Transfer End MPMSG 0x0100#1D0 MP Message PP0MSG 0x0100#1E0 PP0 Message PP1MSG 0x0101#1E4 PP1 Message POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 43 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP data-unit architecture The data unit has independent data paths for the ALU and the multiplier, each with its own set of hardware functions. The multiplier data path includes a 16 × 16 multiplier, a halfword swapper, and rounding hardware. The ALU data path includes a 32-bit three-input ALU, a barrel rotator, mask generator, multiple flag (mf) expander, left/rightmost one and left/rightmost bit-change logic, and several multiplexers. Figure 37 shows the data-unit block diagram. src1 / src2 / dstc / 0 dst2 src3 src4 src4 / src2 0 src1 / 0x1 d0 Rotate Amount Multiplexer mf Mask Generator Multiplexer Expander LMO, RMO, LMBC, RMBC Barrel Rotator Mask Generator C Port Multiplexer Multiplier (Splittable) Barrel Rotator Input Sign Bit Scale Round A B Three-Input ALU (Splittable) Swap / Merge C ALU Function Code Logic N, C, V, Z, LV mf src1 scr2 scr3 scr4 dst/dst1 Any register, D reg only for left/right most one (LMO/RMO), left/right most bit change (LMBC/RMBC) hardware D reg or sometimes 5/32-bit immediate dst2 D reg only D reg only dstc D reg only (destination companion reg source) D reg only 0x1 Constant Any register 0 Constant d0 5 LSBs of d0 Figure 37. Data-Unit Block Diagram 44 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 dst / dst1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP data-unit architecture (continued) The PP’s ALU can be split into one 32-bit ALU, two 16-bit ALUs, or four 8-bit ALUs. Figure 38 shows the multiple arithmetic data flow for the case of a four 8-bit split of the ALU (called multiple-byte arithmetic). The ALU operates as independent parallel ALUs where each ALU receives the same function code. 32 Rotate Clear mf Register 4 Expander (Replicate) 8 A B C C-Out C-IN 8 8 A B C C-Out C-IN C-IN Logic 8 A B C C-Out C-IN C-IN Logic 8 A B C C-Out C-IN C-IN Logic 8 C, Z, S, or E C, Z, S, or E 8 sr(C) C-IN Logic 8 C, Z, S, or E C, Z, S, or E Figure 38. Multiple-Byte Arithmetic Data Flow PP multiplier The PP’s hardware multiplier can perform one 16x16 multiply with a 32-bit result or two 8x8 multiplies with two 16-bit results in a single cycle. A 16x16 multiply can use signed or unsigned operands as shown in Figure 39. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 X X X X X X X X X X X X X X X X S 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 S S 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 X X X X X X X X X X X X X X X X 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Signed Input 14 13 12 11 10 11 10 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 5 4 3 2 1 0 Signed × Signed Result 15 14 13 12 Unsigned Input 15 14 13 12 11 10 9 8 7 6 Unsigned × Unsigned Result Figure 39. 16 x 16 Multiplier Data Formats POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 45 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP multiplier (continued) When performing two simultaneous 8x8 split multiplies, the first input word contains unsigned byte operands and the second input word contains signed or unsigned byte operands. These formats are shown in Figure 40 and Figure 41. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 X X X X X X X X X X X X X X X X 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 X X X X X X X X X X X X X X X X S 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 1b × 2b Signed Result S 15 14 13 12 11 10 9 8 7 6 Unsigned Input 1b 14 13 12 11 10 9 8 Signed Input 2b 14 13 12 11 10 9 5 4 3 2 1 0 Unsigned Input 1a 7 6 S 8 7 5 4 3 2 1 0 Signed Input 2a 6 5 4 3 2 1 0 4 3 2 1 0 1a × 2a Signed Result S Figure 40. Signed Split Multiply Data Formats 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 X X X X X X X X X X X X X X X X 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 X X X X X X X X X X X X X X X X 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 Unsigned Input 1b 15 14 13 12 11 10 9 Unsigned Input 1a 8 7 6 Unsigned Input 2b 15 14 13 12 11 1b × 2b Unsigned Result 10 9 5 5 4 3 2 1 0 Unsigned Input 2a 8 7 6 5 4 3 2 1 0 1a × 2a Unsigned Result Figure 41. Unsigned Split Multiply Data Formats PP program-flow-control unit architecture The program-flow-control (pfc) unit performs instruction fetching and decoding, loop control, and handshaking with the transfer controller. The pfc unit architecture is shown in Figure 43. The PP has a three-stage fetch, address, execute (FAE) pipeline as shown in Figure 42. The pc, ipa, and ipe registers point to the address of the instruction in each stage of the pipeline. On each cycle in which the pipeline advances, ipa is copied into ipe, pc is copied into ipa, and the pc is incremented by one instruction (8 bytes). pc Instruction One Two Three T1 T2 T3 T4 Fetch Address Execute Fetch Address Execute Fetch Address T5 ipa Execute ipe Figure 42. FAE-Instruction Pipeline 46 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP program-flow-control unit architecture (continued) pc lprs incrementer Cache Controller Tag Comparators ipa ipe Tag Registers Present Bits LRU Stack Loop Controller 0 ls0 le0 lctl Comparator Instruction Decode lr0 FAE Pipeline Control decr. Control Signal Generation lc0 zero Loop Control Loop Controller 1 Instruction Control Signal Instruction Address Loop Controller 2 Figure 43. Program-Flow-Control Unit Block Diagram POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 47 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP address-unit architecture The PP has both a local- and global-address unit which operate independently of each other. The address units support twelve different addressing modes. In place of performing a memory access, either or both of the address units can perform an address computation that is written directly to a PP register instead of being used for a memory access. This address unit arithmetic provides additional arithmetic operation to supplement the data unit during compute-intensive algorithms. From Global Destination Bus Offset To Global Source Bus From Global Destination Bus Offset To Global Source Bus sp = a6 (local) sp = a14 (global) a0 – a4 (a7 = 0) a8 – a12 (a15 = 0) x0 – x2 pba dba PP-Relative Multiplexer pba, dba Index Multiplexer Index Scaler Scale Data Size 32-Bit Adder / Subtracter Unit Preindex / Postindex Multiplexer x8 – x10 Preindex / Postindex Local-Address Port PP-Relative Multiplexer Preindex / Postindex Multiplexer Global-Address Port POST OFFICE BOX 1443 Index Scaler Scale Data Size 32-Bit Adder / Subtracter Unit Figure 44. Address-Unit Architecture 48 Index Multiplexer • HOUSTON, TEXAS 77251–1443 Preindex / Postindex SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP instruction set PP instructions are represented by algebraic expressions for the operations performed in parallel by the multiplier, ALU, global-address unit, and local-address unit. The expressions use the || symbol to indicate operations that are to be performed in parallel. The PP ALU operator syntax is shown in Table 9. The data unit operations (multiplier and ALU) are summarized in Table 10 and the parallel transfers (global and local) are summarized in Table 11. Table 9. PP Operators by Precedence OPERATOR FUNCTION src1 [n] src1–1 Select odd (n=true) or even (n=false) register of D register pair based on negative condition code () Subexpression delimiters @mf Expander operator % Mask generator %% Nonmultiple mask generator (EALU only) %! Modified mask generator (0xFFFFFFFF output for 0 input) %%! Nonmultiple shift right mask generator (EALU only) \\ Rotate left << Shift left (pseudo-op for rotate and mask) >>u Unsigned shift right >> or >>s Signed shift right & Bitwise AND ^ Bitwise XOR | Bitwise OR + Addition – Subtraction =[cond] Conditional assignment =[cond.pro] Conditional assignment with status protection = Equate POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 49 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP instruction set (continued) Table 10. Summary of Data-Unit Operations Operation Base set ALUs Description Perform an ALU operation specifying ALU function, 2 src and 1 dest operand, and operand routing. ALU function is one of 256 three-input Boolean operations or one of 16 arithmetic operations combined with one of 16 function modifiers. Syntax dst = [fmod] [ [[cond [.pro] ]] ] ALU_EXPRESSION Examples d6 = (d6 ^ d4) & d2 d3 = [nn.nv] d1 –1 Operation EALU || ROTATE Description Perform an extended ALU (EALU) operation (specified in d0) with one of two data routings to the ALU and optionally write the barrel rotator output to a second dest register. ALU function is one of 256 Boolean or 256 arithmetic. Syntax dst1 = [ [[cond [.pro] ]] ] ealu (src2, [dst2 = ] [ [[cond]] src1 [[[n]] src1–1] \\ src3, [%] src4) dst1 = [fmod] [ [[cond [.pro] ]] ] ealu (label:EALU_EXPRESSION [ || dst2 = [[cond]] src1 [ [[n]] src1–1] \\ src3]) Examples d7 = [nn] ealu(d2, d6 = [nn] d3\\d1, %d4) d3 = mzc ealu(mylabel: d4 + (d5\\d6 & %d7) || d1 = d5\\d6) Operation MPY || ADD Description Perform a 16x16 multiply with optional parallel add or subtract. Condition code applies to both multiply and add. Syntax dst2 = [sign] [ [[cond]] ] src3 * src4 [ || dst = [ [[cond[.pro] ]] ] src2 + src1 [ [[n]] src1 –1] ] dst2 = [sign] [ [[cond]] ] src3 * src4 [ || dst = [ [[cond[.pro] ]] ] src2 – src1 [ [[n]] src1 –1] ] Example d7 = u d6 * d5 || d5 = d4 – d1 Operation MPY || SADD Description Perform a 16x16 multiply with a parallel right-shift and add or subtract. Condition code applies to multiply, shift, and add. Syntax dst2 = [sign] [ [[cond]] ] src3 * src4 || dst = [ [[ cond [.pro] ]] ] src2 + src1 [ [[n]] src1 –1] >> –d0 dst2 = [sign] [ [[cond]] ] src3 * src4 || dst = [ [[ cond [.pro] ]] ] src2 – src1 [ [[n]] src1 –1] >> –d0 Examples d7 = u d6 * d5 || d5 = d4 – d1 >> –d0 Operation MPY || EALU Description Perform a multiply and an optional parallel EALU. Multiply can use rounding, scaling, or splitting features. Syntax Generic Form: dst2 = [sign] [ [[cond]] ] src3 * src4 || dst = [ [[cond [.pro] ]] ] ealu[f] (src2, src1 [ [[n]] src1 –1] \\ d0, %d0) dst2 = [sign] [ [[cond]] ] src3 * src4 || ealu() Explicit Form: dst2 = [sign] [opt] [ [[cond]] ] src3 * src4 [<<dms] || dst1 = [fmod] [ [[cond [.pro] ]] ] ealu (label: EALU_EXPRESSION) dst2 = [sign] [opt] [ [[cond]] ] src3 * src4 [<<dms] || ealu (label) Examples d7 = [p] d5 * d3 || d2 = [p] ealu(d1, d6\\d0, %d0) d2 = m d4 * d7 || d3 = ealu (mylabel: d3 + d2 >> 9) Operation divi Description Perform one iteration of unsigned divide algorithm. Generates one quotient bit per execution using iterative subtraction. Syntax dst1 = [ [[cond [.pro] ]] ] divi (src2, dst2 = [[cond]] src1 [ [[n]] src1 –1]) Examples d3 = divi (d1, d2 = d2) d3 = divi (d1, d2 = d3[n]d2) Misc. Operations dint; eint; nop Description Globally disable interrupts; globally enable interrupts; do nothing in the data unit Syntax dint eint nop Legend: [] [[ ]] pro f 50 Optional parameter extension Square brackets ([ ]) must be used Protect status bits Use 1s complement of d0 POST OFFICE BOX 1443 cond fmod dms sign ; generic form ; explicit form Condition code Function modifier Default multiply shift amount u = unsigned, s = signed • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP instruction set (continued) Table 11. Summary of Parallel Transfers Operation Load Description Transfer from memory into PP register Syntax dst = [sign] [size] [ [[cond]] ]* addrexp dst = [sign] [size] [ [[cond]] ]* an.element Examples d3 = uh[n]* (a9++=[2]) d1 = * a2.sMY_ELEMENT Operation Store Description Transfer from PP register into memory Syntax * addrexp = [size] src [ [[n]] src–1] * an.element = [size] src [ [[n]] src–1] Examples *––a2 = d3 *a9.sMY_ELEMENT = a3 Operation Address unit arithmetic Description Compute address and store in PP register Syntax dst = [size] [ [[cond]] ] & * addrexp dst = [size] [ [[cond]] ] & * an.element Examples d2 = &*(a3 + x0) a1 = &*a9.sMY_ELEMENT Operation Move Description Transfer from PP register to PP register Syntax dst = [g] [ [[cond]] ] src Examples x2 = mf d1 = g d3 Operation Field extract move Description Transfer from PP register to PP register extracting and right-aligning one byte or halfword Syntax dst = [sign] [size item] Example d3 = ub2 d1 Operation Field replicate move Description Transfer from PP register to PP register replicating the least significant byte or least significant halfword to 32 bits Syntax dst = r [size] [[cond]] src Example d7 = rh d3 Legend: [] [[ ]] g item Optional parameter extension Square brackets ([ ]) must be used Use global unit 0 = byte0/halfword0, 1 = byte1/halfword1, 2 = byte2, 3 = byte3 POST OFFICE BOX 1443 cond sign size Condition code u = unsigned, s = signed b = byte, h = halfword, w = word (default) • HOUSTON, TEXAS 77251–1443 51 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP opcode formats A PP instruction uses a 64-bit opcode. The opcode is divided essentially into a data unit portion and a parallel transfer portion. There are five data unit opcode formats comprising bits 38–63 of the opcode. Bits 0–38 of the opcode specify one of 10 parallel transfer formats. An alphabetical list of the mnemonics used in Figure 45 for the data unit and parallel transfer portions of the opcode are shown in Table 12 and Table 13, respectively. Data Unit Formats 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 2 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 0 1 1 oper dst1 src1 1 class A ALU Operation src3 dst2 dst src1 0 src4 1 class A ALU Operation dst src1 1 0 – 1 class A ALU Operation dst src1 1 1 1 0 0 0 1 – 0 – 0 – 0 – 0 – – – – – – 0 0 0 3 2 1 0 src2 Parallel Transfers A. Six-Operand (MPYIIADD, etc.) imm. src2 Parallel Transfers B. Base Set ALU (5-Bit Immediate) Parallel Transfers C. Base Set ALU (Register src2) src2 dstbank s1bnk cond Operation 32-Bit Immediate Parallel Transfers D. Base Set ALU (32-Bit Immediate) E. Miscellaneous Reserved 0 1 0 Reserved Transfer Formats 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 d e size s La Gim/X reg e size s Ga Lim/X 1. Double Parallel d e size s La 0 Lrm dstbank L 0 0 0 0 src srcbank dst Lim/X 2. Move II Local Lmode d e size s La 0 Lrm dstbank L 0 0 0 1 src e size D dst Lim/X 3. Field Move II Local Lmode reg e size s La 1 Lrm bank L 0 0 bank L Lmode d e size s La 0 Lrm Gmode Local Long Offset / X Gmode reg e size s Ga 4. Local (Long Offset) 0 L 0 0 1 – – – – As1bank – – – 0 0 – cond c r g N C V Z 0 – – dstbank – 0 0 0 0 src srcbank dst – 0 0 – cond c r g N C V Z 0 dstbank – 0 0 0 1 src e size D dst 0 0 – cond c r g N C V Z Gim/X bank L reg e size s Ga 0 0 – cond c r – N C V Z 0 – – Adstbank itm Adstbank L Gmode – 0 0 1 – – – – As1bank POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 Grm Lim/X 5. Global (Long Offset) 6. Non-D DU II Local – – 7. Conditional DU II Conditional Mode – – – 8. Conditional DU II Conditional Field Move 1 Grm – – – – Figure 45. PP Opcode Formats 52 0 Lmode Global Long Offset /X 0bank 1 Lmode 0 0 L 2 1 1 1 1 1 1 1 1 1 1 9 8 7 6 5 4 3 2 0 9 8 7 6 5 4 3 2 1 0 – 9. Conditional DU II Conditional Global – 10. Conditional Non-D DU SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP opcode formats (continued) Table 12. Data Unit Mnemonics MNEMONIC FUNCTION A A = 1 selects arithmetic operations, A = 0 selects Boolean operations ALU Operation For Boolean operation (A = 0), select the eight ALU function signals. For arithmetic operation (A = 1), odd bits specify the ALU function and even bits define the ALU function modifiers. class Operation class: determines routing of ALU operands cond condition code dst D register destination or lower 3 bits of non-D register code dst1 ALU dest. for MPY||ADD, MPY||EALU, or EALU||ROTATE operation. D register or lower 3 bits of non-D register code dst2 Multiply dest. for MPY||ADD or MPY||EALU operation, or rotate dest. for EALU||ROTATE operation. D register dstbank ALU register bank imm.src2 5-bit immediate for src2 of ALU operation 32-Bit Immediate 32-bit immediate for src2 of ALU operation oper Six-operand data unit operation (MPY||ADD, MPY||SADD, MPY||EALU, EALU||ROTATE, divi) Operation Miscellaneous operation src1 ALU source 1 register code (D register unless srcbank or s1bnk is used) src2 D register used as ALU source 2 src3 D register for multiplier source (MPY||ADD or MPY||EALU) or rotate amount (EALU||ROTATE) src4 D reg. for ALU C port operand or EALU||ROTATE mask generator input or multiplier source 2 for MPY||ADD, MPY||EALU s1bnk Bits 5-3 of src1 register code (bit 6 assumed to be 0) POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 53 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP opcode formats (continued) Table 13. Parallel Transfer Mnemonics MNEMONIC FUNCTION 0bank Bits 5–3 of global transfer source/destination register code (bit 6 assumed to be 0) Adstbank Bits 6–3 of ALU destination register code As1bank Bits 6–3 of ALU source 1 register code bank Bits 6–3 of global (or local) store source or load destination c Conditional choice of D register for src1 operand of the ALU C Protect status register’s carry bit cond Condition code d D register or lower 3 bits of register code for local transfer source/destination D Duplicate least significant data during moves dst The three lowest bits of the register code for move or field-move destination dstbank Bits 6–3 of move destination register code e Sign-extend local (bit 31), sign-extend global (bit 9) g Conditional global transfer Ga Global address register for load, store, or address unit arithmetic Gim / X Global address unit immediate offset or index register Gmode Global unit addressing mode Grm Global PP-relative addressing mode itm Number of items selected for field-extract move L L = 1 selects load operation, L = 0 selects store / address unit arithmetic operation La Local address register for load, store, or address unit arithmetic Lim / X Local address unit immediate offset or index register Lmode Local unit addressing mode Lrm Local PP-relative addressing mode N Protect status register’s negative bit r Conditional write of ALU result reg Register number used with bank or 0bank for global load, store, or address unit arithmetic s Enable index scaling. Additional index bit for byte accesses or arithmetic operations (bit 28, local; bit 6, global) size Size of data transfer (bits 30 – 29, local; bits 8 – 7, global) src Three lowest bits of register code for register-register move source or non-field moves. D register source for field move srcbank Bits 6–3 of register code for register-register move source V Protect status register’s overflow bit Z Protect status register’s zero bit – Unused bit (fill with 0) 54 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP opcode formats (continued) Table 14 summarizes the supported parallel-transfer formats and indicates whether the transfers are local or global. It also lists the allowed ALU operations and states whether conditions and status protection are supported. Table 14. Parallel-Transfer Format Summary FORMAT ALU OPERANDS GLOBAL TRANSFER Cond Status St t Protection Move Load / Store / AUA Load / Store / AUA src → dst s/d Index Rel s/d Index — Lower X/short No D Any Any — — — D — — — D — Any X/long Yes — — — — — — — — Any X/long Yes Global — — — — D X/short Yes Global Any Any — — — — — — — — — — — — — — dst1 src1 Double parallel D D No No Move || Local D D No No Field move || Local D D No No ³ D³Any Global (long offset) D D No No Local (long offset) D D No No Non-D DU || Local Any Any No No Conditional move D D Yes Yes Conditional field move D D Yes Yes ³ D³Any Conditional global LOCAL TRANSFER Rel Port X/short No Local X/short Yes Local X/short No Local D D Yes Yes — Any X/short Yes — — — — Conditional non-D DU Any Any Yes Yes — — — — — — — — 32-bit imm. base ALU Any Lower Yes No Legend: DU AUA s/d Rel — Data unit Address unit arithmetic Source/destination register Relative addressing support POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 55 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PP opcode formats (continued) Table 15 shows the encoding used in the opcodes to specify particular PP registers. A 3-bit register field contains the three least significant bits (LSBs). The register codes are used for the src, src1, src2, src3, src4, dst, dst1, dst2, d, reg, Ga, La, Gim/X, and Lim/X opcode fields. The four most significant bits (MSBs) specify the register bank which is concatenated to the register field for the full 7-bit code. The register bank codes are used for the dstbank, s1bnk, srcbank, 0bank, bank, Adstbank, and As1bank opcode fields. When no associated bank is specified for a register field in the opcode, the D register bank is assumed. When the MSB of the bank code is not specified in the opcode (as in 0bank and s1bnk), it is assumed to be 0, indicating a lower register. Table 15. PP Register Codes LOWER REGISTERS (MSB OF BANK = 0) CODING BANK REG 0000 000 0000 0000 REGISTER CODING BANK REG a0 0100 000 001 a1 0100 010 a2 0100 0000 011 a3 0000 100 0000 101 0000 110 0000 111 0001 000 0001 0001 UPPER REGISTERS (MSB OF BANK = 1) REGISTER CODING BANK REG d0 1000 000 001 d1 1000 010 d2 1000 0100 011 d3 a4 0100 100 reserved 0100 101 a6 (sp) 0100 a7 (zero) 0100 a8 001 010 CODING REGISTER BANK REG reserved 1100 000 lc0 001 reserved 1100 001 lc1 010 reserved 1100 010 lc2 1000 011 reserved 1100 011 reserved d4 1000 100 reserved 1100 100 lr0 d5 1000 101 reserved 1100 101 lr1 110 d6 1000 110 reserved 1100 110 lr2 111 d7 1000 111 reserved 1100 111 reserved 0101 000 reserved 1001 000 reserved 1101 000 lrse0 a9 0101 001 sr 1001 001 reserved 1101 001 lrse1 a10 0101 010 mf 1001 010 reserved 1101 010 lrse2 0001 011 a11 0101 011 reserved 1001 011 reserved 1101 011 reserved 0001 100 a12 0101 100 reserved 1001 100 reserved 1101 100 lrs0 0001 101 reserved 0101 101 reserved 1001 101 reserved 1101 101 lrs1 0001 110 a14 (sp) 0101 110 reserved 1001 110 reserved 1101 110 lrs2 0001 111 a15 (zero) 0101 111 reserved 1001 111 reserved 1101 111 reserved 0010 000 x0 0110 000 reserved 1010 000 reserved 1110 000 ls0 0010 001 x1 0110 001 reserved 1010 001 reserved 1110 001 ls1 0010 010 x2 0110 010 reserved 1010 010 reserved 1110 010 ls2 0010 011 reserved 0110 011 reserved 1010 011 reserved 1110 011 reserved 0010 100 reserved 0110 100 reserved 1010 100 reserved 1110 100 le0 0010 101 reserved 0110 101 reserved 1010 101 reserved 1110 101 le1 0010 110 reserved 0110 110 reserved 1010 110 reserved 1110 110 le2 0010 111 reserved 0110 111 reserved 1010 111 reserved 1110 111 reserved 0011 000 x8 0111 000 pc/call 1011 000 reserved 1111 000 reserved 0011 001 x9 0111 001 1011 001 reserved 1111 001 reserved 0011 010 x10 0111 010 ipa/br ipe † 1011 010 reserved 1111 010 reserved 0011 011 reserved 0111 011 iprs 1011 011 reserved 1111 011 0011 100 reserved 0111 100 inten 1011 100 reserved 1111 100 reserved tag0 † 0011 101 reserved 0111 101 intflg 1011 101 reserved 1111 101 0011 110 reserved 0111 110 comm 1011 110 reserved 1111 110 tag1 † tag2 † 0011 111 reserved 0111 111 lctl 1011 111 reserved 1111 111 tag3 † † Read only 56 REGISTER POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 data unit operation code For data unit opcode format A, a 4-bit operation code specifies one of 16 six-operand operations and an associated data path. See Figure 45. Table 16. Six-Operand Format Operation Codes oper FIELD BIT OPERATION TYPE 60 59 58 57 0 u 0 s MPY || ADD 0 u 1 f MPYU || EALU 1 0 f k EALU || ROTATE 1 0 1 0 divi 1 1 u s SPY || SADD Legend: u Unsigned f 1s complement EALU function code s Subtract k Use mask or mf expander operation class code The base set ALU opcodes (formats B, C, D) use an operation-class code to specify one of eight different routings to the A, B, and C ports of the ALU. See Figure 45. Table 17. Base Set ALU Class Summary CLASS DESTINATION A PORT 000 dst src2 src1 001 dst dstc src1 010 dst dstc src1 \\ 011 dst dstc src1 \\ src2 100 dst src2 src1 \\ d0 %d0 101 dst src2 src1 \\ d0 @mf 110 dst dstc src1 111 dst src1 1 Legend: \\ @mf % dstc dst src2 srd1 B PORT C PORT \\ @mf d0 src2 %src2 %src2 src2 \\ src2 src2 Rotate left Expand function Mask generation Companion D register Destination D register or any register if dstbank or Adstbank is used with destination. Source D register or immediate Source D register or any register if As1bank is used or any lower register if s1bnk is used POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 57 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 ALU operation code For base set ALU Boolean opcodes (A=0), the ALU function is formed by a sum of Boolean products selected by the ALU operation opcode bits as shown in Table 18. For base set arithmetic opcodes (A=1), the four odd ALU operation bits specify an arithmetic operation as described in Table 19 while the four even bits specify one of the ALU function modifiers as shown in Table 20. See Table 9 for a list of PP operators and Figure 45 for PP opcode formats. Table 18. Base-Set ALU Boolean Function Codes OPCODE BIT PRODUCT TERM 58 A&B&C 57 ~A & B & C 56 A & ~B & C 55 ~A & ~B & C 54 A & B & ~C 53 ~A & B & ~C 52 A & ~B & ~C 51 ~A & ~B & ~C Table 19. Base Set Arithmetics OPCODE BITS 57 55 0 0 CARRY IN ALGEBRAIC DESCRIPTION NATURAL FUNCTION MODIFIED FUNCTION (IF DIFFERENT FROM NATURAL FUNCTION) 53 51 0 0 0 x 0 0 1 1 A – (B | C) A – B <1< 0 0 1 0 0 A + (B & ~C) A + B <0< 0 0 1 1 1 A–C A–C 0 1 0 0 1 A – (B | ~C) A – B >1> 0 1 0 1 1 A–B A–B 0 1 1 0 C(n) A – (B & @mf | –B & ~@mf) A+B/A–B if class 0 or 5 1/0 A + |B| A+B/A–B if class 1–4 or 6–7, A–B if sign=1 0 1 1 1 1 A – (B & C) A – B>0> 1 0 0 0 0 A + (B & C) A + B>0> 1 0 0 1 ~C(n) A + (B & @mf | –B & ~@mf) A–B/A+B if class 0 or 5 0/1 A – |B| A–B/A+B if class 1–4 or 6–7, A+B if sign=1 1 0 1 0 0 A+B A+B 1 0 1 1 0 A + (B | ~C) A + B >1> 1 1 0 0 0 A+C A+C 1 1 0 1 1 A – (B & ~C) A – B <0< 1 1 1 0 0 A + (B | C) A + B <1< 1 1 1 1 0 (A & C) + (B & C) field A + B Legend: C(n) >0> <0< >1> <1< 58 (A – (B & C)) if sign=0 LSB of each part of C port register Zero-extend shift right Zero-extend shift left One-extend shift right One-extend shift left POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 (A + (B & C)) if sign=0 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 ALU-operation code (continued) Table 20. Function Modifier Codes FUNCTION MODIFIER BITS 58 56 0 0 MODIFICATION PERFORMED 54 52 0 0 0 Normal operation 0 0 1 cin 0 0 1 0 %! if maskgen instruction, lmo if not maskgen 0 0 1 1 %! and cin if maskgen instruction, rmo if not maskgen 0 1 0 0 A port = 0 0 1 0 1 A port = 0 and cin 0 1 1 0 A port = 0 and %! if maskgen, lmbc if not maskgen 0 1 1 1 A port = 0, %! and cin if maskgen, rmbc if not maskgen 1 0 0 0 mf bit(s) set by carry out(s). (mc) 1 0 0 1 mf bit(s) set based on status register MSS field. (me) 1 0 1 0 Rotate mf by Asize, mf bit(s) set by carry out(s). (mrc) 1 0 1 1 Rotate mf by Asize, mf bit(s) set based on status register MSS field. (mre) 1 1 0 0 Clear mf, mf bit(s) set by carry out(s). (mzc) 1 1 0 1 Clear mf, mf bit(s) set based on status register MSS field. (mze) 1 1 1 0 No setting of bits in mf register. (mx) 1 1 1 1 Reserved Legend: cin lmbc lmo Carry in from sr(C) Leftmost-bit change Leftmost one %! rmbc rmo Modified mask generator Rightmost-bit change Rightmost one miscellaneous operation code For data-unit opcode format E, the operation field selects one of the miscellaneous operations. Table 21. Miscellaneous Operation Codes OPCODE BITS MNEMONIC OPERATION 0 nop No data-unit operation. Status not modified 0 1 reserved 1 0 eint Global-interrupt enable 0 1 1 dint Global-interrupt disable 0 1 x x reserved 1 x x x reserved x x x x reserved 43 42 41 40 39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 59 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 addressing mode codes The Lmode (bits 35–38) and Gmode (bits 13–16) of the opcode specify the local and global transfer for various parallel transfer opcode formats (Lmode in formats 1, 2, 3, 4, and 6 and Gmode in formats 1, 5, and 9). See Figure 45 for PP opcode formats. Table 22 shows the coding for the addressing mode fields. Table 22. Addressing Mode Codes CODING EXPRESSION DESCRIPTION 00xx Nop (nonaddressing mode operation) 0100 *(an ++= xm) Postaddition of index register, with modify 0101 *(an – – = xm) Postsubtraction of index register, with modify 0110 *(an ++= imm) Postaddition of immediate, with modify Postsubtraction of immediate, with modify 0111 *(an – – = imm) 1000 *(an + xm) Preaddition of index register 1001 *(an – xm) Presubtraction of index register 1010 *(an + imm) Preaddition of immediate 1011 *(an – imm) Presubtraction of immediate 1100 *(an += xm) Preaddition of index register, with modify 1101 *(an – = xm) Presubtraction of index register, with modify 1110 *(an += imm) Preaddition of immediate, with modify 1111 *(an – = imm) Presubtraction of immediate, with modify Legend: an imm xm Address register in local/global (l/g) address unit Immediate offset Index register in same unit as an register L, e codes The L and e bits combine to specify the type of parallel transfer performed. For the local transfer, L and e are bits 21 and 31, respectively. For the global transfer, L and e are bits 17 and 9, respectively. See Figure 45 for PP opcode formats. Table 23. Parallel Transfer Type L e 0 0 Store PARALLEL TRANSFER 0 1 Address unit arithmetic 1 0 Zero-extend load 1 1 Sign-extend load size codes The size code specifies the data transfer size. For field moves (parallel transfer format 3), only byte and halfword data sizes are valid. ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ ÁÁÁÁÁ ÁÁÁÁÁÁ Table 24. Transfer Data Size CODING 60 DATA SIZE 00 Byte (8 bits) 01 Halfword (16 bits) 10 Word (32 bits) 11 Reserved POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 relative-addressing mode codes The Lrm and Grm opcode fields allow the local-address or global-address units, respectively, to select PP-relative addressing as shown in Table 25. Table 25. Relative-Addressing Mode Codes CODING RELATIVE-ADDRESSING MODE 00 Normal (absolute addressing) 01 Reserved 10 PP-relative dba 11 PP-relative pba Legend: dba – Data RAM 0 base is base address pba – Paramater RAM base is base address condition codes In the four conditional parallel transfer opcodes (formats 7–10), the condition code field specifies one of 16 condition codes to be applied to the data unit operation source, data unit result, or global transfer based on the settings of the c, r, and g bits, respectively. Table 26 shows the condition codes. For the 32-bit immediate data unit opcode (format D), the condition applies to the data unit result only. See Figure 45 for PP opcode formats. Table 26. Condition Codes CONDITION BITS 35 34 0 0 MNEMONIC DESCRIPTION STATUS BIT COMBINATION 33 32 0 0 0 u Unconditional (default) None 0 0 1 p Positive ~N & ~Z 0 0 1 0 ls Lower than or same ~C | Z 0 0 1 1 hi Higher than C & ~Z 0 1 0 0 lt Less than (N & ~V) | (~N & V) 0 1 0 1 le Less than or equal (N & ~V) | (~N & V) | Z 0 1 1 0 ge Greater than or equal (N & V) | (~N & ~V) 0 1 1 1 gt Greater than (N & V & ~Z) | (~N & ~V & ~Z) 1 0 0 0 hs, c Higher than or same, carry C 1 0 0 1 lo, nc Lower than, no carry ~C 1 0 1 0 eq, z Equal, zero Z 1 0 1 1 ne, nz Not equal, not zero ~Z 1 1 0 0 v Overflow V 1 1 0 1 nv No overflow ~V 1 1 1 0 n Negative N 1 1 1 1 nn Nonnegative ~N EALU operations Extended ALU (EALU) operations allow the execution of more advanced ALU functions than those specified in the base set ALU opcodes. The opcode for EALU instructions contains the operands for the operation while the d0 register extends the opcode by specifying the EALU operation to be performed. The format of d0 for EALU operations is shown in Figure 24. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 61 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 EALU Boolean functions EALU operations support all 256 Boolean ALU functions plus the flexibility to add 1 or a carry-in to Boolean sum. The Boolean function performed by the ALU is: (F0 & (~A & ~B & ~C)) | (F1 & (A & ~B & ~C)) | (F2 & (~A & B & ~C)) | (F3 & (A & B & ~C)) | (F4 & (~A & ~B & C)) | (F5 & (A & ~B & C)) | (F6 & (~A & B & C)) | (F7 & (A & B & C)) [+1 | +cin] Table 27. EALU Boolean Function Codes d0 BIT ALU FUNCTION SIGNAL 26 F7 A&B&C PRODUCT TERM 25 F6 ~A & B & C 24 F5 A & ~B & C 23 F4 ~A & ~B & C 22 F3 A & B & ~C 21 F2 ~A & B & ~C 20 F1 A & ~B & ~C 19 F0 ~A & ~B & ~C EALU arithmetic functions EALU operations support all 256 arithmetic functions provided by the three-input ALU plus the flexibility to add 1 or a carry-in to the result. The arithmetic function performed by the ALU is: f(A,B,C) = A & f1(B,C) + f2(B,C) [+1 | cin] f1(B,C) and f2(B,C) are independent Boolean combinations of the B and C ALU inputs. The ALU function is specified by selecting the desired f1 and f2 subfunction and then XORing the f1 and f2 code from Table 28 to create the ALU function code for bits 19–26 of d0. Additional operations such as absolute values and signed shifts can be performed using d0 bits which control the ALU function based on the sign of one of the inputs. Table 28. ALU f1(B,C) and f2(B,C) Subfunctions 62 f1 CODE f2 CODE 00 00 0 Zero the term AA FF –1 –1 (All 1s) 88 CC B B SUBFUNCTION COMMON USAGE 22 33 –B –1 Negate B A0 F0 C C 0A 0F –C –1 Negate C 80 C0 B&C Force bits in B to 0 where bits in C are 0 2A 3F –(B & C) – 1 Force bits in B to 0 where bits in C are 0 and negate A8 FC B|C Force bits in B to 1 where bits in C are 1 02 03 –(B | C) – 1 Force bits in B to 1 where bits in C are 1 and negate 08 0C B & ~C Force bits in B to 0 where bits in C are 1 A2 F3 –(B & ~C) –1 Force bits in B to 0 where bits in C are 1 and negate 8A CF B | ~C Force bits in B to 1 where bits in C are 0 20 30 –(B | ~C) –1 Force bits in B to 1 where bits in C are 0 and negate 28 3C (B & ~C) | ((–B – 1) & C) Choose B if C = all 0s and –B if C = all 1s 82 C3 (B & C) | ((–B – 1) & ~C) Choose B if C = all 1s and –B if C = all 0s POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 TC architecture The transfer controller (TC) is a combined memory controller and DMA (direct memory access) machine. It handles the movement of data within the ’C80 system as requested by the master processor, parallel processors, and external devices. The transfer controller performs the following data movement and memory control functions: D D D D D D D D MP and PP instruction cache fills MP data-cache fills and dirty block write-back MP and PP direct external accesses (DEAs) MP and PP packet transfers Externally initiated packet transfers (XPTs) Shift register transfer (SRT) packet transfers for updating VRAM-based frame buffers DRAM refresh Host bus request TC functional block diagram Figure 46 shows a functional block diagram of the transfer controller. Key features of the TC include: D D Crossbar interface – 64-bit data path – Single-cycle access External memory interface – 4G-Byte address range – Programmable: bus size: 8-, 16-, 32-, or 64-bits page size bank size address multiplexing cycle timing block-write mode bank priority – D D D Big- or little-endian operation Cache, VRAM, refresh controller – Programmable refresh rate – VRAM block-write support Independent Src and Dst addressing – Autonomous addressing based on packet-transfer parameters – Data read and write at different rates – Numerous data merging and alignment functions performed during transfer Intelligent request prioritization POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 63 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 TC functional block diagram (continued) Packet Transfer FIFO Src MUX and Alignment Dst MUX and Alignment Cache Buffer Crossbar Interface 64 External Memory Interface 64 64 Src Controller 64 Dst Controller Cache, VRAM, and Refresh Controller Src Control Registers Memory Configuration Cache Dst Control Registers Request Queuing and Prioritization MP Requests PP Requests VC Requests XPT Requests Host Requests Figure 46. TC Block Diagram TC registers The TC contains four on-chip memory-mapped registers accessible by the MP. refresh control (REFCNTL) register (0x01820000) The REFCNTL register controls refresh cycles. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 RPARLD RPARLD 8 7 6 5 4 3 2 1 0 REFRATE Refresh Pseudo-Address Reload Value REFRATE Refresh Interval (in clock cycles) Figure 47. REFCNTL Register packet-transfer minimum (PTMIN) register (0x01820004) The PTMIN register determines the minimum number of cycles that a packet transfer executes before being suspended by a higher priority packet transfer. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 PTMIN Figure 48. PTMIN Register 64 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 10 9 8 7 6 5 4 3 2 1 0 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PT maximum (PTMAX) register (0x01820008) The PTMAX register determines the maximum number of cycles after PTMIN has elapsed that a packet transfer executes before timing out. 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 PTMAX Figure 49. PTMAX Register fault status (FLTSTS) register (0x0182000C) The FLTSTS register indicates the cause of a memory access fault. Fault status bits are cleared by writing a 1 to the appropriate bit. 31 30 29 28 PP # PC PP 27 26 25 24 P C P C P C P C 3 2 1 0 23 22 21 20 PP# 19 18 17 16 P P P P P P P P 3 2 1 0 PPx Cache / DEA Fault PPx Packet-Transfer Fault 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 XPT XPT M 0 M Faulting XPT MP Packet-Transfer Fault Figure 50. FLTSTS Register packet-transfer parameters The most efficient method for data movement in a SMJ320C80 system is through the use of packet transfers (PTs). Packet transfers allow the TC to move blocks of data autonomously between a specified src and dst memory region. Requests for the TC to execute a packet transfer may be made by the MP, PPs, or external devices. A packet-transfer parameter table describing the data packet and how it is to be transferred must be programmed in on-chip memory before the transfer is requested. The TC on the SMJ320C80 supports shortand long-form packet transfers. The PT parameter table format is shown in Figure 51. 31 0 31 0 PT Src B Pitch PT + 32 PT Options PT + 4 Dst B Pitch PT + 36 Src Start / Base Address PT + 8 Src C Pitch / Guide Table Pointer PT + 40 Dst Start / Base Address Next Entry Address PT + 12 Dst C Pitch / Guide Table Pointer Src B Count Src A Count PT + 16 Transparency / Color Word 0 PT + 44 PT + 48† Dst B Count Dst A Count PT + 20 Transparency / Color Word 1 PT + 52† Src C Count / # of Entries PT + 24 Reserved PT + 56 Dst C Count / # of Entries PT + 28 Reserved PT + 60 PT – 64-byte aligned on-chip starting address of parameter table † Words are swapped in big-endian mode Figure 51. Packet-Transfer Parameter Table POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 65 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PT-options field The PT-options field of the parameter table controls the type of src and dst transfer that the TC performs. The format of the options field is shown in Figure 52. 31 S 30 29 PTS S PTS I RDC RDB RA RSC RSB X 28 I 27 26 25 24 23 22 21 R C D R D B R A R S C R S B 20 19 18 X 17 16 PAM Stop bit PT status 00 – Active 10 – Fault on src 01 – Suspended 11 – Fault on dst Interrupt when complete Reverse dst C addressing Reverse dst B addressing Reverse A addressing Reverse src C addressing Reverse src B addressing Exchange src and dst parameters 15 14 13 12 11 STM PAM STM / DTM SUM / DUM 8 7 PT Access Mode 000 – Normal 001 – PDT 010 – Block Write 011 – SRT src / dst Transfer Mode 000 – Dimensioned 001 – Fill† 010 – Reserved 011 – LUT† src / dst update mode 00 – None 01 – Add B Pitch Figure 52. PT-Options Field POST OFFICE BOX 1443 9 SUM † Valid for src only. 66 10 • HOUSTON, TEXAS 77251–1443 6 5 4 3 2 DTM 1 0 DUM 100 – 8 Bit Transfer 101 – 16 Bit Transfer 110 – 32 bit Transfer 111 – 64 Bit Transfer 100 – Var Delta-Guided 101 – Var Offset-Guided 110 – Fixed Delta-Guided 111 – Fixed Offset-Guided 01 – Add C Pitch 11 – Add C Pitch / Reverse SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 local memory interface status codes Status codes are output on STATUS[5:0] to describe the cycle being performed. During row time, STATUS[5:0] pins indicate the type of cycle being performed. The cycle type can be latched using RL or RAS and used by external logic to perform memory bank decoding or to enable special hardware features. During column time, the STATUS[5:0] pins indicate the requesting processor or special column information. Table 29. Row-Time Status Codes STATUS[5:0] CYCLE TYPE STATUS[5:0] CYCLE TYPE 0 0 0 0 0 0 Normal Read 1 0 0 0 0 0 Reserved 0 0 0 0 0 1 Normal Write 1 0 0 0 0 1 Reserved 0 0 0 0 1 0 Refresh 1 0 0 0 1 0 Reserved 0 0 0 0 1 1 SDRAM DCAB 1 0 0 0 1 1 Reserved 0 0 0 1 0 0 Peripheral Device PT Read 1 0 0 1 0 0 XPT1 Read 0 0 0 1 0 1 Peripheral Device PT Write 1 0 0 1 0 1 XPT1 Write 0 0 0 1 1 0 Reserved 1 0 0 1 1 0 XPT1 PDPT Read 0 0 0 1 1 1 Reserved 1 0 0 1 1 1 XPT1 PDPT Write 0 0 1 0 0 0 Reserved 1 0 1 0 0 0 XPT2 Read 0 0 1 0 0 1 Block-Write PT 1 0 1 0 0 1 XPT2 Write 0 0 1 0 1 0 Reserved 1 0 1 0 1 0 XPT2 PDPT Read 0 0 1 0 1 1 Reserved 1 0 1 0 1 1 XPT2 PDPT Write 0 0 1 1 0 0 SDRAM MRS 1 0 1 1 0 0 XPT3 Read 0 0 1 1 0 1 Load Color Register 1 0 1 1 0 1 XPT3 Write 0 0 1 1 1 0 Reserved 1 0 1 1 1 0 XPT3 PDPT Read 0 0 1 1 1 1 Reserved 1 0 1 1 1 1 XPT3 PDPT Write 0 1 0 0 0 0 Frame 0 Read Transfer 1 1 0 0 0 0 XPT4 / SAM1 Read 0 1 0 0 0 1 Frame 0 Write Transfer 1 1 0 0 0 1 XPT4 / SAM1 Write 0 1 0 0 1 0 Frame 0 Split-Read Transfer 1 1 0 0 1 0 XPT4 / SAM1 PDPT Read 0 1 0 0 1 1 Frame 0 Split-Write Transfer 1 1 0 0 1 1 XPT4 / SAM1 PDPT Write 0 1 0 1 0 0 Frame 1 Read Transfer 1 1 0 1 0 0 XPT5 / SOF1 Read 0 1 0 1 0 1 Frame 1 Write Transfer 1 1 0 1 0 1 XPT5 / SOF1 Write 0 1 0 1 1 0 Frame 1 Split-Read Transfer 1 1 0 1 1 0 XPT5 / SOF1 PDPT Read 0 1 0 1 1 1 Frame 1 Split-Write Transfer 1 1 0 1 1 1 XPT5 / SOF1 PDPT Write 0 1 1 0 0 0 Reserved 1 1 1 0 0 0 XPT6 / SAM0 Read 0 1 1 0 0 1 Reserved 1 1 1 0 0 1 XPT6 / SAM0 Write 0 1 1 0 1 0 Reserved 1 1 1 0 1 0 XPT6 / SAM0 PDPT Read 0 1 1 0 1 1 Reserved 1 1 1 0 1 1 XPT6 / SAM0 PDPT Write 0 1 1 1 0 0 PT Read Transfer 1 1 1 1 0 0 XPT7 / SOF0 Read 0 1 1 1 0 1 PT Write Transfer 1 1 1 1 0 1 XPT7 / SOF0 Write 0 1 1 1 1 0 Reserved 1 1 1 1 1 0 XPT7 / SOF0 PDPT Read 0 1 1 1 1 1 Idle 1 1 1 1 1 1 XPT7 / SOF0 PDPT Write POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 67 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 local memory interface (continued) Table 30. Column-Time Status Codes STATUS[5:0] CYCLE TYPE 0 0 0 0 0 0 PP0 Low-Priority Packet Transfer 1 0 0 0 0 STATUS[5:0] 0 Reserved 0 0 0 0 0 1 PP0 High-Priority Packet Transfer 1 0 0 0 0 1 Reserved 0 0 0 0 1 0 PP0 Instruction Cache 1 0 0 0 1 0 Reserved 0 0 0 0 1 1 PP0 DEA 1 0 0 0 1 1 Reserved 0 0 0 1 0 0 PP1 Low-Priority Packet Transfer 1 0 0 1 0 0 Reserved 0 0 0 1 0 1 PP1 High-Priority Packet Transfer 1 0 0 1 0 1 Reserved 0 0 0 1 1 0 PP1 Instruction Cache 1 0 0 1 1 0 Reserved 0 0 0 1 1 1 PP1 DEA 1 0 0 1 1 1 Reserved 0 0 1 0 0 0 PP2 Low-Priority Packet Transfer 1 0 1 0 0 0 Reserved 0 0 1 0 0 1 PP2 High-Priority Packet Transfer 1 0 1 0 0 1 Reserved 0 0 1 0 1 0 PP2 Instruction Cache 1 0 1 0 1 0 Reserved 0 0 1 0 1 1 PP2 DEA 1 0 1 0 1 1 Reserved 0 0 1 1 0 0 PP3 Low-Priority Packet Transfer 1 0 1 1 0 0 Reserved 0 0 1 1 0 1 PP3 High-Priority Packet Transfer 1 0 1 1 0 1 Reserved 0 0 1 1 1 0 PP3 Instruction Cache 1 0 1 1 1 0 Reserved 0 0 1 1 1 1 PP3 DEA 1 0 1 1 1 1 Reserved 0 1 0 0 0 0 MP Low-Priority Packet Transfer 1 1 0 0 0 0 Reserved 0 1 0 0 0 1 MP High-Priority Packet Transfer 1 1 0 0 0 1 Reserved 0 1 0 0 1 0 MP Urgent Packet Transfer (Low) 1 1 0 0 1 0 Reserved 0 1 0 0 1 1 MP Urgent Packet Transfer (High) 1 1 0 0 1 1 Reserved 0 1 0 1 0 0 XPT / VCPT in Progress 1 1 0 1 0 0 Reserved 0 1 0 1 0 1 XPT / VCPT Complete 1 1 0 1 0 1 Reserved 0 1 0 1 1 0 MP Instruction Cache (Low) 1 1 0 1 1 0 Reserved 0 1 0 1 1 1 MP Instruction Cache (High) 1 1 0 1 1 1 Reserved 0 1 1 0 0 0 MP DEA (Low) 1 1 1 0 0 0 Reserved 0 1 1 0 0 1 MP DEA (High) 1 1 1 0 0 1 Reserved 0 1 1 0 1 0 MP Data Cache (Low) 1 1 1 0 1 0 Reserved 0 1 1 0 1 1 MP Data Cache (High) 1 1 1 0 1 1 Reserved 0 1 1 1 0 0 Frame 0 1 1 1 1 0 0 Reserved 0 1 1 1 0 1 Frame 1 1 1 1 1 0 1 Reserved 0 1 1 1 1 0 Refresh 1 1 1 1 1 0 Reserved 0 1 1 1 1 1 Idle 1 1 1 1 1 1 Write Drain / SDRAM DCAB Low – MP operating in low-(normal) priority mode High – MP operating in high-priority mode 68 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 CYCLE TYPE SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 address multiplexing To support various RAM devices, the SMJ320C80 can provide multiplexed row and column addresses on its address bus. A full 32-bit address is always output at row time. The alignment of column addresses is configured by the value input on the AS[2:0] pins at row time. A Pins 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Row Time A Pins AS [2:0] 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 000 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 001 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 x x x x x 2 1 0 010 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 x x x x x x 2 1 0 100 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 x x x x x x x 2 1 0 011 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 x x x x x x x x 2 1 0 100 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 x x x x x x x x x 2 1 0 110 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 x x x x x x x x x x 2 1 0 111 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 x x x x x x x x x x x 2 1 0 Column Time Figure 53. Address Multiplexing dynamic bus sizing The ’C80 supports data bus sizes of 8, 16, 32, or 64 bits. The value input on the BS[1:0] pins at row time indicates the bus size of the addressed memory. This determines the maximum number of bytes which the ’C80 can transfer during each column access. If the number of bytes to be transferred exceeds the bus size, multiple accesses are performed automatically to complete the transfer. Table 31. Bus Size Selection BS[1:0] BUS SIZE 00 8 bits 01 16 bits 10 32 bits 11 64 bits The selected bus size also determines which portion of the data bus is used for the transfer. For 64-bit memory, the entire data bus is used. For 32-bit memory, D[31:0] are used in little-endian mode and D[63:32] are used in big-endian mode. 16-bit buses use D[15:0] and D[63:48] and 8-bit buses use D[7:0] and D[63:56] for littleand big-endian modes, respectively. The ’C80 always aligns data to the proper portion of the bus and activates the appropriate CAS strobes to ensure that only valid bytes are transferred. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 69 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 cycle time selection The ’C80 supports eight basic sets of memory timings to support various memory types directly. The cycle timing is selected by the value input on the CT[2:0] pins at row time. The selected timing remains in effect until the next row access. Table 32. Cycle-Timing Selection CT[2:0] MEMORY TIMING 000 Pipelined (Burst Length 1) SDRAM, CAS Latency of 2 001 Pipelined (Burst Length 1) SDRAM, CAS Latency of 3 010 Interleaved (Burst Length 2) SDRAM, CAS Latency of 2 011 Interleaved (Burst Length 2) SDRAM, CAS Latency of 3 100 Pipelined 1 Cycle / Column 101 Nonpipelined 1 Cycle / Column 110 2 Cycle / Column 111 3 Cycle / Column page sizing Whenever an external memory access occurs, the TC records the 22 most significant bits of the address in its internal LASTPAGE register. The address of each subsequent (column) access is compared to this value. The page size value input on the PS[3:0] pins determines which bits of LASTPAGE are used for this comparison. If a difference exists between the enabled LASTPAGE bits and the corresponding bits of the next access, then the page has changed and the next memory access begins with a new row-address cycle. Table 33. Page-Size Selection PS[3:0] ADDRESS BITS COMPARED 0 0 0 0 A[31:6] PAGE SIZE (BYTES) 64 0 0 0 1 A[31:7] 128 0 0 1 0 A[31:8] 256 0 0 1 1 A[31:9] 512 0 1 0 0 A[31:10] 1K 0 1 0 1 A[31:18] 256K 0 1 1 0 A[31:19] 512K 0 1 1 1 A[31:20] 1 0 0 0 A[31:0] 1M 1–8† 1 0 0 1 A[31:11] 2K 1 0 1 0 A[31:12] 4K 1 0 1 1 A[31:13] 8K 1 1 0 0 A[31:14] 16K 1 1 0 1 A[31:15] 32K 1 1 1 0 A[31:16] 64K 1 1 1 1 A[31:17] 128K † PS[3:0] = 1000 disables page-mode cycles so that the effective page size is the same as the bus size 70 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 block-write support The SMJ320C80 supports three modes of VRAM block-write. The block-write mode is dynamically selectable so that software can specify block-writes regardless of the type of block-write the addressed memory supports. Block-writes are supported only for 64-bit buses. During block-write and load-color-register cycles, the BS[1:0] inputs determine which block mode will be used. Table 34. Block-Write Selection BS[1:0] BLOCK-WRITE MODE 0 0 Simulated 0 1 Reserved 1 0 4x 1 1 8x SDRAM support The SMJ320C80 provides direct support for synchronous DRAM (SDRAM), synchronous VRAM (SVRAM), and synchronous graphics RAM (SGRAM). During ’C80 power-up refresh cycles, the external system must signal the presence of these memories by inputting a CT2 value of 0. This causes the ’C80 to perform special deactivate (DCAB) and mode register set (MRS) commands to initialize the synchronous RAMs. Figure 54 shows the MRS value generated by the ’C80. SDRAM Mode Register Bit 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 1 CT0 0 0 0 CT1 CT0, CT1 as input at the start of the MRS cycle Figure 54. MRS Value Because the MRS register is programmed through the SDRAM address inputs, the alignment of the MRS data to the ’C80 logical-address bits is adjusted for the bus size (see Figure 55). The appearance of the MRS bits on the ’C80 physical-address bus is dependent on the address multiplexing as selected by the AS[2:0] inputs. ’C80 LOGICAL ADDRESS BITS BS[1:0] A15 A14 A13 0 0 X X X 0 1 X X X 1 0 X X 11 1 1 X 11 10 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 X 11 10 9 8 7 6 5 4 3 2 1 0 11 10 9 8 7 6 5 4 3 2 1 0 X 10 9 8 7 6 5 4 3 2 1 0 X X 9 8 7 6 5 4 3 2 1 0 X X X Figure 55. MRS Value Alignment memory cycles SMJ320C80 external memory cycles are generated by the TC’s external memory controller. The controller’s state machine generates a sequence of states which define the transition of the memory interface signals. The state sequence is dependent on the cycle timing selected for the memory access being performed as shown in Figure 56. Memory cycles consist of row states and the column pipeline. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 71 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 memory cycles (continued) rhiz bus release idle or abort bus request r1 always r9 always any cycle fault, retry, or abort always r2 any cycle r8 wait r3 always r5 MRS or DCAB !MRS & !DCAB spin spin r6 col access rspin wait col access Column Pipeline Figure 56. Memory Cycle State Diagram 72 new page & (CT = 0xx or CT = 100 & write) r4 CT = 0xx & !SRS CT = 110 CT = 111 CT = 10x or 0xx & SRS refresh & CT = 10x or CT = 0xx refresh & CT = 110 r7 refresh & CT = 111 drn POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 new page always SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 row states The row states make up the row time of each memory access. They occur when each new page access begins. The transition indicators determine the conditions that cause transitions to another state. Table 35. Row States STATE DESCRIPTION r1 Beginning state for all memory accesses. Outputs row address (A[31:0]) and cycle type (STATUS[5:0]) and drives control signals to their inactive state r2 Common to all memory accesses. Asserts RL and drives DDIN according to the data transfer direction. AS[2:0], BS[1:0], CT[2:0], PS[3:0], and UTIME inputs are sampled r3 Common to all memory accesses. DBEN is driven to its active level. For non-SDRAM, W, TRG / CAS, and DSF are driven to their active levels, and for non-SDRAM refreshes, all CAS / DQM strobes are activated. FAULT, READY, and RETRY inputs are sampled. r4 Inserted for 3 cycle / column accesses (CT=111) only. No signal transitions occur. RETRY input is sampled. r5 Common to SDRAM and 2 or 3 cycle / column accesses (CT=0xx or 11x). RAS is driven low. W is driven low for DCAB and MRS cycles and TRG / CAS is driven low for MRS and SDRAM refresh cycles. r6 Common to all memory accesses. For SDRAM cycles, RAS, TRG / CAS, and W are driven high. For non-SDRAM, RAS is driven low (if not already) and W, TRG / CAS, and DSF are driven to their appropriate levels. DBEN is driven low and READY and RETRY are sampled. rspin Additional state to allow TC column time pipeline to load. No signal transitions occur. RETRY is sampled. The rspin state can, on occasion, repeat multiple times. r7 Common to 2 and 3 cycle / column refreshes (CT=11x). Processor activity code is output on STATUS[5:0]. RETRY input is sampled. r8 For 3 cycle / column refreshes only (CT=111). No signal transitions occur. RETRY input is sampled. r9 Common to all refresh cycles. Processor activity code is output on STATUS[5:0] and RETRY input is sampled. drn Occurs for SDRAM cycles (CT = 0xx) and pipelined 1 cycle / column writes only. For SDRAM cycles, RAS, and W are activated to perform a DCAB command. For pipelined writes, all CAS / DQM strobes are activated. rhiz High-impedance state. Occurs during host requests and repeats until bus is released by the host Table 36. State Transition Indicators INDICATOR any cycle CT=xxx DESCRIPTION Continuation of current cycle State change occurs for indicated CT[2:0] value (as latched in r2 state) abort Current cycle aborted by TC in favor of higher-priority cycle fault FAULT input sampled low (in r3 state), memory access faulted retry RETRY input sampled low (in r3 state), row-time retry wait READY input sampled low (in r3, r6, or last column state) repeat current state spin Internally generated wait state to allow TC pipeline to load new page The next access requires a page change (new row access) external memory timing examples The following sections contain descriptions of the ’C80 memory cycles and illustrate the signal transitions for those cycles. Memory cycles can be separated into two basic categories: DRAM-type cycles for use with DRAM-like devices, SRAM, and peripherals, and SDRAM-type cycles for use with SDRAM-like devices. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 73 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 DRAM-type cycles The DRAM-type cycles are page-mode accesses consisting of a row access followed by one or more column accesses. Column accesses may be one, two, or three clock cycles in length with two and three cycle accesses allowing the insertion of wait states to accommodate slow devices. Idle cycles can occur after necessary column accesses have completed or between column accesses due to “bubbles” in the TC data-flow pipeline. The pipeline diagrams in Figure 57 show the pipeline stages for each access type and when the CAS/ DQM signal corresponding to the column access is activated. )& )& $ $ )& &! $*!&$(! )& )& -+(,"!+, ,*&$- +! )& )& )(*$*!&$(! )& )& )& )& 20&! )&.'( )&)+ +!#$,-!+ &)% /+$-!, )& $ -+(,"!+, ,*&$- +! $ $*!&$(! $ &! 20&! )&.'( +! , +! /+$-!, &) -+(,"!+, $ &! &! $ )& )& 20&! )&.'( +! , +! )(*$*!&$(! -+(,"!+, 20&! )&.'( /+$-!, , &)% /+$-!, $ $ )& $ $ $ $ $ )& )& &! -+(,"!+, )& $ $ 20&! )&.'( /+$-!, , ( • HOUSTON, TEXAS 77251–1443 $ Figure 57. DRAM Cycle Column Pipelines POST OFFICE BOX 1443 20&! )&.'( 74 $ /+$-!, , &)% /+$-!, -+(,"!+, ,*&$- +! 20&! )&.'( +! , +! &! -+(,"!+, $ )& )& )& 20&! )&.'( -+(,"!+, ,*&$- +! )& &! )& )& +! , +! &)% /+$-!, $ SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 read cycles Read cycles transfer data or instructions from external memory to the ’C80. The cycles can occur as a result of a packet transfer, cache request, or DEA request. During the cycle, W is held high, TRG / CAS is driven low after RAS to enable memory output drivers and DBEN and DDIN are low so that data transceivers can drive into the ’C80. During column time, the TC places D[63:0] into the high-impedance state, allowing it to be driven by the memory and latches input data during the appropriate column state. The TC always reads 64 bits and extracts and aligns the appropriate bytes. Invalid bytes for bus sizes of less than 64 bits are discarded. During peripheral device packet transfers, DBEN and DDIN remain high. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 75 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 read cycles (continued) State Col A Col B Col C Col D r1 r2 r3 r6 col c1 col c2 c1 col c3 c2 c1 col col col c3 c2 c1 c3 c2 c3 CLKOUT CT[2:0] 4 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC PAC PAC PAC Row Col A Col B Col C Col D Idle RL A[31:0] RAS –/A B/C A/B C/D D/– CAS / DQM[7:0] DSF TRG / CAS W D[63:0] A DBEN B C 0 For Normal Reads, 1 For PDPT Reads DDIN For user-modified timing: UTIME RAS –/A CAS / DQM[7:0] A/B B/C C/D D/– Figure 58. Pipelined 1-Cycle / Column Read-Cycle Timing 76 D POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 r1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 read cycles (continued) State r1 r2 r3 Col A r6 col col c1 c2 Col B col col r1 c2 c1 Col C c1 c2 Idle CLKOUT CT[2:0] 5 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC PAC PAC Row Col A Col B Col C A B C RL A[31:0] RAS CAS / DQM[7:0] DSF TRG / CAS W D[63:0] A B C 0 For Normal Reads, 1 For PDPT Reads DBEN DDIN For user-modified timing: UTIME RAS A CAS / DQM[7:0] B C Figure 59. Nonpipelined 1-Cycle / Column Read-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 77 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 read cycles (continued) State r1 r2 r3 r5 r6 Col A col col c1 c2 Col B col col† col c1 c2 c2 ci‡ Col C col col c1 c2 CLKOUT CT[2:0] 6 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC Row Col A PAC Idle PAC RL A[31:0] Col B Col C RAS A CAS / DQM[7:0] B C DSF TRG / CAS W A D[63:0] B C 0 For Normal Reads, 1 For PDPT Reads DBEN DDIN For user-modified timing: UTIME RAS A CAS / DQM[7:0] B † Wait state inserted by external logic (example) ‡ Internally generated pipeline bubble (example) Figure 60. 2-Cycle / Column Read-Cycle Timing 78 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 C r1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 read cycles (continued) State r1 r2 r3 r4 Col A r5 r6 col col col c1 c2 c3 Col B col col col† col c1 c2 c3 c3 ci‡ Col C col col col c1 c2 c3 r1 CLKOUT CT[2:0] 7 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC PAC Idle PAC RL A[31:0] Row Column A Column B Column C A B C RAS CAS / DQM[7:0] DSF TRG / CAS W A D[63:0] DBEN B C 0 For Normal Reads, 1 For PDPT Reads DDIN For user-modified timing: UTIME RAS A CAS / DQM[7:0] B C † Wait state inserted by external logic (example) ‡ Internally generated pipeline bubble (example) Figure 61. 3-Cycle / Column Read-Cycle Timing write cycles Write cycles transfer data from the ’C80 to external memory. These cycles can occur as a result of a packet transfer, a DEA request, or an MP data cache write-back. During the cycle TRG/ CAS is held high, W is driven low after the fall of RAS to enable early-write cycles, and DDIN is high so that data transceivers drive toward memory. The TC drives data out on D[63:0] and indicates valid bytes by activating the appropriate CAS/ DQM strobes. During peripheral device packet transfers, DBEN remains high and D[63:0] is placed in high impedance so that the peripheral device can drive data into the memory. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 79 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 write cycles (continued) State Col A Col B Col C r1 r2 r3 r6 rspin rspin col col ci† col drn c1 c1 c1 CLKOUT CT[2:0] 4 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC PAC Col A Col B Col C A B C Idle PAC Drain RL Row A[31:0] RAS CAS / DQM[7:0] DSF TRG / CAS W A D[63:0] B C 0 For Normal Write, 1 For PDPT Write DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] A B C † Internally generated pipeline bubble (example) Figure 62. Pipelined 1-Cycle / Column Write-Cycle Timing 80 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 r1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 write cycles (continued) State Col A Col B Col C r1 r2 r3 r6 rspin rspin col c1 col ci† col r1 c1 c1 CLKOUT CT[2:0] 5 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC PAC Row Col A Col B A B A B Idle PAC RL A[31:0] Col C RAS CAS / DQM[7:0] C DSF TRG / CAS W D[63:0] C 0 For Normal Write, 1 For PDPT Write DBEN DDIN For user-modified timing: UTIME RAS A CAS / DQM[7:0] B C † Internally generated pipeline bubble (example) Figure 63. Nonpipelined 1-Cycle / Column Write-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 81 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 write cycles (continued) State r1 r2 r3 r5 r6 rspin Col A col col c1 c2 Col B col col† col c1 c2 c2 ci‡ Col C col col c1 c2 CLKOUT CT[2:0] 6 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY Cycle Type STATUS[5:0] PAC PAC Col A Col B Col C B C Idle PAC RL Row A[31:0] RAS A CAS / DQM[7:0] DSF TRG / CAS W A D[63:0] B C 0 For Normal Write, 1 For PDPT Write DBEN DDIN For user-modified timing: UTIME RAS A CAS / DQM[7:0] B † Wait state inserted by external logic (example) ‡ Internally generated pipeline bubble (example) Figure 64. 2-Cycle / Column Write-Cycle Timing 82 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 C r1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 write cycles (continued) State r1 r2 r3 r4 Col A r5 r6 col col col c1 c2 c3 Col B col col col† col c1 c2 c3 c3 ci‡ col col col c1 c2 c3 Col C r1 CLKOUT CT[2:0] 7 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC PAC Row Col A Col B Idle PAC RL A[31:0] Col C RAS A CAS / DQM[7:0] B C DSF TRG / CAS W A D[63:0] B C 0 For Normal Write, 1 For PDPT Write DBEN DDIN For user-modified timing: UTIME RAS A CAS / DQM[7:0] B C † Wait state inserted by external logic (example) ‡ Internally generated pipeline bubble (example) Figure 65. 3-Cycle / Column Write-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 83 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 load-color-register cycles Load-color-register (LCR) cycles are used to load a VRAM’s color register prior to performing a block-write. LCR cycles are supported only on 64-bit data buses. An LCR cycle closely resembles a normal write cycle because it writes into a VRAM. The difference is that the DSF output is high at both the fall of RAS and the fall of CAS/ DQM. Also, because the VRAM color register is a single location, only one column access occurs. The row address that is output by the TC is used for bank-decode only. Normally, all VRAM banks should be selected during an LCR cycle because another LCR cycle cannot occur when a block-write memory-page change occurs. The column address that is output during an LCR is likewise irrelevant because the VRAM color register is the only location written. All CAS / DQM strobes are active during an LCR cycle. If exception support for a given bank is enabled, the EXCEPT [1:0] inputs are sampled during LCR column states and must be at valid levels. A retry code (EXCEPT [1:0] = 10) at column time has no effect, however, because only one column access is performed. If the BW field of the configuration cache entry for the given bank indicates that the addressed memory supports only simulated block-writes, the LCR cycle will be changed into a normal write cycle at the start of the simulated block-write. 84 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 load-color-register cycles (continued) State r1 r2 r3 r6 rspin rspin c1 drn PAC Drain r1 CLKOUT CT[2:0] 4 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY Cycle Type STATUS[5:0] RL Row A[31:0] RAS CAS / DQM[7:0] DSF TRG / CAS W Color D[63:0] DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] Figure 66. Pipelined 1-Cycle / Column Load-Color-Register-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 85 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 load-color-register cycles (continued) State r1 r2 r3 r6 rspin rspin c1 r1 CLKOUT CT[2:0] 5 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY Cycle Type STATUS[5:0] PAC RL A[31:0] Row RAS CAS / DQM[7:0] DSF TRG / CAS W Color D[63:0] DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] Figure 67. Nonpipelined 1-Cycle / Column Load-Color-Register-Cycle Timing 86 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 load-color-register cycles (continued) State r1 r2 r3 r5 r6 rspin c1 c2 r1 CLKOUT CT[2:0] 6 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY Cycle Type STATUS[5:0] PAC RL Row A[31:0] RAS CAS / DQM[7:0] DSF TRG / CAS W Color Value D[63:0] DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] Figure 68. 2-Cycle / Column Load-Color-Register-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 87 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 load-color-register cycles (continued) State r1 r2 r3 r4 r5 r6 c1 c2 c3 CLKOUT CT[2:0] 7 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC RL A[31:0] Row RAS CAS / DQM[7:0] DSF TRG / CAS W Color Value D[63:0] DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] Figure 69. 3-Cycle / Column Load-Color-Register-Cycle Timing 88 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 r1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 block-write cycles Block-write cycles cause the data stored in the VRAM color registers to be written to the memory locations enabled by the appropriate data bits output on the D[63:0] bus. This allows up to a total of 64 bytes (depending on the type of block-write being used) to be written in a single-column access. This cycle is identical to a standard write cycle with the following exceptions: D D D D D DSF is active (high) at the fall of CAS, enabling the block-write function within the VRAMs. Only 64-bit bus sizes are supported during block-write; therefore, BS[1:0] inputs are used to indicate the type of block-write that is supported by the addressed VRAMs, rather than the bus size. The two or three LSBs (depending on the type of block-write) of the column address are ignored by the VRAMs because these column locations are specified by the data inputs. The values output by the TC on D[63:0] represent the column locations to be written to, using the color register value. Depending on the type of block-write supported by the VRAM, all of the data bits are not necessarily used by the VRAMs. Block-writes always begin with a row access. Upon completion of a block-write, the memory interface returns to state r1 to await the next access. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 89 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 block-write cycles (continued) State Col A Col B Col C r1 r2 r3 r6 rspin rspin col c1 ci† col col drn c1 c1 CLKOUT CT[2:0] 4 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC PAC Row Col A Col B Col C A B C Sel A Sel B Sel C A B C Idle PAC RL A[31:0] RAS CAS / DQM[7:0] DSF TRG / CAS W D[63:0] DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] † Internally generated pipeline bubble (example) Figure 70. Pipelined 1-Cycle / Column Block-Write-Cycle Timing 90 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 Drain r1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 block-write cycles (continued) State Col A Col B Col C r1 r2 r3 r6 rspin rspin col c1 col ci† col r1 c1 c1 CLKOUT CT[2:0] 5 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC PAC Row Col A Col B Idle PAC RL A[31:0] Col C RAS A CAS / DQM[7:0] B C DSF TRG / CAS W D[63:0] Sel A Sel B Sel C A B C DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] † Internally generated pipeline bubble (example) Figure 71. Nonpipelined 1-Cycle / Column Block-Write-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 91 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 block-write cycles (continued) State r1 r2 r3 r5 r6 rspin Col A Col B Col C col col c1 c2 col c1 col† col c2 c2 ci‡ col col c1 c2 CLKOUT CT[2:0] 6 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC PAC Idle Col A Col B PAC RL Row A[31:0] Col C RAS A CAS / DQM[7:0] B C DSF TRG / CAS W Col Sel A D[63:0] Col Sel B Col Sel C DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] † Wait state inserted by external logic (example) ‡ Internally generated pipeline bubble (example) A B Figure 72. 2-Cycle / Column Block-Write-Cycle Timing 92 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 C r1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 block-write cycles (continued) State Col A Col B Col C r1 r2 r3 r4 r5 r6 col c1 col c2 col c3 col col col col† c1 c2 c3 c3 ci‡ col col col c1 c2 c3 r1 CLKOUT CT[2:0] 7 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC PAC Row Col A Col B Idle PAC RL A[31:0] Col C RAS CAS / DQM[7:0] A B C DSF TRG / CAS W D[63:0] Col Sel A Col Sel B Col Sel C DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] A B C † Wait state inserted by external logic (example) ‡ Internally generated pipeline bubble (example) Figure 73. 3-Cycle / Column Block-Write-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 93 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 transfer cycles Read-transfer (memory-to-register) cycles transfer a row from the VRAM memory array into the VRAM shift register (sequential-access memory, or SAM). This causes the entire SAM (both halves of the split SAM) to be loaded with the array data. Split-register read-transfer (memory-to-split-register) cycles also transfer data from a row in the memory array to the SAM. However, these transfers cause only half of the SAM to be written. Split-register read transfers allow the inactive half of the SAM to be loaded with the new data while the other active half continues to shift data in or out. Write-transfer (register-to-memory) cycles transfer data from the SAM into a row of the VRAM array. This transfer causes the entire SAM (both halves of the split SAM) to be written into the array. Split-register write-transfer (split-register-to-memory) cycles also transfer data from the SAM to a row in the memory array. However, these transfers write only half of the SAM into the array. Split-register write transfers allow the inactive half of the SAM to be transferred into memory while the other (active) half continues to shift serial data in or out. Read and split-read transfers resemble a standard read cycle. Write and split-write transfers resemble a standard write cycle. The TRG / CAS output is driven low prior to the fall of RAS to indicate a transfer cycle. Only a single column access is performed so RETRY, while required to be at a valid level, has no effect if asserted at column time. The value output on A[31:0] at column time represents the SAM tap point. 94 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 transfer cycles (continued) State r1 r2 r3 r6 c1 c2 c3 r1 CLKOUT CT[2:0] 4 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC Idle RL A[31:0] Row Tap Point RAS CAS / DQM[7:0] DSF 0 for Full Transfer, 1 for Split Transfer TRG / CAS W D[63:0] DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] Figure 74. Pipelined 1-Cycle/Column Read-Transfer and Split-Register Read-Transfer-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 95 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 transfer cycles (continued) State r1 r2 r3 c1 c2 PAC Idle r6 r1 CLKOUT CT[2:0] 5 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type RL Row A[31:0] Tap Point RAS CAS / DQM[7:0] DSF 0 for Full Transfer, 1 for Split Transfer TRG / CAS W D[63:0] DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] Figure 75. Nonpipelined 1-Cycle/Column Read-Transfer and Split-Register Read-Transfer-Cycle Timing 96 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 transfer cycles (continued) State r1 r2 r3 r5 r6 c1 c2 r1 CLKOUT CT[2:0] 6 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC RL A[31:0] Row Tap Point RAS CAS / DQM[7:0] 0 for Full Transfer, 1 for Split Transfer DSF TRG / CAS W D[63:0] DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] Figure 76. 2-Cycle/Column Read-Transfer and Split-Register Read-Transfer-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 97 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 transfer cycles (continued) State r1 r2 r3 r4 r5 r6 c1 c2 c3 r1 CLKOUT CT[2:0] 7 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY Cycle Type STATUS[5:0] PAC RL Row A[31:0] Tap Point RAS CAS / DQM[7:0] DSF 0 for Full Transfer, 1 for Split Transfer TRG / CAS W D[63:0] DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] Figure 77. 3-Cycle/Column Read-Transfer and Split-Register Read-Transfer-Cycle Timing 98 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 transfer cycles (continued) State r1 r2 r3 r6 rspin rspin c1 drn PAC Drain r1 CLKOUT CT[2:0] 4 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type RL A[31:0] Row Tap Point RAS CAS / DQM[7:0] 0 for Full Transfer, 1 for Split Transfer DSF TRG / CAS W D[63:0] DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] Figure 78. Pipelined 1-Cycle/Column Write-Transfer and Split-Register Write-Transfer-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 99 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 transfer cycles (continued) State r1 r2 r3 r6 rspin rspin c1 r1 CLKOUT CT[2:0] 5 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC RL Row A[31:0] Tap Point RAS CAS / DQM[7:0] 0 for Full Transfer, 1 for Split Transfer DSF TRG / CAS W D[63:0] DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] Figure 79. Nonpipelined 1-Cycle/Column Write-Transfer and Split-Register Write-Transfer-Cycle Timing 100 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 transfer cycles (continued) State r1 r2 r3 r5 r6 rspin c1 c2 rl CLKOUT CT[2:0] 6 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC Row Tap Point RL A[31:0] RAS CAS / DQM[7:0] 0 for Full Transfer, 1 for Split Transfer DSF TRG / CAS W D[63:0] DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] Figure 80. 2-Cycle/Column Write-Transfer and Split-Register Write-Transfer-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 101 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 transfer cycles (continued) State r1 r2 r3 r4 r5 r6 c1 c2 c3 r1 CLKOUT CT[2:0] 7 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC RL A[31:0] Row Column RAS CAS / DQM[7:0] 0 for Full Transfer, 1 for Split Transfer DSF TRG / CAS W D[63:0] DBEN DDIN For user-modified timing: UTIME RAS CAS / DQM[7:0] Figure 81. 3-Cycle/Column Write-Transfer and Split-Register Write-Transfer-Cycle Timing 102 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 refresh cycles Refresh cycles are generated by the TC at the programmed refresh interval. They are characterized by the following signal activity: D D D D D D D D D CAS falls prior to RAS. All CAS pins ( CAS[7:0]) are active. TRG, W, and DBEN all remain inactive (high) because no data transfer occurs. DSF is active (high) at the fall of CAS and is driven inactive prior to the fall of RAS. The data bus is driven to the high-impedance state. The upper half of the address bus (A[31:16]) contains the refresh pseudo-address and the lower half (A[15:0]) is driven to all zeros. If RETRY is asserted at any sample point during the cycle, the cycle timing is not modified. Instead, the pseudo-address and backlog counters are simply not decremented. Selecting user-modified timing has no effect on the cycles. Upon completion of the refresh cycle, the memory interface returns to state r1 to await the next access. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 103 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 refresh cycles (continued) State r1 r2 r3 r6 r9 CLKOUT CT[2:0] 4/5 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC RL A[31:16] Refresh Pseudo Address A[15:0] RAS CAS / DQM[7:0] DSF TRG / CAS W D[63:0] DBEN DDIN Figure 82. 1-Cycle/Column Refresh-Cycle Timing 104 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 r1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 refresh cycles (continued) State r1 r2 r3 r5 r6 r7 r9 r1 CLKOUT CT[2:0] 6 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC RL A[31:16] Refresh Pseudo Address A[15:0] RAS CAS / DQM[7:0] DSF TRG / CAS W D[63:0] DBEN DDIN Figure 83. 2-Cycle/Column Refresh-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 105 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 refresh cycles (continued) State r1 r2 r3 r4 r5 r6 r7 r8 CLKOUT CT[2:0] 7 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type RL Refresh Pseudo Address A[31:16] A[15:0] RAS CAS / DQM[7:0] DSF TRG / CAS W D[63:0] DBEN DDIN Figure 84. 3-Cycle/Column Refresh-Cycle Timing 106 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 PAC r9 r1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SDRAM-type cycles The SDRAM-type cycles support the use of SDRAM, SGRAM, or SVRAM devices for single-cycle memory accesses. While SDRAM cycles use the same state sequences as DRAM cycles, the memory-control signal transitions are modified to perform SDRAM command cycles. The supported SDRAM commands are: DCAB Deactivate (precharge) all banks ACTV Activate the selected bank and select the row READ Input starting column address and start read operation WRT Input starting column address and start write operation MRS Set SDRAM mode register REFR Auto-refresh cycle with internal address SRS Set special register (color register) BLW Block write SDRAM cycles begin with an activate (ACTV) command followed by the requested column accesses. When a memory-page change occurs, the selected bank is deactivated with a DCAB command. The SMJ320C80 supports CAS latencies of 2 or 3 cycles and burst lengths of 1 or 2. These are selected by the CT code input at the start of the access. The column pipelines for SDRAM accesses are shown in Figure 85. Idle cycles can occur after necessary column accesses have completed or between column accesses due to “bubbles” in the TC data flow pipeline. The pipeline diagrams show the pipeline stages for each access type and when the CAS/ DQM signal corresponding to the column access is activated. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 107 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SDRAM type cycles (continued) CAS / DQM A B C CAS / DQM Col A c1 c2 c3 Col A c1 c2 c3 c1 c2 c3 ci ci Col B Col C Idle c1 Col B A B C c2 c3 c4 c1 c2 c3 c4 c1 c2 c3 c4 ci ci ci Col C Idle ci Burst-length 1, 3-cycle latency reads, read transfers, split-read transfers Burst-length 1, 2-cycle latency reads, read transfers, split-read transfers CAS / DQM A (B) C Col A, B c1 c2 c3 CAS / DQM A Col A c1 Col B B C Col C, D (D) - - c1 c2 - c1 Col E, F Col C E ci - - c1 c2 c3 - - - ci ci Idle CAS / DQM A (B) C (D) Col A, B c1 c2 c3 c4 - - - - c1 c2 c3 c4 - - - - c1 c2 c3 c4 - - - - ci ci ci Col E, F E (F) A Col A c1 B A (B) Col A, B c1 c2 C (D) (F) c2 - Col E, F E c1 Col C, D Burst-length 2, 3-cycle latency reads, read transfers, split-read transfers CAS / DQM CAS / DQM - Idle ci Burst-length 2, 2-cycle latency reads, read transfers, split-read transfers Burst-length 1 writes, block writes, SRSs, write transfers, split-write transfers Col C, D (F) c3 c1 Idle ci c1 c2 - ci Idle ci ci Burst-length 2, 3-cycle latency writes C Col B c1 - Col C c1 - Idle ci Burst-length 2, 3-cycle latency block-writes, write transfers, split-write transfers Figure 85. SDRAM Column Pipelines special SDRAM cycles To initialize the SDRAM properly, the SMJ320C80 performs two special SDRAM cycles after reset. The ’C80 first performs a deactivate cycle on all banks (DCAB) and then initializes the SDRAM mode register with a mode register set (MRS) cycle. The CT code input at the start of the MRS cycle determines the burst length and latency that is programmed into the SDRAM mode register. 108 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 special SDRAM cycles (continued) State r1 r2 r3 r5 r1 CLKOUT CT[2:0] 0xx AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY Cycle Type STATUS[5:0] RL A[31:0] RAS CAS / DQM[7:0] DSF TRG / CAS W D[63:0] DBEN DDIN Command DCAB Figure 86. SDRAM Power-Up Deactivate Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 109 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 special SDRAM cycles (continued) State r1 r2 r3 r5 CLKOUT CT[2:0] 0xx AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY Cycle Type STATUS[5:0] RL MRS A[31:0] RAS CAS / DQM[7:0] DSF TRG / CAS W D[63:0] DBEN DDIN Command MRS Figure 87. SDRAM Mode-Register-Set Cycle Timing 110 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 r1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SDRAM read cycles Read cycles begin with an activate (ACTV) command to activate the bank and to select the row. The TC outputs the column address and activates the TRG / CAS strobe for each read command. For burst-length 1 accesses, a read command can occur on each cycle. For burst-length 2 accesses, a read command can occur every two cycles. The TC places D[63:0] into the high-impedance state, allowing it to be driven by the memory, and latches input data during the appropriate column state. The TC always reads 64 bits and extracts and aligns the appropriate bytes. Invalid bytes for bus sizes of less than 64 bits are discarded. The CAS/ DQM strobes are activated two cycles before input data is latched. If the second column in a burst is not required, then CAS/ DQM is not activated. During peripheral device packet transfers, DBEN remains high. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 111 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SDRAM read cycles (continued) State r1 r2 r3 r5 Col Pipe r6 Col A Col B Col C Col D col c1 col col c2 c1 c3 c2 c1 col col r1 c3 c2 c1 c3 c2 c3 DCAB CLKOUT CT[2:0] 0 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC PAC PAC PAC Row Col A Col B Col C Col D A B RL A[31:0] RAS CAS / DQM[7:0] DSF TRG / CAS W D[63:0] C 0 For Normal Read, 1 For PDPT read DBEN DDIN Command ACTV READ READ READ READ DCAB Figure 88. SDRAM Burst-Length 1, 2-Cycle Latency Read-Cycle Timing 112 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 D SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SDRAM read cycles (continued) State r1 r2 r3 r5 r6 Col A Col B Col C Col D Col Pipe col c1 col col col col col r1 c2 c1 c3 c2 c1 c4 c3 c2 c1 c4 c3 c2 c4 c3 c4 PAC Idle DCAB B C CLKOUT CT[2:0] 1 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC PAC PAC Row Col A Col B Col C RL A[31:0] Col D RAS CAS / DQM[7:0] DSF TRG / CAS W D[63:0] A D 0 For Normal Read, 1 For PDPT Read DBEN DDIN Command ACTV READ READ READ READ DCAB Figure 89. SDRAM Burst-Length 1, 3-Cycle Latency Read-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 113 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SDRAM read cycles (continued) State r1 r2 r3 r5 Col Pipe r6 col col col Col A Col B Col C Col D c1 c2 c1 c3 c2 c1 col col r1 c3 c2 c1 c3 c2 c3 CLKOUT CT[2:0] 2 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC DCAB PAC RL A[31:0] Row Col A (Col B) Col C (Col D) A B C D RAS CAS / DQM[7:0] DSF A, B TRG / CAS C, D W D[63:0] A B C 0 For Normal Read, 1 For PDPT Read DBEN DDIN Command ACTV READ READ DCAB Figure 90. SDRAM Burst-Length 2, 2-Cycle Latency Read-Cycle Timing 114 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 D SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SDRAM read cycles (continued) State r1 r2 r3 r5 Col Pipe r6 col col col col col col r1 Col A Col B Col C Col D c1 c2 c1 c3 c2 c1 c4 c3 c2 c1 c4 c3 c2 c4 c3 c4 Idle DCAB CLKOUT CT[2:0] 3 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC PAC RL A[31:0] Row Col A (Col B) Col C A B (Col D) RAS CAS / DQM[7:0] C D A B DSF A, B TRG / CAS C, D W D[63:0] C D 0 For Normal Read, 1 For PDPT Read DBEN DDIN Command ACTV READ READ DCAB Figure 91. SDRAM Burst-Length 2, 3-Cycle Latency Read-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 115 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SDRAM write cycles Write cycles begin with an activate (ACTV) command to activate the bank and select the row. The TC outputs the column address and activates the TRG/ CAS and W strobes for each write command. For burst-length 1 accesses, a write command can occur on each cycle. For burst-length 2 accesses, a write command can occur every two cycles. The TC drives data out on D[63:0] during each cycle of an active-write command and indicates valid bytes by driving the appropriate CAS/ DQM strobes low. During peripheral device packet transfers, DBEN remains high and D[63:0] are placed in the high-impedance state so that the peripheral can drive data into the memories. 116 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SDRAM write cycles (continued) State Col Pipe r1 r2 r3 r5 r6 rspin Col A Col B Col C Col D col c1 col col col col col Idle DCAB r1 c1 c1 c1 CLKOUT CT[2:0] 0,1 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC PAC PAC PAC Col A Col B Col C A B C D A B C D A B C D RL A[31:0] Row Col D RAS CAS / DQM[7:0] DSF TRG / CAS W D[63:0] 0 For Normal Read, 1 For PDPT Read DBEN DDIN Command ACTV WRT WRT WRT WRT DCAB Figure 92. SDRAM Burst-Length 1 Write-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 117 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SDRAM write cycles (continued) State Col Pipe r1 r2 r3 r5 r6 rspin Col A Col B Col C Col D col c1 col col col col col Idle DCAB c1 c1 c1 CLKOUT CT[2:0] 2, 3 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] PAC Cycle Type PAC RL A[31:0] Row Col A (Col B) Col C A B C (Col D) RAS CAS / DQM[7:0] D DSF A, B TRG / CAS C, D W D[63:0] A B C D DBEN DDIN Command ACTV WRT WRT Figure 93. SDRAM Burst-Length 2 Write-Cycle Timing 118 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 DCAB r1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 special register set cycles Special register set (SRS) cycles are used to program control registers within an SVRAM or SGRAM. The ’C80 only supports programming of the color register for use with block-writes. The cycle is similar to a single burst length 1 write cycle but DSF is driven high. The values output on the ’C80 address bits cause the color register to be selected as shown in Figure 94. SDRAM Address Pin BS A8 A7 A6 A5 A4 SDRAM Function 0 0 0 LC LM LS SMJ320C80 Output Value 0 0 0 1 0 0 A3 A2 A1 A0 Stop Register 0 0 0 0 Figure 94. Special-Register-Set Value State r1 r2 r3 r6 rspin rspin col r1 c1 Col Pipe CLKOUT CT[2:0] 0xx AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC Row SRS RL A[31:0] RAS CAS / DQM[7:0] DSF TRG / CAS W Color D[63:0] DBEN DDIN SRS Command Figure 95. SDRAM SRS-Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 119 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SDRAM block-write cycles Block-write cycles allow SVRAMs and SGRAMs to write a stored color value to multiple column locations in a single access. Block-write cycles are similar to write cycles except that DSF is driven high to indicate a block-write command. Because burst is not supported for block-write, burst-length 2 accesses generate a single block-write every other clock cycle. State Col Pipe r1 r2 r3 r5 r6 rspin Col A Col B Col C Col D col c1 col col col col col Idle DCAB c1 c1 c1 CLKOUT CT[2:0] 0,1 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC PAC PAC PAC Col A Col B Col C A B C D A B C D Sel A Sel B Sel C Sel D BLKW BLKW BLKW BLKW RL A[31:0] Row Col D RAS CAS / DQM[7:0] DSF TRG / CAS W D[63:0] DBEN DDIN Command ACTV Figure 96. SDRAM Burst-Length 1 Block-Write Cycle Timing 120 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 DCAB r1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SDRAM block-write cycles (continued) State Col Pipe r1 r2 r3 r5 r6 rspin Col A Col B col c1 col col col col col Idle DCAB r1 c1 CLKOUT CT[2:0] 2, 3 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] PAC Cycle Type PAC RL A[31:0] Row Col A Col B A B A B Sel A Sel B BLKW BLKW RAS CAS / DQM[7:0] DSF TRG / CAS W D[63:0] DBEN DDIN Command ACTV DCAB Figure 97. SDRAM Burst-Length 2 Block-Write Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 121 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SVRAM transfer cycles The SVRAM read- and write-transfer cycles transfer data between the SVRAM memory-array and the serial register (SAM). The SMJ320C80 supports both normal and split transfers for SVRAMs. Read- and split-read transfers resemble a standard read cycle. Write- and split-write transfers resemble a standard write cycle. Because the ’C80’s TRG output is used as CAS, external logic must generate a TRG signal (by decoding STATUS) to enable the SVRAM transfer cycle. The value output on A[31:0] at column time represents the SAM tap point. State Col Pipe r1 r2 r3 r5 r6 col c1 col c2 CLKOUT CT[2:0] 000 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC Row Tap Pt. DCAB RL A[31:0] RAS CAS / DQM[7:0] 0 For Full, 1 For Split DSF TRG / CAS W D[63:0] DBEN DDIN ACTV Command RTR DCAB Figure 98. SVRAM Burst-Length 1, 2-Cycle Latency Read-Transfer Cycle Timing 122 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 r1 c3 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SVRAM transfer cycles (continued) State Col Pipe r1 r2 col c1 col c2 col c3 Cycle Type PAC Idle DCAB Row Tap Pt. r3 r5 r6 r1 CLKOUT CT[2:0] 001 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] RL A[31:0] RAS CAS / DQM[7:0] 0 For Full, 1 For Split DSF TRG / CAS W D[63:0] DBEN DDIN ACTV Command RTR DCAB Figure 99. SVRAM Burst-Length 1, 3-Cycle Latency Read-Transfer Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 123 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SVRAM transfer cycles (continued) State Col Pipe r1 r2 col c1 col c2 col c3 Cycle Type PAC Idle DCAB Row Tap Pt. r3 r5 r6 CLKOUT CT[2:0] 010 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] RL A[31:0] RAS CAS / DQM[7:0] 0 For Full, 1 For Split DSF TRG / CAS W D[63:0] DBEN DDIN ACTV Command RTR DCAB Figure 100. SVRAM Burst-Length 2, 2-Cycle Latency Read-Transfer Cycle Timing 124 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 r1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SVRAM transfer cycles (continued) State Col Pipe r1 r2 r3 r5 r6 col col c1 col c2 col c3 r1 CLKOUT CT[2:0] 011 AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC Row Tap Pt. Idle DCAB RL A[31:0] RAS CAS / DQM[7:0] 0 For Full, 1 For Split DSF TRG / CAS W D[63:0] DBEN DDIN Command ACTV RTR DCAB Figure 101. SVRAM Burst-Length 2, 3-Cycle Latency Read-Transfer Cycle Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 125 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SVRAM transfer cycles (continued) State Col Pipe r1 r2 col c1 col col Cycle Type PAC Idle DCAB Row Tap Pt. r3 r5 r6 CLKOUT CT[2:0] 00x AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] RL A[31:0] RAS CAS / DQM[7:0] 0 For Full, 1 For Split DSF TRG / CAS W D[63:0] DBEN DDIN ACTV Command WTR Figure 102. SVRAM Burst-Length 1, Write-Transfer Cycle Timing 126 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 DCAB r1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SVRAM transfer cycles (continued) r1 State Col Pipe r2 r3 r5 r6 col c1 col col col r1 CLKOUT 01x CT[2:0] AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC Row Tap Pt. Idle DCAB RL A[31:0] RAS CAS / DQM[7:0] 0 For Full, 1 For Split DSF TRG / CAS W D[63:0] DBEN DDIN ACTV Command WTR DCAB Figure 103. SVRAM Burst-Length 2, Write-Transfer Cycle Timing SDRAM refresh cycle The SDRAM refresh cycle is performed when the TC receives an SDRAM cycle timing input (CT=0xx) at the start of a refresh cycle. The RAS and TRG / CAS outputs are driven low for one cycle to strobe a refresh command (REFR) into the SDRAM. The refresh address is generated internal to the SDRAM. The ’C80 outputs a 16-bit pseudo-address (used for refresh bank decode) on A[31:16] and drives A[15:0] low. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 127 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 SDRAM refresh cycle (continued) State r1 r2 r3 r5 r6 r9 CLKOUT CT[2:0] 0xx AS[2:0] BS[1:0] PS[3:0] UTIME FAULT READY RETRY STATUS[5:0] Cycle Type PAC RL A[31:16] Refresh Pseudo-Address A[15:0] RAS CAS / DQM[7:0] DSF TRG / CAS W D[63:0] DBEN DDIN Command REFR Figure 104. SDRAM Refresh Cycle Timing 128 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 r1 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 host interface The ’C80 contains a simple four-pin mechanism by which a host or another device can gain control of the ’C80 local memory bus. The HREQ input can be driven low by the host to request the ’C80’s bus. Once the TC has completed the current memory access, it places the local bus (except CLKOUT) into a high-impedance state. It then drives the HACK output low to indicate that the host device owns the bus and can drive it. The REQ[1:0] outputs reflect the highest-priority cycle request being received internally by the TC. The host can monitor these outputs to determine if it needs to relinquish the local bus back to the ’C80. Table 37. TC Priority Cycles REQ[1:0] ASSOCIATED INTERNAL TC REQUEST 11 SRT, urgent refresh, XPT, or VCPT 10 Cache / DEA request, urgent packet transfer 01 High-priority packet transfer 00 Low-priority packet transfer, trickle refresh, idle device reset The SMJ320C80 is reset when the RESET input is driven low. The ’C80 outputs immediately go into a high-impedance state with the exception of CLKOUT, HACK, and REQ[1:0]. While RESET is low, all internal registers are set to their default values and internal logic is reset. On the rising edge of RESET, the state of UTIME is sampled to determine if big-endian (UTIME = 0) or little-endian (UTIME = 1) operation is selected. Also, on the rising edge of RESET, the state of HREQ is sampled to determine if the master processor comes up running (HREQ = 0) or halted (HREQ = 1). Once RESET is high, the ’C80 drives the high-impedance signals to their inactive values. The TC then performs 32 refresh cycles to initialize system memory. If, during initialization refresh, the TC receives an SDRAM cycle timing code (CT = 0xx), it performs an SDRAM DCAB cycle and a MRS cycle to initialize the SDRAM, and then continues the refresh cycles. After completing initialization refresh, if the MP is running, the TC performs its instruction-cache-fill request to fetch the cache block beginning at 0xFFFFFFC0. This block contains the starting MP instruction located at 0xFFFFFFF8. If the MP comes up halted, the instruction cache fill does not take place until the first occurrence of an EINT3 interrupt to unhalt the MP. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 129 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 absolute maximum ratings over specified temperature ranges (unless otherwise noted)† Supply voltage range, VDD (see Note 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – 0.3 V to 4 V Input voltage range, VI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – 0.3 V to 4 V Output voltage range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – 0.3 V to 4 V Ambient air temperature, TA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – 55°C to 125°C Storage temperature range, Tstg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – 55°C to 150°C † Stresses beyond those listed under “absolute maximum ratings” may cause permanent damage to the device. These are stress ratings only, and functional operation of the device at these or any other conditions beyond those indicated under “recommended operating conditions” is not implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability. NOTE 1: All voltage values are with respect to VSS. recommended operating conditions VDD VSS Supply voltage IOH IOL High-level output current TC Case temperature MIN NOM MAX UNIT 3.135 3.3 3.465 V 0 0 0 V – 400 µA 2 mA 125 °C Supply voltage (see Note 2) Low-level output current TA Ambient-air temperature – 55 °C NOTE 2: To minimize noise on VSS, care should be taken to provide a minimum inductance path between the VSS pins and system ground. electrical characteristics over recommended range of supply voltage and specified temperature (unless otherwise noted) TEST CONDITIONS‡ PARAMETER MIN VIH VIL High-level input voltage 2 Low-level input voltage – 0.3 VOH VOL High-level output voltage VDD = MIN, VDD = MAX IOH = MAX Low-level output voltage Output current,, leakage g ((high g impedance)) (except EMU0 and EMU1) VDD = MAX, VDD = MAX, VO = 2.8 V VO = 0.6 V II IDD Input current (except TCK, TDI, and TMS), TRST VI = VSS to VDD VDD = MAX, Ci Input capacitance IO Supply current (see Note 3) TYP§ MAX UNIT VDD + 0.3 0.8 V 1.85 V 0.9 20 – 20 ± 20 50 MHz V 1§ 10§ 2.5 V µA µA A pF Co Output capacitance 10§ pF ‡ For conditions shown as MIN / MAX, use the appropriate value specified under the recommended operating conditions. § All typical values are at VDD = 3.3 V, TA = 25°C ¶ Typical steady-state VOH will not exceed VDD NOTE 3: Maximum supply current is derived from a test case that generates the theoretical maximum data flow using a worst case checkerboard data pattern on a sustained cycle by cycle basis. Actual maximum IDD varies in real applications based on internal and external data flow and transitions. Typical supply current is derived from a test case which attempts to emulate typical use conditions of the on-chip processors with random data. Typical IDD varies from application to application based on data flow and transitions and on-chip processor utilization. 130 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PARAMETER MEASUREMENT INFORMATION IOL Tester Pin Electronics 50 Ω VLOAD Output Under Test CT IOH Where: IOL IOH VLOAD CT = = = = 2.0 mA (all outputs) 400 µA (all outputs) 2.2 V 60 pF typical load circuit capacitance Figure 105. Test Load Circuit signal transition levels TTL-output levels are driven to a minimum logic-high level of 1.85 V and to a maximum logic-low level of 0.9 V. Figure 106 shows the TTL-level outputs. 1.85 V 1.75 V 1.0 V 0.9 V Figure 106. TTL-Level Outputs TTL-output transition times are specified as follows: D D For a high-to-low transition, the level at which the output is said to be no longer high is 1.75 V, and the level at which the output is said to be low is 1.0 V. For a low-to-high transition, the level at which the output is said to be no longer low is 1.0 V, and the level at which the output is said to be high is 1.75 V. Figure 107 shows the TTL-level inputs. 2V 0.8 V Figure 107. TTL-Level Inputs TTL-compatible input transition times are specified as follows: D D For a high-to-low transition on an input signal, the level at which the input is said to be no longer high is 2 V, and the level at which the input is said to be low is 0.8 V. For a low-to-high transition on an input signal, the level at which the input is said to be no longer low is 0.8 V, and the level at which the input is said to be high is 2 V. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 131 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 PARAMETER MEASUREMENT INFORMATION timing parameter symbology Timing parameter symbols used herein were created in accordance with JEDEC Standard 100-A. In order to shorten the symbols, some of the pin names and other related terminology have been abbreviated as follows: 132 A A[31 : 0] RDY READY CAS CAS / DQM[7 : 0] RST RESET CFG AS[2:0], BS[1:0], CT[2:0], PS[3:0], UTIME RTY RETRY CKI CLKIN REQ REQ[1:0] CKO CLKOUT RL RL CMP RETRY, READY, FAULT RR READY, RETRY D D[63:0] SCK SCLK0, SCLK1 EIN EINT1, EINT2, EINT3, or EINTx TCK TCK EMU EMU0, EMU1 TDI TDI FCK FCLK0, FCLK1 TDO TDO HAK HACK TMS TMS HRQ HREQ TRS TRST LIN LINT4 UTM UTIME MID A[31:0], STATUS[5:0] SI HSYNC0, VSYNC0, CSYNC0, HSYNC1, VSYNC1, or CSYNC1 OUT A[31:0], CAS / DQM[7 : 0], D[63:0], DBEN, DDIN, DSF, RAS, RL, STATUS[5:0], TRG / CAS, W SY HSYNC0, VSYNC0, CSYNC0 / HBLNK0, CBLNK0 / VBLNK0, HSYNC1, VSYNC1, CSYNC1 / HBLNK1, CBLNK1 / VBLNK1, CAREA0, or CAREA1 RAS RAS XPT XPT[2:0] OR XPTx Lowercase subscripts and their meanings are: The following letters and symbols and their meanings are: a access time H High c cycle time (period) L Low d delay time V Valid h hold time Z High impedance su setup time X Unknown, changing, or don’t care level t transition time w pulse duration (width) POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 general notes on timing parameters The period of the output clock (CLKOUT) is twice the period of the input clock (CLKIN), or 2 × tc(CKI). The half cycle time (tH) that appears in the following tables is one-half of the output clock period, or equal to the input clock period, tc(CKI). All output signals from the ’C80 (including CLKOUT) are derived from an internal clock such that all output transitions for a given half cycle occur with a minimum of skewing relative to each other. The signal combinations shown in the following timing diagrams may not necessarily represent actual cycles. For actual cycle examples, refer to the appropriate cycle description section of this data sheet. CLKIN timing requirements (see Figure 108) NO 1 2 3 4 MIN MAX UNIT tc(CKI) tw(CKIH) Period of CLKIN (tH) 10 ns Pulse duration of CLKIN high 4.2 ns tw(CKIL) tt(CKI) Pulse duration of CLKIN low 4.2 ns Transition time of CLKIN 1.5* ns * This parameter is not production tested. 1 4 4 2 CLKIN 3 Figure 108. CLKIN Timing local-bus switching characteristics over full operating range: CLKOUT† (see Figure 109) NO 5 6 7 8 PARAMETER MIN MAX 2tc(CKI)‡* tc(CKO) tw(CKOH) Period of CLKOUT tw(CKOL) tt(CKO) Pulse duration of CLKOUT low Pulse duration of CLKOUT high ns tH – 4.5 tH – 4.5 Transition time of CLKOUT UNIT ns ns 2.5* ns † The CLKOUT output has twice the period of CLKIN. No propagation delay or phase relationship to CLKIN is ensured. Each state of a memory access begins on the falling edge of CLKOUT. ‡ This parameter can also be specified as 2tH. * This parameter is not production tested. tH 5 tH tH tH 8 6 8 CLKOUT 7 Figure 109. CLKOUT Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 133 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 device reset timing requirements (see Figure 110) NO MIN Initial reset during power-up MAX UNIT 6th 6th ns ns 9 tw(RSTL) (RSTL) P lse d ration RESET low lo Pulse duration, 10 Setup time of HREQ low to RESET high to configure self-bootstrap mode 11 tsu(HRQL-RSTH) th(RSTH-HRQL) Hold time, HREQ low after RESET high to configure self-bootstrap mode 4th 0 12 tsu(UTML-RSTH) Setup time of UTIME low to RESET high to configure big-endian operation 4th ns 13 th(RSTH-UTML) Hold time, UTIME low after RESET high to configure big-endian operation 0 ns Reset during active operation 9 RESET 10 11 HREQ 13 12 UTIME Figure 110. Device-Reset Timing 134 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 ns ns SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 local bus timing requirements: cycle configuration inputs (see Figure 111) The cycle configuration inputs are sampled at the beginning of each row access during the r2 state. The inputs typically are generated by a static decode of the A[31:0] and STATUS[5:0] outputs. NO 14 15 16 MIN tsu(CFGV-CKOH) th(CKOH-CFGV) ta(MIDV-CFGV) MAX UNIT Setup time, AS, BS, CT, PS, and UTIME valid to CLKOUT no longer low 8 ns Hold time, AS, BS, CT, PS, and UTIME valid after CLKOUT high 2 ns Access time, AS, BS, CT, PS, and UTIME valid after memory identification (A, STATUS) valid tH tH tH tH 3tH – 10 tH ns tH CLKOUT Cycle Type STATUS[5:0] Row Address A[31:0] 15 RL 16 14 AS[2:0] Valid BS[1:0] Valid CT[2:0] Valid PS[3:0] Valid UTIME Valid Figure 111. Local Bus Timing: Cycle Configuration Inputs POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 135 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 local bus timing: cycle completion inputs (see Figure 112 and Figure 113) The cycle completion inputs are sampled at the beginning of each row access at the start of the r3 state. The READY input is sampled also at the start of the r6 state and during each column access (2 and 3 cyc/col accesses only). The RETRY input is sampled on each CLKOUT falling edge following r3. The value n as used in the parameters represents the integral number of half cycles between the transitions of the two signals in question. NO MIN Access time, RETRY, READY, FAULT valid after memory identification (A, STATUS) valid 17 ta(MIDV-CMPV) 18 tsu(CMPV-CKOL) th(CKOL-CMPV) Setup time, RETRY, READY, FAULT valid to CLKOUT no longer high 7.5 Hold time, RETRY, READY, FAULT valid after CLKOUT low 1.2 ta(RASL-RRV) ta(RLL-RRV) Access time RETRY, READY valid from RAS low 19 20 21 22 136 ta(CASL a(CASL-RRV) RRV) POST OFFICE BOX 1443 UNIT ntH–8 ns ns ns ntH–7.5 ntH–7.5 Access time, RETRY, READY valid from RL low Access time, time READY valid from CAS low MAX 2 cyc/col accesses tH–12 3 cyc/col accesses 2tH–8 • HOUSTON, TEXAS 77251–1443 ns ns ns SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 local bus timing: cycle completion inputs (continued) tH tH tH tH tH tH tH tH tH tH CLKOUT STATUS[5:0] A[31:0] RL RAS 17 18 21 19 20 RETRY READY FAULT Figure 112. Local Bus Timing: Row-Time Cycle Completion Inputs POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 137 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 local bus timing: cycle completion inputs (continued) tH tH tH tH tH tH tH tH tH CLKOUT STATUS[5:0] A[31:0] CAS/DQM[7:0] 18 22 19 17 READY RETRY Figure 113. Local Bus Timing: Column-Time Cycle Completion Inputs 138 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 tH SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 general output signal characteristics over operating conditions The following general timing parameters apply to all SMJ320C80 output signals unless otherwise specifically given. The value n as used in the parameters represents the integral number of half cycles between the transitions of the two outputs in question. For timing purposes, outputs fall into one of three groups – the data bus (D[63:0]); the other output buses (A[31:0], STATUS[5:0], CAS/DQM[7:0]; and non-bus outputs (DBEN, RL, DDIN, DSF, RAS, TRG/CAS, W). When measuring output to output, the named group refers to the second output to transition (output B), and the first output (output A) refers to any output group. NO PARAMETER MIN 23 th(OUTV-CKOL) Hold time, CLKOUT high after output valid D[63:0] A[31:0], STATUS[5:0], CAS/DQM[7:0] DBEN, DDIN, DSF, RAS, TRG/CAS, W, RL 24 th(OUTV-CKOH) Hold time, CLKOUT low after output valid D[63:0] A[31:0], STATUS[5:0], CAS/DQM[7:0] DBEN, DDIN, DSF, RAS, TRG/CAS, W, RL 25 th(CKOL-OUTV) th(CKOH-OUTV) 26 Hold time, output valid after CLKOUT low Hold time, output valid after CLKOUT high 27 th(OUTV-OUTV) Hold time, output valid after output valid D[63:0] A[31:0], STATUS[5:0], CAS/DQM[7:0] DBEN, DDIN, DSF, RAS, TRG/CAS, W, RL 28 td(CKOH-OUTV) Delay time, CLKOUT no longer low to output valid D[63:0] A[31:0], STATUS[5:0], CAS/DQM[7:0] DBEN, DDIN, DSF, RAS,TRG/CAS, W, RL 29 td(CKOL-OUTV) Delay time, CLKOUT no longer high to output valid D[63:0] A[31:0], STATUS[5:0], CAS/DQM[7:0] DBEN, DDIN, DSF, RAS,TRG/CAS, W, RL 30 td(OUTV-CKOH) td(OUTV-CKOL) 31 MAX ntH–5.6 ntH–5.0† ntH–4.3 ntH–5.6 ntH–5.0† ntH–4.3 ns ns ntH–5.5 ntH–5 ns ns ntH–6.5 ntH–6.0† ntH–5 ns ntH+6.5 ntH+5.5† ntH+5 ntH+6.5 ntH+5.5† ntH+5 Delay time, output no longer valid to CLKOUT high Delay time, output no longer valid to CLKOUT low ntH+5 ntH+5.5 ntH+6.5 ntH+6.0† ntH+5 32 td(OUTV-OUTV) Delay time, output no longer valid to output valid D[63:0] A[31:0], STATUS[5:0], CAS/DQM[7:0] DBEN, DDIN, DSF, RAS, TRG/CAS, W, RL 33 tw(OUTV) Pulse duration, output valid D[63:0] A[31:0], STATUS[5:0], CAS/DQM[7:0] DBEN, DDIN, DSF, RAS, TRG/CAS, W, RL ntH–6.5 ntH–6.0† ntH–5.0 UNIT ns ns ns ns ns ns † Except for CAS/DQM[7:0] during nonuser-timed 2-cycle/column accesses POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 139 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 general output signal characteristics over operating conditions (continued) tH tH tH tH tH tH tH tH tH tH tH CLKOUT 30 26 28 24 Output A 25 31 32 23 27 29 Output B 33 Figure 114. General Output-Signal Timing 140 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 tH SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 data input timing (see Figure 115) The following general timing parameters apply to the D[63:0] inputs unless otherwise specifically given. The value n as used in the parameters represents the integral number of half cycles between the transitions of the output and input in question. NO 34 35 36 37 38 39 40 PARAMETER MIN MAX UNIT ta(CKOH-DV) ta(CKOL-DV) Access time, CLKOUT high to D[63:0] valid tsu(DV-CKOH) tsu(DV-CKOL) Setup time, D[63:0] valid to CLKOUT no longer low 6.1 ns Setup time, D[63:0] valid to CLKOUT no longer high 6.1 ns th(CKOL-DV) th(CKOH-DV) Hold time, D[63:0] valid after CLKOUT low 2 ns Hold time, D[63:0] valid after CLKOUT high 2 ns ta(OUTV-DV) ntH–5.3 ntH–6.5 Access time, CLKOUT low to D[63:0] valid Access time, output valid to D[63:0] inputs valid A[31:0], CAS/DQM[7:0]†, STATUS[5:0], RL DBEN, DDIN, DSF, RAS, RL, TRG/CAS, W ns ns ntH–7 ns ntH–6.5 41 th(OUTV-DV)‡ Hold time, D[63:0] valid after output valid RAS, CAS/DQM[7:0], A[31:0] 3 † Except CAS/DQM[7:0] during nonuser-timed 2-cycle/column accesses ‡ Applies to RAS, CAS/DQM[7:0], and A[31:0] transitions that occur on CLKOUT edge coincident with input data sampling tH tH tH tH tH tH tH tH tH tH tH ns tH CLKOUT 38 39 37 36 34 35 D[63:0] 41 40 Output Figure 115. Data-Input Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 141 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 local bus timing: 2-cycle/column CAS timing These timing parameters apply to the CAS/DQM[7:0] signals during 2-cycle-per-column memory accesses only. They should be used in place of the general output and data input timing parameters when the 2-cycle/column (nonuser-timed) cycle timing is selected (CT[2:0] inputs = 0b110). The value n as used in the parameters represents the integral number of half cycles between the transitions of the signals in question. NO 42 43 MIN tw(CASH) tw(CASL) Pulse duration, CAS/DQM high Pulse duration, CAS/DQM low Hold time, CAS/DQM high after output valid D[63:0] A[31:0], STATUS[5:0] DBEN, DDIN, DSF, RAS, RL, TRG/CAS, W ntH–4.5 ntH–4.0 ntH–3 ntH–9.5 44 th(OUTV-CASL) 45 th(CASL-OUTV) ta(CASL-DV) Hold time, output valid after CAS/DQM low 46 47 th(CASH-DV) Hold time, data valid after CAS/DQM high Access time, data valid from CAS/DQM low tH tH tH tH tH tH tH 42 43 CAS/DQM[7:0] 44 45 Output 47 46 D[63:0] Figure 116. 2-Cycle / Column CAS Timing POST OFFICE BOX 1443 ns ns ns 2 tH • HOUSTON, TEXAS 77251–1443 tH UNIT ns 3tH–12 CLKOUT 142 MAX tH–2 3tH–9.5 ns ns tH SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 external interrupt timing (see Figure 117) The following description defines the timing of the edge-triggered interrupts EINT1 – EINT3 and the level-triggered interrupt LINT4 (see Note 4). NO 48 49 50 MIN tw(EINL) tsu(EINH-CKOH) Pulse duration, EINTx low tw(EINH) tsu(LINL-CKOL) Pulse duration, EINTx high Setup time, EINTx high before CLKOUT no longer low 51 Setup time, LINT4 low before CLKOUT no longer high † This parameter must only be met to ensure that the interrupt is recognized on the indicated cycle. * This parameter is not production tested. NOTE 4: In order to ensure recognition, LINT4 must remain low until cleared by the interrupt service routine. MAX UNIT 6* 9.5† ns 6* 9.5† ns ns ns Interrupt Recognized CLKOUT 49 50 EINTx 51 48 LINT4 Figure 117. External Interrupt Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 143 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 XPT input timing (see Figure 118 and Figure 119) The following description defines the sampling of the XPT[2:0] inputs. The value encoded on the XPT[2:0] inputs is synchronized over multiple cycles to ensure that a stable value is present. NO 52 53 54 MIN tw(XPTV) tsu(XPTV-CKOH) Pulse duration, XPTx valid th(CKOH-XPTV) th(RLL-XPTV) Hold time, XPT[2:0] valid after CLKOUT high MAX 12tH* 12† Setup time, XPT[2:0] valid before CLKOUT no longer low ns ns 5 XPT Inputs Sampled ns 6tH‡* 55 Hold time, XPT[2:0] valid after RL low † This parameter must only be met to ensure that the XPT input is recognized on the indicated cycle. ‡ This parameter must be met to ensure that a second XPT request does nor occur. * This parameter is not production tested. UNIT ns XPT Inputs Recognized CLKOUT 53 54 52 XPT[2:0] Figure 118. XPT Input Timing – XPT Recognition CLKOUT STATUS[5:0] XPTn Row Status RL 55 XPT[2:0] XPTn XPTz Figure 119. XPT Input Timing – XPT Service 144 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 host-interface timing (see Figure 120) ’C80-40 NO 56 MIN tsu(REQV-CKOH) th(CKOH-REQV) Setup time, REQ1 – REQ0 valid to CLKOUT no longer low 57 58 th(HRQL-HAKL) Hold time for HACK high after HREQ goes low* td(HAKL d(HAKL-OUTZ) OUTZ) Delay time, time HACK low to output hi hi-Z Z 60 td(HRQH- HAKH) td(HAKH-OUTD) Delay time, HREQ high to HACK no longer low Delay time, HACK high to outputs driven† 61 tH – 7 tH – 7 Hold time, REQ1 – REQ0 valid after CLKOUT high 59 MAX ns ns 4tH – 12* ns All signals except D[63:0] 1* D[63:0] 1* 10 6tH 8.5 62 tsu(HRQL-CKOH) Setup time, HREQ low to CLKOUT no longer low (see Note 5) * This parameter is not production tested. NOTE 5: Parameter must be met only to ensure HREQ recognition during the indicated clock cycle. UNIT ns ns ns HREQ Sampled CLKOUT 56 57 REQ[1:0] HREQ 62 58 60 HACK 61 59 A[31:0] RL, TRG, WE, DSF, DSF2, DBEN RAS CAS[7:0] D[63:0] DDIN Figure 120. Host-Interface Timing POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 145 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 video interface timing: SCLK timing (see Figure 121) NO 63 64 65 66 MIN tc(SCK) tw(SCKH) SCLK period tw(SCKL) tt(SCK) UNIT ns Pulse duration, SCLK high 5 ns Pulse duration, SCLK low 5 ns Transition time, SCLK (rise and fall) 2* * This parameter is not production tested. 63 66 64 66 SCLK0 SCLK1 65 Figure 121. Video Interface Timing: SCLK Timing 146 MAX 13 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 ns SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 video interface timing: FCLK input and video outputs (see Note 6 and Figure 122) NO 67 68 69 70 MIN tc(FCK) tw(FCKH) FCLK period tw(FCKL) tt(FCK) MAX UNIT 25 ns Pulse duration, FCLK high 8 ns Pulse duration, FCLK low 8 ns Transition time, FCLK (rise and fall) 2* ns 71 th(FCKL-SYL) Hold time, HSYNC, VSYNC, CSYNC / HBLNK, CBLNK / VBLNK, or CAREA high after FCLK low 72 th(FCKL-SYH) Hold time, HSYNC, VSYNC, CSYNC / HBLNK, CBLNK / VBLNK, or CAREA low after FCLK low 73 td(FCKL-SYL) Delay time, FCLK no longer high to HSYNC, VSYNC, CSYNC / HBLNK, CBLNK / VBLNK, or CAREA low 20 ns 74 td(FCKL-SYH) Delay time, FCLK no longer high to HSYNC, VSYNC, CSYNC / HBLNK, CBLNK / VBLNK, or CAREA high 20 ns 0 ns 0 ns * This parameter is not production tested. NOTE 6: Under certain circumstances, these outputs also can transition asynchronously. These transitions occur when controller timing register values are modified by user programming. If the new register value forces the output to change states, then this transition occurs without regard to FCLK inputs. 70 67 68 70 69 FCLK0 FCLK1 74 73 72 HSYNCn, VSYNCn, CSYNCn / HBLNKn CBLNKn / VBLNKn CAREAn 71 Figure 122. Video Interface Timing: FCLK Input and Video Outputs POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 147 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 video interface timing: external sync inputs (see Figure 123) When configured as inputs, the HSYNCn, VSYNCn, and CSYNCn signals may be driven asynchronously. The following parameters apply only when the inputs are being generated synchronous to FCLKn in order to ensure recognition on a particular FLCKn edge. NO 75 76 77 78 MIN MAX Setup time, HSYNC, VSYNC, or CSYNC low to FCLK no longer low† Hold time, HSYNC, VSYNC, or CSYNC high after FCLK high‡ 5 ns 7 ns tsu(SIH-FCKH) th(FCKH-SIH) Setup time, HSYNC, VSYNC, or CSYNC high to FCLK no longer low§ 5 ns Hold time, HSYNC, VSYNC, or CSYNC low after FCLK high¶ 7 ns † This parameter must be met only to ensure the input is recognized as low at FLCK edge B. ‡ This parameter must be met only to ensure the input is recognized as high at FLCK edge A. § This parameter must be met only to ensure the input is recognized as high at FLCK edge D. ¶ This parameter must be met only to ensure the input is recognized as low at FLCK edge C. A B C D FCLK0 FCLK1 76 77 78 HSYNC0, HSYNC1 VSYNC0, VSYNC1 CSYNC0, CSYNC1 (Inputs) 75 Figure 123. Video Interface Timing: External Sync Inputs 148 UNIT tsu(SIL-FCKH) th(FCKH-SIL) POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 emulator interface connection The ’C80 supports emulation through a dedicated emulation port that is a superset of the IEEE Standard 1149.1 (JTAG) Standard. To support the ’C80 emulator, a target system must include a 14-pin header (2 rows of 7 pins) with the connections shown in Figure 124. Table 38 describes the emulation signal. TMS 1 2 TRST TDI 3 4 GND PD(+3.3V) 5 6 No pin (key) TDO 7 8 GND TCKRET 9 10 GND TCK 11 12 GND EMU0 13 14 EMU1 Pin Spacing: 0.100 in. (X,Y) Pin Width: 0.025 in, square post Pin Length: 0.235 in. nominal (see Table 38) Figure 124. Target System Header Table 38. Target Connectors XDS510 SIGNAL XDS510 STATE TARGET STATE TMS O I TDI O I Test-mode select† Test-data input† TDO I O Test-data output† TCK O I TRST O I Test clock – 10-MHz clock source from emulator. Can be used to drive system-test clock.† Test reset† EMU0 I I/O Emulation pin 0 EMU1 I I/O Emulation pin 1 PD (3.3 V) I O Presence detect. Indicates that the target is connected and powered up. Should be tied to + 3.3 V on target system. TCKRET I O Test clock return. Test clock input to the XDS510 emulator. Can be buffered or unbuffered version of TCK.† DESCRIPTION † IEEE Standard 1149.1 For best results, the emulation header should be located as close as possible to the ’C80. If the distance exceeds six inches, the emulation signals should be buffered. See Figure 125. XDS510 is a trademark of Texas Instruments Incorporated. POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 149 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 emulator-interface connection (continued) 3.3 V EMU0 EMU1 TRST TMS TDI TDO T34 13 J35 14 L33 2 N33 1 H34 3 P32 7 E35 11 TCK 9 ’C80 3.3 V 3.3 V 6 in. or less EMU0 3.3 V 5 PD EMU1 EMU0 EMU1 4 TRST GND TMS GND TDI GND TDO GND TCK GND TRST 6 TMS 8 TDI 10 TDO 12 T34 13 J35 14 L33 2 N33 1 H34 3 P32 7 E35 11 TCK TCKRET Emulator Header 9 ’C80 More than 6 in. 3.3 V 5 EMU0 PD EMU1 4 TRST GND TMS GND TDI GND TDO GND TCK GND 6 8 10 12 TCKRET Emulator Header Figure 125. Emulation Header Connections – Emulator-Driven Test Clock The target system also can generate the test clock. This allows the user to: D D Set the test clock frequency to match the system requirements. (The emulator provides only a 10-MHz test clock.) Have other devices in the system that require a test clock when the emulator is not connected 3.3 V EMU0 EMU1 TRST TMS TDI TDO TCK 3.3 V T34 13 J35 14 L33 2 N33 1 H34 3 P32 7 E35 11 9 ’C80 System Test Clock PD EMU0 EMU1 TRST GND TMS GND TDI GND TDO GND TCK GND 3.3 V 5 4 6 8 10 12 TCKRET Emulator Header More than 6 in. Figure 126. Emulation Header Connections – System-Driven Test Clock 150 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 emulator-interface connection (continued) For multiprocessor applications, the following conditions are recommended: D D D D To reduce timing skew, buffer TMS, TDI, TDO, and TCK through the same physical package. If buffering is used, 4.7-kΩ resistors are recommended for TMS, TDI, and TCK, which should be pulled high (3.3 V). Buffering EMU0 and EMU1 is recommended highly to provide isolation. The buffers need not be in the same physical package as TMS, TCK, TDI, or TDO. Pullups to 3.3 V are required and should provide a signal rise time of less than 10 µs. A 4.7-kΩ resistor is suggested for most applications. To ensure high-quality signals, special printed wire board (PWB) routing and use of termination resistors may be required. The emulator provides fixed series termination (33 Ω) on TMS and TDI, and optional parallel terminators (180-Ω pullup and 270-Ω pulldown) on TCKRET and TDO. 3.3 V EMU0 EMU1 TRST TMS TDI TDO TCK 3.3 V T34 13 J35 14 L33 2 N33 1 H34 3 P32 7 E35 11 9 EMU0 EMU1 TRST GND TMS GND TDI GND TDO GND TCK GND EMU1 TRST TMS TDI TDO TCK 4 6 8 10 12 TCKRET ’C80 EMU0 PD 3.3 V 5 Emulator Header T34 J35 L33 N33 H34 P32 E35 ’C80 Figure 127. Emulation Header Connections – Multiprocessor Applications POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 151 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MECHANICAL DATA GF (S-CPGA-P305) CERAMIC PIN GRID ARRAY PACKAGE 1.717 (43,61) TYP 1.683 (42,75) 1.879 (47,73) SQ 1.841 (46,76) 0.100 (2,54) AR AN AL AJ AG AE AC AA W U R N L J G E C A 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 Heatsink 0.050 (1,27) 0.060 (1,52) 0.040 (1,02) 0.019 (0,48) 0.014 (0,36) 0.026 (0,660) 0.006 (0,152) 0.045 (1,14) DIA 4 Places 0.040 (1,02) 0.190 (4,83) 0.170 (4,32) 0.150 (3,81) 0.180 (4,57) 0.110 (2,79) 0.140 (3,56) 4040035-3/E 03/97 NOTES: A. All linear dimensions are in inches (millimeters). B. This drawing is subject to change without notice. C. Package thickness of 0.150 (3,81) / 0.110 (2,79) includes package body and lid, but does not include integral heatsink or attached features. 152 POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 SMJ320C80 DIGITAL SIGNAL PROCESSOR SGUS025 – AUGUST 1998 MECHANICAL DATA HFH (R-CQFP-F320) CERAMIC QUAD FLATPACK WITH NCTB 76,40 74,85 75,40 74,60 57,00 55,60 44,44 43,56 1,55 Dia 1,45 (4 Places) 5,50 4,50 39,50 BSC 320 1 241 240 DETAIL “C” Heatsink 70,00 3,60 3,50 161 160 80 81 DETAIL “B” 2,60 2,50 2,60 Dia (2 Places) 2,50 DETAIL ”A” 0,50 MAX 320 0,25 0,18 0,51 4,55 MAX 4,00 MAX 0,20 0,10 0,35 0,05 0,50 DETAIL “A” NOTES: A. B. C. D. E. DETAIL “B” 1,05 0,75 DETAIL “C” 4040232-6/E 09/96 All linear dimensions are in millimeters. This drawing is subject to change without notice. This package can be hermetically sealed with a metal lid. The terminals will be gold plated. Falls within JEDEC MO-134 AD POST OFFICE BOX 1443 • HOUSTON, TEXAS 77251–1443 153 IMPORTANT NOTICE Texas Instruments and its subsidiaries (TI) reserve the right to make changes to their products or to discontinue any product or service without notice, and advise customers to obtain the latest version of relevant information to verify, before placing orders, that information being relied on is current and complete. All products are sold subject to the terms and conditions of sale supplied at the time of order acknowledgement, including those pertaining to warranty, patent infringement, and limitation of liability. TI warrants performance of its semiconductor products to the specifications applicable at the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are utilized to the extent TI deems necessary to support this warranty. Specific testing of all parameters of each device is not necessarily performed, except those mandated by government requirements. CERTAIN APPLICATIONS USING SEMICONDUCTOR PRODUCTS MAY INVOLVE POTENTIAL RISKS OF DEATH, PERSONAL INJURY, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE (“CRITICAL APPLICATIONS”). TI SEMICONDUCTOR PRODUCTS ARE NOT DESIGNED, AUTHORIZED, OR WARRANTED TO BE SUITABLE FOR USE IN LIFE-SUPPORT DEVICES OR SYSTEMS OR OTHER CRITICAL APPLICATIONS. INCLUSION OF TI PRODUCTS IN SUCH APPLICATIONS IS UNDERSTOOD TO BE FULLY AT THE CUSTOMER’S RISK. In order to minimize risks associated with the customer’s applications, adequate design and operating safeguards must be provided by the customer to minimize inherent or procedural hazards. TI assumes no liability for applications assistance or customer product design. TI does not warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other intellectual property right of TI covering or relating to any combination, machine, or process in which such semiconductor products or services might be or are used. TI’s publication of information regarding any third party’s products or services does not constitute TI’s approval, warranty or endorsement thereof. Copyright 1998, Texas Instruments Incorporated