电子工程世界电子工程世界电子工程世界

产品描述

搜索

EP2AGZ225FF35I4N

器件型号:EP2AGZ225FF35I4N
器件类别:半导体    可编程逻辑器件   
厂商名称:Intel
厂商官网:http://www.intel.com/
标准:
下载文档 在线购买

EP2AGZ225FF35I4N在线购买

供应商 器件名称 价格 最低购买 库存  
EP2AGZ225FF35I4N ¥17,260.32 24 点击查看 点击购买

器件描述

FPGA - Field Programmable Gate Array FPGA - Arria II GZ 8960 LABs 554 IOs

参数
产品属性属性值
Product AttributeAttribute Value
制造商:
Manufacturer:
Intel
产品种类:
Product Category:
FPGA - Field Programmable Gate Array
Shipping Restrictions:This product may require additional documentation to export from the United States.
RoHS:YES
产品:
Product:
Arria II GZ
Number of Logic Elements:224000
Number of Logic Array Blocks - LABs:8960
Number of I/Os:554 I/O
工作电源电压:
Operating Supply Voltage:
1.5 V to 3.3 V
最小工作温度:
Minimum Operating Temperature:
- 40 C
最大工作温度:
Maximum Operating Temperature:
+ 85 C
安装风格:
Mounting Style:
SMD/SMT
封装 / 箱体:
Package / Case:
FBGA-1152
封装:
Packaging:
Tray
数据速率:
Data Rate:
600 Mb/s to 6.375 Gb/s
系列:
Series:
Arria II GZ EP2AGZ225FF
商标:
Brand:
Intel / Altera
Embedded Block RAM - EBR:2800 kbit
Maximum Operating Frequency:540 MHz
Moisture Sensitive:Yes
Number of Transceivers:16/24 Transceiver
产品类型:
Product Type:
FPGA - Field Programmable Gate Array
工厂包装数量:
Factory Pack Quantity:
24
子类别:
Subcategory:
Programmable Logic ICs
Total Memory:13915 kbit
商标名:
Tradename:
Arria II

EP2AGZ225FF35I4N器件文档内容

Arria II Device Handbook Volume 1: Device Interfaces and

Integration

                                                              Arria II Device Handbook

                      Volume                              1:  Device Interfaces and Integration

101 Innovation Drive

San Jose, CA 95134

www.altera.com

AIIGX5V1-4.6                                                  Document last updated for Altera Complete Design Suite version:  13.1

                                                              Document publication date:                                       February 2014
© 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. &

Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective

holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance

with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or

liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera

customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or

services.

Arria II Device Handbook Volume 1: Device Interfaces and Integration  February 2014  Altera Corporation
                                                                                  Contents

Chapter Revision Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Section I. Device Core for Arria II Devices

Revision History    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1

Chapter 1.     Overview for the Arria II Device Family

Arria II Device Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1

Arria II Device Architecture       . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–6

High-Speed Transceiver Features    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–7

PCIe Hard IP Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–9

Logic Array Block and Adaptive Logic Modules            . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–9

Embedded Memory Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–9

DSP Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–10

I/O Features      . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–10

High-Speed LVDS I/O and DPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–11

Clock Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–11

Auto-Calibrating External Memory Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12

Nios II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12

Configuration Features             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12

SEU Mitigation      . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–13

JTAG Boundary Scan Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–13

Reference and Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–14

Document Revision History          . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–14

Chapter 2.     Logic Array Blocks and Adaptive Logic Modules in Arria II Devices

Logic Array Blocks  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1

LAB Interconnects                  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3

LAB Control Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–4

Adaptive Logic Modules             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–5

ALM Operating Modes                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7

Normal Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–8

Extended LUT Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–10

Arithmetic Mode                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–11

Shared Arithmetic Mode             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–13

LUT-Register Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–15

Register Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–16

ALM Interconnects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–17

Clear and Preset Logic Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–17

LAB Power Management Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–17

Document Revision History          . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–18

Chapter 3.     Memory Blocks in Arria II Devices

Memory Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–2

Memory Block Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3

Parity Bit Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3

Byte Enable Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3

Packed Mode Support                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–5

Address Clock Enable Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–5

February 2014  Altera Corporation                       Arria II Device Handbook Volume 1: Device Interfaces and Integration
iv                                                                                                                                                                                                   Contents

    Mixed Width Support       .........................                               .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 3–8

    Asynchronous Clear . . . . . . . . . . . . . . . . . . . . . . . . . . .          .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 3–8

    Error Correction Code Support  .................                                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 3–8

    Memory Modes  .................................                                   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–10

    Single-Port RAM Mode . . . . . . . . . . . . . . . . . . . . . . . .              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–10

    Simple Dual-Port Mode . . . . . . . . . . . . . . . . . . . . . . . .             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–12

    True Dual-Port Mode . . . . . . . . . . . . . . . . . . . . . . . . . .           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–15

    Shift-Register Mode    ...........................                                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–17

    ROM Mode      ..................................                                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–18

    FIFO Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–18

    Clocking Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–19

    Independent Clock Mode     ......................                                 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–19

    Input and Output Clock Mode . . . . . . . . . . . . . . . . . .                   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–19

    Read and Write Clock Mode . . . . . . . . . . . . . . . . . . . .                 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–19

    Single Clock Mode      ............................                               .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–20

    Design Considerations  ...........................                                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–20

    Selecting Memory Block     .......................                                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–20

    Conflict Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . .       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–20

    Read-During-Write Behavior     ...................                                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–21

    Same-Port Read-During-Write Mode . . . . . . . . . .                              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–21

    Mixed-Port Read-During-Write Mode . . . . . . . . .                               .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–23

    Power-Up Conditions and Memory Initialization . .                                 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–26

    Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . .            .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–26

    Document Revision History  ......................                                 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3–27

Chapter 4.  DSP Blocks in Arria II Devices

    DSP Block Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 4–2

    Simplified DSP Operation   ........................                               .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 4–4

    Operational Modes Overview . . . . . . . . . . . . . . . . . . . . .              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 4–7

    DSP Block Resource Descriptions . . . . . . . . . . . . . . . . . .               .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 4–8

    Input Registers  ...............................                                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 4–9

    Multiplier and First-Stage Adder . . . . . . . . . . . . . . . .                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–11

    Pipeline Register Stage . . . . . . . . . . . . . . . . . . . . . . . . .         .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–12

    Second-Stage Adder . . . . . . . . . . . . . . . . . . . . . . . . . . .          .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–12

    Rounding and Saturation Stage  .................                                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–12

    Second Adder and Output Registers . . . . . . . . . . . . .                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–13

    Arria II Operational Mode Descriptions  ............                              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–14

    Independent Multiplier Modes   .................                                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–14

    9-Bit, 12-Bit, and 18-Bit Multiplier . . . . . . . . . . . . .                    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–14

    36-Bit Multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . .         .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–17

    Double Multiplier         ..........................                              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–17

    Two-Multiplier Adder Sum Mode . . . . . . . . . . . . . . .                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–20

    18 × 18 Complex Multiplier     ..................                                 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–22

    Four-Multiplier Adder . . . . . . . . . . . . . . . . . . . . . . . . .           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–23

    High-Precision Multiplier Adder Mode    ..........                                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–24

    Multiply Accumulate Mode    ....................                                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–25

    Shift Modes   ..................................                                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–26

    Rounding and Saturation Mode . . . . . . . . . . . . . . . . .                    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–28

    DSP Block Control Signals   .....................                                 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–30

    Software Support for Arria II Devices   ..............                            .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–31

    Document Revision History  ......................                                 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4–32

Chapter 5.  Clock Networks and PLLs in Arria II Devices

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                                                              February          2014           Altera      Corporation
Contents                                                                                                                                                                                                      v

Clock Networks in Arria II Devices        ...................                                     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 5–1

Global Clock Networks              ...........................                                    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 5–3

Regional Clock Networks            .........................                                      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 5–4

Periphery Clock Networks           ........................                                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 5–6

Clock Sources Per Quadrant . . . . . . . . . . . . . . . . . . . . . . .                          .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 5–8

Clock Regions     ...................................                                             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 5–9

Clock Network Sources . . . . . . . . . . . . . . . . . . . . . . . . . . .                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–11

          Dedicated Clock Inputs Pins     ....................                                    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–11

          Logic Array Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–11

          PLL Clock Outputs        ............................                                   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–11

Clock Input Connections to PLLs . . . . . . . . . . . . . . . . . . .                             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–13

Clock Output Connections           ........................                                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–14

Clock Control Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–15

Clock Enable Signals               .............................                                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–18

Clock Source Control for PLLs . . . . . . . . . . . . . . . . . . . . .                           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–19

Cascading PLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–21

PLLs in Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–21

PLL Hardware Overview in Arria II Devices . . . . . . . . .                                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–23

          PLL Clock I/O Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . .              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–23

PLL Control Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–27

          pfdena  .......................................                                         .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–27

          areset  ........................................                                        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–27

          locked . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–27

Clock Feedback Modes               ...........................                                    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–28

          Source-Synchronous Mode . . . . . . . . . . . . . . . . . . . . . .                     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–29

          Source-Synchronous Mode for LVDS Compensation                                              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–30

          No-Compensation Mode     .......................                                        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–30

          Normal Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–31

          Zero-Delay Buffer Mode . . . . . . . . . . . . . . . . . . . . . . . .                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–32

          External Feedback Mode   .......................                                        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–33

Clock Multiplication and Division . . . . . . . . . . . . . . . . . .                             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–34

Post-Scale Counter Cascading           .....................                                      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–35

Programmable Duty Cycle            ........................                                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–36

Programmable Phase Shift           ........................                                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–36

Programmable Bandwidth             ........................                                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–38

Spread-Spectrum Tracking . . . . . . . . . . . . . . . . . . . . . . . .                          .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–38

Clock Switchover         ................................                                         .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–38

          Automatic Clock Switchover Mode  ..............                                         .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–39

          Manual Clock Switchover Mode . . . . . . . . . . . . . . . . .                          .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–42

          Clock Switchover Guidelines . . . . . . . . . . . . . . . . . . . .                     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–42

PLL Reconfiguration                .............................                                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–43

          PLL Reconfiguration Hardware Implementation . . .                                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–44

          Post-Scale Counters (C0 to C9)  ..................                                      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–46

          Scan Chain Description . . . . . . . . . . . . . . . . . . . . . . . . .                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–47

          Charge Pump and Loop Filter . . . . . . . . . . . . . . . . . . .                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–50

          Bypassing PLL  ................................                                         .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–51

          Dynamic Phase-Shifting . . . . . . . . . . . . . . . . . . . . . . . .                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–51

PLL Specifications                 ...............................                                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–54

Document Revision History          .........................                                      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  5–54

Section II. I/O Interfaces for Arria II Devices

Revision History  ...................................                                             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 5–1

February 2014  Altera Corporation                Arria II Device Handbook Volume 1: Device Interfaces and Integration
vi                                                                                                                                                                            Contents

Chapter 6.  I/O Features in Arria II Devices

    I/O Standards Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 .......  .  .  .  .  .  .  .  .  .  .  .  . 6–2

    I/O Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       .......  .  .  .  .  .  .  .  .  .  .  .  . 6–5

    Modular I/O Banks         ................................................                                                            .......  .  .  .  .  .  .  .  .  .  .  .  . 6–7

    I/O Structure  ........................................................                                                               .......  .  .  .  .  .  .  .  .  .  .  .  6–10

    3.3-V I/O Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 .......  .  .  .  .  .  .  .  .  .  .  .  6–13

    External Memory Interfaces  .........................................                                                                 .......  .  .  .  .  .  .  .  .  .  .  .  6–13

    High-Speed Differential I/O with DPA Support . . . . . . . . . . . . . . . . . . . . . . . .                                          .......  .  .  .  .  .  .  .  .  .  .  .  6–14

    Programmable Current Strength   .....................................                                                                 .......  .  .  .  .  .  .  .  .  .  .  .  6–14

    Programmable Slew Rate Control  ....................................                                                                  .......  .  .  .  .  .  .  .  .  .  .  .  6–16

    Open-Drain Output         ................................................                                                            .......  .  .  .  .  .  .  .  .  .  .  .  6–16

    Bus Hold       .........................................................                                                              .......  .  .  .  .  .  .  .  .  .  .  .  6–17

    Programmable Pull-Up Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                             .......  .  .  .  .  .  .  .  .  .  .  .  6–17

    Programmable Pre-Emphasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                             .......  .  .  .  .  .  .  .  .  .  .  .  6–17

    Programmable Differential Output Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                      .......  .  .  .  .  .  .  .  .  .  .  .  6–17

    MultiVolt I/O Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     .......  .  .  .  .  .  .  .  .  .  .  .  6–18

    OCT Support    ........................................................                                                               .......  .  .  .  .  .  .  .  .  .  .  .  6–19

    RS OCT Without Calibration for Arria II Devices . . . . . . . . . . . . . . . . . . . . .                                             .......  .  .  .  .  .  .  .  .  .  .  .  6–19

    RS OCT with Calibration for Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . .                                          .......  .  .  .  .  .  .  .  .  .  .  .  6–20

    Left-Shift RS OCT Control for Arria II GZ Devices . . . . . . . . . . . . . . . . . . . .                                             .......  .  .  .  .  .  .  .  .  .  .  .  6–21

    Expanded RS OCT with Calibration for Arria II GZ Devices                   ...........                                                .......  .  .  .  .  .  .  .  .  .  .  .  6–22

    RD OCT for Arria II LVDS Input I/O Standard                       ......................                                              .......  .  .  .  .  .  .  .  .  .  .  .  6–23

    RT OCT with Calibration for Arria II GZ Devices                   ....................                                                .......  .  .  .  .  .  .  .  .  .  .  .  6–23

    Dynamic RS and RT OCT for Single-Ended I/O Standard for Arria II GZ                                                                   Devices     .  .  .  .  .  .  .  .  .  .  6–24

    Arria II OCT Calibration  ..............................................                                                              .......  .  .  .  .  .  .  .  .  .  .  .  6–26

    OCT Calibration Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     .......  .  .  .  .  .  .  .  .  .  .  .  6–26

    Termination Schemes for I/O Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                               .......  .  .  .  .  .  .  .  .  .  .  .  6–28

    Single-Ended I/O Standards Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                      .......  .  .  .  .  .  .  .  .  .  .  .  6–28

    Differential I/O Standards Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                  .......  .  .  .  .  .  .  .  .  .  .  .  6–30

    LVDS      ..........................................................                                                                  .......  .  .  .  .  .  .  .  .  .  .  .  6–32

    Differential LVPECL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                         .......  .  .  .  .  .  .  .  .  .  .  .  6–33

    RSDS      ..........................................................                                                                  .......  .  .  .  .  .  .  .  .  .  .  .  6–33

    mini-LVDS      .....................................................                                                                  .......  .  .  .  .  .  .  .  .  .  .  .  6–34

    Design Considerations     ................................................                                                            .......  .  .  .  .  .  .  .  .  .  .  .  6–35

    I/O Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 .......  .  .  .  .  .  .  .  .  .  .  .  6–35

    Single-Ended I/O Standards      ......................................                                                                .......  .  .  .  .  .  .  .  .  .  .  .  6–35

    Differential I/O Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                            .......  .  .  .  .  .  .  .  .  .  .  .  6–35

    I/O Bank Restrictions     ..............................................                                                              .......  .  .  .  .  .  .  .  .  .  .  .  6–36

    Non-Voltage-Referenced Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                      .......  .  .  .  .  .  .  .  .  .  .  .  6–36

    Voltage-Referenced Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                .......  .  .  .  .  .  .  .  .  .  .  .  6–36

    Mixing Voltage-Referenced and Non-Voltage-Referenced Standards                                                                   ...  .......  .  .  .  .  .  .  .  .  .  .  .  6–36

    I/O Placement Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                        .......  .  .  .  .  .  .  .  .  .  .  .  6–37

    3.3-V, 3.0-V, and 2.5-V LVTTL/LVCMOS Tolerance Guidelines . . . . . . . .                                                             .......  .  .  .  .  .  .  .  .  .  .  .  6–37

    Pin Placement Guideline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       .......  .  .  .  .  .  .  .  .  .  .  .  6–37

    Document Revision History   ...........................................                                                               .......  .  .  .  .  .  .  .  .  .  .  .  6–37

Chapter 7.  External Memory Interfaces in Arria II                    Devices

    Memory Interfaces Pin Support for Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–3

    Using the RUP and RDN Pins in a DQ/DQS Group Used for Memory Interfaces in Arria II GZ Devices

    7–21

    Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface . . . . . . . . . . . . . . . 7–21

    Rules to Combine Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–22

    Arria II External Memory Interface Features                       . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–24

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                                                 February 2014          Altera Corporation
Contents                                                                                                                                                                               vii

DQS Phase-Shift Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . .                          ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  7–24

          DLL  ...........................................                                               ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  7–27

Phase Offset Control               ...............................                                       ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  7–32

DQS Logic Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                    ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  7–34

          DQS Delay Chains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  7–34

          Update Enable Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . .                    ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  7–35

          DQS Postamble Circuitry  .........................                                             ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  7–35

Arria II GZ Dynamic On-Chip Termination Control       ....                                               ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  7–37

I/O Element Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                        ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  7–37

Document Revision History          ...........................                                           ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  7–42

Chapter 8.     High-Speed Differential I/O Interfaces and DPA in                                         Arria II Devices

LVDS Channels       ......................................                                               ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 8–2

Locations of the I/O Banks         ............................                                          ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 8–3

LVDS SERDES and DPA Block Diagram . . . . . . . . . . . . . . . . .                                      ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 8–7

Differential Transmitter           ...............................                                       ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 8–8

Serializer     .........................................                                                 ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 8–8

Programmable Pre-Emphasis and Programmable VOD.                                                       .  ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–10

Differential Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–11

Receiver Hardware Blocks           ..........................                                            ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–12

          DPA  ...........................................                                               ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–12

          Synchronizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–13

          Data Realignment Block (Bit Slip) . . . . . . . . . . . . . . . . . .                          ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–14

          Deserializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–15

Receiver Datapath Modes . . . . . . . . . . . . . . . . . . . . . . . . . . .                            ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–16

          Non-DPA   ......................................                                               ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–16

          DPA Mode  .....................................                                                ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–18

          Soft CDR Mode            .................................                                     ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–19

Differential I/O Termination       ........................                                              ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–20

PLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–21

LVDS and DPA Clock Networks        .......................                                               ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–21

Source-Synchronous Timing Budget   ....................                                                  ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–23

Differential Data Orientation      ........................                                              ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–23

Differential I/O Bit Position      .........................                                             ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–23

Transmitter Channel-to-Channel Skew . . . . . . . . . . . . . . . .                                      ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–25

Receiver Skew Margin for Non-DPA Mode . . . . . . . . . . . .                                            ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–25

Differential Pin Placement Guidelines . . . . . . . . . . . . . . . . . . .                              ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–27

DPA-Enabled Channels and Single-Ended I/Os . . . . . . . .                                               ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–27

Guidelines for DPA-Enabled Differential Channels . . . . .                                               ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–27

          DPA-Enabled Channel Driving Distance . . . . . . . . . . . .                                   ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–27

          Using Center and Corner Left and Right PLLs in Arria                                           II GX Devices .   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–27

          Using Both Center PLLs   ..........................                                            ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–29

          Using Both Corner PLLs in Arria II GX Devices . . . . . .                                      ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–31

Guidelines for DPA-Disabled Differential Channels     ....                                               ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–33

          DPA-Disabled Channel Driving Distance  ...........                                             ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–33

          Using Corner and Center PLLs in Arria II GX Devices                                            ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–33

          Using Both Center PLLs   ..........................                                            ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–35

          Using Both Corner PLLs in Arria II GX Devices . . . . . .                                      ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–36

Setting Up an LVDS Transmitter or Receiver Channel . . . . .                                             ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–36

Document Revision History          ...........................                                           ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  8–36

Section III. System Integration for Arria II Devices

Revision History    .....................................                                                ..............    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 8–1

February 2014  Altera Corporation                  Arria II Device Handbook Volume 1: Device Interfaces and Integration
viii                                                                                                                                                         Contents

Chapter 9.  Configuration, Design Security, and Remote System Upgrades in Arria II                                                             Devices

      Configuration Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                ............  .  .  . 9–2

      Configuration Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           ............  .  .  . 9–2

      Power-On Reset Circuit and Configuration Pins Power Supply . . . . . . . . . . . . . . . . .                                             ............  .  .  . 9–4

      Power-On Reset Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 ............  .  .  . 9–4

      Configuration Pins Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          ............  .  .  . 9–5

      VCCPD Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       ............  .  .  . 9–6

      Configuration Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          ............  .  .  . 9–7

      Power Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       ............  .  .  . 9–7

      Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  ............  .  .  . 9–7

      Configuration    .........................................................                                                               ............  .  .  . 9–7

      Configuration Error   ....................................................                                                               ............  .  .  . 9–8

      Initialization   ..........................................................                                                              ............  .  .  . 9–8

      User Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        ............  .  .  . 9–9

      Configuration Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            ............  .  .  . 9–9

      MSEL Pin Settings    .....................................................                                                               ............  .  .  . 9–9

      Raw Binary File Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             ............  .  .  9–11

      Fast Passive Parallel Configuration  .........................................                                                           ............  .  .  9–11

      FPP Configuration Using a MAX II Device as an External Host . . . . . . . . . . . . . . .                                                ............  .  .  9–11

      FPP Configuration Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                         ............  .  .  9–15

      AS and Fast AS Configuration (Serial Configuration Devices)     ..................                                                       ............  .  .  9–19

      Guidelines for Connecting Serial Configuration Device to Arria II Devices on an                                                          AS Interface  .  .  9–23

      Estimating the AS Configuration Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                             ............  .  .  9–23

      Programming Serial Configuration Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                 ............  .  .  9–24

      PS Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       ............  .  .  9–26

      PS Configuration Using a MAX II Device as an External Host . . . . . . . . . . . . . . . .                                               ............  .  .  9–26

      PS Configuration Timing    .............................................                                                                 ............  .  .  9–29

      PS Configuration Using a Download Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                  ............  .  .  9–30

      JTAG Configuration  ......................................................                                                               ............  .  .  9–33

      Jam STAPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        ............  .  .  9–38

      Device Configuration Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              ............  .  .  9–39

      Configuration Data Decompression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       ............  .  .  9–46

      Remote System Upgrades  .................................................                                                                ............  .  .  9–48

      Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .               ............  .  .  9–49

      Enabling Remote Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   ............  .  .  9–51

      Configuration Image Types  .............................................                                                                 ............  .  .  9–52

      Remote System Upgrade Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                     ............  .  .  9–52

      Remote Update Mode      ..................................................                                                               ............  .  .  9–52

      Dedicated Remote System Upgrade Circuitry                       ................................                                         ............  .  .  9–55

      Remote System Upgrade Registers      .......................................                                                             ............  .  .  9–56

      Remote System Upgrade Control Register                          ..............................                                           ............  .  .  9–56

      Remote System Upgrade Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                    ............  .  .  9–57

      Remote System Upgrade State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                ............  .  .  9–58

      User Watchdog Timer     ..................................................                                                               ............  .  .  9–59

      Quartus II Software Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                ............  .  .  9–60

      ALTREMOTE_UPDATE Megafunction              ...................................                                                           ............  .  .  9–60

      Design Security  ..........................................................                                                              ............  .  .  9–61

      Arria II Security Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 ............  .  .  9–62

      Security Against Copying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       ............  .  .  9–62

      Security Against Reverse Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                 ............  .  .  9–62

      Security Against Tampering           ..........................................                                                          ............  .  .  9–62

      AES Decryption Block    ..................................................                                                               ............  .  .  9–62

      Flexible Security Key Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                    ............  .  .  9–63

      Arria II Design Security Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      ............  .  .  9–64

Arria II Device Handbook Volume 1: Device Interfaces and Integration  February 2014                                                            Altera Corporation
Contents                                                                                                                                                                                 ix

Security Modes Available           .......................................                                             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 9–65

          Volatile Key  ................................................                                               .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 9–65

          Non-Volatile Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 9–65

          Volatile Key with Tamper Protection Bit Set . . . . . . . . . . . . . . . . . . . . .                        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 9–65

          Non-Volatile Key with Tamper Protection Bit Set  ................                                            .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 9–65

          No Key Operation         ...........................................                                         .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 9–66

Supported Configuration Schemes           ...............................                                              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 9–66

Document Revision History          .......................................                                             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 9–69

Chapter 10.    SEU Mitigation in Arria II Devices

Error Detection Fundamentals       .....................................                                               .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 10–1

Configuration Error Detection      .....................................                                               .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 10–2

User Mode Error Detection          ........................................                                            .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 10–2

Automated Single Event Upset Detection             .........................                                           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 10–4

Error Detection Pin Description    ....................................                                                .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 10–5

Error Detection Block              .............................................                                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 10–5

Error Detection Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 10–6

Error Detection Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 10–7

Software Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 10–9

Recovering From CRC Errors         ......................................                                              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 10–10

Document Revision History          .......................................                                             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 10–10

Chapter 11.    JTAG Boundary-Scan Testing in Arria II Devices

BST Architecture for Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  11–1

IEEE Std. 1149.6 Boundary-Scan Register for Arria II GX Devices . . . . .                                              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  11–1

BST Operation Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  11–3

EXTEST_PULSE Instruction Mode             ...............................                                              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  11–4

EXTEST_TRAIN Instruction Mode             ...............................                                              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  11–5

I/O Voltage Support in a JTAG Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  11–5

Disabling IEEE Std. 1149.1 BST Circuitry  ............................                                                 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  11–6

Boundary-Scan Description Language Support . . . . . . . . . . . . . . . . . . . . . . .                               .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  11–7

Document Revision History          .......................................                                             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  11–8

Chapter 12.    Power Management in Arria II Devices

External Power Supply Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 12–1

Power-On Reset Circuitry           .........................................                                           .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 12–1

Hot Socketing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 12–2

Devices Can Be Driven Before Power-Up . . . . . . . . . . . . . . . . . . . . . . . . . .                              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 12–2

I/O Pins Remain Tri-Stated During Power-Up . . . . . . . . . . . . . . . . . . . . .                                   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 12–2

Insertion or Removal of an Arria II Device from a Powered-Up System                                                    .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 12–3

Hot-Socketing Feature Implementation               ...........................                                         .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 12–3

Document Revision History          .......................................                                             .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . . 12–4

Additional Information

About this Handbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Info–1

How to Contact Altera              ............................................                                        .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Info–1

Typographic Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Info–1

February 2014  Altera Corporation                          Arria II Device Handbook Volume 1: Device Interfaces and Integration
x                                                                                                     Contents

Arria  II  Device  Handbook  Volume  1:  Device  Interfaces  and  Integration  February 2014  Altera  Corporation
                                                                 Chapter Revision Dates

               The chapters in this document, Arria II Device Handbook Volume 1: Device Interfaces

               and Integration, were revised on the following dates. Where chapters or groups of

               chapters are available separately, part numbers are listed.

Chapter 1.     Overview for the Arria II Device Family

               Revised:            July 2012

               Part Number: AIIGX51001-4.4

Chapter 2.     Logic Array Blocks and Adaptive Logic Modules in Arria II Devices

               Revised:            December 2010

               Part Number: AIIGX51002-2.0

Chapter 3.     Memory Blocks in Arria II Devices

               Revised:            December 2011

               Part Number: AIIGX51003-3.2

Chapter 4.     DSP Blocks in Arria II Devices

               Revised:            December 2010

               Part Number: AIIGX51004-4.0

Chapter 5.     Clock Networks and PLLs in Arria II Devices

               Revised:            July 2012

               Part Number: AIIGX51005-4.2

Chapter 6.     I/O Features in Arria II Devices

               Revised:            December 2011

               Part Number: AIIGX51006-4.2

Chapter 7.     External Memory Interfaces in Arria II   Devices

               Revised:            June 2011

               Part Number: AIIGX51007-4.1

Chapter 8.     High-Speed Differential I/O Interfaces and DPA in Arria II Devices

               Revised:            July 2012

               Part Number: AIIGX51008-4.3

Chapter 9.     Configuration, Design Security, and Remote System Upgrades in Arria II Devices

               Revised:            July 2012

               Part Number: AIIGX51009-4.3

Chapter 10.    SEU Mitigation in Arria II Devices

               Revised:            February 2014

               Part Number: AIIGX51010-4.3

Chapter 11.    JTAG Boundary-Scan Testing in Arria II Devices

               Revised:            December 2013

               Part Number: AIIGX51011-4.1

Chapter 12.    Power Management in Arria II Devices

February 2014  Altera Corporation                  Arria II Device Handbook Volume 1: Device Interfaces and Integration
xii                                                                       Chapter Revision Dates

                             Revised:  June 2011

                             Part Number: AIIGX51012-3.1

Arria  II  Device  Handbook  Volume 1: Device Interfaces and Integration  February 2014  Altera Corporation
                                   Section I.    Device Core for Arria II Devices

               This section provides a complete overview of all features relating to the Arria® II

               device family, the industry’s first cost-optimized 40 nm FPGA family. This section

               includes the following chapters:

               ■        Chapter 1, Overview for the Arria II Device Family

               ■        Chapter 2, Logic Array Blocks and Adaptive Logic Modules in Arria II Devices

               ■        Chapter 3, Memory Blocks in Arria II Devices

               ■        Chapter 4, DSP Blocks in Arria II Devices

               ■        Chapter 5, Clock Networks and PLLs in Arria II 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 this volume.

December 2013  Altera Corporation                Arria II Device Handbook Volume 1: Device Interfaces and Integration
I–2                                                                            Section I:  Device Core  for Arria II Devices

                                                                                                        Revision History

Arria  II  Device  Handbook  Volume  1:  Device  Interfaces  and  Integration  December 2013            Altera Corporation
                                   1.  Overview for the Arria II Device Family

July 2012

AIIGX51001-4.4

AIIGX51001-4.4

                The Arria® II device family is designed specifically for ease-of-use. The

                cost-optimized, 40-nm device family architecture features a low-power,

                programmable logic engine and streamlined transceivers and I/Os. Common

                interfaces, such as the Physical Interface for PCI Express® (PCIe®), Ethernet, and

                DDR3 memory are easily implemented in your design with the Quartus® II software,

                the SOPC Builder design software, and a broad library of hard and soft intellectual

                property (IP) solutions from Altera. The Arria II device family makes designing for

                applications requiring transceivers operating at up to 6.375 Gbps fast and easy.

                This chapter contains the following sections:

                ■  “Arria II Device Feature” on page 1–1

                ■  “Arria II Device Architecture” on page 1–6

                ■  “Reference and Ordering Information” on page 1–14

Arria      II   Device Feature

                The Arria II device features consist of the following highlights:

                ■  40-nm, low-power FPGA engine

                   ■  Adaptive logic module (ALM) offers the highest logic efficiency in the industry

                   ■  Eight-input fracturable look-up table (LUT)

                   ■  Memory logic array blocks (MLABs) for efficient implementation of small

                      FIFOs

                ■  High-performance digital signal processing (DSP) blocks up to 550 MHz

                   ■  Configurable as 9 x 9-bit, 12 x 12-bit, 18 x 18-bit, and 36 x 36-bit full-precision

                      multipliers as well as 18 x 36-bit high-precision multiplier

                   ■  Hardcoded adders, subtractors, accumulators, and summation functions

                   ■  Fully-integrated design flow with the MATLAB and DSP Builder software

                      from Altera

                ■  Maximum system bandwidth

                   ■  Up to 24 full-duplex clock data recovery (CDR)-based transceivers supporting

                      rates between 600 Mbps and 6.375 Gbps

                   ■  Dedicated circuitry to support physical layer functionality for popular serial

                      protocols, including PCIe Gen1 and PCIe Gen2, Gbps Ethernet, Serial

                      RapidIO® (SRIO), Common Public Radio Interface (CPRI), OBSAI,

                      SD/HD/3G/ASI Serial Digital Interface (SDI), XAUI and Reduced XAUI

                      (RXAUI), HiGig/HiGig+, SATA/Serial Attached SCSI (SAS), GPON,

                      SerialLite II, Fiber Channel, SONET/SDH, Interlaken, Serial Data Converter

                      (JESD204), and SFI-5.

© 2012 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off.

and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at

www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but

reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any

information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device

specifications before relying on any published information and before placing orders for products or services.

Arria II Device Handbook Volume 1: Device Interfaces and Integration

July 2012

                                                                                                                                                                              Subscribe
1–2                                                                   Chapter 1: Overview for the Arria II Device Family

                                                                               Arria II Device Feature

     ■  Complete PIPE protocol solution with an embedded hard IP block that provides

        physical interface and media access control (PHY/MAC) layer, Data Link layer,

        and Transaction layer functionality

     ■  Optimized for high-bandwidth system interfaces

        ■  Up to 726 user I/O pins arranged in up to 20 modular I/O banks that support a

           wide range of single-ended and differential I/O standards

        ■  High-speed LVDS I/O support with serializer/deserializer (SERDES) and

           dynamic phase alignment (DPA) circuitry at data rates from 150 Mbps to

           1.25 Gbps

     ■  Low power

        ■  Architectural power reduction techniques

        ■  Typical physical medium attachment (PMA) power consumption of 100 mW at

           3.125 Gbps.

        ■  Power optimizations integrated into the Quartus II development software

     ■  Advanced usability and security features

        ■  Parallel and serial configuration options

        ■  On-chip series (RS) and on-chip parallel (RT) termination with auto-calibration

           for single-ended I/Os and on-chip differential (RD) termination for differential

           I/O

        ■  256-bit advanced encryption standard (AES) programming file encryption for

           design security with volatile and non-volatile key storage options

        ■  Robust portfolio of IP for processing, serial protocols, and memory interfaces

        ■  Low cost, easy-to-use development kits featuring high-speed mezzanine

           connectors (HSMC)

     ■  Emulated LVDS output support with a data rate of up to 1152 Mbps

Arria II Device Handbook Volume 1: Device Interfaces and Integration  July 2012  Altera Corporation
July 2012                                    Table 1–1 lists the Arria II device features.                                                                                                                                                   Arria II Device Feature  Chapter 1: Overview for the Arria

                    Table 1–1. Features in Arria II Devices

Altera Corporation                                                                                         Arria II GX Devices                                          Arria II GZ Devices

                                    Feature

                                                                 EP2AGX45      EP2AGX65      EP2AGX95                      EP2AGX125   EP2AGX190  EP2AGX260  EP2AGZ225  EP2AGZ300            EP2AGZ350

                    Total Transceivers (1)                       8             8                           12              12          16         16         16 or 24   16 or 24             16 or 24

                    ALMs                                         18,050        25,300        37,470                        49,640      76,120     102,600    89,600     119,200              139,400

                    LEs                                          42,959        60,214        89,178                        118,143     181,165    244,188    224,000    298,000              348,500                                                                  II

                    PCIe hard IP blocks                          1             1                           1               1           1          1          1          1                                                                1                            Device

                    M9K Blocks                                   319           495                         612             730         840        950        1,235      1,248                1,248                                                                    Family

                    M144K Blocks                                 —             —                           —               —           —          —          —          24                                                               36

                    Total Embedded Memory in M9K                 2,871         4,455         5,508                         6,570       7,560      8,550      11,115     14,688               16,416

                    Blocks (Kbits)

                    Total On-Chip Memory                         3,435         5,246         6,679                         8,121       9,939      11,756     13,915     18,413               20,772

                    (M9K +M144K + MLABs) (Kbits)

                    Embedded Multipliers (18 x 18) (2)           232           312                         448             576         656        736        800        920                  1,040

                    General Purpose PLLs                         4             4                           6               6           6          6          6 or 8     4, 6, or 8           4, 6, or 8

Arria               Transceiver TX PLLs      (3), (4)            2 or 4        2 or 4        4 or 6                        4 or 6      6 or 8     6 or 8     8 or 12    8 or 12              8 or 12

II

Device              User I/O Banks (5), (6)                      6             6                           8               8           12         12         16 or 20   8, 16, or 20         8, 16, or 20

                    High-Speed LVDS SERDES                       8, 24, or 28  8, 24, or 28  24, 28, or 32                 24, 28, 32  28 or 48   24 or 48   42 or 86   0 (8), 42, or 86     0 (8), 42, or 86

Handbook            (up to 1.25 Gbps) (7)

                    Notes to Table 1–1:

Volume              (1)  The total number of transceivers is divided equally between the left and right side of each device, except for the devices in the F780 package. These devices have eight transceiver channels located only on

                         the right side of the device.

1:                  (2)  This is in four multiplier adder mode.

Device              (3)  The FPGA fabric can use these phase locked-loops (PLLs) if they are not used by the transceiver.

                    (4)  The number of PLLs depends on the package. Transceiver transmitter (TX) PLL count = (number of transceiver blocks) × 2.

Interfaces          (5)  Banks 3C and 8C are dedicated configuration banks and do not have user I/O pins.

                    (6)  For Arria II GZ devices, the user I/Os count from pin-out files includes all general purpose I/O, dedicated clock pins, and dual purpose configuration pins. Transceiver pins and dedicated configuration pins

                         are not included in the pin count.

and                 (7)  For Arria II GZ devices, total pairs of high-speed LVDS SERDES take the lowest channel count of RX/TX. For more information, refer to the High-Speed I/O Interfaces and DPA in Arria II Devices chapter.

Integration         (8)  The smallest pin package (780-pin package) does not support high-speed LVDS SERDES.

                                                                                                                                                                                                                                                                      1–3
1–4                                                                                             Chapter 1: Overview for the Arria II Device Family

                                                                                                                                Arria II Device Feature

                     Table 1–2 and Table 1–3 list the Arria II device package options and user I/O pin

                     counts, high-speed LVDS channel counts, and transceiver channel counts for Ultra

                     FineLine BGA (UBGA) and FineLine BGA (FBGA) devices.

Table 1–2.   Package Options and I/O Information for Arria II GX Devices                   (Note 1),  (2),   (3),  (4),   (5),  (6),  (7)

             358-Pin Flip Chip UBGA                  572-Pin Flip Chip FBGA                780-Pin Flip Chip FBGA               1152-Pin Flip Chip FBGA

                     17 mm x 17 mm                         25 mm x 25 mm                        29 mm x 29 mm                         35 mm x 35 mm

     Device                                   XCVRs                            XCVRs                               XCVRs                                        XCVRs

             I/O     LVDS (8)                        I/O   LVDS (8)                        I/O      LVDS (8)                    I/O        LVDS  (8)

                     33(RD or eTX)                         57(RD or                             85(RD or eTX)

EP2AGX45     156     + 32(RX, TX,             4      252   eTX) +              8           364  + 84(RX, TX,       8            —          —                    —

                     or eTX)                               56(RX, TX,                               or eTX)

                                                           or eTX)

                     33(RD or eTX)                         57(RD or                             85(RD or eTX)

EP2AGX65     156     + 32(RX, TX,             4      252   eTX) +              8           364      +84(RX,TX,     8            —          —                    —

                     or eTX)                               56(RX, TX,                                 eTX)

                                                           or eTX)

                                                           57(RD or                             85(RD or eTX)                         105(RD or

EP2AGX95     —       —                        —      260   eTX) +              8           372  +84(RX, TX, or     12     452              eTX) +               12

                                                           56(RX, TX,                                 eTX)                            104(RX, TX, or

                                                           or eTX)                                                                         eTX)

                                                           57(RD or                             85(RD or eTX)                         105(RD or

EP2AGX125    —       —                        —      260   eTX) +              8           372  +84(RX,TX, or      12     452              eTX) +               12

                                                           56(RX,TX, or                               eTX)                            104(RX, TX, or

                                                                      eTX)                                                                 eTX)

                                                                                                85(RD or eTX)                         145(RD or

EP2AGX190    —       —                        —      —                —        —           372  +84(RX, TX, or     12     612              eTX) +               16

                                                                                                      eTX)                            144(RX, TX, or

                                                                                                                                           eTX)

                                                                                                    85(RD, eTX)                       145(RD, eTX) +

EP2AGX260    —       —                        —      —                —        —           372  +84(RX, TX, or     12     612         144(RX, TX, or            16

                                                                                                      eTX)                                 eTX)

Notes to Table 1–2:

(1)  The user I/O counts include clock pins.

(2)  The arrows indicate packages vertical migration capability. Vertical migration allows you to migrate to devices whose dedicated pins, configuration pins,

     and power pins are the same for a given package across device densities.

(3)  RD = True LVDS input buffers with on-chip differential termination (RD OCT) support.

(4)  RX = True LVDS input buffers without RD OCT support.

(5)  TX = True LVDS output buffers.

(6)  eTX = Emulated-LVDS output buffers, either LVDS_E_3R or LVDS_E_1R.

(7)  The LVDS channel count does not include dedicated clock input pins and PLL clock output pins.

(8)  These numbers represent the accumulated LVDS channels supported in Arria II GX row and column I/O banks.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                               July 2012          Altera Corporation
Chapter 1: Overview for the Arria II Device Family                                                                                                   1–5

Arria II Device Feature

Table 1–3. Package Options and I/O Information for Arria II GZ Devices              (Note 1), (2),           (3), (4), (5)

                              780-Pin Flip Chip FBGA              1152-Pin Flip Chip FBGA                         1517-Pin Flip Chip FBGA

                               29 mm x 29 mm                              35 mm x 35 mm                                    40 mm x 40 mm

     Device                                           XCVRs                                           XCVRs                                          XCVRs

                         I/O      LVDS (6)                   I/O          LVDS (7)                           I/O            LVDS (7)

EP2AGZ225                —           —                —      554          135 (RX or eTX) +           16     734      179 (RX or eTX) +              24

                                                                          140 (TX or eTX)                                  184 (TX or eTX)

EP2AGZ300                281   68 (RX or eTX) +       16     554          135 (RX or eTX) +           16     734      179 (RX or eTX) +              24

                                     72 eTX                               140 (TX or eTX)                                  184 (TX or eTX)

EP2AGZ350                281   68 (RX or eTX) +       16     554          135 (RX or eTX) +           16     734      179 (RX or eTX) +              24

                                     72 eTX                               140 (TX or eTX)                                  184 (TX or eTX)

Notes to Table 1–3:

(1)  The user I/O counts include clock pins.

(2)  RX = True LVDS input buffers without RD OCT support for row I/O banks, or true LVDS input buffers       without  RD   OCT support  for  column  I/O

     banks.

(3)  eTX = Emulated-LVDS output buffers, either LVDS_E_3R or LVDS_E_1R.

(4)  The LVDS RX and TX channels are equally divided between the left and right sides of the device.

(5)  The LVDS channel count does not include dedicated clock input pins.

(6)  For Arria II GZ 780-pin FBGA package, the LVDS channels are only supported in column I/O banks.

(7)  These numbers represents the accumulated LVDS channels supported in Arria II GZ device row and          column   I/O  banks.

                              Arria II devices are available in up to four speed grades: –3 (fastest), –4, –5, and –6

                              (slowest). Table 1–4 lists the speed grades for Arria II devices.

Table 1–4. Speed         Grades for Arria II Devices

     Device              358-Pin Flip Chip          572-Pin Flip Chip     780-Pin Flip Chip                  1152-Pin Flip Chip         1517-Pin Flip Chip

                               UBGA                   FBGA                FBGA                                        FBGA                   FBGA

EP2AGX45                 C4, C5, C6, I3, I5         C4, C5, C6, I3, I5    C4, C5, C6, I3, I5                          —                              —

EP2AGX65                 C4, C5, C6, I3, I5         C4, C5, C6, I3, I5    C4, C5, C6, I3, I5                          —                              —

EP2AGX95                       —                    C4, C5, C6, I3, I5    C4, C5, C6, I3, I5                 C4, C5, C6, I3, I5                      —

EP2AGX125                      —                    C4, C5, C6, I3, I5    C4, C5, C6, I3, I5                 C4, C5, C6, I3, I5                      —

EP2AGX190                      —                      —                   C4, C5, C6, I3, I5                 C4, C5, C6, I3, I5                      —

EP2AGX260                      —                      —                   C4, C5, C6, I3, I5                 C4, C5, C6, I3, I5                      —

EP2AGZ225                      —                      —                   —                                  C3, C4, I3, I4                  C3, C4, I3, I4

EP2AGZ300                      —                      —                   C3, C4, I3, I4                     C3, C4, I3, I4                  C3, C4, I3, I4

EP2AGZ350                      —                      —                   C3, C4, I3, I4                     C3, C4, I3, I4                  C3, C4, I3, I4

July 2012  Altera Corporation                                             Arria II Device Handbook Volume 1: Device Interfaces and Integration
1–6                                                                   Chapter 1: Overview for the Arria II Device Family

                                                                                                                 Arria II Device Architecture

Arria  II  Device Architecture

           Arria II devices include a customer-defined feature set optimized for cost-sensitive

           applications and offer a wide range of density, memory, embedded multiplier, I/O,

           and packaging options. Arria II devices support external memory interfaces and I/O

           protocols required by wireless, wireline, broadcast, computer, storage, and military

           markets. They inherit the 8-input ALM, M9K and M144K embedded RAM block, and

           high-performance DSP blocks from the Stratix® IV device family with a

           cost-optimized I/O cell and a transceiver optimized for 6.375 Gbps speeds.

           Figure 1–1 and Figure 1–2 show an overview of the Arria II GX and Arria II GZ device

           architecture, respectively.

           Figure 1–1.  Architecture Overview for Arria II GX Devices

                             DLL  High-Speed Differential I/O,        High-Speed Differential I/O,

                                  General Purpose I/O, and            General Purpose I/O, and                              PLL

                        PLL             Memory Interface                                       Memory Interface

                                                                                                                 High-Speed

                                                                                                                 Differential I/O

                                                                                                                 with DPA,

                                                                                                                 General

                                                                                                                 Purpose

                                                                      Arria II GX FPGA Fabric                    I/O, and

                                                                      (Logic Elements, DSP,                      Memory

                                                                      Embedded Memory, Clock Networks)           Interface

                                        All the blocks in this graphic are for the largest density in the

                                        Arria II GX family. The number of blocks can vary based on                          PLL

           Transceiver                                                the density of the device.

                        Blocks                                                                                              PLL

                                                                                                                 High-Speed

                                        Plug and Play PCIe hard IP                                               Differential I/O

                                        ×1,×2, ×4, and ×8                                                        with DPA,

                                                                                                                 General

                                                                                                                 Purpose

                                                                                                                 I/O, and

                                                                                                                 Memory

                                                                                                                 Interface

                                  High-Speed Differential I/O,        High-Speed Differential I/O,                          PLL

                             PLL  General Purpose I/O, and            General Purpose I/O, and

                                        Memory Interface                                       Memory Interface  DLL

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                             July 2012  Altera Corporation
Chapter 1: Overview for the Arria II Device Family                                                                                                                                                                                                            1–7

Arria II Device Architecture

Figure 1–2.  Architecture Overview for Arria II GZ Device

                                                                                    General Purpose                                                         General Purpose

                                                                                    I/O and Memory                                        PLL  PLL          I/O and Memory

                                                                                             Interface                                                             Interface

                                 Transceiver  Block                General Purpose  I/O and  High-Speed  LVDS I/O with  DPA and Soft CDR                           General Purpose  I/O and  High-Speed  LVDS I/O with  DPA and Soft CDR  Transceiver  Block

                                 Transceiver         Block (3)                                                                            Arria II GZ FPGA Fabric                                                                         Transceiver  Block

                                                     PCIe hard IP                   PLL (1)                                               (Logic Elements, DSP,                     PLL (1)

                                              Block                                 PLL (2)                                               Embedded Memory,                          PLL (2)

                                                                   General Purpose                                      DPA and Soft CDR  Clock Networks)          General Purpose                                      DPA and Soft CDR

                                 Transceiver  Block                                 I/O and  High-Speed  LVDS I/O with                                                              I/O and  High-Speed  LVDS I/O with                    Transceiver  Block

                                                                                    General Purpose                                                        General Purpose

                                                                                    I/O and Memory                                        PLL  PLL         I/O and Memory

                                                                                             Interface                                                             Interface

                                                     Transceiver Block                                                                    400 Mbps-6.375 Gbps CDR-based Transceiver

                                    General Purpose I/O and                                                                               General Purpose I/O and 150 Mbps-1.25 Gbps

                                              High-Speed LVDS I/O                                                                         LVDS interface with DPA and Soft-CDR

                                              with DPA and Soft CDR

Notes to   Figure 1–2:

(1)  Not   available for 780-pin FBGA package.

(2)  Not   available for 780-pin and 1152-pin FBGA packages.

(3)  The   PCIe hard IP block is located on the left side of the device                                                                   only (IOBANK_QL).

           High-Speed Transceiver Features

                              Arria II GX devices integrate up to 16 transceivers and Arria II GZ devices up to

                              24 transceivers on a single device. The transceiver block is optimized for cost and

                              power consumption. Arria II transceivers support the following features:

                              ■  Configurable pre-emphasis and equalization, and adjustable output differential

                                 voltage

                              ■  Flexible and easy-to-configure transceiver datapath to implement proprietary

                                 protocols

                              ■  Signal integrity features

                                 ■            Programmable transmitter pre-emphasis to compensate for inter-symbol

                                              interference (ISI)

                                 ■            User-controlled receiver equalization with up to 7 dB (Arria II GX) and

                                              16 dB (Arria II GZ) of high-frequency gain

                                 ■            On-die power supply regulators for transmitter and receiver PLL charge pump

                                              and voltage-controlled oscillator (VCO) for superior noise immunity

                                 ■            Calibration circuitry for transmitter and receiver on-chip termination (OCT)

                                              resistors

July 2012  Altera Corporation                                                                                                                  Arria II Device Handbook Volume 1: Device Interfaces and Integration
1–8                                                                        Chapter 1: Overview for the Arria II Device Family

                                                                                                    Arria II Device Architecture

                   ■       Diagnostic features

                           ■  Serial loopback from the transmitter serializer to the receiver CDR for

                              transceiver physical coding sublayer (PCS) and PMA diagnostics

                           ■  Parallel loopback from the transmitter PCS to the receiver PCS with built-in self

                              test (BIST) pattern generator and verifier

                           ■  Reverse serial loopback pre- and post-CDR to transmitter buffer for physical

                              link diagnostics

                           ■  Loopback master and slave capability in PCIe hard IP blocks

                           ■  Support for protocol features such as MSB-to-LSB transmission in a

                              SONET/SDH configuration and spread-spectrum clocking in a PCIe

                              configuration

                   Table 1–5 lists common protocols and the Arria II dedicated circuitry and features for

                   implementing these protocols.

Table 1–5. Sample of Supported Protocols and Feature Descriptions for Arria II Devices

      Supported Protocols                                             Feature Descriptions

                              ■  Complete PCIe Gen1 and Gen2 protocol stack solution compliant to PCIe Base

                                 Specification 2.0 that includes PHY/MAC, Data Link, and Transaction layer circuitry

                                 embedded in the PCIe hard IP blocks.

                              ■  PCIe Gen1 has x1, x2, x4, and x8 lane configurations. PCIe Gen2 has x1, x2, and x4 lane

                                 configurations. PCIe Gen2 does not support x8 lane configurations

                              ■  Built-in circuitry for electrical idle generation and detection, receiver detect, power state

PCIe                             transitions, lane reversal, and polarity inversion

                              ■  8B/10B encoder and decoder, receiver synchronization state machine, and ±300 parts

                                 per million (PPM) clock compensation circuitry

                              ■  Options to use:

                                 ■  Hard IP Data Link Layer and Transaction Layer

                                 ■  Hard IP Data Link Layer and custom Soft IP Transaction Layer

                              ■  Compliant to IEEE P802.3ae specification

                              ■  Embedded state machine circuitry to convert XGMII idle code groups (||I||) to and from

XAUI/HiGig/HiGig+                idle ordered sets (||A||, ||K||, ||R||) at the transmitter and receiver, respectively

                              ■  8B/10B encoder and decoder, receiver synchronization state machine, lane deskew, and

                                 ±100 PPM clock compensation circuitry

                              ■  Compliant to IEEE 802.3 specification

                              ■  Automatic idle ordered set (/I1/, /I2/) generation at the transmitter, depending on the

GbE                              current running disparity

                              ■  8B/10B encoder and decoder, receiver synchronization state machine, and ±100 PPM

                                 clock compensation circuitry

                              ■  Transmit bit slipper eliminates latency uncertainty to comply with CPRI/OBSAI

CPRI/OBSAI                       specifications

                              ■  Optimized for power and cost for remote radio heads and RF modules

            1      For other protocols supported by Arria II devices, such as SONET/SDH, SDI, SATA

                   and SRIO, refer to the Transceiver Architecture in Arria II Devices chapter.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                              July 2012  Altera Corporation
Chapter 1: Overview for the Arria II Device Family                                                                     1–9

Arria II Device Architecture

           1                  PCIe Gen2 protocol is only available in Arria II GZ devices.

                              The following sections provide an overview of the various features of the Arria II

                              FPGA.

           PCIe   Hard IP Block

                              Every Arria II device includes an integrated hard IP block which implements PCIe

                              PHY/MAC, data link, and transaction layers. This PCIe hard IP block is highly

                              configurable to meet the requirements of the majority of PCIe applications. PCIe

                              hard IP makes implementing PCIe Gen1 and PCIe Gen2 solution in your Arria II

                              design simple and easy.

                              You can instantiate PCIe hard IP block using the PCI Compiler MegaWizardTM

                              Plug-In Manager, similar to soft IP functions, but does not consume core FPGA

                              resources or require placement, routing, and timing analysis to ensure correct

                              operation of the core. Table 1–6 lists the PCIe hard IP block support for Arria II GX

                              and GZ devices.

                              Table 1–6.  PCIe Hard IP Block Support

                                          Support                     Arria II GX Devices   Arria II GZ Devices

                               PCIe Gen1                                 x1, x4, x8         x1, x4, x8

                               PCIe Gen2                                   —                x1, x4

                               Root Port and endpoint configurations       Yes                          Yes

                               Payloads                               128-byte to 256-byte  128-byte to 2K-byte

           Logic  Array Block and Adaptive Logic Modules

                              ■  Logic array blocks (LABs) consists of 10 ALMs, carry chains, shared arithmetic

                                 chains, LAB control signals, local interconnect, and register chain connection lines

                              ■  ALMs expand the traditional four-input LUT architecture to eight-inputs,

                                 increasing performance by reducing logic elements (LEs), logic levels, and

                                 associated routing

                              ■  LABs have a derivative called MLAB, which adds SRAM-memory capability to

                                 the LAB

                              ■  MLAB and LAB blocks always coexist as pairs, allowing up to 50% of the logic

                                 (LABs) to be traded for memory (MLABs)

           Embedded              Memory Blocks

                              ■  MLABs, M9K, and M144K embedded memory blocks provide up to 20,836 Kbits

                                 of on-chip memory capable of up to 540-MHz performance. The embedded

                                 memory structure consists of columns of embedded memory blocks that you can

                                 configure as RAM, FIFO buffers, and ROM.

                              ■  Optimized for applications such as high-throughput packet processing,

                                 high-definition (HD) line buffers for video processing functions, and embedded

                                 processor program and data storage.

July 2012  Altera Corporation                                         Arria II Device Handbook Volume 1: Device Interfaces and Integration
1–10                                                                   Chapter 1: Overview for the Arria II Device Family

                                                                                                 Arria II Device Architecture

           ■    The Quartus® II software allows you to take advantage of MLABs, M9K, and

                M144K memory blocks by instantiating memory using a dedicated megafunction

                wizard or by inferring memory directly from VHDL or Verilog source code.

           Table 1–7 lists the Arria II device memory modes.

           Table 1–7.   Memory Modes for Arria II Devices

                     Port Mode                                         Port Width Configuration

           Single Port                x1, x2, x4, x8, x9, x16, x18, x32, x36, x64, and x72

           Simple Dual Port           x1, x2, x4, x8, x9, x16, x18, x32, x36, x64, and x72

           True Dual Port             x1, x2, x4, x8, x9, x16, x18, x32, and x36

      DSP  Resources

           ■    Fulfills the DSP requirements of 3G and Long Term Evolution (LTE) wireless

                infrastructure applications, video processing applications, and voice processing

                applications

           ■    DSP block input registers efficiently implement shift registers for finite impulse

                response (FIR) filter applications

           ■    The Quartus II software includes megafunctions you can use to control the mode

                of operation of the DSP blocks based on user-parameter settings

           ■    You can directly infer multipliers from the VHDL or Verilog HDL source code

      I/O  Features

           ■    Contains up to 20 modular I/O banks

           ■    All I/O banks support a wide range of single-ended and differential I/O

                standards listed in Table 1–8.

           Table 1–8.   I/O Standards Support for Arria II Devices

                      Type                                             I/O Standard

           Single-Ended I/O           LVTTL, LVCMOS, SSTL, HSTL, PCIe, and PCI-X

           Differential I/O           SSTL, HSTL, LVPECL, LVDS, mini-LVDS, Bus LVDS (BLVDS)                 (1), and

                                      RSDS

           Note to Table 1–8:

           (1)       BLVDS is only available for Arria II GX devices.

           ■    Supports programmable bus hold, programmable weak pull-up resistors, and

                programmable slew rate control

           ■    For Arria II devices, calibrates OCT or driver impedance matching for

                single-ended I/O standards with one OCT calibration block on the I/O banks

                listed in Table 1–9.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                             July 2012  Altera Corporation
Chapter 1: Overview for the Arria II Device Family                                                                    1–11

Arria II Device Architecture

Table 1–9. Location of OCT Calibration Block in Arria II Devices

Device                        Package Option                                       I/O Bank

Arria II GX  All pin packages                       Bank 3A, Bank 7A, and Bank 8A

             780-pin flip chip FBGA                 Bank 3A, Bank 4A, Bank 7A, and Bank 8A

Arria II GZ  1152-pin flip chip FBGA                Bank 1A, Bank 3A, Bank 4A, Bank 6A, Bank 7A, and Bank 8A

             1517-pin flip chip FBGA                Bank 1A, Bank 2A, Bank 3A, Bank 4A, Bank 5A, Bank 6A, Bank 7A, and Bank 8A

                              ■  Arria II GX devices have dedicated configuration banks at Bank 3C and 8C, which

                                 support dedicated configuration pins and some of the dual-purpose pins with a

                                 configuration scheme at 1.8, 2.5, 3.0, and 3.3 V. For Arria II GZ devices, the

                                 dedicated configuration pins are located in Bank 1A and Bank 1C. However, these

                                 banks are not dedicated configuration banks; therefore, user I/O pins are available

                                 in Bank 1A and Bank 1C.

                              ■  Dedicated VCCIO, VREF, and VCCPD pin per I/O bank to allow voltage-referenced

                                 I/O standards. Each I/O bank can operate at independent VCCIO, VREF, and VCCPD

                                 levels.

           High-Speed LVDS I/O and DPA

                              ■  Dedicated circuitry for implementing LVDS interfaces at speeds from 150 Mbps to

                                 1.25 Gbps

                              ■  RD OCT for high-speed LVDS interfacing

                              ■  DPA circuitry and soft-CDR circuitry at the receiver automatically compensates for

                                 channel-to-channel and channel-to-clock skew in source-synchronous interfaces

                                 and allows for implementation of asynchronous serial interfaces with embedded

                                 clocks at up to 1.25 Gbps data rate (SGMII and GbE)

                              ■  Emulated LVDS output buffers use two single-ended output buffers with an

                                 external resistor network to support LVDS, mini-LVDS, BLVDS (only for

                                 Arria II GZ devices), and RSDS standards.

           Clock  Management

                              ■  Provides dedicated global clock networks, regional clock networks, and periphery

                                 clock networks that are organized into a hierarchical structure that provides up to

                                 192 unique clock domains

                              ■  Up to eight PLLs with 10 outputs per PLL to provide robust clock management

                                 and synthesis

                                 ■  Independently programmable PLL outputs, creating a unique and

                                    customizable clock frequency with no fixed relation to any other clock

                                 ■  Inherent jitter filtration and fine granularity control over multiply and divide

                                    ratios

                                 ■  Supports spread-spectrum input clocking and counter cascading with PLL

                                    input clock frequencies ranging from 5 to 500 MHz to support both low-cost

                                    and high-end clock performance

                              ■  FPGA fabric can use the unused transceiver PLLs to provide more flexibility

July 2012  Altera Corporation                                     Arria II Device Handbook Volume 1: Device Interfaces and Integration
1–12                                                                  Chapter 1: Overview for the Arria II Device Family

                                                                                    Arria II Device Architecture

      Auto-Calibrating External Memory Interfaces

               ■  I/O structure enhanced to provide flexible and cost-effective support for different

                  types of memory interfaces

               ■  Contains features such as OCT and DQ/DQS pin groupings to enable rapid and

                  robust implementation of different memory standards

               ■  An auto-calibrating megafunction is available in the Quartus II software for

                  DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RLDRAM II memory interface

                  PHYs; the megafunction takes advantage of the PLL dynamic reconfiguration

                  feature to calibrate based on the changes of process, voltage, and temperature

                  (PVT).

      f        For the maximum clock rates supported in Altera's FPGA devices, refer to the

               External Memory Interface Spec Estimator online tool.

      f        For more information about the external memory interfaces support, refer to the

               External Memory Interfaces in Arria II Devices chapter.

      Nios II

               ■  Arria II  devices support all variants of the NIOS® II processor

               ■  Nios II processors are supported by an array of software tools from Altera and

                  leading embedded partners and are used by more designers than any other

                  configurable processor

      Configuration Features

               ■  Configuration

                  ■  Supports active serial (AS), passive serial (PS), fast passive parallel (FPP), and

                     JTAG configuration schemes.

               ■  Design Security

                  ■  Supports programming file encryption using 256-bit volatile and non-volatile

                     security keys to protect designs from copying, reverse engineering, and

                     tampering in FPP configuration mode with an external host (such as a MAX® II

                     device or microprocessor), or when using the AS, FAS, or PS configuration

                     scheme

                  ■  Decrypts an encrypted configuration bitstream using the AES algorithm, an

                     industry standard encryption algorithm that is FIPS-197 certified and requires

                     a 256-bit security key

Arria II Device Handbook Volume 1: Device Interfaces and Integration                July 2012  Altera Corporation
Chapter 1: Overview for the Arria II Device Family                                                                       1–13

Arria II Device Architecture

                              ■  Remote System Upgrade

                                 ■  Allows error-free deployment of system upgrades from a remote location

                                    securely and reliably without an external controller

                                 ■  Soft logic (either the Nios II embedded processor or user logic) implementation

                                    in the device helps download a new configuration image from a remote

                                    location, store it in configuration memory, and direct the dedicated remote

                                    system upgrade circuitry to start a reconfiguration cycle

                                 ■  Dedicated circuitry in the remote system upgrade helps to avoid system down

                                    time by performing error detection during and after the configuration process,

                                    recover from an error condition by reverting back to a safe configuration

                                    image, and provides error status information

           SEU  Mitigation

                              ■  Offers built-in error detection circuitry to detect data corruption due to soft errors

                                 in the configuration random access memory (CRAM) cells

                              ■  Allows all CRAM contents to be read and verified to match a

                                 configuration-computed cyclic redundancy check (CRC) value

                              ■  You can identify and read out the bit location and the type of soft error through the

                                 JTAG or the core interface

           JTAG  Boundary Scan Testing

                              ■  Supports JTAG IEEE Std. 1149.1 and IEEE Std. 1149.6 specifications

                              ■  IEEE Std. 1149.6 supports high-speed serial interface (HSSI) transceivers and

                                 performs boundary scan on alternating current (AC)-coupled transceiver channels

                              ■  Boundary-scan test (BST) architecture offers the capability to test pin connections

                                 without using physical test probes and capture functional data while a device is

                                 operating normally

July 2012  Altera Corporation                                Arria II Device Handbook Volume 1: Device Interfaces and Integration
1–14                                                                                                  Chapter 1: Overview for the Arria II Device Family

                                                                                                         Reference and Ordering Information

Reference      and Ordering Information

               Figure 1–3 shows the ordering codes for Arria II devices.

               Figure 1–3.   Packaging Ordering Information for Arria II Devices

                                              EP2AGX  45              C  F  17  C                 4   N

                        Family Signature                                                                 Optional Suffix

                    EP2AGX                                                                               Indicates specific device options

                    EP2AGZ                                                                               ES: Engineering sample

                                                                                                         N: Lead-free devices

                        Device Density

                                                                                                         Speed Grade

               GX:  45, 65, 95, 125, 190,260

                    GZ: 225, 300, 350                                                                    3, 4, 5, or 6, with 3 being the fastest

                    Transceiver Count

                    C: 4                                                                                 Operating Temperature

                    D: 8                                                                                 C: Commercial temperature (tJ = 0°C to 85°C)

                    E: 12                                                                                I: Industrial temperature (tJ = -40°C to 100°C)

                    F:16

                    H: 24

                        Package Type                                        Ball Array Dimension

                                                                            Corresponds to pin count

                    F: FineLine BGA (FBGA)                                  17 = 358 pins

                    U: Ultra FineLine BGA (UBGA)                            25 = 572 pins

                    H: Hybrid FineLine BGA (HBGA)                           29 = 780 pins

                                                                            35 = 1152 pins

                                                                            40 = 1517 pins

Document Revision History

               Table 1–10 lists the revision history for this chapter.

Table 1–10. Document Revision History (Part 1 of 2)

      Date     Version                                                                      Changes

July 2012      4.4        Replaced Table 1-10. External Memory Interface Maximum Performance for Arria                                      II    Devices

                          with link to the External Memory Interface Spec Estimator online tool.

December 2011  4.3        Updated Table 1–4 and Table 1–9.

June 2011      4.2        Updated Table 1–2.

                          ■  Updated Figure 1–2.

                          ■  Updated Table 1–10.

June 2011      4.1        ■  Updated the “Arria II Device Feature” section.

                          ■  Added Table 1–6.

                          ■  Minor text edits.

                          ■  Updated for the Quartus II software version 10.0 release

                          ■  Added information about Arria II GZ devices

                          ■  Updated Table 1–1, Table 1–4, Table 1–5, Table 1–6, Table 1–7, and Table 1–9

December 2010  4.0        ■  Added Table 1–3

                          ■  Added Figure 1–2

                          ■  Updated Figure 1–3

                          ■  Updated “Arria II Device Feature” and “Arria II Device Architecture” section

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                                      July 2012         Altera Corporation
Chapter 1: Overview for the Arria II Device Family                                                    1–15

Document Revision History

Table 1–10. Document Revision History (Part 2 of 2)

           Date            Version                                      Changes

                                    Updated for the Quartus II software version 10.0 release:

                                    ■  Added information about –I3 speed grade

July 2010                  3.0      ■  Updated Table 1–1, Table 1–3, and Table 1–7

                                    ■  Updated Figure 1–2

                                    ■  Updated “Highlights” and “High-Speed LVDS I/O and DPA”section

                                    ■  Minor text edits

November 2009              2.0      ■  Updated Table 1–1, Table 1–2, and Table 1–3

                                    ■  Updated “Configuration Features” section

June 2009                  1.1      ■  Updated Table 1–2.

                                    ■  Updated “I/O Features” section.

February 2009              1.0      Initial release.

July 2012  Altera Corporation                                           Arria II Device Handbook Volume 1: Device Interfaces and Integration
1–16                                                                           Chapter 1:  Overview for the Arria II Device Family

                                                                                           Document Revision History

Arria  II  Device  Handbook  Volume  1:  Device  Interfaces  and  Integration              July 2012  Altera Corporation
                                               2.           Logic Array Blocks and Adaptive Logic

                                                                                                                Modules in Arria II Devices

December 2010

AIIGX51002-2.0

AIIGX51002-2.0

                                   This chapter describes the features of the logic array block (LAB) in the Arria® II core

                                   fabric. The LAB is composed of basic building blocks known as adaptive logic

                                   modules (ALMs) that you can configure to implement logic functions, arithmetic

                                   functions, and register functions.

                                   This chapter contains the following sections:

                                   ■  “Logic Array Blocks” on page 2–1

                                   ■  “Adaptive Logic Modules” on page 2–5

Logic  Array                    Blocks

                                   Each LAB consists of ten ALMs, various carry chains, shared arithmetic chains, LAB

                                   control signals, local interconnect, and register chain connection lines. The local

                                   interconnect transfers signals between ALMs in the same LAB. The direct link

                                   interconnect allows the LAB to drive into the local interconnect of its left and right

                                   neighbors. Register chain connections transfer the output of the ALM register to the

                                   adjacent ALM register in the LAB. The Quartus® II Compiler places associated logic in

                                   the LAB or the adjacent LABs, allowing the use of local, shared arithmetic chain, and

                                   register chain connections for performance and area efficiency.

                                   Figure 2–1 shows the Arria II LAB structure and the LAB interconnects.

Figure 2–1. LAB Structure in Arria II Devices

                                                                      C4  C12  Row Interconnects of

                                                                               Variable Speed & Length

                                R20

                                 R4

                                                                                                                      ALMs

                                                                                                                            Direct link

                Direct link                                                                                                 interconnect from

                interconnect from                                                                                           adjacent block

                adjacent block

                Direct link                                                                                                 Direct link

                interconnect to                                                                                             interconnect to

                adjacent block                                                                                              adjacent block

                                        Local Interconnect  LAB                                                 MLAB  Column Interconnects of

                                                                          Local Interconnect is Driven                Variable Speed & Length

                                                                       from Either Side by Column Interconnect

                                                                       & LABs, & from Above by Row Interconnect

© 2010 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off.

and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at

www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but

reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any

information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device

specifications before relying on any published information and before placing orders for products or services.

Arria II Device Handbook Volume 1: Device Interfaces and Integration

December 2010

                                                                                                                                                                              Subscribe
2–2                                                                   Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices

                                                                                                     Logic Array Blocks

        The LAB of the Arria II device has a derivative called memory LAB (MLAB), which

        adds look-up table (LUT)-based SRAM capability to the LAB. 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 32 × 2 block, resulting in a configuration of 64 × 10 or

        32 × 20 simple dual-port SRAM blocks. MLAB and LAB blocks always coexist as pairs

        in Arria II devices. MLAB is a superset of the LAB and includes all LAB features.

        Figure 2–2 shows an overview of LAB and MLAB topology.

     f  For more information about MLABs, refer to the TriMatrix Memory Blocks in Arria II

        Devices chapter.

        Figure 2–2.  LAB     and  MLAB Structure in Arria II Devices

                                  LUT-based-64 x 1                          (1)

                                                                                 ALM

                                  Simple dual port SRAM

                                  LUT-based-64 x 1                          (1)

                                  Simple dual port SRAM                          ALM

                                  LUT-based-64 x 1                          (1)

                                  Simple dual port SRAM                          ALM

                                  LUT-based-64 x 1                          (1)

                                  Simple dual port SRAM                          ALM

                                  LUT-based-64 x 1                          (1)

                                  Simple dual port SRAM                          ALM

                                  LAB Control Block                              LAB Control Block

                                  LUT-based-64 x 1                          (1)

                                  Simple dual port SRAM                          ALM

                                  LUT-based-64 x 1                          (1)

                                  Simple dual port SRAM                          ALM

                                  LUT-based-64 x 1                          (1)

                                  Simple dual port SRAM                          ALM

                                  LUT-based-64 x 1                          (1)  ALM

                                  Simple dual port SRAM

                                  LUT-based-64 x 1                          (1)  ALM

                                  Simple dual port SRAM

                                                                      MLAB       LAB

        Note to Figure 2–2:

        (1)  You can use an MLAB ALM as a regular LAB ALM or configure it as a dual-port SRAM.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                  December 2010  Altera Corporation
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices                                      2–3

Logic Array Blocks

        LAB         Interconnects

                           The LAB local interconnect drives the ALMs in the same LAB using column and row

                           interconnects and the ALM outputs in the same LAB. The direct link connection

                           feature minimizes the use of row and column interconnects, providing higher

                           performance and flexibility. Adjacent LABs/MLABs, memory blocks, or DSP blocks

                           from the left or right can also drive the LAB’s local interconnect through the direct

                           link connection. Each LAB can drive 30 ALMs through fast local and direct link

                           interconnects. Ten ALMs are in any given LAB and ten ALMs are in each of the

                           adjacent LABs.

                           Figure 2–3 shows the direct link connection, which connects adjacent LABs, memory

                           blocks, DSP blocks, or I/O element (IOE) outputs.

Figure  2–3.   Direct Link Connection

                      Direct link interconnect from                                Direct link interconnect from

                           left LAB, memory block,                                 right LAB, memory block,

                           DSP block, or IOE output                                DSP block, or IOE output

                     ALMs                                                          ALMs

        Direct link                                                                Direct link

        interconnect                                                               interconnect

        to left                                                                    to right

                                                     Local

                                              Interconnect

                                        MLAB                                  LAB

December 2010       Altera Corporation                                        Arria II Device Handbook Volume 1: Device Interfaces and Integration
2–4                                                                   Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices

                                                                                                                          Logic Array Blocks

            LAB           Control Signals

                          Each LAB contains dedicated logic for driving a maximum of 10 control signals to its

                          ALMs at a time. Control signals include three clocks, three clock enables, two

                          asynchronous clears, a synchronous clear, and synchronous load control signals.

                          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 2–4. The LAB control block

                          can generate up to three clocks using two clock sources and three clock enable signals.

                          Each clock and clock enable signals are linked. For example, any ALM in a particular

                          LAB using the labclk1 signal also uses the labclkena1 signal. If the LAB uses both

                          the rising and falling edges of a clock, it also uses two LAB-wide clock signals.

                          De-asserting the clock enable signal turns off the corresponding LAB-wide clock. The

                          LAB row clocks [5..0] and LAB local interconnects generate the LAB-wide control

                          signals. In addition to data, the inherent low skew of the MultiTrack interconnect

                          allows clock and control signal distribution.

Figure 2–4. LAB-Wide Control Signals

                                           There are two unique

                                           clock signals per LAB.

                                6

Dedicated Row LAB Clocks

                             6

                          6

     Local  Interconnect

     Local  Interconnect

     Local  Interconnect

     Local  Interconnect

     Local  Interconnect

     Local  Interconnect

                                           labclk0                    labclk1              labclk2     syncload           labclr1

                                                    labclkena0                 labclkena1  labclkena2            labclr0           synclr

                                                    or asyncload

                                                    or labpreset

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                   December 2010      Altera Corporation
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices                                         2–5

Adaptive Logic Modules

Adaptive       Logic Modules

                           The ALM is the basic building block of logic in the Arria II device architecture. Each

                           ALM contains a variety of LUT-based resources that can be divided between two

                           combinational adaptive LUTs (ALUTs) and two 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 4-input LUT architectures. One ALM can also implement any function with up

                           to 6-input and certain 7-input functions. In addition to the ALUT-based resources,

                           each ALM contains two programmable registers, two dedicated full adders, a carry

                           chain, a shared arithmetic chain, and a register 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, register chain, and direct link. Figure 2–5 shows a high-level

                           block diagram of the Arria II ALM.

Figure 2–5.    High-Level  Block Diagram of the Arria II   ALM

                           shared_arith_in       carry_in                     reg_chain_in

                           Combinational/Memory ALUT0                         labclk

               dataf0                                                                                 To general or

                                                                                                      local routing

               datae0              6-Input LUT   adder0                                               To general or

                                                                                             D  Q     local routing

               dataa

               datab                                                                            reg0

               datac

               datad                             adder1                                      D  Q     To general or

               datae1              6-Input LUT                                                        local routing

               dataf1                                                                           reg1

                                                                                                      To general or

                                                                                                      local routing

                           Combinational/Memory  ALUT1

                                                                              reg_chain_out

                           shared_arith_out      carry_out

December 2010  Altera Corporation                                             Arria II Device Handbook Volume 1: Device Interfaces and Integration
2–6                                                                    Chapter 2:  Logic Array Blocks and Adaptive             Logic Modules in Arria II Devices

                                                                                                                                          Adaptive Logic Modules

                 Figure 2–6 shows a detailed view of                               all  the connections in                 an  ALM.

Figure 2–6.      Connection Details of the Arria II ALM

                                                                                        syncload

                                                                                                  aclr[1:0]

                 shared_arith_in   carry_in                                             clk[2:0]

                                                                                                  sclr       reg_chain_in

     dataf0

     datae0

     dataa                                                             GND

     datab

datac0           4-INPUT

                 LUT

                                   +                                                                                              CLR

                                                                                                                               D       Q         local

                 3-INPUT                                                                                                                         interconnect

                 LUT

                                                                                                                                                 row, column

                                                                                                                                                 direct link routing

                                                                                                                                                 row, column

                                                                                                                                                 direct link routing

                 3-INPUT

                 LUT

datac1           4-INPUT

                 LUT

                                   +                                                                                              CLR

                                                                                                                               D       Q         local

                 3-INPUT                                                                                                                         interconnect

                 LUT                                                                                                                             row, column

                                                                                                                                                 direct link routing

                                                                                                                                                 row, column

                                                                                                                                                 direct link routing

                 3-INPUT                                               VCC

                 LUT

     datae1

     dataf1

                 shared_arith_out  carry_out

                                                                                                                                  reg_chain_out

                 One ALM contains two programmable registers. Each register has data, clock, clock

                 enable, synchronous and asynchronous clear, and synchronous load and clear inputs.

                 Global signals, general purpose I/O (GPIO) pins, or any internal logic can drive the

                 register’s clock and clear-control signals. Either GPIO 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 output can drive the ALM outputs (refer to

                 Figure 2–6). For each set of output drivers, two ALM outputs can drive column, row,

                 or direct link routing connections, and one of these ALM outputs can also drive local

                 interconnect resources. The LUT or adder can drive one output while the register

                 drives another output.

Arria II Device  Handbook Volume 1: Device Interfaces and Integration                                                      December 2010  Altera Corporation
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices                                     2–7

Adaptive Logic Modules

                        This feature is called register packing. It improves device utilization by allowing the

                        device to use the register and combinational logic for unrelated functions. Another

                        mechanism to improve fitting is to allow 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. The ALM

                        can also drive out registered and unregistered versions of the LUT or adder output.

                        The Quartus II software automatically configures the ALMs for optimized

                        performance.

ALM            Operating Modes

                        The Arria II ALM can operate in any of the following modes:

                        ■  Normal

                        ■  Extended LUT

                        ■  Arithmetic

                        ■  Shared Arithmetic

                        ■  LUT-Register

                        The Quartus II software and other 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. Each mode

                        uses the 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, the shared arithmetic chain connection from the previous

                        ALM or LAB, and the register chain connection—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 on the LAB-wide control signals, refer to “LAB Control Signals” on

                        page 2–4.

December 2010  Altera Corporation                                             Arria II Device Handbook Volume 1: Device Interfaces and Integration
2–8                                                                   Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices

                                                                                               Adaptive Logic Modules

                         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

                         Arria II 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.

                         Figure 2–7 shows the supported LUT combinations in normal mode.

Figure  2–7. ALM     in  Normal Mode  (Note 1)

        dataf0                                                                dataf0

        datae0           4-Input                combout0                      datae0  5-Input

        datac            LUT                                                  datac   LUT            combout0

        dataa                                                                 dataa

                                                                              datab

        datab

        datad            4-Input                combout1

        datae1           LUT                                                  datad   5-Input        combout1

        dataf1                                                                datae1  LUT

                                                                              dataf1

        dataf0

        datae0           5-Input                                              dataf0

        datac            LUT                    combout0                      datae0

        dataa                                                                 dataa   6-Input

        datab                                                                 datab   LUT            combout0

                                                                              datac

                                                                              datad

        datad

        datae1           3-Input                combout1

        dataf1           LUT

                                                                              dataf0

                                                                              datae0

                                                                              dataa   6-Input        combout0

        dataf0                                                                datab   LUT

        datae0           5-Input                                              datac

        datac            LUT                    combout0                      datad

        dataa

        datab

                                                                                      6-Input        combout1

        datad            4-Input                combout1                              LUT

        datae1           LUT                                                  datae1

        dataf1                                                                dataf1

Note to Figure 2–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 4-input LUT

                         architectures.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                  December 2010  Altera Corporation
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices                                               2–9

Adaptive Logic Modules

                        For the packing of two 5-input functions into one ALM, the functions must have at

                        least two common inputs. The common inputs are dataa and datab. The combination

                        of a 4-input function with a 5-input function requires one common input (either dataa

                        or datab).

                        In the case of implementing two 6-input functions in one ALM, four inputs must be

                        shared and the combinational function must be the same. In a sparsely used device,

                        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

                        to fill up, the Quartus II software automatically utilizes the full potential of the

                        Arria II 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

                        usage by setting location assignments.

                        Any 6-input function can be implemented using inputs dataa, datab, datac, datad,

                        and either datae0 and dataf0 or datae1 and dataf1. If datae0 and dataf0 are utilized,

                        the output is driven to register0, and/or register0 is bypassed and the data drives

                        out to the interconnect using the top set of output drivers (refer to Figure 2–8). If

                        datae1 and dataf1 are used, the output either drives to register1 or bypasses

                        register1 and drives to 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 2–8. Input Function in Normal Mode  (Note 1)

                        dataf0                                                                         To general or

                        datae0                                                                         local routing

                        dataa              6-Input

                        datab              LUT                                D  Q                     To general or

                        datac                                                                          local routing

                        datad                                                    reg0

                        datae1

                        dataf1                                                                         To general or

                        (2)                                                   D  Q                     local routing

                                                    labclk                       reg1

Notes to Figure 2–8:

(1)  If datae1 and dataf1 are used as inputs to a 6-input function, datae0 and dataf0 are available for register packing.

(2)  The dataf1 input is available for register packing only if the 6-input function is unregistered.

December 2010  Altera Corporation                                             Arria II Device Handbook Volume 1: Device Interfaces and Integration
2–10                                                                  Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices

                                                                                              Adaptive Logic Modules

                             Extended LUT Mode

                             Use extended LUT mode to implement a specific set of 7-input functions. The set must

                             be a 2-to-1 multiplexer fed by two arbitrary 5-input functions sharing four inputs.

                             Figure 2–9 shows the template of supported 7-input functions using extended LUT

                             mode. In this mode, if the 7-input function is unregistered, the unused eighth input is

                             available for register packing.

                             Functions that fit into the template, as shown in Figure 2–9, often appear in designs as

                             “if-else” statements in Verilog HDL or VHDL code.

Figure 2–9.  Template for    Supported 7-Input        Functions in Extended     LUT  Mode

                     datae0

                     datac

                     dataa   5-Input

                     datab   LUT                                                              To general or

                     datad                                                                    local routing

                     dataf0                                           combout0

                                                                                     D     Q  To general or

                                                                                              local routing

                             5-Input                                                    reg0

                             LUT

                     datae1

                     dataf1

                     (1)

                             This input is available

                             for register packing.

Note to Figure 2–9:

(1)   If the 7-input function is unregistered, the unused eighth input is available for register packing. The second register, reg1, is not available.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                          December 2010  Altera Corporation
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices                                     2–11

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 two

                        4-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 two 4-input functions. The four LUTs share dataa and datab inputs. As

                        shown in Figure 2–10, the carry-in signal feeds to adder0 and the carry-out from

                        adder0 feeds to the carry-in of adder1. The carry-out from adder1 drives to adder0 of

                        the next ALM in the LAB. ALMs in arithmetic mode can drive out registered and

                        unregistered versions of the adder outputs.

Figure 2–10.   ALM      in Arithmetic Mode

                                                     carry_in

                        datae0                                                adder0

                                            4-Input                                            To general or

                                            LUT                                                local routing

                                                                                      D  Q     To general or

                        dataf0                                                                 local routing

                        datac               4-Input                                      reg0

                        datab               LUT

                        dataa

                                                                              adder1

                                            4-Input                                            To general or

                        datad               LUT                                                local routing

                        datae1                                                                 To general or

                                                                                      D  Q     local routing

                                            4-Input                                      reg1

                                            LUT

                        dataf1

                                                     carry_out

                        In arithmetic mode, the ALM supports simultaneous use of the adder’s carry output

                        along with combinational logic outputs. The adder output is ignored in this operation.

                        Using the adder with combinational logic output provides resource savings of up to

                        50% for functions that can use this mode.

                        Arithmetic mode also offers clock enable, counter enable, synchronous up and down

                        control, add and subtract control, synchronous clear, and synchronous load. The LAB

                        local interconnect data inputs generate the clock enable, counter enable, synchronous

                        up and down, and add and subtract control signals. These control signals are good

                        candidates for the inputs that share the four LUTs in the ALM. The synchronous clear

                        and synchronous load options are LAB-wide signals that affect all registers in the

                        LAB. These signals can also be individually disabled or enabled per register. The

                        Quartus II software automatically places any registers that are not used by the counter

                        into other LABs.

December 2010  Altera Corporation                                             Arria II Device Handbook Volume 1: Device Interfaces and Integration
2–12                                                                      Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices

                                                                          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 Arria II

                             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 a LAB. The final carry-out signal

                             is routed to an 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 automatically take advantage of carry chains for the

                             appropriate functions.

                             The Quartus II Compiler creates carry chains longer than 20 ALMs (10 ALMs in

                             arithmetic or shared arithmetic mode) by linking LABs together automatically. To

                             enhance fitting, a long carry chain runs vertically, allowing fast horizontal connections

                             to TriMatrix 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 in 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.

                   1         For more information on carry chain interconnect, refer to “ALM Interconnects” on

                             page 2–17.

Arria  II  Device  Handbook  Volume 1: Device Interfaces and Integration  December 2010                    Altera Corporation
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices                                    2–13

Adaptive Logic Modules

                        Shared Arithmetic Mode

                        In shared arithmetic mode, the ALM can implement a 3-input add in an ALM. In this

                        mode, the ALM is configured with four 4-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 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. Figure 2–11 shows the ALM using this feature.

Figure 2–11.   ALM      in Shared Arithmetic Mode

                                                   shared_arith_in

                                                                     carry_in

                                                                                labclk

                                   4-Input                                                       To general or

                                   LUT                                                           local routing

                                                                                        D  Q     To general or

                        datae0                                                                   local routing

                        datac      4-Input                                                 reg0

                        datab      LUT

                        dataa

                                   4-Input                                                       To general or

                        datad      LUT                                                           local routing

                        datae1                                                                   To general or

                                                                                        D  Q     local routing

                                   4-Input                                                 reg1

                                   LUT

                                                                     carry_out

                                                   shared_arith_out

                        You can find adder trees in many different applications. For example, the summation

                        of the partial products in a logic-based multiplier can be implemented 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.

December 2010  Altera Corporation                                             Arria II Device Handbook Volume 1: Device Interfaces and Integration
2–14                                                                      Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices

                                                                                                  Adaptive Logic Modules

                             Shared Arithmetic Chain

                             The shared arithmetic chain available in enhanced arithmetic mode allows the ALM

                             to implement a 3-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 an LAB. The

                             Quartus II Compiler creates shared arithmetic chains longer than 20 ALMs (10 ALMs

                             in arithmetic or shared arithmetic mode) by linking LABs together automatically. To

                             enhance fitting, a long shared arithmetic chain runs vertically, allowing fast horizontal

                             connections to the TriMatrix memory and DSP blocks. A shared arithmetic chain can

                             continue as far as a full column.

                             Similar to the carry chains, the top and bottom half 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 an LAB while leaving the other half

                             available for narrower fan-in functionality. Every other LAB column is top-half

                             bypassable, while the other LAB columns are bottom-half bypassable.

                   1         For more information on shared arithmetic chain interconnect, refer to “ALM

                             Interconnects” on page 2–17.

Arria  II  Device  Handbook  Volume 1: Device Interfaces and Integration           December 2010  Altera Corporation
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices                                                              2–15

Adaptive Logic Modules

                            LUT-Register Mode

                            LUT-Register mode allows third register capability in an ALM. Two internal feedback

                            loops allow combinational ALUT1 to implement the master latch and combinational

                            ALUT0 to implement the slave latch needed for the third register. The LUT register

                            shares its clock, clock enable, and asynchronous clear sources with the top dedicated

                            register. Figure 2–12 shows the register constructed using two combinational blocks in

                            the ALM.

Figure  2–12.  LUT Register from Two Combinational Blocks

               clk                                                                                   sumout

                                                                                                                              LUT regout

                                                                                     4-input         combout

               aclr                                                                          LUT

                                                                                                     Master latch

                                                                                                     sumout

        datain(datac)                                                                5-input         combout

                                                                                             LUT

               sclr

                                                                                                     Slave latch

                            Figure 2–13 shows the ALM in LUT-Register mode.

Figure  2–13.  ALM in       LUT-Register Mode with 3-Register Capability

                            clk [2..0]  aclr [1..0]                    reg_chain_in

                                                     Third register

               DC1                                   datain

                                                                                                                   lelocal 0

                                                     aclr

                                                                                             aclr

                                                     sclr    regout                  datain

                                                             latchout

                                                                                     sdata   regout                leout 0 a

                                                                                                                   leout 0 b

                        E0

                        F1

                                                                                                                   lelocal 1

                                                                                             aclr

                                                                                     datain

                        E1                                                           sdata                         leout 1 a

                        F0                                                                   regout

                                                                                                                   leout 1 b

                                                                              reg_chain_out

December 2010  Altera Corporation                                             Arria II Device Handbook Volume 1: Device Interfaces and Integration
2–16                                                                    Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices

                                                                                                                                Adaptive Logic Modules

           Register  Chain

                     In addition to general routing outputs, the ALMs in any given LAB have register

                     chain outputs to allow registers in the same LAB to be cascaded together. The register

                     chain interconnect allows a LAB to use LUTs for a single combinational function and

                     the registers to be used for an unrelated shift register implementation. These resources

                     speed up connections between ALMs while saving local interconnect resources (refer

                     to Figure 2–14). The Quartus II Compiler automatically takes advantage of these

                     resources to improve utilization and performance.

                     Figure 2–14. Register Chain in an LAB                      (Note 1)

                                                                                                                 From previous  ALM

                                                                                                                 in the LAB

                                                                                          reg_chain_in

                                                                                                         labclk

                                                                                                                                To general or

                                                                                                                                local routing

                                                                        adder0                           D       Q              To general or

                                                                                                                                local routing

                                                                                                                 reg0

                                    Combinational

                                           Logic

                                                                        adder1                           D       Q              To general or

                                                                                                                                local routing

                                                                                                                 reg1

                                                                                                                                To general or

                                                                                                                                local routing

                                                                                                                                To general or

                                                                                                                                local routing

                                                                        adder0                           D       Q              To general or

                                                                                                                                local routing

                                                                                                                 reg0

                                    Combinational

                                           Logic

                                                                        adder1                           D       Q              To general or

                                                                                                                                local routing

                                                                                                                 reg1

                                                                                                                                To general or

                                                                                                                                local routing

                                                                                          reg_chain_out

                                                                                                                 To next ALM

                                                                                                                 in the LAB

                     Note to Figure 2–14:

                     (1)  You can use the combinational or adder logic to implement an unrelated, un-registered function.

           1         For more information about register chain interconnect, refer to “ALM Interconnects”

                     on page 2–17.

Arria  II  Device Handbook Volume 1: Device Interfaces and Integration                                           December 2010       Altera Corporation
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices                                                 2–17

Adaptive Logic Modules

ALM            Interconnects

                        There are three dedicated paths between ALMs: Register Cascade, Carry-chain, and

                        Shared Arithmetic chain. Arria II devices include an enhanced interconnect structure

                        in LABs for routing shared arithmetic chains and carry chains for efficient arithmetic

                        functions. The register chain connection allows the register output of one ALM to

                        connect directly to the register input of the next ALM in the LAB for fast shift

                        registers. These ALM-to-ALM connections bypass the local interconnect. Figure 2–15

                        shows the shared arithmetic chain, carry chain, and register chain interconnects.

                        Figure 2–15. Shared Arithmetic Chain, Carry Chain, and Register Chain Interconnects

                                                                                   Local interconnect

                                                                                   routing among ALMs

                                                                                   in the LAB

                                         Carry chain & shared                      ALM 1               Register chain

                                         arithmetic chain                                              routing to adjacent

                                         routing to adjacent ALM                                       ALM's register input

                                                                                   ALM 2

                                                  Local                            ALM 3

                                         interconnect

                                                                              ...  ...

                                                                                   ALM 10

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.

                        Arria II devices provide a device-wide reset pin (DEV_CLRn) that resets all registers in

                        the device. An option set before compilation in the Quartus II software enables this

                        pin. This device-wide reset overrides all other control signals.

LAB            Power Management Techniques

                        The following techniques are used to manage static and dynamic power consumption

                        within the LAB:

                        ■  The Quartus II software forces all adder inputs low when ALM adders are not in

                           use to save AC power.

                        ■  Arria II LABs operate in high-performance mode or low-power mode. The

                           Quartus II software automatically chooses the appropriate mode for the LAB,

                           based on the design, to optimize speed versus leakage trade-offs.

December 2010  Altera Corporation                                             Arria II Device Handbook Volume 1: Device Interfaces and Integration
2–18                                                                  Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices

                                                                                              Document Revision History

                  ■    Clocks represent a significant portion of dynamic power consumption due to their

                       high switching activity and long paths. The LAB clock that distributes a clock

                       signal to registers within an LAB is a significant contributor to overall clock power

                       consumption. Each LAB’s clock and clock enable signal are linked. For example, a

                       combinational ALUT or register in a particular LAB using the labclk1 signal also

                       uses the labclkena1 signal. To disable an 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.

               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

                  Table 2–1 lists the revision history for this document.

Table 2–1. Document Revision History

      Date        Version                                             Changes

                           Updated for the Quartus II software version 10.1 release:

                           ■  Added Arria II GZ device information.

December 2010     2.0      ■  Updated “Logic Array Blocks”, “LAB Interconnects”, “LAB Control Signals”,  “Adaptive

                              Logic Modules”, “ALM Operating Modes”, “Normal Mode” sections.

                           ■  Added Figure 2–7 and Figure 2–8.

                           ■  Added “LAB Power Management Techniques” section.

June 2009         1.1      Updated Figure 2–6.

February 2009     1.0      Initial Release.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                  December 2010      Altera Corporation
                                                                      3. Memory Blocks in Arria II Devices

December 2011

AIIGX51003-3.2

AIIGX51003-3.2

                   This chapter describes the Arria® II device memory blocks that include 640-bit

                   memory logic array blocks (MLABs), 9-Kbit M9K blocks, and 144-Kbit M144K blocks.

                   MLABs are optimized to implement filter delay lines, small FIFO buffers, and shift

                   registers. You can use the M9K blocks for general purpose memory applications and

                   the M144K blocks for processor code storage, packet buffering, and video frame

                   buffering.

                1  M144K block is only available for Arria II GZ devices.

                   You can configure each embedded memory block independently with the Quartus® II

                   MegaWizard™ Plug-In Manager to be a single- or dual-port RAM, FIFO, ROM, or shift

                   register. You can stitch together multiple blocks of the same type to produce larger

                   memories with a minimal timing penalty.

                   This chapter contains the following sections:

                   ■  “Memory Features” on page 3–2

                   ■  “Memory Modes” on page 3–10

                   ■  “Clocking Modes” on page 3–19

                   ■  “Design Considerations” on page 3–20

© 2011 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off.

and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at

www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but

reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any

information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device

specifications before relying on any published information and before placing orders for products or services.

Arria II Device Handbook Volume 1: Device Interfaces and Integration

December 2011

                                                                                                                                                                              Subscribe
3–2                                                                                                  Chapter 3: Memory Blocks in Arria II Devices

                                                                                                                              Memory Features

Memory Features

                         Table 3–1 lists the features supported by the embedded memory blocks.

Table 3–1. Summary of Memory       Features in Arria II Devices            (Part   1  of 2)

                                             MLABs                                              M9K  Blocks                   M144K Blocks

             Feature

                                   Arria II GX                        Arria II GZ     Arria II GX         Arria II GZ         Arria II GZ

Maximum performance                500 MHz                            500 MHz         390 MHz             540 MHz             500 MHz

Total RAM bits (including parity   640                                640             9,216               9,216               147,456

bits)

                                                                                      8K × 1              8K × 1              16K × 8

                                   64 × 8                             64 × 8          4K × 2              4K × 2              16K × 9

                                   64 × 9                             64 × 9          2K × 4              2K × 4              8K × 16

                                   64 × 10                            64 × 10         1K × 8              1K × 8              8K × 18

Configurations (depth × width)     32 × 16                            32 × 16         1K × 9              1K × 9              4K × 32

                                   32 × 18                            32 × 18         512 × 16            512 × 16            4K × 36

                                   32 × 20                            32 × 20         512 × 18            512 × 18            2K × 64

                                                                                      256 × 32            256 × 32            2K × 72

                                                                                      256 × 36            256 × 36

Parity bits                        v                                  v                      v               v                v

Byte enable                        v                                  v                      v               v                v

Packed mode                        —                                  —                      v               v                v

Address clock enable               v                                  v                      v               v                v

Single-port memory                 v                                  v                      v               v                v

Simple dual-port memory            v                                  v                      v               v                v

True dual-port memory              —                                  —                      v               v                v

Embedded shift register            v                                  v                      v               v                v

ROM                                v                                  v                      v               v                v

FIFO buffer                        v                                  v                      v               v                v

Simple dual-port mixed width       —                                  —                      v               v                v

support

True dual-port mixed width         —                                  —                      v               v                v

support

Memory initialization file (.mif)  v                                  v                      v               v                v

Mixed-clock mode                   v                                  v                      v               v                v

                                   Outputs cleared if registered,

Power-up condition                 otherwise reads memory                                    Outputs cleared                  Outputs cleared

                                           contents.

Register clears                    Output registers                                          Output registers                 Output registers

Write/Read operation triggering    Write: Falling clock edges.                        Write and Read: Rising clock     Write and Read: Rising

                                   Read: Rising clock edges                                        edges                      clock edges

Same-port read-during-write        Outputs set to                     Outputs set     Outputs set to old data or       Outputs set to old data or

                                   old data        to don’t care                                new data                      new data

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                           December 2011  Altera Corporation
Chapter 3: Memory Blocks in Arria II Devices                                                                                            3–3

Memory Features

Table 3–1.  Summary of Memory        Features in Arria II Devices       (Part  2  of 2)

                                                     MLABs                               M9K Blocks                    M144K Blocks

                 Feature

                                              Arria II GX   Arria II GZ           Arria II GX   Arria II GZ            Arria II GZ

                                              Outputs set to old data,            Outputs set to old data or           Outputs set to

Mixed-port read-during-write                       new data, or                          don’t care                    old data or

                                                     don’t care                                                        don’t care

                                                                                                                       Built-in support in

                                              Soft IP support using the           Soft IP support using the   ×64-wide simple dual-port

ECC Support                                   Quartus II software                 Quartus II software                 mode or soft IP support

                                                                                                                       using the Quartus II

                                                                                                                       software

                          Table 3–2 lists the capacity and distribution of the memory blocks in each Arria II

                          device.

Table 3–2. Memory  Capacity and      Distribution in Arria  II   Devices

Device                    MLABs               M9K Blocks         M144K                   Total  RAM  Bits  (including  MLABs)  (Kbits)

EP2AGX45                  903                 319                  —                                          3,435

EP2AGX65                  1,265               495                  —                                          5,246

EP2AGX95                  1,874               612                  —                                          6,679

EP2AGX125                 2,482               730                  —                                          8,121

EP2AGX190                 3,806               840                  —                                          9,939

EP2AGX260                 5,130               950                  —                                          11,756

EP2AGZ225                 4,480               1,235                —                                          13,915

EP2AGZ300                 5,960               1,248                24                                         18,413

EP2AGZ350                 6,970               1,248                36                                         20,772

            Memory        Block Types

                          M9K and M144K memory blocks are dedicated resources. MLABs are dual-purpose

                          blocks. You can configure the MLABs as regular logic array blocks (LABs) or as

                          MLABs. Ten ALMs make up one MLAB. You can configure each ALM in an MLAB as

                          either a 64 × 1 or a 32 × 2 block, resulting in a 64 × 10 or 32 × 20 simple dual-port

                          SRAM block in a single MLAB.

            Parity Bit Support

                          All memory blocks have built-in parity bit support. The ninth bit associated with each

                          byte can store a parity bit or serve as an additional data bit. No parity function is

                          actually performed on the ninth bit.

            Byte Enable Support

                          All memory blocks support byte enables that mask the input data so that only specific

                          bytes of data are written. The unwritten bytes retain the previous written value. The

                          write enable (wren) signals, along with the byte enable (byteena) signals, control the

                          write operations of the RAM blocks.

December 2011    Altera Corporation                                       Arria II Device Handbook Volume 1: Device Interfaces and Integration
3–4                                                                                       Chapter 3: Memory Blocks in Arria II Devices

                                                                                                                   Memory Features

                          The default value for the byte enable signals is high (enabled), in which case writing is

                          controlled only by the write enable signals. The byte enable registers have no clear

                          port. When using parity bits on the M9K and M144K blocks, the byte enable controls

                          all 9 bits (8 bits of data plus 1 parity bit). When using parity bits on the MLAB, the

                          byte-enable controls all 10 bits in the widest mode.

                          Byte enables are only supported for true dual-port memory configurations when both

                          the PortA and PortB data widths of the individual M9K memory blocks are multiples

                          of 8 or 9 bits. For example, you cannot use byte enable for a mixed data width

                          memory configured with portA=32 and portB=8 because the mixed data width

                          memory is implemented as 2 separate 16 x 4 bit memories.

                          Byte enables operate in a one-hot fashion, with the LSB of the byteena signal

                          corresponding to the LSB of the data bus. For example, if you use a RAM block in ×18

                          mode, byteena      =   01, data[8..0] is enabled and data[17..9] is disabled. Similarly, if

                          byteena = 11, both data[8..0] and data[17..9] are enabled. Byte enables are active

                          high.

             1            You cannot use the byte enable feature when using the error correction coding (ECC)

                          feature on M144K blocks.

                          Figure 3–1 shows how the write enable (wren) and byte enable (byteena) signals

                          control the operations of the M9K and M144K memory blocks.

                          When a byte-enable bit is deasserted during a write cycle, the corresponding data byte

                          output can appear as either a “don’t care” value or the current data at that location.

                          The output value for the masked byte is controllable using the Quartus II software.

                          When a byte-enable bit is asserted during a write cycle, the corresponding data byte

                          output also depends on the setting chosen in the Quartus II software.

Figure 3–1.  Byte Enable Functional Waveform for M9K and M144K

             inclock

             wren

             address      an                 a0                       a1        a2        a0        a1             a2

             data         XXXX                         ABCD                                         XXXX

             byteena      XX             10                           01        11                  XX

     contents at a0              FFFF                                               ABFF

     contents at a1                    FFFF                                                   FFCD

     contents at a2                              FFFF                                               ABCD

don't care: q (asynch)           doutn           ABXX                     XXCD      ABCD      ABFF        FFCD         ABCD

current data: q (asynch)         doutn           ABFF                     FFCD      ABCD      ABFF        FFCD         ABCD

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                December 2011  Altera Corporation
Chapter 3: Memory Blocks in Arria II Devices                                                                          3–5

Memory Features

                           Figure 3–2 shows how the wren and byteena signals control the operations           of the

                           MLABs. Falling clock edges triggers the write operation in MLABs.

Figure 3–2.    Byte Enable Functional Waveform for MLABs

                 inclock

                 wren

                 address   an                     a0          a1          a2          a0        a1        a2

                 data      XXXX                               ABCD                              XXXX

                 byteena   XX                     10          01          11                    XX

         contents at a0              FFFF                                       ABFF

         contents at a1                     FFFF                                          FFCD

         contents at a2                           FFFF                                          ABCD

current  data: q (asynch)            doutn    FFFF      ABFF  FFFF  FFCD  FFFF  ABCD      ABFF      FFCD      FFCD

         Packed Mode Support

                           Arria II M9K and M144K blocks support packed mode. The packed mode feature

                           packs two independent single-port RAMs into one memory block. The Quartus II

                           software automatically implements the packed mode where appropriate by placing

                           the physical RAM block into true dual-port mode and using the MSB of the address to

                           distinguish between the two logical RAMs. The size of each independent single-port

                           RAM must not exceed half of the target block size.

         Address Clock Enable Support

                           Arria II memory blocks support address clock enable, which holds the previous

                           address value for as long as the signal is enabled (addressstall = 1). When you

                           configure the memory blocks in dual-port mode, each port has its own independent

                           address clock enable. The default value for the address clock enable signal is low

                           (disabled).

December 2011    Altera Corporation                                       Arria II Device Handbook Volume 1: Device Interfaces and Integration
3–6                                                                                               Chapter 3: Memory Blocks in Arria II Devices

                                                                                                                      Memory Features

                       Figure 3–3 shows an address clock enable block diagram. The port name

                       addressstall refers to the address clock enable.

                       Figure 3–3. Address Clock Enable

                                                                           1          address[0]      address[0]

                                           address[0]                      0          register

                                                                           1          address[N]      address[N]

                                           address[N]                      0          register

                                           addressstall

                                                  clock

                       Figure 3–4 shows the address clock enable waveform                         during the read     cycle.

Figure  3–4.     Address Clock Enable During Read Cycle Waveform

                 inclock

                 rdaddress            a0          a1                   a2         a3  a4              a5          a6

                 rden

                 addressstall

                 latched address  an       a0                                 a1                  a4      a5

                 (inside memory)

                 q (synch)        doutn-1  doutn         dout0                        dout1               dout4

                 q (asynch)       doutn    dout0                              dout1               dout4   dout5

Arria II Device  Handbook Volume 1: Device Interfaces and Integration                                 December 2011   Altera Corporation
Chapter  3: Memory Blocks in Arria II Devices                                                                                  3–7

Memory   Features

                   Figure 3–5 shows the address clock enable waveform during write cycle                           for    M9K  and

                   M144K blocks.

Figure   3–5.  Address Clock Enable During Write Cycle Waveform for M9K and M144K Blocks

                   inclock

                   wraddress                   a0          a1      a2          a3      a4          a5          a6

                   data                        00          01      02          03      04          05          06

                   wren

                   addressstall

                   latched address     an              a0                  a1                  a4          a5

                   (inside memory)

                   contents at a0          XX                                      00

                   contents at a1                  XX          01          02                  03

                   contents at a2                                          XX

                   contents at a3                                          XX

                   contents at a4                              XX                                      04

                   contents at a5                                      XX                                  05

                   Figure 3–6 shows the address clock enable waveform                      during the write        cycle  for

                   MLABs.

Figure   3–6.  Address Clock Enable During Write Cycle Waveform for MLABs

                   inclock

                   wraddress                   a0          a1      a2          a3      a4          a5          a6

                   data                        00          01      02          03      04          05          06

                   wren

                   addressstall

                   latched address     an          a0                  a1                  a4          a5

                   (inside memory)

                   contents at a0              XX                                  00

                   contents at a1                  XX              01          02              03

                   contents at a2                                          XX

                   contents at a3                                          XX

                   contents at a4                              XX                                      04

                   contents at a5                                      XX                                      05

December 2011      Altera Corporation                                      Arria II Device Handbook Volume 1: Device Interfaces and Integration
3–8                                                                   Chapter 3: Memory Blocks in Arria II Devices

                                                                                               Memory Features

     Mixed Width Support

                    M9K and M144K blocks support mixed data widths inherently. MLABs can support

                    mixed data widths through emulation with the Quartus II software. When using

                    simple dual-port, true dual-port, or FIFO modes, mixed width support allows you to

                    read and write different data widths to a memory block. For more information about

                    the different widths supported per memory mode, refer to “Memory Modes” on

                    page 3–10.

     1              MLABs do not support mixed-width FIFO mode.

     Asynchronous Clear

                    Arria II memory blocks support asynchronous clears on the output latches and output

                    registers. Therefore, if your RAM is not using output registers, you can still clear the

                    RAM outputs using the output latch asynchronous clear. Figure 3–7 shows a

                    functional waveform showing this functionality.

Figure 3–7. Output Latch Asynchronous Clear Waveform

     outclk

     aclr

     aclr at latch

     q

                    You can selectively enable asynchronous clears per logical memory using the RAM

                    MegaWizard Plug-In Manager.

     f              For more information about the RAM MegaWizard Plug-In Manager, refer to the

                    Internal Memory (RAM and ROM) Megafunction User Guide.

     Error          Correction Code Support

                    Arria II GZ M144K blocks have built-in support for ECC when in ×64-wide simple

                    dual-port mode. ECC allows you to detect and correct data errors in the memory

                    array. The M144K blocks have a single-error-correction double-error-detection

                    (SECDED) implementation. SECDED can detect and fix a single bit error in a 64-bit

                    word, or detect two bit errors in a 64-bit word. It cannot detect three or more errors.

                    The M144K ECC status is communicated using a three-bit status flag

                    (eccstatus[2..0]). The status flag can be either registered or unregistered. When

                    registered, it uses the same clock and asynchronous clear signals as the output

                    registers. When unregistered, it cannot be asynchronously cleared.

Arria II Device Handbook Volume 1: Device Interfaces and Integration        December 2011      Altera Corporation
Chapter 3: Memory Blocks in Arria II Devices                                                                                      3–9

Memory Features

                     Table 3–3 lists the truth table for the ECC status flags.

                     Table 3–3.      Truth Table for  ECC  Status  Flags in Arria II  Devices

                                              Status               eccstatus[2]       eccstatus[1]           eccstatus[0]

                     No error                                      0                               0                     0

                     Single error and fixed                        0                               1                     1

                     Double error and no fix                       1                               0                     1

                     Illegal                                       0                               0                     1

                     Illegal                                       0                               1                     0

                     Illegal                                       1                               0                     0

                     Illegal                                       1                               1                     X

                 1   You cannot use the byte enable feature when ECC is engaged.

                 1   Read-during-write old data mode is not supported when ECC is engaged.

                     Figure 3–8 shows a diagram of the ECC block of the M144K block.

Figure 3–8.    ECC Block Diagram of the M144K Block

                                                                                      8

                 64  64              SECDED   8       72   RAM     72            64   SECDED

Data Input                           Encoder               Array                      Encoder                Comparator

                                                                                                       8

                                     64                                                                      88

                                                                                                          8

                                                                       64

                                                                                               Error                        Flag

                                                                                         Locator                 Generator

                                                                                                   64                       3

                                                                                      Error                  Status Flags

                                                                                      Correction

                                                                                      Block

                                                                                         64

                                                                                      Data Output

December 2011    Altera Corporation                                Arria II Device Handbook Volume 1: Device Interfaces and Integration
3–10                                                                            Chapter 3: Memory Blocks in Arria II Devices

                                                                                                         Memory Modes

Memory  Modes

           Arria II memory blocks allow you to implement fully synchronous SRAM memory in

           multiple modes of operation. M9K and M144K blocks do not support asynchronous

           memory (unregistered inputs). MLABs support asynchronous (flow-through) read

           operations.

           Depending on which memory block you target, you can use the following modes:

           ■    “Single-Port RAM Mode” on page 3–10

           ■    “Simple Dual-Port Mode” on page 3–12

           ■    “True Dual-Port Mode” on page 3–15

           ■    “Shift-Register Mode” on page 3–17

           ■    “ROM Mode” on page 3–18

           ■    “FIFO Mode” on page 3–18

        1  To choose the desired read-during-write behavior, set the read-during-write behavior

           to either new data, old data, or don't care in the RAM MegaWizard Plug-In Manager

           in the Quartus II software. For more information about this behavior, refer to

           “Read-During-Write Behavior” on page 3–21.

        1  When using the memory blocks in ROM, single-port, simple dual-port, or true

           dual-port mode, you can corrupt the memory contents if you violate the setup or hold

           time on any of the memory block input registers. This applies to both read and write

           operations.

      Single-Port RAM Mode

           All memory blocks support single-port mode. Single-port mode allows you to do

           either a one-read or a one-write operation at a time. Simultaneous reads and writes

           are not supported in single-port mode. Figure 3–9 shows the single-port RAM

           configuration.

           Figure 3–9. Single-Port Memory                             (Note 1)

                                data[ ]

                                address[ ]

                                wren

                                byteena[]

                                addressstall                                    q[]

                                                                      inclock   outclock

                                clockena

                                rden

                                aclr

           Note to Figure 3–9:

           (1)  You can implement two single-port memory blocks in a single M9K and M144K blocks. For more information, refer

                to “Packed Mode Support” on page 3–5.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                      December 2011  Altera Corporation
Chapter 3: Memory Blocks in Arria II Devices                                                                                       3–11

Memory Modes

                       During a write operation, the RAM output behavior is configurable. If you use the

                       read-enable signal and perform a write operation with the read enable deactivated,

                       the RAM outputs retain the values they held during the most recent active read

                       enable. If you activate read enable during a write operation, or if you do not use the

                       read-enable signal at all, the RAM outputs show the “new data” being written, the

                       “old data” at that address, or a “don’t care” value.

                       Table 3–4 lists the possible port width configurations for memory blocks in single-port

                       mode.

                       Table 3–4.  Port Width          Configurations for MLABs, M9K, and M144K        Blocks  (Single-Port Mode)

                                                                      Port Width Configurations

                                              MLABs                         M9K Blocks                         M144K Blocks

                                                                            8K × 1                             16K × 8

                                              64 × 8                        4K × 2                             16K × 9

                                              64 × 9                        2K × 4                             8K × 16

                                              64 × 10                       1K × 8                             8K × 18

                                              32 × 16                       1K × 9                             4K × 32

                                              32 × 18                       512 × 16                           4K × 36

                                              32 × 20                       512 × 18                           2K × 64

                                                                            256 × 32                           2K × 72

                                                                            256 × 36

                       Figure 3–10 shows timing waveforms for read and write operations in single-port

                       mode with unregistered outputs for M9K and M144K blocks. Registering the M9K

                       and M144K block outputs delay the q output by one clock cycle.

Figure 3–10.   Timing  Waveform for Read-Write Operations for M9K and M144K Blocks (Single-Port Mode)

                       clk_a

               wrena

               rdena

               address_a                                       a0                            a1

               data_a                         A                B      C     D                    E     F

               q_a (asynch)                      a0(old data)      A     B     a1(old data)         D          E

December 2011  Altera Corporation                                        Arria II Device Handbook Volume 1: Device Interfaces and Integration
3–12                                                                                               Chapter 3: Memory Blocks in Arria II Devices

                                                                                                                                Memory Modes

                Figure 3–11 shows the timing waveforms for read and write operations in single-port

                mode with unregistered outputs for the MLAB. The rising clock edges trigger the read

                operation whereas the falling clock edges triggers the write operation.

Figure  3–11.  Timing Waveform for Read-Write Operations for MLABs (Single-Port Mode)

                clk_a

                wrena

                rdena

                address_a                    a0                                                    a1

                data_a                A      B                                 C       D           E             F

               q_a (asynch)              a0  A                                 B    C     a1       D             E

                              (old data)                                               (old data)

        Simple  Dual-Port Mode

                All memory blocks support simple dual-port mode. Simple dual-port mode allows

                you to perform one-read and one-write operation to different locations at the same

                time. The write operation occurs on port A; the read operation occurs on port B.

                Figure 3–12 shows a simple dual-port configuration. Simple dual-port RAM supports

                input and output clock mode in addition to the read and write clock mode.

                Figure 3–12.  Arria II Simple Dual-Port Memory

                                                                      data[ ]                      rdaddress[ ]

                                                                      wraddress[ ]                     rden

                                                                      wren                             q[ ]

                                                                      byteena[]           rd_addressstall

                                                                      wr_addressstall              rdclock

                                                                      wrclock                      rdclocken

                                                                      wrclocken               ecc_status (1)

                                                                      aclr

                Note to Figure 3–12:

                (1)  Only available for Arria II GZ devices.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                             December 2011  Altera Corporation
Chapter 3: Memory Blocks in Arria II Devices                                                                         3–13

Memory Modes

                         Simple dual-port mode supports different read and write data widths (mixed width

                         support). Table 3–5 lists the mixed width configurations for the M9K blocks in simple

                         dual-port mode. MLABs do not have native support for mixed width operations. The

                         Quartus II software can implement mixed width memories in MLABs with more than

                         one MLAB.

Table 3–5.  M9K   Block  Mixed-Width Configurations       (Simple  Dual-Port Mode)

                                                                   Write Port

Read        Port

                         8K × 1    4K × 2        2K × 4   1K × 8   512 × 16         256 ×  32  1K × 9   512 × 18  256 × 36

8K × 1                   v          v                  v     v     v                 v         —        —         —

4K × 2                   v          v                  v     v     v                 v         —        —         —

2K × 4                   v          v                  v     v     v                 v         —        —         —

1K × 8                   v          v                  v     v     v                 v         —        —         —

512 × 16                 v          v                  v     v     v                 v         —        —         —

256 × 32                 v          v                  v     v     v                 v         —        —         —

1K × 9                   —          —                  —     —     —                 —         v        v         v

512 × 18                 —          —                  —     —     —                 —         v        v         v

256 × 36                 —          —                  —     —     —                 —         v        v         v

                         Table 3–6 lists the mixed-width configurations for M144K blocks in simple dual-port

                         mode.

Table 3–6. M144K  Block  Mixed-Width Configurations (Simple        Dual-Port  Mode)

                                                                   Write      Port

Read Port

                         16K × 8              8K × 16     4K × 32  2K × 64    16K ×    9       8K × 18  4K × 36   2K × 72

16K × 8                  v                    v           v        v                —          —        —         —

8K × 16                  v                    v           v        v                —          —        —         —

4K × 32                  v                    v           v        v                —          —        —         —

2K × 64                  v                    v           v        v                —          —        —         —

16K × 9                     —                 —           —        —                v          v        v         v

8K × 18                     —                 —           —        —                v          v        v         v

4K × 36                     —                 —           —        —                v          v        v         v

2K × 72                     —                 —           —        —                v          v        v         v

                         In simple dual-port mode, M9K and M144K blocks support separate write-enable and

                         read-enable signals. Read-during-write operations to the same address can either

                         output a “don’t care” or “old data” value.

                         MLABs only support a write-enable signal. Read-during-write behavior for the

                         MLABs can be either a “don’t care” or “old data” value. The available choices depend

                         on the configuration of the MLAB.

December 2011  Altera Corporation                                  Arria II Device Handbook Volume 1: Device Interfaces and Integration
3–14                                                                                 Chapter 3: Memory Blocks in Arria II Devices

                                                                                                              Memory Modes

                        Figure 3–13 shows timing waveforms for read and write operations in simple

                        dual-port mode with unregistered outputs for M9K and M144K blocks. Registering

                        the M9K and M144K block outputs delay the q output by one clock cycle.

Figure  3–13.  Simple   Dual-Port Timing Waveforms for M9K and M144K Blocks

        wrclock

               wren

        wraddress       an-1     an   a0                              a1  a2     a3  a4    a5             a6

               data     din-1    din                                                 din4  din5           din6

               rdclock

               rden

        rdaddress       bn            b0                                  b1         b2                   b3

        q (asynch)      doutn-1       doutn                               dout0

                        Figure 3–14 shows the timing waveforms for read and write operations in simple

                        dual-port mode with unregistered outputs in the MLAB. The write operation is

                        triggered by the falling clock edges.

Figure  3–14.  Simple   Dual-Port Timing Waveforms for MLABs

        wrclock

               wren

        wraddress       an-1     an   a0                              a1  a2     a3  a4    a5                 a6

               data     din-1    din                                                 din4  din5               din6

        rdclock

               rden

        rdaddress       bn            b0                                  b1         b2                   b3

        q (asynch)      doutn-1       doutn                               dout0

Arria II Device Handbook Volume 1: Device Interfaces and Integration                       December 2011      Altera Corporation
Chapter 3: Memory Blocks in Arria II Devices                                                                     3–15

Memory Modes

                    Figure 3–15 shows timing waveforms for read and write operations in mixed-port

                    mode with unregistered outputs.

Figure 3–15.   Mixed-Port Read-During-Write Timing Waveforms

                    clk_a

                    address                                  A0                                  A1

                    rdena

                    wrena

                    byteena                   01             10          00                      11

                    data_a                    A123           B456        C789      DDDD          EEEE      FFFF

               q_a  (asynch)                  A0 (old data)  DoldDold23      B423  A1(old data)      DDDD  EEEE

True           Dual-Port Mode

                    Arria II M9K and M144K blocks support true dual-port mode. Sometimes called

                    bidirectional dual-port, this mode allows you to perform any combination of two-port

                    operations: two reads, two writes, or one read and one write at two different clock

                    frequencies. True dual-port memory supports input and output clock mode in

                    addition to the independent clock mode.

                    Figure 3–16 shows the true dual-port RAM configuration.

                    Figure 3–16. Arria II True Dual-Port Memory

                                                             data_a[ ]                   data_b[ ]

                                                             address_a[ ]                address_b[]

                                                             wren_a                      wren_b

                                                             byteena_a[]                 byteena_b[]

                                                             addressstall_a        addressstall_b

                                                             clock_a                     clock_b

                                                             enable_a                    enable_b

                                                             rden_a                      rden_b

                                                             aclr_a                              aclr_b

                                                             q_a[]                               q_b[]

                    The widest bit configuration of the M9K and M144K blocks in true dual-port mode

                    are:

                    ■        M9K: 512 × 16-bit (or 512 × 18-bit with parity)

                    ■        M144K: 4K × 32-bit (or 4K × 36-bit with parity)

                    Wider configurations are unavailable because the number of output drivers is

                    equivalent to the maximum bit width of the respective memory block. Because true

                    dual-port RAM has outputs on two ports, its maximum width equals half of the total

                    number of output drivers.

December 2011  Altera Corporation                                          Arria II Device Handbook Volume 1: Device Interfaces and Integration
3–16                                                                                              Chapter 3: Memory Blocks in Arria II Devices

                                                                                                                              Memory Modes

                             Table 3–7 lists the possible M9K block mixed-port width configurations in true

                             dual-port mode.

                             Table 3–7.  M9K   Block  Mixed-Width Configuration (True-Dual Port           Mode)

                                                                                              Write Port

                             Read        Port

                                                      8K × 1              4K × 2      2K × 4     1K × 8      512 ×  16  1K × 9  512 × 18

                             8K × 1                    v                  v           v           v             v          —    —

                             4K × 2                    v                  v           v           v             v          —    —

                             2K × 4                    v                  v           v           v             v          —    —

                             1K × 8                    v                  v           v           v             v          —    —

                             512 × 16                  v                  v           v           v             v          —    —

                             1K × 9                    —                  —           —           —             —          v    v

                             512 × 18                  —                  —           —           —             —          v    v

                             Table 3–8 lists the possible M144K block mixed-port width configurations in true

                             dual-port mode.

                             Table 3–8.  M144K  Block  Mixed-Width        Configurations (True Dual-Port     Mode)

                                                                                              Write Port

                                     Read Port

                                                       16K × 8               8K × 16     4K × 32     16K ×   9      8K × 18     4K × 36

                             16K × 8                          v                   v           v           —             —       —

                             8K × 16                          v                   v           v           —             —       —

                             4K × 32                          v                   v           v           —             —       —

                             16K × 9                          —                   —           —           v             v       v

                             8K × 18                          —                   —           —           v             v       v

                             4K × 36                          —                   —           —           v             v       v

                             In true dual-port mode, M9K and M144K blocks support separate write-enable and

                             read-enable signals. You can save power by keeping the read-enable signal low

                             (inactive) when not reading. Read-during-write operations to the same address can

                             either output “new data” at that location or “old data”.

                             In true dual-port mode, you can access any memory location at any time from either

                             port. When accessing the same memory location from both ports, you must avoid

                             possible write conflicts. A write conflict happens when you attempt to write to the

                             same address location from both ports at the same time. This results in unknown data

                             being stored to that address location. Conflict resolution circuitry is not built into the

                             Arria II memory blocks. You must handle address conflicts external to the RAM block.

Arria  II  Device  Handbook  Volume 1: Device Interfaces and Integration                                  December 2011    Altera Corporation
Chapter 3: Memory Blocks in Arria II Devices                                                                  3–17

Memory Modes

                     Figure 3–17 shows true dual-port timing waveforms for the write operation at port A

                     and the read operation at port B with the read-during-write behavior set to new data.

                     Registering the RAM outputs delay the q outputs by one clock cycle.

Figure 3–17.   True  Dual-Port Timing Waveform

clk_a

wren_a

address_a            an-1          an              a0  a1     a2     a3     a4            a5    a6

data_a               din-1         din                                      din4          din5  din6

q_a (asynch)                       din-1      din      dout0  dout1  dout2  dout3  din4         din5

clk_b

wren_b

address_b            bn                       b0              b1            b2                  b3

q_b (asynch)         doutn-1                  doutn           dout0         dout1               dout2

Shift-Register Mode

                     All Arria II memory blocks support shift register mode. Embedded memory block

                     configurations can implement shift registers for digital signal processing (DSP)

                     applications, such as finite impulse response (FIR) filters, pseudo-random number

                     generators, multi-channel filtering, and auto- and cross-correlation functions. These

                     and other DSP applications require local data storage, traditionally implemented with

                     standard flipflops that quickly exhaust many logic cells for large shift registers. A

                     more efficient alternative is to use embedded memory as a shift-register block, which

                     saves logic cell and routing resources.

                     The size of a shift register (w × m × n) is determined by the input data width (w), the

                     length of the taps (m), and the number of taps (n). You can cascade memory blocks to

                     implement larger shift registers.

December 2011  Altera Corporation                             Arria II Device Handbook Volume 1: Device Interfaces and Integration
3–18                                                                               Chapter 3:            Memory Blocks in Arria II Devices

                                                                                                                        Memory Modes

                 Figure 3–18 shows the memory                           block  in  shift-register mode.

Figure 3–18.  Shift-Register Memory Configuration

              w × m × n Shift Register

                      m-Bit Shift Register

              W                                                                    W

                      m-Bit Shift Register

              W                                                                    W

                                                                                                         n Number of Taps

                      m-Bit Shift Register

              W                                                                    W

                      m-Bit Shift Register

              W                                                                    W

           ROM Mode

                 All Arria II memory blocks support ROM mode. A .mif initializes the ROM contents

                 of these blocks. The address lines of the ROM are registered on M9K and M144K

                 blocks; however, they can be unregistered on MLABs. The outputs can be registered

                 or unregistered. Output registers can be asynchronously cleared. The ROM read

                 operation is identical to the read operation in the single-port RAM configuration.

           FIFO Mode

                 All memory blocks support FIFO mode. MLABs are ideal for designs with many

                 small, shallow FIFO buffers. To implement FIFO buffers in your design, you can use

                 the FIFO MegaWizard Plug-In Manager in the Quartus II software. Both single- and

                 dual-clock (asynchronous) FIFOs are supported.

              f  For more information about implementing FIFO buffers, refer to the SCFIFO and

                 DCFIFO Megafunctions User Guide.

              1  MLABs do not support mixed-width FIFO mode.

Arria  II  Device Handbook Volume 1: Device Interfaces and Integration                                   December 2011  Altera Corporation
Chapter 3: Memory Blocks in Arria II Devices                                                                    3–19

Clocking Modes

Clocking        Modes

                   Arria II memory blocks support the following clocking     modes:

                   ■   “Independent Clock Mode” on page 3–19

                   ■   “Input and Output Clock Mode” on page 3–19

                   ■   “Read and Write Clock Mode” on page 3–19

                   ■   “Single Clock Mode” on page 3–20

                c  Violating the setup or hold time on the memory block address registers could corrupt

                   the memory contents. This applies to both read and write operations.

                   Table 3–9 lists the supported clocking mode/memory mode combinations.

Table 3–9. Internal Memory Clock Modes for Arria II Devices

Clocking Mode      True Dual-Port Mode        Simple Dual-Port Mode  Single-Port Mode  ROM Mode     FIFO Mode

Independent                         v         —                      —                 v             —

Input and output                    v         v                      v                 v             —

Read and write                      —         v                      —                 —             v

Single clock                        v         v                      v                 v             v

Independent Clock Mode

                   Arria II memory blocks can implement independent clock mode for true dual-port

                   memories. In this mode, a separate clock is available for each port (clock A and

                   clock B). Clock A controls all registers on the port A side; clock B controls all registers

                   on the port B side. Each port also supports independent clock enables for both port A

                   and port B registers, respectively. Asynchronous clears are supported only for output

                   latches and output registers on both ports.

Input and Output Clock Mode

                   Arria II memory blocks can implement input and output clock mode for true and

                   simple dual-port memories. In this mode, an input clock controls all registers related

                   to the data input to the memory block including data, address, byte enables, read

                   enables, and write enables. An output clock controls the data output registers.

                   Asynchronous clears are available on output latches and output registers only.

Read              and Write Clock Mode

                   Arria II memory blocks can implement read and write clock mode for simple

                   dual-port memories. In this mode, a write clock controls the data-input,

                   write-address, and write-enable registers. Similarly, a read clock controls the

                   data-output, read-address, and read-enable registers. The memory blocks support

                   independent clock enables for both the read and write clocks. Asynchronous clears

                   are available on data output latches and registers only.

December 2011   Altera Corporation                           Arria II Device Handbook Volume 1: Device Interfaces and Integration
3–20                                                                  Chapter 3: Memory Blocks in Arria II Devices

                                                                              Design Considerations

         When using read and write clock mode, the output read data is unknown if you

         perform a simultaneous read and write to the same address location. If you require

         the output data to be a known value, use either single clock mode or input and output

         clock mode, and choose the appropriate read-during-write behavior in the

         MegaWizard Plug-In Manager.

      Single Clock Mode

         Arria II memory blocks can implement single clock mode for true dual-port, simple

         dual-port, and single-port memories. In this mode, a single clock, together with a

         clock enable, is used to control all registers of the memory block. Asynchronous clears

         are available on output latches and output registers only.

Design Considerations

         This section describes guidelines for designing with memory blocks.

      Selecting Memory Block

         The Quartus II software automatically partitions user-defined memory into

         embedded memory blocks by taking into account both speed and size constraints

         placed on your design. For example, the Quartus II software may spread out memory

         across multiple memory blocks when resources are available to increase the

         performance of your design. You can manually assign memory to a specific block size

         using the RAM MegaWizard Plug-In Manager.

         MLABs can implement single-port SRAM through emulation with the Quartus II

         software. Emulation results in minimal additional logic resources used. Because of the

         dual-purpose architecture of the MLAB, it only has data input registers and output

         registers in the block. MLABs gain input address registers and additional optional

         data output registers from adjacent ALMs with register packing.

      f  For more information about register packing, refer to the Logic Array Blocks and

         Adaptive Logic Modules in Arria II Devices chapter.

      Conflict Resolution

         When using the memory blocks in true dual-port mode, it is possible to attempt two

         write operations to the same memory location (address). Because there is no conflict

         resolution circuitry built into the memory blocks, this results in unknown data being

         written to that location. Therefore, you must implement conflict resolution logic,

         external to the memory block, to avoid address conflicts.

Arria II Device Handbook Volume 1: Device Interfaces and Integration  December 2011  Altera Corporation
Chapter 3: Memory Blocks in Arria II Devices                                                                          3–21

Design Considerations

        Read-During-Write Behavior

                       You can customize the read-during-write behavior of the Arria II memory blocks to

                       suit your design requirements. The two types of read-during-write operations are

                       same port and mixed port. Figure 3–19 shows the difference between the same port

                       and mixed port.

Figure 3–19.   Read-During-Write Data Flow

                                   Port A                                            Port B

                                   data in                                           data in

                                                                                                        Mixed-port

                                                                                                        data flow

                                                                                                        Same-port

                                                                                                        data flow

                                   Port A                                            Port B

                                   data out                                          data out

                       Same-Port Read-During-Write Mode

                       This mode applies to either a single-port RAM or the same port of a true dual-port

                       RAM. In same-port read-during-write mode, three output choices are available: new

                       data mode (or flow-through), old data mode, or don’t care mode. In new data mode,

                       the new data is available on the rising edge of the same clock cycle on which it was

                       written. In old data mode, the RAM outputs reflect the old data at that address before

                       the write operation proceeds. In don’t care mode, the RAM outputs “don’t care”

                       values for a read-during-write operation.

                       Figure 3–20 shows sample functional waveforms of same-port read-during-write

                       behavior in don’t care mode for MLABs.

Figure  3–20.  MLABs Blocks Same Port Read-During Write: Don’t Care Mode

                       clk_a

                       address  XX                   A0                                       A1        A2

                       data_in  XX                   FFFF                            AAAA               XXXX

                       wrena

               q(unregistered)     XX  A0(old data)        FFFF        A1(old data)               AAAA  A2(old data)

               q(registered)           XX                        FFFF                             AAAA

December 2011  Altera Corporation                                      Arria II Device Handbook Volume 1: Device Interfaces and Integration
3–22                                                                                              Chapter 3: Memory Blocks in Arria II Devices

                                                                                                                          Design Considerations

                    Figure 3–21 shows sample functional waveforms of same-port read-during-write

                    behavior in new data mode.

Figure  3–21.  M9K and M144K Blocks Same Port Read-During Write: New Data Mode

                    clk_a

                    address                                           0A                                  0B

                    rdena

                    wrena

                    byteena   01                 10                               00                      11

                    data_a    A123        B456                                    C789      DDDD          EEEE      FFFF

               q_a  (asynch)        XX23                              B4XX            XXXX  DDDD              EEEE  FFFF

                    Figure 3–22 shows sample functional waveforms of same-port read-during-write

                    behavior in old data mode.

Figure  3–22.  M9K and M144K Blocks Same Port Read-During-Write: Old Data Mode

                    clk_a

                    address                                           A0                                  A1

                    rdena

                    wrena

                    byteena   01                10                                00                      11

                    data_a    A123        B456                                    C789      DDDD          EEEE      FFFF

               q_a  (asynch)  A0    (old  data)                       DoldDold23      B423  A1(old data)      DDDD  EEEE

                    For MLABs, the output of the MLABs can only be set to don’t care in same-port

                    read-during-write mode. In this mode, the output of the MLABs is unknown during a

                    write cycle. There is a window near the falling edge of the clock during which the

                    output is unknown. Prior to that window, “old data” is read out; after that window,

                    “new data” is seen at the output.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                            December 2011  Altera Corporation
Chapter 3: Memory Blocks in Arria II Devices                                                                     3–23

Design Considerations

                       Mixed-Port Read-During-Write Mode

                       This mode applies to a RAM in simple or true dual-port mode that has one port

                       reading from and the other port writing to the same address location with the same

                       clock. In this mode, you can choose “old data”, “new data” or “don’t care” values as

                       the output.

                       For old data mode, a read-during-write operation to different ports causes the RAM

                       outputs to reflect the “old data” value at that address location.

                       For new data mode, a read-during-write operation to different ports causes the MLAB

                       registered output to reflect the “new data” value on the next rising edge after the data

                       is written to the MLAB memory.

                       For don’t care mode, the same operation results in a “don’t care” or “unknown” value

                       on the RAM outputs.

               1       Read-during-write behavior is controlled using the RAM MegaWizard Plug-In

                       Manager. For more information about how to implement the desired behavior, refer to

                       the Internal Memory (RAM and ROM) Megafunction User Guide.

                       Figure 3–23 shows a sample functional waveform of mixed-port read-during-write

                       behavior for old data mode in MLABs.

Figure 3–23.   MLABs Mixed-Port Read-During-Write: Old Data Mode

                       clk_a

                       wraddress                    A0                         A1

                       rdaddress                    A0                         A1

                       data_in                AAAA  BBBB           CCCC  DDDD  EEEE          FFFF

                       wrena

                       byteena_a              11    01             10    11    01            10

               q_b(registered)                      A0 (old data)  AAAA  AABB  A1(old data)  DDDD  DDEE

December 2011  Altera Corporation                                        Arria II Device Handbook Volume 1: Device Interfaces and Integration
3–24                                                                                                  Chapter 3: Memory Blocks in Arria II Devices

                                                                                                                      Design Considerations

               Figure 3–24 shows a sample functional waveform of mixed-port                                           read-during-write

               behavior for new data mode in MLABs.

Figure  3–24.  MLABs Mixed-Port Read-During-Write: New Data Mode

               clk_a

               wren_a

               address_a                   A0                                                   A1

               data_a            AAAA      BBBB                             CCCC      DDDD      EEEE      FFFF

               byteena_a                                                          11

               q_b (registered)  XXXX                                 AAAA      BBBB      CCCC      DDDD        EEEE  FFFF

               Figure 3–25 shows a sample functional waveform of mixed-port                                           read-during-write

               behavior for don’t care mode in MLABs.

Figure  3–25.  MLABs Mixed-Port Read-During-Write: Don’t Care Mode

               clk_a

               wraddress               A0                                                       A1

               rdaddress               A0                                                       A1

               data_in           AAAA  BBBB                                 CCCC      DDDD      EEEE      FFFF

               wrena

               byteena_a         11    01                                   10        11        01        10

               q_b(registered)         AAAA                           AABB            CCBB      DDDD      DDEE        FFEE

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                            December 2011  Altera Corporation
Chapter 3: Memory Blocks in Arria II Devices                                                                         3–25

Design Considerations

                       Figure 3–26 shows a sample functional waveform of mixed-port read-during-write

                       behavior in old data mode.

Figure 3–26.   M9K and M144K Mixed Port Read During Write: Old Data Mode

                       clk_a&b

                       wrena

               address_a                                         A0                            A1

                       data_a                 AAAA  BBBB               CCCC      DDDD       EEEE         FFFF

                       byteena                11             01        10                      11

                       rdenb

               address_b                                         A0                            A1

               q_b_(asynch)                   A0 (old data)      AAAA      AABB  A1(old data)      DDDD        EEEE

                       Figure 3–27 shows a sample functional waveform of mixed-port read-during-write

                       behavior for don’t care mode in M9K and M144K blocks.

Figure 3–27.   M9K and M144K Mixed-Port Read-During-Write: Don’t Care Mode

                       clk_a&b

                       wrena

                       address_a                                 A0                            A1

                       data_a                 AAAA  BBBB               CCCC      DDDD       EEEE         FFFF

                       byteena                11             01        10                      11

                       rdenb

                       address_b                                 A0                            A1

               q_b_(asynch)                                            XXXX (unknown data)

                       Mixed-port read-during-write is not supported when two different clocks are used in

                       a dual-port RAM. The output value is unknown during a dual-clock mixed-port

                       read-during-write operation.

December 2011  Altera Corporation                                      Arria II Device Handbook Volume 1: Device Interfaces and Integration
3–26                                                                    Chapter 3: Memory Blocks in Arria II Devices

                                                                        Design Considerations

           Power-Up Conditions and Memory Initialization

                  M9K and M144K block outputs power up to zero (cleared), regardless of whether the

                  output registers are used or bypassed. MLABs power up to zero if the output registers

                  are used and power up reading the memory contents if the output registers are not

                  used. You must take this into consideration when designing logic that might evaluate

                  the initial power-up values of the MLAB memory block. For Arria II devices, the

                  Quartus II software initializes the RAM cells to zero unless there is a .mif file

                  specified.

                  All memory blocks support initialization using a .mif. You can create .mif files in the

                  Quartus II software and specify their use with the RAM MegaWizard Plug-In

                  Manager when instantiating a memory in your design. Even if a memory is

                  pre-initialized (for example, using a .mif), it still powers up with its outputs cleared.

           f      For more information about .mif files, refer to the Internal Memory (RAM and ROM)

                  Megafunction User Guide and the Quartus II Handbook.

           Power  Management

                  Arria II memory block clock enables allow you to control clocking of each memory

                  block to reduce AC-power consumption. Use the read-enable signal to ensure that

                  read operations only occur when you need them to. If your design does not require

                  read-during-write, you can reduce your power consumption by deasserting the

                  read-enable signal during write operations or any period when no memory

                  operations occur.

                  The Quartus II software automatically places any unused memory block in low power

                  mode to reduce static power.

Arria  II  Device Handbook Volume 1: Device Interfaces and Integration  December 2011      Altera Corporation
Chapter 3: Memory Blocks in Arria II Devices                                                                              3–27

Document Revision History

Document Revision History

                           Table 3–10 lists the revision history for this chapter.

Table 3–10. Document Revision History

Date                       Version                                             Changes

December 2011              3.2      ■  Updated Table 3–1.

                                    ■  Updated “Byte Enable Support” and “Mixed-Port Read-During-Write Mode” sections.

                                    ■  Updated Table 3–1.

June 2011                  3.1      ■  Updated the “Mixed-Port Read-During-Write Mode” section.

                                    ■  Minor text edits.

                                    ■  Updated for the Quartus II software version 10.1 release.

                                    ■  Added Arria II GZ devices information.

                                    ■  Updated Table 3–1 and Table 3–2.

December 2010              3.0      ■  Updated Figure 3–10, Figure 3–12, and Figure 3–16.

                                    ■  Added Table 3–6 and Table 3–8.

                                    ■  Added Figure 3–10, Figure 3–15, Figure 3–21, Figure 3–23, and Figure 3–24.

                                    ■  Added “Error Correction Code Support” section.

                                    ■  Minor text edit.

                                    Updated for Arria II GX v9.1 release:

November 2009              2.0      ■  Updated Table 3–2

                                    ■  Updated Figure 3–16

                                    ■  Minor text edit

                                    ■  Updated Table 3–1

                                    ■  Updated “Byte Enable Support”, “Simple Dual-Port Mode”, and “Read and Write Clock

June 2009                  1.1         Mode” sections

                                    ■  Updated Figure 3–1, Figure 3–2, Figure 3–5, Figure 3–9, Figure 3–12, Figure 3–18,

                                       Figure 3–19, and Figure 3–20

                                    ■  Added Figure 3–2, Figure 3–6, Figure 3–10, and Figure 3–13

February 2009              1.0      Initial release

December 2011  Altera Corporation                                          Arria II Device Handbook Volume 1: Device Interfaces and Integration
3–28                                                                           Chapter  3: Memory Blocks in Arria II Devices

                                                                                        Document Revision History

Arria  II  Device  Handbook  Volume  1:  Device  Interfaces  and  Integration           December 2011  Altera Corporation
                                                                      4.  DSP Blocks in Arria II Devices

December 2010

AIIGX51004-4.0

AIIGX51004-4.0

                This chapter describes how the dedicated high-performance digital signal processing

                (DSP) blocks in Arria II device are optimized to support DSP applications requiring

                high data throughput, such as finite impulse response (FIR) filters, infinite impulse

                response (IIR) filters, fast Fourier transform (FFT) functions, and encoders. You can

                configure the DSP blocks to implement one of several operational modes to suit your

                application. The built-in shift register chain, multipliers, and adders/subtractors

                minimize the amount of external logic to implement these functions, resulting in

                efficient resource utilization and improved performance and data throughput for DSP

                applications.

                These DSP blocks are the fourth generation of hardwired, fixed-function silicon blocks

                dedicated to maximizing signal processing capability and ease-of-use at the lowest

                silicon cost.

                Many complex systems, such as WiMAX, 3GPP WCDMA, high-performance

                computing (HPC), voice over Internet protocol (VoIP), H.264 video compression,

                medical imaging, and HDTV, use sophisticated DSP techniques. Arria II devices are

                ideally suited for these systems because the DSP blocks consist of a combination of

                dedicated elements that perform multiplication, addition, subtraction, accumulation,

                summation, and dynamic shift operations.

                Along with the high-performance Arria II soft logic fabric and memory structures,

                you can configure DSP blocks to build sophisticated fixed-point and floating-point

                arithmetic functions. These can be manipulated easily to implement common, larger

                computationally intensive subsystems such as FIR filters, complex FIR filters, IIR

                filters, FFT functions, and discrete cosine transform (DCT) functions.

                This chapter contains the following sections:

                ■  “DSP Block Overview” on page 4–2

                ■  “Simplified DSP Operation” on page 4–4

                ■  “Operational Modes Overview” on page 4–7

                ■  “DSP Block Resource Descriptions” on page 4–8

                ■  “Arria II Operational Mode Descriptions” on page 4–14

                ■  “Software Support for Arria II Devices” on page 4–31

© 2010 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off.

and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at

www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but

reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any

information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device

specifications before relying on any published information and before placing orders for products or services.

Arria II Device Handbook Volume 1: Device Interfaces and Integration

December 2010

                                                                                                                                                                              Subscribe
4–2                                                                   Chapter 4: DSP Blocks in Arria II Devices

                                                                                          DSP Block Overview

DSP  Block  Overview

            Arria II GX devices have two to four columns of DSP blocks, while Arria II GZ

            devices have two to seven columns of DSP blocks. These DSP blocks implement

            multiplication, multiply-add, multiply-accumulate (MAC), and dynamic shift

            functions. Architectural highlights of the Arria II DSP block include:

            ■  High-performance, power-optimized, fully registered, and pipelined

               multiplication operations

            ■  Natively supported 9-bit, 12-bit, 18-bit, and 36-bit word lengths

            ■  Natively supported 18-bit complex multiplications

            ■  Efficiently supported floating-point arithmetic formats (24 bits for single precision

               and 53 bits for double precision)

            ■  Signed and unsigned input support

            ■  Built-in addition, subtraction, and accumulation units to efficiently combine

               multiplication results

            ■  Cascading 18-bit input bus to form tap-delay line for filtering applications

            ■  Cascading 44-bit output bus to propagate output results from one block to the next

               block without external logic support

            ■  Rich and flexible arithmetic rounding and saturation units

            ■  Efficient barrel shifter support

            ■  Loopback capability to support adaptive filtering

Arria II Device Handbook Volume 1: Device Interfaces and Integration       December 2010  Altera Corporation
Chapter 4: DSP Blocks in Arria II Devices                                                                                                4–3

DSP Block Overview

                            Table 4–1 lists the number of DSP blocks in Arria II devices.

Table 4–1. Number of DSP Blocks in Arria II Devices (Note 1)

                                                                                                                            High                Four

                                    DSP Blocks                                                                              Precision    Multiplier

                                                Independent Input and Output Multiplication                    Operators    Multiplier          Adder

Family              Device                                                                                                  Adder               Mode

                                                                                                                            Mode

                                                9×9          12 × 12      18 × 18                     18 × 18  36 × 36      18 × 36      18 × 18

                                                Multipliers  Multipliers  Multipliers                 Complex  Multipliers  Multipliers  Multipliers

               EP2AGX45             29          232          174          116                         58           58       116                 232

               EP2AGX65             39          312          234          156                         78           78       156                 312

Arria II GX    EP2AGX95             56          448          336          224                         112      112          224                 448

               EP2AGX125            72          576          432          288                         144      144          288                 576

               EP2AGX190            82          656          492          328                         164      164          328                 656

               EP2AGX260            92          736          552          368                         184      184          368                 736

               EP2AGZ225           100          800          600          400                         200      200          400                 800

Arria II GZ    EP2AGZ300           115          920          690          460                         230      230          460                 920

               EP2AGZ350           130          1,040        780          520                         260      260          520                 1,040

Note to Table 4–1:

(1)  The numbers in this table  represents      the numbers of multipliers in their respective mode.

                            Each DSP block occupies four logic array blocks (LABs) in height and you can divide

                            further into two half blocks that share some common clocks signals, but are for all

                            common purposes identical in functionality. Figure 4–1 shows the layout of each

                            block.

Figure 4–1. Overview of DSP Block Signals

             Control                34

                                    144                           Half-DSP Block                               72           Output

                                                                                                                            Data

               Input  288

               Data

                                    144                                                                        72           Output

                                                                  Half-DSP Block                                            Data

                                                Full-DSP Block

December 2010  Altera Corporation                                         Arria II Device Handbook Volume 1: Device Interfaces and Integration
4–4                                                                        Chapter 4: DSP Blocks in Arria II Devices

                                                                                  Simplified DSP Operation

Simplified   DSP Operation

             In Arria II devices, the fundamental building block is a pair of 18 × 18-bit multipliers

             followed by a first-stage 37-bit addition and subtraction unit shown in Equation 4–1

             and Figure 4–2. For all signed numbers, input and output data is represented in

             2’s-complement format only.

             Equation 4–1. Multiplier Equation

                        P[36..0] = A0[17..0] × B0[17..0] ± A1[17..0] × B1[17..0]

Figure 4–2.  Basic Two-Multiplier Adder Building Block

             A0[17..0]

             B0[17..0]

                                                                      +/-         P[36..0]

             A1[17..0]  D   Q

             B1[17..0]  D   Q

             The structure shown in Figure 4–2 is useful for building more complex structures,

             such as complex multipliers and 36 × 36 multipliers, as described in later sections.

             Each Arria II DSP block contains four two-multiplier adder units

             (2 two-multiplier adder units per half block). Therefore, there are eight 18 × 18

             multiplier functionalities per DSP block. For a detailed diagram of the DSP block,

             refer to Figure 4–5 on page 4–8.

             Following the two-multiplier adder units are the pipeline registers, the second-stage

             adders, and an output register stage. You can configure the second-stage adders to

             provide the alternative functions shown in Equation 4–1 and Equation 4–2 per half

             block.

             Equation 4–2. Four-Multiplier Adder Equation

                        Z[37..0] = P0[36..0] + P1[36..0]

Arria II Device Handbook Volume 1: Device Interfaces and Integration              December 2010  Altera Corporation
Chapter 4: DSP Blocks in Arria II Devices                                                                                               4–5

Simplified DSP Operation

                          Equation 4–3. Four-Multiplier Adder Equation (44-Bit Accumulation)

                                               Wn[43..0] = Wn-1[43..0] ± Zn[37..0]

                          In these equations, n denotes sample time and P[36..0] are the results from the

                          two-multiplier adder units.

                          Equation 4–2 provides a sum of four 18 × 18-bit multiplication operations

                          (four-multiplier adder), and Equation 4–3 provides a four 18 × 18-bit multiplication

                          operation, but with a maximum of a 44-bit accumulation capability by feeding the

                          output from the output register bank back to the adder/accumulator block, as shown

                          in Figure 4–3.

                          You can bypass all register stages depending on which mode you select, except

                          accumulation and loopback mode. In these two modes, you must enable at least one

                          set of the registers. If the register is not enabled, an infinite loop occurs.

Figure 4–3.    Four-Multiplier Adder and Accumulation Capability

                                               +

             Input  144   Input Register Bank          Pipeline Register Bank          Accumulator  Output Register Bank  44

             Data                                                              Adder/                                         Result[]

                                               +

                          Half-DSP Block

                          To support FIR-like structures efficiently, a major addition to the DSP block in Arria II

                          devices is the ability to propagate the result of one half block to the next half block

                          completely in the DSP block without additional soft logic overhead. This is achieved

                          by the inclusion of a dedicated addition unit and routing that adds the 44-bit result of

                          a previous half block with the 44-bit result of the current block. The 44-bit result is

                          either fed to the next half block or out of the DSP block with the output register stage

                          shown in Figure 4–4. Detailed examples are described in later sections.

December 2010  Altera Corporation                                              Arria II Device Handbook Volume 1: Device Interfaces and Integration
4–6                                                                                                                               Chapter 4: DSP Blocks in Arria II Devices

                                                                                                                                                        Simplified DSP Operation

                                            The combination of a fast, low-latency four-multiplier adder unit and the “chained

                                            cascade” capability of the output chaining adder provides the optimal FIR and vector

                                            multiplication capability.

                                            To support single-channel type FIR filters efficiently, you can configure one of the

                                            multiplier input registers to form a tap delay line input, saving resources and

                                            providing higher system performance.

Figure  4–4.   Output  Cascading Feature for FIR Structures

                                                                                                         From Previous Half-DSP Block

                                                                                                            44

                                                         +

        Input  144     Input Register Bank                  Pipeline Register Bank          Accumulator           Round/Saturate  Output Register Bank  44

        Data                                                                        Adder/                                                                             Result[]

                                                                                                         +

                                                         +

        Half-DSP Block                                                                                            44

                                                                                                         To Next

                                                                                                         Half-DSP Block

                                            Figure 4–4 shows the optional rounding and saturation unit. This unit provides a set

                                            of commonly found arithmetic rounding and saturation functions in signal

                                            processing.

                                            In addition to the independent multipliers and sum modes, you can use DSP blocks to

                                            perform shift operations. DSP blocks can dynamically switch between logical shift

                                            left/right, arithmetic shift left/right, and rotation operation in one clock cycle.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                                                                    December 2010  Altera Corporation
Chapter 4: DSP Blocks in Arria II Devices                                                                                                           4–7

Operational Modes Overview

Operational Modes Overview

                            You can use each Arria II DSP block in one of six basic operational modes. Table 4–2

                            lists the six basic operational modes and the number of multipliers that you can

                            implement in a single DSP block.

Table 4–2. DSP Block Operational Modes for Arria II Devices

     Mode            Multiplier      Number of          # per  Signed or   RND,  In Shift                      Chainout                1st Stage    2nd Stage

                     in Width        Multiplier         Block  Unsigned    SAT   Register                      Adder                   Add/Sub      Add/Acc

                     9 bits                1            8      Both        No                            No    No                      —            —

                     12 bits               1            6      Both        No                            No    No                      —            —

Independent          18 bits               1            4      Both        Yes                           Yes   No                      —            —

     Multiplier

                     36 bits               1            2      Both        No                            No    No                      —            —

                     Double                1            2      Both        No                            No    No                      —            —

Two-Multiplier       18 bits               2            4      Signed (2)  Yes                           No    No                      Both         —

     Adder  (1)

Four-Multiplier      18 bits               4            2      Both        Yes                           Yes   Yes                     Both         Add Only

     Adder

     Multiply        18 bits               4            2      Both        Yes                           Yes   Yes                     Both         Both

Accumulate

     Shift (3)       36 bits (4)           1            2      Both        No                            No    —                       —            —

High Precision       18  36               2            2      Both        No                            No    No                      —            Add Only

Multiplier Adder

Notes to Table 4–2:

(1)  This mode also supports loopback mode. In loopback mode, the number of loopback multipliers per DSP block is two.                 You can use  the remaining

     multipliers in regular two-multiplier adder mode.

(2)  Unsigned value is also supported, but you must ensure that the result can be contained in 36 bits.

(3)  Dynamic shift mode supports arithmetic shift left, arithmetic shift right, logical shift left, logical shift right, and rotation  operation.

(4)  Dynamic shift mode operates on a 32-bit input vector, but the multiplier width is configured as 36 bits.

                            The DSP block consists of two identical halves (top-half and bottom-half). Each half

                            has four 18 × 18 multipliers.

                            The Quartus® II software includes megafunctions that control the mode of operation

                            of the multipliers. After making the appropriate parameter settings with the

                            megafunction’s MegaWizard Plug-In Manager, the Quartus II software

                            automatically configures the DSP block.

                            Arria II DSP blocks can operate in different modes simultaneously. Each half block is

                            fully independent except for the sharing of the clock, ena, and the aclr signals. For

                            example, you can break down a single DSP block to operate a 9 × 9 multiplier in one

                            half block and an 18 × 18 two-multiplier adder in the other half block. This increases

                            DSP block resource efficiency and allows you to implement more multipliers in an

                            Arria II device. The Quartus II software automatically places multipliers that can

                            share the same DSP block resources in the same block.

December 2010    Altera Corporation                                       Arria II Device Handbook Volume 1: Device Interfaces and Integration
4–8                                                                                                                                                                                                                                                                     Chapter 4: DSP Blocks in Arria II Devices

                                                                                                                                                                                                                                                                                     DSP Block Resource Descriptions

DSP     Block         Resource Descriptions

                              The DSP block consists of the following elements:

                              ■  Input register bank

                              ■  Four two-multiplier adders

                              ■  Pipeline register bank

                              ■  Second-stage adders

                              ■  Four rounding and saturation logic units

                              ■  Second adder register and output register bank

                              Figure 4–5 shows a detailed illustration of the overall architecture of the                                                                                                                                                                                              top  half  of  the

                              DSP block. Table 4–9 on page 4–30 lists the DSP block dynamic signals.

Figure  4–5.  Half-DSP Block     Architecture

                                                                                   zero_loopback

                                                                                   accum_sload

                                                                                   zero_chainout

                                                                chainout_round                                                                                                                               signa

                                                                chainout_saturate                                                                                                                            signb
                                                                                                                                                                 output_round
                                 clock[3..0]                                                                                                                     output_saturate                                                                                        overflow (1)

              chainin[ ] (4)               ena[3..0]                                                                                                                                                         rotate

              scanina[ ]                   alcr[3..0]                                                                                                                                        shift_right                                                                chainout_sat_overflow (2)

              dataa_0[ ]

                                 loopback                       Adder

              datab_0[ ]                                        First Stage

              dataa_1[ ]                                                                                   Second Stage Adder/Accumulator

              datab_1[ ]                   Input Register Bank                     Pipeline Register Bank                                  First Round/Saturate  (3)                                                                Output Register Bank  Shift/Rotate  Multiplexer

                                                                                                                                                                                                             Second Round/Saturate                                                   result[  ]

              dataa_2[ ]

              datab_2[ ]                                        First Stage Adder                                                                                Second Adder Register Bank  Chainout Adder

              dataa_3[ ]

              datab_3[ ]

                                                                Half-DSP Block

                                 scanouta                                                                                                                                                                                                                 chainout

Notes to Figure 4–5:

(1)  Block output for accumulator overflow and saturate overflow.

(2)  Block output for saturation overflow of chainout.

(3)  When the chainout adder is not in use, the second adder register banks are known as                                                                                                                                            output                register banks.

(4)  You must connect the chainin port to the chainout port of the previous DSP blocks;                                                                                                                                             it must               not be connected to                 general  routings.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                                                                                                                                                                                                 December 2010     Altera Corporation
Chapter 4: DSP Blocks in Arria II Devices                                                                                               4–9

DSP Block Resource Descriptions

     Input Registers

                     Figure 4–6 shows the input register                of  a  half-DSP  block.

Figure 4–6.    Input Register of Half-DSP Block (Note 1)

                                                 clock[3..0]

                                                 ena[3..0]                     signa

                                                 aclr[3..0]                    signb

                                 scanina[17..0]

                     dataa_0[17..0]

                     loopback

                     datab_0[17..0]

                                                                               +/-

                     dataa_1[17..0]

                     datab_1[17..0]

                     dataa_2[17..0]

                     datab_2[17..0]

                                                                               +/-

                     dataa_3[17..0]

                     datab_3[17..0]

                                                 Delay

                                                 Register

                                                              scanouta

Note to Figure 4–6:

(1)  The scanina signal originates from the previous DSP block, while the scanouta signal goes to the next DSP block.

December 2010  Altera Corporation                                       Arria II Device Handbook Volume 1: Device      Interfaces  and  Integration
4–10                                                                                                      Chapter 4: DSP Blocks in Arria II Devices

                                                                                                          DSP Block Resource Descriptions

                          All DSP block registers are triggered by the positive edge of the clock signal and are

                          cleared after power up. Each multiplier operand can feed an input register or feed

                          directly to the multiplier, bypassing the input registers. The clock[3..0], ena[3..0],

                          and aclr[3..0]DSP block signals control the input registers in the DSP block.

                          Every DSP block has nine 18-bit data input register banks per half-DSP block. Every

                          half-DSP block has the option to use the eight data register banks as inputs to the four

                          multipliers. The special ninth register bank is a delay register required by modes that

                          use both the cascade and chainout features of the DSP block to balance the latency

                          requirements when using the chained cascade feature. A feature of the input register

                          bank is to support a tap delay line. Therefore, you can drive the top leg of the

                          multiplier input (A) from general routing or from the cascade chain, as shown in

                          Figure 4–6.

                          At compile time, you must select the incoming data for multiplier input (A) from

                          either general routing or from the cascade chain. In cascade mode, the dedicated shift

                          outputs from one multiplier block directly feeds input registers of the adjacent

                          multiplier below it (in the same half-DSP block) or the first multiplier in the next

                          half-DSP block, to form an 8-tap shift register chain per DSP block. The DSP block can

                          increase the length of the shift register chain by cascading to the lower DSP blocks.

                          The dedicated shift register chain spans a single column, but you can implement

                          longer shift register chains requiring multiple columns with the regular FPGA routing

                          resources.

                          Shift registers are useful in DSP functions such as FIR filters. When implementing an

                          18 × 18 or smaller width multiplier, you do not require external logic to create the shift

                          register chain because the input shift registers are internal to the DSP block. This

                          implementation significantly reduces the logical element (LE) resources required,

                          avoids routing congestion, and results in predictable timing.

                          The first multiplier in every half-DSP block (top- and bottom-half) has a multiplexer

                          for the first multiplier B-input (lower-leg input) register to select between general

                          routing and loopback, as shown in Figure 4–5 on page 4–8. In loopback mode, the

                          most significant 18-bit registered outputs are connected as feedback to the multiplier

                          input of the first top multiplier in each half-DSP block. Loopback modes are used by

                          recursive filters where the previous output is required to compute the current output.

                          Loopback mode is described in detail in “Two-Multiplier Adder Sum Mode” on

                          page 4–20.

                          Table 4–3 lists the summary of input register modes for the DSP block.

Table 4–3. Input Register Modes for Arria II Devices

      Register Input Mode  (1)          9×9                           12 × 12               18 × 18       36 × 36        Double

Parallel input                          v                             v                     v             v              v

Shift register input (2)                —                             —                     v             —              —

Loopback input (3)                      —                             —                     v             —              —

Notes to Table 4–3:

(1)   The multiplier operand input word lengths are statically configured at compile time.

(2)   Available only on the A-operand.

(3)   Only one loopback input is allowed per half block. For details, refer to Figure 4–14 on page 4–21.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                      December 2010  Altera Corporation
Chapter 4: DSP Blocks in Arria II Devices                                                                     4–11

DSP Block Resource Descriptions

Multiplier and First-Stage Adder

                  The multiplier stage supports 9 × 9, 12 × 12, 18 × 18, or 36 × 36 multipliers. Other

                  word lengths are padded up to the nearest appropriate native wordlength; for

                  example, 16 × 16 is padded up to use 18 × 18. For more information, refer to

                  “Independent Multiplier Modes” on page 4–14. Depending on the data width of the

                  multiplier, a single DSP block can perform many multiplications in parallel.

                  Each multiplier operand can be a unique signed or unsigned number. Two dynamic

                  signals, signa and signb, control the representation of each operand, respectively. A

                  logic 1 value on the signa/signb signal indicates that data A/data B is a signed

                  number; a logic 0 value indicates an unsigned number.

                  Table 4–4 lists the sign of the multiplication result for the various operand sign

                  representations. If any one of the operands is a signed value, the result of the

                  multiplication is signed.

                  Table 4–4.               Multiplier Sign Representation for Arria II Devices

                                   Data A (signa Value)        Data B (signb Value)             Result

                                           Unsigned (logic 0)  Unsigned (logic 0)               Unsigned

                                           Unsigned (logic 0)  Signed (logic 1)                 Signed

                                           Signed (logic 1)    Unsigned (logic 0)               Signed

                                           Signed (logic 1)    Signed (logic 1)                 Signed

                  Each half block has its own signa and signb signal. Therefore, all data A inputs

                  feeding the same half-DSP block must have the same sign representation. Similarly, all

                  data B inputs feeding the same half-DSP block must have the same sign

                  representation. The multiplier offers full precision regardless of the sign

                  representation in all operational modes except for full precision 18 × 18 loopback and

                  two-multiplier adder modes. For more information, refer to “Two-Multiplier Adder

                  Sum Mode” on page 4–20.

               1  By default, when the signa and signb signals are unused, the Quartus II software sets

                  the multiplier to perform unsigned multiplication.

                  Figure 4–5 on page 4–8 shows that the outputs of the multipliers are the only outputs

                  that can feed into the first-stage adder. There are four first-stage adders in a DSP block

                  (two adders per half-DSP block). The first-stage adder block has the ability to perform

                  addition and subtraction. The control signal for addition or subtraction is static and

                  you must configure after compilation. The first-stage adders are used by the sum

                  modes to compute the sum of two multipliers, 18 × 18-complex multipliers, and to

                  perform the first stage of a 36 × 36 multiply and shift operation.

                  Depending on your specifications, the output of the first-stage adder has the option to

                  feed into the pipeline registers, second-stage adder, rounding and saturation unit, or

                  the output registers.

December 2010  Altera Corporation                              Arria II Device Handbook Volume 1: Device Interfaces and Integration
4–12                                                                  Chapter 4: DSP Blocks in Arria II Devices

                                                                      DSP Block Resource Descriptions

      Pipeline Register Stage

         Figure 4–5 on page 4–8 shows that the output from the first-stage adder can either

         feed or bypass the pipeline registers. Pipeline registers increase the maximum

         performance (at the expense of extra cycles of latency) of the DSP block, especially

         when using the subsequent DSP block stages. Pipeline registers split up the long

         signal path between the input-registers/multiplier/first-stage adder and the

         second-stage adder/round-and-saturation/output-registers, creating two shorter

         paths.

      Second-Stage Adder

         There are four individual 44-bit second-stage adders per DSP block (two adders per

         half-DSP block). You can configure the second-stage adders as either:

         ■  The final stage of a 36-bit multiplier

         ■  A sum of four (18 × 18)

         ■  An accumulator (44-bits maximum)

         ■  A chained output summation (44-bits maximum)

      1  You can use the chained-output adder at the same time as a second-level adder in

         chained output summation mode.

         The output of the second-stage adder has the option to go into the rounding and

         saturation logic unit or the output register.

      1  You cannot use the second-stage adder independently from the multiplier and

         first-stage adder.

      Rounding and Saturation Stage

         Rounding and saturation logic units are located at the output of the 44-bit

         second-stage adder (the rounding logic unit followed by the saturation logic unit).

         There are two rounding and saturation logic units per half-DSP block. The input to

         the rounding and saturation logic unit can come from one of the following stages:

         ■  Output of the multiplier (independent multiply mode in 18 × 18)

         ■  Output of the first-stage adder (two-multiplier adder)

         ■  Output of the pipeline registers

         ■  Output of the second-stage adder (four-multiplier adder, multiply-accumulate

            mode in 18 × 18)

         These stages are described in “Arria II Operational Mode Descriptions” on page 4–14.

         The dynamic rounding and saturation signals control the rounding and saturation

         logic unit, respectively. A logic 1 value on the round signal, saturate signal, or both

         enables the round logic unit, saturate logic unit, or both.

Arria II Device Handbook Volume 1: Device Interfaces and Integration  December 2010    Altera Corporation
Chapter 4: DSP Blocks in Arria II Devices                                                                 4–13

DSP Block Resource Descriptions

               1  You can use the rounding and saturation logic units together or independently.

Second            Adder and Output Registers

                  The second adder register and output register banks are two banks of 44-bit registers

                  that you can combine to form larger 72-bit banks to support 36 × 36 output results.

                  The outputs of the different stages in the Arria II devices are routed to the output

                  registers through an output selection unit. Depending on the operational mode of the

                  DSP block, the output selection unit selects whether the outputs of the DSP blocks

                  come from the outputs of the multiplier block, first-stage adder, pipeline registers,

                  second-stage adder, or the rounding and saturation logic unit. Based on the DSP block

                  operational mode you specify, the output selection unit is automatically set by the

                  software, and has the option to either drive or bypass the output registers. The

                  exception is when the block is used in shift mode, where you dynamically control the

                  output-select multiplexer directly.

                  When the DSP block is configured in chained cascaded output mode, both of the

                  second-stage adders are used. The first adder is for performing a four-multiplier

                  adder and the second is for the chainout adder. The outputs of the four-multiplier

                  adder are routed to the second-stage adder registers before enters the chainout adder.

                  The output of the chainout adder goes to the regular output register bank. Depending

                  on the configuration, you can route the chainout results to the input of the next half

                  block’s chainout adder input or to the general fabric (functioning as regular output

                  registers).

                  You can only connect the chainin port to the chainout port of the previous DSP block

                  and must not be connected to general routings.

                  The second-stage and output registers are triggered by the positive edge of the clock

                  signal and are cleared on power up. The clock[3..0], ena[3..0], and aclr[3..0]

                  DSP block signals control the output registers in the DSP block.

December 2010  Altera Corporation                      Arria II Device Handbook Volume 1: Device Interfaces and Integration
4–14                                                                                                                                              Chapter 4: DSP Blocks in Arria II Devices

                                                                                                                                                  Arria II Operational Mode Descriptions

Arria II Operational Mode Descriptions

                        This section describes the operation modes of Arria II devices.

        Independent Multiplier Modes

                        In the independent input and output multiplier mode, the DSP block performs

                        individual multiplication operations for general-purpose multipliers.

                        9-Bit, 12-Bit, and 18-Bit Multiplier

                        You can configure each DSP block multiplier for 9-bit, 12-bit, or 18-bit multiplication.

                        A single DSP block can support up to eight individual 9 × 9 multipliers, six 12 × 12

                        multipliers, or up to four individual 18 × 18 multipliers. For operand widths up to

                        9 bits, a 9 × 9 multiplier is implemented. For operand widths from 10 to 12 bits, a

                        12 × 12 multiplier is implemented and for operand widths from 13 to 18 bits, an

                        18 × 18 multiplier is implemented. This is done by the Quartus II software by zero

                        padding the LSBs.

                        Figure 4–7, Figure 4–8, and Figure 4–9 show the DSP block in the independent

                        multiplier operation mode. Table 4–9 on page 4–30 lists the DSP block dynamic

                        signals.

Figure  4–7.  18-Bit Independent Multiplier Mode Shown for Half-DSP Block

                                                                      signa

                        clock[3..0]                                   signb

                        ena[3..0]                                  output_round                                                                   overflow (1)

                        aclr[3..0]                                 output_saturate

                                        18                                                                  Round/Saturate

                        dataa_0[17..0]

                                                                                                                                                  36

                                                                                                                                                      result_0[ ]

                                        18    Input Register Bank                   Pipeline Register Bank                  Output Register Bank

                        datab_0[17..0]

                                        18

                        dataa_1[17..0]                                                                      Round/Saturate

                                                                                                                                                  36

                                                                                                                                                      result_1[ ]

                                        18

                        datab_1[17..0]

                                              Half-DSP Block

Note to Figure 4–7:

(1)   Block output for  accumulator overflow  and saturate overflow.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                                                                  December 2010  Altera Corporation
Chapter 4: DSP Blocks in Arria II Devices                                                                                                                                      4–15

Arria II Operational Mode Descriptions

Figure 4–8.    12-Bit Independent Multiplier Mode Shown for Half-DSP                                      Block

               clock[3..0]

               ena[3..0]                                            signa

               aclr[3..0]                                           signb

                                           12

               dataa_0[11..0]

                                                                                                                                           24

                                                                                                                                                       result_0[ ]

                                           12

               datab_0[11..0]

                                           12  Input Register Bank         Pipeline Register Bank                    Output Register Bank

               dataa_1[11..0]

                                                                                                                                           24

                                                                                                                                                       result_1[ ]

                                           12

               datab_1[11..0]

                                           12

               dataa_2[11..0]

                                                                                                                                           24

                                                                                                                                                       result_2[ ]

                                           12

               datab_2[11..0]

                                               Half-DSP Block

December 2010  Altera Corporation                                                                  Arria  II Device  Handbook              Volume  1:  Device Interfaces  and  Integration
4–16                                                                                                                       Chapter 4: DSP Blocks in Arria II Devices

                                                                                                                           Arria II Operational Mode Descriptions

Figure 4–9.  9-Bit Independent Multiplier Mode Shown for Half-DSP Block

                clock[3..0]

                ena[3..0]                                             signa

                aclr[3..0]                                            signb

                            9

             dataa_0[8..0]

                                                                                                                           18

                                                                                                                               result_0[  ]

                            9

             datab_0[8..0]

                            9

             dataa_1[8..0]

                                                                                                                           18

                                                                             Pipeline Register Bank  Output Register Bank      result_1[  ]

                            9  Input Register Bank

             datab_1[8..0]

                            9

             dataa_2[8..0]

                                                                                                                           18

                                                                                                                               result_2[  ]

                            9

             datab_2[8..0]

                            9

             dataa_3[8..0]

                                                                                                                           18

                                                                                                                               result_3[  ]

                            9

             datab_3[8..0]

                               Half-DSP Block

                The multiplier operands can accept signed integers, unsigned integers, or a

                combination of both. You can change the signa and signb signals dynamically and

                register these signals in the DSP block. Additionally, you can register the multiplier

                inputs and results independently. You can use the pipeline registers in the DSP block

                to pipeline the multiplier result, increasing the performance of the DSP block.

             1  The rounding and saturation logic unit is supported for 18-bit independent multiplier

                mode only.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                                           December 2010  Altera Corporation
Chapter 4: DSP Blocks in Arria II Devices                                                                                              4–17

Arria II Operational Mode Descriptions

                       36-Bit Multiplier

                       You can construct a 36 × 36 multiplier with four 18 × 18 multipliers. This

                       simplification fits into one half-DSP block and is implemented in the DSP block

                       automatically by selecting 36 × 36 mode. Arria II devices can have up to two 36-bit

                       multipliers per DSP block (one 36-bit multiplier per half DSP block). The 36-bit

                       multiplier is also under the independent multiplier mode but uses the entire half-DSP

                       block, including the dedicated hardware logic after the pipeline registers to

                       implement the 36 × 36-bit multiplication operation, as shown in Figure 4–10.

                       The 36-bit multiplier is useful for applications requiring more than 18-bit precision;

                       for example, for the mantissa multiplication portion of single precision and extended

                       single precision floating-point arithmetic applications.

Figure 4–10.   36-Bit  Independent Multiplier Mode Shown for Half-DSP Block

                       clock[3..0]

                       ena[3..0]                                signa

                       aclr[3..0]                               signb

               dataa_0[35..18]

               datab_0[35..18]

               dataa_0[17..0]                                   +

               datab_0[35..18]             Input Register Bank         Pipeline Register Bank     Output Register Bank  72

                                                                                               +                            result[ ]

               dataa_0[35..18]

               datab_0[17..0]                                   +

               dataa_0[17..0]

               datab_0[17..0]

                                        Half-DSP Block

                       Double Multiplier

                       You can configure the Arria II DSP block to support an unsigned 54 × 54-bit multiplier

                       that is required to compute the mantissa portion of an IEEE double precision floating

                       point multiplication. You can build a 54 × 54-bit multiplier with basic 18 × 18

                       multipliers, shifters, and adders. To efficiently use built-in shifters and adders in the

                       Arria II DSP block, a special double mode (partial 54 × 54 multiplier) is available that

December 2010  Altera Corporation                                      Arria II Device Handbook Volume 1: Device Interfaces and Integration
4–18                                                                                                      Chapter 4: DSP Blocks in Arria II Devices

                                                                                                             Arria II Operational Mode Descriptions

                             is a slight modification to the basic 36 × 36 multiplier                     mode, as shown in Figure 4–11

                             and Figure 4–12.

                             Figure 4–11. Double Mode Shown for a Half DSP Block

                             clock[3..0]

                             ena[3..0]                                    signa

                             aclr[3..0]                                   signb

                             dataa_0[35..18]

                             datab_0[35..18]

                             dataa_0[17..0]                               +

                             datab_0[35..18]   Input Register Bank                Pipeline Register Bank     Output Register Bank  72

                                                                                                          +                            result[ ]

                             dataa_0[35..18]

                             datab_0[17..0]                               +

                             dataa_0[17..0]

                             datab_0[17..0]

                                               Half-DSP Block

Arria  II  Device  Handbook  Volume 1: Device Interfaces and Integration                                     December 2010         Altera Corporation
Chapter 4: DSP Blocks in Arria II Devices                                                                                                                            4–19

Arria II Operational Mode Descriptions

Figure 4–12.   Unsigned 54 × 54-Bit Multiplier

               clock[3..0]

               ena[3..0]                                                 signa

               aclr[3..0]                                                signb

                                                Two Multiplier

               "0"                              Adder Mode

               "0"                                  +                              36

               dataa[53..36]

               datab[53..36]

               dataa[35..18]                    Double Mode

               datab[53..36]

               dataa[17..0]                         Shifters and Adders

               datab[53..36]                                                       55        Final Adder (implemented with ALUT logic)  108

               dataa[53..36]                                                                                                                 result[ ]

               datab[35..18]

               dataa[53..36]

               datab[17..0]

               dataa[35..18]                    36  ×                    36  Mode

               datab[35..18]

               dataa[17..0]                         Shifters and Adders

               datab[35..18]                                                       72

               dataa[35..18]

               datab[17..0]

               dataa[17..0]

               datab[17..0]

                                                                                Unsigned     54 × 54 Multiplier

December 2010  Altera Corporation                                                  Arria II  Device Handbook Volume 1:                       Device Interfaces  and  Integration
4–20                                                                                                                  Chapter 4: DSP Blocks in Arria II Devices

                                                                                                                                            Arria II Operational Mode Descriptions

        Two-Multiplier Adder Sum Mode

                       In the two-multiplier adder configuration, the DSP block can implement four 18-bit

                       two-multiplier adders (2 two-multiplier adders per half-DSP block). You can

                       configure the adders to take the sum or difference of two multiplier outputs.

                       Summation or subtraction must be selected at compile time. The two-multiplier adder

                       function is useful for applications such as FFTs, complex FIR, and IIR filters.

                       Figure 4–13 shows the DSP block configured in the two-multiplier adder mode.

Figure  4–13.  Two-Multiplier Adder Mode Shown for Half-DSP Block             (Note 1)

                                                                    signa

                                                                    signb

                                                         output_round

                                                         output_saturate

                       clock[3..0]

                       ena[3..0]

                       aclr[3..0]

                                                                                                                      overflow (2)

               dataa_0[17..0]

               datab_0[17..0]       Input Register Bank                       Pipeline Register Bank  Round/Saturate  Output Register Bank

                                                                           +                                                                result[ ]

               dataa_1[17..0]

               datab_1[17..0]

                                    Half-DSP Block

Notes to Figure 4–13:

(1)   In a half-DSP block, you can implement 2 two-multiplier adders.

(2)   Block output for accumulator overflow and saturate overflow.

                       The loopback mode is a sub-feature of the two-multiplier adder mode. Figure 4–14

                       shows the DSP block configured in the loopback mode. This mode takes the 36-bit

                       summation result of the two multipliers and feeds back the most significant 18-bits to

                       the input. The lower 18-bits are discarded. You have the option to disable or zero-out

                       the loopback data with the dynamic zero_loopback signal. A logic 1 value on the

                       zero_loopback signal selects the zeroed data or disables the looped back data, and a

                       logic 0 selects the looped back data.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                                                        December 2010  Altera Corporation
Chapter 4: DSP Blocks in Arria II Devices                                                                                                                       4–21

Arria II Operational Mode Descriptions

               1        At compile time, you must select the option                               to  use             the  loopback              mode or   the  general

                        two-multiplier adder mode.

Figure  4–14.  Loopback Mode for Half-DSP Block

                                                                          signa

                                                                          signb

                                                                       output_round

                                                                       output_saturate

                                           clock[3..0]

                                           ena[3..0]

                                           aclr[3..0]

                      zero_loopback                                                                                                              overflow  (1)

        dataa_0[17..0]

                                        loopback  Input Register Bank     Pipeline Register Bank                           Output Register Bank

        datab_0[17..0]                                                 +                              Round/Saturate                             result[ ]

        dataa_1[17..0]

        datab_1[17..0]

                        Half-DSP Block

Note to Figure 4–14:

(1)  Block output for accumulator overflow and saturate overflow.

                        If all the inputs are full 18 bits and unsigned, the result requires 37 bits for

                        two-muliplier adder mode. Because the output data width in two-multiplier adder

                        mode is limited to 36 bits, this 37-bit output requirement is not allowed. Any other

                        combination that does not violate the 36-bit maximum result is permitted; for

                        example, two 16 × 16 signed two-multiplier adders is valid.

               1        Two-multiplier adder mode supports the rounding and saturation logic unit. You can

                        use pipeline registers and output registers in the DSP block to pipeline the

                        multiplier-adder result, increasing the performance of the DSP block.

December 2010  Altera Corporation                                         Arria II Device Handbook Volume 1: Device Interfaces and Integration
4–22                                                                                                    Chapter 4: DSP Blocks in Arria II Devices

                                                                                                                              Arria II Operational Mode Descriptions

      18 × 18 Complex Multiplier

      You can configure the DSP block to implement complex multipliers with the

      two-multiplier adder mode. A single half-DSP block can implement one 18-bit

      complex multiplier.

      Equation 4–4 shows how you can write a complex multiplication.

      Equation 4–4. Complex Multiplication Equation

      (a + jb) × (c + jd) = [(a × c) – (b × d)] + j[(a × d) + (b × c)]

      To implement this complex multiplication in the DSP block, the real part

      [(a × c) – (b × d)] is implemented with two multipliers feeding one subtractor block,

      and the imaginary part [(a × d) + (b × c)] is implemented with another two multipliers

      feeding an adder block. This mode automatically assumes all inputs are using signed

      numbers.

      Figure 4–15 shows an 18-bit complex multiplication. This mode automatically

      assumes all inputs are using signed numbers.

      Figure 4–15. Complex Multiplier Using Two-Multiplier Adder Mode

                clock[3..0]

                ena[3..0]                                             signa

                aclr[3..0]                                            signb

      A

      C                                                                                                                       36

                                                                             -                                                    (A × C) - (B × D)

                                                                                                                                  (Real Part)

      B

      D                      Input Register Bank                                Pipeline Register Bank  Output Register Bank

                                                                                                                              36  (A × D) + (B × C)

                                                                             +                                                    (Imaginary Part)

                             Half-DSP Block

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                                          December 2010  Altera Corporation
Chapter 4: DSP Blocks in Arria II Devices                                                                                                                       4–23

Arria II Operational Mode Descriptions

        Four-Multiplier Adder

                      In the four-multiplier adder configuration shown in Figure 4–16, the DSP block can

                      implement 2 four-multiplier adders (1 four-multiplier adder per half-DSP block).

                      These modes are useful for implementing one-dimensional and two-dimensional

                      filtering applications. The four-multiplier adder is performed in two addition stages.

                      The outputs of two of the four multipliers are initially summed in the two first-stage

                      adder blocks. The results of these two adder blocks are then summed in the

                      second-stage adder block to produce the final four-multiplier adder result, as shown

                      in Equation 4–2 on page 4–4 and Equation 4–3 on page 4–5.

Figure  4–16.  Four-Multiplier Adder Mode Shown for Half-DSP Block

                                                                      signa

                                                                      signb

                                                                   output_round

                                                                output_saturate

                                        clock[3..0]

                                           ena[3..0]

                                           aclr[3..0]

                                                                                                                                       overflow (1)

                      dataa_0[ ]

                      datab_0[ ]

                                                                   +

                      dataa_1[ ]

                      datab_1[ ]           Input Register Bank        Pipeline Register Bank     Round/Saturate  Output Register Bank

                                                                                              +                                                      result[ ]

                      dataa_2[ ]

                      datab_2[ ]

                                                                   +

                      dataa_3[ ]

                      datab_3[ ]

                                        Half-DSP Block

Note to Figure 4–16:

(1)  Block output for accumulator overflow and saturate overflow.

                      Four-multiplier adder mode supports the rounding and saturation logic unit. You can

                      use the pipeline registers and output registers within the DSP block to pipeline the

                      multiplier-adder result, increasing the performance of the DSP block.

December 2010  Altera Corporation                                                             Arria II Device Handbook Volume 1: Device Interfaces and Integration
4–24                                                                                                                          Chapter 4: DSP Blocks in Arria II Devices

                                                                                                                              Arria II Operational Mode Descriptions

        High-Precision Multiplier Adder Mode

                      In the high-precision multiplier adder, the DSP block can implement 2 two-multiplier

                      adders, with a multiplier precision of 18 × 36 (one two-multiplier adder per half-DSP

                      block). This mode is useful in filtering or FFT applications where a datapath greater

                      than 18 bits is required, yet 18 bits is sufficient for coefficient precision. This can occur

                      if data has a high dynamic range. If the coefficients are fixed, as in FFT and most filter

                      applications, the precision of 18 bits provides a dynamic range over 100 dB, if the

                      largest coefficient is normalized to the maximum 18-bit representation.

                      In these situations, the datapath can be up to 36 bits, allowing sufficient capacity for

                      bit growth or gain changes in the signal source without loss of precision, which is

                      useful in single precision block floating point applications. Figure 4–17 shows the

                      high-precision multiplier is performed in two stages. The sum of the results of the two

                      adders produce the final result:

                      Z[54..0] = P0[53..0] + P1[53..0]

                      where P0 = A[17..0] × B[35..0] and P1 = C[17..0] × D[35..0]

Figure  4–17.  High-Precision Multiplier Adder Configuration for Half-DSP Block

                                                                             signa

                                    clock[3..0]                              signb

                                    ena[3..0]

                                    aclr[3..0]

                                                                                                                              overflow (1)

                      dataA[0:17]

                      dataB[0:17]

                                                                      +

                      dataA[0:17]                                        P0

                                    Input Register Bank  <<18                Pipeline Register Bank     Output Register Bank

                      dataB[18:35]

                                                                                                     +                                      result[ ]

                      dataC[0:17]

                      dataD[0:17]

                                                                      +

                      dataC[0:17]                                        P1

                                                         <<18

                      dataD[18:35]

                                    Half-DSP Block

Note to Figure 4–17:

(1)   Block output for accumulator overflow and saturate overflow.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                                          December 2010            Altera Corporation
Chapter 4: DSP Blocks in Arria II Devices                                                                                                                             4–25

Arria II Operational Mode Descriptions

        Multiply           Accumulate Mode

                           In multiply accumulate mode, the second-stage adder is configured as a 44-bit

                           accumulator or subtractor. The output of the DSP block is looped back to the

                           second-stage adder and added or subtracted with the two outputs of the first-stage

                           adder block according to Equation 4–3 on page 4–5.

                           Figure 4–18 shows the DSP block configured to operate in multiply accumulate mode.

Figure  4–18.  Multiply    Accumulate Mode Shown for Half-DSP Block

                                                                signa

                           clock[3..0]                          signb

                           ena[3..0]                            output_round

                           aclr[3..0]                        output_saturate

        accum_sload                                                                                              chainout_sat_overflow (1)

               dataa_0[ ]

               datab_0[ ]

                                                             +

               dataa_1[ ]

               datab_1[ ]               Input Register Bank     Pipeline Register Bank     Second Register Bank  Round/Saturate  Output Register Bank  44

                                                                                        +                                                                  result[ ]

               dataa_2[ ]

               datab_2[ ]

                                                             +

               dataa_3[ ]

               datab_3[ ]

                           Half-DSP Block

Note to Figure 4–18:

(1)  Block output for saturation overflow of chainout.

                           A single DSP block can implement up to two independent 44-bit accumulators.

                           Use the dynamic accum_sload control signal to clear the accumulation. A logic 1

                           value on the accum_sload signal synchronously loads the accumulator with the

                           multiplier result only, and a logic 0 enables accumulation by adding or subtracting

                           the output of the DSP block (accumulator feedback) to the output of the multiplier

                           and first-stage adder.

December 2010  Altera Corporation                                                       Arria II Device Handbook Volume 1: Device Interfaces and Integration
4–26                                                                              Chapter 4: DSP Blocks in Arria II Devices

                                                                                  Arria II Operational Mode Descriptions

      1      The control signal for the accumulator and subtractor is static and therefore you can

             configure it at compilation.

             The multiply accumulate mode supports the rounding and saturation logic unit

             because it is configured as an 18-bit multiplier accumulator. You can use the pipeline

             registers and output registers within the DSP block to increase the performance of the

             DSP block.

      Shift  Modes

             Arria II devices support the following shift             modes  for  32-bit  input  only:

             ■  Arithmetic shift left, ASL[N]

             ■  Arithmetic shift right, ASR[32-N]

             ■  Logical shift left, LSL[N]

             ■  Logical shift right, LSR[32-N]

             ■  32-bit rotator or Barrel shifter, ROT[N]

      1      You can switch the shift mode between these modes with the dynamic rotate and shift

             control signals.

             You can easily use the shift mode in an Arria II device with a soft embedded processor

             such as the Nios® II processor to perform the dynamic shift and rotate operation.

             Shift mode makes use of the available multipliers to logically or arithmetically shift

             left, right, or rotate the desired 32-bit data. The DSP block is configured like the

             independent 36-bit multiplier mode to perform the shift mode operations.

             Arithmetic shift right requires a signed input vector. During arithmetic shift right, the

             sign is extended to fill the MSB of the 32-bit vector. The logical shift right uses an

             unsigned input vector. During logical shift right, zeros are padded in the most

             significant bits shifting the 32-bit vector to the right. The barrel shifter uses an

             unsigned input vector and implements a rotation function on a 32-bit word length.

             Two control signals, rotate and shift_right, together with the signa and signb

             signals, determine the shifting operation.

Arria II Device Handbook Volume 1: Device Interfaces and Integration              December 2010         Altera Corporation
Chapter 4: DSP Blocks in Arria II Devices                                                                                                                                     4–27

Arria II Operational Mode Descriptions

                        Figure 4–19 shows the shift mode configuration.

Figure 4–19.   Shift Operation Mode Shown for Half-DSP Block

                                           clock[3..0]                           signa

                                                                                 signb

                                           ena[3..0]                             rotate

                                           aclr[3..0]                         shift_right

               dataa_0[35..18]

               datab_0[35..18]

                                                                       +

               dataa_0[17..0]

               datab_0[35..18]             Input Register Bank                   Pipeline Register Bank     Output Register Bank  Shift/Rotate

                                                                                                                                                32         result[ ]

               dataa_0[35..18]                                                                           +

               datab_0[17..0]

                                                                       +

               dataa_0[17..0]

               datab_0[17..0]

                                        Half-DSP Block

                        Table 4–5 lists examples                       of shift  operations.

Table 4–5. Examples of  Shift Operations

Example                         Signa                           Signb  Shift     Rotate                     A-input                             B-input               Result

Logical Shift Left      Unsigned           Unsigned                    0         0                       0×AABBCCDD                             0×0000100  0×BBCCDD00

LSL[N]

Logical Shift Right     Unsigned           Unsigned                    1         0                       0×AABBCCDD                             0×0000100  0×000000AA

LSR[32-N]

Arithmetic Shift Left           Signed     Unsigned                    0         0                       0×AABBCCDD                             0×0000100  0×BBCCDD00

ASL[N]

Arithmetic Shift Right          Signed     Unsigned                    1         0                       0×AABBCCDD                             0×0000100  0×FFFFFFAA

ASR[32-N]

Rotation ROT[N]         Unsigned           Unsigned                    0         1                       0×AABBCCDD                             0×0000100  0×BBCCDDAA

December 2010  Altera Corporation                                                                        Arria II Device Handbook Volume 1: Device Interfaces and Integration
4–28                                                                                         Chapter 4: DSP Blocks in Arria II Devices

                                                                                                Arria II Operational Mode Descriptions

            Rounding and Saturation Mode

                    Rounding and saturation functions are often required in DSP arithmetic. Rounding is

                    to limit bit growth and its side effects; saturation is to reduce overflow and underflow

                    side effects.

                    Two rounding modes are supported in Arria II devices:

                    ■      Round-to-nearest-integer mode

                    ■      Round-to-nearest-even mode

                    You must select one of the two options at compile time.

                    The round-to-nearest-integer provides the biased rounding support and is the

                    simplest form of rounding commonly used in DSP arithmetic. The

                    round-to-nearest-even mode provides unbiased rounding support and is used where

                    DC offsets are a concern. Table 4–6 lists an example of how round-to-nearest-even

                    mode. Examples of the difference between the two modes are shown in Table 4–7. In

                    this example, a 6-bit input is rounded to 4 bits. You can observe from Table 4–7 that

                    the main difference between the two rounding options is when the residue bits are

                    exactly half way between its nearest two integers and the LSB is zero (even).

Table 4–6. Example of Round-To-Nearest-Even Mode

6-    to  4-bits Rounding  Odd/Even (Integer)                         Fractional             Add to Integer    Result

            010111                 ×                                  > 0.5 (11)             1                 0110

            001101                 ×                                  < 0.5 (01)             0                 0011

            001010         Even (0010)                                = 0.5 (10)             0                 0010

            001110         Odd (0011)                                 = 0.5 (10)             1                 0100

            110111                 ×                                  > 0.5 (11)             1                 1110

            101101                 ×                                  < 0.5 (01)             0                 1011

            110110         Odd (1101)                                 = 0.5 (10)             1                 1110

            110010         Even (1100)                                = 0.5 (10)             0                 1100

Table 4–7.  Comparison of Round-to-Nearest-Integer  and               Round-to-Nearest-Even

            Round-To-Nearest-Integer                                              Round-To-Nearest-Even

                    010111 ➱ 0110                                                            010111 ➱ 0110

                    001101 ➱ 0011                                                            001101 ➱ 0011

                    001010 ➱ 0011                                                            001010 ➱ 0010

                    001110 ➱ 0100                                                            001110 ➱ 0100

                    110111 ➱ 1110                                                            110111 ➱ 1110

                    101101 ➱ 1011                                                            101101 ➱ 1011

                    110110 ➱ 1110                                                            110110 ➱ 1110

                    110010 ➱ 1101                                                            110010 ➱ 1100

Arria II Device Handbook Volume 1: Device Interfaces and Integration                            December 2010  Altera Corporation
Chapter 4: DSP Blocks in Arria II Devices                                                                                     4–29

Arria II Operational Mode Descriptions

                  Two saturation modes are supported in Arria II devices:

                  ■   Asymmetric saturation mode

                  ■   Symmetric saturation mode

                  You must select one of the two options at compile time.

                  In 2’s complement format, the maximum negative number that can be represented is

                  –2 (n-1), and the maximum positive number is 2(n-1) – 1. Symmetrical saturation limits

                  the maximum negative number to –2(n-1) + 1. For example, for 32 bits:

                  ■   Asymmetric 32-bit saturation: Max = 0×7FFFFFFF, Min = 0×80000000

                  ■   Symmetric 32-bit saturation: Max = 0×7FFFFFFF, Min = 0×80000001

                  Table 4–8 lists how the saturation works. In this example, a 44-bit input is saturated to

                  36-bits.

                  Table 4–8.               Examples of Saturation

                      44 to 36 Bits Saturation                     Symmetric SAT Result                Asymmetric SAT Result

                                        5926AC01342h                   7FFFFFFFFh                            7FFFFFFFFh

                                        ADA38D2210h                    800000001h                         800000000h

                  Arria II devices have up to 16 configurable bit positions out of the 44-bit bus ([43:0])

                  for the rounding and saturate logic unit, providing higher flexibility. You must select

                  the 16 configurable bit positions at compile time. These 16-bit positions are located at

                  bits [21:6] for rounding and [43:28] for saturation, as shown in Figure 4–20.

Figure 4–20.   Rounding and Saturation Locations

                  16 User defined SAT Positions (bit 43-28)

                  43  42                   29         28                                               1  0

                                                             16 User defined RND Positions (bit 21-6)

                  43  42                                     21    20              7     6                0

               1  For symmetric saturation, the RND bit position is to determine where the LSP for the

                  saturated data is located.

                  You can use the rounding and saturation function as described in regular supported

                  multiplication operations shown in Table 4–2 on page 4–7. However, for accumulation

                  type operations, the following convention is used.

                  The functionality of the rounding logic unit is in the format of:

                  Result = RND[∑(A × B)], when used for an accumulation type of operation.

                  Likewise, the functionality of the saturation logic unit is in the format of:

                  Result = SAT[∑(A × B)], when used for an accumulation type of operation.

December 2010  Altera Corporation                                      Arria II Device Handbook Volume 1: Device Interfaces and Integration
4–30                                                                                           Chapter 4: DSP Blocks in Arria II Devices

                                                                                                Arria II Operational Mode Descriptions

                     If both the rounding and saturation logic units are used for an accumulation type of

                     operation, the format is:

                     Result = SAT[RND[∑(A × B)]]

            DSP Block Control Signals

                     You can configure the Arria II DSP block with a set of static and dynamic signals. At

                     run time, you can configure the DSP block dynamic signals to toggle or not.

                     Table 4–9 shows a list of dynamic signals for the DSP block. Table 4–9 lists the DSP

                     block dynamic signals.

Table 4–9.  DSP Block Dynamic Signals for DSP Block in Arria II Devices         (Part 1 of 2)

        Signal Name                                                   Function                                 Count

DSP Block Dynamic Signals  per  Half-DSP Block

                                Signed/unsigned control for all multipliers and adders.

                                signa for “multiplicand” input bus to dataa[17:0] each multiplier.

                                signb for “multiplier” input bus datab[17:0] to each multiplier.

signa                              signa = 1, signb = 1 for signed-signed multiplication                       2

                                ■

signb                              signa = 1, signb = 0 for signed-unsigned multiplication

                                ■

                                ■  signa = 0, signb = 1 for unsigned-signed multiplication

                                ■  signa = 0, signb = 0 for unsigned-unsigned multiplication

                                Round control for first stage round/saturation block.

output_round                    ■  output_round = 1 for rounding on multiply output                            1

                                ■  output_round = 0 for normal multiply output

                                Round control for second stage round/saturation block.

chainout_round                  ■  chainout_round = 1 for rounding on multiply output                          1

                                ■  chainout_round = 0 for normal multiply output

                                Saturation control for first stage round/saturation block for Q-format

                                multiply. If both rounding and saturation is enabled, saturation is done

output_saturate                 on the rounded result.                                                         1

                                ■  output_saturate = 1 for saturation support

                                ■  output_saturate = 0 for no saturation support

                                Saturation control for second stage round/saturation block for

                                Q-format multiply. If both rounding and saturation is enabled,

chainout_saturate               saturation is done on the rounded result.                                      1

                                ■  chainout_saturate = 1 for saturation support

                                ■  chainout_saturate = 0 for no saturation support

                                Dynamically specifies whether the accumulator value is zero.

accum_sload                     ■  accum_sload = 0, accumulation input is from the output registers            1

                                ■  accum_sload = 1, accumulation input is set to be zero

zero_chainout                   Dynamically specifies whether the chainout value is zero.                      1

zero_loopback                   Dynamically specifies whether the loopback value is zero.                      1

rotate                          rotation = 1, rotation feature is enabled                                      1

Arria II Device Handbook Volume 1: Device Interfaces and Integration                            December 2010  Altera Corporation
Chapter 4: DSP Blocks in Arria II Devices                                                                     4–31

Software Support for Arria II Devices

Table 4–9.  DSP Block Dynamic Signals for DSP Block in Arria II Devices            (Part 2 of 2)

        Signal Name                                                  Function                         Count

shift_right                            shift_right = 1, shift right feature is enabled                    1

DSP Block Dynamic Signals per Full-DSP Block

clock0

clock1                                 DSP-block-wide clock signals                                       4

clock2

clock3

ena0

ena1                                   Input and Pipeline Register enable signals                         4

ena2

ena3

aclr0

aclr1                                  DSP block-wide asynchronous clear signals (active low)             4

aclr2

aclr3

Total Count per Half- and Full-DSP Blocks                                                                 33

Software       Support for Arria II Devices

                     Altera provides two distinct methods for implementing various modes of the DSP

                     block in a design: instantiation and inference. Both methods use the following

                     Quartus II megafunctions:

                     ■  LPM_MULT

                     ■  ALTMULT_ADD

                     ■  ALTMULT_ACCUM

                     ■  ALTFP_MULT

                     You can instantiate the megafunctions in the Quartus II software to use the DSP block.

                     Alternatively, with inference, you can create an HDL design and synthesize it with a

                     third-party synthesis tool (such as LeonardoSpectrum, Synplify, or Quartus II Native

                     Synthesis) that infers the appropriate megafunction by recognizing multipliers,

                     multiplier adders, multiplier accumulators, and shift functions. With either method,

                     the Quartus II software maps the functionality to the DSP blocks during compilation.

               f     For instructions about using the megafunctions and the MegaWizard Plug-In

                     Manager, refer to the Quartus II Software Help.

               f     For more information, refer to Section III: Synthesis in volume 1 of the Quartus II

                     Handbook.

December 2010  Altera Corporation                                    Arria II Device Handbook Volume 1: Device Interfaces and Integration
4–32                                                                           Chapter 4: DSP Blocks in Arria II Devices

                                                                                       Document Revision History

Document Revision History

               Table 4–10 shows the revision history for this document.

Table 4–10. Document Revision History

      Date     Version                                                Changes

                        ■  Updated for the Quartus II software version 10.1 release.

                        ■  Added Arria II GZ devices information.

                        ■  Updated “DSP Block Overview”, “Operational Modes Overview”, and “DSP Block

December 2010  4.0         Resource Descriptions” sections.

                        ■  Updated Table 4–1

                        ■  Added Figure 4–3, Figure 4–7, Figure 4–11, and Figure 4–15

                        ■  Minor text edits

                        Updated for the Arria II GX v10.0 release:

July 2010      3.0      ■  Updated “DSP Block Resource Descriptions” and “Second-Stage Adder” sections

                        ■  Minor text edits

                        Updated for Arria II GX v9.1 release:

November 2009  2.0      ■  Updated Table 4–1 and Table 4–9

                        ■  Updated Figure 4–9

                        ■  Minor text edit

June 2009      1.1      Updated Table 4–1

February 2009  1.0      Initial release

Arria II Device Handbook Volume 1: Device Interfaces and Integration                   December 2010  Altera Corporation
                   5. Clock Networks and PLLs in Arria II

                                                                                                                Devices

July 2012

AIIGX51005-4.2

AIIGX51005-4.2

                This chapter describes the hierarchical clock networks and phase-locked loops (PLLs)

                which have advanced features in Arria® II devices that provide dedicated global clock

                networks (GCLKs), regional clock networks (RCLKs), and periphery clock networks

                (PCLKs). This chapter also includes details reconfiguring the PLL counter clock

                frequency and phase shift in real time, allowing you to sweep PLL output frequencies

                and dynamically adjust the output clock phase shift.

                This chapter contains the following sections:

                ■  “Clock Networks in Arria II Devices” on page 5–1

                ■  “PLLs in Arria II Devices” on page 5–22

Clock      Networks in Arria II Devices

                The GCLKs, RCLKs, and PCLKs available in Arria II devices are organized into

                hierarchical clock structures that provide up to 192 unique clock domains

                (16 GCLK + 88 RCLK + 88 PCLK) and allow up to 60 unique GCLK, RCLK, and PCLK

                clock sources (16 GCLK + 22 RCLK + 22 PCLK) per device quadrant.

© 2012 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off.

and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at

www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but

reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any

information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device

specifications before relying on any published information and before placing orders for products or services.

Arria II Device Handbook Volume 1: Device Interfaces and Integration

July 2012

                                                                                                                                                                              Subscribe
5–2                                                                    Chapter 5: Clock Networks and PLLs in Arria II Devices

                                                                                                              Clock Networks in Arria II Devices

                         Table 5–1 lists the clock resources available in Arria II devices.

Table 5–1. Clock Resources in Arria II Devices

Clock Resource           Number of Resources Available                 Source of Clock Resource

     and Device          Arria II GX       Arria II GZ                 Arria II GX                            Arria II GZ

                         12                     32                     CLK[4..15],                            CLK[0..15]p

Clock input pins         Single-ended      Single-ended                DIFFCLK_[0..5]p/n pins                 andCLK[0..15] n pins

                         (6 Differential)  (16 Differential)

                                                                       CLK[4..15] pins, PLL

                                                                       clock outputs,                         CLK[0..15]p                and

GCLK networks            16                     16                     programmable logic device     CLK[0..15]n                 pins, PLL

                                                                       (PLD)-transceiver interface   clock outputs, and logic array

                                                                       clocks, and logic array

                                                                       CLK[4..15] pins, PLL                   CLK[0..15]p                and

RCLK networks            48                64/88 (1)                   clock outputs,                CLK[0..15]n                 pins, PLL

                                                                       PLD-transceiver interface     clock outputs, and logic array

                                                                       clocks, and logic array

                                                                       Dynamic phase alignment                DPA clock outputs,

                         84                     88                     (DPA) clock outputs,                   PLD-transceiver interface

PCLK networks            (24 per device    (22 per device              PLD-transceiver interface     clocks, horizontal I/O pins,

                         quadrant)  (2)    quadrant)                   clocks, horizontal I/O pins,           and logic array

                                                                       and logic array

GCLKs/RCLKs per          28                32/38    (3)                16 GCLKs + 12 RCLKs                    16 GCLKs + 16 RCLKs

     quadrant                                                                                                 16 GCLKs + 22 RCLKs

GCLKs/RCLKs per          64                80/104 (4)                  16 GCLKs + 48 RCLKs                    16 GCLKs + 64 RCLKs

     device                                                                                                   16 GCLKs + 88 RCLKs

Notes to Table 5–1:

(1)  There are 64 RCLKs in the EP2AGZ225 devices. There are 88 RCLKs in the EP2AGZ300 and EP2AGZ350 devices.

(2)  There are 50 PCLKs in EP2AGX45 and EP2AGX65 devices, where 18 are on the left side and 32 on the right side. There are 59 PCLKs in

     EP2AGX95 and EP2AGX125 device, where 27 are on the left side and 32 on the right side. There are 84 PCLKs in EP2AGX190 and EP2AGX260

     devices, where 36 are on the left side and 48 on the right side.

(3)  There are 32 GCLKs/RCLKs per quadrant in the EP2AGZ225 devices. There are 38 GCLKs/RCLKs per quadrant in the EP2AGZ300 and

     EP2AGZ350 devices.

(4)  There are 80 GCLKs/RCLKs per entire device in the EP2AGZ225 devices. There are 104 GCLKs/RCLKS per entire device in the EP2AGZ300 and

     EP2AGZ350 devices.

                         Arria II GX devices have up to 12 dedicated single-ended clock pins or six dedicated

                         differential clock pins (DIFFCLK_[0..5]p and DIFFCLK_[0..5]n) that can drive either

                         the GCLK or RCLK networks. These clock pins are arranged on the three sides (top,

                         bottom, and right sides) of the Arria II GX device, as shown in Figure 5–1 on page 5–4

                         and Figure 5–3 on page 5–6.

                         Arria II GZ devices have up to 32 dedicated single-ended clock pins or 16 dedicated

                         differential clock pins (CLK[0..15]p and CLK[0..15]n) that can drive either the GCLK

                         or RCLK networks. These clock pins are arranged on the four sides of the Arria II GZ

                         device, as shown in Figure 5–2 on page 5–5 and Figure 5–4 on page 5–6.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                                          July 2012  Altera Corporation
Chapter 5: Clock Networks and PLLs in Arria II Devices                                                                                  5–3

Clock Networks in Arria II Devices

           Global        Clock Networks

                            Arria II devices provide up to 16 GCLKs that can drive throughout the device, serving

                            as low-skew clock sources for functional blocks such as adaptive logic modules

                            (ALMs), digital signal processing (DSP) blocks, embedded memory blocks, and PLLs.

                            Arria II I/O elements (IOEs) and internal logic can drive GCLKs to create internally

                            generated GCLKs and other high fan-out control signals; for example, synchronous or

                            asynchronous clears and clock enables. Figure 5–1 and Figure 5–2 show CLK pins and

                            PLLs that can drive GCLK networks in Arria II devices.

Figure  5–1. GCLK Networks in Arria II GX Devices

           Top Left PLL                                 CLK[12..15]                                            Top Right PLL

                               PLL_1                                                               PLL_2

                                                        GCLK[12..15]

                                      GCLK[0..3] (2)                  GCLK[8..11]                  PLL_5  (1)  Center PLLs

                                                                                                   PLL_6  (1)  CLK[8..11]

                                                        GCLK[4..7]

                               PLL_4                                                               PLL_3

                                                        CLK[4..7]

           Bottom Left PLL                                                                                Bottom Right PLL

Notes to Figure 5–1:

(1)  PLL_5 and PLL_6 are only available in EP2AGX95, EP2AGX125, EP2AGX190, and EP2AGX260 devices.

(2)  Because there are no dedicated clock pins on the left side of an Arria II GX device, GCLK[0..3] are not driven by any clock pins.

July 2012  Altera Corporation                                         Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–4                                                                               Chapter 5: Clock Networks and PLLs in Arria II Devices

                                                                                                   Clock Networks in Arria II Devices

Figure  5–2.  GCLK Networks  in Arria II GZ Devices

                                                     C LK[12..15]

                                                                      T1  T2

                                                     GCLK[12..15]

                             L2  GCLK[0..3]                                       GCLK[8..11]  R2

              CLK[0..3]      L3                                                                R3  CLK[8..11]

                                                                      GCLK[4..7]

                                                                      B1  B2

                                                                      CLK[4..7]

        Regional Clock Networks

              For Arria II devices, the RCLK networks only pertain to the quadrant they drive into.

              RCLK networks provide the lowest clock delay and skew for logic contained in a

              single device quadrant. Arria II IOEs and internal logic in a given quadrant can also

              drive RCLKs to create internally generated RCLKs and other high fan-out control

              signals; for example, synchronous or asynchronous clears and clock enables.

              Figure 5–3 and Figure 5–4 show CLK pins and PLLs that can drive RCLK networks in

              Arria II devices.

Arria II Device Handbook Volume 1: Device Interfaces and Integration                               July 2012   Altera Corporation
Chapter 5: Clock Networks and PLLs in Arria II Devices                                                                                                                               5–5

Clock Networks in Arria II Devices

Figure 5–3.  RCLK     Networks in Arria             II  GX  Devices

                               Top Left PLL                                        CLK[12..15]                                   Top Right PLL

                                    PLL_1                                                                                        PLL_2

                                                                     RCLK[42..47]                    RCLK[36..41]

                                                    RCLK[0..5] (2)                                                 RCLK[30..35]

                                                                                   Q1      Q2                                    PLL_5  (1)  Center PLLs

                                                                                                                                 PLL_6  (1)  CLK[8..11]

                                                                                   Q4      Q3

                                                    RCLK[6..11] (2)                                                RCLK[24..29]

                                                                         RCLK[12..17]  RCLK[18..23]

                                    PLL_4                                                                                        PLL_3

                               Bottom Left PLL                                     CLK[4..7]                                     Bottom Right PLL

Notes to Figure 5–3:

(1)  PLL_5 and PLL_6 are only available in EP2AGX95, EP2AGX125, EP2AGX190, and                                     EP2AGX260 devices.

(2)  RCLK[0..5] is not driven by any clock pins because there are no dedicated clock                               pins on the left side of the Arria     II  GX devices.

Figure 5–4.  RCLK Networks in Arria II GZ Devices                        (Note         1)

                                                                                       CLK[12..15]

                                                                                       T1        T2

                                                                                   RCLK[54..63] RCLK[44..53]

                                                            RCLK[0..5]                                             RCLK[38..43]

                                                L2                                     Q1        Q2                                     R2

                                    CLK[0..3]                                                                                                CLK[8..11]

                                                L3                                     Q4        Q3                                     R3

                                                            RCLK[6..11]