an079_01.pdf

®
June 1996, ver. 1
Introduction
Understanding
FLASHlogic Timing
Application Note 79
Altera devices provide device performance that is consistent from
simulation to application. Before programming or configuring a device,
you can determine the worst-case timing delays for any design. You can
calculate propagation delays with the timing models given in this
application note and the timing parameters listed in the FLASHlogic
Programmable Logic Device Family Data Sheet in this data book.
This application note defines internal and external timing parameters,
and illustrates the timing model for the FLASHlogic device family.
Familiarity with FLASHlogic device architecture and characteristics is
assumed. Refer to the FLASHlogic Programmable Logic Device Family Data
Sheet for a complete description of the FLASHlogic device architecture,
and for specific values of the timing parameters listed in this application
note.
Internal
Timing
Parameters
The timing delays contributed by individual FLASHlogic architectural
elements are called internal timing parameters, which cannot be
measured explicitly. All internal timing parameters are shown in italic
type. Each FLASHlogic logic array block (LAB) has two modes of
operation: logic (24V10) mode and SRAM mode, and the internal timing
parameters for each mode are provided in this section.
Logic (24V10) Mode
The following list defines the internal timing parameters for FLASHlogic
devices in logic (24V10) mode.
Altera Corporation
A-AN-079-01
t IN
Input pad and buffer delay. The time required for a dedicated
input and clock pin to drive the input signal into the
programmable interconnect array (PIA) and the global clock
delay.
t IO
I/O input pad and buffer delay. The delay from the I/O pin to
the PIA when the I/O pin is used as an input.
t PIA
Programmable interconnect array (PIA) delay. The delay
incurred by signals that are routed through the PIA.
511
AN 79: Understanding FLASHlogic Timing
t GLOB
Global clock delay. The delay from the dedicated clock pin to a
register’s clock input.
t DGLOB Delayed global clock delay. The delay from the dedicated clock
pin to a register’s clock input through the delayed global clock
path.
t LAC
Logic array control delay. The AND array delay for register
control functions such as preset, clear, and output enable.
t SOE
SRAM output enable control delay. The delay that activates the
output enable control when the LAB is used as SRAM.
t ICOMP Identity comparator delay. The delay for a signal that
propagates through the identity comparator in an LAB.
512
t IC
Array clock delay. The delay through a macrocell’s clock
product term to the register’s clock input.
t CLR
Register clear time. The delay from the assertion of the register’s
array 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 array preset input to the time the register output
stabilizes at logical high.
t LAD
Logic array delay. The time required for a logic signal 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 ISU
Register setup time. The time required for a signal to stabilize at
the register input before the clock’s rising edge to ensure that
the register correctly stores the input data.
t IH
Register hold time. The time required for a signal to remain
stable at the register input after the clock’s rising edge to ensure
that the register correctly stores the input data.
t IASU
Internal array setup time. The time required for a signal to
stabilize at the register input before the clock’s rising edge to
ensure that the register correctly stores the input data.
Altera Corporation
AN 79: Understanding FLASHlogic Timing
t IAH
Internal array hold time. The time required for a signal to
remain stable at the register input after the clock’s rising edge to
ensure that the register correctly stores the input data.
t COMB
Combinatorial buffer delay. The delay from the time a
combinatorial logic signal bypasses the programmable register
to the time it becomes available at the macrocell output.
t FD
Feedback delay. The delay of the macrocell output fed back into
the PIA input.
tOD
Output buffer and pad delay. In FLASHlogic devices, the value
of VCCIO for 5.0-V or 3.3-V devices are the same.
t XZ
Output buffer disable delay. The delay required for high
impedance to appear at the output pins after the output buffer’s
enable control is disabled.
tZX
Output buffer enable delay. The delay required for the output
signal to appear at the output pins after the tri-state buffer’s
enable control is enabled.
SRAM Mode
The following list defines the internal timing parameters for FLASHlogic
devices in SRAM mode.
Altera Corporation
tIDD
Internal data-in to data-out delay. The data delay at the SRAM
output when the SRAM is in read cycle after a write cycle, i.e.,
the delay from the time data is written into the SRAM to the
time it appears at the SRAM output.
tAA
SRAM address access delay. The delay from an address change
at the SRAM input to the time data appears at the SRAM
output.
tWASU
Write address setup. The time required for the address signal to
stabilize at the SRAM input before the beginning of the write
pulse.
tWAH
Write address hold. The time between the end of the write pulse
to when the address lines are allowed to change.
tWDSU
Write data setup. The time required for the data signals to
stabilize at the SRAM input before the end of the write pulse.
513
AN 79: Understanding FLASHlogic Timing
External
Timing
Parameters
tWDH
Write data hold. The time between the end of the write pulse to
when the data lines are allowed to change.
tSISU
SRAM internal register setup. The time required for the SRAM
output to stabilize at the register input before the register clock’s
rising edge to ensure that the register correctly stores the input
data.
tSIH
SRAM internal register hold. The time required for the SRAM
output to remain stable at the register input after the register
clock’s rising edge to ensure that the register correctly stores the
input data.
tWP
SRAM write pulse width. The time during which both the block
enable (BE) signal and the write enable (WE) signal are asserted.
External timing parameters represent actual pin-to-pin timing
characteristics. Each external timing parameter consists of a combination
of internal timing parameters. The FLASHlogic Programmable Logic Device
Family Data Sheet gives the values of the external timing parameters. These
external timing parameters are worst-case values, derived from extensive
performance measurements and ensured by device testing. All external
timing parameters are shown in bold type.
Logic (24V10) Mode
The following list defines the external timing parameters for a
FLASHlogic LAB in logic (24V10) mode.
514
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.
tCOMP
Dedicated input pin or I/O pin input to non-registered output
delay. The time required for a signal on any dedicated input pin
or I/O pin input to propagate through the identity comparator
in an LAB 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.
Altera Corporation
AN 79: Understanding FLASHlogic Timing
Altera Corporation
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 data must be present at the
input pin before the global clock signal is asserted at the clock
pin.
tH
Global clock hold time. The time the data must be present at the
input pin after the global clock signal is asserted at the clock pin.
tDSU
Delayed global setup time. The time data must be present at the
input pin before the delayed global clock signal is asserted at
the clock pin.
tDH
Delayed global hold time. The time the data must be present at
the input pin after the delayed 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 DCO1
Delayed 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 when data must be present at
the input pin before an array clock signal is asserted at an input
pin.
t AH
Array clock hold time. The time when data must be present at
the input pin after an array clock signal is asserted at an 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 that is clocked by a signal from the array.
515
AN 79: Understanding FLASHlogic Timing
SRAM Mode
The following list defines the external timing parameters for the read and
write cycles of a FLASHlogic LAB in SRAM mode.
SRAM Read Cycle Timing Parameters
516
tRC
Read cycle time. The time required for the address lines to
remain stable during a read operation.
tDD
Data-in to data-out delay. The time required for the written data
to appear at the output pins.
tAA
Address access time. The delay from an address change at the
input pins to the time data appears at the external device output
pins. This parameter is valid only when the block enable (BE)
and output enable (OE) signals are asserted.
tABE
Block enable access time. The delay from the time BE is asserted
to the time data appears at the output pins. This parameter is
valid only when OE is asserted.
tOE
Output enable to output valid. 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.
tOH
Output hold from address change. The minimum delay from an
address change at the input pins to the time data appears at the
external device output pins.
tBLZ
Block enable to output in low impedance. The minimum delay
from the time BE is asserted to the time the output pins are
driven.
tBHZ
Block disable to output in high impedance. The delay from the
time the BE is de-asserted to the time the SRAM outputs are tristated.
tOLZ
Output enable to output in low impedance. The minimum delay
from the time the OE is asserted to the time the output pins are
driven.
tSSU
SRAM global clock setup time. The time when the address must
be present at the input pins before the global clock signal is
asserted at the clock pin.
Altera Corporation
AN 79: Understanding FLASHlogic Timing
tSH
SRAM global clock hold time. The time when the address must
be present at the input pins after the global clock signal is
asserted at the clock pin.
tSDSU
SRAM delayed global clock setup time. The time when the
address must be present at the input pins before the delayed
global clock signal is asserted at the clock pin.
tSDH
SRAM delayed global clock hold time. The time when the
address must be present at the input pins after the delayed
global clock signal is asserted at the clock pin.
SRAM Write Cycle Timing Parameters
Altera Corporation
tWC
Write cycle time. The time when the address signals must
remain constant.
tBW
Block enable to end of write. The time during which both the WE
and BE signals are asserted. The WE signal is asserted before the
BE signal.
tAW
Address valid to end of write. The setup time required for the
address lines to stabilize before the end of the write pulse.
tAS
Address setup time. The time when the address lines must have
stabilized before the beginning of the write pulse.
tWP
Write pulse width. The minimum time when both the BE and WE
signals are asserted. The BE signal is asserted before the WE
signal.
tWR
Write recovery time. The time after the end of the write pulse
during which the address lines to must remain stable.
tDW
Data valid to end of write. The setup time required for the data
lines to stabilize before the end of the write pulse.
tDH
Data hold time. The time required for the data lines to stabilize
after the end of the write pulse.
tOHZ
Output disable to valid data-in. The delay from the time OE is
de-asserted to the end of valid data output.
517
AN 79: Understanding FLASHlogic Timing
Timing Models
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 FLASHlogic
device by examining the equations listed in the PLDshell Plus Report File
(.rpt) for the project. You can then add up the appropriate internal timing
parameters to calculate the propagation delays through the device.
Figure 1 shows the timing model for FLASHlogic devices.
Figure 1. FLASHlogic Timing Model
SRAM Delay
tAA
tIDD
tWASU
tWAH
tWDSU
tWDH
tWP
Control Delay
tSOE
tLAC
tIC
Input
Delay
tIN
PIA
Delay
tPIA
Logic Array
Delay
tLAD
tICOMP
Global Clock
Delay
tGLOB
tDGLOB
Register
Delay
tISU
tIH
tIASU
tIAH
tRD
tCOMB
tPRE
tCLR
tSISU
tSIH
Output
Delay
tOD
tXZ
tZX
Feedback
Delay
tFD
I/O Delay
tIO
Calculating
Timing Delays
518
You can calculate approximate pin-to-pin timing delays for any
FLASHlogic device with the timing model shown in Figure 1 and the
internal timing parameters in the FLASHlogic Programmable Logic Device
Family Data Sheet in this data book. Each external timing parameter is
calculated from a combination of internal timing parameters. Figure 2
shows the external timing parameters for FLASHlogic devices. To
calculate the delay for a signal that follows a different path through the
device, refer to the timing model shown in Figure 1 to determine which
internal timing parameters to add together.
Altera Corporation
AN 79: Understanding FLASHlogic Timing
Figure 2. External Timing Parameters (Part 1 of 3)
When an input pin is used instead of an I/O pin, tIN can be substituted for tIO .
Combinatorial Delay
Combinatorial
Logic
tPD1
tPD2
=
=
tIN + tPIA + tLAD + tCOMB + tOD
tIO + tPIA + tLAD + tCOMB + tOD
Comparator Delay
Combinatorial
Logic
tCOMP
=
tIO + tPIA + tICOMP + tCOMB + tOD
Tri-State Enable/Disable Delay
Combinatorial
Logic
tPXZ
tPZX
=
=
tIO + tPIA + tLAC + tXZ
tIO + tPIA + tLAC + tZX
Register Clear & Preset Time
Combinatorial
Logic
tPRE
tCLR
=
=
tIO + tPIA + tLAC + tPRE + tOD
tIO + tPIA + tLAC + tCLR + tOD
Setup Time
Combinatorial
Logic
Global Clock
Delayed Global Clock
Altera Corporation
tSU
tDSU
=
=
(tIO + tPIA + tLAD ) – (tIN + tGLOB) + tISU
(tIO + tPIA + tLAD ) – (tIN + tDGLOB) + tISU
519
AN 79: Understanding FLASHlogic Timing
Figure 2. External Timing Parameters (Part 2 of 3)
Hold Time
Combinatorial
Logic
Global Clock
Delayed Global Clock
tH
tDH
(tIN + tGLOB) – (tIO + tPIA + tLAD) + tIH
(tIN + tDGLOB) – (tIO + tPIA + tLAD) + tIH
=
=
Counter Frequency
Combinatorial
Logic
tCNT
=
tRD + tFD + tPIA + tLAD + tISU
Array Clock Setup Time
Combinatorial
Logic
Combinatorial
Logic
tASU
=
(tIO + tPIA + tLAD ) – (tIO + tPIA + tIC ) + tIASU
Array Clock Hold Time
Combinatorial
Logic
Combinatorial
Logic
tAH
=
(tIO + tPIA + tIC ) – (tIO + tPIA + tLAD ) + tIAH
Clock-to-Output Delay
Global Clock
Delayed Global Clock
520
tCO1
=
tDCO1 =
tIN + tGLOB + tRD + tOD
tIN + tDGLOB + tRD + tOD
Altera Corporation
AN 79: Understanding FLASHlogic Timing
Figure 2. External Timing Parameters (Part 3 of 3)
Array Clock-to-Output Delay
Combinatorial
Logic
tACO1 =
tIO + tPIA + tIC + tRD + tOD
Figure 3 illustrates the SRAM read cycle external timing parameters.
Figure 3. SRAM Read Cycle External Timing Parameters (Part 1 of 3)
When an input pin is used instead of an I/O pin, tIN can be substituted for tIO .
Data to Output
SRAM
Data-in
Data-out
tDD
=
tIO + tPIA + t IDD + tCOMB + tOD
Address Access Time
SRAM
Address
Data-out
tAA
=
tIO + tPIA + tAA + tCOMB + tOD
Block Enable Access
Control
Logic
tABE
Altera Corporation
=
tIO + tPIA + tSOE + tZX
521
AN 79: Understanding FLASHlogic Timing
Figure 3. SRAM Read Cycle External Timing Parameters (Part 2 of 3)
Output Enable to Output Valid
Control
Logic
tOE
=
tIO + tPIA + tSOE + tZX
Block Disable to Output in High Impedance
Control
Logic
tBHZ
=
tIO + tPIA + tSOE + tXZ
Setup Time
SRAM
Address
Data-out
tSSU
=
D
(tIO + tPIA + tAA) – (tIN + tGLOB) + tSISU
Hold Time
SRAM
Address
Data-out
tSH
522
=
D
(tIN + tGLOB) – (tIO + tPIA + tAA) + tSIH
Altera Corporation
AN 79: Understanding FLASHlogic Timing
Figure 3. SRAM Read Cycle External Timing Parameters (Part 3 of 3)
Delay Setup Time
SRAM
Address
Data-out
tSDSU =
D
(tIO + tPIA + tAA ) – (tIN + tDGLOB ) + tSISU
Delay Hold Time
SRAM
Address
Data-out
tSDH
=
D
(tIN + tDGLOB ) – (tIO + tPIA + tAA ) + tSIH
Figure 4 shows the SRAM write cycle external timing parameters.
Figure 4. SRAM Write Cycle External Timing Parameters (Part 1 of 2)
When an input pin is used instead of an I/O pin, tIN can be substituted for tIO .
Write Cycle
SRAM
Address
Data-in
/BE
/WE
tWC
Altera Corporation
=
maximum of (tWASU + tWP + tWAH ) or (tWDSU + tWDH )
523
AN 79: Understanding FLASHlogic Timing
Figure 4. SRAM Write Cycle External Timing Parameters (Part 2 of 2)
Address Valid to End of Write
SRAM
Address
/BE
/WE
tAW
=
(tIO + tPIA ) – (tIO + tPIA ) + tWASU + tWP
Address Setup Time
SRAM
Address
/BE
/WE
tAS
=
(tIO + tPIA ) – (tIO + tPIA) + tWASU
Write Recovery Time
SRAM
Address
/BE
/WE
tWR
=
(tIO + tPIA ) – (tIO + tPIA ) + tWAH
Data Valid to End of Write
SRAM
Data-in
/BE
/WE
tDW
=
(tIO + tPIA) – (tIO + tPIA ) + tWDSU
Data Hold Time
SRAM
Data-in
/BE
/WE
tDH
524
=
(tIO + tPIA ) – (tIO + tPIA ) + tWDH
Altera Corporation
AN 79: Understanding FLASHlogic 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
subject to minimization and logic synthesis. The PLDshell Plus Report File
(.rpt) lists the synthesized logic equations. These equations are structured
so that you can quickly determine the logic implementation of any signal.
For example, Figure 5 shows part of a 7483 TTL macrofunction (a 4-bit
full adder). The PLDshell Report File gives the following equations for s1,
the least significant bit of the adder:
s1 = a1 * /b1
+ /a1 * b1
+ /a1 * /b1
+ /b1 * /a1
s1.trst = VCC
* /c0
* /c0
* c0
* c0
Figure 5. Adder Logic Timing for FLASHlogic Architecture
a1
NOT
b1
s1
NOT
c0
NOT
tIO
Altera Corporation
tPIA
tLAD
tCOMB
tOD
525
AN 79: Understanding FLASHlogic Timing
The output of the macrocell is s1. To drive the s1 output, the four
products terms are ORed together:
(a1 * /b1 * /c0), (/a1 * b1 * /c0), (/a1 * /b1 * c0), and (b1 * a1 * c0).
Because a macrocell can have four or more product terms, the s1 output
can be generated in one macrocell. Therefore, the timing delay is as
follows:
t IN + t PIA + t LAD + t COMB + t OD
Example 2: Second Bit of 7483 TTL Macrofunction
For complex logic that requires additional product terms, product terms
from neighboring macrocells can be used. The second bit of the 7483
adder macrofunction, s2, was generated using a macrocell that had only
4 product terms. Because 6 product terms are required to generate this
function, 2 product terms were borrowed from a neighboring macrocell.
The equations are as follows:
s2 = b1 * a1
+ b1 * c0
+ a1 * c0
+ /b1 * /a1
+ /b1 * /c0
+ /a1 * /c0
s2.trst = VCC
* a2
* a2
* a2
* /a2
* /a2
* /a2
Product terms borrowed from neighboring macrocells do not have
additional delays associated with them. As a result, the timing delay for
s2 has the same delay as s1:
tIN + tPIA + tLAD + tCOMB + tOD
526
Altera Corporation
AN 79: Understanding FLASHlogic Timing
Example 3: 5-Bit Comparator
FLASHlogic devices have a dedicated 12-bit identity comparator in each
LAB. This comparator has the same delay regardless of the width of the
data bits, i.e., a 1-bit comparator has the same delay as a 12-bit
comparator. The following example is a 5-bit comparator between the I/O
pins for busa and busb. The result is sent to the output pin equal. The
equations are as follows:
equal = GND
equal.cmp = [busa4, busa3, busa2, busa1, busa0] == [busb4,
busb3, busb2, busb1, busb0]
equal.trst = VCC
Therefore, the timing delay for equal is as follows:
tIN + tPIA + tICOMP + tCOMB + tOD
Conclusion
Altera Corporation
The FLASHlogic device 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. The
FLASHlogic timing model illustrates the internal delay paths for
FLASHlogic devices and shows how these internal timing parameters
affect each other. You can calculate delay paths by adding the internal
timing parameters in the FLASHlogic timing model. With the ability to
predict worst-case timing delays, you can be confident of a design’s insystem timing performance.
527
Copyright © 1995, 1996 Altera Corporation, 2610 Orchard Parkway,
San Jose, California 95134, USA, all rights reserved.
By accessing any information on this CD-ROM, you agree to be
bound by the terms of Altera’s Legal Notice.