OR3C80 LatticeSemiconductor
OR3C80 LatticeSemiconductor
OR3C80 LatticeSemiconductor
March 2002
Features ble logic cell (PLC), with over 50% speed improvement
typical.
■ High-performance, cost-effective, 0.35 µm (OR3C) and ■ Abundant hierarchical routing resources based on rout-
0.3 µm (OR3T) 4-level metal technology, (4- or 5-input ing two data nibbles and two control lines per set provide
look-up table delay of 1.1 ns with -7 speed grade in for faster place and route implementations and less rout-
0.3 µm). ing delay.
■ Same basic architecture as lower-voltage, advanced ■ TTL or CMOS input levels programmable per pin for the
process technology Series 3 architectures. (See ORCA OR3Cxx (5.0 V) devices.
Series 3L FPGA documentation.) ■ Individually programmable drive capability:
■ Up to 186,000 usable gates. 12 mA sink/6 mA source or 6 mA sink/3 mA source.
■ Up to 452 user I/Os. (OR3Txxx I/Os are 5 V tolerant to ■ Built-in boundary scan (IEEE † 1149.1 JTAG) and
allow interconnection to both 3.3 V and 5 V devices, TS_ALL testability function to 3-state all I/O pins.
selectable on a per-pin basis.) ■ Enhanced system clock routing for low skew, high-speed
■ Pin selectable I/O clamping diodes provide 5 V or 3.3 V clocks originating on-chip or at any I/O.
PCI compliance and 5 V tolerance on OR3Txxx devices. ■ Up to four ExpressCLK inputs allow extremely fast clock-
■ Twin-quad programmable function unit (PFU) architec- ing of signals on- and off-chip plus access to internal
ture with eight 16-bit look-up tables (LUTs) per PFU, general clock routing.
organized in two nibbles for use in nibble- or byte-wide ■ StopCLK feature to glitchlessly stop/start ExpressCLKs
functions. Allows for mixed arithmetic and logic functions independently by user command.
in a single PFU.
■ Programmable I/O (PIO) has:
■ Nine user registers per PFU, one following each LUT, — Fast-capture input latch and input flip-flop (FF) latch
plus one extra. All have programmable clock enable and for reduced input setup time and zero hold time.
local set/reset, plus a global set/reset that can be dis- — Capability to (de)multiplex I/O signals.
abled per PFU. — Fast access to SLIC for decodes and PAL-like
■ Flexible input structure (FINS) of the PFUs provides a functions.
routability enhancement for LUTs with shared inputs and — Output FF and two-signal function generator to
the logic flexibility of LUTs with independent inputs. reduce CLK to output propagation delay.
— Fast open-drain dive capability
■ Fast-carry logic and routing to adjacent PFUs for nibble-, — Capability to register 3-state enable signal.
byte-wide, or longer arithmetic functions, with the option
to register the PFU carry-out. ■ Baseline FPGA family used in Series 3+ FPSCs (field
programmable system chips) which combine FPGA logic
■ Softwired LUTs (SWL) allow fast cascading of up to and standard cell logic on one device.
three levels of LUT logic in a single PFU for up to 40%
speed improvement.
■ Supplemental logic and interconnect cell (SLIC) pro- * PAL is a trademark of Advanced Micro Devices, Inc.
vides 3-statable buffers, up to 10-bit decoder, and PAL*- † IEEE is a registered trademark of The Institute of Electrical and
like AND-OR with optional INVERT in each programma- Electronics Engineers, Inc.
System Process
Device LUTs Registers Max User RAM User I/Os Array Size
Gates‡ Technology
OR3T20 36K 1152 1872 18K 196 12 x 12 0.3 µm/4 LM
OR3T30 48K 1568 2436 25K 228 14 x 14 0.3 µm/4 LM
OR3T55 80K 2592 3780 42K 292 18 x 18 0.3 µm/4 LM
OR3C/3T80 116K 3872 5412 62K 356 22 x 22 0.3 µm/4 LM
OR3T125 186K 6272 8400 100K 452 28 x 28 0.3 µm/4 LM
‡ The system gate counts range from a logic-only gate count to a gate count assuming 30% of the PFUs/SLICs being used as RAMs.
The logic-only gate count includes each PFU/SLIC (counted as 108 gates per PFU/SLIC), including 12 gates per LUT/FF pair (eight per
PFU), and 12 gates per SLIC/FF pair (one per PFU). Each of the four PIOs per PIC is counted as 16 gates (two FFs, fast-capture latch,
output logic, CLK drivers, and I/O buffers). PFUs used as RAM are counted at four gates per bit, with each PFU capable of implementing
a 32 x 4 RAM (or 512 gates) per PFU.
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
Table of Contents
Contents Page Contents Page
Table of Contents
Contents Page Contents Page
Package Coplanarity ...............................................196 Table 32. Configuration Frame Format and
Package Parasitics ..................................................196 Contents .................................................................. 90
Package Outline Diagrams......................................197 Table 33. Configuration Frame Size ......................... 91
Terms and Definitions ...........................................197 Table 34. Configuration Modes ................................ 92
208-Pin SQFP .......................................................198 Table 35. Absolute Maximum Ratings ....................100
208-Pin SQFP2 .....................................................199 Table 36. Recommended Operating Conditions ....100
240-Pin SQFP .......................................................200 Table 37. Electrical Characteristics ........................101
240-Pin SQFP2 .....................................................201 Table 38. Derating for Commercial Devices
256-Pin PBGA .......................................................202 (OR3Cxx) ..............................................................103
352-Pin PBGA .......................................................203 Table 39. Derating for Industrial Devices (OR3Cxx) ....
432-Pin EBGA .......................................................204 103
600-Pin EBGA .......................................................205 Table 40. Derating for Commercial/Industrial
Ordering Information................................................206 Devices (OR3Txxx) ...............................................103
Index........................................................................207 Table 41. Combinatorial PFU Timing
Tables Characteristics .......................................................104
Table 42. Sequential PFU Timing Characteristics ..106
Table 1. ORCA Series 3 (3C and 3T) FPGAs ............ 2 Table 43. Ripple Mode PFU Timing
Table 2. ORCA Series 3 System Performance .......... 6 Characteristics .......................................................107
Table 3. Look-Up Table Operating Modes ............... 13 Table 44. Synchronous Memory Write
Table 4. Control Input Functionality .......................... 14 Characteristics .......................................................109
Table 5. Ripple Mode Equality Comparator Table 45. Synchronous Memory Read
Functions and Outputs ............................................ 18 Characteristics .......................................................110
Table 6. SLIC Modes ................................................ 21 Table 46. PFU Output MUX and Direct Routing
Table 7. Configuration RAM Controlled Timing Characteristics ...........................................111
Latch/Flip-Flop Operation ........................................ 25 Table 47. Supplemental Logic and Interconnect
Table 8. Inter-PLC Routing Resources ..................... 31 Cell (SLIC) Timing Characteristics ........................111
Table 9. PIO Options ................................................ 37 Table 48. Programmable I/O (PIO) Timing
Table 10. PIO Logic Options .................................... 43 Characteristics .......................................................112
Table 11. PIO Register Control Signals .................... 43 Table 49. Microprocessor Interface (MPI) Timing
Table 12. Readback Options .................................... 54 Characteristics .......................................................115
Table 13. Boundary-Scan Instructions ..................... 58 Table 50. Programmable Clock Manager (PCM)
Table 14. Boundary-Scan ID Code ........................... 59 Timing Characteristics (Preliminary Information) ..121
Table 15. TAP Controller Input/Outputs ................... 61 Table 51. Boundary-Scan Timing Characteristics ..122
Table 16. PowerPC/MPI Configuration ..................... 65 Table 52. ExpressCLK (ECLK) and Fast Clock
Table 17. i960/MPI Configuration ............................. 66 (FCLK) Timing Characteristics ..............................123
Table 18. MPI Internal Interface Signals .................. 67 Table 53. General-Purpose Clock Timing
Table 19. MPI Setup and Control Registers ............. 68 Characteristics (Internally Generated Clock) .........124
Table 20. MPI Setup and Control Registers Table 54. OR3Cxx ExpressCLK to Output Delay
Description ............................................................... 68 (Pin-to-Pin) ............................................................125
Table 21. MPI Control Register 2 ............................. 69 Table 55. OR3Cxx Fast Clock (FCLK) to Output
Table 22. Status Register ......................................... 70 Delay (Pin-to-Pin) ..................................................126
Table 23. Device ID Code ........................................ 71 Table 56. OR3Cxx General System Clock (SCLK)
Table 24. Series 3 Family and Device ID Values ..... 71 to Output Delay (Pin-to-Pin) ..................................127
Table 25. ORCA Series 3 Device ID Descriptions .... 71 Table 57. OR3C/Txxx Input to ExpressCLK (ECLK)
Table 26. PCM Registers ......................................... 73 Fast-Capture Setup/Hold Time (Pin-to-Pin) ..........128
Table 27. DLL Mode Delay/1x Duty Cycle Table 58. OR3C/Txxx Input to Fast Clock
Programming Values ............................................... 75 Setup/Hold Time (Pin-to-Pin) ................................130
Table 28. DLL Mode Delay/2x Duty Cycle Table 59. OR3C/Txxx Input to General System
Programming Values ............................................... 76 Clock (SCLK) Setup/Hold Time (Pin-to-Pin) ..........132
Table 29. PCM Oscillator Frequency Range 3Txxx . 78 Table 60. General Configuration Mode Timing
Table 30. PCM Oscillator Frequency Range 3Cxx ... 78 Characteristics .......................................................133
Table 31. PCM Control Registers ............................. 80
Lattice Semiconductor 3
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
Table of Contents
Contents Page Contents Page
Table 61. Master Serial Configuration Mode Timing Figure 13. Buffer-Buffer-Decoder Mode ................... 23
Characteristics ...................................................... 136 Figure 14. Buffer-Decoder-Buffer Mode ................... 23
Table 62. Master Parallel Configuration Mode Timing Figure 15. Buffer-Decoder-Decoder Mode ............... 24
Characteristics ...................................................... 137 Figure 16. Decoder Mode ......................................... 24
Table 63. Asynchronous Peripheral Configuration Mode Figure 17. Latch/FF Set/Reset Configurations ......... 26
Timing Characteristics ........................................... 138 Figure 18. Configurable Interconnect Point .............. 27
Table 64. Slave Serial Configuration Mode Timing Figure 19. Single PLC View of Inter-PLC Route
Characteristics ...................................................... 139 Segments ................................................................ 28
Table 65. Slave Parallel Configuration Mode Figure 20. Multiple PLC View of Inter-PLC Routing . 32
Timing Characteristics ........................................... 140 Figure 21. PLC Architecture ..................................... 35
Table 66. Readback Timing Characteristics ........... 142 Figure 22. OR3C/Txxx Programmable Input/Output
Table 67. Pin Descriptions ...................................... 149 (PIO) Image from ORCA Foundry ........................... 36
Table 68. ORCA I/Os Summary ............................. 153 Figure 23. Fast-Capture Latch and Timing ............... 39
Table 69. Series 3 ExpressCLK Pins ..................... 154 Figure 24. PIO Input Demultiplexing ......................... 40
Table 70. OR3T20, OR3T30, OR3T55, Figure 25. Output Multiplexing (OUT1OUT2 Mode) . 42
OR3C/T80, and OR3T125 208-Pin Figure 26. Output Multiplexing
SQFP/SQFP2 Pinout ............................................ 155 (OUT2OUTREG Mode) ........................................... 42
Table 71. OR3T20, OR3T30, OR3T55, Figure 27. PIC Architecture ...................................... 46
OR3C/T80, and OR3T125 240-Pin Figure 28. Interquad Routing .................................... 47
SQFP/SQFP2 Pinout ............................................ 161 Figure 29. hIQ Block Detail ....................................... 48
Table 72. OR3T20, OR3T30, and OR3T55 Figure 30. Top (TMID) Routing ................................. 49
256-Pin PBGA Pinout ............................................ 168 Figure 31. PFU Clock Sources ................................. 50
Table 73. OR3T20, OR3T30, OR3T55, Figure 32. ORCA Series 3 System Clock
OR3C/T80, and OR3T125 352-Pin PBGA Pinout . 172 Distribution Overview .............................................. 51
Table 74. OR3C/T80 and OR3T125 432-Pin Figure 33. PIC System Clock Spine Generation ...... 52
EBGA Pinout ......................................................... 182 Figure 34. ExpressCLK and Fast Clock Distribution 53
Table 75. OR3T125 600-Pin EBGA Pinout ............ 187 Figure 35. Top CLKCNTRL Function Block .............. 56
Table 76. Plastic Package Thermal Figure 36. Printed-Circuit Board with Boundary-
Characteristics for the ORCA Series ..................... 195 Scan Circuitry .......................................................... 57
Table 77. Package Coplanarity .............................. 196 Figure 37. Boundary-Scan Interface ......................... 58
Table 78. Package Parasitics ................................. 196 Figure 38. ORCA Series Boundary-Scan Circuitry
Table 79. Voltage Options ...................................... 206 Functional Diagram ................................................. 60
Table 80. Temperature Options ............................. 206 Figure 39. TAP Controller State Transition Diagram 61
Table 81. Package Options .................................... 206 Figure 40. Boundary-Scan Cell ................................ 62
Table 82. ORCA Series 3 Package Matrix ............. 206 Figure 41. Instruction Register Scan Timing
Table 83. Speed Grade Options ............................. 206 Diagram ................................................................... 63
Figure 42. MPI Block Diagram .................................. 64
Figures
Figure 43. PowerPC/MPI .......................................... 65
Figure 1. OR3T55 Array ........................................... 10 Figure 44. i960/MPI .................................................. 66
Figure 2. PFU Ports .................................................. 11 Figure 45. PCM Block Diagram ................................ 72
Figure 3. Simplified PFU Diagram ............................ 12 Figure 46. PCM Functional Block Diagram .............. 74
Figure 4. Simplified F4 and F5 Logic Modes ............ 14 Figure 47. ExpressCLK Delay Minimization Using
Figure 5. Softwired LUT Topology Examples ........... 15 the PCM .................................................................. 76
Figure 6. Ripple Mode .............................................. 16 Figure 48. Clock Phase Adjustment Using the PCM 83
Figure 7. Counter Submode ..................................... 17 Figure 49. FPGA States of Operation ....................... 85
Figure 8. Multiplier Submode .................................... 18 Figure 50. Initialization/Configuration/Start-Up
Figure 9. Memory Mode ........................................... 19 Waveforms .............................................................. 86
Figure 10. Memory Mode Expansion Example— Figure 51. Start-Up Waveforms ................................ 88
128 x 8 RAM ........................................................... 20 Figure 52. Serial Configuration Data Format—
Figure 11. SLIC All Modes Diagram ......................... 22 Autoincrement Mode ............................................... 90
Figure 12. Buffer Mode ............................................. 22
4 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Table of Contents
Contents Page Contents Page
Figure 53. Serial Configuration Data Format— Figure 79. Input to ExpressCLK Setup/Hold Time ..129
Explicit Mode ........................................................... 90 Figure 80. Input to Fast Clock Setup/Hold Time .....131
Figure 54. Master Parallel Configuration Schematic 92 Figure 81. Input to System Clock Setup/Hold Time 132
Figure 55. Master Serial Configuration Schematic ... 93 Figure 82. General Configuration Mode Timing
Figure 56. Asynchronous Peripheral Configuration .. 94 Diagram .................................................................135
Figure 57. PowerPC/MPI Configuration Schematic .. 95 Figure 83. Master Serial Configuration Mode
Figure 58. i960/MPI Configuration Schematic .......... 95 Timing Diagram .....................................................136
Figure 59. Configuration Through MPI ..................... 95 Figure 84. Master Parallel Configuration Mode
Figure 60. Readback Through MPI .......................... 96 Timing Diagram .....................................................137
Figure 61. Slave Serial Configuration Schematic ..... 97 Figure 85. Asynchronous Peripheral Configuration
Figure 62. Slave Parallel Configuration Schematic .. 97 Mode Timing Diagram ...........................................138
Figure 63. Daisy-Chain Configuration Schematic ..... 98 Figure 86. Slave Serial Configuration Mode
Figure 64. Combinatorial PFU Timing .................... 105 Timing Diagram .....................................................139
Figure 65. Synchronous Memory Write Figure 87. Slave Parallel Configuration Mode
Characteristics ...................................................... 109 Timing Diagram .....................................................140
Figure 66. Synchronous Memory Read Cycle ........ 110 Figure 88. Readback Timing Diagram ....................142
Figure 67. MPI PowerPC User Space Read Timing ..... Figure 89. ac Test Loads ........................................143
117 Figure 90. Output Buffer Delays .............................143
Figure 68. MPI PowerPC User Space Write Timing ..... Figure 91. Input Buffer Delays ................................143
117 Figure 92. Sinklim (TJ = 25 °C, VDD = 5.0 V) ..........144
Figure 69. MPI PowerPC Internal Read Timing ..... 118 Figure 93. Slewlim (TJ = 25 °C, VDD = 5.0 V) .........144
Figure 70. MPI PowerPC Internal Write Timing ...... 118 Figure 94. Fast (TJ °C, VDD = 5.0 V) ......................144
Figure 71. MPI i960 User Space Read Timing ....... 119 Figure 95. Sinklim (TJ = 125 °C, VDD = 4.5 V) ........144
Figure 72. MPI i960 User Space Write Timing ....... 119 Figure 96. Slewlim (TJ = 125 °C, VDD = 4.5 V) .......144
Figure 73. MPI i960 Internal Read Timing .............. 120 Figure 97. Fast (TJ = 125 °C, VDD = 4.5 V) ............144
Figure 74. MPI i960 Internal Write Timing .............. 120 Figure 98. Sinklim (TJ = 25 °C, VDD = 3.3 V) ..........145
Figure 75. Boundary-Scan Timing Diagram ........... 122 Figure 99. Slewlim (TJ = 25 °C, VDD = 3.3 V) .........145
Figure 76. ExpressCLK to Output Delay ................ 125 Figure 100. Fast (TJ = 25 °C, VDD = 3.3 V) ............145
Figure 77. Fast Clock to Output Delay ................... 126 Figure 101. Sinklim (TJ = 125 °C, VDD = 3.0 V) ......145
Figure 78. System Clock to Output Delay .............. 127 Figure 102. Slewlim (TJ = 125 °C, VDD = 3.0 V) .....145
Lattice Semiconductor 5
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
System-Level Features phase and duty cycle for input clock rates from
5 MHz to 120 MHz. The PCM may be combined with
System-level features reduce glue logic requirements FPGA logic to create complex functions, such as dig-
and make a system on a chip possible. These features ital phase-locked loops (DPLL), frequency counters,
in the ORCA Series 3 include: and frequency synthesizers or clock doublers. Two
PCMs are provided per device.
■ Full PCI local bus compliance.
■ True, internal, 3-state, bidirectional buses with simple
■ Dual-use microprocessor interface (MPI) can be control provided by the SLIC.
used for configuration, readback, device control, and
device status, as well as for a general-purpose inter- ■ 32 x 4 RAM per PFU, configurable as single- or dual-
face to the FPGA. Glueless interface to i960 * and port at >176 MHz. Create large, fast RAM/ROM
PowerPC† processors with user-configurable blocks (128 x 8 in only eight PFUs) using the SLIC
address space provided. decoders as bank drivers.
6 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Lattice Semiconductor 7
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
8 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Lattice Semiconductor 9
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
Architecture (continued)
VI
PT1 PT2 PT3 PT4 PT5 PT6 PT7 PT8 PT9 TMID PT10 PT11 PT12 PT13 PT14 PT15 PT16 PT17 PT18
PL1
PR1
PL2 R1C1 R1C2 R1C3 R1C4 R1C5 R1C6 R1C7 R1C8 R1C9 R1C10 R1C11 R1C12 R1C13 R1C14 R1C15 R1C16 R1C17 R1C18
PR2
R2C1 R2C2 R2C3 R2C4 R2C5 R2C6 R2C7 R2C8 R2C9 R2C10 R2C11 R2C12 R2C13 R2C14 R2C15 R2C16 R2C17 R2C18
vIQ
PR3
PL3
R3C1 R3C2 R3C3 R3C4 R3C5 R3C6 R3C7 R3C8 R3C9 R3C10 R3C11 R3C12 R3C13 R3C14 R3C15 R13C16 R3C17 R3C18
PR4
PL4
R4C1 R4C2 R4C3 R4C4 R4C5 R4C6 R4C7 R4C8 R4C9 R4C10 R4C11 R4C12 R4C13 R4C14 R4C15 R4C16 R4C17 R4C18
PL5
PR5
R5C1 R5C2 R5C3 R5C4 R5C5 R5C6 R5C7 R5C8 R5C9 R5C10 R5C11 R5C12 R5C13 R5C14 R5C15 R5C16 R5C17 R5C18
PR6
PL6
R6C1 R6C2 R6C3 R6C4 R6C5 R6C6 R6C7 R6C8 R6C9 R6C10 R6C11 R6C12 R6C13 R6C14 R6C15 R6C16 R6C17 R6C18
PL7
PR7
R7C1 R7C2 R7C3 R7C4 R7C5 R7C6 R7C7 R7C8 R7C9 R7C10 R7C11 R7C12 R7C13 R7C14 R7C15 R7C16 R7C17 R7C18
PL8
PR8
R8C1 R8C2 R8C3 R8C4 R8C5 R8C6 R8C7 R8C8 R8C9 R8C10 R8C11 R8C12 R8C13 R8C14 R8C15 R8C16 R8C17 R8C18
PR9
PL9
R9C1 R9C2 R9C3 R9C4 R9C5 R9C6 R9C7 R9C8 R9C9 R9C10 R9C11 R9C12 R9C13 R9C14 R9C15 R9C16 R9C17 R9C18
PR10
LMID
hIQ
RMID
PL10
R10C1 R10C2 R10C3 R10C4 R10C5 R10C6 R10C7 R10C8 R10C9 R10C10 R10C11 R10C12 R10C13 R10C14 R10C15 R10C16 R10C17 R10C18
PR11
PL11
R11C1 R11C2 R11C3 R11C4 R11C5 R11C6 R11C7 R11C8 R11C9 R11C10 R11C11 R11C12 R11C13 R11C14 R11C15 R11C16 R11C17 R11C18
PR12
PL12
R12C1 R12C2 R12C3 R12C4 R12C5 R12C6 R12C7 R12C8 R12C9 R12C10 R12C11 R12C12 R12C13 R12C14 R12C15 R12C16 R12C17 R12C18
PR13
PL13
R13C1 R13C2 R13C3 R13C4 R13C5 R13C6 R13C7 R13C8 R13C9 R13C10 R13C11 R13C12 R13C13 R13C14 R13C15 R13C16 R13C17 R13C18
PR14
PL14
R14C1 R14C2 R14C3 R14C4 R14C5 R14C6 R14C7 R14C8 R14C9 R14C10 R14C11 R14C12 R14C13 R14C14 R14C15 R14C16 R14C17 R14C18
PR15
PL15
R15C1 R15C2 R15C3 R15C4 R15C5 R15C6 R15C7 R15C8 R15C9 R15C10 R15C11 R15C12 R15C13 R15C14 R15C15 R15C16 R15C17 R15C18
PR16
PL16
R16C1 R16C2 R16C3 R16C4 R16C5 R16C6 R16C7 R16C8 R16C9 R16C10 R16C11 R16C12 R16C13 R16C14 R16C15 R16C16 R16C17 R16C18
PR17
PL17
R17C1 R17C2 R17C3 R17C4 R17C5 R17C6 R17C7 R17C8 R17C9 R17C10 R17C11 R17C12 R17C13 R17C14 R17C15 R17C16 R17C17 R17C18
PR18
PL18
R18C1 R18C2 R18C3 R18C4 R18C5 R18C6 R18C7 R18C8 R18C9 R18C10 R18C11 R18C12 R18C13 R18C14 R18C15 R18C16 R18C17 R18C18
PB1 PB2 PB3 PB4 PB5 PB6 PB7 PB8 PB9 PB10 BMID PB11 PB12 PB13 PB14 PB15 PB16 PB17 PB18
5-4489(F)
10 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
F7
F5D REG7
0 Q7
D0
K7_0 K7 DIN7 D1
A DSEL
K7_1 0 CE
K7_2 B CK
S/R
C F6
K7_3 D
REG6 Q6
K6_0 K6 DIN6
D0
A 0 D1
K6_1 DSEL
K6_2 B 1 CE
C 0 CK
K6_3 S/R
D F5MODE67 F5
K5 REG5
K5_0 DIN5 Q5
A D0
K5_1 0 D1
B DSEL
K5_2
C CE
K5_3 CK
D
S/R
K4
K4_0
A
K4_1
B 1 F4
K4_2
C 0
K4_3
D REG4
DIN4 Q4
D0
F5C 0 D1
F5MODE45 DSEL
0 CE
CK
CLK S/R
0
SEL
0
CIN COUT
0
CE
1
1 FF8
REGCOUT
D
ASWE CE
CK
1 S/R
1
0
LSR 0
0
0
F3
F5B REG3
0 D0 Q3
K3_0 K3 DIN3 D1
A DSEL
K3_1 0 CE
K3_2 B CK
C S/R
F2
K3_3 D
REG2
K2_0 K2 DIN2 Q2
D0
A 0 D1
K2_1 DSEL
K2_2 B 1 CE
C 0 CK
K2_3 S/R
D F5MODE23
F1
K1 REG1
K1_0 DIN1 Q1
A D0
K1_1 0 D1
B DSEL
K1_2
C CE
K1_3 CK
D
S/R
K0
K0_0
A
K0_1 1
B F0
K0_2 0
C
K0_3
D REG0
DIN0 Q0
D0
F5A 0 D1
F5MODE01 DSEL
0 CE
CK
S/R
5-5743(F)
Note: All multiplexers without select inputs are configuration selector multiplexers.
12 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
Mode Function
Logic 4- and 5-input LUTs; softwired LUTs; latches/FFs with direct input or LUT input; CIN as direct input to
ninth FF or as pass through to COUT.
Half Logic/ Upper four LUTs and latches/FFs in logic mode; lower four LUTs and latches/FFs in ripple mode; CIN
Half Rip- and ninth FF for logic or ripple functions.
ple
Ripple All LUTs combined to perform ripple-through data functions. Eight LUT registers available for direct-in
use or to register ripple output. Ninth FF dedicated to ripple out, if used. The submodes of ripple mode
are adder/subtractor, counter, multiplier, and comparator.
Memory All LUTs and latches/FFs used to create a 32 x 4 synchronous dual-port RAM. Can be used as single-
port or as ROM.
Lattice Semiconductor 13
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
Logic Mode
F5D
The PFU diagram of Figure 3 represents the logic
mode of operation. In logic mode, the eight LUTs are
K7 F7 K7
used individually or in flexible groups to implement user
logic functions. The latches/FFs may be used in con-
F6
junction with the LUTs or separately with the direct
PFU data inputs. There are three basic submodes of K6
K6 F6
LUT operation in PFU logic mode: F4 mode, F5 mode,
and softwired LUT (SWL) mode. Combinations of these K7/K6 F6
submodes are possible in each PFU.
F4 mode, shown simplified in Figure 4, illustrates the K5 F5 K5
uses of the basic 4-input LUTs in the PFU. The output
of an F4 LUT can be passed out of the PFU, captured F4 K5/K4 F4
F4 F4 F4 F4 F5 F5
F4 F4 F4 F4 F5 F5
FOUR 7-INPUT FUNCTIONS IN ONE PFU TWO 9-INPUT FUNCTIONS IN ONE PFU
F5 F4 F4 F4 F4
F5 F5 F5
F5 F5
ONE 17-INPUT FUNCTION IN ONE PFU ONE 21-INPUT FUNCTION IN ONE PFU
5-5753(F)
F4 3 F4
F4 F4
F4 F4
F4 F4
TWO OF FOUR 10-INPUT FUNCTIONS IN ONE PFU ONE OF TWO 12-INPUT FUNCTIONS IN ONE PFU
5-5754(F)
KEY:
Lattice Semiconductor 15
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
Programmable Logic Cells (continued) with half-logic ripple connections shown as dashed
lines.
Half-Logic Mode The result output and ripple output are calculated by
Series 3 FPGAs are based upon a twin-quad architec- using generate/propagate circuitry. In ripple mode, the
ture in the PFUs. The byte-wide nature (eight LUTs, two operands are input into KZ[1] and KZ[0] of each
eight latches/FFs) may just as easily be viewed as two LUT. The result bits, one per LUT, are F[7:0]/F[3:0] (see
nibbles (two sets of four LUTs, four latches/FFs). The Figure 6). The ripple output from LUT K7/K3 can be
two nibbles of the PFU are organized so that any nib- routed on dedicated carry circuitry into any of four adja-
ble-wide feature (excluding some softwired LUT topolo- cent PLCs, and it can be placed on the PFU COUT/
gies) can be swapped with any other nibble-wide FCOUT outputs. This allows the PLCs to be cascaded
feature in another PFU. This provides for very flexible in the ripple mode so that nibble-wide ripple functions
use of logic and for extremely flexible routing. The half- can be expanded easily to any length.
logic mode of the PFU takes advantage of the twin- Result outputs and the carry-out may optionally be reg-
quad architecture and allows half of a PFU, K[7:4] and istered within the PFU. The capability to register the rip-
associated latches/FFs, to be used in logic mode while ple results, including the carry output, provides for
the other half of the PFU, K[3:0] and associated latches/ improved counter performance and simplified pipelin-
FFs, is used in ripple mode. In half-logic mode, the ing in arithmetic functions.
ninth FF may be used as a general-purpose FF or as a
register in the ripple mode carry chain.
Ripple Mode
D Q REGCOUT
C
The PFU LUTs can be combined to do byte-wide ripple
FCOUT
functions with high-speed carry logic. Each LUT has a
dedicated carry-out net to route the carry to/from any C COUT
adjacent LUT. Using the internal carry circuits, fast
F7
arithmetic, counter, and comparison functions can be K7[1]
K7 D
implemented in one PFU. Similarly, each PFU has K7[0] Q Q7
carry-in (CIN, FCIN) and carry-out (COUT, FCOUT) F6
ports for fast-carry routing between adjacent PFUs. K6[1]
K6 D
K6[0] Q Q6
The ripple mode is generally used in operations on two
F5
data buses. A single PFU can support an 8-bit ripple K5[1] D
K5 Q Q5
function. Data buses of 4 bits and less can use the K5[0]
nibble-wide ripple chain that is available in half-logic F4
mode. This nibble-wide ripple chain is also useful for K4[1] D
K4 Q Q4
K4[0]
longer ripple chains where the length modulo 8 is four
or less. For example, a 12-bit adder (12 modulo 8 = 4) F3
K3[1] D
can be implemented in one PFU in ripple mode (8 bits) K3[0]
K3 Q Q3
and one PFU in half-logic mode (4 bits), freeing half of
F2
a PFU for general logic mode functions. K2[1] D
K2 Q Q2
K2[0]
Each LUT has two operands and a ripple (generally
carry) input, and provides a result and ripple (generally F1
K1[1] D
carry) output. A single bit is rippled from the previous K1 Q Q1
K1[0]
LUT and is used as input into the current LUT. For LUT F0
K0, the ripple input is from the PFU CIN or FCIN port. K0[1] D
K0 Q Q0
The CIN/FCIN data can come from either the fast-carry K0[0]
routing (FCIN) or the PFU input (CIN), or it can be tied
CIN/FCIN
to logic 1 or logic 0. 5-5755(F)
Lattice Semiconductor 17
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
B, and A > B are available using the same functions but 5-5757(F)
with a 0 output expected. For example, A > B with a 0 Key: C = configuration data.
output indicates A < B. Table 5 shows each function
and the output expected. Figure 8. Multiplier Submode
18 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
F5[A:D]
READ
KZ[3:0] 4 ADDRESS[4:0]
CIN(WA4) 5 WRITE
D Q
ADDRESS[4:0]
DIN7(WA3) D Q
F6
F4
F2
DIN5(WA2) D Q F0
D Q Q6
DIN3(WA1) D Q
D Q Q4
READ 4
DIN1(WA0) D Q DATA[3:0]
D Q Q2
DIN6(WD3) 4 WRITE
D Q DATA[3:0]
D Q Q0
DIN4(WD2) D Q
DIN2(WD1) D Q
DIN0(WD0) D Q
ASWE(WREN) WRITE
D Q ENABLE
CE(WPE1) EN
RAM CLOCK
S/R
LSR(WPE2)
CLK 5-5969(F)
The PFU memory mode uses all LUTs and latches/FFs including the ninth FF in its implementation as shown in
Figure 9. The read address is input at the KZ[3:0] and F5[A:D] inputs where KZ[0] is the LSB and F5[A:D] is the
MSB, and the write address is input on CIN (MSB) and DIN[7, 5, 3, 1], with DIN[1] being the LSB. Write data is
input on DIN[6, 4, 2, 0], where DIN[6] is the MSB, and read data is available combinatorially on F[6, 4, 2, 0] and
registered on Q[6, 4, 2, 0] with F[6] and Q[6] being the MSB. The write enable signal is input at ASWE, and two
write port enables are input on CE and LSR. The PFU CLK signal is used to synchronously write the data. The
polarities of the clock, write enable, and port enables are all programmable. Write-port enables may be disabled if
they are not to be used.
Lattice Semiconductor 19
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
Programmable Logic Cells (continued) 8-bit data path. Depth expansion is applied to achieve
128 words deep using the 32-word deep PFU memo-
Data is written to the write data, write address, and ries. In addition to the PFU in each PLC, the SLIC
write enable registers on the active edge of the clock, (described in the next section) in each PLC is used for
but data is not written into the RAM until the next clock read address decodes and 3-state drivers. The 128 x 8
edge one-half cycle later. The read port is actually RAM shown could be made to operate as a single-port
asynchronous, providing the user with read data very RAM by tying (bit-for-bit) the read and write addresses.
quickly after setting the read address, but timing is also To achieve depth expansion, one or two of the write
provided so that the read port may be treated as fully address bits (generally the MSBs) are routed to the
synchronous for write then read applications. If the write port enables as in Figure 10. For 2 bits, the bits
read and write address lines are tied together (main- select which 32-word bank of RAM of the four available
taining MSB to MSB, etc.), then the dual-port RAM from a decode of two WPE inputs is to be written. Simi-
operates as a synchronous single-port RAM. If the larly, 2 bits of the read address are decoded in the
write enable is disabled, and an initial memory contents SLIC and are used to control the 3-state buffers
is provided at configuration time, the memory acts as a through which the read data passes. The write data bus
ROM (the write data and write address ports and write is common, with separate nibbles for width expansion,
port enables are not used). across all PLCs, and the read data bus is common
Wider memories can be created by operating two or (again, with separate nibbles) to all PLCs at the output
more memory mode PFUs in parallel, all with the same of the 3-state buffers.
address and control signals, but each with a different Figure 10 also shows a new optional capability to pro-
nibble of data. To increase memory word depth above vide a read enable for RAMs/ROMs in Series 3 using
32, two or more PLCs can be used. Figure 10 shows a the SLIC cell. The read enable will 3-state the read
128 x 8 dual-port RAM that is implemented in eight data bus when inactive, allowing the write data and
PLCs. This figure demonstrates data path width expan- read data buses to be tied together if desired.
sion by placing two memories in parallel to achieve an
8
WD[7:0]
4 4 4 4
PLC PLC PLC PLC
WE WE WE WE
RD[7:4] RD[3:0] RD[7:4] RD[3:0]
4 4 4 4
8
RD[7:0]
WE
7
WA[6:0]
7
RA[6:0]
CLK
RE
5-5749(F)
20 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Programmable Logic Cells (continued) The SLIC may also be used to generate PAL-like AND-
OR with optional INVERT (AOI) functions or a decoder
Supplemental Logic and Interconnect Cell of up to 10 bits. Each group of buffers can feed into an
(SLIC) AND gate (4-input AND for the nibble groups and 2-
input AND for the other two buffers). These AND gates
Each PLC contains a supplemental logic and intercon- then feed into a 3-input gate that can be configured as
nect cell (SLIC) embedded within the PLC routing, out- either an AND gate or an OR gate. The output of the 3-
side of the PFU. As its name indicates, the SLIC input gate is invertible and is output at the DEC output
performs both logic and interconnect (routing) func- of the SLIC. Figure 16 shows the SLIC in full decoder
tions. Its main features are 3-statable, bidirectional mode.
buffers, and a PAL-like decoder capability. Figure 11 The functionality of the SLIC is parsed by the two
shows a diagram of a SLIC with all of its features nibble-wide groups and the 2-bit buffer group. Each of
shown. All modes of the SLIC are not available at one these groups may operate independently as BIDI buff-
time. ers (with or without 3-state capability for the nibble-
Each SLIC contains ten bidirectional (BIDI) buffers, wide groups) or as a PAL/decoder.
each buffer capable of driving left and/or right out of the As discussed in the memory mode section, if the SLIC
SLIC. These BIDI buffers are twin-quad in nature and is placed into one of the modes where it contains both
are segregated into two groups of four (nibbles) and a buffers and a decode or AOI function (e.g.,
third group of two for control. Each of these groups of BUF_BUF_DEC mode), the DEC output can be gated
BIDIs can drive from the left (BLI[9:0]) to the right with the 3-state input signal. This allows up to a 6-input
(BRO[9:0]), the right (BRI[9:0]) to the left (BLO[9:0]), or decode (e.g., BUF_DEC_DEC mode) plus the 3-state
from the central input (I[9:0]) to the left and/or right. input to control the enable/disable of up to four buffers
This central input comes directly from the PFU outputs per SLIC. Figure 12—Figure 16 show several configu-
(O[9:0]). Each of the BIDIs in the nibble-wide groups rations of the SLIC, while Table 6 shows all of the pos-
also has a 3-state buffer capability, but not the third sible modes.
group.
There is one 3-state control (TRI) for each SLIC, with Table 6. SLIC Modes
the capability to invert or disable the 3-state control for
Mode BUF BUF BUF
each group of four BIDIs. Separate 3-state control for Mode
# [3:0] [7:4] [9:8]
each nibble-wide group is achievable by using the
SLIC’s decoder (DEC) output, driven by the group of 1 BUFFER Buffer Buffer Buffer
two BIDIs, to control the 3-state of one BIDI nibble 2 BUF_BUF_DEC Buffer Buffer Decoder
while using the TRI signal to control the 3-state of the 3 BUF_DEC_BUF Buffer Decoder Buffer
other BIDI nibble. Figure 12 and Figure 13 show the
4 BUF_DEC_DEC Buffer Decoder Decoder
SLIC in buffer mode with available 3-state control from
the TRI and DEC signals. If the entire SLIC is acting in 5 DEC_BUF_BUF Decoder Buffer Buffer
a buffer capacity, the DEC output may be used to gen- 6 DEC_BUF_DEC Decoder Buffer Decoder
erate a constant logic 1 (VHI) or logic 0 (VLO) signal for 7 DEC_DEC_BUF Decoder Decoder Buffer
general use. 8 DECODER Decoder Decoder Decoder
Lattice Semiconductor 21
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
BRI9 BL09
I9
BRI9 BL09 BR09
I9
BLI9
BR09
BLI9
BRI8 BL08
BRI8 BL08 I8
I8
BR08
BR08 BLI8
BLI8
22 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
BRI9 BL09
I9
BRI9 BR09
BLI9
BLI8
BRI7
BRI7 BL07
I7 BLI7
BR07
BLI7
BRI6
BRI6 BL06
I6 BLI6
BR06
BLI6
BRI5
BRI5 BL05
I5 BLI5
BR05
BLI5
BRI4
BRI4 BL04
I4
BR04 BLI4
BLI4
1
DEC DEC
HIGH Z TRI
TRI WHEN LOW
1
1 1
HIGH Z
WHEN LOW HIGH Z WHEN LOW
1 1
Lattice Semiconductor 23
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
BRI9 BRI9
BLI9 BLI9
BRI8 BRI8
BLI8 BLI8
BRI7 BRI7
BLI7
BLI7
BRI6
BRI6
BLI6
BLI6
BRI5
BRI5
BLI5
BLI5
BRI4
BRI4
BLI4
BLI4
DEC
TRI DEC
BRI2 BLI3
BL02
I2
BR02 BRI2
BLI2
BLI0 5-5748(F)
Figure 15. Buffer-Decoder-Decoder Mode
Figure 16. Decoder Mode
24 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Programmable Logic Cells (continued) The eight latches/FFs in a PFU share the clock (CLK)
and options for clock enable (CE), local set/reset (LSR),
PLC Latches/Flip-Flops and front-end data select (SEL) inputs. When CE is dis-
abled, each latch/FF retains its previous value when
The eight general-purpose latches/FFs in the PFU can clocked. The clock enable, LSR, and SEL inputs can be
be used in a variety of configurations. In some cases, inverted to be active-low.
the configuration options apply to all eight latches/FFs in The set/reset operation of the latch/FF is controlled by
the PFU and some apply to the latches/FFs on a nib- two parameters: reset mode and set/reset value. When
ble-wide basis where the ninth FF is considered inde- the global set/reset (GSRN) and local set/reset (LSR)
pendently. For other options, each latch/FF is signals are not asserted, the latch/FF operates normally.
independently programmable. In addition, the ninth FF The reset mode is used to select a synchronous or
can be used for a variety of functions. asynchronous LSR operation. If synchronous, LSR has
Table 7 summarizes these latch/FF options. The the option to be enabled only if clock enable (CE or
latches/FFs can be configured as either positive- or ASWE) is active or for LSR to have priority over the
negative-level sensitive latches, or positive or negative clock enable input, thereby setting/resetting the FF inde-
edge-triggered flip-flops (the ninth register can only be pendent of the state of the clock enable. The clock
FF). All latches/FFs in a given PFU share the same enable is supported on FFs, not latches. It is imple-
clock, and the clock to these latches/FFs can be mented by using a 2-input multiplexer on the FF input,
inverted. The input into each latch/FF is from either the with one input being the previous state of the FF and the
corresponding LUT output (F[7:0]) or the direct data other input being the new data applied to the FF. The
input (DIN[7:0]). The latch/FF input can also be tied to select of this 2-input multiplexer is clock enable (CE or
logic 1 or to logic 0, which is the default. ASWE), which selects either the new data or the previ-
ous state. When the clock enable is inactive, the FF out-
Table 7. Configuration RAM Controlled Latch/ put does not change when the clock edge arrives.
Flip-Flop Operation
Function Options
Common to All Latches/FFs in PFU
LSR Operation Asynchronous or synchronous
Clock Polarity Noninverted or inverted
Front-end Select* Direct (DIN[7:0]) or from LUT
(F[7:0])
LSR Priority Either LSR or CE has priority
Latch/FF Mode Latch or flip-flop
Enable GSRN GSRN enabled or has no effect on
PFU latches/FFs
Set Individually in Each Latch/FF in PFU
Set/Reset Mode Set or reset
By Group (Latch/FF[3:0], Latch/FF[7:4], and FF[8])
Clock Enable CE or ASWE or none
LSR Control LSR or none
* Not available for FF[8].
Lattice Semiconductor 25
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
Programmable Logic Cells (continued) The latches/FFs can be configured in three basic
modes:
The GSRN signal is only asynchronous, and it sets/ 1. Local synchronous set/reset: the input into the
resets all latches/FFs in the FPGA based upon the set/ PFU’s LSR port is used to synchronously set or
reset configuration bit for each latch/FF. The set/reset reset each latch/FF.
value determines whether GSRN and LSR are set or
2. Local asynchronous set/reset: the input into LSR
reset inputs. The set/reset value is independent for
asynchronously sets or resets each latch/FF.
each latch/FF. A new option is available to disable the
GSRN function per PFU after initial device configura- 3. Latch/FF with front-end select, LSR either synchro-
tion. nous or asynchronous: the data select signal
selects the input into the latches/FFs between the
The latch/FF can be configured to have a data front- LUT output and direct data in.
end select. Two data inputs are possible in the front-
For all three modes, each latch/FF can be indepen-
end select mode, with the SEL signal used to select
dently programmed as either set or reset. Figure 17
which data input is used. The data input into each
provides the logic functionality of the front-end select,
latch/FF is from the output of its associated LUT, F[7:0],
global set/reset, and local set/reset operations.
or direct from DIN[7:0], bypassing the LUT. In the front-
end data select mode, both signals are available to the The ninth PFU FF, which is generally associated with
latches/FFs. registering the carry-out signal in ripple mode func-
tions, can be used as a general-purpose FF. It is only
If either or both of these inputs is unused or is unavail-
an FF and is not capable of being configured as a latch.
able, the latch/FF data input can be tied to a logic 0 or
Because the ninth FF is not associated with an LUT,
logic 1 instead (the default is logic 0).
there is no front-end data select. The data input to the
ninth FF is limited to the CIN input, logic 1, logic 0, or
the carry-out in ripple and half-logic modes.
GSRN
CD CD CD
26 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Lattice Semiconductor 27
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
vx1R[9:0]
vx1L[9:0]
SUL[9:0]
vxL[9:0]
vxH[9:0]
vx5[9:0]
LCK
BL[9:0]
BL[9:0]
VCK
FC
hxH[9:0]
hx1U[9:0]
hCK
FC FC
SLL[9:0]
SLL[9:0]
FINS PFU
5
2 SLR[9:0]
SLIC
OUTPUT
SWITCHING
SUR[9:0]
LCK
hx1B[9:0]
2
hx5[9:0]
5
hxL[9:0]
BR[9:0] BR[9:0]
SUL[9:0]
SUL[9:0] FC BL[9:0]
LINE-BY-LINE
2
2 OF 5
5
5-5766(F)
28 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Programmable Logic Cells (continued) ally labeled for the upper-left, upper-right, lower-left,
and lower-right sections of the PFUs, respectively. The
Intra-PLC Routing xSW routing segments connect to the PFU inputs and
outputs as well as the BIDI routing segments, to be
The function of the intra-PLC routing resources is to described later. They also connect to both the horizon-
connect the PFU’s input and output ports to the routing tal and vertical x1 and x5 routing segments (inter-PLC
resources used for entry to and exit from the PLC. This routing resources, described later) in their specific cor-
routing provides PFU feedback, corner turning, or ner. xSW segments can be used for fast connections
switching from one type of routing resource to another. between adjacent PLCs or PICs without requiring the
use of inter-PLC routing resources. This capability not
Flexible Input Structure (FINS) only increases signal speed on adjacent PLC routing,
The flexible input switching structure (FINS) in each but also reduces routing congestion on the principal
PLC of the ORCA Series 3 provides for the flexibility of inter-PLC routing resources. The SLL and SUR seg-
a crossbar switch from the routing resources to the ments combine to provide connectivity to the PLCs to
PFU inputs while taking advantage of the routability of the left and right of the current PLC; the SLR and SUL
shared inputs. Connectivity between the PLC routing segments combine to provide connectivity to the PLCs
resources and the PFU inputs is provided in two above and below the current PLC.
stages. The primary FINS switch has 50 inputs that Fast routes on switching segments to diagonally adja-
connect the PLC routing to the 35 inputs on the sec- cent PLCs/PICs are possible using the BIDI routing
ondary switch. The outputs of the second switch con- segments (discussed below) and the SLL and SLR
nect to the 50 PFU inputs. The switches are switching segments. The BR BIDI routing segments
implemented to provide connectivity for bused signals combine with the SUL switching segments of the PLC
and individual connections. below and to the right of the current PLC to connect to
that PLC. The BL BIDI routing segments combine with
PFU Output Switching the SLL switching segments of the PLC above and to
The PFU outputs are switched onto PLC routing the right of the current PLC to connect to that PLC.
resources via the PFU output multiplexer (OMUX). The These fast diagonal connections provide a great
PFU output switching segments from the output multi- amount of flexibility in routing congested areas of logic
plexer provide ten connections to the PLC routing out and in shifting data on a per-PLC basis such as per-
of 18 possible PFU outputs (F[7:0], Q[7:0], DOUT, forming implicit multiplications/divisions in routing
REGCOUT). These output switching segments connect between functional logic elements.
segment for segment to the SUR, SUL, SLR, and SLL Switching routing segments are also the chief means
switching segments described below (e.g., O4 con- by which signals are transferred between the inter-PLC
nects only to SUR4, not SUR5). The output switching routing resources and the PFU. Each set of switching
segments also feed directly into the SLIC on a seg- segments has connectivity to the x1 routing segments,
ment-by-segment basis. This connectivity is also and there is varying connectivity to the x5, xH, and xL
described below. inter-PLC routing segments. Detailed information on
switching segment/inter-PLC routing connectivity is
Switching Routing Segments (xSW) provided later in this section in the Inter-PLC Routing
There are four sets of switching routing segments in Resources subsection.
each PLC. Each set consists of ten switching elements:
SUL[9:0], SUR[9:0], SLL[9:0], and SLR[9:0], tradition-
Lattice Semiconductor 29
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
30 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Programmable Logic Cells (continued) x1 Routing Segments. There are a total of 40 x1 rout-
ing segments per PLC: 20 vertical and 20 horizontal.
Inter-PLC Routing Resources Each of these are subdivided into two, 10-bit wide
buses: hx1T[9:0], hx1B[9:0], vx1L[9:0], and vx1R[9:0].
The inter-PLC routing is used to route signals between An x1 segment is one PLC long. If a signal net is longer
PLCs. The routing segments occur in groups of ten, than one PLC, an x1 segment can be lengthened to n
and differ in the numbers of PLCs spanned. The x1 times its length by turning on n – 1 CIPs. A signal is
routing segments span one PLC, the x5 routing seg- routed onto an x1 route segment via the switching rout-
ments span five PLCs, the xH routing segments span ing segments or BIDI routing segments which also
one-half the width (height) of the PLC array, and the xL allows the x1 route segment to be connected to other
routing segments span the width (height) of the PLC inter-PLC segments of different lengths. Corner turning
array. All types of routing segments run in both horizon- between x1 segments is provided through direct con-
tal and vertical directions. nections, xSW segments, and xBID segments.
Table 8 shows the groups of inter-PLC routing seg-
ments in each PLC. In the table, there are two rows/col- x5 Routing Segments. There are two sets of ten x5
umns for x1 lines. They are differentiated by a T for top, routing segments per PLC. One set (vx5[9:0]) runs ver-
B for bottom, L for left, and R for right. In the ORCA tically, and the other (hx5[9:0]) runs horizontally. Each
Foundry design editor representation, the horizontal x1 x5 segment traverses five PLCs before it is broken by a
routing segments are located above and below the CIP. Two x5 segments in each group break in each
PFU. The two groups of vertical segments are located PLC. The two that break are in an equivalent pair; for
on the left side of the PFU. The xL and x5 routing seg- example, x5[0] and x5[4]. The x5 segments that break
ments only run below and to the left of the PFU, while shift by one at the next PLC. For example, if hx5[0] and
the xH segments only run above and to the right of the hx5[4] are broken at the current PLC, hx5[1] and hx5[5]
PFU. The indexes specify individual routing segments will be broken at the PLC to the right of the current
within a group. For example, the vx5[2] segment runs PLC. There are direct connections to the BIDI routing
vertically to the left of the PFU, spans five PLCs, and is segments in the PLC at which the x5 segments break,
the third line in the 10-bit wide group. on both sides of the break. Signal corner turning is
enabled by CIPs in each PLC that allow the broken x5
PLCs are arranged like tiles on the ORCA device. segments to directly connect to the broken x5 seg-
Breaks in routing occur at the middle of the tile (e.g., x1 ments that run in the orthogonal direction. x5 corner
lines break in the middle of each PLC) and run across turning can also be accomplished via the xSW and
tiles until the next break. xBID segments in a PLC. In addition, the x5 segments
are connected to the FINS and PFU outputs on a bit-
Table 8. Inter-PLC Routing Resources by-bit basis by the xSW segments. x5 segments can be
Horizontal Vertical connected for signal runs in multiples of five PLCs, or
Distance they can be combined with x1 and xH routing segments
Routing Routing
Spanned for runs of varying distances.
Segments Segments
hx1U[9:0] vx1R[9:0] One PLC
hx1B[9:0] vx1L[9:0] One PLC
hx5[9:0] vx5[9:0] Five PLCs
hx5[9:0] vx5[9:0] Five PLCs
hxL[9:0] vxL[9:0] PLC Array
hxH[9:0] vxH[9:0] 1/2 PLC Array
hCLK vCLK PLC Array
Lattice Semiconductor 31
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
vx1L[9:0]
vxH[9:0]
vxH[9:0]
vx1[9:0]
vxH[9:0]
vx5[9:0]
vx1[9:0]
vx1[9:0]
vxL[9:0]
vx5[9:0]
vx1[9:0]
vx1[9:0]
vxL[9:0]
vx5[9:0]
vx1[9:0]
vCLK
vCLK
vCLK
hxH[9:0]
hx1[9:0]
hCLK
10 10 10
PFU PFU PFU
2 2 2
SLIC SLIC SLIC
hx1[9:0]
2 2 2
hx5[9:0]
10 10 10
hxL[9:0]
hxH[9:0]
hx1[9:0]
hCLK
10 10 10
PFU PFU PFU
2 2 2
SLIC SLIC SLIC
hx1[9:0]
2 2 2
hx5[9:0]
10 10 10
hxL[9:0]
hxH[9:0]
hx1[9:0]
hCLK
10 10 10
PFU PFU PFU
2 2 2
SLIC SLIC SLIC
hx1[9:0]
2 2 2
hx5[9:0]
10 10 10
hxL[9:0]
LINE-BY-LINE
2
2 OF 10
10
PLC BOUNDARY
5-5767(F)
32 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Programmable Logic Cells (continued) The clock routing segments are designed to be a clock
spine. In each PLC, there is a fast connection available
xL Routing Lines. The xL routing lines run vertically from the clock segment to a long-line driver (described
and horizontally the height and width of the array, earlier). With this connection, one of the clock routing
respectively. There are a total of 20 xL routing lines per segments in each PLC can be used to drive one of the
PLC: ten horizontal (hxL[9:0]) and ten vertical ten xL routing segments perpendicular to it, which, in
(vxL[9:0]). Each of the xL lines connects to the PIC turn, creates a clock spine tree. This feature is dis-
routing at either end. The xL lines are intended prima- cussed in detail in the Clock Distribution Network sec-
rily for global signals that must travel long distances tion.
and require minimum delay and/or skew, such as Special connectivity is provided in each PLC to connect
clocks or 3-state buses. the clock enable signals (CE and ASWE) and the LSR
Each xL line (also called a long line) drives a buffer in signal to the clock network for fast global control signal
each PLC that can drive onto the horizontal and verti- distribution. CE and ASWE have a special connection
cal local clock routing segments (lCLK) in the PLC. to the horizontal clock spine, and LSR has a special
Also, two out of each group of ten xL segments in each connection to the vertical clock spine. This allows both
PLC can be driven by a buffer attached to a clock spine signals to be routed globally within the same PLC, if
(described later) allowing local distribution of global desired; however, this will consume some of the
clock signals. More general-purpose connections to the resources available for clock signal routing.
long lines can be made through the xBID segments in a If using these spines, the clock enable signal must
PLC. Each long line is connected to an xBID segment come from the right or left edge of the device, and the
on a bit-by-bit basis. These BIDI connections allow cor- LSR signal must come from the top or bottom of the
ner turning from horizontal to vertical long lines, and device due to their horizontal and vertical connectivity,
connection between long lines and x1 or x5 segments. respectively, to the clock network.
xH Routing Segments. Ten by-half (xH) routing seg- Minimizing Routing Delay
ments run horizontally (hxH[9:0]) and ten xH routing
segments run vertically (vxH[9:0]) in each row and col- The CIP is an active element used to connect two rout-
umn in the array. These routing segments travel a dis- ing segments. As an active element, it adds signifi-
tance of one-half the PLC array before being broken in cantly to the resistance and capacitance of a routing
the middle of the array in the interquad area (discussed network (net), thus increasing the net’s delay. The
later). They also connect at the periphery of the FPGA advantage of the x1 segment over an x5 segment is
to the PICs, like the xL lines. xH routing segments con- routing flexibility. A net from one PLC to the next is eas-
nect to the PLCs only by switching segments. They are ily routed by using x1 routing segments. As more CIPs
intended for fast signal interconnect. are added to a net, the delay increases. To increase
speed, routes that are greater than two PLCs away are
Clock (and Global CE and LSR) Routing Segments. routed on the x5 routing segments because a CIP is
For a very fast and low-skew clock (or other global sig- located only in every fifth PLC. A net that spans eight
nal tree), clock routing segments run the entire height PLCs requires seven x1 routing segments and six
and width of the PLC array. There are two clock routing CIPs. Using x5 routing segments, the same net uses
segments per PLC: one horizontal (hCLK) and one ver- two routing segments and one CIP.
tical (vCLK). The source for these clock routing seg-
ments can be any of the I/O buffers in the PIC, the
Series 3 ExpressCLK inputs, user logic, or the pro-
grammable clock manager (PCM). The horizontal clock
routing segments (hCLK) are alternately driven by the
left and right PICs. The vertical clock routing segments
(vCLK) are alternately driven by the top and bottom
PICs.
Lattice Semiconductor 33
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
Programmable Logic Cells (continued) J. These are the ten switched output routing segments
from the PFU. They connect to the PLC switching
segments and are input to the SLIC.
PLC Architectural Description
K. These lines deliver the auxiliary signals clock enable
Figure 21 is an architectural drawing of the PLC (as (CE), local set/reset (LSR), front-end select (SEL),
seen in ORCA Foundry) that reflects the PFU, the rout- add/subtract/write enable (ASWE), as well as the
ing segments, and the CIPs. A discussion of each of carry signals (CIN and FCIN) to the latches/FFs.
the letters in the drawing follows. L. This is the local clock buffer. Any of the horizontal
and vertical xL lines can drive the clock input of the
A. These are switching routing segments (xSW) that
PLC latches/FFs. The clock routing segments (vCLK
give the router flexibility. In general switching theory,
and hCLK) and multiplexers/drivers are used to con-
the more levels of indirection there are in the routing,
nect to the xL routing segments for low-skew, low-
the more routable the network is. The xSW seg-
delay global signals.
ments can also connect to the xSW lines in adjacent
PLCs. M. These routing segments are used to route the fast-
carry signal to/from the neighboring four PLCs. The
B. These CIPs connect the x1 routing. These are
carry-out (COUT) and registered carry-out (REG-
located in the middle of the PLC to allow the block to
COUT) can also be routed out of the PFU.
connect to either the left end of the horizontal x1
segment from the right or the right end of the hori- N. This is the E2 control routing segment. It runs from
zontal x1 segment from the left, or both. By symme- the SLIC DEC output to the FINS and also provides
try, the same principle is used in the vertical connectivity to all xBID segments.
direction. O. The xH routing segments run one-half the length
C. This set of CIPs is used to connect the x1 and x5 (width) of the array before being broken by a CIP.
nets to the xSW segments or to other x1 and x5 P. These CIPs connect the xH segments to the xSW
nets. The CIPs on the major diagonal allow data to segments.
be transmitted on a bit-by-bit basis from x1 nets to Q. The xBID segments are used to connect the SLIC to
the xSW segments and between the x1 and x5 nets. the xSW segments, x1 segments, x5 segments, and
D. This structure is the supplemental logic and inter- xL lines, as well as providing for diagonal PLC to
connect cell, or SLIC. It contains 3-statable bidirec- PLC connections.
tional buffers and logic for building decoders and R. These CIPs provide connections from the xBID seg-
AND-OR-INVERT type structures. ments to the E1/E2 routing segments that feed PFU
E. These are the primary and secondary elements of control inputs CE, LSR, CIN, ASWE, SEL, and the
the flexible input structure or FINS. FINS is a switch clock input. Alternatively, these CIPs connect the
matrix that provides high connectivity while retaining BIDI lines to the decoder (DEC) output of the SLIC,
routing capability. FINS also includes feedback for routing the DEC signal.
paths for softwired LUT implementation. S. These are clock spines (vCLK and hCLK) with the
F. This is the PFU output switch matrix. It is a complex multiplexers and drivers to connect to the xL routing
switch network which, like the FINS at the input, pro- segments.
vides high connectivity and maintains routability. T. These CIPs connect xBID segments to switching
G. This set of CIPs allows an xBID segment to transfer segments in diagonally and orthogonally adjacent
a signal to/from xSW segments on each side. The PFUs.
BIDIs can access the PFU through the xSW seg- U. These CIPs connect xSW segments to the PFU out-
ments. These CIPs allow data to be routed through put segments.
the BIDIs for amplification or 3-state control and con-
V. These CIPS connect xSW segments in orthogonally
tinue to another PLC. They also provide an alterna-
adjacent PFUs.
tive routing resource to improve routability.
W.This is the SLIC 3-state control routing segment
H. These CIPs are used to transfer data from/to the
from the FINS to the SLIC 3-state control.
xBID segments to/from the x1 and xL routing seg-
ments. These CIPs have been optimized to allow the X. This is the E1 control routing segment. It provides a
BIDI buffers to drive the loads usually seen when PFU input path from all xBID segments.
using each type of routing segment. Y. These CIPs are used to select which xBID segments
I. Clock input to PFU. are connected to the E1/E2 signal as described in
(R).
34 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
P A M
H B
C C C
S
Q
M M
E E
A O
G A
PRIMARY FINS
C C
SECONDARY FINS
A A A
B
PFU
A
C
C
Q A
B
D
N
K
W
H H SLIC
U U U J OUTPUT F
SWITCHING
P V
C
X
R R Y
A
L
C C
C
H B T
C
H G L
Q Q
Q Q
T A M S
5-5758(F)
Lattice Semiconductor 35
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
Programmable Input/Output Cells PICs in the Series 3 FPGAs have significant local rout-
ing resources, similar to routing in the PLCs. This new
The programmable input/output cells (PICs) are routing increases the ability to fix user pinouts prior to
located along the perimeter of the device. The PIC’s placement and routing of a design and still maintain
name is represented by a two-letter designation to indi- routability. The flexibility provided by the routing also
cate on which side of the device it is located followed provides for increased signal speed due to a greater
by a number to indicate in which row or column it is variety of signal paths possible.
located. The first letter, P, designates that the cell is a Included in the PIC routing is a fast path from the input
PIC and not a PLC. The second letter indicates the side pins to the SLICs in each of the three adjacent PLCs
of the array where the PIC is located. The four sides (one orthogonal and two diagonal). This feature allows
are left (L), right (R), top (T), and bottom (B). The indi- for input signals to be very quickly processed by the
vidual I/O pad is indicated by a single letter (either A, B, SLIC decoder function and used on-chip or sent back
C, or D) placed at the end of the PIC name. As an off of the FPGA. Also new to the Series 3 PIOs are
example, PL10A indicates a pad located on the left latches and FFs and options for using fast, dedicated
side of the array in the tenth row. clocks called ExpressCLKs. These features will all be
Each PIC interfaces to four bond pads and contains the discussed in subsequent sections.
necessary routing resources to provide an interface A diagram of a single PIO (one of four in a PIC) is
between I/O pads and the PLCs. Each PIC is com- shown in Figure 22. Table 9 provides an overview of
posed of four programmable I/Os (PIOs) and significant the programmable functions in an I/O cell.
routing resources. Each PIO contains input buffers,
output buffers, routing resources, latches/FFs, and
logic and can be configured as an input, output, or
bidirectional I/O.
PIO LOGIC
AND
NAND
OR
NOR
XOR
XNOR
PMUX PULL-MODE
OUT1OUTREG UP
OUT2OUTREG DOWN CLKIN
OUT1 OUT1OUT2 NONE
D0
0 PD D Q D1 Q IN1
TO ROUTING
PAD
FROM ROUTING
ENABLE_GSR
DISABLE_GSR
5-5805(F).c
Figure 22. OR3C/Txxx Programmable Input/Output (PIO) Image from ORCA Foundry
36 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Lattice Semiconductor 37
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
38 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
LATCH FF
CD = 1 S/R
O
SYSTEM CLK
I
CLOCK ENABLE
LOCAL SET/RESET
EXPRESSCLK
SYSTEM CLK
INPUT DATA A B C D E
QLATCH A B C D E
QFF A B C D
5-5974(F)
Lattice Semiconductor 39
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
OTHER ADDRESS
LINES
PIO PLC
IN1 DEC
PAD D Q SLIC
SCLK
IN2
D Q
CE
SCLK
PIO INPUT DATA1 ADDR2 DATA2 ADDR3 DATA3 ADDR4 DATA4 ADDR5
PIO LATCH
OUTPUT ADDR1 ADDR2 ADDR3 ADDR4 ADDR5
PLC FF
OUTPUT DATA0 DATA1 DATA2 DATA3 DATA4
5-5798(F)
40 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Programmable Input/Output Cells An FF has been added to the output path of the PIO.
The register has a local set/reset and clock enable. The
(continued)
LSR has the option to be synchronous or asynchro-
nous and have priority set as clock enable over LSR or
Outputs LSR over clock enable. Clocking to the output FF can
The PIC’s output drivers have programmable drive come from either the system clock or the ExpressCLK
capability and slew rates. Three propagation delays associated with the PIC. The input to the FF can come
(fast, slewlim, sinklim) are available on output drivers. from either OUT1 or OUT2, or it can be tied to VDD or
The sinklim mode has the longest propagation delay GND. Additionally, the input to the FF can be inverted.
and is used to minimize system noise and minimize
power consumption. The fast and slewlim modes allow Output Multiplexing
critical timing to be met. The Series 3 PIO output FF can be combined with the
The drive current is 12 mA sink/6 mA source for the new PIO logic block to perform output data multiplexing
slewlim and fast output speed selections and with no PLC resources required. The PIO logic block
6 mA sink/3 mA source for the sinklim output. Two adja- has three multiplexing modes: OUT1OUTREG,
cent outputs can be interconnected to increase the out- OUT2OUTREG, and OUT1OUT2. OUT1OUTREG and
put sink/source current to 24 mA/12 mA. OUT2OUTREG are equivalent except that either OUT1
or OUT2 is MUXed with the FF, where the FF data is
All outputs that are not speed critical should be config- output on the clock phase after the active edge. The
ured as sinklim to minimize power and noise. The num- simplest multiplexing mode is OUT1OUT2. In this
ber of outputs that switch simultaneously in the same mode, the signal at OUT1 is output to the pad while the
direction should be limited to minimize ground bounce. clock is low, and the signal on OUT2 is output to the
To minimize ground bounce problems, locate heavily pad when the clock is high. Figure 25 shows a simple
loaded output buffers near the ground pads. Ground schematic of a PIO in OUT1OUT2 mode and a general
bounce is generally a function of the driving circuits, timing diagram for multiplexing an address and data
traces on the printed-circuit board, and loads and is signal.
best determined with a circuit simulation.
Often an address will be used to generate or read a
At powerup, the output drivers are in slewlim mode, data sample from memory with the goal of multiplexing
and the input buffers are configured as TTL-level com- the data onto a single line. In this case, the address
patible (CMOS for OR3Txxx) with a pull-up. If an output often precedes the data by one clock cycle.
is not to be driven in the selected configuration mode, it OUT1OUTREG and OUT2OUTREG modes of the PIO
is 3-stated. logic can be used to address this situation.
The output buffer signal can be inverted, and the Because OUT1OUTREG mode is equivalent to
3-state control signal can be made active-high, active- OUT2OUTREG, only OUT2OUTREG mode is
low, or always enabled. In addition, this 3-state signal described here. Figure 26 shows a simple PIO sche-
can be registered or nonregistered. Additionally, there matic in OUT2OUTREG mode and general timing for
is a fast, open-drain output option that directly connects multiplexing data with a leading address. The address
the output signal to the 3-state control, allowing the out- signal on OUT1 is registered in the PIO FF. This delays
put buffer to either drive to a logic 0 or 3-state, but the address so that it aligns with the data signal. The
never to drive to a logic 1. Because there is no explicit PIO logic block then sends the OUTREG signal
route required to create the open-drain output, its (address) to the pad when the clock is high and the
response is very fast. Like the input side of the PIO, OUT2 signal (data) to the pad when the clock is low,
there are two output connections from PIC routing to resulting in an aligned, multiplexed signal.
the output side of the PIO, OUT1, and OUT2. These
connections provide for flexible routing and can be
used in data manipulation in the PIO as described in
subsequent paragraphs.
Lattice Semiconductor 41
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
PLC PIC
ADDRESS OUT1
FROM
ROUTING
DATA OUT2
PIO
FROM PAD
ROUTING LOGIC
CLK
CLK
PIC OUTPUT ADDR1 DATA1 ADDR2 DATA2 ADDR3 DATA3 ADDR4 DATA4
PLC PIC
ADDRESS OUT1
FROM D Q
ROUTING
CLK
P/O
LOGIC PAD
DATA OUT2
FROM
ROUTING
CLK
Lattice Semiconductor 43
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
Programmable Input/Output Cells switching segments of the PIC to the right (below). This
(continued) means of connectivity between PICs using staggered
connections of groups of switching segments allows a
given PIC to route signals to both adjacent PICs and all
PIC Routing Resources adjacent PLCs efficiently. This provides single signal
The PIC routing borrows many of the concepts and routing flexibility and routing of multiple buses on
constructs from the PLC routing. It is designed to be groups of I/Os without tying up global routing
able to gather an 8-bit bidirectional bus from any eight resources.
consecutive I/O pads and route them to either or both
of the two adjacent PLCs. The eight I/O bits do not px1 Routing Segments. There are five px1 routing
need to start at a PIC boundary; that is, they may start segments in each PIC that run parallel to the edge of
at one of the middle two PIOs in a PIC and span three the chip on which the PIC resides, each broken by a
PICs. CIP in each PIC. The px1 segments have connectivity
to the pSW segments and to the x1 routing segments
Substantial routing has been added to the PIC to off- of the two adjacent PLCs.
load PLC routing from being used to move signals
around the PLC array perimeter. This saves PLC rout- px2 Routing Segments. There are five px2 routing
ing for logic purposes and provides greater flexibility for segments in each PIC that run parallel to the edge of
locking design pinouts prior to final placement and rout- the chip on which the PIC resides. To provide greater
ing of the device, or allowing a change in the pinout late routing flexibility, the CIPs that break the px2 segments
in the design cycle. The PIC routing has also been every two PICs are staggered across the two PICs in a
increased substantially to allow routing to the complex pair. One PIC of the pair has break CIPs on the even-
PIO cells that now allow multiple inputs and outputs per numbered px2 segments, and the other has them on
device pin, along with new sequential control signals, the odd-numbered px2 segments. The px2 segments
such as clock enable, LSR, and clock. have connectivity to the pSW segments and to the x1
PICs are grouped in pairs for purposes of discussing routing segments of the two adjacent PLCs.
PIC routing. On the sides of a device, the PICs in a pair
are referred to as top and bottom. On the top or bottom px5 Routing Segments. There are ten px5 routing
of a device, the PICs in a pair are referred to as left or segments in each PIC that run parallel to the edge of
right. For example, on the top edge of the device, the the chip on which the PIC resides. Two of the ten seg-
leftmost PIC, PT1, is the left PIC of a pair, and PIC PT2 ments are broken in each PIC so that each segment is
is the right PIC of that pair. The next PIC to the right, broken every five PICs. All ten px5 segments break at
PT3, is the left PIC of the next pair, and so on. the corners of the chip, allowing independent px5 rout-
ing on each edge of the chip. The px5 routing seg-
The need for PIC pairs stems from the routing of ments connect to the pSW segments and the x5 and
switching segments and PLC half- and long-line driv- xH routing segments of the two adjacent PLCs.
ers. As described below, the connectivity for these
types of routing is grouped across pairs of PICs to pro- pxH Routing Segments. Each PIC contains eight pxH
vide complete and fast routing of I/O signals between a routing segments that run parallel to the edge of the
given PIC and the three adjacent PLCs: one orthogo- chip on which the PIC resides. The pxH segments have
nal and two diagonal. connectivity with the xL, xH, and one set of xBID rout-
PIC routing segments use the same terminology as ing segments in the immediately adjacent PLC.
PLC routing segments, but are prefixed with a p to dis-
tinguish them as belonging to the PICs. pxL Routing Segments. There are ten pxL routing
segments in each PIC that run parallel to the edge of
PIC Switching Segments. Each PIC has two groups the chip on which the PIC resides. Each of the xL lines
of switching segments (pSW), each group having eight makes a connection to an xL line from the adjacent
lines with connectivity to the PIOs in groups of four. PLC. PIC long lines (xL) can be used for global signal
One set of switching segments connects to the PIC to distribution just as PLC xL lines can.
the left (above), and the other set connects to the
44 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Programmable Input/Output Cells O. xH routing segments from the adjacent PLC routing.
(continued) P. BIDI routing segments from the adjacent PLC rout-
ing.
PIC Architectural Description Q. These are the IN2 routing segments. There is one
IN2 line from each PIO, and all eight IN2 lines from
The PIC architecture as seen in ORCA Foundry is
each PIC pair are present in both PICs of a pair.
shown in Figure 27. The figure is the left PIC of a PIC
pair on the top edge of a Series 3 array. Both PICs in a R. These CIPs connect the IN1 and IN2 routing seg-
pair are similar, with the differences mainly lying in the ments from the PIOs to the PIC switching seg-
connections between the PIC switching segments ments.
(pSW), the IN2 connections across PIC boundaries, S. These CIPs break the PIC switching segments at
and the system clock spine driver residing in only one the interface between a PIC pair.
PIC of a pair.
T. These CIPs connect adjacent PLC routing
A. This is a programmable input/output (PIO). There resources to the PIC switching segments.
are four PIOs per PIC. The PIOs contain the PIC
logic and I/O buffers. U. These CIPs connect inter-PIC routing with the PIC
switching segments.
B. This is the PIC output switching block. It connects
the PIC switching segments and local clock lines to V. These CIPs break the px1, px2, and px5 routing at
the PIO output and control signals. the middle of a PIC. The px2 and px5 CIP place-
ment varies depending on the PLC.
C. This is the system clock spine switching block and
buffer. There is only one system clock spine per pair W. These mutually exclusive buffers can drive one long
of PICs. Its inputs can come from the PIC switching line signal onto a PIC local clock routing segment.
segments or any of the eight PIO inputs in a PIC X. These mutually exclusive buffers can select a
pair. source from one of the local system clock routes to
D. PIC switching segments (pSW). These routing seg- drive the PIO 3-state control signal.
ments are used to interconnect routing resources Y. These are the four local system clock routing seg-
within the PIC and to a lesser degree, between ments. Two come from connections within the PIC,
PICs. one from the other PIC in the pair, and one from the
E. px1 routing segments. The PIC x1 routing segments adjacent PLC.
traverse one PIC and break at a CIP in the middle of Z. These mutually exclusive buffers allow a signal on
each PIC. the PIC switching segments to be routed to a sys-
F. px2 routing segments. The PICs have routing that tem clock spine or to a PIO system clock.
traverses two PICs between breaks. The breaks are AA. ExpressCLK routing line.
staggered among the five px2 segments.
AB. System clock spine.
G. px5 routing segments. Each of the ten PIC x5 rout-
ing segments traverses five PICs in between breaks AC. These various groups of CIPs connect routing
at a CIP. Two px5 segments break in each PIC. resources from the adjacent PLC to the inter-PIC
routing resources.
H. pxH routing segments. The eight PIC xH routing
segments traverse half of the array and break at AD. These buffers provide connectivity between the
CIPs in the interquad routing region that is in the PLC xL (xH) lines and the PIC xL (xH) lines or
middle of the array. connectivity between one of the IN2 routing seg-
ments and the PIC and/or PLC xL (xH) routing
I. (Not used intentionally for clarity.) segments.
J. pxL routing segments. The PIC long lines run the AE. These mutually exclusive buffers and CIPs provide
entire length of the side of the array. connectivity to the PLC xL and xH lines from one
K. x5 routing segments from the adjacent PLC routing. of the IN2 input segments.
L. xL routing segments from the adjacent PLC routing. AF. These buffers allow the IN2 signals to drive onto
the BIDI routing of the adjacent PLC, or the BIDI
M. x1 routing segments from the adjacent PLC routing. routing of the adjacent PLC, and the PIC switching
N. Switching segments from the adjacent PLC routing. segments and/or PIC half lines may be connected.
Lattice Semiconductor 45
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
AF
T
P
AE
AC
O
AB
AD
AA
W
A
Q
R
A
M
AC
G
H
D
X
E
J
F
U
Z
Y
V
B
N
A
M
AE
K
A
L
J
AD
T
AC
5-5823(F)
46 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
Interquad Routing
In the ORCA Series 3 devices, the PLC array is split into four equal quadrants. In between these quadrants, routing
has been added to route signals between the quadrants and distribute clocks. In addition to general routing, there
are four specialized clock routing spines. The general routing is discussed below, followed by the special clock rout-
ing.
One of the main purposes of interquad routing is to distribute internally generated signals, such as clocks and con-
trol signals. There are two types of interquad blocks: vertical and horizontal. Vertical interquad blocks (vIQ) run
between quadrants on the left and right, while horizontal interquad blocks (hIQ) run between top and bottom quad-
rants. Interquad lines begin and end in the MID cells that are discussed later. Since hIQ and vIQ blocks have the
same logic, only the hIQ block is described below. The interquad routing connects to x5 and xH segments. It does
not affect other local routing (xsw, x1, fast carry), so local routing is the same, whether PLC-PLC connections cross
quadrants or not. Figure 28 presents a (not to scale) view of interquad routing.
TMID
5 5 5 5 5
FAST CLOCK T
vIQ8[4:0]
vIQ0[4:0]
vIQ6[4:0]
vIQ4[4:0]
vIQ2[4:0]
FAST CLOCK L
5 hIQ9[4:0]
hIQ8[4:0] 5
5 hIQ7[4:0] 5
5 hIQ6[4:0]
LMID hIQ5[4:0] 5 RMID
5 hIQ4[4:0]
hIQ3[4:0] 5
5 hIQ2[4:0]
hIQ1[4:0] 5
hIQ0[4:0]
FAST CLOCK R
FAST CLOCK B
vIQ9[4:0]
vIQ1[4:0]
vIQ7[4:0]
vIQ5[4:0]
vIQ3[4:0]
5 5 5 5 5
BMID
5-4538(F)
High-Level Routing Resources (continued) device. Fast clocks and other clock resources are dis-
cussed in the Clock Distribution Network section.
Figure 29 shows the connections from the interquad
routing to the inter-PLC routing for a block of the hori- Programmable Corner Cell Routing
zontal interquad. The vertical interquad has similar
connections. The connections shown in Figure 29 are Programmable Routing
made with PLCs located above and below the routing The programmable corner cell (PCC) contains the cir-
shown in the figure. The interquad routing segments, cuitry to connect the routing of the two PICs in each
prefixed IH for interquad horizontal, are in ten groups of corner of the device. The PIC px1 and px2 segments
five lines. Any one line from each group can be routed and eight PIC switching segments are directly con-
to one of the xH segments from the top of the device nected together from one PIC to another. The px5 lines
(left for vertical interquad), one of the xH segments are all broken with CIPs and the PIC pxL and pxH
from the bottom of the device (right for vertical inter- segments are connected from one block to another
quad), and one of the x5 segments crossing the inter- through programmable buffers.
quad.
Figure 28 shows four fast middle clock (fast clock) sig- Corner Cell Special Functions
nals with the suffixes T (top), B (bottom), R (right), and In addition to routing functions, special-purpose func-
L (left), respectively. Figure 29 also shows the fast tions are located in each FPGA corner. The upper-left
clock R and fast clock L lines; these are dedicated PCC contains connections to the boundary-scan logic
interquad clock spines. They originate in the CLKCN- and microprocessor interface. The upper-right PCC
TRL special function blocks in the middle of each edge contains connections to the readback logic, connectiv-
of the device, with the name referencing the edge of ity to the global 3-state signal (TS_ALL), and a pro-
origin. For example, fast clock R originates in the grammable clock manager. The lower-left PCC
CLKCNTRL block on the right edge of a device. Fast contains connections to the internal oscillator and a
clock spines traverse the entire PLC array but do not programmable clock manager. The lower-right PCC
connect to the PICs on the edge of the device opposite contains connections to the start-up and global reset
to the source. Each fast clock line connects to two of logic. These functions are all more completely
the xL lines in each PLC that run orthogonally to the described in the Special Function Blocks section of this
fast clock. These connections allow the fast clock lines data sheet.
to generate a clock tree that can reach any PLC in the
IH0[4:0]
IH1[4:0]
IH2[4:0]
IH3[4:0]
IH4[4:0]
FAST CLOCK R
FAST CLOCK L
IH5[4:0]
IH6[4:0]
IH7[4:0]
IH8[4:0]
IH9[4:0]
BL[9:0] vxL[9:0] vx5[9:0] vx1[9:0] SUL[9:0] vx1[9:0] FAST vck vxH[9:0] BL[9:0]
CARRY
5-5821(F)
48 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
High-Level Routing Resources (continued) The pxH segments from the one quadrant can be con-
nected through a CIP to its counterpart in the opposite
PIC Interquad (MID) Routing quadrant, providing a path that spans the array of
PICs. Since a passive CIP is used to connect the two
There is also connectivity between the PICs in each pxH segments, a 3-state signal can be routed on the
quadrant, as well as a clock control (CLKCNTRL) mod- two pxH segments in the opposite quadrants, and then
ule (discussed in the Special Function Blocks section) connected through this CIP. As with the hIQ and vIQ
between the PIC routing and the interquad routing. blocks, CIPs and buffers allow nibble-wide connections
These blocks are called LMID (left), TMID (top), RMID between the interquad segments, the xH segments,
(right), and BMID (bottom). The TMID routing is shown and the x5 segments.
in Figure 30. As with the hIQ and vIQ blocks, the only
connectivity to the PIC routing is to the global pxH and
px5 segments.
SHUTOFF
EXPRESSCLK LEFT
EXPRESSCLK RIGHT
pxH[7:0]
px5[9:0]
px2[4:0]
px1[4:0]
pSW[7:4]
pSW[3:0]
pSW[7:4]
pSW[3:0]
CORNER ExpressCLK
FAST CLOCK
1v9xL[4]
1v8xL[3]
Iv7xL[2]
Iv7xL[0]
Iv6xL[3]
Iv6xL[1]
Iv5xL[2]
Iv5xL[0]
Iv4xL[3]
Iv4xL1]
Iv3xL[3]
Iv3xL[1]
Iv2xL[2]
Iv2xL[0]
Iv1xL[3]
Iv1xL[1]
1v0xL[2]
1v0xL[0]
5-5822(F)
Lattice Semiconductor 49
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
Clock Distribution Network is generated from the PLC to the left or right of the cur-
rent PLC, and one is generated from the PLC above or
The Series 3 FPGAs provide three types of high- below the current PLC. The selection decision as to
speed, low-skew clock distributions: system clock, fast where these signals come from, above/below and left/
middle clock (fast clock), and ExpressCLK. Because of right, is based on the position of the PLC in the array
the great variety of sources and distribution for clock and has to do with the alternating nature of the source
signals in the ORCA Series 3, the clock mechanisms of the system clock spines (discussed later). The last of
will be described here from the inside out. The clock the five clock sources is also generated within the PLC.
connections to the PFU will be described, followed by The E1 control signal, described in the PLC Routing
clock distribution to the PLC array, clock sources to the Resources section, can drive the PFU clock. The E1
PLC array, and finally ending with clock sources and signal can come from any xBID routing resource in the
distribution in the PICs. The ExpressCLK inputs are PLC. The selection and switching of clock signals in a
new, dedicated clock inputs in Series 3 FPGAs. They PLC is performed in the FINS. Figure 31 shows the
are mentioned in several of the clock network descrip- PFU clock sources for a set of four adjacent PLCs.
tions and are described fully later in this section.
Global Control Signals
The four clock signals in each PLC that are generated
PFU Clock Sources from the long lines (xL) in the current PLC or an adja-
cent PLC can also be used to drive the PFU clock
Within a PLC there are five sources for the clock signal
enable (CE), local set/reset (LSR) and add/subtract/
of the latches/FFs in the PFU. Two of the signals are
write enable (ASWE) signals. The clock signals gener-
generated off of the long lines (xL) within the PLC: one
ated from vertical long lines can drive CE and ASWE,
from the set of vertical long lines and one from the set
and the clocks generated from horizontal long lines can
of horizontal long lines. For each of these signals, any
drive LSR. This allows for low-skew global distribution
one of the ten long lines of each set, vertical or horizon-
of two of these three control signals with the clock rout-
tal, can generate the clock signal. Two of the five PFU
ing while still allowing a global clock route to occur.
clock sources come from neighboring PLCs. One clock
vxL[9:0] vxL[9:0]
PLC PLC
PFU PFU
E1 E1
hxL[9:0]
PLC PLC
PFU PFU
E1 E1
hxL[9:0]
5-6054(F)
50 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
Clock Distribution Network (continued) The clock spine structure previously described pro-
vides for complete distribution of a clock from any I/O
Clock Distribution in the PLC Array pin to the entire PLC array by means of a single clock
spine and long lines (xL). This distribution system also
System Clock (SCLK) provides a means to have many different clocks routed
to many different and dispersed locations in the PLC
The clock distribution network, or clock spine network,
array. Each spine can carry a different clock signal, so
within the PLC array is designed to minimize clock
for the OR3T55 (which has an 18 x 18 array of PLCs,
skew while maximizing clock flexibility. Clock flexibility is
implying nine clock spines per side), 36 input clock sig-
expressed in two ways: the ease with which a single
nals can be supported using the system clock network.
clock is routed to the entire array, and the capability to
provide multiple clocks to the PLC array.
Fast Clock
There is one horizontal and one vertical clock spine
Fast clocks are high-speed, low-skew clock spines that
passing through each PLC. The horizontal clock spine
originate from the CLKCNTRL special function blocks
is sourced from the PIC in the same row on either the
(described later). There are four fast clock spines—one
left- or right-hand side of the array, with the source side
originating on the middle of each edge of the array. The
(left or right) alternating for each row. The vertical clock
spines run in the interquad region of the PLC array
spines are similarly sourced from the PICs alternating
from their source side of the device to the last row or
from the top or bottom of a column. Each clock spine is
column on the opposite side of the device. The fast
capable of driving one of the ten xL routing segments
clocks connect to two long lines, xL[8] and xL[9], that
that run orthogonal to it within each PLC. Full connec-
run orthogonal to the spine direction in each PLC.
tivity to all PFUs is maintained due to the connectivity
These long lines can then be connected to the PFU
from the xL lines to the PFU clock signals described in
clock input in the same manner as the general system
the previous section; however, only an xL line in every
clocks, and, like the system clock connections, xL lines
other row (column) needs to be driven to allow the
are only needed in every other row (column) to distrib-
given clock signal to be distributed to every PFU.
ute a clock to every PFU. The limited number of long-
Figure 32 is a high-level diagram of the Series 3 system
line connections and the low skew of the CLKCNTRL
clock spine network with sample xL line
source combine to make the fast clocks a very robust,
connections for a 4 x 4 array of PLCs.
low-skew clock source.
UNUSED
SCLK SPINE (xL)
HORIZONTAL
SCLK SPINE
UNUSED (xL)
SCLK SPINE
UNUSED
SCLK SPINE
(xL)
UNUSED (xL) (xL)
SCLK SPINE
UNUSED UNUSED
SCLK SPINE SCLK SPINE
5-5801(F).a
Clock Sources to the PLC Array Because the Series 3 FPGAs have latches and FFs in
the I/Os, it is necessary to have clock signal distribution
The source of a clock that is globally available to the to the PIOs as well as in the PLC array. The system
PLC array can be from any user I/O pad, any of the clock, the fast clock, and the ExpressCLK are available
ExpressCLK pads, or an internally generated source. for PIO clocking.
PAD C
PAD D
PAD A
PAD B
pSW[4]
pSW[5]
pSW[6]
pSW[7]
SPINE
TPICL TPICR
5-5800(F)
Clock Distribution Network (continued) pin is completely arbitrary, but using a pin that is near
the center of an edge of the device will provide the low-
ExpressCLK Inputs est skew system clock network. The pin-to-pin timing
numbers in the Timing Characteristics section assume
There are four dedicated ExpressCLK pads on each that the clock pin is in one of the PICs at the center of
Series 3 device: one in the middle of each side. Two any side of the device next to an ExpressCLK pad. For
other user I/O pads can also be used as corner actual timing characteristics for a given clock pin, use
ExpressCLK inputs, one on the lower-left corner, and the timing analyzer results from ORCA Foundry.
one on the upper-right corner. The corner ExpressCLK To select subsequent clock pins, certain rules should
pads feed the ExpressCLK to the two sides of the array be followed. As discussed in the Programmable Input/
that are adjacent to that corner, always driving the Output Cells section, PICs are grouped into adjacent
same signal in both directions. The ExpressCLK route pairs. Each of these pairs contains eight I/Os, but only
from the middle pad and from the corner pad associ- one of the eight I/Os in a PIC pair can be routed directly
ated with that side are multiplexed and can be glitch- onto a system clock spine. Therefore, to achieve top
lessly stopped/started under user control using the performance, the next clock input chosen should not be
StopCLK feature of the CLKCNTRL function block one of the pins from a PIC pair previously used for a
(described under Special Function Blocks) on that side. clock input. If it is necessary to have a second input in
The ExpressCLK output of the programmable clock the same PIC pair route onto global system clock rout-
manager (PCM) is programmably connected to the cor- ing, the input can be routed to a free clock spine using
ner ExpressCLK routes. PCM blocks are found in the the PIC switching segment (pSW) connections to the
same corners as the corner ExpressCLK signals and clock spine network at some small sacrifice in speed.
are described in the Special Function Blocks section. Alternatively, if global distribution of the secondary
The ExpressCLK structure is shown in Figure 34 (PCM clock is not required, the signal can be routed on long
blocks are not shown). lines (xL) and input to the PFU clock input without
using a clock spine.
Another rule for choosing clock pins has to do with the
CLKCNTRL alternating nature of clock spine connections to the xL
BLOCK EXPRESSCLK PADS
and pxL routing segments. Starting at the left side of
the device, the first vertical clock spine from the top
connects to hxL[0] (horizontal xL[0]), and the first verti-
cal clock spine from the bottom connects to hxL[5] in all
PLC rows. The next vertical clock spine from the top
connects to hxL[1], and the next one from the bottom
connects to hxL[6]. This progression continues across
FAST CLOCKS the device, and after a spine connects to hxL[9], the
next spine connects to hxL[0] again. Similar connec-
tions are made from horizontal clock spines to vxL (ver-
EXPRESSCLKS TO PIOs tical xL) lines from the top to the bottom of the device.
Because the ORCA Series 3 clock routing only
requires the use of an xL line in every other row or col-
5-5802(F)
umn, even two inputs chosen 20 PLCs apart on the
Note: All multiplexers are set during configuration. same xL line will not conflict, but it is always better to
avoid these choices, if possible. The fast clock spines in
Figure 34. ExpressCLK and Fast Clock Distribution the interquad routing region also connect to xL[8] and
xL[9] for each set of xL lines, so it is better to avoid user
I/Os that connect to xL[8] or xL[9] when a fast clock is
Selecting Clock Input Pins used that might share one of these connections.
Another reason to use the fast clock spines is that
Any user I/O pin on an ORCA FPGA can be used as a
since they use only the xL[9:8] lines, they will not con-
fast, low-skew system clock input. Since the four dedi-
flict with internal data buses which typically use xL[7:0].
cated ExpressCLK inputs can only be used to distribute
For more details on clock selection, refer to application
global signals into the FPGA, these pins should be
notes on clock distribution in ORCA Series 3 devices.
selected first as clock pins. Within the interquad region
of the device, these clocks sourced by the ExpressCLK
inputs are called fast clocks. Choosing the next clock
Lattice Semiconductor 53
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
Special Function Blocks Readback can be performed via the Series 3 micropro-
cessor interface (MPI) or by using dedicated FPGA
Special function blocks in the Series 3 provide extra readback controls. If the MPI is enabled, readback via
capabilities beyond general FPGA operation. These the dedicated FPGA readback logic is disabled. Read-
blocks reside in the corners and MIDs (middle inter- back using the MPI is discussed in the Microprocessor
quad areas) of the FPGA array. Interface (MPI) section.
The pins used for dedicated readback are readback
data (RD_DATA), read configuration (RD_CFG), and
Single Function Blocks configuration clock (CCLK). A readback operation is
initiated by a high-to-low transition on RD_CFG. The
Most of the special function blocks perform a specific
RD_CFG input must remain low during the readback
dedicated function. These functions are data/configura-
operation. The readback operation can be restarted at
tion readback control, global 3-state control (TS_ALL),
frame 0 by driving the RD_CFG pin high, applying at
internal oscillator generation, global set/reset (GSRN),
least two rising edges of CCLK, and then driving
and start-up logic.
RD_CFG low again. One bit of data is shifted out on
RD_DATA at the rising edge of CCLK. The first start bit
Readback Logic
of the readback frame is transmitted out several cycles
The readback logic is located in the upper right corner after the first rising edge of CCLK after RD_CFG is input
of the FPGA and can be enabled via a bit stream option low (see the Readback Timing Characteristics table in
or by instantiation of a library readback component. the Timing Characteristics section). To be certain of the
start of the readback frame, the data can be monitored
Readback is used to read back the configuration data
for the 01 frame start bit pair.
and, optionally, the state of the PFU outputs. A read-
back operation can be done while the FPGA is in nor- Readback can be initiated at an address other than
mal system operation. The readback operation cannot frame 0 via the new microprocessor interface (MPI)
be daisy-chained. To use readback, the user selects control registers (see the Microprocessor Interface
options in the bit stream generator in the ORCA (MPI) section for more information). In all cases, read-
Foundry Development System. back is performed at sequential addresses from the
start address.
Table 12 provides readback options selected in the bit
stream generator tool. The table provides the number It should be noted that the RD_DATA output pin is also
of times that the configuration data can be read back. used as the dedicated boundary-scan output pin, TDO.
This is intended primarily to give the user control over If this pin is being used as TDO, the RD_DATA output
the security of the FPGA’s configuration program. The from readback can be routed internally to any other pin
user can prohibit readback (0), allow a single readback desired. The RD_CFG input pin is also used to control
(1), or allow unrestricted readback (U). the global 3-state (TS_ALL) function. Before and during
configuration, the TS_ALL signal is always driven by
Table 12. Readback Options the RD_CFG input and readback is disabled. After con-
figuration, the selection as to whether this input drives
Option Function the readback or global 3-state function is determined
0 Prohibit Readback by a set of bit stream options. If used as the RD_CFG
input for readback, the internal TS_ALL input can be
1 Allow One Readback Only
routed internally to be driven by any input pin.
U Allow Unrestricted Number of Readbacks
54 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Special Function Blocks (continued) The following occur when TS_ALL is activated:
1. All of the user I/O output buffers are 3-stated, the
The readback frame contains the configuration data user I/O input buffers are pulled up (with the pull-
and the state of the internal logic. During readback, the down disabled), and the input buffers are configured
value of all registered PFU and PIC outputs can be with TTL input thresholds (OR3Cxx only).
captured. The following options are allowed when
2. The TDO/RD_DATA output buffer is 3-stated.
doing a capture of the PFU outputs.
3. The RD_CFG, RESET, and PRGM input buffers remain
1. Do not capture data (the data written to the RAMs, active with a pull-up.
usually 0, will be read back).
4. The DONE output buffer is 3-stated, and the input
2. Capture data upon entering readback. buffer is pulled up.
3. Capture data based upon a configurable signal
internal to the FPGA. If this signal is tied to Internal Oscillator
logic 0, capture RAMs are written continuously.
The internal oscillator resides in the lower left corner of
4. Capture data on either options 2 or 3 above. the FPGA array. It has output clock frequencies of
The readback frame has an identical format to that of 1.25 MHz and 10 MHz. The internal oscillator is the
the configuration data frame, which is discussed later source of the internal CCLK used for configuration. It
in the Configuration Data Format section. If LUT mem- may also be used after configuration as a general-
ory is not used as RAM and there is no data capture, purpose clock signal.
the readback data (not just the format) will be identical
to the configuration data for the same frame. This Global Set/Reset (GSRN)
eases a bitwise comparison between the configuration The GSRN logic resides in the lower right corner of the
and readback data. The configuration header, including FPGA. GSRN is an invertible, default, active-low signal
the length count field, is not part of the readback frame. that is used to reset all of the user-accessible latches/
The readback frame contains bits in locations not used FFs on the device. GSRN is automatically asserted at
in the configuration. These locations need to be powerup and during configuration of the device.
masked out when comparing the configuration and
readback frames. The development system optionally The timing of the release of GSRN at the end of config-
provides a readback bit stream to compare to readback uration can be programmed in the start-up logic
data from the FPGA. Also note that if any of the LUTs described below. Following configuration, GSRN may
are used as RAM and new data is written to them, be connected to the RESET pin via dedicated routing, or
these bits will not have the same values as the original it may be connected to any signal via normal routing.
configuration data frame either. Within each PFU and PIO, individual FFs and latches
can be programmed to either be set or reset when
Global 3-State Control (TS_ALL) GSRN is asserted. A new option in Series 3 allows
individual PFUs and PIOs to turn off the GSRN signal
To increase the testability of the ORCA Series FPGAs, to its latches/FFs after configuration.
the global 3-state function (TS_ALL) disables the
device. The TS_ALL signal is driven from either an The RESET input pad has a special relationship to
external pin or an internal signal. Before and during GSRN. During configuration, the RESET input pad
configuration, the TS_ALL signal is driven by the input always initiates a configuration abort, as described in
pad RD_CFG. After configuration, the TS_ALL signal the FPGA States of Operation section. After configura-
can be disabled, driven from the RD_CFG input pad, or tion, the global set/reset signal (GSRN) can either be
driven by a general routing signal in the upper right cor- disabled (the default), directly connected to the RESET
ner. Before configuration, TS_ALL is active-low; after input pad, or sourced by a lower-right corner signal. If
configuration, the sense of TS_ALL can be inverted. the RESET input pad is not used as a global reset after
configuration, this pad can be used as a normal input
pad.
Lattice Semiconductor 55
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
Special Function Blocks (continued) The source clock for the CLKCNTRL block comes
either from the ExpressCLK pad at the middle of the
Start-Up Logic side of the FPGA or from the corner ExpressCLK route
that comes from the corner ExpressCLK pad (at the
The start-up logic block is located in the lower right cor- lower left or upper right of the device, whichever is
ner of the FPGA. This block can be configured to coor- closer). The programmable clock manager ExpressCLK
dinate the relative timing of the release of GSRN, the output can also be sourced to this corner routing for
activation of all user I/Os, and the assertion of the distribution at the two closest CLKCNTRL blocks.
DONE signal at the end of configuration. If a start-up
clock is used to time these events, the start-up clock Each CLKCNTRL block also features an invertible
can come from CCLK, or it can be routed into the start- StopCLK shutoff input that is available from local rout-
up block using lower right corner routing resources. ing. This feature may be used to glitchlessly stop and
These signals are described in the Start-Up subsection start the clock at the three outputs of each CLKCNTRL
of the FPGA States of Operation section. block and has the option of doing so on either the rising
or falling edge of the clock. When the clock is halted
Clock Control (CLKCNTRL) and StopCLK based on its rising edge, it stops and stays at VDD.
When it is stopped based on its falling edge, it stops
There is one CLKCNTRL block in the MID section of and stays at GND. If the StopCLK shutoff signal meets
the interquad routing on each side of the FPGA. This the CLKCNTRL setup and hold times, the clock is
block is used to selectively distribute the fast clock to stopped on the second clock cycle after the shutoff sig-
the PLC array and the left (top) and right (bottom) nal. A diagram of the bottom CLKCNTRL block and
ExpressCLKs (ECKL and ECKR) to the side of the StopCLK timing is shown in Figure 35.
array on which the CLKCNTRL block resides.
CORNER EXPRESSCLK
CLOCK SHUTOFF
FAST CLOCK
OFF_SET
OFF_SET OFF_HLD
OFF_HLD
CLOCK SHUTOFF
CLKCNTRL OUTPUT
CLOCKS
5-5981(F)
Notes:
CLKCNTRL output clocks are ExpressCLK left and right and fast clock.
Clock shutoff shown active-high acting on clock falling edge.
56 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
U3 U4
users to efficiently test the interconnection between
integrated circuits on a PCB as well as test the inte-
grated circuit itself. The IEEE 1149.1/D1 standard is a
well-defined protocol that ensures interoperability
among boundary-scan (BSCAN) equipped devices SEE ENLARGED VIEW BELOW
mode select (TMS), test clock (TCK), and test data out INSTRUCTION p_in p_ts
REGISTER
(TDO). The PRGM pin used to reconfigure the device SCAN
p_out
SCAN
also resets the boundary-scan logic. OUT IN
Figure 36, where boundary scan is used to test ICs, SCAN SCAN
IN
test data is transmitted serially into TDI of the first p_out
OUT
p_ts p_in
BSCAN device (U1), through TDO/TDI connections
between BSCAN devices (U2 and U3), and out TDO of SCAN BSC SCAN
OUT DCC BDC IN
the last BSCAN device (U4). In this configuration, the
TMS and TCK signals are routed to all boundary-scan PB[ij]
ICs in parallel so that all boundary-scan components 5-5972(F)
operate in the same state. In other configurations, mul- Key: BSC = boundary-scan cell, BDC = bidirectional data cell,
tiple scan paths are used instead of a single ring. When and DCC = data control cell.
multiple scan paths are used, each ring is indepen-
dently controlled by its own TMS and TCK signals. Figure 36. Printed-Circuit Board with Boundary-
Figure 37 provides a system interface for components Scan Circuitry
used in the boundary-scan testing of PCBs. The three
major components shown are the test host, boundary-
scan support circuit, and the devices under test
(DUTs). The DUTs shown here are ORCA Series
FPGAs with dedicated boundary-scan circuitry. The
test host is normally one of the following: automatic test
equipment (ATE), a workstation, a PC, or a micropro-
cessor.
Lattice Semiconductor 57
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
TMS (DUT)
TCK
5-6765(F)
Boundary-Scan Instructions
The ORCA Series boundary-scan circuitry is used for
three mandatory IEEE 1149.1/D1 tests (EXTEST,
SAMPLE/PRELOAD, BYPASS), the optional IEEE
1149.1/D1 IDCODE instruction, and five ORCA-defined
instructions. The 3-bit wide instruction register supports
the nine instructions listed in Table 13, where the use of
PSR1 or USERCODE is selectable by a bit stream
option.
58 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
Special Function Blocks (continued) operation or written during test operation. The data for
all of the I/Os is captured simultaneously into the BSR,
The external test (EXTEST) instruction allows the inter- allowing them to be shifted-out TDO to the test host.
connections between ICs in a system to be tested for Since each I/O buffer in the PICs is bidirectional, two
opens and stuck-at faults. If an EXTEST instruction is pieces of data are captured for each I/O pad: the value
performed for the system shown in Figure 36, the con- at the I/O pad and the value of the 3-state control sig-
nections between U1 and U2 (shown by nets a, b, and nal. For preload operation, data is written from the BSR
c) can be tested by driving a value onto the given nets to all of the I/Os simultaneously.
from one device and then determining whether the There are five ORCA-defined instructions. The PLC
same value is seen at the other device. This is deter- scan rings 1 and 2 (PSR1, PSR2) allow user-defined
mined by shifting 2 bits of data for each pin (one for the internal scan paths using the PLC latches/FFs. The
output value and one for the 3-state value) through the RAM_Write Enable (RAM_W) instruction allows the
BSR until each one aligns to the appropriate pin. Then, user to serially configure the FPGA through TDI. The
based upon the value of the 3-state signal, either the RAM_Read Enable (RAM_R) allows the user to read
I/O pad is driven to the value given in the BSR, or the back RAM contents on TDO after configuration. The
BSR is updated with the input value from the I/O pad, IDCODE instruction allows the user to capture a 32-bit
which allows it to be shifted out TDO. identification code that is unique to each device and
The SAMPLE/PRELOAD instruction is useful for sys- serially output it at TDO. The IDCODE format is shown
tem debugging and fault diagnosis by allowing the data in Table 14.
at the FPGA’s I/Os to be observed during normal
Lattice Semiconductor 59
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
Special Function Blocks (continued) the BSR (which requires a two FF delay for each pad)
is bypassed, test throughput is increased when devices
ORCA Boundary-Scan Circuitry that are not part of a test operation are bypassed.
The ORCA Series boundary-scan circuitry includes a The boundary-scan logic is enabled before and during
test access port controller (TAPC), instruction register configuration. After configuration, a configuration
(IR), boundary-scan register (BSR), and bypass regis- option determines whether or not boundary-scan logic
ter. It also includes circuitry to support the four pre- is used.
defined instructions. The 32-bit boundary-scan identification register con-
Figure 38 shows a functional diagram of the boundary- tains the manufacturer’s ID number, unique part num-
scan circuitry that is implemented in the ORCA Series. ber, and version (as described earlier). The
The input pins’ (TMS, TCK, and TDI) locations vary identification register is the default source for data on
depending on the part, and the output pin is the dedi- TDO after RESET if the TAP controller selects the shift-
cated TDO/RD_DATA output pad. Test data in (TDI) is data-register (SHIFT-DR) instruction. If boundary scan
the serial input data. Test mode select (TMS) controls is not used, TMS, TDI, and TCK become user I/Os, and
the boundary-scan test access port controller (TAPC). TDO is 3-stated or used in the readback operation.
Test clock (TCK) is the test clock on the board. An optional USERCODE is available if the boundary-
The BSR is a series connection of boundary-scan cells scan PSR1 instruction is not used. The selection
(BSCs) around the periphery of the IC. Each I/O pad on between PSR1 and USERCODE is a configuration
the FPGA, except for CCLK, DONE, and the boundary- option and can be performed in ORCA Foundry. The
scan pins (TCK, TDI, TMS, and TDO), is included in the USERCODE is an 11-bit value that the user can set
BSR. The first BSC in the BSR (connected to TDI) is during device configuration and can be written to and
located in the first PIC I/O pad on the left of the top side read from the FPGA via the boundary-scan logic. The
of the FPGA (PTA PIC). The BSR proceeds clockwise USERCODE value replaces the manufacturer field of
around the top, right, bottom, and left sides of the array. the boundary-scan ID code when the USERCODE
The last BSC in the BSR (connected to TDO) is located instruction is issued, allowing users to have configured
on the top of the left side of the array (PL1D). devices identified in a user-defined manner. The manu-
facturer ID field remains available when the IDCODE
The bypass instruction uses a single FF, which resyn- instruction is issued.
chronizes test data that is not part of the current scan
operation. In a bypass instruction, test data received on
TDI is shifted out of the bypass register to TDO. Since
I/O BUFFERS
DATA REGISTERS
BOUNDARY-SCAN REGISTER
IDCODE REGISTER
INSTRUCTION DECODER
M TDO
U
INSTRUCTION REGISTER X
RESET
CLOCK DR RESET
VDD SHIFT-DR CLOCK IR
UPDATE-DR SHIFT-IR
UPDATE-IR
TMS
VDD
SELECT
TCK TAP ENABLE
CONTROLLER
VDD
PUR
PRGM
5-5768(F)
Special Function Blocks (continued) The TAPC generates control signals that allow capture,
shift, and update operations on the instruction and data
ORCA Series TAP Controller (TAPC) registers. In the capture operation, data is loaded into
the register. In the shift operation, the captured data is
The ORCA Series TAP controller (TAPC) is a 1149.1/ shifted out while new data is shifted in. In the update
D1 compatible test access port controller. The 16 JTAG operation, either the instruction register is loaded for
state assignments from the IEEE 1149.1/D1 specifica- instruction decode, or the boundary-scan register is
tion are used. The TAPC is controlled by TCK and TMS. updated for control of outputs.
The TAPC states are used for loading the IR to allow
three basic functions in testing: providing test stimuli The test host generates a test by providing input into
(Update-DR), test execution (Run-Test/Idle), and the ORCA Series TMS input synchronous with TCK.
obtaining test responses (Capture-DR). The TAPC This sequences the TAPC through states in order to
allows the test host to shift in and out both instructions perform the desired function on the instruction register
and test data/results. The inputs and outputs of the or a data register. Figure 39 provides a diagram of the
TAPC are provided in the table below. The outputs are state transitions for the TAPC. The next state is deter-
primarily the control signals to the instruction register mined by the TMS input value.
and the data register.
1 TEST-LOGIC-
Table 15. TAP Controller Input/Outputs RESET
0
1 1 1
Symbol I/O Function 0
RUN-TEST/
IDLE
SELECT-
DR-SCAN
SELECT-
IR-SCAN
TMS I Test Mode Select 0 0
1 1
TCK I Test Clock CAPTURE-DR CAPTURE-IR
0 0
PUR I Powerup Reset
SHIFT-DR 0 SHIFT-IR 0
PRGM I BSCAN Reset
1 1
TRESET O Test Logic Reset 1 1
EXIT1-DR EXIT1-IR
Select O Select IR (High); Select-DR (Low) 0 0
Enable O Test Data Out Enable PAUSE-DR 0 PAUSE-IR 0
Capture-DR O Capture/Parallel Load-DR 1 1
0 0
Capture-IR O Capture/Parallel Load-IR EXIT2-DR EXIT2-IR
Lattice Semiconductor 61
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
Special Function Blocks (continued) direction control cell is used to access the 3-state
value. Both cells consist of a flip-flop used to shift scan
Boundary-Scan Cells data which feeds a flip-flop to control the I/O buffer. The
bidirectional data cell is connected serially to the direc-
Figure 40 is a diagram of the boundary-scan cell (BSC) tion control cell to form a boundary-scan shift register.
in the ORCA series PICs. There are four BSCs in each
PIC: one for each pad, except as noted above. The The TAPC signals (capture, update, shiftn, treset, and
BSCs are connected serially to form the BSR. The BSC TCK) and the MODE signal control the operation of the
controls the functionality of the in, out, and 3-state sig- BSC. The bidirectional data cell is also controlled by
nals for each pad. the high out/low in (HOLI) signal generated by the
direction control cell. When HOLI is low, the bidirec-
The BSC allows the I/O to function in either the normal tional data cell receives input buffer data into the BSC.
or test mode. Normal mode is defined as when an out- When HOLI is high, the BSC is loaded with functional
put buffer receives input from the PLC array and pro- data from the PLC.
vides output at the pad or when an input buffer
provides input from the pad to the PLC array. In the test The MODE signal is generated from the decode of the
mode, the BSC executes a boundary-scan operation, instruction register. When the MODE signal is high
such as shifting in scan data from an upstream BSC in (EXTEST), the scan data is propagated to the output
the BSR, providing test stimuli to the pad, capturing buffer. When the MODE signal is low (BYPASS or
test data at the pad, etc. SAMPLE), functional data from the FPGA’s internal
logic is propagated to the output buffer.
The primary functions of the BSC are shifting scan data
serially in the BSR and observing input (p_in), output The boundary-scan description language (BSDL) is
(p_out), and 3-state (p_ts) signals at the pads. The provided for each device in the ORCA Series of FPGAs
BSC consists of two circuits: the bidirectional data cell on the ORCA Foundry CD. The BSDL is generated
is used to access the input and output data, and the from a device profile, pinout, and other boundary-scan
information.
SCAN IN
I/O BUFFER
PAD_IN
p_in
PAD_OUT
BIDIRECTIONAL DATA CELL
0
0
0 D Q D Q 1
1 PAD_TS
p_out 1
HOLI
0
0
D Q D Q 1
p_ts 1
5-2844(F
TEST-LOGIC-RESET
SELECT-DR-SCAN
RUN-TEST/IDLE
SELECT-IR-SCAN
RUN-TEST/IDLE
CAPTURE-IR
PAUSE-IR
SHIFT-IR
SHIFT-IR
UPDATE-IR
EXIT1-IR
EXIT2-IR
EXIT1-IR
TCK
TMS
TDI
5-5971(F)
Lattice Semiconductor 63
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
Microprocessor Interface (MPI) interrupt the host processor either by a hard interrupt or
by having the host processor poll the microprocessor
The Series 3 FPGAs have a dedicated synchronous interface.
microprocessor interface function block (see The control portion of the microprocessor interface is
Figure 42). The MPI is programmable to operate with available following powerup of the FPGA if the mode
PowerPC MPC800 series microprocessors and Intel* pins specify MPI mode, even if the FPGA is not yet con-
i960* J core processors; see Table 16 and Table 17, figured. The mode pin (M[2:0]) settings can be found in
respectively, for compatible processors. The MPI imple- the FPGA Configuration Modes section of this data
ments an 8-bit interface to the host processor (Pow- sheet, and the setup and use of the MPI for configura-
erPC or i960) that can be used for configuration and tion is discussed in the MPI Setup and Control subsec-
readback of the FPGA as well as for user-defined data tion. For postconfiguration use, the MPI must be
processing and general monitoring of FPGA function. included in the configuration bit stream by using an MPI
In addition to dedicated-function registers, the micro- library element in your design from the ORCA macro
processor interface allows for the control of up to 16 library, or by setting the MP_USER bit of the MPI con-
user registers (RAM or flip-flops) in the FPGA logic. A figuration control register prior to the start of configura-
synchronous/asynchronous handshake procedure is tion (MPI registers are discussed later).
used to control transactions with user logic in the FPGA
* Intel and i960 are registered trademarks of Intel Corporation.
array. There is also capability for the FPGA logic to
D[7:0]IN
TO FPGA
ROUTING
D[7:0]OUT
ORCAORCA 3C/Txxx MPI
DONE
RD_DATA
INIT
D7 D7IN
D7OUT
D6 D6IN
STATUS
D6OUT REGISTER
D5 D5IN
D5OUT
D4 D4IN
D4OUT
D3 D3IN
D3OUT
D2 D2IN
D2OUT
SCRATCHPAD
D1 D1IN REGISTER
D1OUT
D0 D0IN
READBACK
D0OUT DATA REGISTER
A4
READBACK
POWERPC ONLY
A3 ADDR REGISTER
A2 RESET
A1 RD_CFG
A0 CONTROL PRGM
RD REGISTERS
GSR
CS0 TO GSR BLOCK
IRQ
DECODE/CONTROL
CS1
CCLK PART ID
REGISTERS
M3 USER_START
TO FPGA
M2 USER_END ROUTING
M1 WR_CTRL
M0 A[3:0]
MPI_IRQ
RDYRCV
MPI_ACK CLK
MPI_CLK ADS i960 LOGIC
MPI_STRB ALE
W/R
MPI_ALE
MPI_RW
MPI_B1 RD/WR
BT
TS POWERPC LOGIC
CLKOUT
TA
DEVICE PAD
I/O BUFFER
5-5806(F)
Microprocessor Interface (MPI) (continued) (read high, write low) signals are set up at the FPGA
pins by the PowerPC. The PowerPC then asserts its
PowerPC System transfer start signal (TS) low. Data is available to the
MPI during a write at the rising clock edge after the
In Figure 43, the ORCA FPGA is a memory-mapped clock cycle during which TS is low. The transfer is
peripheral to the PowerPC processor. The PowerPC acknowledged to the PowerPC by the low asser tion of
interface uses separate address and data buses and the TA signal. The MPI PowerPC interface does not
has several control lines. The ORCA chip select lines, support burst transfers, so the burst inhibit signal, BI, is
CS0 and CS1, are each connected to an address line also asserted low during the transfer acknowledge . The
coming from the PowerPC. In this manner, the FPGA is same process applies to a read from the MPI except
capable of a transaction with the PowerPC whenever that the read data is expected at the FPGA data pins by
the address line connected to CS0 is low, the address the PowerPC at the rising edge of the clock when TA is
line for CS1 is high, and there is a valid address on low. The MPI only drives TA low for one clock cycle.
PowerPC address lines A[27:31]. Other forms of selec- Interrupt requests can be sent to the PowerPC asyn-
tion are possible by using the FPGA chip selects in a chronously to the read/write process. Interrupt requests
different way. For example, PowerPC address bits are sourced by the user-logic in the FPGA. The MPI will
A[0:26] could be decoded to select CS0 and CS1, or if assert the request to the PowerPC as a direct interrupt
the FPGA is the only peripheral to the PowerPC, CS0 signal and/or a pollable bit in the MPI status register
and CS1 could be tied low and high, respectively, to (discussed in the MPI Setup and Control section). The
cause them to always be selected. If the MPI is not MPI will continue to assert the interrupt request until
used for FPGA configuration, decoding logic can be the user-logic deasserts its interrupt request signal.
implemented internal or external to the FPGA. If logic
internal to the FPGA is used, the chip selects must be Table 16. PowerPC/MPI Configuration
routed out on an output pin and then connected exter-
nally to CS0 and/or CS1. If the MPI is to be used for PowerPC ORCA Pin MPI Function
configuration, any decode logic used must be imple- Signal Name I/O
mented external to the FPGA since the FPGA logic has D[0:7] D[7:0] I/O 8-bit data bus
not been configured yet.
A[27:31] A[4:0] I 5-bit MPI address
bus
TO DAISY-
TS RD/MPI_STRB I Transfer start signal
DOUT
CHAINED
8
CCLK DEVICES — CS0 I Active-low MPI
D[7:0] D[7:0] select
A[27:31] A[4:0]
CLKOUT MPI_CLK — CS1 I Active-high MPI
RD/WR MPI_RW select
ORCA
POWERPC TA MPI_ACK
SERIES 3
BI MPI_BI FPGA CLKOUT A7/MPI_CLK I PowerPC interface
IRQx MPI_IRQ clock
TS MPI_STRB
A26 CS0 DONE RD/WR A8/MPI_RW I Read (high)/write
A25 CS1 INIT (low) signal
HDC
LDC TA A9/MPI_ACK O Active-low transfer
acknowledge signal
5-5761(F)
BI A10/MPI_BI O Active-low burst
Note: FPGA shown as a memory-mapped peripheral using CS0 and transfer inhibit
CS1. Other decoding schemes are possible using CS0 and/or signal
CS1.
Any of A11/MPI_IRQ O Active-low interrupt
IRQ[7:0] request signal
Figure 43. PowerPC/MPI
Lattice Semiconductor 65
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
Microprocessor Interface (MPI) (continued) set up at the FPGA pins by the i960 at the next rising
edge of the clock. At this same rising clock edge, the
i960 System i960 asserts its address/data strobe (ADS) low. Data is
available to the MPI during a write at the rising clock
Figure 44 shows a schematic for connecting the ORCA edge of the following clock cycle. The transfer is
MPI to supported i960 processors. In the figure, the acknowledged to the i960 by the low assertion of the
FPGA is shown as the only peripheral, with the FPGA ready/recover (RDYRCV) signal. The same process
chip select lines, CS0 and CS1, tied low and high, applies to a read from the MPI except that the read
respectively. The i960 address and data are multi- data is expected at the FPGA data pins by the i960 at
plexed onto the same bus. This precludes memory the rising edge of the clock when RDYRCV is low. The
mapping of the FPGA in the i960 memory space of a MPI only drives RDYRCV low for one clock cycle.
multiperipheral system without some form of address Interrupts can be sent to the i960 asynchronously to
latching to capture and hold the address signals to the read/write process. Interrupt requests are sourced
drive the CS0 and/or CS1 signals. Multiple address sig- by the user-logic in the FPGA. The MPI will assert the
nals could also be decoded and latched to drive the request to the i960 as a direct interrupt signal and/or a
CS0 and/or CS1 signals. If the MPI is not used for
pollable bit in the MPI status register (discussed in the
FPGA configuration, decoding/latching logic can be MPI Setup and Control section). The MPI will continue
implemented internal or external to the FPGA. If logic to assert the interrupt request until the user-logic deas-
internal to the FPGA is used, the chip selects must be serts its interrupt request signal.
routed out an output pin and then connected externally
to CS0 and/or CS1. If the MPI is to be used for configu- Table 17. i960/MPI Configuration
ration, any decode/latch logic used must be imple-
mented external to the FPGA since the FPGA logic has i960 ORCA Pin MPI
not been configured yet. Function
Signal Name I/O
AD[7:0] D[7:0] I/O Multiplexed 5-bit address/
i960 SYSTEM CLOCK 8-bit data bus. The address
appears on D[4:0].
8 DOUT TO DAISY- ALE RDY/RCLK/ I Address latch enable used
AD[7:0] D[7:0] CHAINED
CCLK MPI_ALE to capture address from
DEVICES
CLKIN MPI_CLK AD[4:0] on falling edge of
W/R MPI_RW clock.
RDYRCV MPI_ACK
XINTx MPI_IRQ ADS RD/ I Address/data strobe to
ORCA
i960
ALE MPI_ALE SERIES 3 MPI_STRB indicate start of transac-
ADS MPI_STRB FPGA tion.
BE0 MPI_BE0
BE1 MPI_BE1 — CS0 I Active-low MPI select.
VDD DONE
INIT
— CS1 I Active-high MPI select.
CS1
HDC System A7/ I i960 system clock. This
CS0
LDC clock is sourced by the
Clock MPI_CLK
system and not the i960.
5-5762(F) W/R A8/MPI_RW I Write (high)/read (low)
signal.
Note: FPGA shown as only system peripheral with fixed-chip select
signals. For multiperipheral systems, address decoding and/or RDYRCV A9/ O Active-low ready/recover
latching can be used to implement chip selects. MPI_ACK signal indicating acknowl-
edgment of the transac-
Figure 44. i960/MPI tion.
Any of A11/ O Active-low interrupt
XINT[7:0] MPI_IRQ request signal.
The basic flow of a transaction on the i960/MPI inter- BE0 A0/ I Byte-enable 0 used as
face is given below. Pin descriptions are shown in MPI_BE0 address bit 0 in i960 8-bit
Table 17, and timing is shown in the ORCA Timing mode.
Characteristics section of this data sheet. For both read BE1 A1/ I Byte-enable 1 used as
and write transactions, the address latch enable (ALE) MPI_BE1 address bit 1 in i960 8-bit
is set up by the i960 at the FPGA to the falling edge of mode.
the clock. The address, byte enables, chip selects, and
read/write (read low, write high) signals are normally
66 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
Microprocessor Interface (MPI) (continued) data written by the host processor from the D[7:0] pins
once the USTART signal is asserted. The user logic
MPI Interface to FPGA ends a transaction by asserting an active-high user
end (UEND) signal to the MPI.
The MPI interfaces to the user-programmable FPGA The MPI will insert wait-states in the host processor
logic using a 4-bit address, read/write control signal, bus cycles, holding the host processor until the user-
interrupt request signal, and user start and user end logic completes its task and returns a UEND signal,
handshake signals. Timing numbers are provided so upon which the MPI generates an acknowledge signal.
that the user-logic data transfers can be performed syn- If the host processor is reading from the FPGA, the
chronously with the host processor (PowerPC or i960) user logic must have the read data available on the
interface clock or asynchronously. Table 18 shows the D[7:0] pins of the FPGA when the UEND signal is
internal interface signals between the MPI and the asserted. If the user logic is fast or if the MPI user
FPGA user-programmable logic. All of the signals are address is being decoded for use as a control signal,
connected to the MPI in the upper-left corner of the the MPI transaction time can be minimized by routing
device except for the D[7:0] and CLK signals that come the USTART signal directly to the UEND input of the
directly from the I/O pin. MPI. The timing section of this data sheet contains a
The 4-bit addressing from the MPI to the PLCs allows parameter table with delay, setup, and hold timing
for up to 16 locations to be addressed by the host pro- requirements to operate the user-logic either synchro-
cessor. The user address space of the MPI does not nously or asynchronously with the MPI host interface
address any hard register. Rather, the user is free to clock.
construct registers from FFs, latches, or RAM that can The user-logic may also assert an active-low interrupt
be selected by the addressing. Alternately, the decoded request (UIRQ) to the MPI, which, in turn, asserts an
address signals may be used as control signals for interrupt to the host processor. Assertion of an inter-
other functions such as state machines or timers. rupt request is asynchronous to the host processor
The transaction sequence between the MPI and the clock and any read or write transaction occurring in the
user-logic is as follows. When the host processor ini- MPI. The user-logic is responsible for providing any
tiates a transaction as discussed in the preceding sec- required interrupt vectors for the host processor, and
tions, the MPI outputs the 4-bit user address (UA[3:0]) the user-logic must deassert the interrupt request once
and the read/write control signal (URDWR, which is serviced. If the interrupt request is not deasserted in
read-high, write-low regardless of host processor), and the user logic, it will continue to be asserted to the host
then asserts the user start signal, USTART. During a processor via the MPI_IRQ pin.
write from the host processor, the user logic can accept
Table 18. MPI Internal Interface Signals
Lattice Semiconductor 67
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
Address
Register
(Hex)
00 Control Register 1.
01 Control Register 2.
02 Scratchpad Register.
03 Status Register.
04 Configuration/Readback Data Register.
05 Readback Address Register 1 (bits [7:0]).
06 Readback Address Register 2 (bits [15:8]).
07 Device ID Register 1 (bits [7:0]).
08 Device ID Register 2 (bits [15:8]).
09 Device ID Register 3 (bits [23:16]).
0A Device ID Register 4 (bits [31:24]).
0B—0F Reserved.
10—1F User-definable Address Space.
Control Register 1
The MPI control register 1 is a read/write register. The host processor writes a control byte to configure the MPI. It
is readable by the host processor to verify the status of control bits previously written.
Bit # Description
Bit 0 GSR Input. Setting this bit to a 1 invokes a global set/reset on the FPGA. The host processor must
return this bit to a 0 to remove the GSR signal. GSR does not affect the registers at MPI addresses 0
through F hexadecimal or any configuration registers. Default state = 0.
Bit 1 Reserved.
Bit 2 Reserved.
Bit 3 Reserved.
Bit 4 Reserved.
Bit 5 RD_CFG Input. Changing this bit to a 0 after configuration will initiate readback. The host processor
must return this bit to a 1 to remove the RD_CFG signal. Since this bit works exactly like the RD_CFG
input pin, please see the FPGA pin descriptions for more information on this signal. Default state = 1.
Bit 6 Reserved.
Bit 7 PRGM Input. Setting this bit to a 0 causes the FPGA to begin configuration and resets the boundary-
scan circuitry. The host processor must return this bit to a 1 to remove the PRGM signal. Since this bit
works exactly like the PRGM input pin (except that it does not reset the MPI), please see the FPGA pin
descriptions for more information on this signal. Default state = 1.
68 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
Control Register 2
The MPI control register 2 is a read/write register. The host processor writes a control byte to configure the MPI. It
is readable by the host processor to verify the status of control bits it had previously written.
Lattice Semiconductor 69
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
Bit # Description
Bit 0 Reserved.
Bit 1 Data Ready. Set by the MPI, a 1 on this bit during configuration alerts the host processor that the FPGA
is ready for another byte of configuration data. During byte-wide readback, the MPI sets this bit to a 1 to
tell the host processor that a byte of configuration data is available for reading. This bit is cleared by a
host processor access (read or write) to the configuration data register.
Bit 2 IRQ Pending. The MPI sets this bit to 1 to indicate to the host processor that the FPGA has a pending
interrupt request. This bit may be used for the host processor to poll for interrupts if the MPI_IRQ pin out-
put of the FPGA has been masked at the host processor. This bit is set to 0 when the status register is
read. Interrupt requests from the FPGA user space must be cleared in FPGA user logic in addition to
reading this bit.
Bits Bit Stream Error Flags. Bits 3 and 4 are set by the MPI to indicate any error during FPGA configura-
[4:3] tion. See bit 2 of control register 2 for the capability to alert the host processor of an error via the IRQ
signal during configuration. In the truth table below, bit 3 is the LSB (bit on right). These bits are cleared
to 0 when PRGM goes active:
00 = No error
01 = ID error
10 = Checksum error
11 = Stop-bit/alignment error
Bit 5 Reserved.
Bit 6 INIT. This bit reflects the binary value of the FPGA INIT pin.
Bit 7 DONE. This bit reflects the binary value of the FPGA DONE pin.
70 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
Table 24 shows the family and device values for all parts covered by this data sheet.
Family ID Device ID
Part Name
(Hex) (Hex)
OR3T20 03 0C
OR3T30 03 0E
OR3T55 03 12
OR3C/T80 03 16
OR3T125 03 1C
Table 25 describes the device IDs for all parts covered by this data sheet as they are partitioned into the four regis-
ters found in the MPI.
Device ID Register 1
Bit 0 Logic 1. This bit is always a one.
Bits [7:1] 0011101, the 7 least significant bits of the manufacturer ID.
Device ID Register 2
Bits [3:0] 0000, the 4 most significant bits of the manufacturer ID.
Bits [7:4] The 4 least significant bits of the 10-bit part number.
Device ID Register 3
Bits [5:0] The 6 most significant bits of the 10-bit part number.
Bits [7:6] The 2 least significant bits of the device family code.
Device ID Register 4
Bits [3:0] The 4 most significant bits of the device family code.
Bits [7:4] The 4-bit device version code.
Lattice Semiconductor 71
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
Programmable Clock Manager (PCM) ner ExpressCLK that feeds the CLKCNTRL blocks on
the two sides adjacent to the PCM, and one to the sys-
The ORCA programmable clock manager (PCM) is a tem clock spine network through general routing. Fig-
special function block that is used to modify or condi- ure 45 shows a high-level block diagram of the PCM.
tion clock signals for optimum system performance. Functionality of the PCM is programmed during opera-
Some of the functions that can be performed with the tion through a read/write interface internal to the FPGA
PCM are clock skew reduction (both internal and board array or via the configuration bit stream. The internal
level), duty-cycle adjustment, clock delay reduction, FPGA interface comprises write enable and read
clock phase adjustment, and clock frequency multipli- enable signals, a 3-bit address bus, an 8-bit input (to
cation/division. Due to the different capabilities the PCM) data bus, and an 8-bit output data bus. There
required by customer application, each PCM contains is also a PCM output signal, LOCK, that indicates a sta-
both a PLL (phase-locked loop) and a DLL (delayed- ble output clock state. These signals are used to pro-
locked loop) mode. By using PLC logic resources in gram a series of registers to configure the PCM
conjunction with the PCM, many other functions, such functional core for the desired functionality.
as frequency synthesis, are possible.
Operation of the PCM is divided into two modes, delay-
There are two PCMs on each Series 3 device, one in locked loop (DLL) and phase-locked loop (PLL). Some
the lower left corner and one in the upper right corner. operations can be performed by either mode and some
Each can drive two different, but interrelated clock net- are specific to a particular mode. These will be
works inside the FPGA. Each PCM can take a clock described in each individual mode section. In general,
input from the ExpressCLK pad in its corner or from DLL mode is preferable to PLL mode for the same
general routing resources. There are also two input function because it is less sensitive to input clock
sources that provide feedback to the PCM from the noise.
PLC array. One of these is a dedicated corner Express-
CLK feedback, and the other is from general routing. In the discussions that follow, the duty cycle is the per-
Each PCM sources two clock outputs, one to the cor- cent of the clock period during which the output clock is
high.
PCM-FPGA
INTERFACE
5-5828(F)
72 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
PCM Registers
The PCM contains eight user-programmable registers used for configuring the PCM’s functionality. Table 26 shows
the mapping of the registers and their functions. See Figure 46 for more information on the location of PCM ele-
ments that are discussed in the table. The PCM registers are referenced in the discussions that follow. Detailed
explanations of all register bits are supplied following the functional description of the PCM.
Address Function
0 Divider 0 Programming. Programmable divider, DIV0, value and DIV0 reset bit. DIV0 can
divide the input clock to the PCM or can be bypassed.
1 Divider 1 Programming. Programmable divider, DIV1, value and DIV1 reset bit. DIV1 can
divide the feedback clock input to the PCM or can be bypassed. Valid only in PLL mode.
2 Divider 2 Programming. Programmable divider, DIV2, value and DIV2 reset bit. DIV2 can
divide the output of the tapped delay line or can be bypassed and is only valid for the
ExpressCLK output.
3 DLL 2x Duty-Cycle Programming. DLL mode clock doubler (2x) duty-cycle selection.
4 DLL 1x Duty-Cycle Programming. Depending on the settings in other registers, this regis-
ter is for:
a. PLL mode phase/delay selection;
b. DLL mode 1x duty cycle selection; and
c. DLL mode programmable delay.
5 Mode Programming. DLL/PLL mode selection, DLL 1x/2x clock selection, phase detector
feedback selection.
6 Clock Source Status/Output Clock Selection Programming. Input clock selection, feed-
back clock selection, ExpressCLK output source selection, system clock output source selec-
tion.
7 PCM Control Programming. PCM power, reset, and configuration control.
Lattice Semiconductor 73
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
PCM
0
FPGA-PCM INTERFACE 1 SYSTEM CLOCK
S10 OUTPUT
2
0 3
DATA_IN[7:0]
ADDR_IN[2:0]
DATA_OUT[7:0]
WE
RE
LOCK
5-5829(F)
74 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Lattice Semiconductor 75
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
76 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Programmable Clock Manager (PCM) The multiplied output is selected by setting register six,
bits [5:4] to 10 or 11 for ExpressCLK output and/or bits
(continued)
[7:6] to 10 for system clock output. Note that when reg-
ister six, bits [5:4] are set to 11, the ExpressCLK output
Clock Multiplication
is divided by DIV2, while the system clock cannot be
An output clock that is a multiple (not necessarily an divided. The ExpressCLK divider is provided so that the
integer multiple) of the input clock can be generated in I/O clocking provided by the ExpressCLK can operate
PLL mode. The multiplication ratio is programmed in slower than the internal system clock. This allows for
the division registers DIV0, DIV1, and DIV2. Note that very fast internal processing while maintaining slower
DIV2 applies only to the ExpressCLK output of the interface speeds off-chip for improved noise and power
PCM and any reference to DIV2 is implicitly 1 for the performance or to interoperate with slower devices in
system clock output of the PCM. The clock multiplica- the system.
tion formulas when using ExpressCLK feedback are:
It is also necessary to configure the internal PCM oscil-
DIV1 lator for operation in the proper frequency range.
FExpressCLK_OUT = FINPUT_CLOCK •
DIV0 Table 29 and Table 30 show the settings required for
register four for a given frequency range for Series 3C
FSYSTEM_CLOCK_OUT = FExpressCLK_OUT • DIV2 and 3T devices. In addition, the acquisition time is
shown for each frequency range. This is the time that is
Where the values of DIV0, DIV1, and DIV2 range from
required for the PCM to acquire LOCK. The PCM oscil-
1 to 8.
lator frequency range is chosen based on the desired
The ExpressCLK multiplication range of output clock output frequency at the system clock output. If using
frequencies is, therefore, from 1/8x up to 8x, with the the ExpressCLK output, the equivalent system clock
system clock range up to 8x the ExpressCLK frequency frequency can be selected by multiplying the expected
or 64x the input clock frequency. If system clock feed- ExpressCLK output frequency by the value for DIV2.
back is used, the formulas are: Choose the nominal frequency from the table that is
closest to the desired frequency, and use that value to
DIV1 program register four. Minor adjustments to match the
FSYSTEM_CLOCK_OUT = FINPUT_CLOCK •
DIV0 exact input frequency are then performed automatically
by the PCM.
FExpressCLK_OUT = FSYSTEM_CLOCK/DIV2
The divider values, DIV0, DIV1, and DIV2 are pro-
grammed in registers zero, one, and two, respectively.
Lattice Semiconductor 77
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
Table 29. PCM Oscillator Frequency Range 3Txxx Table 30. PCM Oscillator Frequency Range 3Cxx
System System
Clock Clock
Output Output
Frequency T Frequency T
Register 4 Min (MHz) Max Acquisition Register 4 Min (MHz) Max Acquisition
76543210 (MHz) NOM (MHz) (µs) 76543210 (MHz) NOM (MHz) (µs)
00XXX010 17.00 58.50 100.00 36.00 00XXX010 10.50 73.00 135.00 36.00
00XXX011 16.10 52.50 89.00 37.00 00XXX011 10.00 68.00 126.00 37.00
00XXX100 15.17 49.00 82.80 38.00 00XXX100 9.50 63.00 117.00 38.00
00XXX101 14.25 45.00 76.50 39.00 00XXX101 9.10 58.50 108.00 39.00
00XXX110 13.33 41.50 70.30 40.00 00XXX110 8.60 53.80 99.00 40.00
00XXX111 12.40 38.00 64.00 41.00 00XXX111 8.10 49.00 90.00 41.00
01XXX000 12.20 36.75 61.30 43.75 01XXX000 7.80 47.70 87.50 43.80
01XXX001 12.10 35.00 58.00 46.50 01XXX001 7.60 46.30 85.00 46.50
01XXX010 11.90 33.00 54.30 49.25 01XXX010 7.30 45.00 82.50 49.30
01XXX011 11.70 31.30 51.00 52.00 01XXX011 7.10 43.60 80.00 52.00
01XXX100 11.10 30.00 49.40 54.75 01XXX100 6.80 42.10 77.50 55.00
01XXX101 10.50 29.15 47.80 57.50 01XXX101 6.50 40.75 75.00 57.50
01XXX110 10.00 28.10 46.20 60.25 01XXX110 6.30 39.40 72.50 60.30
01XXX111 9.40 27.00 44.60 63.00 01XXX111 6.00 38.00 70.00 63.00
10000XXX 9.20 26.25 43.30 65.40 10000XXX 5.90 37.40 68.80 65.40
10001XXX 9.00 25.65 42.30 67.80 10001XXX 5.90 36.70 67.50 67.80
10010XXX 8.80 25.00 41.30 70.10 10010XXX 5.80 36.00 66.30 70.10
10011XXX 8.60 24.45 40.30 72.50 10011XXX 5.80 35.40 65.00 72.50
10100XXX 8.40 23.70 39.00 74.90 10100XXX 5.70 35.00 63.80 74.90
10101XXX 8.10 22.90 37.70 77.30 10101XXX 5.60 34.10 62.50 77.30
10110XXX 7.90 22.20 36.50 79.60 10110XXX 5.60 33.50 61.30 79.60
10111XXX 7.70 21.50 35.20 82.00 10111XXX 5.50 32.80 60.00 82.00
11000XXX 7.60 20.80 34.00 84.30 11000XXX 5.40 32.10 58.80 84.30
11001XXX 7.45 20.10 32.80 86.50 11001XXX 5.40 31.50 57.50 86.50
11010XXX 7.30 19.45 31.60 88.80 11010XXX 5.30 30.70 56.30 88.80
11011XXX 7.20 18.85 30.50 91.00 11011XXX 5.30 30.10 55.00 91.00
11100XXX 6.60 18.30 30.00 93.30 11100XXX 5.20 29.50 53.80 93.30
11101XXX 6.00 17.70 29.40 95.50 11101XXX 5.10 28.80 52.50 95.50
11110XXX 5.50 17.10 28.60 97.80 11110XXX 5.10 28.20 51.30 97.80
11111XXX 5.00 16.50 28.00 100.00 11111XXX 5.00 27.50 50.00 100.00
Note: Use of settings in the first three rows is not recommended. Note: Use of settings in the first three rows is not recommended.
X means don’t care. X means don’t care.
78 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Lattice Semiconductor 79
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
Bit # Function
Register 0—Divider 0 Programming
4-Bit Divider, DIV0, Value. This value enables the input clock to immediately be divided by a
Bits [3:0]
value from 1 to 8. A 0 value (the default) indicates that DIV0 is bypassed (no division). Bypass
incurs less delay than dividing by 1. Hexadecimal values greater than 8 for bits [3:0] yield their
modulo 8 value. For example, if bits [3:0] are 1001 (9 hex), the result is divide by 1 (remainder
9/8 = 1).
Bits [6:4] Reserved.
Bit 7 DIV 0 Reset Bit. DIV0 may not be reset by GSRN depending on the value of register 7, bit 7.
This bit may be set to 1 to reset DIV0 to its default value. Bit 0 must be set to 0 (the default) to
remove the reset.
Register 1—Divider 1 Programming
Bits [3:0] 4-Bit Divider, DIV1, Value. This value enables the feedback clock to be divided by a value from 1
to 8. A 0 value (the default) indicates that DIV1 is bypassed (no division). Bypass incurs less
delay than dividing by 1. Hexadecimal values greater than 8 for bits [3:0] yield their modulo 8
value. For example, if bits [3:0] are 1001 (9 hex), the result is divide by 1 (remainder 9/8 = 1).
Bits [6:4] Reserved.
Bit 7 DIV1 Reset Bit. DIV1 may not be reset by GSRN, depending on the value of register 7, bit 7.
This bit may be set to 1 to reset DIV1 to its default value. Bit 0 must be set to 0 (the default) to
remove the reset.
Register 2—Divider 2 Programming
Bits [3:0] 4-Bit Divider, DIV2, Value. This value enables the tapped delay line output clock driven onto
ExpressCLK to be divided by a value from 1 to 8. A 0 value (the default) indicates that DIV2 is
bypassed (no division). Bypass incurs less delay than dividing by 1. Hexadecimal values greater
than 8 for bits [3:0] yield their modulo 8 value. For example, if bits [3:0] are 1001 (9 hex), the
result is divide by 1 (remainder 9/8 = 1).
Bits [6:4] Reserved.
Bit 7 DIV2 Reset Bit. DIV2 may not be reset by GSRN, depending on the value of register 7, bit 7.
This bit may be set to 1 to reset DIV2 to its default value. Bit 7 must be set to 0 (the default) to
remove the reset.
Register 3—DLL 2x Duty-Cycle Programming
Bits [2:0] Duty-cycle selection for the doubled clock period associated with the input clock high. The duty
cycle is (value of bit 6) * 50% + ((value of bits [2:0]) + 1) * 6.25%. See the description for bit 6.
Bits [5:3] Duty-cycle selection for the doubled clock period associated with the input clock low. The duty
cycle is (value of bit 7) * 50% + ((value of bits [2:0]) + 1) * 6.25%. See the description for bit 7.
Bit 6 Master duty-cycle control for the first clock period of the doubled clock: 0 = less than or equal to
50%, 1 = greater than 50%.
Bit 7 Master duty-cycle control for the second clock period of the doubled clock: 0 = less than or equal
to 50%, 1 = greater than 50%. Example: Both clock periods having a 62.5% duty cycle, bits [7:0]
are 11 001 001.
80 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
Bit # Function
Register 4—DLL 1x Duty-Cycle Programming
Bits [2:0] Duty-Cycle/Delay Selection for Duty Cycle/Delays Less Than or Equal to 50%. The duty-
cycle/delay is (value of bits [7:6]) * 25% + ((value of bits [2:0]) + 1) * 3.125%. See the description
for bits [7:6].
Bits [5:3] Duty-Cycle/Delay Selection for Duty Cycle/Delays Greater Than 50%. The duty-cycle/delay
is (value of bits [7:6]) * 25% + ((value of bits [5:3]) + 1) * 3.125%. See the description for bits [7:6].
Bits [7:6] Master Duty Cycle Control:
00: duty cycle 3.125% to 25%
01: duty cycle 28.125% to 50%
10: duty cycle 53.125% to 75%
11: duty cycle 78.125% to 96.875%
Example: A 40.625% duty cycle, bits [7:0] are 01 XXX 100, where X is a don’t care because the
duty cycle is not greater than 50%.
Example: The PCM output clock should be delayed 96.875% (31/32) of the input clock period.
Bits [7:0] are 11110XXX, which is 78.125% from bits [7:6] and 18.75% from bits [5:3]. Bits [2:0]
are don’t care (X) because the delay is greater than 50%.
Register 5—Mode Programming
Bit 0 DLL/PLL Mode Selection Bit. 0 = DLL, 1 = PLL. Default is DLL mode.
Bit 1 Reserved.
Bit 2 PLL Phase Detector Feedback Input Selection Bit. 0 = feedback signal from routing/
ExpressCLK, 1 = feedback from programmable delay line output. Default is 0. Has no effect in
DLL mode.
Bit 3 Reserved.
Bit 4 1x/2x Clock Selection Bit for DLL Mode. 0 = 1x clock output, 1 = 2x clock output. Default is 1x
clock output. Has no effect in PLL mode.
Bits [7:5] Reserved.
Lattice Semiconductor 81
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
Bit # Function
ExpressCLK Output Source Selector. Default is 00.
Bits [5:4]
00: PCM input clock, bypass path through PCM
01: DLL output
10: tapped delay line output
11: divided (DIV2) delay line output
Bits [7:6] System Clock Output Source Selector. Default is 00.
00: PCM input clock, bypass path through PCM
01: DLL output
10: tapped delay line output
11: reserved
Register 7—PCM Control Programming
Bit 0 PCM Analog Power Supply Switch. 1 = power supply on, 0 = power supply off.
Bit 1 PCM Reset. A value of 1 resets all PCM logic for PLL and DLL modes.
Bit 2 DLL Reset. A value of 1 resets the clock generation logic for DLL mode. No dividers or user reg-
isters are affected.
Bits [5:3] Reserved.
Bit 6 PCM Configuration Operation Enable Bit. 0 = normal configuration operation. During configu-
ration (DONE = 0), the PCM analog power supply will be off, the PCM output data bus is 3-stated,
and the LOCK signal is asserted to logic 0. The PCM will power up when DONE = 1.
1 = PCM operation during configuration. The PCM may be powered up (see bit 0) and begin
operation, or continue operation. The setup of the PCM can be performed via the configuration bit
stream.
Bit 7 PCM GSRN Enable Bit. 0 = normal GSRN operation. 1 = GSRN has no effect on PCM logic, so
clock processing will not be interrupted by a chip reset. Default is 0.
82 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
Programmable Clock Manager (PCM) clock setup time and some margin, is the amount less
than one full clock cycle that the output clock is delayed
(continued)
from the input clock.
PCM Applications In some systems, it is desirable to operate logic from
several clocks that operate at different phases. This
The applications discussed below are only a small technique is often used in microprocessor-based sys-
sampling of the possible uses for the PCM. Check the tems to transfer and process data synchronously
Lattice website for additional application notes. between functional areas, but without incurring exces-
sive delays. Figure 48B shows an input clock and an
Clock Phase Adjustment output clock operating 180° out of phase. It also shows
The PCM may be used to adjust the phase of the input a version of the input clock that was shifted approxi-
clock. The result is an output clock which has its active mately 180° using logic gates to create an inverter.
edge either preceding or following the active edge of Note that the inverted clock is really shifted more than
the input clock. Clock phase adjustment is accom- 180° due to the propagation delay of the inverter. The
plished in DLL mode by delaying the clock. This is dis- PCM output clock does not suffer from this delay. Addi-
cussed in the Delay-Locked Loop (DLL) Mode section. tionally, the 180° shifted PCM output could be shifted
Examples of using the delayed clock as an early or late by some smaller amount to effect an early 180° shifted
phase-adjusted clock are outlined in the following para- clock that also accounts for loading effects.
graphs. In terms of degrees of phase shift, the phase of a clock
An output clock that precedes the input clock can be is adjustable in DLL mode with resolution relative to the
used to compensate for clock delay that is largely due delay increment (see Table 27):
to excessive loading. The preceding output clock is Phase Adjustment = (Delay)* 11.25, Delay < 16
really not early relative to the input clock, but is delayed Phase Adjustment = ((Delay)* 11.25) – 360, Delay > 16
almost a full cycle. This is shown in Figure 48A. The
amount of delay that is being compensated for, plus
INPUT CLOCK
OUTPUT CLOCK
UNINTENDED PHASE
SHIFT DUE TO DLL DELAY
INVERTER DELAY
INPUT CLOCK
Programmable Clock Manager (PCM) Resultant signals from the PCM must meet the FPGA
timing specifications. It is possible to specify pulses by
(continued)
using duty-cycle adjustments that are too narrow to
function in the FPGA. For instance, if a 40 MHz clock is
High-Speed Internal Processing with Slow I/Os
doubled to 80 MHz and a 6.25% duty cycle is selected,
The PCM PLL mode provides two outputs, one sent to the result will be a 780 ps pulse that repeats every
the global system clock routing of the FPGA and the 12.5 ns. This pulse falls outside of the clock pulse width
other to the ExpressCLK(s) that serve the FPGA I/Os. specification and is not valid.
The ExpressCLK output of the PCM has a divide capa-
Using divider DIV2, it is possible to specify a clock mul-
bility (DIV2) that the system clock output does not. This
tiplication factor of 64 between the input clock and the
feature allows an input clock to be multiplied up to a
output system clock. As mentioned above, the resultant
higher frequency for high-speed internal processing,
frequency must meet all FPGA timing specifications.
and also allows the ExpressCLK output to be divided
The input clock must also meet the minimum specifica-
down to a lower frequency to accommodate off-FPGA
tions. An input clock rate that is below the PCM clock
data transfers. For example, a 10 MHz input clock may
minimum cannot be used even if the multiplied output is
be multiplied (see Clock Multiplication in the Phase-
within the allowable range.
Locked Loop (PLL) Mode subsection) to 25 MHz (DIV0
= 4, DIV1 = 5, DIV2 = 2) and output to the FPGA The use of the PCM to tweak a clock signal to eliminate
ExpressCLK. This allows the I/Os of the circuit to run at a particular problem, such as a single setup time viola-
25 MHz ((2 * 5)/4 * 10 MHz). The system clock will run tion, is discouraged. A small shift in delay, duty cycle, or
at DIV2 times the ExpressCLK rate, which is 2 times phase to correct a single-point problem is in essence
25 MHz, or 50 MHz. This setup allows for internal pro- an asynchronous patch to a synchronous system, mak-
cessing to occur at twice the rate of on/off device I/O ing the system less stable. This type of local problem,
transfers. as opposed to a global clock control issue like device-
wide clock delay, can usually be eliminated through
more robust design practices. If this type of change is
PCM Cautions made, the designer must be aware that depending on
the extent of the change made, the design may fail to
Cautions do apply when using the PCM. There are a operate correctly in a different speed grade or voltage
number of configurations that are possible in the PCM grade (e.g., 3C vs. 3T), or even in a different production
that are theoretically valid, but may not produce viable lot of the same device.
results. This section describes some of those situa-
tions, and should leave the user with an understanding Divider DIV2 is available in DLL mode for the Express-
of the types of pitfalls that must be avoided when modi- CLK output, but its use is not recommended with duty-
fying clock signals. cycle adjusted clocks.
84 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
Prior to becoming operational, the FPGA goes through Upon powerup, the device goes through an initialization
a sequence of states, including initialization, configura- process. First, an internal power-on-reset circuit is trig-
tion, and start-up. Figure 49 outlines these three FPGA gered when power is applied. When VDD reaches the
states. voltage at which portions of the FPGA begin to operate
(2.5 V to 3 V for the OR3Cxx, 2.2 V to 2.7 V for the
OR3Txxx), the I/Os are configured based on the con-
POWERUP
figuration mode, as determined by the mode select
– POWER-ON TIME DELAY
inputs M[2:0]. A time-out delay is initiated when VDD
reaches between 3.0 V and 4.0 V (OR3Cxx) or 2.7 V to
3.0 V (OR3Txxx) to allow the power supply voltage to
INITIALIZATION
– CLEAR CONFIGURATION
stabilize. The INIT and DONE outputs are low. At pow-
MEMORY erup, if VDD does not rise from 2.0 V to VDD in less than
– INIT LOW, HDC HIGH, LDC LOW
25 ms, the user should delay configuration by inputting
a low into INIT, PRGM, or RESET until VDD is greater
RESET, than the recommended minimum operating voltage
BIT INIT,
YES ERROR OR
(4.75 V for OR3Cxx commercial devices and 3.0 V for
YES
PRGM OR3Txxx devices).
LOW
NO NO
At the end of initialization, the default configuration
CONFIGURATION option is that the configuration RAM is written to a low
– M[3:0] MODE IS SELECTED RESET
– CONFIGURATION DATA FRAME OR state. This prevents shorts prior to configuration. As a
PRGM
WRITTEN
– INIT HIGH, HDC HIGH, LDC LOW LOW configuration option, after the first configuration (i.e., at
– DOUT ACTIVE reconfiguration), the user can reconfigure without
clearing the internal configuration RAM first. The
START-UP
active-low, open-drain initialization signal INIT is
– ACTIVE I/O PRGM released and must be pulled high by an external resis-
– RELEASE INTERNAL RESET LOW
– DONE GOES HIGH tor when initialization is complete. To synchronize the
configuration of multiple FPGAs, one or more INIT pins
should be wire-ANDed. If INIT is held low by one or
OPERATION more FPGAs or an external device, the FPGA remains
5-4529(F) in the initialization state. INIT can be used to signal that
the FPGAs are not yet initialized. After INIT goes high
Figure 49. FPGA States of Operation for two internal clock cycles, the mode lines (M[3:0])
are sampled, and the FPGA enters the configuration
state.
The high during configuration (HDC), low during config-
uration (LDC), and DONE signals are active outputs in
the FPGA’s initialization and configuration states. HDC,
LDC, and DONE can be used to provide control of
external logic signals such as reset, bus enable, or
PROM enable during configuration. For parallel master
configuration modes, these signals provide PROM
enable control and allow the data pins to be shared
with user logic signals.
Lattice Semiconductor 85
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
FPGA States of Operation (continued) not used during the configuration process are
3-stated with internal pull-ups.
If configuration has begun, an assertion of RESET or Warning: During configuration, all OR3Txxx inputs
PRGM initiates an abort, returning the FPGA to the ini- have internal pull-ups enabled. If these inputs are
tialization state. The PRGM and RESET pins must be driven to 5V, they will draw substantial current (≅ 5 ma).
pulled back high before the FPGA will enter the config- This is due to the fact that the inputs are pulled up to
uration state. During the start-up and operating states, 3V.
only the assertion of PRGM causes a reconfiguration.
During configuration, the PIC and PLC latches/FFs are
In the master configuration modes, the FPGA is the held set/reset and the internal BIDI buffers are 3-
source of configuration clock (CCLK). In this mode, the stated. The combinatorial logic begins to function as
initialization state is extended to ensure that, in daisy- the FPGA is configured. Figure 50 shows the general
chain operation, all daisy-chained slave devices are waveform of the initialization, configuration, and start-
ready. Independent of differences in clock rates, master up states.
mode devices remain in the initialization state an addi-
tional six internal clock cycles after INIT goes high. Configuration
When configuration is initiated, a counter in the FPGA
is set to 0 and begins to count configuration clock The ORCA Series FPGA functionality is determined by
cycles applied to the FPGA. As each configuration data the state of internal configuration RAM. This configura-
frame is supplied to the FPGA, it is internally assem- tion RAM can be loaded in a number of different
bled into data words. Each data word is loaded into the modes. In these configuration modes, the FPGA can
internal configuration memory. The configuration load- act as a master or a slave of other devices in the sys-
ing process is complete when the internal length count tem. The decision as to which configuration mode to
equals the loaded length count in the length count field, use is a system design issue. Configuration is dis-
and the required end of configuration frame is written. cussed in detail, including the configuration data format
and the configuration modes used to load the configu-
All OR3Cxx I/Os operate as TTL inputs during configu- ration data in the FPGA, following a description of the
ration (OR3Txxx I/Os are CMOS-only). All I/Os that are start-up state.
VDD
RESET
PRGM
INIT
M[3:0]
CCLK
HDC
LDC
DONE
USER I/O
INTERNAL
RESET
(gsrn)
INITIALIZATION CONFIGURATION
START-UP
OPERATION
5-4482(F)
FPGA States of Operation (continued) DONE is an open-drain bidirectional pin that may
include an optional (enabled by default) pull-up resistor
Start-Up to accommodate wired ANDing. The open-drain DONE
signals from multiple FPGAs can be tied together
After configuration, the FPGA enters the start-up (ANDed) with a pull-up (internal or external) and used
phase. This phase is the transition between the config- as an active-high ready signal, an active-low PROM
uration and operational states and begins when the enable, or a reset to other portions of the system.
number of CCLKs received after INIT goes high is When used in SYNC mode, these ANDed DONE pins
equal to the value of the length count field in the config- can be used to synchronize the other two start-up
uration frame and when the end of configuration frame events, since they can all be synchronized to the same
has been written. The system design issue in the start- external signal. This signal will not rise until all FPGAs
up phase is to ensure the user I/Os become active release their DONE pins, allowing the signal to be
without inadvertently activating devices in the system pulled high.
or causing bus contention. A second system design The default for ORCA is the CCLK_SYNC synchro-
concern is the timing of the release of global set/reset nized start-up mode where DONE is released on the
of the PLC latches/FFs. first CCLK rising edge, C1 (see Figure 51). Since this is
There are configuration options that control the relative a synchronized start-up mode, the open-drain DONE
timing of three events: DONE going high, release of the signal can be held low externally to stop the occurrence
set/reset of internal FFs, and user I/Os becoming of the other two start-up events. Once the DONE pin
active. Figure 51 shows the start-up timing for ORCA has been released and pulled up to a high level, the
FPGAs. The system designer determines the relative other two start-up events can be programmed individu-
timing of the I/Os becoming active, DONE going high, ally to either happen immediately or after up to four ris-
and the release of the set/reset of internal FFs. In the ing edges of CCLK (Di, Di + 1, Di + 2, Di + 3, Di + 4).
ORCA Series FPGA, the three events can occur in any The default is for both events to happen immediately
arbitrary sequence. This means that they can occur after DONE is released and pulled high.
before or after each other, or they can occur simulta- A commonly used design technique is to release
neously. DONE one or more clock cycles before allowing the I/O
There are four main start-up modes: CCLK_NOSYNC, to become active. This allows other configuration
CCLK_SYNC, UCLK_NOSYNC, and UCLK_SYNC. devices, such as PROMs, to be disconnected using the
The only difference between the modes starting with DONE signal so that there is no bus contention when
CCLK and those starting with UCLK is that for the the I/Os become active. In addition to controlling the
UCLK modes, a user clock must be supplied to the FPGA during start-up, other start-up techniques that
start-up logic. The timing of start-up events is then avoid contention include using isolation devices
based upon this user clock, rather than CCLK. The dif- between the FPGA and other circuits in the system,
ference between the SYNC and NOSYNC modes is reassigning I/O locations, and maintaining I/Os as 3-
that for SYNC mode, the timing of two of the start-up stated outputs until contentions are resolved.
events, release of the set/reset of internal FFs, and the Each of these start-up options can be selected during
I/Os becoming active is triggered by the rise of the bit stream generation in ORCA Foundry, using
external DONE pin followed by a variable number of Advanced Options. For more information, please see
rising clock edges (either CCLK or UCLK). For the the ORCA Foundry documentation.
NOSYNC mode, the timing of these two events is
based only on either CCLK or UCLK.
Lattice Semiconductor 87
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
GSRN
Other bit stream options are also available that allow
ACTIVE Di Di + 1 Di + 2 Di + 3 Di + 4 one portion of the FPGA to remain in operation while a
partial reconfiguration is being done. If this is done, the
user must be careful to not cause contention between
UCLK UCLK_NOSYNC the two configurations (the bit stream resident in the
F FPGA and the partial reconfiguration bit stream) as the
second reconfiguration bit stream is being loaded.
DONE
C1 U1 U2 U3 U4
I/O
88 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
The ORCA Foundry Development System interfaces Configuration data can be presented to the FPGA in
with front-end design entry tools and provides tools to two frame formats: autoincrement and explicit. A
produce a fully configured FPGA. This section dis- detailed description of the frame formats is shown in
cusses using the ORCA Foundry Development System Figure 52, Figure 53, and Table 32. The two modes are
to generate configuration RAM data and then provides similar except that autoincrement mode uses assumed
the details of the configuration frame format. address incrementation to reduce the bit stream size,
and explicit mode requires an address for each data
The ORCA OR3Cxx and OR3Txxx Series FPGAs are frame. In both cases, the header frame begins with a
bit stream compatible. series of 1s and a preamble of 0010, followed by a
24-bit length count field representing the total number
of configuration clocks needed to complete the loading
Using ORCA Foundry to Generate of the FPGAs.
Configuration RAM Data
Following the header frame is a mandatory ID frame.
The configuration data bit stream defines the I/O func- (Note that the ID frame was optional in the ORCA 2C
tionality, logic, and interconnections within the FPGA. and 2C/TxxA Series.)
The bit stream is generated by the development sys- The ID frame contains data used to determine if the bit
tem. The bit stream created by the bit stream genera- stream is being loaded to the correct type of ORCA
tion tool is a series of 1s and 0s used to write the FPGA FPGA (i.e., a bit stream generated for an OR3T55 is
configuration RAM. It can be loaded into the FPGA being sent to an OR3T55). Error checking is always
using one of the configuration modes discussed later. enabled for Series 3 devices, through the use of an
In the bit stream generator, the designer selects 8-bit checksum. One bit in the ID frame also selects
options that affect the FPGA’s functionality. Using the between the autoincrement and explicit address modes
output of the bit stream generator, circuit_name.bit, for this load of the configuration data.
the development system’s download tool can load the A configuration data frame follows the ID frame. A data
configuration data into the ORCA series FPGA evalua- frame starts with a 01-start bit pair and ends with
tion board from a PC or workstation. enough 1-stop bits to reach a byte boundary. If using
Alternatively, a user can program a PROM (such as a autoincrement configuration mode, subsequent data
Serial ROM or a standard EPROM) and load the FPGA frames can follow. If using explicit mode, one or more
from the PROM. The development system’s PROM address frames must follow each data frame, telling the
programming tool produces a file in .mks or .exo for- FPGA at what addresses the preceding data frame is
mat. to be stored (each data frame can be sent to multiple
addresses).
Following all data and address frames is the postam-
ble. The format of the postamble is the same as an
address frame with the highest possible address value
with the checksum set to all ones.
Lattice Semiconductor 89
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
0 0 1 0 0 1 0 1 0 0
CONFIGURATION HEADER
5-5759(F)
0 0 1 0 0 1 0 0 0 1 0 0 0 0
CONFIGURATION HEADER
5-5760(F)
90 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
Lattice Semiconductor 91
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
There are eight methods for configuring the FPGA. The master parallel configuration mode is generally
Seven of the configuration modes are selected on the used to interface to industry-standard, byte-wide mem-
M0, M1, and M2 inputs. The eighth configuration mode ory, such as the 2764 and larger EPROMs. Figure 54
is accessed through the boundary-scan interface. A provides the connections for master parallel mode. The
fourth input, M3, is used to select the frequency of the FPGA outputs an 18-bit address on A[17:0] to memory
internal oscillator, which is the source for CCLK in and reads 1 byte of configuration data on the rising
some configuration modes. The nominal frequencies of edge of RCLK. The parallel bytes are internally serial-
the internal oscillator are 1.25 MHz and 10 MHz. The ized starting with the least significant bit, D0. D[7:0] of
1.25 MHz frequency is selected when the M3 input is the FPGA can be connected to D[7:0] of the micropro-
unconnected or driven to a high state. cessor only if a standard prom file format is used. If a
.bit or .rbt file is used from ORCA Foundry, then the
There are three basic FPGA configuration modes: user must mirror the bytes in the .bit or .rbt file OR
master, slave, and peripheral. The configuration data leave the .bit or .rbt file unchanged and connect D[7:0]
can be transmitted to the FPGA serially or in parallel of the FPGA to D[0:7] of the microprocessor.
bytes. As a master, the FPGA provides the control sig-
nals out to strobe data in. As a slave device, a clock is
generated externally and provided into the CCLK input. DOUT TO DAISY-
CHAINED
In the three peripheral modes, the FPGA acts as a A[17:0] A[17:0] CCLK DEVICES
microprocessor peripheral. Table 34 lists the functions
of the configuration mode pins. Note that two configura-
tion modes previously available on the OR2Cxx and D[7:0] D[7:0]
OR2C/TxxA devices (master parallel down and syn- ORCA
EPROM SERIES
chronous peripheral) have been removed for Series 3
FPGA
devices. OE DONE
CE
92 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
FPGA Configuration Modes (continued) configuration, the high on the FPGA's DONE disables
the serial ROM.
Master Serial Mode Serial ROMs can also be cascaded to support the con-
figuration of multiple FPGAs or to load a single FPGA
In the master serial mode, the FPGA loads the configu- when configuration data requirements exceed the
ration data from an external serial ROM. The configura- capacity of a single serial ROM. After the last bit from
tion data is either loaded automatically at start-up or on the first serial ROM is read, the serial ROM outputs
a PRGM command to reconfigure. The ATT1700A CEO low and 3-states the DATA output. The next serial
Series Serial PROMs can be used to configure the ROM recognizes the low on CE input and outputs con-
FPGA in the master serial mode. This provides a sim- figuration data on the DATA output. After configuration
ple 4-pin interface in a compact package. is complete, the FPGA’s DONE output into CE disables
Configuration in the master serial mode can be done at the serial ROMs.
powerup and/or upon a configure command. The sys- This FPGA/serial ROM interface is not used in applica-
tem or the FPGA must activate the serial ROM's tions in which a serial ROM stores multiple configura-
RESET/OE and CE inputs. At powerup, the FPGA and tion programs. In these applications, the next
serial ROM each contain internal power-on reset cir- configuration program to be loaded is stored at the
cuitry that allows the FPGA to be configured without ROM location that follows the last address for the previ-
the system providing an external signal. The power-on ous configuration program. The reason the interface in
reset circuitry causes the serial ROM's internal address Figure 55 will not work in this application is that the low
pointer to be reset. After powerup, the FPGA automati- output on the INIT signal would reset the serial ROM
cally enters its initialization phase. address pointer, causing the first configuration to be
The serial ROM/FPGA interface used depends on such reloaded.
factors as the availability of a system reset pulse, avail- In some applications, there can be contention on the
ability of an intelligent host to generate a configure FPGA's DIN pin. During configuration, DIN receives
command, whether a single serial ROM is used or mul- configuration data, and after configuration, it is a user
tiple serial ROMs are cascaded, whether the serial I/O. If there is contention, an early DONE at start-up
ROM contains a single or multiple configuration pro- (selected in ORCA Foundry) may correct the problem.
grams, etc. Because of differing system requirements An alternative is to use LDC to drive the serial ROM's
and capabilities, a single FPGA/serial ROM interface is CE pin. In order to reduce noise, it is generally better to
generally not appropriate for all applications. run the master serial configuration at 1.25 MHz (M3 pin
Data is read in the FPGA sequentially from the serial tied high), rather than 10 MHz, if possible.
ROM. The DATA output from the serial ROM is con-
nected directly into the DIN input of the FPGA. The
TO DAISY-
CCLK output from the FPGA is connected to the CLK CHAINED
input of the serial ROM. During the configuration pro- DATA DIN DOUT DEVICES
cess, CCLK clocks one data bit on each rising edge. CLK CCLK
Since the data and clock are direct connects, the ATT1700A
FPGA/serial ROM design task is to use the system or CE DONE
RESET/OE INIT
FPGA to enable the RESET/OE and CE of the serial
ROM(s). There are several methods for enabling the CEO ORCA
SERIES
serial ROM’s RESET/OE and CE inputs. The serial
DATA
FPGA
ROM’s RESET/OE is programmable to function with
RESET active-high and OE active-low or RESET active- CLK
Lattice Semiconductor 93
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
during the configuration cycle. Each byte of data is writ- VDD M2 HDC
ten into the FPGA’s D[7:0] input pins. D[7:0] of the M1
M0 LDC
FPGA can be connected to D[7:0] of the microproces-
sor only if a standard prom file format is used. If a .bit
or .rbt file is used from ORCA Foundry, then the user Figure 56. Asynchronous Peripheral Configuration
must mirror the bytes in the .bit or .rbt file OR leave the
.bit or .rbt file unchanged and connect D[7:0] of the
FPGA to D[0:7] of the microprocessor. Microprocessor Interface (MPI) Mode
The FPGA provides an RDY/BUSY status output to indi-
The built-in MPI in Series 3 FPGAs is designed for use
cate that another byte can be loaded. A low on RDY/
in configuring the FPGA. Figure 57 and Figure 58 show
BUSY indicates that the double-buffered hold/shift reg-
the glueless interface for FPGA configuration and read-
isters are not ready to receive data, and this pin must
back from the PowerPC and i960 processors, respec-
be monitored to go high before another byte of data
tively. When enabled by the mode pins, the MPI
can be written. The shortest time RDY/BUSY is low
handles all configuration/readback control and hand-
occurs when a byte is loaded into the hold register and
shaking with the host processor. For single FPGA con-
the shift register is empty, in which case the byte is
figuration, the host sets the configuration control
immediately transferred to the shift register. The long-
register PRGM bit to zero then back to a one and, after
est time for RDY/BUSY to remain low occurs when a
reading that the INIT signal is high in the MPI status
byte is loaded into the holding register and the shift
register, transfers data 8 bits at a time to the FPGA’s
register has just started shifting configuration data into
D[7:0] input pins.
configuration RAM.
If configuring multiple FPGAs through daisy-chain
The RDY/BUSY status is also available on the D7 pin by
operation is desired, the MP_DAISY bit must be set in
enabling the chip selects, setting WR high, and apply-
the configuration control register of the MPI. Because
ing RD low, where the RD input provides an output
of the latency involved in a daisy-chain configuration,
enable for the D7 pin when RD is low. The D[6:0] pins
the MP_HOLD_BUS bit may be set to zero rather than
are not enabled to drive when RD is low and, therefore,
one for daisy-chain operation. This allows the MPI to
only act as input pins in asynchronous peripheral
acknowledge the data transfer before the configuration
mode. Optionally, the user can ignore the RDY/BUSY
information has been serialized and transferred on the
status and simply wait until the maximum time it would
FPGA daisy-chain. The early acknowledgment frees
take for the RDY/BUSY line to go high, indicating the
the host processor to perform other system tasks. Con-
FPGA is ready for more data, before writing the next
figuring with the MP_HOLD_BUS bit at zero requires
data byte.
that the host microprocessor poll the RDY/BUSY bit of
the MPI status register and/or use the MPI interrupt
capability to confirm the readiness of the MPI for more
configuration data.
94 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
FPGA Configuration Modes (continued) Configuration readback can also be performed via the
MPI when it is in user mode. The MPI is enabled in user
There are two options for using the host interrupt mode by setting the MP_USER bit to 1 in the configura-
request in configuration mode. The configuration con- tion control register prior to the start of configuration or
trol register offers control bits to enable the interrupt on through a configuration option. To perform readback,
either a bit stream error or to notify the host processor the host processor writes the 14-bit readback start
when the FPGA is ready for more configuration data. address to the readback address registers and sets the
The MPI status register may be used in conjunction RD_CFG bit to 0 in the configuration control register.
with, or in place of, the interrupt request options. The Readback data is returned 8 bits at a time to the read-
status register contains a 2-bit field to indicate the bit back data register and is valid when the DATA_RDY bit
stream error status. As previously mentioned, there is of the status register is 1. There is no error checking
also a bit to indicate the MPI’s readiness to receive during readback. A flow chart of the MPI readback
another byte of configuration data. A flow chart of the operation is shown in Figure 60. The RD_DATA pin
MPI configuration process is shown in Figure 59. The used for dedicated FPGA readback is invalid during
MPI status and configuration register bit maps can be MPI readback.
found in the Special Function Blocks section and MPI
configuration timing information is available in the Tim-
ing Characteristics section of this data sheet.
POWER ON WITH
DOUT TO DAISY- VALID M[3:0]
CHAINED
CCLK DEVICES
8
D[7:0] D[7:0]
A[27:31] A[4:0] WRITE CONFIGURATION
CLKOUT MPI_CLK CONTROL REGISTER BITS
RD/WR MPI_RW
ORCA
POWERPC TA MPI_ACK
SERIES 3
BI MPI_BI FPGA
READ STATUS REGISTER
IRQx MPI_IRQ
TS MPI_STRB
A26 CS0 DONE NO
A25 CS1 INIT INIT = 1?
HDC
LDC
YES
5-5761(F)
Note: FPGA shown as a memory-mapped peripheral using CS0 and READ STATUS REGISTER
CS1. Other decoding schemes are possible using CS0 and/or
CS1.
YES
DONE DONE = 1?
Figure 57. PowerPC/MPI Configuration Schematic
NO
i960 SYSTEM CLOCK
YES
ERROR BIT STREAM ERROR?
8 DOUT TO DAISY-
AD[7:0] D[7:0] CHAINED
CCLK DEVICES
CLKIN MPI_CLK
W/R MPI_RW
NO
RDYRCV MPI_ACK
XINTx MPI_IRQ
ORCA
NO
ALE MPI_ALE SERIES 3 DATA_RDY = 1?
i960
ADS MPI_STRB FPGA
BE0 MPI_BE0
BE1 MPI_BE1 YES
VDD DONE
INIT WRITE DATA TO
CS1
HDC CONFIGURATION DATA REG
CS0
LDC
5-5762(F)
5-5763(F)
Note: FPGA shown as only system peripheral with fixed chip select
signals. For multiperipheral systems, address decoding and/or Figure 59. Configuration Through MPI
latching can be used to implement chip selects.
ENABLE MICROPROCESSOR
INTERFACE IN USER MODE
WRITE RD_CFG TO 0
IN CONTROL REGISTER 1
NO
DATA_RDY = 1?
YES
NO
ERROR DATA = 0xFF?
YES
NO
ERROR DATA = 0xFF?
YES
NO START OF FRAME
ERROR
FOUND?
YES
WRITE RD_CFG
TO 1 IN YES FINISHED NO
STOP READBACK?
CONTROL
REGISTER 1
5-5764(F)
96 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
5-4487(F)
Lattice Semiconductor 97
Data Sheet
ispORCA Series 3C and 3T FPGAs March 2002
FPGA Configuration Modes (continued) The loading of configuration data continues after the
lead device has received its configuration data if its
Daisy-Chaining internal frame bit counter has not reached the length
count. When the configuration RAM is full and the num-
Multiple FPGAs can be configured by using a daisy- ber of bits received is less than the length count field,
chain of the FPGAs. Daisy-chaining uses a lead FPGA the FPGA shifts any additional data out on DOUT.
and one or more FPGAs configured in slave serial The configuration data is read into DIN of slave devices
mode. The lead FPGA can be configured in any mode on the positive edge of CCLK, and shifted out DOUT
except slave parallel mode. (Daisy-chaining is available on the negative edge of CCLK. Figure 63 shows the
with the boundary-scan ram_w instruction discussed connections for loading multiple FPGAs in a daisy-
later.) chain configuration.
All daisy-chained FPGAs are connected in series. The generation of CCLK for the daisy-chained devices
Each FPGA reads and shifts the preamble and length that are in slave serial mode differs depending on the
count in on positive CCLK and out on negative CCLK configuration mode of the lead device. A master paral-
edges. lel mode device uses its internal timing generator to
An upstream FPGA that has received the preamble produce an internal CCLK at eight times its memory
and length count outputs a high on DOUT until it has address rate (RCLK). The asynchronous peripheral
received the appropriate number of data frames so that mode device outputs eight CCLKs for each write cycle.
downstream FPGAs do not receive frame start bit If the lead device is configured in slave mode, CCLK
pairs. After loading and retransmitting the preamble must be routed to the lead device and to all of the
and length count to a daisy-chain of slave devices, the daisy-chained devices.
lead device loads its configuration data frames.
5-4488(F
As seen in Figure 63, the INIT pins for all of the FPGAs are connected together. This is required to guarantee that
powerup and initialization will work correctly. In general, the DONE pins for all of the FPGAs are also connected
together as shown to guarantee that all of the FPGAs enter the start-up state simultaneously. This may not be
required, depending upon the start-up sequence desired.
98 Lattice Semiconductor
Data Sheet
March 2002 ispORCA Series 3C and 3T FPGAs
Lattice Semiconductor 99
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
OR3Cxx OR3Txxx
Mode Temperature Temperature
Supply Voltage Supply Voltage
Range Range
(VDD) (VDD)
(Ambient) (Ambient)
Commercial 0 °C to 70 °C 5 V ± 5% 0 °C to 70 °C 3.0 V to 3.6 V
Industrial –40 °C to +85 °C 5 V ± 10% –40 °C to +85 °C 3.0 V to 3.6 V
Note: The maximum recommended junction temperature (TJ) during operation is 125 °C.
Electrical Characteristics
Table 37. Electrical Characteristics
OR3Cxx Commercial: VDD = 5.0 V ± 5%, 0 °C < TA < 70 °C; Industrial: VDD = 5.0 V ± 10%, –40 °C < TA < +85 °C.
OR3Txxx Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; Industrial: VDD = 3.0 V to 3.6 V, –40 °C < TA < +85 °C.
OR3Cxx OR3Txxx
Parameter Symbol Test Conditions Unit
Min Max Min Max
DONE Pull-up RDONE — 100 — 100 — kΩ
Resistor*
M[3:0] Pull-up RM — 100 — 100 — kΩ
Resistors*
I/O Pad Static Pull-up IPU OR3Cxx (VDD = 5.25 V, 14.4 50.9 14.4 50.9 µA
Current* VIN = VSS, TA = 0 °C)
OR3Txxx (VDD = 3.6 V,
VIN = VSS, TA = 0 °C)
I/O Pad Static IPD OR3Cxx (VDD = 5.25 V, 26 103 26 103 µA
Pull-down Current VIN = VSS, TA = 0 °C)
OR3Txxx (VDD = 3.6 V,
VIN = VSS, TA = 0 °C)
I/O Pad Pull-up RPU VDD = all, VIN = VSS, TA = 0 °C 100 — 100 — kΩ
Resistor*
I/O Pad Pull-down RPD VDD = all, VIN = VDD, TA = 0 °C 50 — 50 — kΩ
Resistor
* On the OR3Txxx devices, the pull-up resistor will externally pull the pin to a level 1.0 V below VDD.
Note: For 3T devices driven to 5 V.
Timing Characteristics (continued) The waveform test points are given in the Input/Output
Buffer Measurement Conditions section of this data
In addition to supply voltage, process variation, and sheet. The timing parameters given in the electrical
operating temperature, circuit and process improve- characteristics tables in this data sheet follow industry
ments of the ORCA Series FPGAs over time will result practices, and the values they reflect are described
in significant improvement of the actual performance below.
over those listed for a speed grade. Even though lower Propagation Delay—The time between the specified
speed grades may still be available, the distribution of reference points. The delays provided are the worst
yield to timing parameters may be several speed case of the tphh and tpll delays for noninverting func-
grades higher than that designated on a product brand. tions, tplh and tphl for inverting functions, and tphz and
Design practices need to consider best-case timing tplz for 3-state enable.
parameters (e.g., delays = 0), as well as worst-case
timing. Setup Time—The interval immediately preceding the
transition of a clock or latch enable signal, during which
The routing delays are a function of fan-out and the the data must be stable to ensure it is recognized as
capacitance associated with the CIPs and metal inter- the intended value.
connect in the path. The number of logic elements that
can be driven (fan-out) by PFUs is unlimited, although Hold Time—The interval immediately following the
the delay to reach a valid logic level can exceed timing transition of a clock or latch enable signal, during which
requirements. It is difficult to make accurate routing the data must be held stable to ensure it is recognized
delay estimates prior to design compilation based on as the intended value.
fan-out. This is because the CAE software may delete 3-State Enable—The time from when a 3-state control
redundant logic inserted by the designer to reduce fan- signal becomes active and the output pad reaches the
out, and/or it may also automatically reduce fan-out by high-impedance state.
net splitting.
PFU Timing
Table 41. Combinatorial PFU Timing Characteristics
OR3Cxx Commercial: VDD = 5.0 V ± 5%, 0 °C < TA < 70 °C; Industrial: VDD = 5.0 V ± 10%, –40 °C < TA < +85 °C.
OR3Txxx Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; Industrial: VDD = 3.0 V to 3.6 V, –40 °C < TA < +85 °C.
Speed
Parameter Symbol -4 -5 -6 -7 Unit
Min Max Min Max Min Max Min Max
Combinatorial Delays (TJ = +85 °C, VDD = min):
Four-input Variables (Kz[3:0] to F[z])* F4_DEL — 2.34 — 1.80 — 1.32 — 1.05 ns
Five-input Variables (F5[A:D] to F[0, 2, 4, 6]) F5_DEL — 2.11 — 1.57 — 1.23 — 0.99 ns
Two-level LUT Delay (Kz[3:0] to F w/feedbk)* SWL2_DEL — 4.87 — 3.66 — 2.58 — 2.03 ns
Two-level LUT Delay (F5[A:D] to F w/feedbk) SWL2F5_DEL — 4.69 — 3.51 — 2.48 — 1.94 ns
Three-level LUT Delay (Kz[3:0] to F w/feedbk)* SWL3_DEL — 6.93 — 5.15 — 3.63 — 2.82 ns
Three-level LUT Delay (F5[A:D] to F w/feedbk) SWL3F5_DEL — 6.89 — 5.08 — 3.54 — 2.75 ns
CIN to COUT Delay (logic mode) CO_DEL — 3.47 — 2.65 — 1.79 — 1.43 ns
* Four-input variables’ (KZ[3:0]) path delays are valid for LUTs in both F4 (four-input LUT) and F5 (five-input LUT) modes.
FDBK–DEL
PFU
F4_DEL 8 F[7:0]
KZ[3:0] LUT
F[6, 4,
F5–DEL 4 2, 0]
KZ[3:0], F5[A:D] LUT
F4_DEL/ F[7:0]
F5_DEL
LUT
F4_DEL/
KZ[3:0]
LUT
SWL2_DEL
F4_DEL/ F[7:0]
F5_DEL
LUT
OMUX_DEL O[9:0]
F4_DEL/
F5_DEL
LUT
F4_DEL/
KZ[3:0]
LUT
SWL3_DEL
F4_DEL/ F[7:0]
F5_DEL
LUT
F4_DEL/
F5[A:D] F5_DEL
LUT
SWL2F5_DEL
F4_DEL/ F[7:0]
F5_DEL
LUT
F4_DEL/
F5_DEL
LUT
F4_DEL/
F5[A:D] F5_DEL
LUT
SWL3F5_DEL
Speed
Parameter Symbol -4 -5 -6 -7 Unit
* Four-input variables’ (KZ[3:0]) setup times are valid for LUTs in both F4 (four-input LUT) and F5 (five-input LUT) modes.
Note: The table shows worst-case delays. ORCA Foundry reports the delays for individual paths within a group of paths representing the same
timing parameter and may accurately report delays that are less than those listed.
Speed
Parameter
Symbol -4 -5 -6 -7 Unit
(TJ = +85 °C, VDD = min)
Min Max Min Max Min Max Min Max
Full Ripple Setup Times (byte wide):
Operands to Clock (Kz[1:0] to CLK) RIP_SET 3.50 — 2.50 — 1.96 — 1.48 — ns
Bitwise Operands to Clock (Kz[1:0] to CLK at F[z]) FRIP_SET 1.99 — 1.47 — 1.08 — 0.85 — ns
Fast Carry-in to Clock (FCIN to CLK) FCIN_SET 2.55 — 1.87 — 1.34 — 1.04 — ns
Carry-in to Clock (CIN to CLK) CIN_SET 3.80 — 2.79 — 1.97 — 1.56 — ns
Add/Subtract to Clock (ASWE to CLK) AS_SET 8.82 — 6.18 — 4.68 — 3.50 — ns
Operands to Clock (Kz[1:0] to CLK at REGCOUT) RIPRC_SET 2.09 — 1.61 — 1.19 — 0.93 — ns
Fast Carry-in to Clock (FCIN to CLK at REGCOUT) FCINRC_SET 2.29 — 1.76 — 1.28 — 1.02 — ns
Carry-in to Clock (CIN to CLK at REGCOUT) CINRC_SET 3.09 — 2.36 — 1.73 — 1.35 — ns
Add/Subtract to Clock (ASWE to CLK at REGCOUT) ASRC_SET 8.14 — 5.73 — 4.54 — 3.39 — ns
Full Ripple Hold Times (TJ = all, VDD = all):
Fast Carry-in from Clock (FCIN from CLK at REG- FCINRC_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
COUT)
All Others GENERIC_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
Half Ripple Setup Times (nibble wide):
Operands to Clock (Kz[1:0] to CLK) HRIP_SET 3.91 — 2.81 — 2.21 — 1.66 — ns
Bitwise Operands to Clock (Kz[1:0] to CLK at F[z]) HFRIP_SET 1.99 — 1.47 — 1.08 — 0.85 — ns
Fast Carry-in to Clock (FCIN to CLK) HFCIN_SET 2.55 — 1.87 — 1.34 — 1.04 — ns
Carry-in to Clock (CIN to CLK) HCIN_SET 3.80 — 2.79 — 1.97 — 1.56 — ns
Add/Subtract to Clock (ASWE to CLK) HAS_SET 8.82 — 6.18 — 4.68 — 3.50 — ns
Operands to Clock (Kz[1:0] to CLK at REGCOUT) HRIPRC_SET 3.03 — 2.31 — 1.68 — 1.32 — ns
Fast Carry-in to Clock (FCIN to CLK at REGCOUT) HFCINRC_SET 2.29 — 1.76 — 1.28 — 1.02 — ns
Carry-in to Clock (CIN to CLK at REGCOUT) HCINRC_SET 3.09 — 2.36 — 1.73 — 1.35 — ns
Add/Subtract to Clock (ASWE to CLK at REGCOUT) HASRC_SET 8.14 — 5.73 — 4.54 — 3.39 — ns
Half Ripple Hold Times (TJ = all, VDD = all):
Fast Carry-in from Clock (HFCIN from CLK at REG- HFCINRC_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
COUT)
All Others GENERIC_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
Note: The table shows worst-case delay for the ripple chain. ORCA Foundry reports the delay for individual paths within the ripple chain that
will be less than or equal to those listed above.
Speed
Parameter
Symbol -4 -5 -6 -7 Unit
(TJ = +85 °C, VDD = min)
Min Max Min Max Min Max Min Max
Full Ripple Delays (byte wide):
Operands to Carry-out (Kz[1:0] to COUT) RIPCO_DEL — 5.32 — 4.11 — 2.98 — 2.32 ns
Operands to Carry-out (Kz[1:0] to FCOUT) RIPFCO_DEL — 5.30 — 4.10 — 2.98 — 2.32 ns
Operands to PFU Out (Kz[1:0] to F[7:0]) RIP_DEL — 7.37 — 5.60 — 4.18 — 3.10 ns
Bitwise Operands to PFU Out (Kz[1:0] to F[z]) FRIP_DEL — 2.34 — 1.80 — 1.32 — 1.05 ns
Fast Carry-in to Carry-out (FCIN to COUT) FCINCO_DEL — 2.59 — 1.99 — 1.43 — 1.14 ns
Fast Carry-in to Fast Carry-out (FCIN to FCOUT) FCINFCO_DEL — 2.57 — 1.98 — 1.41 — 1.13 ns
Carry-in to Carry-out (CIN to COUT) CINCO_DEL — 3.47 — 2.65 — 1.79 — 1.43 ns
Carry-in to Fast Carry-out (CIN to FCOUT) CINFCO_DEL — 3.46 — 2.64 — 1.78 — 1.43 ns
Fast Carry-in PFU Out (FCIN to F[7:0]) FCIN_DEL — 6.03 — 4.55 — 3.21 — 2.51 ns
Carry-in PFU Out (CIN to F[7:0]) CIN_DEL — 6.91 — 5.21 — 3.53 — 3.05 ns
Add/Subtract to Carry-out (ASWE to COUT) ASCO_DEL — 8.28 — 5.89 — 4.58 — 3.45 ns
Add/Subtract to Carry-out (ASWE to FCOUT) ASFCO_DEL — 8.11 — 5.78 — 4.48 — 3.38 ns
Add/Subtract to PFU Out (ASWE to F[7:0]) AS_DEL — 10.66 — 7.55 — 5.85 — 4.38 ns
Half Ripple Delays (nibble wide):
Operands to Carry-out (Kz[1:0] to COUT) HRIPCO_DEL — 5.32 — 4.11 — 2.98 — 2.32 ns
Operands to Fast Carry-out (Kz[1:0] to FCOUT) HRIPFCO_DEL — 5.30 — 4.10 — 2.98 — 2.32 ns
Operands to PFU Out (Kz[1:0] to F[3:0]) HRIP_DEL — 5.50 — 4.07 — 3.20 — 2.40 ns
Bitwise Operands to PFU Out (Kz[1:0] to F[z]) HFRIP_DEL — 2.34 — 1.80 — 1.32 — 1.05 ns
Fast Carry-in to Carry-out (FCIN to COUT) HFCINCO_DEL — 2.59 — 1.99 — 1.43 — 1.14 ns
Fast Carry-in to Fast Carry-out (FCIN to FCOUT) HFCINFCO_DEL — 2.57 — 1.98 — 1.41 — 1.13 ns
Carry-in to Carry-out (CIN to COUT) HCINCO_DEL — 3.47 — 2.65 — 1.79 — 1.43 ns
Carry-in to Carry-out (CIN to FCOUT) HCINFCO_DEL — 3.46 — 2.64 — 1.78 — 1.43 ns
Fast Carry-in PFU Out (FCIN to F[3:0]) HFCIN_DEL — 3.76 — 2.84 — 2.01 — 1.58 ns
Carry-in PFU Out (CIN to F[3:0]) HCIN_DEL — 4.65 — 3.50 — 2.33 — 2.12 ns
Add/Subtract to Carry-out (ASWE to COUT) HASCO_DEL — 8.28 — 5.89 — 4.58 — 3.45 ns
Add/Subtract to Carry-out (ASWE to FCOUT) HASFCO_DEL — 8.11 — 5.78 — 4.48 — 3.38 ns
Add/Subtract to PFU Out (ASWE to F[3:0]) HAS_DEL — 9.12 — 6.49 — 4.86 — 3.69 ns
Note: The table shows worst-case delay for the ripple chain. ORCA Foundry reports the delay for individual paths within the ripple chain that will
be less than or equal to those listed above.
Speed
Parameter Symbol -4 -5 -6 -7 Unit
Min Max Min Max Min Max Min Max
Write Operation for RAM Mode:
Maximum Frequency SMCLK_FRQ — 151.00 — 197.00 — 254.00 — 315.00 MHz
Clock Low Time SMCLKL_MPW 2.34 — 1.80 — 1.32 — 1.05 ns
Clock High Time SMCLKH_MPW 3.79 — 2.77 — 2.13 — 1.62 ns
Clock to Data Valid (CLK to F[6, 4, 2, 0])* MEM_DEL — 10.00 — 7.14 — 5.00 — 4.08 ns
Write Operation Setup Time:
Address to Clock (CIN to CLK) WA4_SET 1.25 — 0.99 — 0.71 — 0.58 — ns
Address to Clock (DIN[7, 5, 3, 1] to CLK) WA_SET 0.72 — 0.52 — 0.35 — 0.28 — ns
Data to Clock (DIN[6, 4, 2, 0] to CLK) WD_SET 0.02 — 0.06 — 0.00 — 0.00 — ns
Write Enable (WREN) to Clock (ASWE to CLK) WE_SET 0.18 — 0.16 — 0.14 — 0.12 — ns
Write-port Enable 0 (WPE0) to Clock (CE to WPE0_SET 2.25 — 1.69 — 1.16 — 0.84 — ns
CLK)
Write-port Enable 1 (WPE1) to Clock (LSR to WPE1_SET 2.79 — 2.13 — 1.58 — 1.31 — ns
CLK)
Write Operation Hold Time:
Address from Clock (CIN from CLK) WA4_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
Address from Clock (DIN[7, 5, 3, 1] from CLK) WA_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
Data from Clock (DIN[6, 4, 2, 0] from CLK) WD_HLD 0.59 — 0.42 — 0.40 — 0.32 — ns
Write Enable (WREN) from Clock (ASWE from WE_HLD 0.03 — 0.00 — 0.08 — 0.06 — ns
CLK)
Write-port Enable 0 (WPE0) from Clock (CE WPE0_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
from CLK)
Write-port Enable 1 (WPE1) from Clock (LSR WPE1_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
from CLK)
* The RAM is written on the inactive clock edge following the active edge that latches the address, data, and control signals.
Note: The table shows worst-case delays. ORCA Foundry reports the delays for individual paths within a group of paths representing the same
timing parameter and may accurately report delays that are less than those listed.
WA4_SET WA4_HLD
WA_SET WA_HLD
CIN, DIN[7, 5, 3, 1]
WD_SET WD_HLD
DIN[6, 4, 2, 0]
WE_SET WE_HLD
ASWE (WREN)
WPE0_SET WPE0_HLD
WPE1_SET WPE1_HLD
CE (WPE0),
LSR (WPE1)
TSCH TSCL
CK
MEM_DEL
F[6, 4, 2, 0]
5-4621(F)
Speed
Parameter Unit
Symbol -4 -5 -6 -7
(TJ = 85 °C, VDD = min)
Min Max Min Max Min Max Min Max
Read Operation:
Data Valid After Address (Kz[3:0] to F[6, 4, 2, 0]) RA_DEL — 2.34 — 1.80 — 1.32 — 1.05 ns
Data Valid After Address (F5[A:D] to F[6, 4, 2, 0]) RA4_DEL — 2.11 — 1.57 — 1.23 — 0.99 ns
Read Operation, Clocking Data into Latch/FF:
Address to Clock Setup Time (Kz[3:0] to CLK) RA_SET 1.99 — 1.47 — 1.08 — 0.85 — ns
Address to Clock Setup Time (F5[A:D] to CLK) RA4_SET 1.79 — 1.33 — 1.03 — 0.81 — ns
Address from Clock Hold Time (Kz[3:0] from CLK) RA_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
Address from Clock Hold Time (F5[A:D] from CLK) RA4_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
Clock to PFU Output—Register (CLK to Q[6, 4, 2, 0]) REG_DEL — 2.38 — 1.75 — 1.26 — 0.97 ns
Read Cycle Delay SMRD_CYC — 10.48 — 7.66 — 7.53 — 5.78 ns
Note: The table shows worst-case delays. ORCA Foundry reports the delays for individual paths within a group of paths representing the same
timing parameter and may accurately report delays that are less than those listed.
Kz[3:0], F5[A:D]
RA_DEL
RA4_DEL
F[6, 4, 2, 0]
RA_HLD
RA_SET RA4_HLD
RA4_SET
CLK
REG_DEL
SMRD_CYC
Q[3:0]
5-4622(F)
PLC Timing
Table 46. PFU Output MUX and Direct Routing Timing Characteristics
OR3Cxx Commercial: VDD = 5.0 V ± 5%, 0 °C < TA < 70 °C; Industrial: VDD = 5.0 V ± 10%, –40 °C < TA < +85 °C.
OR3Txxx Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; Industrial: VDD = 3.0 V to 3.6 V, –40 °C < TA < +85 °C.
Speed
Parameter Unit
Symbol -4 -5 -6 -7
(TJ = 85 °C, VDD = min)
Min Max Min Max Min Max Min Max
PFU Output MUX (Fan-out = 1)
Output MUX Delay (F[7:0]/Q[7:0] to O[9:0]) OMUX_DEL — 0.50 — 0.39 — 0.35 — 0.28 ns
Carry-out MUX Delay (COUT to O9) COO9_DEL — 0.34 — 0.26 — 0.24 — 0.18 ns
Registered Carry-out MUX Delay (REGCOUT RCOO8_DEL — 0.34 — 0.26 — 0.24 — 0.18 ns
to O8)
Direct Routing
PFU Feedback (xSW)* FDBK_DEL — 1.74 — 1.41 — 1.48 — 1.14 ns
PFU to Orthogonal PFU Delay (xSW to xSW) ODIR_DEL — 2.21 — 1.77 — 1.75 — 1.39 ns
PFU to Diagonal PFU Delay (xBID to xSW) DDIR_DEL — 2.69 — 2.19 — 2.53 — 1.98 ns
* This is general feedback using switching segments. See the combinatorial PFU timing table for softwired look-up table feedback timing.
SLIC Timing
Table 47. Supplemental Logic and Interconnect Cell (SLIC) Timing Characteristics
OR3Cxx Commercial: VDD = 5.0 V ± 5%, 0 °C < TA < 70 °C; Industrial: VDD = 5.0 V ± 10%, –40 °C < TA < +85 °C.
OR3Txxx Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; Industrial: VDD = 3.0 V to 3.6 V, –40 °C < TA < +85 °C.
Speed
Parameter Unit
Symbol -4 -5 -6 -7
(TJ = 85 °C, VDD = min)
Min Max Min Max Min Max Min Max
3-Statable BIDIs
BIDI Delay (BRx to BLx, BLx to BRx) BUF_DEL — 0.84 — 0.70 — 0.94 — 0.77 ns
BIDI Delay (Ox to BRx, Ox to BLx) OBUF_DEL — 0.72 — 0.61 — 0.87 — 0.70 ns
BIDI 3-state Enable/Disable Delay (TRI to BL, BR) TRI_DEL — 2.55 — 1.90 — 1.31 — 1.01 ns
BIDI 3-state Enable/Disable Delay DECTRI_DEL — 3.59 — 2.65 — 1.91 — 1.48 ns
(BL, BR via DEC, TRI to BL, BR)
Decoder
Decoder Delay (BR[9:8], BL[9:8] to DEC) DEC98_DEL — 2.39 — 1.85 — 1.27 — 1.02 ns
Decoder Delay (BR[7:0], BL[7:0] to DEC) DEC_DEL — 2.35 — 1.82 — 1.23 — 0.99 ns
PIO Timing
Table 48. Programmable I/O (PIO) Timing Characteristics
OR3Cxx Commercial: VDD = 5.0 V ± 5%, 0 °C < TA < 70 °C; Industrial: VDD = 5.0 V ± 10%, –40 °C < TA < +85 °C.
OR3Txxx Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; Industrial: VDD = 3.0 V to 3.6 V, –40 °C < TA < +85 °C.
Speed
Parameter Symbol -4 -5 -6 -7 Unit
Min Max Min Max Min Max Min Max
Input Delays (TJ = 85 °C, VDD = min)
Input Rise Time IN_RIS — 500 — 500 — 500 — 500 ns
Input Fall Time IN_FAL — 500 — 500 — 500 — 500 ns
PIO Direct Delays:
Pad to In (pad to CLK IN) CKIN_DEL — 1.41 — 1.26 — 0.64 — 0.41 ns
Pad to In (pad to IN1, IN2) IN_DEL — 2.16 — 1.87 — 1.28 — 0.90 ns
Pad to In Delayed (pad to IN1, IN2) IND_DEL — 9.05 — 7.83 — 6.64 — 7.27 ns
PIO Transparent Latch Delays:
Pad to In (pad to IN1, IN2) LATCH_DEL — 4.11 — 3.25 — 2.52 — 1.82 ns
Pad to In Delayed (pad to IN1, IN2) LATCHD_DEL — 10.58 — 9.05 — 7.67 — 7.65 ns
Input Latch/FF Setup Timing:
Pad to ExpressCLK (fast-capture latch/FF) INREGE_SET 5.93 — 4.82 — 3.63 — 3.23 — ns
Pad Delayed to ExpressCLK INREGED_SET 12.86 — 11.03 — 9.18 — 9.68 — ns
(fast-capture latch/FF)
Pad to Clock (input latch/FF) INREG_SET 1.62 — 1.42 — 0.71 — 0.50 — ns
Pad Delayed to Clock (input latch/FF) INREGD_SET 8.57 — 7.36 — 5.91 — 7.06 — ns
Clock Enable to Clock (CE to CLK) INCE_SET 2.03 — 1.64 — 1.29 — 1.00 — ns
Local Set/Reset (sync) to Clock (LSR to CLK) INLSR_SET 1.79 — 1.45 — 1.14 — 0.89 — ns
Input FF/Latch Hold Timing:
Pad from ExpressCLK (fast-capture latch/FF) INREGE_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
Pad Delayed from ExpressCLK INREGED_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
(fast-capture latch/FF)
Pad from Clock (input latch/FF) INREG_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
Pad Delayed from Clock (input latch/FF) INREGD_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
Clock Enable from Clock (CE from CLK) INCE_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
Local Set/Reset (sync) from Clock INLSR_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
(LSR from CLK)
Clock-to-in Delay (FF CLK to IN1, IN2) INREG_DEL — 4.05 — 3.14 — 2.53 — 2.05 ns
Clock-to-in Delay (latch CLK to IN1, IN2) INLTCH_DEL — 4.08 — 3.19 — 2.62 — 2.14 ns
Local S/R (async) to IN (LSR to IN1, IN2) INLSR_DEL — 6.11 — 4.76 — 3.81 — 3.17 ns
Local S/R (async) to IN (LSR to IN1, IN2) INLSRL_DEL — 5.89 — 4.66 — 3.57 — 2.98 ns
LatchFF in Latch Mode
Global S/R to In (GSRN to IN1, IN2) INGSR_DEL — 5.38 — 4.22 — 3.44 — 2.88 ns
Note: The delays for all input buffers assume an input rise/fall time of <1 V/ns.
Speed
Parameter Symbol -4 -5 -6 -7 Unit
Min Max Min Max Min Max Min Max
Output Delays (TJ = 85 °C, VDD = min, CL = 50 pF)
Output to Pad (OUT2, OUT1 direct to pad):
Fast OUTF_DEL — 5.09 — 4.21 — 2.63 — 2.17 ns
Slewlim OUTSL_DEL — 7.86 — 6.49 — 3.49 — 2.91 ns
Sinklim OUTSI_DEL — 9.41 — 7.98 — 8.08 — 7.32 ns
3-state Enable/Disable Delay (TS to pad):
Fast TSF_DEL — 4.93 — 4.09 — 2.33 — 1.88 ns
Slewlim TSSL_DEL — 7.70 — 6.37 — 3.00 — 2.41 ns
Sinklim TSSI_DEL — 9.25 — 7.86 — 7.95 — 7.23 ns
Local Set/Reset (async) to Pad (LSR to pad):
Fast OUTLSRF_DEL — 9.03 — 7.25 — 4.96 — 3.94 ns
Slewlim OUTLSRSL_DEL — 11.79 — 9.53 — 5.82 — 4.67 ns
Sinklim OUTLSRSI_DEL — 13.35 — 11.02 — 10.38 — 9.10 ns
Global Set/Reset to Pad (GSRN to pad):
Fast OUTGSRF_DEL — 8.30 — 6.69 — 4.39 — 3.46 ns
Slewlim OUTGSRSL_DEL — 11.06 — 8.97 — 5.07 — 3.99 ns
Sinklim OUTGSRSI_DEL — 12.62 — 10.46 — 10.02 — 8.81 ns
Output FF Setup Timing:
Out to ExpressCLK (OUT[2:1] to ECLK) OUTE_SET 0.00 — 0.00 — 0.00 — 0.00 — ns
Out to Clock (OUT[2:1] to CLK) OUT_SET 0.00 — 0.00 — 0.00 — 0.00 — ns
Clock Enable to Clock (CE to CLK) OUTCE_SET 0.91 — 0.67 — 0.56 — 0.45 — ns
Local Set/Reset (sync) to Clock (LSR to CLK) OUTLSR_SET 0.41 — 0.32 — 0.26 — 0.24 — ns
Output FF Hold Timing:
Out from ExpressCLK (OUT[2:1] from ECLK) OUTE_HLD 0.73 — 0.58 — 0.36 — 0.29 — ns
Out from Clock (OUT[2:1] from CLK) OUT_HLD 0.73 — 0.58 — 0.36 — 0.29 — ns
Clock Enable from Clock (CE from CLK) OUTCE_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
Local Set/Reset (sync) from Clock (LSR from OUTLSR_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
CLK)
Clock to Pad Delay (ECLK, SCLK to pad):
Fast OUTREGF_DEL — 6.71 — 5.44 — 3.56 — 2.78 ns
Slewlim OUTREGSL_DEL — 9.47 — 7.71 — 4.42 — 3.52 ns
Sinklim OUTREGSI_DEL — 11.03 — 9.20 — 8.98 — 7.94 ns
Additional Delay If Using Open Drain OD_DEL — 0.20 — 0.16 — 0.10 — 0.08 ns
Note: The delays for all input buffers assume an input rise/fall time of <1 V/ns.
Speed
Parameter Symbol -4 -5 -6 -7 Unit
Min Max Min Max Min Max Min Max
PIO Logic Block Delays
Out to Pad (OUT[2:1] via logic to pad):
Fast OUTLF_DEL — 5.09 — 4.21 — 2.63 — 2.17 ns
Slewlim OUTLSL_DEL — 7.86 — 6.49 — 3.49 — 2.91 ns
Sinklim OUTLSI_DEL — 9.41 — 7.98 — 8.08 — 7.32 ns
Outreg to Pad (OUTREG via logic to pad):
Fast OUTRF_DEL — 6.71 — 5.44 — 3.56 — 2.78 ns
Slewlim OUTRSL_DEL — 9.47 — 7.71 — 4.42 — 3.52 ns
Sinklim OUTRSI_DEL — 11.03 — 9.20 — 8.98 — 7.94 ns
Clock to Pad (ECLK, CLK via logic to pad):
Fast OUTCF_DEL — 6.97 — 5.68 — 3.71 — 2.91 ns
Slewlim OUTCSL_DEL — 9.74 — 7.96 — 4.57 — 3.64 ns
Sinklim OUTCSI_DEL — 11.29 — 9.45 — 9.13 — 8.07 ns
3-State FF Delays
3-state Enable/Disable Delay (TS direct to
pad):
Fast TSF_DEL — 4.93 — 4.09 — 2.33 — 1.88 ns
Slewlim TSSL_DEL — 7.70 — 6.37 — 3.00 — 2.41 ns
Sinklim TSSI_DEL — 9.25 — 7.86 — 7.95 — 7.23 ns
Local Set/Reset (async) to Pad (LSR to
pad):
Fast TSLSRF_DEL — 8.25 — 6.65 — 4.24 — 3.39 ns
Slewlim TSLSRSL_DEL — 11.01 — 8.92 — 4.92 — 3.92 ns
Sinklim TSLSRSI_DEL — 12.57 — 10.41 — 9.87 — 8.74 ns
Global Set/Reset to Pad (GSRN to pad):
Fast TSGSRF_DEL — 7.52 — 6.09 — 3.88 — 3.11 ns
Slewlim TSGSRSL_DEL — 10.28 — 8.36 — 4.55 — 3.64 ns
Sinklim TSGSRSI_DEL — 11.84 — 9.85 — 9.51 — 8.45 ns
3-State FF Setup Timing:
TS to ExpressCLK (TS to ECLK) TSE_SET 0.00 — 0.00 — 0.00 — 0.00 — ns
TS to Clock (TS to CLK) TS_SET 0.00 — 0.00 — 0.00 — 0.00 — ns
Local Set/Reset (sync) to Clock (LSR to TSLSR_SET 0.28 — 0.21 — 0.17 — 0.18 — ns
CLK)
3-State FF Hold Timing:
TS from ExpressCLK (TS from ECLK) TSE_HLD 0.85 — 0.68 — 0.44 — 0.34 — ns
TS from Clock (TS from CLK) TS_HLD 0.85 — 0.68 — 0.44 — 0.34 — ns
Local Set/Reset (sync) from Clock TSLSR_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
(LSR from CLK)
Clock to Pad Delay (ECLK, SCLK to pad):
Fast TSREGF_DEL — 5.94 — 4.82 — 2.84 — 2.23 ns
Slewlim TSREGSL_DEL — 8.70 — 7.10 — 3.52 — 2.76 ns
Sinklim TSREGSI_DEL — 10.26 — 8.59 — 8.47 — 7.58 ns
Note: The delays for all input buffers assume an input rise/fall time of <1 V/ns.
Speed
Speed
Parameter Symbol –4 –5 –6 –7 Unit
Min Max Min Max Min Max Min Max
User Logic Delay(5) User Logic Delay — — — — — — — — ns
User Start Delay (MPI_CLK falling to USTART)(6) USTART_DEL — 3.6 — 3.4 — 3.3 — 2.8 ns
User Start Clear Delay (MPI_CLK to USTART) USTARTCLR_DEL — 7.5 — 7.3 — 7.1 — 6.0 ns
User End Delay (USTART low to UEND low)(7) UEND_DEL — — — — — — — — ns
Synchronous User Timing:
User End Setup (UEND to MPI_CLK) UEND_SET 0.00 — 0.00 — 0.00 — 0.00 — ns
User End Hold (UEND to MPI_CLK) UEND_HLD 1.0 — 0.95 — 0.88 — 0.75 — ns
Data Setup for Read (D[7:0] to MPI_CLK)(9) RDS_SET — — — — — — — — ns
Data Hold for Read (D[7:0] from MPI_CLK)(9) RDS_HLD — — — — — — — — ns
Asynchronous User Timing:
User End to Read Data Delay (UEND to RDA_DEL — — — — — — — — ns
D[7:0])(10)
Data Hold from User Start (low)(9) RDA_HLD — — — — — — — — ns
Interrupt Request Pulse Width(8) TUIRQ_PW — — — — — — — — ns
1. For user system flexibility, CS0 and CS1 may be set up to any one of the three rising clock edges, beginning with the rising clock edge when
MPI_STRB is low. If both chip selects are valid and the setup time is met, the MPI will latch the chip select state, and CS0 and CS1 may go
inactive before the end of the read/write cycle.
2. 0.5 MPI_CLK.
3. Write data and W/R have to be valid starting from the clock cycle after both ADS and CS0 and CS1 are recognized.
4. Write data and W/R have to be held until the microprocessor receives a valid RDYRCV.
5. User Logic Delay has no predefined value. The user must generate a UEND signal to complete the cycle.
6. USTART_DEL is based on the falling clock edge.
7. There is no specific time associated with this delay. The user must assert UEND low to complete this cycle.
8. The user must assert interrupt request low until a service routine is executed.
9. This should be at least one MPI_CLK cycle.
10. User should set up read data so that RDS_SET and RDS_HLD can be met for the microprocessor timing.
Notes:
Read and write descriptions are referenced to the host microprocessor; e.g., a read is a read by the host (PowerPC, i960) from the FPGA.
PowerPC and i960 timings to/from the clock are relative to the clock at the FPGA microprocessor interface clock pin (MPI_CLK).
UEND_SET RDS_HLD
CS_SET
CS_HLD
RW_SET
A_HLD
A_SET RW_HLD
RDS_SET
MPI_CLK
A[4:0]
MPI_RW (RD/WR)
CS0, CS1
RDA_DEL RDA_HLD
D[7:0]
MPI_STRB (TS)
UA_DEL
UA[3:0]
URDWR_DEL
URDWRN
USTART_DEL USTARTCLR_DEL
USTART
BI_DELZ
5-5832(F)
CS_SET WD_HLD
RW_SET UEND_SET CS_HLD
A_SET RW_HLD
A_HLD
MPI_CLK
A[4:0]
MPI_RW (RD/WR)
CS0, CS1
WD_SET
D[7:0]
MPI_STRB (TS)
UA_DEL
UA[3:0]
URDWR_DEL
URDWRN
USTART_DEL USTARTCLR_DEL
USTART
BI_DELZ
5-5840(F)
UEND_SET RDS_HLD
CS_SET
CS_HLD
RW_SET
A_HLD
A_SET RW_HLD
RDS_SET
MPI_CLK
A[4:0]
MPI_RW (RD/WR)
CS0, CS1
RDA_DEL RDA_HLD
D[7:0]
MPI_STRB (TS)
UA_DEL
UA[3:0]
URDWR_DEL
URDWRN
TA_DELZ
TA_DEL TA_DEL
MPI_ACK (TA)
BI_DEL BI_DEL
MPI_BI (BI)
BI_DELZ
5-5832(F).c
CS_SET WD_HLD
RW_SET CS_HLD
A_SET RW_HLD
A_HLD
MPI_CLK
A[4:0]
MPI_RW (RD/WR)
CS0, CS1
WD_SET
D[7:0]
MPI_STRB (TS)
UA_DEL
UA[3:0]
URDWR_DEL
URDWRN
TA_DELZ
TA_DEL TA_DEL
MPI_ACK (TA)
BI_DEL BI_DEL
MPI_BI (BI)
BI_DELZ
5-5840(F).e
MPI_CLK
RDA_DEL RDA_HLD
MPI_RW (W/R)
CS0, CS1
BE0, BE1
BE_SET
BE_HLD
MPI_ALE (ALE)
MPI_STRB (ADS)
UA_DEL
UA[3:0]
URDWR_DEL
URDWRN
USTART_DEL USTARTCLR_DEL
USTART
USER LOGIC DELAY UEND_DEL
UEND RDYRCV_DELZ
RDYRCV_DEL RDYRCV_DEL
MPI_ACK (RDYRCV)
5-5831(F).b
CS_SET
A_HLD
WD_HLD
A_SET ADSN_HLD
RW_HLD
ADSN_SET
RW_SET WD_SET UEND_SET CS_HLD
MPI_CLK
MPI_RW (W/R)
CS0, CS1
MPI_ALE (ALE)
MPI_STRB (ADS)
UA_DEL
UA[3:0]
URDWR_DEL
URDWRN
USTART_DEL USTARTCLR_DEL
USTART
USER LOGIC DELAY UEND_DEL
UEND
RDYRCV_DEL RDYRCV_DEL
MPI_ACK (RDYRCV)
RDYRCV_DELZ
5-5830(F).b
RW_SET CS_HLD
MPI_CLK
RDA_DEL RDA_HLD
MPI_RW (W/R)
CS0, CS1
BE0, BE1
BE_SET
BE_HLD
MPI_ALE (ALE)
MPI_STRB (ADS)
UA_DEL
UA[3:0]
URDWR_DEL
URDWRN
RDYRCV_DELZ
RDYRCV_DEL RDYRCV_DEL
MPI_ACK (RDYRCV)
5-5831(F).c
CS_SET
A_HLD
ADSN_SET RW_HLD
MPI_CLK
MPI_RW (W/R)
CS0, CS1
MPI_ALE (ALE)
MPI_STRB (ADS)
UA_DEL
UA[3:0]
URDWR_DEL
URDWRN
RDYRCV_DEL RDYRCV_DEL
MPI_ACK (RDYRCV)
RDYRCV_DELZ
5-5830(F).c
Speed
Parameter Symbol -4 -5 -6 -7 Unit
Min Max Min Max Min Max Min Max
Input Clock Frequency: FPCMI
OR3Cxx 5 133 5 133 — — — — MHz
OR3Txxx — — 5 133 5 133 5 133 MHz
Output Clock Frequency: FPCMO
OR3Cxx 5 135 5 135 — — — — MHz
OR3Txxx — — 5 100 5 100 5 100 MHz
Input Clock Duty Cycle PCMI_DUTY 30.00 70.00 30.00 70.00 30.00 70.00 30.00 70.00 %
Output Clock Duty Cycle PCMO_DUTY 3.13 96.90 3.13 96.90 3.13 96.90 3.13 96.90 %
Input Frequency Tolerance* FTOL — 26400 — 26400 — 26400 — 26400 ppm
PCM Acquisition Time (CLK In to PCM_ACQ† 36 100 36 100 36 100 36 100 µs
LOCK)
PCM Off Delay (config. Done-L, WE to PCMOFF_DEL — 100.0 — 100.0 — 100.0 — 100.0 ns
PCM power off)
PCM Delay in DLL Mode (propagation PCMDLL-DEL — 1.95 — 1.82 — 1.63 — 1.50 ns
delay)
PCM Delay in PLL Mode (propagation PCMPLL_DEL — 0.00 — 0.00 — 0.00 — 0.00 ns
delay)
PCM Clock In to PCM Clock Out PCMBYE_DEL — 0.47 — 0.36 — 0.26 — 0.24 ns
(CLK In to ECLK)‡
PCM Clock In to PCM Clock Out PCMBYS_DEL — 0.47 — 0.36 — 0.26 — 0.24 ns
(CLK In to SCLK)‡
Routed Clock-in Delay (routing to PCM RTCKD_DEL — 1.30 — 1.10 — 0.90 — TBD ns
phase detect, using DIV0)
System Clock-out Delay (PCM oscilla- PCMSCK_DEL — 2.70 — 2.20 — 1.90 — TBD ns
tor to SCLK output at PCM)
Parameter Symbol fOUT (MHz) PLL Mode DLL Mode Unit
Output Jitter OUTJIT 5—20 250 200 ps
21—30 210 170 ps
31—40 180 145 ps
41—50 155 123 ps
51—60 130 105 ps
61—70 110 90 ps
71—80 95 75 ps
81—90 80 65 ps
91—100 70 55 ps
* Input frequency tolerance is the allowed input clock frequency change in parts per million.
† See Table 29 and Table 30 for acquisition times for individual frequencies.
‡ PLL mode, divider reg = 1111111 (input freq. = output freq.).
Note: All timing values for the PCM are preliminary information.
TCK
TS TH
TMS
TDI
TD
TDO
5-6764(F)
Clock Timing
Table 52. ExpressCLK (ECLK) and Fast Clock (FCLK) Timing Characteristics
OR3Cxx Commercial: VDD = 5.0 V ± 5%, 0 °C < TA < 70 °C; Industrial: VDD = 5.0 V ± 10%, –40 °C < TA < +85 °C.
OR3Txxx Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; Industrial: VDD = 3.0 V to 3.6 V, –40 °C < TA < +85 °C.
Speed
Device
Symbol -4 -5 -6 -7 Unit
(TJ = 85 °C, VDD = min)
Min Max Min Max Min Max Min Max
Clock Control Timing Delay Through ECLKC_DEL 0.31 — 0.31 — 0.31 — 0.31 — ns
CLKCNTRL (input from corner)
Delay Through CLKCNTRL (input from inter- ECLKM_DEL 1.54 — 1.17 — 1.00 — 0.92 — ns
nal clock controller PAD)
Clock Shutoff Timing:
Setup from Middle ECLK (shut off to CLK) OFFM_SET 0.77 — 0.51 — 0.44 — 0.41 — ns
Hold from Middle ECLK (shut off from CLK) OFFM_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
Setup from Corner ECLK (shut off to CLK) OFFC_SET 0.77 — 0.51 — 0.44 — 0.41 — ns
Hold from Corner ECLK (shut off from CLK) OFFC_HLD 0.00 — 0.00 — 0.00 — 0.00 — ns
ECLK Delay (middle pad): ECLKM_DEL
OR3T20 — — — 2.56 — 2.05 — 1.78 ns
OR3T30 — — — 2.62 — 2.08 — 1.80 ns
OR3T55 — 3.50 — 2.74 — 2.13 — 1.85 ns
OR3C/T80 — 3.67 — 2.86 — 2.19 — 1.90 ns
OR3T125 — — — 3.06 — 2.29 — 1.98 ns
ECLK Delay (corner pad): ECLKC_DEL
OR3T20 — — — 4.48 — 3.85 — 3.36 ns
OR3T30 — — — 4.53 — 3.97 — 3.47 ns
OR3T55 — 5.47 — 4.64 — 4.22 — 3.69 ns
OR3C/T80 — 5.64 — 4.77 — 4.47 — 3.92 ns
OR3T125 — — — 4.96 — 4.85 — 4.27 ns
FCLK Delay (middle pad): FCLKM_DEL
OR3T20 — — — 5.91 — 4.59 — 3.81 ns
OR3T30 — — — 6.12 — 4.66 — 3.89 ns
OR3T55 — 8.24 — 6.59 — 4.83 — 4.06 ns
OR3C/T80 — 8.87 — 7.11 — 5.01 — 4.26 ns
OR3T125 — — — 7.98 — 5.33 — 4.59 ns
FCLK Delay (corner pad): FCLKC_DEL
OR3T20 — — — 7.88 — 6.41 — 5.40 ns
OR3T30 — — — 8.11 — 6.58 — 5.58 ns
OR3T55 — 10.34 — 8.60 — 6.95 — 5.94 ns
OR3C/T80 — 11.01 — 9.15 — 7.34 — 6.33 ns
OR3T125 — — — 10.07 — 7.96 — 6.94 ns
Notes:
The ECLK delays are to all of the PICs on one side of the device for middle pin input, or two sides of the device for corner pin input. The delay
includes both the input buffer delay and the clock routing to the PIC clock input.
The FCLK delays are for a fully routed clock tree that uses the ExpressCLK input into the fast clock network. It includes both the input buffer
delay and the clock routing to the PFU CLK input. The delay will be reduced if any of the clock branches are not used.
Speed
Device
Symbol -4 -5 -6 -7 Unit
(TJ = 85 °C, VDD = min)
Min Max Min Max Min Max Min Max
OR3T20 CLK_DEL — — — 4.22 — 3.46 — 2.84 ns
OR3T30 CLK_DEL — — — 4.29 — 3.48 — 2.87 ns
OR3T55 CLK_DEL — 5.34 — 4.41 — 3.53 — 2.93 ns
OR3C/T80 CLK_DEL — 5.49 — 4.52 — 3.57 — 2.98 ns
OR3T125 CLK_DEL — — — 4.80 — 3.71 — 3.13 ns
Notes:
This table represents the delay for an internally generated clock from the clock tree input in one of the four middle PICs (using pSW routing) on
any side of the device which is then distributed to the PFU/PIO clock inputs. If the clock tree input used is located at any other PIC, see the
results reported by ORCA Foundry.
This clock delay is for a fully routed clock tree that uses the general clock network. The delay will be reduced if any of the clock branches are not
used. See pin-to-pin timing in Table 56 for clock delays of clocks input on general I/O pins.
PIO FF
CLKCNTRL
ECLK
ECLK
5-4846(F).a
Speed
Description
Device -4 -5 -6 -7 Unit
(TJ = 85 °C, VDD = min)
Min Max Min Max Min Max Min Max
Output Not on Same Side of Device As Input Clock (Fast Clock Delays Using ExpressCLK Inputs)
ECLK Middle Input Pin →OUTPUT Pin OR3T20 — — — 11.13 — 7.94 — 6.40 ns
(Fast) OR3T30 — — — 11.35 — 8.01 — 6.48 ns
OR3T55 — 14.68 — 11.81 — 8.18 — 6.66 ns
OR3C/T80 — 15.30 — 12.33 — 8.36 — 6.85 ns
OR3T125 — — — 13.20 — 8.68 — 7.19 ns
ECLK Middle Input Pin →OUTPUT Pin OR3T20 — — — 13.12 — 8.61 — 6.93 ns
(Slewlim) OR3T30 — — — 13.33 — 8.68 — 7.01 ns
OR3T55 — 17.11 — 13.80 — 8.85 — 7.19 ns
OR3C/T80 — 17.74 — 14.32 — 9.04 — 7.38 ns
OR3T125 — — — 15.19 — 9.35 — 7.72 ns
ECLK Middle Input Pin →OUTPUT Pin OR3T20 — — — 14.47 — 13.46 — 11.67 ns
(Sinklim) OR3T30 — — — 14.68 — 13.53 — 11.75 ns
OR3T55 — 18.47 — 15.15 — 13.70 — 11.93 ns
OR3C/T80 — 19.10 — 15.67 — 13.88 — 12.12 ns
OR3T125 — — — 16.54 — 14.20 — 12.46 ns
Additional Delay if ECLK Corner Pin OR3T20 — — — 1.97 — 1.82 — 1.60 ns
Used OR3T30 — — — 1.99 — 1.92 — 1.69 ns
OR3T55 — 2.10 — 2.01 — 2.12 — 1.88 ns
OR3C/T80 — 2.14 — 2.04 — 2.33 — 2.07 ns
OR3T125 — — — 2.09 — 2.63 — 2.39 ns
Notes:
Timing is without the use of the programmable clock manager (PCM).
This clock delay is for a fully routed clock tree that uses the primary clock network. It includes both the input buffer delay, the clock routing to the
PIO CLK input, the clock→Q of the FF, and the delay through the output buffer. The delay will be reduced if any of the clock branches are not
used. The given timing requires that the input clock pin be located at one of the six ExpressCLK inputs of the device and that a PIO FF be used.
PIO FF
CLKCNTRL
ECLK
FCLK
5-4846(F).b
Speed
Description
Device -4 -5 -6 -7 Unit
(TJ = 85 °C, VDD = min)
Min Max Min Max Min Max Min Max
Output On Same Side of Device As Input Clock (System Clock Delays Using General User I/O Inputs)
Clock Input Pin (mid-PIC) →OUTPUT Pin (Fast) OR3T20 — — — 11.35 — 7.74 — 6.10 ns
OR3T30 — — — 11.63 — 7.93 — 6.27 ns
OR3T55 — 14.91 — 12.17 — 8.28 — 6.59 ns
OR3C/T80 — 15.71 — 12.80 — 8.66 — 6.95 ns
OR3T125 — — — 13.69 — 9.24 — 7.49 ns
Clock Input Pin (mid-PIC) →OUTPUT Pin OR3T20 — — — 13.34 — 8.42 — 6.63 ns
(Slewlim) OR3T30 — — — 13.62 — 8.60 — 6.80 ns
OR3T55 — 17.34 — 14.16 — 8.95 — 7.12 ns
OR3C/T80 — 18.14 — 14.79 — 9.34 — 7.48 ns
OR3T125 — — — 15.68 — 9.91 — 8.02 ns
Clock Input Pin (mid-PIC) →OUTPUT Pin OR3T20 — — — 14.69 — 13.26 — 11.37 ns
(Sinklim) OR3T30 — — — 14.97 — 13.45 — 11.54 ns
OR3T55 — 18.70 — 15.51 — 13.80 — 11.86 ns
OR3C/T80 — 19.51 — 16.14 — 14.18 — 12.22 ns
OR3T125 — — — 17.03 — 14.76 — 12.76 ns
Additional Delay if Non-mid-PIC Used as Clock OR3T20 — — — 0.16 — 0.18 — 0.17 ns
Pin OR3T30 — — — 0.20 — 0.21 — 0.20 ns
OR3T55 — 0.41 — 0.36 — 0.37 — 0.35 ns
OR3C/T80 — 0.63 — 0.55 — 0.57 — 0.55 ns
OR3T125 — — — 1.11 — 1.05 — 1.02 ns
Output Not on Same Side of Device As Input Clock (System Clock Delays Using General User I/O Inputs)
Additional Delay if Output Not on Same Side as OR3T20 — — — 0.16 — 0.18 — 0.17 ns
Input Clock Pin OR3T30 — — — 0.20 — 0.21 — 0.20 ns
OR3T55 — 0.41 — 0.36 — 0.37 — 0.35 ns
OR3C/T80 — 0.63 — 0.55 — 0.57 — 0.55 ns
OR3T125 — — — 1.11 — 1.05 — 1.02 ns
Note:
This clock delay is for a fully routed clock tree that uses the primary clock network. It includes both the input buffer delay, the clock routing to the
PIO CLK input, the clock→Q of the FF, and the delay through the output buffer. The delay will be reduced if any of the clock branches are not
used. The given timing requires that the input clock pin be located at one of the four center PICs on any side of the device and that a PIO FF be
used. For clock pins located at any other PIO, see the results reported by ORCA Foundry.
PIO FF
SCLK
5-4846(F)
Speed
Description
Device -4 -5 -6 -7 Unit
(TJ = 85 °C, VDD = min)
Min Max Min Max Min Max Min Max
Input to ECLK Setup Time (middle OR3T20 — — 1.34 — 0.88 — 0.83 — ns
ECLK pin) OR3T30 — — 1.30 — 0.86 — 0.82 — ns
OR3T55 1.36 — 1.22 — 0.83 — 0.80 — ns
OR3C/T80 1.25 — 1.14 — 0.80 — 0.77 — ns
OR3T125 — — 1.03 — 0.76 — 0.74 — ns
Input to ECLK Setup Time (middle OR3T20 — — 6.30 — 5.32 — 5.98 — ns
ECLK pin, delayed data input) OR3T30 — — 6.27 — 5.30 — 5.97 — ns
OR3T55 6.91 — 6.19 — 5.27 — 5.95 — ns
OR3C/T80 6.79 — 6.11 — 5.24 — 5.93 — ns
OR3T125 — — 6.00 — 5.20 — 5.90 — ns
Input to ECLK Setup Time (corner OR3T20 — — 0.00 — 0.00 — 0.00 — ns
ECLK pin) OR3T30 — — 0.00 — 0.00 — 0.00 — ns
OR3T55 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3C/T80 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3T125 — — 0.00 — 0.00 — 0.00 — ns
Input to ECLK Setup Time (corner OR3T20 — — 4.39 — 3.51 — 4.41 — ns
ECLK pin, delayed data input) OR3T30 — — 4.35 — 3.40 — 4.31 — ns
OR3T55 4.94 — 4.28 — 3.18 — 4.11 — ns
OR3C/T80 4.82 — 4.21 — 2.98 — 3.91 — ns
OR3T125 — — 4.10 — 2.63 — 3.61 — ns
Input to ECLK Hold Time (middle OR3T20 — — 0.00 — 0.00 — 0.00 — ns
ECLK pin) OR3T30 — — 0.00 — 0.00 — 0.00 — ns
OR3T55 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3C/T80 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3T125 — — 0.00 — 0.00 — 0.00 — ns
Input to ECLK Hold Time (middle OR3T20 — — 0.00 — 0.00 — 0.00 — ns
ECLK pin, delayed data input) OR3T30 — — 0.00 — 0.00 — 0.00 — ns
OR3T55 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3C/T80 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3T125 — — 0.00 — 0.00 — 0.00 — ns
Note:
The pin-to-pin timing parameters in this table should be used instead of results reported by ORCA Foundry.
The ECLK delays are to all of the PIOs on one side of the device for middle pin input, or two sides of the device for corner pin input. The delay
includes both the input buffer delay and the clock routing to the PIO clock input.
Speed
Description
Device -4 -5 -6 -7 Unit
(TJ = 85 °C, VDD = min)
Min Max Min Max Min Max Min Max
Input to ECLK Hold Time (corner OR3T20 — — 0.00 — 0.00 — 0.00 — ns
ECLK pin) OR3T30 — — 0.00 — 0.00 — 0.00 — ns
OR3T55 0.00 — 0.00 — 0.80 — 1.10 — ns
OR3C/T80 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3T125 — — 0.00 — 0.00 — 0.00 — ns
Input to ECLK Hold Time (corner OR3T20 — — 0.00 — 0.00 — 0.00 — ns
ECLK pin, delayed data input) OR3T30 — — 0.00 — 0.00 — 0.00 — ns
OR3T55 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3C/T80 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3T125 — — 0.00 — 0.00 — 0.00 — ns
Notes:
The pin-to-pin timing parameters in this table should be used instead of results reported by ORCA Foundry.
The ECLK delays are to all of the PIOs on one side of the device for middle pin input, or two sides of the device for corner pin input. The delay
includes both the input buffer delay and the clock routing to the PIO clock input.
INPUT D Q
CLKCNTRL
CLK
ECLK
5-4847(F).b
Speed
Description
Device -4 -5 -6 -7 Unit
(TJ = 85 °C, VDD = min)
Min Max Min Max Min Max Min Max
Output Not on Same Side of Device As Input Clock (Fast Clock Delays Using ExpressCLK Inputs)
Input to FCLK Setup Time (middle OR3T20 — — 0.00 — 0.00 — 0.00 — ns
ECLK pin) OR3T30 — — 0.00 — 0.00 — 0.00 — ns
OR3T55 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3C/T80 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3T125 — — 0.00 — 0.00 — 0.00 — ns
Input to FCLK Setup Time (middle OR3T20 — — 0.80 — 0.58 — 2.20 — ns
ECLK pin, delayed data input) OR3T30 — — 0.74 — 0.55 — 2.17 — ns
OR3T55 0.29 — 0.62 — 0.51 — 2.11 — ns
OR3C/T80 0.14 — 0.50 — 0.46 — 2.06 — ns
OR3T125 — — 0.22 — 0.33 — 1.90 — ns
Input to FCLK Setup Time (corner OR3T20 — — 0.00 — 0.00 — 0.00 — ns
ECLK pin) OR3T30 — — 0.00 — 0.00 — 0.00 — ns
OR3T55 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3C/T80 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3T125 — — 0.00 — 0.00 — 0.00 — ns
Input to FCLK Setup Time (corner OR3T20 — — 0.00 — 0.00 — 0.00 — ns
ECLK pin, delayed data input) OR3T30 — — 0.00 — 0.00 — 0.00 — ns
OR3T55 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3C/T80 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3T125 — — 0.00 — 0.00 — 0.00 — ns
Input to FCLK Hold Time (middle OR3T20 — — 4.29 — 3.72 — 3.27 — ns
ECLK pin) OR3T30 — — 4.50 — 3.80 — 3.35 — ns
OR3T55 6.33 — 4.97 — 3.96 — 3.52 — ns
OR3C/T80 6.95 — 5.49 — 4.15 — 3.72 — ns
OR3T125 — — 6.36 — 4.47 — 4.05 — ns
Notes:
The pin-to-pin timing parameters in this table should be used instead of results reported by ORCA Foundry.
The FCLK delays are for a fully routed clock tree that uses the ExpressCLK input into the fast clock network. It includes both the input buffer
delay and the clock routing to the PFU CLK input. The delay will be reduced if any of the clock branches are not used.
Speed
Description
Device -4 -5 -6 -7 Unit
(TJ = 85 °C, VDD = min)
Min Max Min Max Min Max Min Max
Input to FCLK Hold Time (middle OR3T20 — — 0.00 — 0.00 — 0.00 — ns
ECLK pin, delayed data input) OR3T30 — — 0.00 — 0.00 — 0.00 — ns
OR3T55 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3C/T80 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3T125 — — 0.00 — 0.00 — 0.00 — ns
Input to FCLK Hold Time (corner OR3T20 — — 6.26 — 5.54 — 4.88 — ns
ECLK pin) OR3T30 — — 6.49 — 5.72 — 5.04 — ns
OR3T55 8.43 — 6.98 — 6.09 — 5.40 — ns
OR3C/T80 9.09 — 7.53 — 6.47 — 5.79 — ns
OR3T125 — — 8.45 — 7.10 — 6.40 — ns
Input to FCLK Hold Time (corner OR3T20 — — 0.00 — 0.00 — 0.00 — ns
ECLK pin, delayed data input) OR3T30 — — 0.00 — 0.00 — 0.00 — ns
OR3T55 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3C/T80 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3T125 — — 0.00 — 0.00 — 0.00 — ns
Notes:
The pin-to-pin timing parameters in this table should be used instead of results reported by ORCA Foundry.
The FCLK delays are for a fully routed clock tree that uses the ExpressCLK input into the fast clock network. It includes both the input buffer
delay and the clock routing to the PFU CLK input. The delay will be reduced if any of the clock branches are not used.
PIO FF
INPUT D Q
CLKCNTRL
ECLK
FCLK
5-4847(F).a
Speed
Description
Device -4 -5 -6 -7 Unit
(TJ = 85 °C, VDD = min)
Min Max Min Max Min Max Min Max
Input to SCLK Setup Time OR3T20 — — 0.00 — 0.00 — 0.00 — ns
OR3T30 — — 0.00 — 0.00 — 0.00 — ns
OR3T55 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3C/T80 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3T125 — — 0.00 — 0.00 — 0.00 — ns
Input to SCLK Setup Time OR3T20 — — 1.33 — 1.47 — 3.09 — ns
(delayed data input) OR3T30 — — 1.22 — 1.40 — 3.03 — ns
OR3T55 0.99 — 1.09 — 1.33 — 2.97 — ns
OR3C/T80 0.79 — 0.93 — 1.26 — 2.91 — ns
OR3T125 — — 0.78 — 1.19 — 2.86 — ns
Input to SCLK Hold Time OR3T20 — — 4.74 — 3.64 — 3.04 — ns
OR3T30 — — 5.01 — 3.83 — 3.22 — ns
OR3T55 6.82 — 5.56 — 4.18 — 3.54 — ns
OR3C/T80 7.62 — 6.19 — 4.56 — 3.89 — ns
OR3T125 — — 7.07 — 5.14 — 4.44 — ns
Input to SCLK Hold Time OR3T20 — — 0.00 — 0.00 — 0.00 — ns
(delayed data input) OR3T30 — — 0.00 — 0.00 — 0.00 — ns
OR3T55 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3C/T80 0.00 — 0.00 — 0.00 — 0.00 — ns
OR3T125 — — 0.00 — 0.00 — 0.00 — ns
Additional Hold Time if Non- OR3T20 — — 0.16 — 0.18 — 0.17 — ns
mid-PIC Used as SCLK Pin OR3T30 — — 0.20 — 0.21 — 0.20 — ns
(no delay on data input) OR3T55 0.41 — 0.36 — 0.37 — 0.35 — ns
OR3C/T80 0.63 — 0.55 — 0.57 — 0.55 — ns
OR3T125 — — 1.11 — 1.05 — 1.02 — ns
Notes:
The pin-to-pin timing parameters in this table should be used instead of results reported by ORCA Foundry.
This clock delay is for a fully routed clock tree that uses the clock network. It includes both the input buffer delay and the clock routing to the PIO
FF CLK input. The delay will be reduced if any of the clock branches are not used. The given setup (delayed and no delay) and hold (delayed)
timing allows the input clock pin to be located in any PIO on any side of the device, but a PIO FF must be used. The hold (no delay) timing
assumes the clock pin is located at one of the four middle PICs on any side of the device and that a PIO FF is used. If the clock pin is located
elsewhere, then the last parameter in the table must be added to the hold (no delay) timing.
PIO FF
INPUT D Q
SCLK
5-4847(F)
VDD
TPO + T IL
PRGM
TIL TPGW
INIT
TINIT_CLK
TCCLK
CCLK
THMODE
TSMODE
M[3:0]
TCL
DONE
5-4531(F)
CCLK
TS TH
DIN BIT N
TD
DOUT BIT N
5-4532(F)
A[17:0]
RCLK
TS TH
CCLK
DOUT D0 D1 D2 D3 D4 D5 D6 D7
TD
5-6764(F)
* This parameter is valid whether the end of not RDY is determined from the RDY pin or from the D7 pin.
Notes:
Serial data is transmitted out on DOUT on the falling edge of CCLK after the byte is input on D[7:0].
D[6:0] timing is the same as the write data portion of the D7 waveform because D[6:0] are not enabled by RD.
CS0
CS1
TWR
WR
TS TH TWR2
D7 WRITE DATA
TDEN TDEN
RD
RDY
TB
TRDY
CCLK
TD
5-4533(F)
DIN BIT N
TS TH
CCLK
TD TCL TCH
DOUT BIT N
5-4535(F).
CS0
CS1
WR
TS1 TH1
TCL TCH
CCLK
TS2 TH2
D[7:0]
5-2848(F)
Readback Timing
Table 66. Readback Timing Characteristics
OR3Cxx Commercial: VDD = 5.0 V ± 5%, 0 °C < TA < 70 °C; Industrial: VDD = 5.0 V ± 10%, –40 °C < TA < +85 °C.
OR3Txxx Commercial: VDD = 3.0 V to 3.6 V, 0 °C < TA < 70 °C; Industrial: VDD = 3.0 V to 3.6 V, –40 °C < TA < +85 °C.
TRBA
RD_CFG
TCL
TS
CCLK
TCH
TD
5-4536(F)
VCC GND
50 pF
A. Load Used to Measure Propagation Delay B. Load Used to Measure Rising/Falling Edges
Note: Switch to VDD for TPLZ/TPZL; switch to GND for TPHZ/TPZH.
5-3234(F)
ts[i]
VDD
out[i] VDD/2
VSS
PAD 1.5 V
OUT 0.0 V
TPLL
TPHH
5-3233.a(F)
PAD in[i]
IN
3.0 V
PAD IN 1.5 V
0.0 V
VDD
in[i] VDD/2
VSS
TPLL
TPHH
5-3235(F)
70 50
IOL IOL
60
OUTPUT CURRENT, IO (mA) 40
30
40
30
20
IOH
20
IOH
10
10
0 0
0 1 2 3 4 5 0 1 2 3 4 5
Figure 92. Sinklim (TJ = 25 °C, VDD = 5.0 V) Figure 95. Sinklim (TJ = 125 °C, VDD = 4.5 V)
250 150
225 IOL
IOL
125
200
175
100
150
125 75
100
IOH 50
75 IOH
50
25
25
0 0
0 1 2 3 4 5 0 1 2 3 4
Figure 93. Slewlim (TJ = 25 °C, VDD = 5.0 V) Figure 96. Slewlim (TJ = 125 °C, VDD = 4.5 V)
250 175
225
IOL 150
200
OUTPUT CURRENT, IO (mA)
IOL
175 125
150
100
125
100 75
IOH
75
50
50 IOH
25
25
0
0
0 1 2 3 4 5 0 1 2 3 4
OUTPUT VOLTAGE, VO (V) OUTPUT VOLTAGE, VO (V)
5-4638(F)
5-4639(F)
Figure 94. Fast (TJ = 25 °C, VDD = 5.0 V) Figure 97. Fast (TJ = 125 °C, VDD = 4.5 V)
144 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
110 90
100 80
IOL
IOL
90
70
60 50
IOH
50 40
IOH
40
30
30
20
20
10
10
0 0
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0
Figure 98. Sinklim (TJ = 25 °C, VDD = 3.3 V) Figure 101. Sinklim (TJ = 125 °C, VDD = 3.0 V)
140 120
IOL IOL
120
100
100
80
80
60
60
IOH IOH
40
40
20 20
0 0
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0
Figure 99. Slewlim (TJ = 25 °C, VDD = 3.3 V) Figure 102. Slewlim (TJ = 125 °C, VDD = 3.0 V)
140 120
IOL IOL
120
100
OUTPUT CURRENT, IO (mA)
100
80
80
60
60
IOH IOH
40
40
20 20
0 0
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0
Figure 100. Fast (TJ = 25 °C, VDD = 3.3 V) Figure 103. Fast (TJ = 125 °C, VDD = 3.0 V)
Lattice Semiconductor 145
Data Sheet
ORCA Series 3C and 3T FPGAs March 2002
Pin Information
Pin Descriptions
This section describes the pins found on the Series 3 FPGAs. Any pin not described in this table is a user-program-
mable I/O. During configuration, the user-programmable I/Os are 3-stated with an internal pull-up resistor enabled.
If any pin is not used (or not bonded to a package pin), it is also 3-stated with an internal pull-up resistor enabled
after configuration.
Package Compatibility
Table 68 provides the number of user I/Os available for the ORCA Series 3 FPGAs for each available package.
Each package has six dedicated configuration pins.
Tables 70—75 provide the package pin and pin function for the ORCA Series 3 FPGAs and packages. The bond
pad name is identified in the PIC nomenclature used in the ORCA Foundry design editor.
When the number of FPGA bond pads exceeds the number of package pins, bond pads are unused. When the
number of package pins exceeds the number of bond pads, package pins are left unconnected (no connects).
When a package pin is to be left as a no connect for a specific die, it is indicated as a note in the device pad col-
umn for the FPGA. The tables provide no information on unused pads.
OR3T125 OR3T125
Pin Function Pin Function
Pad Pad
E4 PRD_CFGN RD_CFG R2 PR12C I/O
E3 PR1D I/O R1 PR12B I/O
E2 PR1C I/O T4 PR12A I/O
F5 PR1B I/O T3 PR13D I/O
F4 PR1A I/O T2 PR13C I/O
F3 PR2D I/O U2 PR13B I/O
F2 PR2C I/O U4 PR13A I/O
G5 PR2B I/O U5 PR14D I/O
G4 PR2A I/O U3 PR14C I/O
G3 PR3D I/O U1 PR14B I/O
G2 PR3C I/O V2 PECKR I-ECKR
H5 PR3B I/O V4 PR15D I/O
H4 PR3A I/O-WR V5 PR15C I/O
H3 PR4D I/O V3 PR15B I/O
H2 PR4C I/O W2 PR15A I/O
J5 PR4B I/O W3 PR16D I/O
J4 PR4A I/O W4 PR16C I/O
J3 PR5D I/O W5 PR16B I/O
J2 PR5C I/O Y2 PR16A I/O
J1 PR5B I/O Y3 PR17D I/O
K5 PR5A I/O Y4 PR17C I/O
K4 PR6D I/O AA1 PR17B I/O
K3 PR6C I/O AA2 PR17A I/O-M3
K2 PR6B I/O AA3 PR18D I/O
K1 PR6A I/O AA4 PR18C I/O
L4 PR7D I/O AA5 PR18B I/O
L3 PR7C I/O AB1 PR18A I/O
L2 PR7B I/O AB2 PR19D I/O
L1 PR7A I/O-RD/MPI_STRB AB3 PR19C I/O
M5 PR8D I/O AB4 PR19B I/O
M4 PR8C I/O AB5 PR19A I/O-M2
M3 PR8B I/O AC2 PR20D I/O
M2 PR8A I/O AC3 PR20C I/O
M1 PR9D I/O AC4 PR20B I/O
N5 PR9C I/O AC5 PR20A I/O
N4 PR9B I/O AD1 PR21D I/O
N3 PR9A I/O-CS0 AD2 PR21C I/O
N2 PR10D I/O AD3 PR21B I/O
P4 PR10C I/O AD4 PR21A I/O
P5 PR10B I/O AD5 PR22D I/O-M1
P3 PR10A I/O AE1 PR22C I/O
P2 PR11D I/O AE2 PR22B I/O
P1 PR11C I/O AE3 PR22A I/O
R4 PR11B I/O AE4 PR23D I/O
R5 PR11A I/O-CS1 AF1 PR23C I/O
R3 PR12D I/O AF2 PR23B I/O
OR3T125 OR3T125
Pin Function Pin Function
Pad Pad
AF3 PR23A I/O AP10 PB23C I/O
AF4 PR24D I/O AR10 PB23B I/O
AF5 PR24C I/O AM11 PB23A I/O
AG1 PR24B I/O AN11 PB22D I/O
AG2 PR24A I/O AP11 PB22C I/O
AG3 PR25D I/O AR11 PB22B I/O
AG4 PR25C I/O AL12 PB22A I/O
AG5 PR25B I/O AM12 PB21D I/O
AH2 PR25A I/O AN12 PB21C I/O
AH3 PR26D I/O AP12 PB21B I/O
AH4 PR26C I/O AR12 PB21A I/O
AH5 PR26B I/O AL13 PB20D I/O
AJ2 PR26A I/O AM13 PB20C I/O
AJ3 PR27D I/O AN13 PB20B I/O
AJ4 PR27C I/O AP13 PB20A I/O-LDC
AJ5 PR27B I/O AM14 PB19D I/O
AK2 PR27A I/O AL14 PB19C I/O
AK3 PR28D I/O AN14 PB19B I/O
AK4 PR28C I/O AP14 PB19A I/O
AK5 PR28B I/O AR14 PB18D I/O
AL2 PR28A I/O-M0 AM15 PB18C I/O
AL3 PPRGMN PRGM AL15 PB18B I/O
AL4 PRESETN RESET AN15 PB18A I/O-HDC
AM5 PDONE DONE AP15 PB17D I/O
AN5 PB28D I/O AR15 PB17C I/O
AP5 PB28C I/O AM16 PB17B I/O
AL6 — I/O AN16 PB17A I/O
AM6 PB28B I/O AP16 PB16D I/O
AN6 PB28A I/O AP17 PB16C I/O
AP6 PB27D I/O AM17 PB16B I/O
AL7 PB27C I/O AL17 PB16A I/O
AM7 PB27B I/O AN17 PB15D I/O
AN7 PB27A I/O AR17 PB15C I/O
AP7 PB26D I/O AP18 PB15B I/O
AL8 PB26C I/O AM18 PECKB I-ECKB
AM8 PB26B I/O AL18 PB14D I/O
AN8 PB26A I/O AN18 PB14C I/O
AP8 PB25D I/O AP19 PB14B I/O
AL9 PB25C I/O AN19 PB14A I/O
AM9 PB25B I/O AM19 PB13D I/O
AN9 PB25A I/O AL19 PB13C I/O
AP9 PB24D I/O AP20 PB13B I/O
AR9 PB24C I/O AN20 PB13A I/O
AL10 PB24B I/O AM20 PB12D I/O
AM10 PB24A I/O-INIT AR21 PB12C I/O
AN10 PB23D I/O AP21 PB12B I/O
188 Lattice Semiconductor
Data Sheet
March 2002 ORCA Series 3C and 3T FPGAs
OR3T125 OR3T125
Pin Function Pin Function
Pad Pad
AN21 PB12A I/O AL32 PCCLK CCLK
AM21 PB11D I/O AL33 PL28A I/O-A15
AL21 PB11C I/O AL34 PL28B I/O
AR22 PB11B I/O AK31 PL28C I/O
AP22 PB11A I/O AK32 PL28D I/O
AN22 PB10D I/O AK33 — I/O
AM22 PB10C I/O AK34 PL27A I/O-SECKLL
AL22 PB10B I/O AJ31 PL27B I/O
AP23 PB10A I/O AJ32 PL27C I/O
AN23 PB9D I/O AJ33 PL27D I/O
AM23 PB9C I/O AJ34 PL26A I/O
AL23 PB9B I/O AH31 PL26B I/O
AR24 PB9A I/O AH32 PL26C I/O
AP24 PB8D I/O AH33 PL26D I/O
AN24 PB8C I/O AH34 PL25A I/O
AM24 PB8B I/O AG31 PL25B I/O
AL24 PB8A I/O AG32 PL25C I/O
AR25 PB7D I/O AG33 PL25D I/O
AP25 PB7C I/O AG34 PL24A I/O-A14
AN25 PB7B I/O AG35 PL24B I/O
AM25 PB7A I/O AF31 PL24C I/O
AR26 PB6D I/O AF32 PL24D I/O
AP26 PB6C I/O AF33 PL23A I/O
AN26 PB6B I/O AF34 PL23B I/O
AM26 PB6A I/O AF35 PL23C I/O
AL26 PB5D I/O AE32 PL23D I/O
AR27 PB5C I/O AE33 PL22A I/O
AP27 PB5B I/O AE34 PL22B I/O
AN27 PB5A I/O AE35 PL22C I/O
AM27 PB4D I/O-A17 AD31 PL22D I/O
AL27 PB4C I/O AD32 PL21A I/O
AP28 PB4B I/O AD33 PL21B I/O-A13
AN28 PB4A I/O AD34 PL21C I/O
AM28 PB3D I/O AD35 PL21D I/O
AL28 PB3C I/O AC31 PL20A I/O
AP29 PB3B I/O AC32 PL20B I/O
AN29 PB3A I/O AC33 PL20C I/O
AM29 PB2D I/O AC34 PL20D I/O-A12
AL29 PB2C I/O AB32 PL19A I/O-A11/MPI_IRQ
AP30 PB2B I/O AB31 PL19B I/O
AN30 PB2A I/O AB33 PL19C I/O
AM30 PB1D I/O AB34 PL19D I/O
AL30 PB1C I/O AB35 PL18A I/O
AP31 — I/O AA32 PL18B I/O
AN31 PB1B I/O AA31 PL18C I/O
AM31 PB1A I/O-A16 AA33 PL18D I/O
OR3T125 OR3T125
Pin Function Pin Function
Pad Pad
AA34 PL17A I/O-A10/MPI_BI K33 PL6C I/O
AA35 PL17B I/O K32 PL6D I/O
Y32 PL17C I/O K31 PL5A I/O
Y33 PL17D I/O J35 PL5B I/O
Y34 PL16A I/O J34 PL5C I/O
W34 PL16B I/O J33 PL5D I/O
W32 PL16C I/O J32 PL4A I/O
W31 PL16D I/O-A9/MPI_ACK J31 PL4B I/O
W33 PL15A I/O-A8/MPI_RW H34 PL4C I/O
W35 PL15B I/O H33 PL4D I/O
V34 PL15C I/O H32 PL3A I/O
V32 PL15D I/O H31 PL3B I/O
V31 PL14A I/O-A7/MPI_CLK G34 PL3C I/O
V33 PL14B I/O G33 PL3D I/O
U34 PL14C I/O G32 PL2A I/O
U33 PECKL I-ECKL G31 PL2B I/O
U32 PL13A I/O-A6 F34 PL2C I/O
U31 PL13B I/O F33 PL2D I/O-A0/MPI_BE0
T34 PL13C I/O F32 PL1A I/O
T33 PL13D I/O F31 PL1B I/O
T32 PL12A I/O E34 PL1C I/O
R35 PL12B I/O E33 — I/O
R34 PL12C I/O E32 PL1D I/O
R33 PL12D I/O-A5 D31 PRD_DATA RD_DATA/TDO
R32 PL11A I/O-A4 C31 PT1A I/O-TCK
R31 PL11B I/O B31 — I/O
P35 PL11C I/O E30 PT1B I/O
P34 PL11D I/O D30 PT1C I/O
P33 PL10A I/O C30 PT1D I/O
P32 PL10B I/O B30 PT2A I/O
P31 PL10C I/O E29 PT2B I/O
N34 PL10D I/O D29 PT2C I/O
N33 PL9A I/O-A3 C29 PT2D I/O
N32 PL9B I/O B29 PT3A I/O
N31 PL9C I/O E28 PT3B I/O
M35 PL9D I/O D28 PT3C I/O
M34 PL8A I/O-A2 C28 PT3D I/O
M33 PL8B I/O B28 PT4A I/O-TMS
M32 PL8C I/O E27 PT4B I/O
M31 PL8D I/O D27 PT4C I/O
L35 PL7A I/O C27 PT4D I/O
L34 PL7B I/O B27 PT5A I/O
L33 PL7C I/O A27 PT5B I/O
L32 PL7D I/O-A1/MPI_BE1 E26 PT5C I/O
K35 PL6A I/O D26 PT5D I/O
K34 PL6B I/O C26 PT6A I/O-TDI
OR3T125 OR3T125
Pin Function Pin Function
Pad Pad
B26 PT6B I/O C15 PT17D I/O
A26 PT6C I/O D15 PT18A I/O-D5
D25 PT6D I/O E15 PT18B I/O
C25 PT7A I/O A14 PT18C I/O
B25 PT7B I/O B14 PT18D I/O
A25 PT7C I/O C14 PT19A I/O
E24 PT7D I/O D14 PT19B I/O
D24 PT8A I/O E14 PT19C I/O
C24 PT8B I/O B13 PT19D I/O
B24 PT8C I/O C13 PT20A I/O
A24 PT8D I/O D13 PT20B I/O
E23 PT9A I/O E13 PT20C I/O
D23 PT9B I/O A12 PT20D I/O-D6
C23 PT9C I/O B12 PT21A I/O
B23 PT9D I/O C12 PT21B I/O
D22 PT10A I/O-DOUT D12 PT21C I/O
E22 PT10B I/O E12 PT21D I/O
C22 PT10C I/O A11 PT22A I/O
B22 PT10D I/O B11 PT22B I/O
A22 PT11A I/O C11 PT22C I/O
D21 PT11B I/O D11 PT22D I/O
E21 PT11C I/O A10 PT23A I/O
C21 PT11D I/O B10 PT23B I/O
B21 PT12A I/O-D0/DIN C10 PT23C I/O
A21 PT12B I/O D10 PT23D I/O
D20 PT12C I/O E10 PT24A I/O
C20 PT12D I/O A9 PT24B I/O
B20 PT13A I/O B9 PT24C I/O
B19 PT13B I/O C9 PT24D I/O-D7
D19 PT13C I/O D9 PT25A I/O
E19 PT13D I/O-D1 E9 PT25B I/O
C19 PT14A I/O-D2 B8 PT25C I/O
A19 PT14B I/O C8 PT25D I/O
B18 PT14C I/O D8 PT26A I/O
D18 PT14D I/O E8 PT26B I/O
E18 PT15A I/O-D3 B7 PT26C I/O
C18 PT15B I/O C7 PT26D I/O
B17 PT15C I/O D7 PT27A I/O-RDY/RCLK/MPI_ALE
C17 PECKT I-ECKT E7 PT27B I/O
D17 PT16A I/O-D4 B6 PT27C I/O
E17 PT16B I/O C6 PT27D I/O
B16 PT16C I/O D6 PT28A I/O
C16 PT16D I/O E6 PT28B I/O
D16 PT17A I/O B5 PT28C I/O
A15 PT17B I/O C5 — I/O
B15 PT17C I/O D5 PT28D I/O-SECKUR
OR3T125 OR3T125
Pin Function Pin Function
Pad Pad
A13 VSS VSS B3 VSS VSS
A16 VSS VSS B32 VSS VSS
A20 VSS VSS B33 VSS VSS
A23 VSS VSS B4 VSS VSS
A28 VSS VSS C1 VSS VSS
A29 VSS VSS C2 VSS VSS
A3 VSS VSS C32 VSS VSS
A32 VSS VSS C34 VSS VSS
A33 VSS VSS C35 VSS VSS
A4 VSS VSS C4 VSS VSS
A7 VSS VSS D1 VSS VSS
A8 VSS VSS D2 VSS VSS
AC1 VSS VSS D3 VSS VSS
AC35 VSS VSS D33 VSS VSS
AH1 VSS VSS D34 VSS VSS
AH35 VSS VSS D35 VSS VSS
AJ1 VSS VSS G1 VSS VSS
AJ35 VSS VSS G35 VSS VSS
AM1 VSS VSS H1 VSS VSS
AM2 VSS VSS H35 VSS VSS
AM3 VSS VSS N1 VSS VSS
AM33 VSS VSS N35 VSS VSS
AM34 VSS VSS T1 VSS VSS
AM35 VSS VSS T35 VSS VSS
AN1 VSS VSS Y1 VSS VSS
AN2 VSS VSS Y35 VSS VSS
AN32 VSS VSS A1 VDD VDD
AN34 VSS VSS A17 VDD VDD
AN35 VSS VSS A18 VDD VDD
AN4 VSS VSS A2 VDD VDD
AP3 VSS VSS A30 VDD VDD
AP32 VSS VSS A31 VDD VDD
AP33 VSS VSS A34 VDD VDD
AP4 VSS VSS A35 VDD VDD
AR13 VSS VSS A5 VDD VDD
AR16 VSS VSS A6 VDD VDD
AR20 VSS VSS AE31 VDD VDD
AR23 VSS VSS AE5 VDD VDD
AR28 VSS VSS AK1 VDD VDD
AR29 VSS VSS AK35 VDD VDD
AR3 VSS VSS AL1 VDD VDD
AR32 VSS VSS AL11 VDD VDD
AR33 VSS VSS AL16 VDD VDD
AR4 VSS VSS AL20 VDD VDD
AR7 VSS VSS AL25 VDD VDD
AR8 VSS VSS AL31 VDD VDD
OR3T125 OR3T125
Pin Function Pin Function
Pad Pad
AL35 VDD VDD C3 VDD VDD
AL5 VDD VDD C33 VDD VDD
AM32 VDD VDD D32 VDD VDD
AM4 VDD VDD D4 VDD VDD
AN3 VDD VDD E1 VDD VDD
AN33 VDD VDD E11 VDD VDD
AP1 VDD VDD E16 VDD VDD
AP2 VDD VDD E20 VDD VDD
AP34 VDD VDD E25 VDD VDD
AP35 VDD VDD E31 VDD VDD
AR1 VDD VDD E35 VDD VDD
AR18 VDD VDD E5 VDD VDD
AR19 VDD VDD F1 VDD VDD
AR2 VDD VDD F35 VDD VDD
AR30 VDD VDD L31 VDD VDD
AR31 VDD VDD L5 VDD VDD
AR34 VDD VDD T31 VDD VDD
AR35 VDD VDD T5 VDD VDD
AR5 VDD VDD U35 VDD VDD
AR6 VDD VDD V1 VDD VDD
B1 VDD VDD V35 VDD VDD
B2 VDD VDD W1 VDD VDD
B34 VDD VDD Y31 VDD VDD
B35 VDD VDD Y5 VDD VDD
There are four thermal parameters that are in common This JEDEC designated parameter correlates the junc-
use: ΘJA, ψJC, ΘJC, and ΘJB. It should be noted that all tion temperature to the case temperature. It is generally
the parameters are affected, to varying degrees, by used to infer the junction temperature while the device
package design (including paddle size) and choice of is operating in the system. It is not considered a true
materials, the amount of copper in the test board or thermal resistance, and it is defined by:
system board, and system airflow.
TJ – TC
ψ JC = -------------------
Table 76 contains the currently available thermal speci- -
Q
fications for FPGA packages mounted on both JEDEC
and non-JEDEC test boards. The thermal values for the where TC is the case temperature at top dead center,
newer package types correspond to those packages TJ is the junction temperature, and Q is the chip power.
mounted on a JEDEC four-layer board. The values for During the ΘJA measurements described above,
the older packages, however, correspond to those besides the other parameters measured, an additional
packages mounted on a non-JEDEC, single-layer, temperature reading, TC, is made with a thermocouple
sparse copper board (see Note 2). It should also be attached at top-dead-center of the case. ψJC is also
noted that the values for the older packages are con- expressed in units of °C/watt.
sidered conservative.
ΘJC
ΘJA
This is the thermal resistance from junction to case. It
This is the thermal resistance from junction to ambient is most often used when attaching a heat sink to the
(a.k.a. theta-JA, R-theta, etc.). top of the package. It is defined by:
TJ – TA TJ – TC
Θ JA = -------------------
- Θ JC = -------------------
-
Q Q
where TJ is the junction temperature, TA is the ambient The parameters in this equation have been defined
air temperature, and Q is the chip power. above. However, the measurements are performed
Experimentally, ΘJA is determined when a special ther- with the case of the part pressed against a water-
mal test die is assembled into the package of interest, cooled heat sink so as to draw most of the heat gener-
and the part is mounted on the thermal test board. The ated by the chip out the top of the package. It is this dif-
diodes on the test chip are separately calibrated in an ference in the measurement process that differentiates
oven. The package/board is placed either in a JEDEC ΘJC from ψJC. ΘJC is a true thermal resistance and is
natural convection box or in the wind tunnel, the latter expressed in units of °C/watt.
for forced convection measurements. A controlled
amount of power (Q) is dissipated in the test chip’s
heater resistor, the chip’s temperature (TJ) is deter- ΘJB
mined by the forward drop on the diodes, and the ambi-
This is the thermal resistance from junction to board
ent temperature (TA) is noted. Note that ΘJA is
(a.k.a. ΘJL). It is defined by:
expressed in units of °C/watt.
TJ – TB
Θ JB = -------------------
-
Q
where TB is the temperature of the board adjacent to a
lead measured with a thermocouple. The other param-
eters on the right-hand side have been defined above.
This is considered a true thermal resistance, and the
measurement is made with a water-cooled heat sink
pressed against the board so as to draw most of the
heat out of the leads. Note that ΘJB is expressed in
units of °C/watt, and that this parameter and the way it
is measured is still in JEDEC committee.
Table 76. Plastic Package Thermal Characteristics for the ORCA Series1
ΘJA (°C/W) TA = 70 °C max
Package 0 fpm 200 fpm 500 fpm TJ = 125 °C max
@ 0 fpm (W)
208-Pin SQFP1 26.5 23.0 21.0 2.1
208-Pin SQFP21 12.8 10.3 9.1 4.3
240-Pin SQFP1 25.5 22.5 21.0 2.2
240-Pin SQFP21 13.0 10.0 9.0 4.2
256-Pin PBGA1, 2 22.5 19.0 17.5 2.4
256-Pin PBGA1, 3 26.0 22.0 20.5 2.1
352-Pin PBGA1, 2 19.0 16.0 15.0 2.9
352-Pin PBGA1, 3 25.5 22.0 20.5 2.1
432-Pin EBGA1 11.0 8.5 7.5 5.0
600-Pin EBGA1 11.0 8.5 7.5 5.5
1. Mounted on 4-layer JEDEC standard test board with two power/ground planes.
2. With thermal balls connected to board ground plane.
3. Without thermal balls connected to board ground plane.
C1 C2
LMW CM LML
PAD N + 1
LSW RW LSL
C1 C2
5-3862(F).a
208-Pin SQFP
Dimensions are in millimeters.
30.60 ± 0.20
1.30 REF
28.00 ± 0.20
0.25
1 156 GAGE PLANE
SEATING PLANE
0.50/0.75
DETAIL A
28.00
± 0.20
30.60
± 0.20
0.090/0.200
0.17/0.27
52 105 0.10 M
DETAIL B
53 104
DETAIL A DETAIL B
3.40 ± 0.20
4.10 MAX
SEATING PLANE
0.08
0.50 TYP 0.25 MIN
Note: The dimensions in this outline diagram are intended for informational purposes only.
208-Pin SQFP2
Dimensions are in millimeters.
30.60 ± 0.20
28.00 ± 0.20
21.0 REF
156
0.25
GAGE PLANE
SEATING PLANE
21.0 0.50/0.75
REF
28.00
± 0.20 DETAIL A
30.60
± 0.20
0.090/0.200
0.17/0.2
105 0.10 M
53 104 DETAIL B
EXPOSED HEAT SINK APPEARS ON BOTTOM
SURFACE: CHIP BONDED FACE UP. (SEE DETAIL C.)
DETAIL A DETAIL B
3.40 ± 0.20
4.10 MAX
SEATING PLANE
0.08 5-3828(F)
0.50 TYP
0.25 MIN
CHIP
240-Pin SQFP
Dimensions are in millimeters.
34.60 ± 0.20
32.00 ± 0.20
1 180
0.25
GAGE PLANE
SEATING PLANE
0.50/0.75
DETAIL A
32.00
± 0.20
34.60
± 0.20
0.090/0.200
0.17/0.27
0.10 M
DETAIL B
60 121
61 120
DETAIL A DETAIL B
3.40 ± 0.20
4.10 MAX
SEATING PLANE
0.08
0.50 TYP
0.25 MIN
Note: The dimensions in this outline diagram are intended for informational purposes only.
240-Pin SQFP2
Dimensions are in millimeters.
34.60 ± 0.20
32.00 ± 0.20
24.2 REF
1.30 REF
PIN #1 IDENTIFIER ZONE
240 181
1 180
0.25
GAGE PLANE
SEATING PLANE
0.50/0.75
24.2
DETAIL A
REF
32.00
± 0.20
34.60
± 0.20
0.090/0.200
0.17/0.27
0.10 M
DETAIL B
60 121
61 120
EXPOSED HEAT SINK APPEARS ON BOTTOM
SURFACE: CHIP BONDED FACE UP. (SEE DETAIL C.)
DETAIL A DETAIL B
3.40 ± 0.20
4.10 MAX
SEATING PLANE
0.08
0.50 TYP
0.25 MIN
CHIP BONDED FACE UP
CHIP
256-Pin PBGA
Dimensions are in millimeters.
27.00 ± 0.20
+0.70
A1 BALL 24.00 –0.00
IDENTIFIER ZONE
+0.70
24.00
–0.00
27.00
± 0.20
MOLD
COMPOUND
PWB
SEATING PLANE
0.20
SOLDER BALL
0.60 ± 0.10
19 SPACES @ 1.27 = 24.13
Y
W
V
U
T
R 0.75 ± 0.15
P
N
M
L 19 SPACES
K @ 1.27 = 24.13
J
H
G
F
CENTER ARRAY E
FOR THERMAL D
ENHANCEMENT
C
(OPTIONAL)
(SEE NOTE BELOW) B
A
A1 BALL 1 2 3 4 5 6 7 8 9 10 12 14 16 18 20
11 13 15 17 19
CORNER
5-4406(F)
Note: Although the 16 thermal enhancement balls are stated as an option, they are standard on the 256 FPGA package.
352-Pin PBGA
Dimensions are in millimeters.
35.00 ± 0.20
+0.70
30.00 –0.00
A1 BALL
IDENTIFIER ZONE
+0.70
30.00
–0.00
35.00
± 0.20
MOLD
COMPOUND
PWB
SEATING PLANE
0.20
0.60 ± 0.10 SOLDER BALL
AF
AE
AD
AC
AB
AA
Y 0.75 ± 0.15
W
V
U
T
R
P 25 SPACES
N @ 1.27 = 31.75
M
L
K
J
H
CENTER ARRAY G
FOR THERMAL F
ENHANCEMENT E
(OPTIONAL) D
C
(SEE NOTE BELOW) B
A
A1 BALL 1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22 24 26
11 13 15 17 19 21 23 25
CORNER
5-4407(F)
Note: Although the 36 thermal enhancement balls are stated as an option, they are standard on the 352 FPGA package.
432-Pin EBGA
Dimensions are in millimeters.
40.00 ± 0.10
A1 BALL
IDENTIFIER ZONE
40.00
± 0.10
0.91 ± 0.06
1.54 ± 0.13
SEATING PLANE
0.20
SOLDER BALL
0.63 ± 0.07
AL
AK
AJ
AH
AG
AF
AE
AD
AC 0.75 ± 0.15
AB
AA
Y
W
V
U
T 30 SPACES
R @ 1.27 = 38.10
P
N
M
L
K
J
H
G
F
E
D
C
B
A
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
A1 BALL
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
CORNER
5-4409(F)
600-Pin EBGA
Dimensions are in millimeters.
45.00 ± 0.10
A1 BALL
IDENTIFIER ZONE
45.00
± 0.10
0.91 ± 0.06
1.54 ± 0.13
SEATING PLANE
0.20
SOLDER BALL
0.63 ± 0.07
AR
AP
AN
AM
AL
AK
AJ
AH
AG
AF 0.75 ± 0.15
AE
AD
AC
AB
AA
Y
V
W 34 SPACES
U @ 1.27 = 43.18
T
R
P
N
M
L
K
J
H
G
F
E
D
C
B
A
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35
A1 BALL 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34
CORNER
5-4408(F)
Ordering Information
OR3XXXX X XX XXX X XX
Commercial
Speed Package Pin/Ball Packing
Device Family Part Number Grade
Grade Type Count Designator
OR3T55 OR3T557PS208-DB 7 SQFP2 208 C DB
OR3T557PS240-DB 7 SQFP2 240 C DB
OR3T557BA256-DB 7 PBGA 256 C DB
OR3T557BA352-DB 7 PBGA 352 C DB
OR3T556PS208-DB 6 SQFP2 208 C DB
OR3T556PS240-DB 6 SQFP2 240 C DB
OR3T556BA256-DB 6 PBGA 256 C DB
OR3T556BA352-DB 6 PBGA 352 C DB
OR3T80 OR3T807PS208-DB 7 SQFP2 208 C DB
OR3T807PS240-DB 7 SQFP2 240 C DB
OR3T807BA352-DB 7 PBGA 352 C DB
OR3T807BC432-DB 7 EBGA 432 C DB
OR3T806PS208-DB 6 SQFP2 208 C DB
OR3T806PS240-DB 6 SQFP2 240 C DB
OR3T806BA352-DB 6 PBGA 352 C DB
OR3T806BC432-DB 6 EBGA 432 C DB
OR3T125 OR3T1257PS208-DB 7 SQFP2 208 C DB
OR3T1257PS240-DB 7 SQFP2 240 C DB
OR3T1257BA352-DB 7 PBGA 352 C DB
OR3T1257BC432-DB 7 EBGA 432 C DB
OR3T1257BC600-DB 7 EBGA 600 C DB
OR3T1256PS208-DB 6 SQFP2 208 C DB
OR3T1256PS240-DB 6 SQFP2 240 C DB
OR3T1256BA352-DB 6 PBGA 352 C DB
OR3T1256BC432-DB 6 EBGA 432 C DB
OR3T1256BC600-DB 6 EBGA 600 C DB
Industrial
188, 189, 190, 191, 192, 193 Clock (and Global CE and LSR) Routing Segments
Package Compatibility ??–154 33
Pin Descriptions 149, 153 Configurable Interconnect Points (CIPs) 27
Power DIssipation Control Signal and Fast-Carry Routing 30
OR3Txxx 147 Flexible Input Structure (FINS) 29
Power Dissipation 146–?? Inter-PLC Routing Resources 31
OR3Cxx 146 Interquad Routing 47
Programmable Clock Manager (PCM) ??–84 Minimizing Routing Delay 33
Clock Delay 76 Overview 8
Clock Multiplication 77 PFU Output Switching 29
DLL Mode 75 PIC Interquad (MID) Routing 49
PCM Cautions 84 Programmable Corner Cell Routing 48
PCM Detailed Programming 80 SLIC Connectivity 30
PCM Operation 79 Switching Routing Segments (xSW) 29
PCM/FPGA Internal Interface 79
PLL Mode 76 S
Registers 73 Soft-wired LUTs (see also Look-Up Table Operating
Programmable Function Unit (PFU) 11 Modes)
Twin-quad Architecture 1, 9, 16, 21 Soft-wired LUTs (SWLs) 1, 9, 14, 15
Programmable Input/Output Cells (PICs) 36–46 Special Function Blocks
5 V Tolerant I/O 37 Boundary Scan ??–63
Architecture 45 Boundary-Scan Cells 62
Control Inputs 13, 25 Boundary-Scan Timing 63
ASWE 13 Single Function Blocks 54
CE 13 Clock Control (CLKCNTRL) 56
CLK 13 Global 3-State Control (TS_ALL) 55
GSRN 13, 26 Global Set/Reset (GSRN) 55
LSR 13 Internal Oscillator 55
SEL 13 Readback Logic 54
Input Demultiplexing 40 Start-Up Logic 56
Inputs 38 Start-Up (see FPGA States of Operation)
Output Multiplexing 41 Supplemental Logic and Interconnect Cell (SLIC) 1, 21–
Outputs 41 24
Open-Drain Output Option 41 System Clock (see Clock Distribution Network) 50
Propagation Delays 41
Overview 36 T
PIO 36 Timing Characteristics
PIO Logic 43 Clock Timing 123
PIO Options 37 Derating 103
PIO Register Control Signals 43 Description 103
Zero-Hold Input 39 General Configuration Mode Timing 133, 134
Programmable Logic Cells (PLCs) 11–35 PFU Timing 104
Architecture 34 PIO Timing 112, 114
Latches/Flip-Flops 25, 26 PLC Timing 111
Routing 27 Readback Timing 142
Propagation Delays (see PICs, Outputs) Tolerant I/O (see 5 V Tolerant I/O) 37
Twin-quad Architecture (see PFU) 1
R
RAM (see also FPGA Configuration) 89
Dual-port 6, 13, 20
Single-port 6, 13, 20
Recommended Operating Conditions 100
Reconfiguration (see FPGA States of Operation)
Routing
3-Statable Bidirectional Buffers 27
BIDI Routing 27, 30
210 Lattice Semiconductor