® ispLSI 1000EA Family Architectural Description October 2001 Introduction The ispLSI 1000EA Family of High Density Programmable Logic devices includes the 1016EA, 1024EA, 1032EA and 1048EA devices. Each family member offers internal registers, input registers, Universal I/O pins, dedicated input pins, dedicated clock inputs and a Global Routing Pool (GRP). The GRP provides complete interconnectivity between all of these elements. The ispLSI 1000EA Family features 5V JTAG In-System Programmability (ISP™) and in-system diagnostic capabilities via the IEEE 1149.1 Test Access Port. The devices offer non-volatile reprogrammability of the logic, as well as the interconnects, to provide truly reconfigurable systems. Each output pin has optional slow slew and open-drain configurations. The basic unit of logic for the ispLSI families is the Generic Logic Block (GLB). Figure 1 illustrates the ispLSI 1032EA with its 32 GLBs labeled A0, A1 .. D7. Each GLB has 18 inputs, a programmable AND/OR/XOR array, and four outputs, which can be configured to be either combinatorial or registered. Inputs to the GLB come from the Global Routing Pool (GRP) and dedicated inputs. All of the GLB outputs are brought back into the GRP so they can be connected to the inputs of any other GLB on the device. IN 7 IN 6 I/O 51 I/O 50 I/O 49 I/O 48 I/O 55 I/O 54 I/O 53 I/O 52 I/O 59 I/O 58 I/O 57 I/O 56 I/O 63 I/O 62 I/O 61 I/O 60 Figure 1. ispLSI 1032EA Functional Block Diagram RESET Input Bus VCCIO Generic Logic Blocks (GLBs) Output Routing Pool (ORP) D7 D6 D5 D4 D3 D2 D1 GOE 1/IN 5 GOE 0/IN 4 D0 I/O 47 I/O 46 I/O 45 I/O 44 C7 C5 A2 A3 A4 C3 C2 A5 C1 I/O 43 I/O 42 I/O 41 I/O 40 I/O 39 I/O 38 I/O 37 I/O 36 I/O 35 I/O 34 I/O 33 I/O 32 A6 I/O 12 I/O 13 I/O 14 I/O 15 C0 B1 B2 B3 B4 B5 B6 Output Routing Pool (ORP) TMS Input Bus CLK 0 CLK 1 CLK 2 IOCLK 0 IOCLK 1 0139B/1032EA B7 Megablock TDO Clock Distribution Network Y0 Y1 Y2 Y3 A7 B0 TDI C4 Global Routing Pool (GRP) lnput Bus Output Routing Pool (ORP) I/O 8 I/O 9 I/O 10 I/O 11 C6 A1 lnput Bus I/O 4 I/O 5 I/O 6 I/O 7 A0 Output Routing Pool (ORP) I/O 0 I/O 1 I/O 2 I/O 3 www.latticesemi.com 1 I/O 28 I/O 29 I/O 30 I/O 31 I/O 24 I/O 25 I/O 26 I/O 27 I/O 20 I/O 21 I/O 22 I/O 23 I/O 16 I/O 17 I/O 18 I/O 19 TCK 1karch_07 Lattice Semiconductor ispLSI 1000EA Family Architectural Description As an example, the ispLSI 1032EA has 64 I/O cells, each of which is directly connected to an I/O pin. Each I/O cell can be individually programmed to be a combinatorial input, registered input, latched input, output or bidirectional I/O pin with tristate control. Additionally, all outputs are polarity selectable, active high or active low. The signal levels are TTL compatible voltages. The I/O cells are grouped into sets of 16 as shown in Figure 1. Each of these I/O groups is associated with a Megablock through the use of the Output Routing Pool (ORP). Eight GLBs, 16 I/O cells, one ORP and two dedicated inputs are connected together to make a Megablock. The outputs of the eight GLBs are connected to a set of 16 universal I/O cells by the ORP. Each Megablock can generate one common Product Term Output Enable (PTOE) signal. The ispLSI 1032EA device, shown in Figure 1, contains four Megablocks. The GRP has as its inputs the outputs from all of the GLBs and all of the inputs from the bidirectional I/O cells. All of these signals are made available to the inputs of the GLBs. Delays through the GRP have been equalized to minimize timing skew. Clocks in the devices are selected using the Clock Distribution Network. The dedicated clock pins (Y0, Y1, Y2 and Y3) are brought into the distribution network, and five outputs (CLK 0, CLK1, CLK 2, IOCLK 0 and IOCLK 1) are provided to route clocks to the GLBs and I/O cells. The Clock Distribution Network can also be driven from a special GLB (C0 on the ispLSI 1032EA devices). The logic of this GLB allows the user to create an internal clock from a combination of internal signals within the device. All ispLSI 1000EA family members are 100% IEEE 1149.1 Boundary Scan Testable through the Boundary Scan Test Access Port (TAP). Generic Logic Block The Generic Logic Block (GLB) is the standard logic block of Lattice’s high density ispLSI devices. A GLB has 18 inputs, four outputs and the logic necessary to implement most standard logic functions. The internal logic of the GLB is divided into four separate sections: the AND Array, the Product Term Sharing Array (PTSA), the Reconfigurable Registers and the Control Functions (see Figure 2). Figure 2. GLB: Product Term Sharing Array Example Inputs From Global Routing Pool 0 1 2 3 4 5 6 7 8 Dedicated Inputs Product Term Sharing Array 9 10 11 12 13 14 15 16 17 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 4 Reconfigurable Registers D, J-K, and T DQ M U X DQ M U X DQ M U X O2 To Global Routing Pool and Output Routing O1 Pool DQ M U X O0 4 5 7 O3 AND Array PT Reset Global RESET Control Functions CLK 0 CLK 1 CLK 2 PT Clock MUX PT Output Enable MUX To Output Enable Mux 2 Lattice Semiconductor ispLSI 1000EA Family Architectural Description The AND array consists of 20 product terms, which can produce the logical product of any of the 18 GLB inputs. 16 of the inputs come from the Global Routing Pool, and are either feedback signals from any of the GLBs or inputs from the external I/O cells. The two remaining inputs come directly from two dedicated input pins. These signals are available to the product terms in both the logical true and the complemented forms which makes Boolean logic reduction more efficient. The PTSA takes the 20 product terms and routes them to the four GLB outputs. There are four OR gates, with four, four, five and seven product terms each (Figure 2). The output of any of these OR gates can be routed to any of the four GLB outputs, and if more product terms are needed, the PTSA can combine them as necessary. In addition, the PTSA can share product terms similar to an FPLA device. If the user's main concern is speed, the PTSA can use a bypass circuit which provides four product terms to each output, to increase the performance of the cell (Figure 3). This can be done to any or all of the four outputs from the GLB. Figure 3. GLB: Four Product Term Bypass Example Inputs From Global Routing Pool 0 1 2 3 4 5 6 7 8 Dedicated Inputs 9 10 11 12 13 14 15 16 17 Product Term Sharing Array (Four Product Term Bypass Shown) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 AND Array D Registers 4 DQ M U X O3 DQ M U X O2 DQ M U X To Global Routing Pool and Output Routing O1 Pool DQ M U X O0 4 4 4 PT Reset Global RESET Control Functions CLK 0 CLK 1 CLK 2 PT Clock PT Output Enable MUX MUX To Output Enable Mux 0131A/1K The Reconfigurable Registers consist of four D-type flip-flops with an XOR gate on the input. The XOR gate in the GLB can be used either as a logic element or to reconfigure the D-type flip-flop to emulate a J-K or T-type flip-flop (see Figure 4). This greatly simplifies the design of counters, comparators and ALU type functions. The registers can be bypassed if the user needs a combinatorial output. Each register output is brought back into the Global Routing Pool and is also brought to the I/O cells via the Output Routing Pool. Reconfigurable registers are not available when the four product term bypass is used. The PTSA is flexible enough to allow these features to be used in virtually any combination that the user desires. In the GLB shown in Figure 5, Output Three (O3) is configured using the XOR gate while Output Two (O2) is configured using the four Product Term Bypass. Output One (O1) uses one of the inputs from the five Product Term OR gate while Output Zero (O0) combines the remaining four product terms with all of the product terms from the seven Product Term OR gate for a total of 11 (7+4). 3 Lattice Semiconductor ispLSI 1000EA Family Architectural Description Figure 4. GLB: XOR Gate Example Inputs From Global Routing Pool 0 1 2 3 4 5 6 7 8 Dedicated Inputs Product Term Sharing Array (XOR Configuration Shown) 9 10 11 12 13 14 15 16 17 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 D Registers 3 3 DQ M U X DQ M U X DQ M U X DQ M U X 4 6 O3 To O2 Global Routing Pool and Output Routing O1 Pool O0 AND Array PT Reset Global RESET Control Functions CLK 0 CLK 1 CLK 2 PT Clock MUX MUX PT Output Enable To Output Enable Mux Figure 5. GLB: Mixed Mode Configuration Example Inputs From Global Routing Pool 0 1 2 3 4 5 6 7 8 Dedicated Inputs Product Term Sharing Array 9 10 11 12 13 14 15 16 17 D Registers 3 + 4 (Shared) PTs and XOR 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 4 4 PT Bypass M U X D Q M U X D Q M U X To O2 Global Routing Pool and Output Routing O1 Pool D Q M U X O0 Single PT 4 7 D Q 7 + 4 (Shared) PTs O3 AND Array PT Reset Global RESET Control Functions CLK 0 CLK 1 CLK 2 PT Clock MUX PT Output Enable MUX To Output Enable Mux Various signals that control the operation of the GLB outputs are driven from the Control Functions (Figure 5). The clock for the registers can come from any of three sources developed in the Clock Distribution Network (see Clock Distribution Network section) or from a product term within the GLB. The Reset Signal for the GLB can come from the Global Reset pin (RESET) or from a product term within the GLB. The global reset pin is always connected and is logically "ORed" with the PT reset (if used). An active reset signal always sets the Q of the registers to a logic 0 state. The Output Enable for the I/O cells associated with the GLB comes from a product term within the block. Use 4 Lattice Semiconductor ispLSI 1000EA Family Architectural Description of a product term for a control function makes that product term unavailable for use as a logic term. Refer to the Product Term Sharing Matrix (Table 1) to determine which logic functions are affected. There are many additional features in a GLB that allow implementation of logic intensive functions. These features are accessible using the hard macros from the software and require no intervention on the part of the user. Table 1. Product Term Sharing Matrix Product Standard Configuration Four Product Term Single Product Term Term # Output Number Bypass Output Number Output Number 3 2 1 0 3 2 1 0 3 2 1 0 XOR Function Output Number 3 3 2 2 1 1 Alternate Function 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 CLK/Reset 13 14 15 16 17 18 19 OE/Reset Product Term Sharing Matrix This matrix describes how each of the product terms are used in the various modes. For example, Product Term 12 can be used as an input to the five input OR gate in the standard configuration. This OR gate under standard configuration can be routed to any of the four GLB outputs. Product Term 12 is not used in the four product term bypass mode. When GLB output one is used in the XOR mode, Product Term 12 becomes one of the inputs to the four input OR Gate. If Product Term 12 is not used in the logic, then it is available for use as either the Asynchronous Clock signal or the GLB Reset signal. The Megablock A Megablock consists of eight GLBs, an ORP, 16 I/O cells, two dedicated inputs and a common product term OE. These elements are coupled together as shown in Figure 6. The various members of the ispLSI 1000EA family combine from one to six Megablocks on a single device (Table 2). For the ispLSI 1000EA family, the eight GLBs within the Megablock share two dedicated input pins. These dedicated input pins are not available to GLBs in any other Megablock. The pins are dedicated (non-registered) inputs only. The product term OE signal is generated within the Megablock. The OE signal can be generated using a product term (PT19) in any of eight GLBs within the Megablock. See Output Enable Control section for further details. Because of the shared logic within the Megablock, signals that share a common function (counters, busses, etc.) should be grouped within a Megablock. This will allow the user to obtain the best utilization of the logic within the device and eliminate routing bottlenecks. 5 Lattice Semiconductor ispLSI 1000EA Family Architectural Description Table 2. Device Resources ispLSI Device Megablocks GLBs I/O Cells Dedicated Inputs 1010EA 2 16 32 1 1024EA 3 24 48 2 1032EA 4 32 64 4 1048EA 6 48 96 8 Input Routing Signal inputs are handled in two ways within the device. First, each I/O cell within the device has its input routed directly to the GRP. This gives every GLB within the device access to each I/O cell input. Second, each Megablock has two dedicated inputs which are directly routed to the eight GLBs within the Megablock. Both input paths are shown in Figure 6. Figure 6. The Megablock Block Diagram Global Routing Pool 16 16 GLB D0 16 GLB D1 16 GLB D2 16 GLB D3 16 GLB D4 16 GLB D5 16 GLB D6 16 GLB D7 Output Routing Pool I/O Cell Inputs to GRP IN 6 IN 7 I/O Cell 0 I/O Cell 1 I/O Cell 2 I/O Cell 3 I/O Cell 4 I/O Cell 5 I/O Cell 6 I/O Cell 7 I/O Cell 8 I/O Cell 9 I/O Cell 10 I/O Cell 11 I/O Cell 12 I/O Cell 13 I/O Cell 14 I/O Cell 15 The Output Routing Pool The ORP routes signals from the GLB outputs to I/O cells configured as outputs or bidirectional pins (Figure 7). The purpose of the ORP is to allow greater flexibility when assigning I/O pins. It also simplifies the job for the routing software which results in a higher degree of utilization. Figure 7. Output Routing Pool A0 0 1 2 3 A1 0 1 2 3 A2 0 1 2 3 A3 0 1 2 3 A4 0 1 2 3 A5 0 1 2 3 A6 0 1 2 3 A7 0 1 2 3 I/O Cell Inputs to GRP 16 ORP I/O 0 I/O 1 I/O 2 I/O 3 I/O 4 I/O 5 I/O 6 I/O 7 I/O 8 6 I/O 9 I/O 10 I/O 11 I/O 12 I/O 13 I/O 14 I/O 15 Lattice Semiconductor ispLSI 1000EA Family Architectural Description By examining the ORP in Figure 7, it can be seen that a GLB output can be connected to one of four I/O cells. Further flexibility is provided by using the PTSA (Figures 2 through 5) which makes the GLB outputs completely interchangeable. This allows the routing program to freely interchange the outputs to achieve the best routability. This is an automatic process and requires no intervention on the part of the user. The ORP bypass connections (Figure 8) further increase the flexibility of the device. The ORP bypass connects specific GLB outputs to specific I/O cells at a faster speed. The bypass path tends to restrict the routability of the device and should only be used for critical signals. Figure 8. Output Routing Pool Showing Bypass A0 0 1 2 3 A1 0 1 2 3 A2 0 1 2 3 A3 0 1 2 3 A4 0 1 2 3 A5 0 1 2 3 A6 0 1 2 3 A7 0 1 2 3 I/O Cell Inputs to GRP 16 ORP I/O 0 I/O 1 I/O 2 I/O 3 I/O 4 I/O 5 I/O 6 I/O 7 I/O 8 I/O 9 I/O 10 I/O 11 I/O 12 I/O 13 I/O 14 I/O 15 I/O Cell The I/O cell (Figure 9) is used to route input, output or bidirectional signals connected to the I/O pin. One logic input comes from the ORP, and the other comes from the faster ORP bypass. A pair of multiplexers select which signal will be used, and its polarity. Figure 9. I/O Cell Architecture GOE0 GOE1* MUX MUX Product Term OE VCCIO Output Enable Active Pull Up From Output Routing Pool From Output Routing Pool Bypass MUX MUX Slow Slew Open Drain I/O Pin 5V/3.3V VCCIO To Global Routing Pool MUX D Q IOCLK 0 MUX MUX R/L Reset IOCLK 1 Notes: From Global RESET Represents an E2CMOS Cell. * Not Available on ispLSI 1016EA 7 Lattice Semiconductor ispLSI 1000EA Family Architectural Description Figure 10. Examples of I/O Cell Configurations Pin Bi-Directional I/O Pin Pin Input Buffer I/O Pin Output Buffer D Q Pin I/O Cell Clock Pin LE Bi-Directional I/O Pin With Registered Input Inverting Output Buffer Latch Input I/O Pin D Q Pin D Q Pin I/O Cell Clock Output Buffer with 3-State Enable I/O Cell Clock Registered Input Input Cells Output Cells Bi-Directional Cells The Output Enable can be set to a logic high (enabled) when an output pin is desired, or logic low (disabled) when an input pin is needed. The Global Reset (RESET) signal is driven by the active low chip reset pin. The Global Reset pin is always connected to all GLB and I/O registers. Each I/O cell can individually select one of the two clock signals (IOCLK 0 or IOCLK 1). The clock signals are generated by the Clock Distribution Network. Using the multiplexers, the I/O cell can be configured as an input, an output, a tristated output or a bidirectional I/O. The D-type register can be configured as a level sensitive transparent latch or an edge triggered flip-flop to store the incoming data. Figure 10 illustrates some of the various I/O cell configurations possible. In addition to the standard totem-pole output configuration, each output can be programmed as an open-drain output. The totem-pole output drives the specified VOH and VOL levels, whereas the open-drain output drives only the specified VOL. The VOH level on the open-drain output depends on the external loading and pull-up resistance. The default configuration for the output driver is the totem-pole configuration. Each output can be programmed independently with a slow or fast slew rate. In order to minimize output switching noise, the slow slew option should be used. The default slew rate for all output pins is fast slew. A VCCIO pin is available which must be connected to a common 5V or 3.3V power supply so the output levels can be matched to 5V or 3.3V compatible voltages. VCCIO is common to all the I/O cells and the user applied VCCIO voltage on the pin determines the I/O voltage reference for the entire device. When VCCIO is set to 3.3V, the output can source 2mA and sink 8mA. When VCCIO is set to 5V, the outputs can source 4mA and sink 8mA. An active pull-up resistor is available on all the I/O pins connected to VCCIO. If an I/O pin is not being used in a functional design, the pull-up will automatically be used in order to hold the I/O cell at VCCIO. Noise immunity can be improved by having all the active pull-ups on the I/O pins being programmed on. Each I/O pin that is used functionally in the design can be configured with the pull-up on or off. Output Enable Control The product term OE signal produced in each Megablock is available to all I/O cells in the Megablock that produced the signal. This product term OE bus allows more flexibility for bi-directional or tri-state control. An optional Global Output Enable (GOE) is provided on each of the 1000EA devices. The GOE provides minimum delay output enable control and additional OE signal choices to the OE MUX. On the 1016EA and 1032EA devices, the GOE is multiplexed with dedicated inputs. 8 Lattice Semiconductor ispLSI 1000EA Family Architectural Description Figure 11. Output Enable Control for a Megablock GLB A0 GLB A1 GLB A2 GLB A3 GLB A4 GLB A5 GLB A6 GLB A7 8:1 OE MUX PTOEs From Other Megablocks GOE0 To Other I/O Cells GOE1* MUX MUX MUX MUX MUX • Portion of I/O Cell 0 • MUX • MUX Portion of I/O Cell 1 MUX Portion of I/O Cell 14 Portion of I/O Cell 15 I/O Pin I/O Pin I/O Pin I/O Pin 0134/1K *Not available on ispLSI 1016E. Global Routing Pool The GRP is a proprietary interconnect structure that offers fast predictable speeds with complete connectivity. The GRP allows the outputs from the GLBs or the I/O cell inputs to be connected to the inputs of the GLBs. Any GLB output is available to the input of all other GLBs, and similarly an input from an I/O pin is available as an input to all of the GLBs. Because of the uniform architecture of the ispLSI devices, the delays through the GRP are both consistent and predictable. However, they are slightly affected by GLB loading. See individual ispLSI 1000EA device data sheets for specific GLB loading delays. Delays through the GRP have been equalized to minimize timing skew. Clock Distribution Network The Clock Distribution Networks are shown in Figure 12. They generate five global clock signals CLK 0, CLK 1, CLK 2 , IOCLK 0 and IOCLK 1. The first three, CLK 0, CLK 1 and CLK 2 may be used for clocking all the GLBs in the device. Similarly, IOCLK 0 and IOCLK 1 signals are used for clocking all of the I/O cells in the device. There are four dedicated system clock pins (Y0, Y1, Y2, Y3) (two for the ispLSI 1016EA (Y0, Y1)), which can be directed to any GLB or any I/O cell using the Clock Distribution Network. The other inputs to the Clock Distribution Network are the four outputs of a dedicated clock GLB ("C0" for the ispLSI 1032EA is shown in Figure 1). These clock GLB outputs can be used to create a user-defined internal clocking scheme. 9 Lattice Semiconductor ispLSI 1000EA Family Architectural Description Figure 12. Clock Distribution Networks ispLSI 1024EA, 1032EA and 1048EA Generic Logic Block "C0" O0 O1 O2 O3 ispLSI 1016EA Generic Logic Block “B0” O0 O1 O2 O3 Clock Distribution Network Clock Distribution Network CLK 0 CLK 1 CLK 2 IOCLK 0 IOCLK 1 CLK 0 CLK 1 CLK 2 IOCLK 0 IOCLK 1 Y0 Y1* CLK/ Reset Y0 Y1 Y2 Y3 Dedicated Clock Input Pins Dedicated Clock Input Pins *Note: Pin Y1 has the Clock and Reset functions multiplexed on the ispLSI 1016EA; selection is controlled in the software tools. For example, the clock GLB can be clocked using the external main clock pin Y0 connected to global clock signal CLK 0. The outputs of the clock GLB in turn can generate a "divide by" signal of the CLK 0 which can be connected to the CLK 1, CLK 2, IOCLK 0 or IOCLK 1 global clock lines. All GLBs have the capability of generating their own asynchronous clocks using the clock Product Term (PT12). CLK 0, CLK 1 and CLK 2 feed to their corresponding clock MUX inputs on all the GLBs (Figure 2). The two I/O clocks generated in the Clock Distribution Network IOCLK 0 and IOCLK 1, are brought to all the I/O cells and the user programs the I/O cell to use one of the two. Boundary Scan and ISP ISP programming of the device is performed via IEEE1149.1 compliant JTAG state machine. The programming signals are driven on the standard Test Access Port (TAP) interface. The four wire interface includes Test Data In (TDI), Test Clock (TCK), Test Mode Select (TMS), and Test Data Out (TDO). ISP program enable and disable is controlled by the private programming instruction set. In addition to ISP programming, the JTAG state machine also provides standard boundary scan test capability. Standard boundary scan instructions supported are Sample/Preload, Extest, Bypass and High-Z instructions. The boundary scan test registers associated with each of the I/O pins control the state of the I/O pin when the device is not in normal functional mode. This feature allows users to define the state of the I/O pins during test and ISP programming modes. 10 Lattice Semiconductor ispLSI 1000EA Family Architectural Description Figure 13. Boundary Scan Register for I/O Pins HIGHZ SCANIN (from previous cell) BSCAN Registers D BSCAN Latches Q D Normal Function OE Q 0 1 EXTEST PROG_MODE Normal Function Shift DR D Q D Q Clock DR D Q 0 I/O Pin 1 SCANOUT (to next cell) Update DR Reset Figure 14. Boundary Scan Register for Dedicated Input Pins Input Pin SCANIN (from previous cell) D Q SCANOUT (to next cell) Shift DR Clock DR Timing Model The task of determining the timing through the device is simple and straightforward. A device timing model is shown in Figure 15. To determine the time that it takes for data to propagate through the device, simply determine the path the data is expected to follow, and add the various delays together (Figure 16). Critical timing paths are shown in Figure 16, using data sheet parameters. Note that the internal timing parameters are given for reference only, and are not tested. External timing parameters are tested and guaranteed on every device. 11 Lattice Semiconductor ispLSI 1000EA Family Architectural Description Figure 15. ispLSI 1000EA Timing Model I/O Cell GRP GLB #47 Ded. In I/O Pin (Input) #60 ORP I/O Cell Feedback #34 #28 Comb 4 PT Bypass GLB Reg Bypass ORP Bypass #22 #30 #35 #39 #49 Input D Register Q RST #23 - 27 GRP Loading Delay 20 PT XOR Delays GLB Reg Delay ORP Delay #29, 31 - 33 #36 - 38 I/O Reg Bypass GRP4 Reg 4 PT Bypass D Q #50, 51 #52, 53 #48 RST #60 Reset Clock Distribution Y1,2,3* #40 - 43 Control RE PTs OE #44 - 46 CK #56 - 59 0491/1KEA #55 Y0 #54 GOE 0,1* *Note: Y1, Y2 and GOE0 only for the ispLSI 1016EA. Figure 16. ispLSI Timing Model Examples* Combinatorial Paths + + tgrp4 + + tgrp4 tsu = Logic + th = Clock(max) + tco = Clock(max) + Regsu Regh Regco - Clock(min) Logic + Output tgrp4 + + t4ptbp ) + (tiobp + + (torpbp + + txoradj) + (tiobp + + (torp tpd1 #1 = = tiobp #22 = tiobp #2 = #22 Registered Paths tpd2 #30 #30 + + t4ptbp #35 + #39 + + txoradj + + t20ptxor + + tgsu + + tgrp4 + + tob) + + tgsu + + tgrp4 + + tob) #50,51 #38 + t20ptxor #39 + + torpbp + + torp + tgy0(min) + + t4ptbp) + + tgy0(min) + + txoradj) #49 #48 General Form: Specific Examples: tsu1 = (tiobp #6 = #22 + + #30 th1 = tgy0(max) + tgh #8 + #41 tco1 = tgy0(max) + tgco #7 + #42 + + tgrp4 = = #55 #55 tsu2 = (tiobp #9 = #22 #30 th2 = tgy0(max) + tgh #11 = + #41 tco2 = tgy0(max) + tgco #10 = #42 #55 #55 + #35 #22 #49 #38 #22 #48 #40 #30 #55 #35 #50 #40 #30 #55 #38 *The timing parameter reference numbers refer to the internal timing parameters contained in the individual data sheets. 12 tob + + #50,51 + + tob #50,51 I/O Pin (Output) Lattice Semiconductor ispLSI 1000EA Family Architectural Description Circuit Timing Example A design requires one logic level (using the 20PTXOR path). The design then uses a GLB register before exiting the device using the ORP bypass. Calculate tSU, tH and tCO. Figure 17. Timing Calculation Example Logic Level 20PTXOR IN GLB Reg ORP Bypass Out Clock GLB Reg Y0 tsu = = = 0.8 ns = Logic + Reg su - Clock (min) (tiobp + tgrp4 + t20ptxor) + (tgsu) – (tgy0(min) + tgco + tgcp(min)) (#22 + #30 + #37) + (#40) – (#54 + #42 + #57) (0.3 + 1.5 + 1.9) + (0.2) – (0.9 + 1.4 + 0.8) th = = = 1.4 ns = Clock (max) + Reg h - Logic (tgy0(max) + tgco + tgcp(max)) + (tgh) – (tiobp + tgrp4 + t20ptxor) (#55 + #42 + #57) + (#41) – (#22 + #30 + #37) (0.9 + 1.4 + 1.8) + (1.0) – (0.3 + 1.5 + 1.9) tco 7.2 ns = = = = Clock (max) + Reg co + ut put (tgy0(max) + tgco + tgcp(max)) + (tgco) + (torp + tob) (#55 + #42 + #57) + (#42) + (#48 + #50) (0.9 + 1.4 + 1.8) + (1.4) + (0.8 + 0.9) Note: Calculations are based upon timing specifications for the ispLSI 1032EA-200 device. 13