® May 1999, ver. 2 Introduction Understanding MAX 7000 Timing Application Note 94 Altera® devices provide performance that is consistent from simulation to application. Before programming a device, you can determine the worstcase timing delays for any design. You can calculate propagation delays with either the MAX+PLUS® II Timing Analyzer or the timing models given in this application note and the timing parameters listed in individual device data sheets. Both methods yield the same results. This application note defines internal and external timing parameters, and illustrates the timing models for the MAX® 7000 device family (including MAX 7000E, MAX 7000S, MAX 7000A, MAX 7000AE, and MAX 7000B devices). Familiarity with device architecture and characteristics is assumed. Refer to specific device or device family data sheets in this data book for complete descriptions of the architectures, and for the specific values of the timing parameters listed in this application note. Internal Timing Parameters Altera Corporation A-AN-094-02 Within a device, the timing delays contributed by individual architectural elements are called internal timing parameters, which cannot be measured explicitly. All internal timing parameters are shown in italic type. The following section defines the internal timing parameters for the MAX 7000 device family and applies to all MAX 7000 devices unless otherwise indicated. t IN Dedicated input pad and buffer delay. t IN represents the time required for a dedicated input pin to drive the input signal into the programmable interconnect array (PIA) or into the global control array. t IO I/O input pad and buffer delay. The t IO delay applies to I/O pins used as inputs. t IO is the delay from the I/O pin to the PIA. t PIA PIA delay. The delay incurred by routing a signal through the PIA. t SEXP Shared expander array delay. The delay of a signal through the AND-NOT structure of the shared expander product-term array that is fed back into the logic array. 957 AN 94: Understanding MAX 7000 Timing 958 t PEXP Parallel expander delay. The additional delay incurred by adding parallel expander product terms to the macrocell product terms. For each group of up to five parallel expanders added to a single function, an additional t PEXP delay is added to the timing path. t GLOB Global control delay. The delay from a dedicated input pin to any global control function in a macrocell or I/O control block. t IOE Internally generated output enable delay. The delay from an internally generated signal on the PIA to the output enable of the tri-state buffer. t LAC Logic array control delay. The AND array delay for register control functions such as preset, clear, and output enable. t IC Array clock delay. The delay through a macrocell’s clock product term to the register’s clock input. t EN Register enable delay. The AND array delay from the PIA to the register enable input. t CLR Register clear time. The delay from the assertion of the register’s asynchronous clear input to the time the register output stabilizes at logical low. t PRE Register preset time. The delay from the assertion of the register’s asynchronous preset input to the time the register output stabilizes at logical high. t LAD Logic array delay. The time a logic signal requires to propagate through a macrocell’s AND-OR-XOR structure. t RD Register delay. The delay from the rising edge of the register’s clock to the time the data appears at the register output. t SU Register setup time, for data and enable signals before clock. The time required for a signal to be stable at the register’s data and enable inputs before the register clock’s rising edge to ensure that the register correctly stores the input data. tH Register hold time, for data and enable signals after clock. The time required for a signal to be stable at the register’s data and enable inputs after the register clock’s rising edge to ensure that the register correctly stores the input data. Altera Corporation AN 94: Understanding MAX 7000 Timing Altera Corporation tFSU Fast-input register setup time. When the fast-input register is used, tFSU is the time required for a signal to be stable at the register’s data and enable inputs before the register clock’s rising edge to ensure that the register correctly stores the input data. tFH Fast-input register hold time. When the fast-input register is used, tFH is the time required for a signal to be stable at the register’s data and enable inputs after the register clock’s rising edge to ensure that the register correctly stores the input data. tFIN Fast input delay. The delay from the I/O pin to the macrocell register when fast input registers are used. t COMB Combinatorial buffer delay. The delay from the time when a combinatorial logic signal bypasses the programmable register to the time it becomes available at the macrocell output. tOD1 Output buffer and pad delay with the slow slew rate logic option turned off and VCCIO = VCCINT. tOD2 Output buffer and pad delay with the slow slew rate logic option turned off and VCCIO = low voltage. tOD3 Output buffer and pad delay with the slow slew rate logic option turned on. tXZ Output buffer disable delay. The delay required for high impedance to appear at the output pin after the output buffer’s enable control is disabled. tZX1 Output buffer enable delay with the slow slew rate logic option turned off and VCCIO = VCCINT. The delay required for the output signal to appear at the output pin after the tri-state buffer’s enable control is enabled. tZX2 Output buffer enable delay with the slow slew rate logic option turned off and VCCIO = low voltage. The delay required for the output signal to appear at the output pin after the tri-state buffer’s enable control is enabled. tZX3 Output buffer enable delay with the slow slew rate logic option turned on. The delay required for the output signal to appear at the output pin after the tri-state buffer’s enable control is enabled. 959 AN 94: Understanding MAX 7000 Timing t LPA External Timing Parameters 960 Low-power adder. The delay associated with macrocells in low-power operation. In low-power mode, t LPA must be added to the logic array delay (t LAD), the register control delay (t LAC, t IC, t ACL, or t EN), and the shared expander delay (t SEXP) paths. External timing parameters represent actual pin-to-pin timing characteristics. Each external timing parameter consists of a combination of internal timing parameters. The data sheet for each device gives the values of the external timing parameters. These external timing parameters are worst-case values, derived from extensive performance measurements and ensured by testing. All external timing parameters are shown in bold type. The following list defines external timing parameters for MAX 7000 devices. t PD1 Dedicated input pin to non-registered output delay. The time required for a signal on any dedicated input pin to propagate through the combinatorial logic in a macrocell and appear at an external device output pin. t PD2 I/O pin input to non-registered output delay. The time required for a signal on any I/O pin input to propagate through the combinatorial logic in a macrocell and appear at an external device output pin. t PZX Tri-state to active output delay. The time required for an input transition to change an external output from a tri-state (highimpedance) logic level to a valid high or low logic level. t PXZ Active output to tri-state delay. The time required for an input transition to change an external output from a valid high or low logic level to a tri-state (high-impedance) logic level. t CLR Time to clear register delay. The time required for a low signal to appear at the external output, measured from the input transition. t SU Global clock setup time. The time that data must be present at the input pin before the global (synchronous) clock signal is asserted at the clock pin. tH Global clock hold time. The time that data must be present at the input pin after the global clock signal is asserted at the clock pin. t FSU Fast-input clock setup time. When the fast-input path is used, t FSU is the time that data must be present at the input pin before the global (synchronous) clock signal is asserted at the clock pin. Altera Corporation AN 94: Understanding MAX 7000 Timing Timing Models t FH Fast-input clock hold time. When the fast-input path is used, t FH is the time that data must be present at the input pin after the global clock signal is asserted at the clock pin. t CO1 Global clock to output delay. The time required to obtain a valid output after the global clock is asserted at the clock pin. t CNT Minimum global clock period. The minimum period maintained by a globally clocked counter. t ASU Array clock setup time. The time data must be present at an input pin before an array (asynchronous) clock signal is asserted at the input pin. t AH Array clock hold time. The time data must be present at an input pin after an array clock signal is asserted at the input pin. t ACO1 Array clock to output delay. The time required to obtain a valid output after an array clock signal is asserted at an input pin. t ACNT Minimum array clock period. The minimum period maintained by a counter when it is clocked by a signal from the array. Timing models are simplified block diagrams that illustrate the propagation delays through Altera devices. Logic can be implemented on different paths. You can trace the actual paths used in your design by examining the equations listed in the MAX+PLUS II Report File (.rpt) for the project. You can then add up the appropriate internal timing parameters to calculate the propagation delays through the device. The MAX 7000 architecture has globally routed register clock, clear, and tri-state buffer output enable signals. Two types of expander product terms—shared and parallel—can be used to implement complex logic. Each macrocell can be set for low-power operation to reduce power dissipation in the device. Figure 1 shows the timing model for MAX 7000 devices. Altera Corporation 961 AN 94: Understanding MAX 7000 Timing Figure 1. MAX 7000 Device Timing Model Internal Output Enable Delay (1) tIOE Global Control Delay tGLOB Input Delay tIN PIA Delay tPIA Logic Array Delay tLAD Parallel Expander Delay tPEXP Register Control Delay tLAC tIC tEN Shared Expander Delay tSEXP Fast Input Delay (1) tFIN Register Delay tSU tH tPRE tCLR tRD tCOMB tFSU tFH Output Delay tOD1 tOD2 (2) tOD3 (1) tXZ tZX1 tZX2 (2) tZX3 (1) I/O Delay tIO Notes: (1) (2) This parameter is available in MAX 7000E, MAX 7000S, MAX 7000A, MAX 7000AE, and MAX 7000B devices only. This parameter is not available in 44-pin devices. Calculating Timing Delays You can calculate pin-to-pin timing delays for any device with the appropriate timing model and internal timing parameters. Each external timing parameter is calculated from a combination of internal timing parameters. Figure 2 shows the external timing parameters for the MAX 7000 device family. To calculate the delay for a signal that follows a different path through the device, refer to the timing models shown in Figure 1 to determine which internal timing parameters to add together. Figure 2. External Timing Parameters (Part 1 of 3) Combinatorial Delay Combinatorial Logic t PD1 = t PD2 = t IN + t PIA + t LAD + t COMB + ( t OD1 or tOD2 or t OD2 ) t IO + t PIA + t LAD + t COMB + ( t OD1 or t OD2 or t OD3 ) Tri-State Enable/Disable Delay Global Control t PXZ , t PZX 962 = t IN + t GLOB + ( t XZ or t ZX1 or t ZX2 or t ZX3 ) Altera Corporation AN 94: Understanding MAX 7000 Timing Figure 2. External Timing Parameters (Part 2 of 3) Register Clear & Preset Time Global Control t GCLR = t IN + t GLOB + t CLR + ( t OD1 or t OD2 or t OD3 ) Combinatorial Logic t PRE , t CLR = t IN + t PIA + t LAC + ( t PRE or t CLR ) + ( t OD1 or t OD2 or t OD3 ) Setup Time Combinatorial Logic t SU = ( t IN + t PIA + t LAD ) – ( t IN + t GLOB ) + t SU Hold Time Combinatorial Logic tH = ( t IN + t GLOB ) – ( t IN + t PIA + t LAD ) + t H Counter Frequency Combinatorial Logic t CNT = t RD + t PIA + t LAD + t SU Altera Corporation 963 AN 94: Understanding MAX 7000 Timing Figure 2. External Timing Parameters (Part 3 of 3) Asynchronous Setup Time Combinatorial Logic Combinatorial Logic t ASU = ( t IN + t PIA + t LAD ) – ( t IN + t PIA + t IC ) + t SU Asynchronous Hold Time Combinatorial Logic Combinatorial Logic t AH = ( t IN + t PIA + t IC ) – ( t IN + t PIA + t LAD ) + t H Clock-to-Output Delay t CO1 = t IN + t GLOB + t RD + ( t OD1 or t OD2 or t OD3 ) Array Clock-to-Output Delay Combinatorial Logic t ACO1 = 964 t IN + t PIA + t IC + t RD + ( t OD1 or t OD2 or t OD3 ) Altera Corporation AN 94: Understanding MAX 7000 Timing Examples The following examples show how to use internal timing parameters to calculate the delays for real applications. Example 1: First Bit of 7483 TTL Macrofunction You can analyze the timing delays for macrofunctions that have been subjected to minimization and logic synthesis. A MAX+PLUS II Report File (.rpt) that includes the optional Equations Section lists the synthesized logic equations for the project. These equations are structured so you can quickly determine the logic implementation of any signal. For example, Figure 3 shows part of a 7483 TTL macrofunction (a 4-bit full adder). The Report File gives the following equations for s1, the least significant bit of the adder: s1 = OUTPUT (_LC021, VCC); _LC021 = LCELL (_EQ026 $ C0); _EQ026 = b1 & !a1 # !b1 & a1; Figure 3. Adder Logic Timing for MAX 7000 Architecture a1 b1 NOT s1 NOT c0 tIN tPIA tLAD tCOMB tOD1 The s1 output is the output of macrocell 21 (_LC021), which contains combinatorial logic. The combinatorial logic LCELL(_EQ026 $ C0) represents the XOR of the intermediate equation _EQ026 and the carry-in, c0. In turn, _EQ026 is logically equivalent to the XOR of inputs b1 and a1. Therefore, the timing delay for s1 in MAX 7000 devices is as follows: t IN + t PIA + t LAD + t COMB + t OD1 Altera Corporation 965 AN 94: Understanding MAX 7000 Timing Example 2: Second Bit of 7483 TTL Macrofunction For complex logic that requires expanders (represented as _X<number> in MAX+PLUS II Report Files), the expander array delay, t SEXP, is added to the delay element. The second bit of the 7483 adder macrofunction, s2, requires shared expanders. The equations are as follows: s2 _LC019 _EQ023 _X029 _X030 _X031 _EQ024 _X032 _X033 = = = = = = = = = _LC019; LCELL(_EQ023 $ _EQ024 ); _X029 & _X030 & _X031; EXP(!b1 & !a1); EXP(!b1 & !c0); EXP(!a1 & !c0); _X032 & _X033; EXP(!b2 & a2); EXP(b2 & a2); Figure 4 shows how you can map the logic structure onto the MAX 7000 architecture with these equations. The timing delay for s2 in MAX 7000 devices is as follows: t IN + t PIA + t SEXP + t LAD + t COMB + t OD1 Figure 4. Adder Equations Mapped to MAX 7000 Architecture EXP EXP EXP EXP EXP _X029 _X030 _X031 _X032 _X033 c0 a1 s2 b1 a2 b2 tIN 966 tPIA tSEXP tLAD tCOMB tOD1 Altera Corporation AN 94: Understanding MAX 7000 Timing Example 3: Second Bit of 7483 TTL Macrofunction with Parallel Expanders The MAX+PLUS II Compiler implements logic with parallel expanders if the Parallel Expanders logic option is turned on when a project is compiled for MAX 7000 devices. When parallel expanders are used, none of the shareable expanders are used, so the timing delay for the s2 bit of the 7483 becomes: t IN + t PIA + t LAD + t PEXP + t COMB + t OD1 Example 4: First Bit of 7483 TTL Macrofunction in Low-Power Mode If a MAX 7000 device macrocell is set for low-power mode, you must add the low-power adder delay to the total delay through that macrocell. Thus, the s1 delay in Figure 3 becomes: t IN + t PIA + t LPA + t LAD + t COMB + t OD1 Conclusion Altera Corporation The MAX 7000 architecture has fixed internal timing delays that are independent of routing. Therefore, you can determine the worst-case timing delays for any design before programming a device. Total delay paths can be expressed as the sums of internal timing delays. Timing models illustrate the internal delay paths for devices and show how these internal timing parameters affect each other. You can use the MAX+PLUS II Timing Analyzer to automatically calculate delay paths, or hand-calculate delay paths by adding the internal timing parameters for an appropriate timing model. With the ability to predict worst-case timing delays, you can be confident of a design’s in-system timing performance. 967 Copyright © 1995, 1996, 1997, 1998, 1999 Altera Corporation, 101 Innovation Drive, San Jose, CA 95134, USA, all rights reserved. By accessing this information, you agree to be bound by the terms of Altera’s Legal Notice.