June 2012 Altera CorporationStratix V Device Handbook
Volume 1: Device Interfaces and Integration
xContents
Stratix V Device HandbookJune 2012 Altera Corporation
Volume 1: Device Interfaces and Integration
Chapter Revision Dates
The chapters in this document, Stratix V Device Handbook Volume 1, were revised on
the following dates. Where chapters or groups of chapters are available separately,
part numbers are listed.
Chapter 1.Logic Array Blocks and Adaptive Logic Modules in Stratix V Devices
Revised:June 2012
Part Number: SV51002-1.4
Chapter 2.Memory Blocks in Stratix V Devices
Revised:June 2012
Part Number: SV51003-1.4
Chapter 3.Variable Precision DSP Blocks in Stratix V Devices
Revised:June 2012
Part Number: SV51004-1.4
Chapter 4.Clock Networks and PLLs in Stratix V Devices
Revised:June 2012
Part Number: SV51005-1.4
Chapter 5.I/O Features in Stratix V Devices
Revised:June 2012
Part Number: SV51006-1.5
Chapter 6.High-Speed Differential I/O Interfaces and DPA in Stratix V Devices
Revised:June 2012
Part Number: SV51007-1.4
Chapter 7.External Memory Interfaces in Stratix V Devices
Revised:June 2012
Part Number: SV51008-1.4
Chapter 8.Hot Socketing and Power-On Reset in Stratix V Devices
Revised:June 2012
Part Number: SV51009-1.4
Chapter 9.Configuration, Design Security, and Remote System Upgrades in Stratix V Devices
Revised:June 2012
Part Number: SV51010-1.7
Chapter 10. SEU Mitigation in Stratix V Devices
Revised:June 2012
Part Number: SV51011-1.5
Chapter 11. JTAG Boundary-Scan Testing in Stratix V Devices
Revised:June 2012
Part Number: SV51012-1.5
June 2012 Altera CorporationStratix V Device Handbook
Volume 1: Device Interfaces and Integration
xiiChapter Revision Dates
Chapter 12. Power Management in Stratix V Devices
Revised:June 2012
Part Number: SV51013-1.3
Stratix V Device HandbookJune 2012 Altera Corporation
Volume 1: Device Interfaces and Integration
This section describes the Stratix® V device family core, which is the most
architecturally advanced, high-performance, low-power FPGA in the marketplace.
This section includes the following chapters:
■ Chapter 1, Logic Array Blocks and Adaptive Logic Modules in Stratix V Devices
■ Chapter 2, Memory Blocks in Stratix V Devices
■ Chapter 3, Variable Precision DSP Blocks in Stratix V Devices
■ Chapter 4, Clock Networks and PLLs in Stratix V Devices
Revision History
Refer to each chapter for its own specific revision history. For information on when
each chapter was updated, refer to the Chapter Revision Dates section, which appears
in the full handbook.
Section I. Device Core
June 2012 Altera CorporationStratix V Device Handbook
Volume 1: Device Interfaces and Integration
I–2Section I: Device Core
Stratix V Device HandbookJune 2012 Altera Corporation
Volume 1: Device Interfaces and Integration
Direct link
interconnect from
adjacent block
Direct link
interconnect to
adjacent block
Row Interconnects of
Variable Speed and Length
Column Interconnects of
Variable Speed and Length
Local Interconnect is Driven
from Either Side by Columns & LABs,
and from Above by Rows
Local Interconnect
LAB
Direct link
interconnect from
adjacent block
Direct link
interconnect to
adjacent block
ALMs
MLAB
C4 C14
R24
R3/R6
June 2012
SV51002-1.4
SV51002-1.4
This chapter describes the features of the logic array blocks (LABs) in the Stratix® V
core fabric. LABs are made up of adaptive logic modules (ALMs) that you can
configure to implement logic functions, arithmetic functions, and register functions.
LABs and ALMs are the basic building blocks of the Stratix V device. ALMs provide
advanced features with efficient logic utilization and are completely
backward-compatible.
This chapter contains the following sections:
■ “Logic Array Blocks” on page 1–1
■ “Adaptive Logic Modules” on page 1–4
Logic Array Blocks
Each LAB consists of ten ALMs, various carry chains, shared arithmetic chains,
control signals, and a local interconnect. The local interconnect transfers signals
between ALMs in the same LAB. The direct link interconnect enables the LAB to drive
into the local interconnect of its left and right neighbors. The Quartus
places associated logic in the same LAB or adjacent LABs, allowing the use of local
and shared arithmetic chain for performance and area efficiency. Figure 1–1 shows the
Stratix V LAB structure and the LAB interconnects.
1. Logic Array Blocks and Adaptive Logic
Modules in Stratix V Devices
Stratix V Device Handbook
Volume 1: Device Interfaces and Integration
June 2012
Feedback Subscribe
1–2Chapter 1: Logic Array Blocks and Adaptive Logic Modules in Stratix V Devices
MLAB
LAB
LUT-based-64 x 1
Simple dual-port SRAM
LUT-based-64 x 1
Simple dual-port SRAM
LUT-based-64 x 1
Simple dual-port SRAM
LUT-based-64 x 1
Simple dual-port SRAM
LUT-based-64 x 1
Simple dual-port SRAM
LUT-based-64 x 1
Simple dual-port SRAM
LUT-based-64 x 1
Simple dual-port SRAM
LUT-based-64 x 1
Simple dual-port SRAM
LUT-based-64 x 1
Simple dual-port SRAM
LUT-based-64 x 1
Simple dual-port SRAM
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
ALM
ALM
ALM
ALM
ALM
ALM
ALM
ALM
ALM
ALM
LAB Control Block
LAB Control Block
Logic Array Blocks
The memory LAB (MLAB) is a derivative of the Stratix V LAB. The MLAB adds
look-up table (LUT)-based SRAM capability to the LAB, as shown in Figure 1–2. The
MLAB supports a maximum of 640 bits of simple dual-port SRAM. You can configure
each ALM in an MLAB as either a 64 × 1 or a 32 × 2 block, resulting in a configuration
of either a 64 × 10 or a 32 × 20 simple dual-port SRAM block. MLAB and LAB blocks
alternate in Stratix V devices. Therefore, the maximum number of available MLABs is
half of the total number of LABs. The MLAB is a superset of the LAB and includes all
LAB features.
f For more information about MLABs, refer to the Memory Blocks in Stratix V Devices
chapter.
Figure 1–2. LAB and MLAB Structure for Stratix V Devices
Stratix V Device HandbookJune 2012 Altera Corporation
Volume 1: Device Interfaces and Integration
Note to Figure 1–2:
(1) You can use the MLAB ALM as a regular LAB ALM or configure it as a dual-port SRAM.
Chapter 1: Logic Array Blocks and Adaptive Logic Modules in Stratix V Devices1–3
ALMs
Direct-link
interconnect
to right
Direct-link interconnect from the
right LAB, MLAB/M20K memory
block, DSP block, or IOE output
Direct-link interconnect from the
left LAB, MLAB/M20K memory
block, DSP block, or IOE output
Local
Interconnect
LAB
ALMs
Direct-link
interconnect
to left
MLAB
Logic Array Blocks
LAB Interconnects
The LAB local interconnect can drive ALMs in the same LAB. It is driven by column
and row interconnects and ALM outputs in the same LAB. Neighboring
LABs/MLABs, M20K blocks, or digital signal processing (DSP) blocks from the left or
right can also drive the LAB’s local interconnect through the direct link connection.
The direct link connection feature minimizes the use of row and column
interconnects, providing higher performance and flexibility. Each LAB can drive
30 ALMs through fast-local and direct-link interconnects.
Figure 1–3 shows the direct-link connection.
Figure 1–3. Direct-Link Connection
LAB Control Signals
Each LAB contains dedicated logic for driving control signals to its ALMs. The control
signals include three clocks, three clock enables, two asynchronous clears, one
synchronous clear, and one synchronous load, for a maximum of 10 control signals at
a time. Although you generally use synchronous load and clear signals when
implementing counters, you can also use them with other functions.
Each LAB has two unique clock sources and three clock enable signals, as shown in
Figure 1–4. The LAB control block can generate up to three clocks using two clock
sources and three clock enable signals. Each LAB’s clock and clock enable signals are
linked. For example, any ALM in a particular LAB using the
the
labclkena1
signal. If the LAB uses both the rising and falling edges of a clock, it
also uses two LAB-wide clock signals. Deasserting the clock enable signal turns off the
corresponding LAB-wide clock.
June 2012 Altera CorporationStratix V Device Handbook
labclk1
Volume 1: Device Interfaces and Integration
signal also uses
1–4Chapter 1: Logic Array Blocks and Adaptive Logic Modules in Stratix V Devices
Dedicated Row LAB Clocks
Local Interconnect
Local Interconnect
Local Interconnect
Local Interconnect
Local Interconnect
Local Interconnect
labclk2
syncload
labclkena0
or asyncload
or labpreset
labclk0
labclk1
labclr1
labclkena1labclkena2labclr0synclr
6
6
6
There are two unique
clock signals per LAB.
Adaptive Logic Modules
The LAB row clocks [5..0] and LAB local interconnects generate the LAB-wide control
signals. The MultiTrack interconnect’s inherent low skew allows clock and control
signal distribution in addition to data. The MultiTrack interconnect consists of
continuous, performance-optimized routing lines of different lengths and speeds used
for inter- and intra-design block connectivity.
Figure 1–4. LAB-Wide Control Signals
Adaptive Logic Modules
The ALM is the basic building block of logic in the Stratix V architecture. It provides
advanced features with efficient logic utilization. Each ALM contains a variety of
LUT-based resources that can be divided between two combinational adaptive LUTs
(ALUTs) and four registers. With up to eight inputs for the two combinational ALUTs,
one ALM can implement various combinations of two functions. This adaptability
allows an ALM to be completely backward-compatible with four-input LUT
architectures. One ALM can also implement any function with up to six inputs and
certain seven-input functions.
Stratix V Device HandbookJune 2012 Altera Corporation
Volume 1: Device Interfaces and Integration
Chapter 1: Logic Array Blocks and Adaptive Logic Modules in Stratix V Devices1–5
datac
datad
datae1
dataf1
adder1
datae0
dataf0
dataa
datab
carry_in
carry_out
Combinational/Memory ALUT0
6-Input LUT
6-Input LUT
shared_arith_out
shared_arith_in
Combinational/Memory ALUT1
adder0
DQ
reg0
labclk
To general or
local routing
To general or
local routing
DQ
reg1
To general or
local routing
To general or
local routing
DQ
reg2
DQ
reg3
To general or
local routing
To general or
local routing
To general or
local routing
To general or
local routing
Adaptive Logic Modules
In addition to the adaptive LUT-based resources, each ALM contains four
programmable registers, two dedicated full adders, a carry chain, and a shared
arithmetic chain. Through these dedicated resources, an ALM can efficiently
implement various arithmetic functions and shift registers. Each ALM drives all types
of interconnects: local, row, column, carry chain, shared arithmetic chain, and direct
link. Figure 1–5 shows a high-level block diagram of the Stratix V ALM.
Figure 1–5. High-Level Block Diagram of the Stratix V ALM
June 2012 Altera CorporationStratix V Device Handbook
Volume 1: Device Interfaces and Integration
+
carry_in
dataf0
datae0
dataa
datab
datac1
datae1
dataf1
shared_arith_outcarry_out
shared_arith_in
4-INPUT
LUT
4-INPUT
LUT
3-INPUT
LUT
3-INPUT
LUT
3-INPUT
LUT
3-INPUT
LUT
+
datac0
GND
V
CC
aclr[1:0]
sclr
syncload
clk[2:0]
D
Q
CLR
D
Q
CLR
row, column
direct link routing
D
Q
CLR
row, column
direct link routing
row, column
direct link routing
row, column
direct link routing
D
Q
CLR
3
3
Stratix V Device HandbookJune 2012 Altera Corporation
Volume 1: Device Interfaces and Integration
Figure 1–6 shows a detailed view of all the connections in an ALM.
Figure 1–6. ALM Connection Details for Stratix V Devices
1–6Chapter 1: Logic Array Blocks and Adaptive Logic Modules in Stratix V Devices
Adaptive Logic Modules
Chapter 1: Logic Array Blocks and Adaptive Logic Modules in Stratix V Devices1–7
Adaptive Logic Modules
One ALM contains four programmable registers. Each register has data, clock,
synchronous and asynchronous clear, and synchronous load. Global signals,
general-purpose I/O pins, or any internal logic can drive the register’s clock and
clear-control signals. Either general-purpose I/O pins or internal logic can drive the
clock enable. For combinational functions, the register is bypassed and the output of
the LUT drives directly to the outputs of an ALM.
Each ALM has two sets of outputs that drive the local, row, and column routing
resources. The LUT, adder, or register outputs can drive these output drivers (refer to
Figure 1–6). For each set of output drivers, two ALM outputs can drive column, row,
or direct-link routing connections. One of these ALM outputs can also drive local
interconnect resources. This allows the LUT or adder to drive one output while the
register drives another output.
This feature, called register packing, improves device utilization because the device
can use the register and the combinational logic for unrelated functions. Another
special packing mode allows the register output to feed back into the LUT of the same
ALM so that the register is packed with its own fan-out LUT. This provides another
mechanism for improved fitting. The ALM can also drive out registered and
unregistered versions of the LUT or adder output.
ALM Operating Modes
The Stratix V ALM operates in one of the following modes:
■ “Normal Mode” on page 1–7
■ “Extended LUT Mode” on page 1–9
■ “Arithmetic Mode” on page 1–10
■ “Shared Arithmetic Mode” on page 1–11
Each mode uses ALM resources differently. In each mode, eleven available inputs to
an ALM—the eight data inputs from the LAB local interconnect, carry-in from the
previous ALM or LAB, and the shared arithmetic chain connection from the previous
ALM or LAB—are directed to different destinations to implement the desired logic
function. LAB-wide signals provide clock, asynchronous clear, synchronous clear,
synchronous load, and clock enable control for the register. These LAB-wide signals
are available in all ALM modes.
For more information about the LAB-wide control signals, refer to “LAB Control
Signals” on page 1–3.
The Quartus II software and supported third-party synthesis tools, in conjunction
with parameterized functions such as the library of parameterized modules (LPM)
functions, automatically choose the appropriate mode for common functions such as
counters, adders, subtractors, and arithmetic functions.
Normal Mode
Normal mode is suitable for general logic applications and combinational functions.
In this mode, up to eight data inputs from the LAB local interconnect are inputs to the
combinational logic. Normal mode allows two functions to be implemented in one
Stratix V ALM, or a single function of up to six inputs. The ALM can support certain
combinations of completely independent functions and various combinations of
functions that have common inputs.
June 2012 Altera CorporationStratix V Device Handbook
Volume 1: Device Interfaces and Integration
1–8Chapter 1: Logic Array Blocks and Adaptive Logic Modules in Stratix V Devices
6-Input
LUT
dataf0
datae0
dataf0
datae0
dataa
datab
dataa
datab
datab
datac
datac
dataf0
datae0
dataa
datac
6-Input
LUT
datad
datad
datae1
combout0
combout1
combout0
combout1
combout0
combout1
dataf1
datae1
dataf1
datad
datae1
dataf1
4-Input
LUT
4-Input
LUT
4-Input
LUT
6-Input
LUT
dataf0
datae0
dataa
datab
datac
datad
combout0
5-Input
LUT
5-Input
LUT
dataf0
datae0
dataa
datab
datac
datad
combout0
combout1
datae1
dataf1
5-Input
LUT
dataf0
datae0
dataa
datab
datac
datad
combout0
combout1
datae1
dataf1
5-Input
LUT
3-Input
LUT
Adaptive Logic Modules
Figure 1–7 shows the supported LUT combinations in normal mode.
Figure 1–7. ALM in Normal Mode
(1)
Note to Figure 1–7:
(1) Combinations of functions with fewer inputs than those shown are also supported. For example, combinations of
functions with the following number of inputs are supported: 4 and 3, 3 and 3, 3 and 2, and 5 and 2.
Normal mode provides complete backward-compatibility with four-input LUT
architectures.
For the packing of 2 five-input functions into one ALM, the functions must have at
least two common inputs. The common inputs are
of a four-input function with a five-input function requires one common input (either
dataa
or
datab
In the case of implementing 2 six-input functions in one ALM, four inputs must be
shared and the combinational function must be the same. In a sparsely used device,
).
dataa
and
datab
. The combination
functions that could be placed in one ALM may be implemented in separate ALMs by
the Quartus II software to achieve the best possible performance. As a device begins
Stratix V Device HandbookJune 2012 Altera Corporation
Volume 1: Device Interfaces and Integration
to fill up, the Quartus II software automatically uses the full potential of the Stratix V
ALM. The Quartus II Compiler automatically searches for functions using common
inputs or completely independent functions to be placed in one ALM to make efficient
use of device resources. In addition, you can manually control resource use by setting
location assignments.
Chapter 1: Logic Array Blocks and Adaptive Logic Modules in Stratix V Devices1–9
6-Input
LUT
dataf0
datae0
dataa
datab
datac
datad
datae1
dataf1
DQ
DQ
To general or
local routing
To general or
local routing
To general or
local routing
reg0
reg1
These inputs are available for register packing.
(2)
labclk
datae0
combout0
5-Input
LUT
5-Input
LUT
datac
dataa
datab
datad
dataf0
datae1
dataf1
DQ
To general or
local routing
To general or
local routing
reg0
This input is available
for register packing.
(1)
Adaptive Logic Modules
You can implement any six-input function using inputs
and either
output is either driven to
register0
datae0
and
register0
and
dataf0
or
datae1
and
dataf1
register0, register0
is bypassed, or the output driven to
is bypassed, and the data drives out to the interconnect
using the top set of output drivers (refer to Figure 1–8). If you use
the output either drives to
register1
or bypasses
dataa, datab, datac, datad
. If you use
datae0
and
datae1
register1
and drives to the
dataf0
and
dataf1
,
, the
interconnect using the bottom set of output drivers. The Quartus II Compiler
automatically selects the inputs to the LUT. ALMs in normal mode support register
packing.
Figure 1–8. Input Function in Normal Mode
Notes to Figure 1–8:
(1) If you use datae1 and dataf1 as inputs to a six-input function, datae0 and dataf0 are available for register
packing.
(2) The dataf1 input is available for register packing only if the six-input function is unregistered.
(1)
,
June 2012 Altera CorporationStratix V Device Handbook
Extended LUT Mode
Use extended LUT mode to implement a specific set of seven-input functions. The set
must be a 2-to-1 multiplexer fed by two arbitrary five-input functions sharing four
inputs. Figure 1–9 shows the template of supported seven-input functions using
extended LUT mode. In this mode, if the seven-input function is unregistered, the
unused eighth input is available for register packing.
Functions that fit into the template shown in Figure 1–9 occur naturally in designs.
These functions often appear in designs as “if-else” statements in Verilog HDL or
VHDL code.
Figure 1–9. Template for Supported Seven-Input Functions in Extended LUT Mode
Note to Figure 1–9:
(1) If the seven-input function is unregistered, the unused eighth input is available for register packing. The second
register, reg1, is not available.
Volume 1: Device Interfaces and Integration
1–10Chapter 1: Logic Array Blocks and Adaptive Logic Modules in Stratix V Devices
Adaptive Logic Modules
Arithmetic Mode
Arithmetic mode is ideal for implementing adders, counters, accumulators, wide
parity functions, and comparators. The ALM in arithmetic mode uses two sets of
2 four-input LUTs along with two dedicated full adders. The dedicated adders allow
the LUTs to be available to perform pre-adder logic; therefore, each adder can add the
output of 2 four-input functions.
The four LUTs share
signal feeds to
The carry-out from
adder0
adder1
dataa
and
datab
inputs. As shown in Figure 1–10, the carry-in
and the carry-out from
drives to
adder0
adder0
feeds to the carry-in of
adder1
of the next ALM in the LAB. ALMs in
arithmetic mode can drive out either registered, unregistered, or registered and
unregistered versions of the adder outputs.
Figure 1–10. ALM in Arithmetic Mode
carry_in
datae0
dataf0
datac
datab
dataa
datad
datae1
dataf1
4-Input
LUT
4-Input
LUT
4-Input
LUT
4-Input
LUT
carry_out
adder0
adder1
DQ
reg0
DQ
reg1
DQ
reg2
DQ
reg3
To general or
local routing
To general or
local routing
To general or
local routing
To general or
local routing
To general or
local routing
To general or
local routing
To general or
local routing
To general or
local routing
.
While operating in arithmetic mode, the ALM can support simultaneous use of the
adder’s carry output along with combinational logic outputs. In this operation, adder
output is ignored. Using the adder with combinational logic output provides resource
savings of up to 50% for functions that can use this ability.
Arithmetic mode also offers clock enable, counter enable, synchronous up/down
control, add/subtract control, synchronous clear, and synchronous load. The LAB
local interconnect data inputs generate the clock enable, counter enable, synchronous
up/down, and add/subtract control signals. These control signals are good
candidates for the inputs that are shared between the four LUTs in the ALM. The
synchronous clear and synchronous load options are LAB-wide signals that affect all
registers in the LAB. You can individually disable or enable these signals for each
register. The Quartus II software automatically places any registers that are not used
by the counter into other LABs.
Stratix V Device HandbookJune 2012 Altera Corporation
Volume 1: Device Interfaces and Integration
Chapter 1: Logic Array Blocks and Adaptive Logic Modules in Stratix V Devices1–11
Adaptive Logic Modules
Carry Chain
The carry chain provides a fast carry function between the dedicated adders in
arithmetic or shared-arithmetic mode. The two-bit carry select feature in Stratix V
devices halves the propagation delay of carry chains within the ALM. Carry chains
can begin in either the first ALM or the fifth ALM in the LAB. The final carry-out
signal is routed to the ALM, where it is fed to local, row, or column interconnects.
The Quartus II Compiler automatically creates carry-chain logic during design
processing, or you can create it manually during design entry. Parameterized
functions such as LPM functions automatically take advantage of carry chains for the
appropriate functions.
The Quartus II Compiler creates carry chains longer than 20 (10 ALMs in arithmetic or
shared arithmetic mode) by linking LABs together automatically. For enhanced
fitting, a long carry chain runs vertically, allowing fast horizontal connections to
MLAB/M20K memory and DSP blocks. A carry chain can continue as far as a full
column.
To avoid routing congestion in one small area of the device when a high fan-in
arithmetic function is implemented, the LAB can support carry chains that only use
either the top half or bottom half of the LAB before connecting to the next LAB. This
leaves the other half of the ALMs in the LAB available for implementing narrower
fan-in functions in normal mode. Carry chains that use the top five ALMs in the first
LAB carry into the top half of the ALMs in the next LAB within the column. Carry
chains that use the bottom five ALMs in the first LAB carry into the bottom half of the
ALMs in the next LAB within the column. In every alternate LAB column, the top half
can be bypassed; in the other MLAB columns, the bottom half can be bypassed.
For more information about carry-chain interconnects, refer to “ALM Interconnects”
on page 1–13.
Shared Arithmetic Mode
In shared arithmetic mode, the ALM can implement a three-input add within the
ALM. In this mode, the ALM is configured with 4 four-input LUTs. Each LUT either
computes the sum of three inputs or the carry of three inputs. The output of the carry
computation is fed to the next adder (either to
the next ALM in the LAB) using a dedicated connection called the shared arithmetic
chain. This shared arithmetic chain can significantly improve the performance of an
adder tree by reducing the number of summation stages required to implement an
adder tree.
adder1
in the same ALM or to
adder0
of
June 2012 Altera CorporationStratix V Device Handbook
Volume 1: Device Interfaces and Integration
1–12Chapter 1: Logic Array Blocks and Adaptive Logic Modules in Stratix V Devices
Adaptive Logic Modules
Figure 1–11 shows the ALM using this feature.
Figure 1–11. ALM in Shared Arithmetic Mode
shared_arith_in
carry_in
labclk
datae0
datac
datab
dataa
datad
datae1
4-Input
LUT
4-Input
LUT
4-Input
LUT
4-Input
LUT
shared_arith_out
DQ
reg0
DQ
reg1
DQ
reg2
DQ
reg3
carry_out
To general or
local routing
To general or
local routing
To general or
local routing
To general or
local routing
To general or
local routing
To general or
local routing
To general or
local routing
To general or
local routing
You can find adder trees in many different applications. For example, you can
implement the summation of the partial products in a logic-based multiplier in a tree
structure. Another example is a correlator function that can use a large adder tree to
sum filtered data samples in a given time frame to recover or de-spread data that was
transmitted using spread-spectrum technology.
Shared Arithmetic Chain
The shared arithmetic chain available in enhanced arithmetic mode allows the ALM
to implement a three-input add. This significantly reduces the resources necessary to
implement large adder trees or correlator functions.
The shared arithmetic chains can begin in either the first or sixth ALM in the LAB. The
Quartus II Compiler creates shared arithmetic chains longer than 20 (10 ALMs in
arithmetic or shared arithmetic mode) by linking LABs together automatically. For
enhanced fitting, a long shared arithmetic chain runs vertically, allowing fast
horizontal connections to the MLAB/M20K memory and DSP blocks. A shared
arithmetic chain can continue as far as a full column.
Similar to carry chains, the top and bottom halves of shared arithmetic chains in
alternate LAB columns can be bypassed. This capability allows the shared arithmetic
chain to cascade through half of the ALMs in a LAB while leaving the other half
available for narrower fan-in functionality. The top half of every other LAB column
can be bypassed, while the bottom half of the other LAB columns can be bypassed.
For more information on shared arithmetic chain interconnect, refer to “ALM
Interconnects” on page 1–13.
Stratix V Device HandbookJune 2012 Altera Corporation
Volume 1: Device Interfaces and Integration
Chapter 1: Logic Array Blocks and Adaptive Logic Modules in Stratix V Devices1–13
s
Adaptive Logic Modules
ALM Interconnects
There are two dedicated paths between ALMs—carry chain and shared arithmetic
chain. Stratix V devices include an enhanced interconnect structure in LABs for
routing shared arithmetic chains and carry chains for efficient arithmetic functions.
These ALM-to-ALM connections bypass the local interconnect. The Quartus II
Compiler automatically takes advantage of these resources to improve utilization and
performance. Figure 1–12 shows the shared arithmetic chain and carry chain
interconnects.
Figure 1–12. Shared Arithmetic Chain and Carry Chain Interconnects
Local interconnect
routing among ALM
in the LAB
Carry chain and shared
routing to adjacent ALM
Clear and Preset Logic Control
LAB-wide signals control the logic for the register’s clear signal. The ALM directly
supports an asynchronous clear function. You can achieve the register preset through
the Quartus II software’s NOT-gate push-back logic option. Each LAB supports up to
two clears.
arithmetic chain
Local
interconnect
ALM 1
ALM 2
ALM 3
ALM 4
ALM 5
ALM 6
ALM 7
ALM 8
ALM 9
ALM 10
Stratix V devices provide a device-wide reset pin (
DEV_CLRn
) that resets all the
registers in the device. An option set before compilation in the Quartus II software
controls this pin. This device-wide reset overrides all other control signals.
June 2012 Altera CorporationStratix V Device Handbook
Volume 1: Device Interfaces and Integration
1–14Chapter 1: Logic Array Blocks and Adaptive Logic Modules in Stratix V Devices
Document Revision History
LAB Power Management Techniques
The following techniques are used to manage static and dynamic power consumption
within the LAB:
■ To save AC power, the Quartus II software forces all adder inputs low when the
ALM adders are not in use.
■ Stratix V LABs operate in high-performance mode or low-power mode. The
Quartus II software automatically chooses the appropriate mode for the LAB,
based on your design and to optimize speed versus leakage trade-offs.
■ Clocks represent a significant portion of dynamic power consumption because of
their high switching activity and long paths. The LAB clock that distributes a clock
signal to registers within a LAB is a significant contributor to overall clock power
consumption. Each LAB’s clock and clock enable signals are linked. For example, a
combinational ALUT or register in a particular LAB using the
uses the
labclkena1
signal. To disable a LAB-wide clock power consumption
without disabling the entire clock tree, use the LAB-wide clock enable to gate the
LAB-wide clock. The Quartus II software automatically promotes register-level
clock enable signals to the LAB-level. All registers within the LAB that share a
common clock and clock enable are controlled by a shared, gated clock. To take
advantage of these clock enables, use a clock-enable construct in your HDL code
for the registered logic.
labclk1
signal also
f For more information about implementing static and dynamic power consumption
within the LAB, refer to the Power Optimization chapter in volume 2 of the Quartus II
Handbook.
Document Revision History
Tab le 1 –1 lists the revision history for this chapter.
Table 1–1. Document Revision History
DateVersionChanges
■ Updated Figure 1–5, Figure 1–6, and Figure 1–12.
June 20121.4
November 20111.3
May 20111.2
December 20101.1No changes to the content of this chapter for the Quartus II software 10.1.
July 20101.0Initial release.
■ Removed register chain expression.
■ Minor text edits.
■ Updated Figure 1–1, Figure 1–4, and Figure 1–6.
■ Removed “Register Chain” section.
■ Chapter moved to volume 2 for the 11.0 release.
■ Updated Figure 1–6.
■ Minor text edits.
Stratix V Device HandbookJune 2012 Altera Corporation
Volume 1: Device Interfaces and Integration
June 2012
SV51003-1.4
SV51003-1.4
2. Memory Blocks in Stratix V Devices
This chapter describes the embedded memory blocks in Stratix® V devices.
Embedded memory blocks provide different sizes of embedded SRAM to address the
Stratix V device design requirements efficiently. Embedded memory blocks include
640-bit enhanced memory logic array blocks (MLABs) and 20-Kbit M20K blocks.
MLABs are optimized to implement shift registers for digital signal processing (DSP)
applications, wide shallow FIFO buffers, and filter delay lines. You can use the M20K
blocks to support larger memory configurations and include error correction code
(ECC).
This chapter contains the following sections:
■ “Overview” on page 2–1
■ “Memory Modes” on page 2–10
■ “Clocking Modes” on page 2–17
■ “Design Considerations” on page 2–18
Overview
Tab le 2 –1 lists the features supported by the embedded memory blocks.
Table 2–1. Summary of Memory Features in Stratix V Devices (Part 1 of 2)