EP2AGX65 [ALTERA]
Device Interfaces and Integration;型号: | EP2AGX65 |
厂家: | ALTERA CORPORATION |
描述: | Device Interfaces and Integration |
文件: | 总380页 (文件大小:11516K) |
中文: | 中文翻译 | 下载: | 下载PDF数据表文档文件 |
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
13.1
February 2014
AIIGX5V1-4.6
Document last updated for Altera Complete Design Suite version:
Document publication date:
© 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
R OCT Without Calibration for Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–19
S
R OCT with Calibration for Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–20
S
Left-Shift R OCT Control for Arria II GZ Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–21
S
Expanded R OCT with Calibration for Arria II GZ Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–22
S
R
OCT for Arria II LVDS Input I/O Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–23
D
R OCT with Calibration for Arria II GZ Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–23
T
Dynamic R and R OCT for Single-Ended I/O Standard for Arria II GZ Devices . . . . . . . . . . 6–24
S
T
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 R and R
Pins in a DQ/DQS Group Used for Memory Interfaces in Arria II GZ Devices
UP
DN
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 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–10
OD
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
V
Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–6
CCPD
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
Table 1–1 lists the Arria II device features.
Table 1–1. Features in Arria II Devices
Arria II GX Devices
EP2AGX95 EP2AGX125 EP2AGX190 EP2AGX260 EP2AGZ225
12
Arria II GZ Devices
Feature
EP2AGX45 EP2AGX65
EP2AGZ300
16 or 24
119,200
298,000
1
EP2AGZ350
16 or 24
139,400
348,500
1
Total Transceivers (1)
ALMs
8
18,050
42,959
1
8
25,300
60,214
1
12
49,640
118,143
1
16
76,120
181,165
1
16
102,600
244,188
1
16 or 24
89,600
224,000
1
37,470
89,178
1
LEs
PCIe hard IP blocks
M9K Blocks
M144K Blocks
319
495
612
730
840
950
1,235
—
1,248
1,248
—
—
—
—
—
—
24
36
Total Embedded Memory in M9K
Blocks (Kbits)
2,871
3,435
4,455
5,246
5,508
6,679
6,570
8,121
7,560
9,939
8,550
11,115
13,915
14,688
18,413
16,416
20,772
Total On-Chip Memory
(M9K +M144K + MLABs) (Kbits)
11,756
Embedded Multipliers (18 x 18) (2)
General Purpose PLLs
232
4
312
4
448
6
576
6
656
6
736
6
800
920
1,040
4, 6, or 8
8 or 12
6 or 8
4, 6, or 8
8 or 12
Transceiver TX PLLs (3), (4)
User I/O Banks (5), (6)
2 or 4
6
2 or 4
6
4 or 6
8
4 or 6
8
6 or 8
12
6 or 8
12
8 or 12
16 or 20
8, 16, or 20
8, 16, or 20
High-Speed LVDS SERDES
(up to 1.25 Gbps) (7)
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
Notes to Table 1–1:
(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.
(2) This is in four multiplier adder mode.
(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.
(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.
(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.
(8) The smallest pin package (780-pin package) does not support high-speed LVDS SERDES.
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
17 mm x 17 mm
572-Pin Flip Chip FBGA
25 mm x 25 mm
780-Pin Flip Chip FBGA
29 mm x 29 mm
1152-Pin Flip Chip FBGA
35 mm x 35 mm
Device
I/O
LVDS (8)
I/O
LVDS (8)
I/O
LVDS (8)
I/O
LVDS (8)
57(RD or
eTX) +
56(RX, TX,
or eTX)
33(RD or eTX)
156 + 32(RX, TX,
or eTX)
85(RD or eTX)
364 + 84(RX, TX,
or eTX)
EP2AGX45
EP2AGX65
EP2AGX95
EP2AGX125
4
4
252
8
8
8
8
8
8
—
—
—
—
12
12
16
57(RD or
eTX) +
56(RX, TX,
or eTX)
33(RD or eTX)
156 + 32(RX, TX,
or eTX)
85(RD or eTX)
+84(RX,TX,
eTX)
252
260
260
364
—
—
57(RD or
eTX) +
56(RX, TX,
or eTX)
105(RD or
eTX) +
104(RX, TX, or
eTX)
85(RD or eTX)
372 +84(RX, TX, or 12 452
eTX)
—
—
—
—
—
—
57(RD or
eTX) +
56(RX,TX, or
eTX)
105(RD or
eTX) +
104(RX, TX, or
eTX)
85(RD or eTX)
372 +84(RX,TX, or 12 452
eTX)
145(RD or
eTX) +
144(RX, TX, or
eTX)
85(RD or eTX)
372 +84(RX, TX, or 12 612
eTX)
EP2AGX190
EP2AGX260
—
—
—
—
—
—
—
—
—
—
—
—
85(RD, eTX)
145(RD, eTX) +
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_3Ror 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
29 mm x 29 mm
1152-Pin Flip Chip FBGA
35 mm x 35 mm
1517-Pin Flip Chip FBGA
40 mm x 40 mm
Device
I/O
LVDS (6)
I/O
LVDS (7)
I/O
LVDS (7)
135 (RX or eTX) +
140 (TX or eTX)
179 (RX or eTX) +
184 (TX or eTX)
EP2AGZ225
EP2AGZ300
—
—
—
16
16
554
554
554
16
16
16
734
734
734
24
68 (RX or eTX) +
72 eTX
135 (RX or eTX) +
140 (TX or eTX)
179 (RX or eTX) +
184 (TX or eTX)
281
281
24
24
68 (RX or eTX) +
72 eTX
135 (RX or eTX) +
140 (TX or eTX)
179 (RX or eTX) +
184 (TX or eTX)
EP2AGZ350
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_3Ror 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
358-Pin Flip Chip
UBGA
572-Pin Flip Chip
FBGA
780-Pin Flip Chip
FBGA
1152-Pin Flip Chip 1517-Pin Flip Chip
Device
FBGA
FBGA
EP2AGX45
EP2AGX65
EP2AGX95
EP2AGX125
EP2AGX190
EP2AGX260
EP2AGZ225
EP2AGZ300
EP2AGZ350
C4, C5, C6, I3, I5
C4, C5, C6, I3, I5
C4, C5, C6, I3, I5
C4, C5, C6, I3, I5
C4, C5, C6, I3, I5
C4, C5, C6, I3, I5
C4, C5, C6, I3, I5
C4, C5, C6, I3, I5
—
—
—
C4, C5, C6, I3, I5
C4, C5, C6, I3, I5
—
—
—
—
—
—
—
—
—
C4, C5, C6, I3, I5
C4, C5, C6, I3, I5
C4, C5, C6, I3, I5
C4, C5, C6, I3, I5
C4, C5, C6, I3, I5
C3, C4, I3, I4
C3, C4, I3, I4
C3, C4, I3, I4
—
—
C4, C5, C6, I3, I5
—
—
—
—
—
—
—
C3, C4, I3, I4
C3, C4, I3, I4
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
High-Speed Differential I/O,
General Purpose I/O, and
Memory Interface
DLL
High-Speed Differential I/O,
General Purpose I/O, and
Memory Interface
PLL
PLL
High-Speed
Differential I/O
with DPA,
General
Purpose
I/O, and
Memory
Interface
Arria II GX FPGA Fabric
(Logic Elements, DSP,
Embedded Memory, Clock Networks)
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
the density of the device.
PLL
PLL
Transceiver
Blocks
High-Speed
Differential I/O
with DPA,
General
Plug and Play PCIe hard IP
×1,×2, ×4, and ×8
Purpose
I/O, and
Memory
Interface
High-Speed Differential I/O,
General Purpose I/O, and
Memory Interface
PLL
DLL
High-Speed Differential I/O,
General Purpose I/O, and
Memory Interface
PLL
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
I/O and Memory
Interface
General Purpose
I/O and Memory
Interface
PLL PLL
3()
Arria II GZ FPGA Fabric
(Logic Elements, DSP,
Embedded Memory,
Clock Networks)
PLL (1)
PLL (2)
PLL (1)
PLL (2)
General Purpose
I/O and Memory
Interface
General Purpose
I/O and Memory
Interface
PLL PLL
Transceiver Block
400 Mbps-6.375 Gbps CDR-based Transceiver
General Purpose I/O and
High-Speed LVDS I/O
with DPA and Soft CDR
General Purpose I/O and 150 Mbps-1.25 Gbps
LVDS interface 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
specifications
CPRI/OBSAI
■ 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
x1, x4, x8
PCIe Gen1
PCIe Gen2
x1, x4, x8
—
Yes
x1, x4
Root Port and endpoint configurations
Payloads
Yes
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
Single Port
Port Width Configuration
x1, x2, x4, x8, x9, x16, x18, x32, x36, x64, and x72
x1, x2, x4, x8, x9, x16, x18, x32, x36, x64, and x72
x1, x2, x4, x8, x9, x16, x18, x32, and x36
Simple Dual Port
True Dual Port
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
SSTL, HSTL, LVPECL, LVDS, mini-LVDS, Bus LVDS (BLVDS) (1), and
RSDS
Differential I/O
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
All pin packages
I/O Bank
Arria II GX
Bank 3A, Bank 7A, and Bank 8A
780-pin flip chip FBGA
1152-pin flip chip FBGA
1517-pin flip chip FBGA
Bank 3A, Bank 4A, Bank 7A, and Bank 8A
Arria II GZ
Bank 1A, Bank 3A, Bank 4A, Bank 6A, Bank 7A, and Bank 8A
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 VCCPDpin 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
f
For the maximum clock rates supported in Altera's FPGA devices, refer to the
External Memory Interface Spec Estimator online tool.
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
17
C
F
4
N
EP2AGX
45
C
Family Signature
Optional Suffix
EP2AGX
EP2AGZ
Indicates specific device options
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
Operating Temperature
C: 4
D: 8
C: Commercial temperature (t
J = 0°C to 85°C)
E: 12
F:16
H: 24
I: Industrial temperature (t = -40°C to 100°C)
J
BallArray Dimension
PackageType
Corresponds to pin count
17 = 358 pins
F: FineLine BGA (FBGA)
U: Ultra FineLine BGA (UBGA)
H: Hybrid FineLine BGA (HBGA)
25 = 572 pins
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
July 2012
Version
Changes
Replaced Table 1-10. External Memory Interface Maximum Performance for Arria II Devices
with link to the External Memory Interface Spec Estimator online tool.
4.4
December 2011
June 2011
4.3
4.2
Updated Table 1–4 and Table 1–9.
Updated Table 1–2.
■ Updated Figure 1–2.
■ Updated Table 1–10.
June 2011
4.1
4.0
■ 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
■ Added Table 1–3
December 2010
■ 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
■ Updated Table 1–1, Table 1–3, and Table 1–7
■ Updated Figure 1–2
July 2010
3.0
■ Updated “Highlights” and “High-Speed LVDS I/O and DPA”section
■ Minor text edits
■ Updated Table 1–1, Table 1–2, and Table 1–3
■ Updated “Configuration Features” section
■ Updated Table 1–2.
November 2009
2.0
June 2009
1.1
1.0
■ Updated “I/O Features” section.
February 2009
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
interconnect from
adjacent block
Direct link
interconnect from
adjacent block
Direct link
interconnect to
adjacent block
Direct link
interconnect to
adjacent block
Local Interconnect
MLAB
Local Interconnect is Driven
from Either Side by Column Interconnect
& LABs, & from Above by Row Interconnect
LAB
Column Interconnects of
Variable Speed & Length
© 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
(1)
LUT-based-64 x 1
ALM
Simple dual port SRAM
(1)
LUT-based-64 x 1
ALM
ALM
ALM
ALM
Simple dual port SRAM
(1)
LUT-based-64 x 1
Simple dual port SRAM
(1)
LUT-based-64 x 1
Simple dual port SRAM
(1)
LUT-based-64 x 1
Simple dual port SRAM
LAB Control Block
LAB Control Block
(1)
LUT-based-64 x 1
ALM
Simple dual port SRAM
(1)
LUT-based-64 x 1
ALM
ALM
ALM
Simple dual port SRAM
(1)
LUT-based-64 x 1
Simple dual port SRAM
(1)
LUT-based-64 x 1
Simple dual port SRAM
(1)
LUT-based-64 x 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
left LAB, memory block,
DSP block, or IOE output
Direct link interconnect from
right LAB, memory block,
DSP block, or IOE output
ALMs
ALMs
Direct link
interconnect
to right
Direct link
interconnect
to left
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 labclk1signal also uses the labclkena1signal. 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
labclr1
labclk0
syncload
labclk1
labclk2
labclkena2
labclkena0
or asyncload
labclkena1
labclr0
synclr
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
labclk
Combinational/Memory ALUT0
To general or
local routing
dataf0
datae0
dataa
6-Input LUT
To general or
local routing
adder0
D
Q
reg0
datab
datac
datad
To general or
local routing
adder1
D
Q
6-Input LUT
datae1
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]
carry_in
shared_arith_in
clk[2:0]
reg_chain_in
sclr
dataf0
datae0
dataa
datab
GND
4-INPUT
LUT
datac0
CLR
+
local
interconnect
D
Q
3-INPUT
LUT
row, column
direct link routing
row, column
direct link routing
3-INPUT
LUT
4-INPUT
LUT
datac1
CLR
+
local
interconnect
D
Q
3-INPUT
LUT
row, column
direct link routing
row, column
direct link routing
3-INPUT
LUT
V
CC
datae1
dataf1
carry_out
shared_arith_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
datae0
datac
dataa
datab
dataf0
4-Input
datae0
datac
dataa
5-Input
LUT
combout0
combout1
combout0
combout1
LUT
datab
datad
datae1
dataf1
4-Input
5-Input
LUT
LUT
datad
datae1
dataf1
dataf0
datae0
datac
dataa
datab
5-Input
LUT
dataf0
datae0
dataa
datab
datac
datad
combout0
combout1
6-Input
LUT
combout0
datad
datae1
dataf1
3-Input
LUT
dataf0
datae0
dataa
datab
datac
datad
6-Input
LUT
combout0
combout1
dataf0
datae0
datac
dataa
datab
5-Input
LUT
combout0
combout1
6-Input
LUT
datad
datae1
4-Input
datae1
dataf1
LUT
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 dataaand 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 datae0and dataf0or datae1and dataf1. If datae0and dataf0are utilized,
the output is driven to register0, and/or register0is bypassed and the data drives
out to the interconnect using the top set of output drivers (refer to Figure 2–8). If
datae1and dataf1are used, the output either drives to register1or bypasses
register1and 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)
To general or
local routing
dataf0
datae0
dataa
datab
datac
datad
6-Input
LUT
To general or
local routing
D
D
Q
reg0
datae1
dataf1
(2)
To general or
local routing
Q
reg1
labclk
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
LUT
datab
To general or
local routing
datad
dataf0
combout0
To general or
local routing
D
Q
5-Input
LUT
reg0
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 dataaand databinputs. As
shown in Figure 2–10, the carry-in signal feeds to adder0and the carry-out from
adder0feeds to the carry-in of adder1. The carry-out from adder1drives to adder0of
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
local routing
LUT
To general or
local routing
D
Q
dataf0
datac
datab
dataa
reg0
4-Input
LUT
adder1
4-Input
To general or
local routing
LUT
datad
datae1
To general or
local routing
D
Q
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
local routing
LUT
To general or
local routing
D
Q
datae0
datac
datab
dataa
reg0
4-Input
LUT
4-Input
To general or
local routing
LUT
datad
datae1
To general or
local routing
D
Q
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 ALUT1to implement the master latch and combinational
ALUT0to 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
sumout
clk
LUT regout
4-input
LUT
combout
aclr
Master latch
sumout
5-input
LUT
combout
datain(datac)
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
datain
sdata
sclr
regout
latchout
leout 0 a
leout 0 b
regout
E0
F1
lelocal 1
aclr
datain
sdata
E1
F0
leout 1 a
leout 1 b
regout
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
To general or
local routing
adder0
adder1
D
Q
reg0
Combinational
Logic
To general or
local routing
D
Q
reg1
To general or
local routing
To general or
local routing
To general or
local routing
adder0
adder1
D
Q
reg0
Combinational
Logic
To general or
local routing
D
Q
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
ALM 1
Carry chain & shared
arithmetic chain
routing to adjacent ALM
Register chain
routing to adjacent
ALM's register input
ALM 2
ALM 3
Local
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 labclk1signal also
uses the labclkena1signal. 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.
■ Updated “Logic Array Blocks”, “LAB Interconnects”, “LAB Control Signals”, “Adaptive
December 2010
2.0
Logic Modules”, “ALM Operating Modes”, “Normal Mode” sections.
■ Added Figure 2–7 and Figure 2–8.
■ Added “LAB Power Management Techniques” section.
Updated Figure 2–6.
June 2009
1.1
1.0
February 2009
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
bits)
640
640
9,216
9,216
147,456
8K × 1
4K × 2
2K × 4
1K × 8
1K × 9
512 × 16
512 × 18
256 × 32
256 × 36
v
8K × 1
4K × 2
2K × 4
1K × 8
1K × 9
512 × 16
512 × 18
256 × 32
256 × 36
v
16K × 8
16K × 9
8K × 16
8K × 18
4K × 32
4K × 36
2K × 64
2K × 72
64 × 8
64 × 9
64 × 8
64 × 9
64 × 10
32 × 16
32 × 18
32 × 20
64 × 10
32 × 16
32 × 18
32 × 20
Configurations (depth × width)
Parity bits
v
v
—
v
v
v
—
v
v
v
v
v
—
v
v
v
—
v
v
v
v
v
v
v
v
v
v
v
v
v
Byte enable
v
v
Packed mode
v
v
Address clock enable
Single-port memory
Simple dual-port memory
True dual-port memory
Embedded shift register
ROM
v
v
v
v
v
v
v
v
v
v
v
v
FIFO buffer
v
v
Simple dual-port mixed width
support
—
—
v
v
v
True dual-port mixed width
support
—
—
v
v
v
Memory initialization file (.mif)
v
v
v
v
v
v
v
v
v
v
Mixed-clock mode
Outputs cleared if registered,
otherwise reads memory
contents.
Power-up condition
Outputs cleared
Outputs cleared
Register clears
Output registers
Output registers
Output registers
Write: Falling clock edges.
Read: Rising clock edges
Write and Read: Rising clock
edges
Write and Read: Rising
clock edges
Write/Read operation triggering
Outputs set to Outputs set
Outputs set to old data or
Outputs set to old data or
Same-port read-during-write
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
Arria II GX Arria II GZ
M144K Blocks
Feature
Arria II GX
Arria II GZ
Arria II GZ
Outputs set to old data,
new data, or
Outputs set to
old data or
don’t care
Outputs set to old data or
Mixed-port read-during-write
ECC Support
don’t care
don’t care
Built-in support in
×64-wide simple dual-port
mode or soft IP support
using the Quartus II
software
Soft IP support using the
Quartus II software
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
903
M9K Blocks
319
M144K
—
Total RAM Bits (including MLABs) (Kbits)
EP2AGX45
EP2AGX65
EP2AGX95
EP2AGX125
EP2AGX190
EP2AGX260
EP2AGZ225
EP2AGZ300
EP2AGZ350
3,435
5,246
1,265
1,874
2,482
3,806
5,130
4,480
5,960
6,970
495
—
612
—
6,679
730
—
8,121
840
—
9,939
950
—
11,756
13,915
18,413
20,772
1,235
1,248
1,248
—
24
36
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 byteenasignal
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
a0
10
a1
a2
a0
a1
a2
address
data
an
ABCD
XXXX
XXXX
byteena
contents at a0
contents at a1
01
XX
11
XX
FFFF
ABFF
FFFF
FFCD
FFFF
ABCD
contents at a2
XXCD
FFCD
ABXX
ABFF
ABCD
ABCD
ABFF
ABFF
FFCD
FFCD
ABCD
ABCD
doutn
doutn
don't care: q (asynch)
current data: q (asynch)
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 wrenand byteenasignals 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
10
a1
a2
11
a0
a1
a2
XXXX
ABCD
XXXX
data
byteena
contents at a0
contents at a1
XX
01
XX
FFFF
ABFF
FFFF
FFCD
FFFF
ABCD
contents at a2
current data: q (asynch)
FFFF FFCD FFFF
ABCD
FFFF ABFF
ABFF
FFCD
FFCD
doutn
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 ). When you
=
1
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
addressstallrefers to the address clock enable.
Figure 3–3. Address Clock Enable
1
0
address[0]
register
address[0]
address[0]
address[N]
register
1
0
address[N]
address[N]
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
rden
a0
a1
a2
a3
a4
a5
a6
addressstall
latched address
(inside memory)
a5
dout4
dout5
a1
a4
an
a0
q (synch)
dout0
doutn-1
doutn
doutn
dout1
dout0
dout4
dout1
q (asynch)
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
data
a0
00
a1
01
a2
02
a3
03
a4
04
a5
05
a6
06
wren
addressstall
latched address
(inside memory)
a1
a4
03
a5
an
XX
a0
00
contents at a0
contents at a1
contents at a2
contents at a3
contents at a4
contents at a5
XX
01
02
XX
XX
04
XX
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
data
a0
00
a1
01
a2
02
a3
03
a4
04
a5
05
a6
06
wren
addressstall
latched address
(inside memory)
a1
a4
a5
a0
an
contents at a0
contents at a1
contents at a2
contents at a3
contents at a4
contents at a5
00
XX
03
01
02
XX
XX
XX
04
XX
05
XX
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
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
X
Single error and fixed
Double error and no fix
Illegal
Illegal
Illegal
Illegal
1
1
You cannot use the byte enable feature when ECC is engaged.
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
8
72
72
64
RAM
Array
SECDED
Encoder
SECDED
Encoder
Data Input
Comparator
8
64
8
8
64
Flag
Generator
Error
Locator
64
3
Status Flags
Error
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
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.
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
inclock
clockena
rden
q[]
outclock
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
8K × 1
M144K Blocks
16K × 8
16K × 9
8K × 16
8K × 18
4K × 32
4K × 36
2K × 64
2K × 72
4K × 2
64 × 8
64 × 9
2K × 4
1K × 8
64 × 10
32 × 16
32 × 18
32 × 20
1K × 9
512 × 16
512 × 18
256 × 32
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
qoutput 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
E
data_a
A
B
C
D
F
q_a (asynch)
a1(old data)
a0(old data)
A
B
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
B
a1
data_a
A
C
B
D
E
D
F
a0
(old data)
a1
(old data)
A
q_a (asynch)
C
E
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[]
wraddress[]
wren
rdaddress[]
rden
q[]
byteena[]
wr_addressstall
wrclock
wrclocken
aclr
rd_addressstall
rdclock
rdclocken
ecc_status (1)
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
512 × 16 256 × 32
Read Port
8K × 1
v
4K × 2
v
2K × 4
v
1K × 8
v
1K × 9
—
512 × 18
—
256 × 36
—
8K × 1
v
v
v
v
v
v
—
—
—
v
v
v
v
v
v
—
—
—
4K × 2
v
v
v
v
—
—
—
2K × 4
v
v
v
v
—
—
—
1K × 8
v
v
v
v
—
—
—
512 × 16
256 × 32
1K × 9
v
v
v
v
—
—
—
v
v
v
v
—
—
—
—
—
—
—
v
v
v
v
v
512 × 18
256 × 36
—
—
—
—
v
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
v
8K × 16
v
4K × 32
v
2K × 64
v
16K × 9
—
8K × 18
—
4K × 36
—
2K × 72
—
16K × 8
8K × 16
4K × 32
2K × 64
16K × 9
8K × 18
4K × 36
2K × 72
v
v
v
v
—
—
—
—
v
v
v
v
—
—
—
—
v
v
v
v
—
—
—
—
—
—
—
—
v
v
v
v
—
—
—
—
v
v
v
v
—
—
—
—
v
v
v
v
—
—
—
—
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
qoutput by one clock cycle.
Figure 3–13. Simple Dual-Port Timing Waveforms for M9K and M144K Blocks
wrclock
wren
an
din
wraddress
data
an-1
a6
a0
a1
a2
a3
a4
a5
din-1
din4
din5
din6
rdclock
rden
rdaddress
bn
b1
b2
b3
b0
q (asynch)
dout0
doutn-1
doutn
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
a0
a1
a2
a3
a4
a5
an
wraddress
data
an-1
a6
din-1
din
din4
din5
din6
rdclock
rden
rdaddress
bn
b1
b2
b3
b0
q (asynch)
dout0
doutn-1
doutn
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
A0
A1
address
rdena
wrena
byteena
data_a
01
10
B456
00
11
A123
C789
DDDD
EEEE
FFFF
q_a (asynch)
D
D
23
A0 (old data)
B423
A1(old data)
DDDD EEEE
old old
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[]
address_a[]
wren_a
data_b[]
address_b[]
wren_b
byteena_a[]
addressstall_a
clock_a
byteena_b[]
addressstall_b
clock_b
enable_a
rden_a
aclr_a
enable_b
rden_b
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
v
4K × 2
v
2K × 4
v
1K × 8
v
512 × 16 1K × 9 512 × 18
8K × 1
v
v
v
v
v
—
—
—
—
—
—
—
v
v
—
—
—
—
—
v
v
4K × 2
v
v
v
v
2K × 4
v
v
v
v
1K × 8
v
v
v
v
512 × 16
1K × 9
v
v
v
v
—
—
—
—
512 × 18
—
—
—
—
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
v
8K × 16
v
4K × 32
v
16K × 9
—
8K × 18
—
4K × 36
—
16K × 8
8K × 16
4K × 32
16K × 9
8K × 18
4K × 36
v
v
v
—
—
—
v
v
v
—
—
—
—
—
—
v
v
v
—
—
—
v
v
v
—
—
—
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
qoutputs by one clock cycle.
Figure 3–17. True Dual-Port Timing Waveform
clk_a
wren_a
address_a
data_a
an-1
an
a0
a1
a2
a3
a4
a5
a6
din-1
din
din4
din5
din6
q_a (asynch)
clk_b
din-1
din
dout0
dout1
dout2
dout3
din4
din5
wren_b
address_b
bn
doutn-1
b0
doutn
b1
b2
b3
q_b (asynch)
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 (
length of the taps ( ), and the number of taps (
implement larger shift registers.
w
×
m
×
n
) is determined by the input data width (
w), the
m
n). You can cascade memory blocks to
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
W
m-Bit Shift Register
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
1
For more information about implementing FIFO buffers, refer to the SCFIFO and
DCFIFO Megafunctions User Guide.
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
Independent
True Dual-Port Mode Simple Dual-Port Mode Single-Port Mode
ROM Mode
FIFO Mode
v
v
—
v
—
v
v
v
—
v
—
v
v
v
—
v
—
—
v
v
Input and output
Read and write
Single clock
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
data in
Port B
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
XX
XX
A0
A1
A2
address
data_in
wrena
FFFF
AAAA
XXXX
A1(old data)
A2(old data)
AAAA
A0(old data)
q(unregistered)
q(registered)
XX
FFFF
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
0A
0B
address
rdena
wrena
byteena
data_a
01
10
B456
B4XX
00
11
A123
C789
DDDD
DDDD
EEEE
FFFF
XX23
XXXX
EEEE FFFF
q_a (asynch)
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
A0
A1
address
rdena
wrena
01
10
B456
00
11
byteena
data_a
A123
C789
DDDD
EEEE
FFFF
q_a (asynch)
D
D
23
A0 (old data)
B423
A1(old data)
DDDD EEEE
old old
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
A1
A1
wraddress
rdaddress
A0
A0
AAAA
11
BBBB
CCCC
DDDD
EEEE
FFFF
data_in
wrena
byteena_a
10
01
10
11
01
AAAA
AABB
A1(old data)
DDDD
DDEE
q_b(registered)
A0 (old data)
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
A0
A1
address_a
data_a
AAAA
BBBB
CCCC
DDDD
EEEE
FFFF
11
byteena_a
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
rdaddress
A1
A1
A0
A0
AAAA
11
BBBB
CCCC
DDDD
EEEE
FFFF
data_in
wrena
byteena_a
10
01
10
11
01
AAAA
AABB
CCBB
DDDD
DDEE
FFEE
q_b(registered)
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
A0
BBBB
01
A1
address_a
data_a
AAAA
11
CCCC
10
DDDD
EEEE
11
FFFF
byteena
rdenb
A0
A1
address_b
AAAA
q_b_(asynch)
A0 (old data)
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
A0
BBBB
01
A1
address_a
data_a
AAAA
11
CCCC
10
DDDD
EEEE
11
FFFF
byteena
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
■ Updated Table 3–1.
December 2011
3.2
■ Updated “Byte Enable Support” and “Mixed-Port Read-During-Write Mode” sections.
■ Updated Table 3–1.
June 2011
3.1
3.0
■ 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.
■ Updated Figure 3–10, Figure 3–12, and Figure 3–16.
■ Added Table 3–6 and Table 3–8.
December 2010
■ 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:
■ Updated Table 3–2
November 2009
2.0
■ Updated Figure 3–16
■ Minor text edit
■ Updated Table 3–1
■ Updated “Byte Enable Support”, “Simple Dual-Port Mode”, and “Read and Write Clock
Mode” sections
June 2009
1.1
1.0
■ 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
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
Precision
Multiplier
Adder
Four
Multiplier
Adder
Independent Input and Output Multiplication Operators
Family
Device
Mode
Mode
9 × 9
12 × 12
18 × 18
18 × 18
36 × 36
18 × 36
18 × 18
Multipliers Multipliers Multipliers Complex Multipliers Multipliers Multipliers
EP2AGX45
EP2AGX65
EP2AGX95
EP2AGX125
EP2AGX190
EP2AGX260
EP2AGZ225
29
39
232
312
448
576
656
736
800
920
1,040
174
234
336
432
492
552
600
690
780
116
156
224
288
328
368
400
460
520
58
58
116
156
224
288
328
368
400
460
520
232
312
448
576
656
736
800
920
1,040
78
78
56
112
144
164
184
200
230
260
112
144
164
184
200
230
260
Arria II GX
72
82
92
100
115
130
Arria II GZ EP2AGZ300
EP2AGZ350
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
34
Control
144
72
72
Output
Data
Half-DSP Block
Half-DSP Block
288
Input
Data
144
Output
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]
B1[17..0]
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
144
44
Input
Result[]
Data
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
144
44
Input
Data
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
Multiplier Number of
# per
Block
Signed or
Unsigned
RND,
SAT
In Shift
Register
Chainout 1st Stage 2ndStage
Mode
in Width
Multiplier
Adder
Add/Sub
Add/Acc
9 bits
1
1
1
1
1
8
6
4
2
2
Both
No
No
Yes
No
No
No
No
Yes
No
No
No
—
—
12 bits
18 bits
36 bits
Double
Both
No
—
—
Independent
Multiplier
Both
No
—
—
Both
No
—
—
Both
No
—
—
Two-Multiplier
Adder (1)
18 bits
18 bits
2
4
4
2
Signed (2)
Yes
Yes
No
No
Both
Both
—
Four-Multiplier
Adder
Both
Yes
Yes
Add Only
Multiply
Accumulate
18 bits
36 bits (4)
18 36
4
1
2
2
2
2
Both
Both
Both
Yes
No
No
Yes
No
No
Yes
—
Both
—
Both
—
Shift (3)
High Precision
Multiplier Adder
No
—
Add Only
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 aclrsignals. 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
chainout_saturate
signa
signb
output_round
output_saturate
rotate
clock[3..0]
ena[3..0]
alcr[3..0]
overflow (1)
chainin[ ] (4)
scanina[ ]
chainout_sat_overflow (2)
shift_right
dataa_0[ ]
loopback
datab_0[ ]
dataa_1[ ]
(3)
datab_1[ ]
result[ ]
dataa_2[ ]
datab_2[ ]
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 chainoutadder is not in use, the second adder register banks are known as output register banks.
(4) You must connect the chaininport to the chainoutport 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]
aclr[3..0]
signa
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 scaninasignal originates from the previous DSP block, while the scanoutasignal 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)
Parallel input
9 × 9
v
12 × 12
v
18 × 18
v
36 × 36
v
Double
v
Shift register input (2)
Loopback input (3)
Notes to Table 4–3:
—
—
v
—
—
—
—
v
—
—
(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, signaand signb, control the representation of each operand, respectively. A
logic1value on the signa/signbsignal indicates that data A/dataBis a signed
number; a logic 0value 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)
Unsigned (logic 0)
Unsigned (logic 0)
Signed (logic 1)
Data B (signb Value)
Unsigned (logic 0)
Signed (logic 1)
Result
Unsigned
Signed
Unsigned (logic 0)
Signed (logic 1)
Signed
Signed (logic 1)
Signed
Each half block has its own signaand signbsignal. Therefore, all data Ainputs
feeding the same half-DSP block must have the same sign representation. Similarly, all
data Binputs 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 signaand signbsignals 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
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.
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 logic1value 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 chaininport to the chainoutport 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
signb
clock[3..0]
ena[3..0]
aclr[3..0]
output_round
output_saturate
overflow (1)
18
dataa_0[17..0]
36
result_0[ ]
18
18
datab_0[17..0]
dataa_1[17..0]
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]
signa
signb
ena[3..0]
aclr[3..0]
12
dataa_0[11..0]
24
result_0[ ]
result_1[ ]
result_2[ ]
12
12
datab_0[11..0]
dataa_1[11..0]
24
12
12
datab_1[11..0]
dataa_2[11..0]
24
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]
aclr[3..0]
signa
signb
9
dataa_0[8..0]
18
result_0[ ]
9
9
datab_0[8..0]
dataa_1[8..0]
18
result_1[ ]
9
9
datab_1[8..0]
dataa_2[8..0]
18
result_2[ ]
9
9
datab_2[8..0]
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 signaand signbsignals 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]
aclr[3..0]
signa
signb
dataa_0[35..18]
datab_0[35..18]
dataa_0[17..0]
+
datab_0[35..18]
dataa_0[35..18]
72
result[ ]
+
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]
signa
signb
ena[3..0]
aclr[3..0]
dataa_0[35..18]
datab_0[35..18]
dataa_0[17..0]
+
datab_0[35..18]
dataa_0[35..18]
72
result[ ]
+
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]
aclr[3..0]
signa
signb
Two Multiplier
Adder Mode
"0"
36
"0"
+
dataa[53..36]
datab[53..36]
dataa[35..18]
Double Mode
datab[53..36]
dataa[17..0]
108
55
datab[53..36]
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]
72
datab[35..18]
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]
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_loopbacksignal. A logic 1value on the
zero_loopbacksignal selects the zeroeddata or disables the looped back data, and a
logic 0selects 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
datab_0[17..0]
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]
signa
signb
ena[3..0]
aclr[3..0]
A
C
B
36
(A × C) - (B × D)
(Real Part)
-
D
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[ ]
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
signb
clock[3..0]
ena[3..0]
aclr[3..0]
overflow (1)
dataA[0:17]
dataB[0:17]
dataA[0:17]
+
P0
<<18
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
signb
output_round
output_saturate
clock[3..0]
ena[3..0]
aclr[3..0]
chainout_sat_overflow (1)
accum_sload
dataa_0[ ]
datab_0[ ]
+
dataa_1[ ]
datab_1[ ]
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_sloadcontrol signal to clear the accumulation. A logic1
value on the accum_sloadsignal synchronously loads the accumulator with the
multiplier result only, and a logic0enables 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, rotateand shift_right, together with the signaand 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
signa
signb
rotate
clock[3..0]
ena[3..0]
aclr[3..0]
shift_right
dataa_0[35..18]
datab_0[35..18]
+
dataa_0[17..0]
datab_0[35..18]
dataa_0[35..18]
32
result[ ]
+
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
0×000000AA
0×BBCCDD00
LSL[N]
Logical Shift Right
Unsigned
Signed
Unsigned
Unsigned
1
0
0
0
0×AABBCCDD
0×AABBCCDD
0×0000100
0×0000100
LSR[32-N]
Arithmetic Shift Left
ASL[N]
Arithmetic Shift Right
Signed
Unsigned
Unsigned
1
0
0
1
0×AABBCCDD
0×AABBCCDD
0×0000100
0×0000100
0×FFFFFFAA
ASR[32-N]
Rotation ROT[N]
Unsigned
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
010111
Odd/Even (Integer)
Fractional
> 0.5 (11)
< 0.5 (01)
= 0.5 (10)
= 0.5 (10)
> 0.5 (11)
< 0.5 (01)
= 0.5 (10)
= 0.5 (10)
Add to Integer
Result
0110
0011
0010
0100
1110
1011
1110
1100
×
1
0
0
1
1
0
1
0
001101
×
001010
Even (0010)
Odd (0011)
×
001110
110111
101101
×
110110
Odd (1101)
Even (1100)
110010
Table 4–7. Comparison of Round-to-Nearest-Integer and Round-to-Nearest-Even
Round-To-Nearest-Integer
010111 ➱ 0110
001101 ➱ 0011
001010 ➱ 0011
001110 ➱ 0100
110111 ➱ 1110
101101 ➱ 1011
110110 ➱ 1110
110010 ➱ 1101
Round-To-Nearest-Even
010111 ➱ 0110
001101 ➱ 0011
001010 ➱ 0010
001110 ➱ 0100
110111 ➱ 1110
101101 ➱ 1011
110110 ➱ 1110
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
5926AC01342h
Symmetric SAT Result
7FFFFFFFFh
Asymmetric SAT Result
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
0
16 User defined RND Positions (bit 21-6)
43 42
21 20
7
6
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.
signafor “multiplicand” input bus to dataa[17:0]each multiplier.
signbfor “multiplier” input bus datab[17:0]to each multiplier.
signa
signb
■
■
■
■
signa= 1, signb= 1 for signed-signed multiplication
signa= 1, signb= 0 for signed-unsigned multiplication
signa= 0, signb= 1 for unsigned-signed multiplication
signa= 0, signb= 0 for unsigned-unsigned multiplication
2
Round control for first stage round/saturation block.
output_round
■
output_round= 1 for rounding on multiply output
output_round= 0 for normal multiply output
1
1
■
Round control for second stage round/saturation block.
chainout_round
■
chainout_round= 1 for rounding on multiply output
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
on the rounded result.
output_saturate
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,
saturation is done on the rounded result.
chainout_saturate
accum_sload
1
1
■
chainout_saturate= 1 for saturation support
chainout_saturate= 0 for no saturation support
■
Dynamically specifies whether the accumulator value is zero.
■
accum_sload= 0, accumulation input is from the output registers
accum_sload= 1, accumulation input is set to be zero
■
zero_chainout
zero_loopback
rotate
Dynamically specifies whether the chainout value is zero.
Dynamically specifies whether the loopback value is zero.
rotation= 1, rotation feature is enabled
1
1
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
4
clock2
clock3
ena0
ena1
Input and Pipeline Register enable signals
ena2
ena3
aclr0
aclr1
aclr2
aclr3
DSP block-wide asynchronous clear signals (active low)
4
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
f
For instructions about using the megafunctions and the MegaWizard Plug-In
Manager, refer to the Quartus II Software Help.
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
Resource Descriptions” sections.
December 2010
4.0
■ 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:
■ Updated “DSP Block Resource Descriptions” and “Second-Stage Adder” sections
■ Minor text edits
July 2010
3.0
2.0
Updated for Arria II GX v9.1 release:
■ Updated Table 4–1 and Table 4–9
■ Updated Figure 4–9
November 2009
■ Minor text edit
June 2009
1.1
1.0
Updated Table 4–1
February 2009
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
Number of Resources Available
Source of Clock Resource
Clock Resource
and Device
Arria II GX
Arria II GZ
Arria II GX
Arria II GZ
12
32
CLK[4..15]
DIFFCLK_[0..5]p/npins
,
CLK[0..15]p
andCLK[0..15]n pins
Clock input pins
GCLK networks
Single-ended
(6 Differential)
Single-ended
(16 Differential)
CLK[4..15]pins, PLL
clock outputs,
programmable logic device
(PLD)-transceiver interface clock outputs, and logic array
clocks, and logic array
CLK[0..15]p and
CLK[0..15]n pins, PLL
16
48
16
CLK[4..15]pins, PLL
CLK[0..15]p and
clock outputs,
RCLK networks
PCLK networks
64/88 (1)
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
PLD-transceiver interface
clocks, horizontal I/O pins,
clocks, horizontal I/O pins,
and logic array
(24 per device
quadrant) (2)
(22 per device
quadrant)
and logic array
GCLKs/RCLKs per
quadrant
16 GCLKs + 16 RCLKs
16 GCLKs + 12 RCLKs
28
64
32/38 (3)
16 GCLKs + 22 RCLKs
GCLKs/RCLKs per
device
16 GCLKs + 64 RCLKs
16 GCLKs + 48 RCLKs
80/104 (4)
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]pand 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]pand 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
CLK[12..15]
Top Left PLL
Top Right PLL
PLL_1
PLL_2
GCLK[12..15]
GCLK[0..3] (2)
GCLK[8..11]
(1)
(1)
PLL_5
PLL_6
Center PLLs
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_5and PLL_6are 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]
GCLK[0..3]
L2
GCLK[8..11]
R2
CLK[0..3]
L3
CLK[8..11]
R3
GCLK[4..7]
B2
B1
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]
PLL_5 (1)
Center PLLs
CLK[8..11]
Q1
Q4
Q2
Q3
(1)
PLL_6
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_5and PLL_6are 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]
RCLK[32..37]
Q1
Q4
Q2
Q3
L2
L3
R2
R3
CLK[0..3]
CLK[8..11]
RCLK[6..11]
RCLK[12..21]
RCLK[22..31]
B1
B2
CLK[4..7]
Note to Figure 5–4:
(1) A maximum of four signals from the core can drive into each group of RCLKs. For example, only four core signals can drive into RCLK[0..5]and
another four core signals can drive into RCLK[54..63]at any one time.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–6
Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Periphery Clock Networks
PCLK networks are a collection of individual clock networks driven from the
periphery of the Arria II device. Clock outputs from the DPA block, PLD-transceiver
interface clocks, I/O pins, and internal logic can drive the PCLK networks. Figure 5–5
through Figure 5–8 show CLK pins and PLLs that can drive PCLK networks in
Arria II devices.
The number of PCLKs for each Arria II device are as follows:
■
■
■
■
EP2AGX45 and EP2AGX65 devices contain 50 PCLKs
EP2AGX95 and EP2AGX125 devices contain 59 PCLKs
EP2AGX190 and EP2AGX260 devices contain 84 PCLKs
EP2AGZ225, EP2AGZ300, and EP2AGZ350 devices contain 88 PCLKs
PCLKs have higher skew when compared with the GCLK and RCLK networks. You
can use PCLKs instead of general purpose routing to drive signals into the Arria II
device.
Figure 5–5. PCLK Networks (EP2AGX45 and EP2AGX65 Devices)
Top Left PLL
CLK[12..15]
Top Right PLL
PLL_1
PLL_2
PCLK[34..49]
PCLK[0..8]
PLL_5
PLL_6
Center PLLs
CLK[8..11]
Q1
Q4
Q2
Q3
PCLK[9..17]
PCLK[18..33]
PLL_4
PLL_3
Bottom Left PLL
CLK[4..7]
Bottom Right PLL
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–7
Clock Networks in Arria II Devices
Figure 5–6. PCLK Networks in (EP2AGX95 and EP2AGX125 Devices)
Top Left PLL
CLK[12..15]
Top Right PLL
PLL_1
PLL_2
PCLK[43..58]
PCLK[0..12]
PLL_5
PLL_6
Center PLLs
CLK[8..11]
Q1
Q4
Q2
Q3
PCLK[13..26]
PCLK[27..42]
PLL_4
PLL_3
Bottom Left PLL
CLK[4..7]
Bottom Right PLL
Figure 5–7. PCLK Networks in (EP2AGX190 and EP2AGX260 Devices)
Top Left PLL
CLK[12..15]
Top Right PLL
PLL_2
PLL_1
PCLK[0..8]
PCLK[72..83]
PCLK[60..71]
PCLK[9..17]
PLL_5
PLL_6
Center PLLs
CLK[8..11]
Q1
Q4
Q2
Q3
PCLK[48..59]
PCLK[36..47]
PCLK[18..26]
PCLK[27..35]
PLL_4
PLL_3
Bottom Left PLL
CLK[4..7]
Bottom Right PLL
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–8
Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Figure 5–8. PCLK Networks in Arria II GZ Devices
CLK[12..15]
T1
T2
PCLK[0..10]
PCLK[77..87]
PCLK[66..76]
PCLK[11..21]
L2
CLK[0..3]
L3
R2
Q1
Q4
Q2
Q3
CLK[8..11]
R3
PCLK[55..65]
PCLK[44..54]
PCLK[22..32]
PCLK[33..43]
B1
B2
CLK[4..7]
[
Clock Sources Per Quadrant
There are 26 section clock (SCLK) networks available in each spine clock that can
drive six row clocks in each logic array block (LAB) row, nine column I/O clocks, and
three core reference clocks. SCLKs are the clock resources to the core functional
blocks, PLLs, and I/O interfaces of the device.
Figure 5–9 shows that the GCLK, RCLK, PCLK, or PLL feedback clock networks in
each spine clock can drive the SCLKs.
Figure 5–9. Hierarchical Clock Networks per Spine Clock in Arria II Devices (Note 1)
9
Column I/O clock (5)
16
GCLK
3
PLL feedback clock (2)
SCLK 26
2
6
Core reference
clock (6)
16 (3)
22 (4)
PCLK
RCLK
Row clock (7)
Notes to Figure 5–9:
(1) The GCLK, RCLK, PCLK, and PLL feedback clocks share the same routing to the SCLKs. The total number of clock
®
resources must not exceed the SCLK limits in each region to ensure successful design fitting in the Quartus II
software.
(2) There are up to three PLL feedback clocks which are from the PLL that drives into the SCLKs.
(3) There are up to 16 PCLKs that can drive the SCLKs in each spine clock in the largest device.
(4) There are up to 22 RCLKs (Arria II GZ) or 12 RCLKs (Arria II GX) that can drive the SCLKs in each spine clock in the
largest device.
(5) The column I/O clock drives the column I/O core registers and I/O interfaces.
(6) The core reference clock feeds into the PLL as the PLL reference clock.
(7) The row clock is the clock source to the LAB, memory blocks, and row I/O interfaces in the core row.
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–9
Clock Networks in Arria II Devices
1
A spine clock is another layer of routing below the GCLKs, RCLKs, and PCLKs before
each clock is connected to the clock routing for each LAB row. The settings for spine
clocks are transparent. The Quartus II software automatically routes the spine clock
based on the GCLK, RCLK, and PCLKs.
Clock Regions
Arria II GX devices provide up to 64 distinct clock domains (16 GCLKs + 48 RCLKs)
in the entire device, while Arria II GZ devices provide up to 104 distinct clock
domains (16 GCLKs + 88 RCLKs). Use these clock resources to form the following
three types of clock regions:
■
■
■
Entire device
Regional
Dual regional
To form the entire device clock region, a source (not necessarily a clock signal) drives a
GCLK network that can be routed through the entire device. This clock region has a
higher skew when compared with other clock regions, but allows the signal to reach
every destination in the device. This is a good option for routing global reset and clear
signals or routing clocks throughout the device.
To form a regional clock region, a source drives a single-quadrant of the device. This
clock region provides the lowest skew in a quadrant and is a good option if all
destinations are in a single device quadrant.
To form a dual-regional region, a single source (a clock pin or PLL output) generates a
dual-regional clock by driving two regional clock networks (one from each quadrant).
This technique allows destinations across two device quadrants to use the same
low-skew clock. The routing of this signal on an entire side has approximately the
same delay as in a regional clock region. Internal logic can also drive a dual-regional
clock network. For Arria II GX devices, corner PLL outputs generate a dual-regional
clock network through clock multiplexers that serve the two immediate quadrants of
the device. For Arria II GZ devices, corner PLL outputs only span one quadrant, they
cannot generate a dual-regional clock network.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–10
Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Figure 5–10 and Figure 5–11 show the dual-regional clock region for Arria II devices.
Figure 5–10. Device Dual-Regional Clock Region for Arria II GX Devices
Regional clock
multiplexers
Clock pins or PLL outputs
can drive half of the device to
create side-wide clocking
regions for improved
PLL_1
PLL_2
PLL_3
interface timing.
PLL_4
Figure 5–11. Device Dual-Regional Clock Region for Arria II GZ Devices
Regional clock
multiplexer
Clock pins or PLL outputs
can drive half of the device to
create side-wide clocking
regions for improved
T1 T2
interface timing.
L2
L3
R2
R3
B1 B2
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–11
Clock Networks in Arria II Devices
Clock Network Sources
In Arria II GX devices, clock input pins, internal logic, transceiver clocks, and PLL
outputs can drive the GCLK and RCLK networks, while in Arria II GZ devices, clock
input pins, PLL outputs, and internal logic can drive the GCLK and RCLK networks.
Table 5–2 through Table 5–5 on page 5–13 list the connectivity between the dedicated
clock pins and the GCLK and RCLK networks.
Dedicated Clock Inputs Pins
CLK pins can either be differential clocks or single-ended clocks. Arria II GX devices
support six differential clock inputs or 12 single-ended clock inputs, while Arria II GZ
devices support 16 differential clock inputs or 32 single-ended clock inputs. You can
also use the dedicated clock input pins CLK[4..15](for Arria II GX devices) and
CLK[15..0](for Arria II GZ devices) for high fan-out control signals such as
asynchronous clears, presets, and clock enables for protocol signals such as TRDYand
IRDYfor PCI Express® (PCIe®) through GCLK or RCLK networks.
Logic Array Blocks
You can drive up to four signals into each GCLK and RCLK network with logic array
block (LAB)-routing to allow internal logic to drive a high fan-out, low-skew signal.
1
You cannot drive Arria II PLLs by internally generated GCLKs or RCLKs. The input
clock to the PLL has to come from dedicated clock input pins or PLL-fed GCLKs and
RCLKs only.
PLL Clock Outputs
Table 5–2 and Table 5–3 list the connection between the dedicated clock input pins
and GCLKs.
Table 5–2. Clock Input Pin Connectivity to GCLK Networks for Arria II GX Devices
CLK (p/n Pins)
Clock Resources
4
5
6
7
8
9
10
—
—
v
—
11
—
—
v
—
12
—
—
—
v
13
—
—
—
v
14
—
—
—
v
15
—
—
—
v
GCLK[0..3] (1)
GCLK[4..7]
—
v
—
—
—
v
—
—
—
v
—
—
—
v
—
—
—
—
v
—
—
—
v
—
GCLK[8..11]
GCLK[12..15]
Note to Table 5–2:
(1) GCLK[0..3]is not driven by any clock pins because there are no dedicated clock pins on the left side of the Arria II GX device.
Table 5–3. Clock Input Pin Connectivity to the GCLK Networks for Arria II GZ Devices (Part 1 of 2)
CLK (p/n Pins)
Clock Resources
0
1
2
3
4
5
6
7
8
9
10
—
—
11
—
—
12
—
—
13
—
—
14
—
—
15
GCLK[0..3]
GCLK[4..7]
v
—
v
—
v
—
v
—
—
v
—
v
—
v
—
v
—
—
—
—
—
—
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–12
Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Table 5–3. Clock Input Pin Connectivity to the GCLK Networks for Arria II GZ Devices (Part 2 of 2)
CLK (p/n Pins)
Clock Resources
0
1
2
3
4
5
6
7
8
9
10
v
—
11
v
—
12
—
v
13
—
v
14
—
v
15
—
v
GCLK[8..11]
GCLK[12..15]
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
v
—
v
—
Table 5–4 and Table 5–5 list the connectivity between the dedicated clock input pins
and RCLKs in Arria II devices. A given clock input pin can drive two adjacent RCLK
networks to create a dual-RCLK network.
Table 5–4. Clock Input Pin Connectivity to RCLK Networks for Arria II GX Devices
CLK (p/n Pins)
Clock Resource
4
5
6
7
8
9
10 11 12 13 14 15
RCLK [12, 14, 16, 18, 20, 22]
RCLK [13, 15, 17, 19, 21, 23]
RCLK [24..35]
v
—
—
—
—
—
v
—
—
—
v
—
—
—
—
—
v
—
—
—
—
—
v
—
—
—
—
v
—
—
—
—
v
—
—
—
—
v
—
—
—
—
—
v
—
—
—
—
—
v
—
—
—
v
—
—
—
—
—
v
RCLK [36, 38, 40, 42, 44, 46]
RCLK [37, 39, 41, 43, 45, 47]
Table 5–5. Clock Input Pin Connectivity to the RCLK Networks for Arria II GZ Devices (Part 1 of 2)
CLK (p/n Pins)
Clock Resource
0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15
RCLK [0, 4, 6, 10]
RCLK [1, 5, 7, 11]
v
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
v
—
—
—
—
—
v
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
v
RCLK [2, 8]
RCLK [3, 9]
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
v
—
—
—
—
v
RCLK [13, 17, 21, 23,
27, 31]
—
—
—
RCLK [12, 16, 20, 22,
26, 30]
—
RCLK [15, 19, 25, 29]
RCLK [14, 18, 24, 28]
RCLK [35, 41]
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
v
—
—
—
—
—
—
—
—
v
—
—
—
—
—
—
—
—
v
—
—
—
—
—
—
—
—
v
—
—
—
—
—
—
—
—
v
—
—
—
—
—
—
—
—
v
—
—
—
—
—
—
—
—
v
—
—
—
—
—
—
—
—
v
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
RCLK [34, 40]
RCLK [33, 37, 39, 43]
RCLK [32, 36, 38, 42]
RCLK [47, 51, 57, 61]
RCLK [46, 50, 56, 60]
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–13
Clock Networks in Arria II Devices
Table 5–5. Clock Input Pin Connectivity to the RCLK Networks for Arria II GZ Devices (Part 2 of 2)
CLK (p/n Pins)
Clock Resource
0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15
RCLK [45, 49, 53, 55,
59, 63]
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
v
—
RCLK [44, 48, 52, 54,
58, 62]
—
—
—
—
—
—
—
—
—
—
—
v
Clock Input Connections to PLLs
Table 5–6 and Table 5–7 list dedicated clock input pin connectivity to Arria II PLLs.
Table 5–6. PLLs and PLL Clock Pin Drivers for Arria II GX Devices (Note 1)
PLL Number
Dedicated Clock Input Pin CLK (p/n Pins)
1
2
3
4
5
6
CLK[4..7]
—
—
v
—
v
v
v
v
—
v
—
—
v
—
—
v
—
CLK[8..11]
CLK[12..15]
—
Note to Table 5–6:
(1) PLL_5and PLL_6are connected directly to CLK[8..11]. PLL_1, PLL_2, PLL_3and PLL_4are driven by the clock input pins through a 4:1
multiplexer.
Table 5–7. PLLs and PLL Clock Pin Drivers for Arria II GZ Devices (Note 1), (2)
PLL Number
Dedicated Clock Input Pin CLK
(p/n Pins)
L2
v
—
—
—
L3
v
—
—
—
B1
—
v
—
—
B2
—
v
—
—
R2
—
—
v
—
R3
—
—
v
—
T1
—
—
—
v
T2
—
—
—
v
CLK[0..3]
CLK[4..7]
CLK[8..11]
CLK[12..15]
Notes to Table 5–7:
(1) For single-ended clock inputs, only the CLK<#>ppin has a dedicated connection to the PLL. If you use the CLK<#>npin, a GCLK is used.
(2) For the availability of the clock input pins in each device density, refer to the “Arria II Device Pin-Out Files” section of the Pin-Out Files for Altera
Devices.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–14
Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Clock Output Connections
PLLs in Arria II GX devices can drive up to 24 RCLK networks and eight GCLK
networks, while PLLs in Arria II GZ devices can drive up to 20 RCLK networks and
four GCLK networks. The Quartus II software automatically assigns PLL clock
outputs to RCLK or GCLK networks.
Table 5–8 and Table 5–9 list the Arria II PLL connectivity to GCLK networks.
Table 5–8. PLL Connectivity to GCLKs for Arria II GX Devices
PLL Number
Clock Network
1
2
3
4
5
6
GCLK[0..3]
GCLK[4..7]
GCLK[8..11]
GCLK[12..15]
v
—
—
v
—
—
v
v
—
v
v
—
v
v
—
—
—
—
v
—
—
—
v
—
Table 5–9. PLL Connectivity to the GCLK Networks for Arria II GZ Devices (Note 1)
PLL Number
Clock Network
L2
v
—
—
—
L3
v
—
—
—
B1
—
v
—
—
B2
—
v
—
—
R2
—
—
v
—
R3
—
—
v
—
T1
—
—
—
v
T2
—
—
—
v
GCLK[0..3]
GCLK[4..7]
GCLK[8..11]
GCLK[12..15]
Note to Table 5–9:
(1) Only PLL counter outputs C0 - C3 can drive the GCLK networks.
Table 5–10 and Table 5–11 list how the PLL clock outputs connect to RCLK networks.
Table 5–10. RCLK Outputs from PLLs for Arria II GX Devices
PLL Number
Clock Resource
1
2
3
4
5
6
RCLK[0..11]
RCLK[12..23]
RCLK[24..35]
RCLK[36..47]
v
—
—
v
—
—
v
v
—
v
v
—
v
v
—
—
—
—
v
—
—
—
v
—
Table 5–11. RCLK Outputs From the PLL Clock Outputs for Arria II GZ Device (Part 1 of 2)
PLL Number
Clock Resource
L2
v
—
L3
v
—
B1
—
v
B2
—
v
R2
—
—
R3
—
—
T1
—
—
T2
—
—
RCLK[0..11]
RCLK[12..31]
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–15
Clock Networks in Arria II Devices
Table 5–11. RCLK Outputs From the PLL Clock Outputs for Arria II GZ Device (Part 2 of 2)
PLL Number
Clock Resource
L2
—
—
L3
—
—
B1
—
—
B2
—
—
R2
v
—
R3
v
—
T1
—
v
T2
RCLK[32..43]
—
RCLK[44..63]
v
Clock Control Block
Every GCLK and RCLK network has its own clock control block. The control block
provides the following features:
■
■
■
Clock source selection (dynamic selection for GCLKs)
GCLK multiplexing
Clock power down (static or dynamic clock enable or disable)
Figure 5–12 shows the GCLK select blocks for Arria II devices.
Figure 5–12. GCLK Control Block for Arria II Devices
CLK
Pin
Inter-Transceiver
Block Clock Lines
2
PLL Counter
Outputs (3)
2
CLK
Pin
(4)
Internal
Logic
2
CLKSELECT[1..0]
(1)
Static Clock
Select (2)
This multiplexer
supports user-controllable
dynamic switching
Enable/
Disable
Internal
Logic
GCLK
Notes to Figure 5–12:
(1) You can only dynamically control these clock select signals through internal logic when the device is operating in user
mode.
(2) These clock select signals can only be set through a configuration file (.sof or .pof) and cannot be dynamically
controlled during user mode operation.
(3) The left side of the Arria II GX device only allows PLL counter outputs as the dynamic clock source selection to the
GCLK network.
(4) This is only available on the left side of the Arria II GX device.
Select the clock source for the GCLK control block either statically with a setting in the
Quartus II software or dynamically with an internal logic to drive the multiplexer
select inputs. When selecting the clock source dynamically, you can either select two
PLL outputs (such as C0or C1), or a combination of clock pins or PLL outputs.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–16
Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Table 5–12 lists the mapping between the input clock pins, PLL counter outputs, and
clock control block inputs.
Table 5–12. Mapping Between Input Clock Pins, PLL Counter Outputs, and Clock Control Block Inputs for Arria II
Devices
Clock Control Block Inputs
Description
inclk[0]
inclk[2]
,
inclk[1](1)
Can be fed by any of the four dedicated clock pins on the same side.
■ For Arria II GX device—can be fed by PLL counters C0and C2from the two corner PLLs
on the same side.
■ For Arria II GZ device—can be fed by PLL counters C0 and C2 from the two center PLLs
on the same side.
■ For Arria II GX device—can be fed by PLL counters C1and C3from the two corner PLLs
on the same side.
inclk[3]
■ For Arria II GZ device—can be fed by PLL counters C1and C3from the two center PLLs
on the same side.
Note to Table 5–12:
(1) The left side of the Arria II GX device only allows PLL counter outputs as the dynamic clock source selection to the GCLK network. Therefore,
inclk[0]can be fed by PLL counters C4or C6, while inclk[1]can only be fed by PLL counter C5
.
1
When combining the PLL outputs and clock pins in the same clock control block,
ensure that these clock sources are implemented on the same side of the device.
For all possible legal inclksources for each GCLK and RCLK network, refer to
Table 5–2 on page 5–12 through Table 5–10 on page 5–15.
You can statically control the clock source selection for the RCLK select block with
configuration bit settings in the configuration file generated by the Quartus II
software.
You can power down the Arria II clock networks both statically and dynamically.
When a clock network is powered down, all the logic fed by the clock network is in an
off-state, thereby reducing the overall power consumption of the device. The unused
GCLK and RCLK networks are automatically powered down through configuration
bit settings in the configuration file generated by the Quartus II software. The
dynamic clock enable or disable feature allows the internal logic to control power-up
or power-down synchronously on GCLK and RCLK networks. This function is
independent of the PLL and is applied directly on the clock network, as shown in
Figure 5–12 on page 5–16 through Figure 5–14 on page 5–18.
You can set the input clock sources and the clkenasignals for the GCLK and RCLK
clock network multiplexers through the Quartus II software with the ALTCLKCTRL
megafunction. You can also enable or disable the dedicated external clock output pins
with the ALTCLKCTRL megafunction.
1
When you use the ALTCLKCTRL megafunction to implement dynamic clock source
selection in Arria II devices, the inputs from the clock pins, except for the left side of
the Arria II GX device, feed the inclk[0..1]ports of the multiplexer, and the PLL
outputs feed the inclk[2..3]ports. You can choose from among these inputs with the
CLKSELECT[1..0]signal. For the connections between the PLL counter outputs to the
clock control block, refer to Table 5–12 on page 5–17.
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–17
Clock Networks in Arria II Devices
f
For more information, refer to the Clock Control Block (ALTCLKCTRL) Megafunction
User Guide.
Figure 5–13 and Figure 5–14 show the RCLK select blocks.
Figure 5–13. RCLK Control Block for Arria II GX Devices
CLK
Pin
PLL Counter
Outputs
2
Internal
Logic
Static Clock Select
(1)
Enable/
Disable
Internal
Logic
RCLK
Note to Figure 5–13:
(1) This clock select signal can only be statically controlled through a configuration file (.sof or .pof) and cannot be
dynamically controlled during user mode operation.
Figure 5–14. RCLK Control Block for Arria II GZ Devices
CLKp
Pin
CLKn
(2)
Pin
PLL Counter
Outputs
2
Internal
Logic
Static Clock Select
(1)
Enable/
Disable
Internal
Logic
RCLK
Notes to Figure 5–14:
(1) When the device is in user mode, you can only set the clock select signals through a configuration file
(.sof or .pof). You cannot dynamically control the clock.
(2) The CLKnpin is not a dedicated clock input when used as a single-ended PLL clock input.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–18
Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Figure 5–15 shows the external PLL output clock control block.
Figure 5–15. External PLL Output Clock Control Block Arria II Devices
PLL Counter
Outputs and m Counter
n (1)
Static Clock Select
(2)
Enable/
Disable
Internal
Logic
IOE (3)
Internal
Logic
Static Clock
Select
(2)
PLL<#>_CLKOUT pin
Notes to Figure 5–15:
(1) For Arria II GX devices, n = 8; for Arria II GZ devices, n = 8 or 11.
(2) When the device is in user mode, you can only set the clock select signals through a configuration file
(.sof or .pof). You cannot dynamically control the clock.
(3) The clock control block feeds a multiplexer in the PLL<#>_CLKOUT pin’s IOE. The PLL<#>_CLKOUT pin is a
dual-purpose pin. Therefore, this multiplexer selects either an internal signal or the output of the clock control block.
Clock Enable Signals
Figure 5–16 shows how the clock enable/disable circuit of the clock control block is
implemented in Arria II devices.
Figure 5–16. clkena Implementation for Arria II Devices
(1)
(1)
(2)
clkena
D
Q
D
Q
GCLK/
RCLK/
output of clock
PLL_<#>_CLKOUT (1)
select multiplexer
R1
R2
Notes to Figure 5–16:
(1) The R1 and R2 bypass paths are not available for PLL external clock outputs.
(2) The select line is statically controlled by a bit setting in the configuration file (.sof or .pof).
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–19
Clock Networks in Arria II Devices
In Arria II devices, the clkenasignals are supported at the clock network level instead
of at the PLL output counter level. This allows you to gate off the clock even when a
PLL is not used. You can also use the clkenasignals to control the dedicated external
clocks from the PLLs. Arria II devices also have an additional metastability register
that aids in asynchronous enable or disable of the GCLK and RCLK networks. You
can optionally bypass this register in the Quartus II software.
Figure 5–17 shows a waveform example for the clock output enable. The clkena
signal is synchronous to the falling edge of the clock output.
Figure 5–17. clkena Signals for Arria II Devices
output of
clock
select multiplexer
clkena
output of AND
gate with R2 bypassed
output of AND
gate with R2 not bypassed
Note to Figure 5–17:
(1) You can use the clkena signals to enable or disable the GCLK and RCLK networks or the PLL<#>_CLKOUT pins.
The PLL can remain locked independent of the clkenasignals because the
loop-related counters are not affected. This feature is useful for applications that
require a low power or sleep mode. The clkenasignal can also disable clock outputs if
the system is not tolerant of frequency over-shoot during resynchronization.
Clock Source Control for PLLs
The clock input to Arria II PLLs comes from clock input multiplexers. The clock
multiplexer inputs come from dedicated clock input pins, PLLs through the GCLK
and RCLK networks, or from dedicated connections between adjacent corner and
center PLLs (Arria II GX devices) or from dedicated connections between adjacent
top/bottom and left/right PLLs (Arria II GZ devices). For Arria II GX devices, the
clock input sources to corner (PLL_1, PLL_2, PLL_3, PLL_4) and center PLLs (PLL_5and
PLL ) are shown in Figure 5–18. For Arria II GZ devices, the clock input sources to
_6
top/bottom and left/right PLLs (L2, L3, T1, T2, B1, B2, R2, and R3) are shown in
Figure 5–19.
The multiplexer select lines are set in the configuration file only. When configured,
you cannot change this block without loading a new .sof or .pof. The Quartus II
software automatically sets the multiplexer select signals depending on the clock
sources selected in your design.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–20
Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
f
For more information about the clock control block and its supported features in the
Quartus II software, refer to the Clock Control Block (ALTCLKCTRL) Megafunction User
Guide.
Figure 5–18. Clock Input Multiplexer Logic for Arria II GX PLLs
(1)
(1)
4
CLK[n+3..n] (2)
inclk0
inclk1
GCLK / RCLK input (3)
To the clock
switchover block
Adjacent PLL output
4
Notes to Figure 5–18:
(1) Input clock multiplexing is controlled through a configuration file (.sof or .pof) only; it cannot be dynamically controlled when the device is
operating in user mode.
(2) Dedicated clock input pins to the PLLs: n = 4 for PLL_4; n = 4 or 8 for PLL_3; n = 8 or 12 for PLL_2; and n = 12 for PLL_1
.
(3) You can drive the GCLK or RCLK clock input with an output from another PLL, a pin-driven GCLK or RCLK, or through a clock control block,
provided the clock control block is fed by an output from another PLL or a pin-driven dedicated GCLK or RCLK. An internally generated global
signal or general purpose I/O pin cannot drive the PLL.
Figure 5–19. Clock Input Multiplexer Logic for Arria II GZ devices
(1)
4
clk[n+3..n] (2)
inclk0
GCLK / RCLK input (3)
To the clock
switchover block
Adjacent PLL output
(1)
inclk1
4
Notes to Figure 5–19:
(1) When the device is operating in user mode, input clock multiplexing is controlled through a configuration file (.sof or .pof) only and cannot be
dynamically controlled.
(2) n = 0 for L2 and L3 PLLs; n = 4 for B1 and B2 PLLs; n = 8 for R2 and R3 PLLs, and n = 12 for T1 and T2 PLLs.
(3) You can drive the GCLK or RCLK input using an output from another PLL, a pin-driven GCLK or RCLK, or through a clock control block provided
the clock control block is fed by an output from another PLL or a pin-driven dedicated GCLK or RCLK. An internally generated global signal or
general purpose I/O pin cannot drive the PLL.
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–21
PLLs in Arria II Devices
Cascading PLLs
You can cascade the corner and center PLLs through the GCLK and RCLK networks
(Arria II GX devices) or left/right and top/bottom PLLs through the GCLK and
RCLK networks (Arria II GZ devices). In addition, where two PLLs exist next to each
other, there is a direct connection between them that does not require the GCLK and
RCLK network. By cascading PLLs, you can use this path to reduce clock jitter. For
Arria II GX devices, the direct PLL cascading feature is available in PLL
on the right side of EP2AGX95, EP2AGX125, EP2AGX190, and EP2AGX260 devices.
Arria II GX devices allow cascading of PLL and PLL to the transceiver PLLs (clock
_5and PLL_6
_
1
_4
management unit PLLs and receiver clock data recoveries [CDRs]). Arria II GZ
devices allows cascading the left and right PLLs to transceiver PLLs (CMU PLLs and
receiver CDRs).
If your design cascades PLLs, the source (upstream) PLL must have a low-bandwidth
setting, while the destination (downstream) PLL must have a high-bandwidth setting.
Ensure that there is no overlap of the bandwidth ranges of the two PLLs.
f
f
For more information, refer to the “FPGA Fabric PLLs-Transceiver PLLs Cascading”
section in the Transceiver Clocking in Arria II Devices chapter.
For more information about PLL cascading in external memory interfaces designs,
refer to the External Memory PHY Interface (ALTMEMPHY) (nonAFI) Megafunction User
Guide.
PLLs in Arria II Devices
Arria II GX devices offer up to six PLLs per device and seven outputs per PLL, while
Arria II GZ devices offer up to eight PLLs that provide robust clock management and
synthesis for device clock management, external system clock management, and
high-speed I/O interfaces. The nomenclature for the PLLs follows their geographical
location in the device floor plan. For the location and number of PLLs in Arria II
devices, refer to Figure 5–1 on page 5–4 through Figure 5–4 on page 5–6.
1
Depending on the package, Arria II GX devices offer up to eight transceiver
transmitter (TX) PLLs per device that can be used by the FPGA fabric if they are not
used by the transceiver.
f
For more information about the number of general-purpose and transceiver TX PLLs
in each device density, refer to the Overview for Arria II Device Family chapter. For more
information about using the transceiver TX PLLs in the transceiver block, refer to the
Transceiver Clocking in Arria II Devices chapter.
All Arria II PLLs have the same core analog structure and support features with
minor differences in the features that are supported for Arria II GZ devices.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–22
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Table 5–13 lists the PLL features in Arria II devices.
Table 5–13. PLL Features in Arria II Devices
Arria II GZ PLLs
Feature
Arria II GX PLLs
Top/Bottom PLLs
Left/Right PLLs
C
M
(output) counters
7
10
7
,
N
,
C
counter sizes
1 to 512
1 to 512
1 to 512
1 single-ended or 1 differential
pair
3 single-ended or 3 differential
6 single-ended or
4 single-ended and
1 differential pair
2 single-ended or 1 differential
pair
Dedicated clock outputs
pairs (1), (2)
4 single-ended or 2 differential
pin pairs
4 single-ended or 2
differential pin pairs
4 single-ended or 2 differential
pin pairs
Clock input pins
External feedback input pin
No
Single-ended or differential
Single-ended only
Spread-spectrum input clock
tracking
Yes (3)
Yes (3)
Yes (3)
Through GCLK and RCLK and
dedicated path between
adjacent PLLs. Cascading
between the general-purpose
PLL and transceiver PLL is
supported in PLL_1and
Through GCLK and RCLK
and a dedicated path
between adjacent PLLs
Through GCLK and RCLK and
dedicated path between
adjacent PLLs (4)
PLL cascading
PLL_4
.
All except external feedback
mode when you use
differential I/Os
All except external feedback
mode when you use
differential I/Os
All except LVDS clock
network compensation
Compensation modes
PLL drives DIFFCLKand
LOADEN
Yes
No
Yes
VCO output drives DPA clock
Phase shift resolution
Yes
No
Yes
Down to 96.125 ps (5)
Down to 96.125 ps (5)
Down to 96.125 ps (5)
Programmable duty cycle
Output counter cascading
Input clock switchover
Notes to Table 5–13:
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
(1) PLL_5and PLL_6do not have dedicated clock outputs.
(2) The same PLL clock output drives three single-ended or three differential I/O pairs. This is only supported in PLL_1and PLL_3of EP2AGX95,
EP2AGX125, EP2AGX190, and EP2AGX260 devices.
(3) This is applicable only if the input clock jitter is within the input jitter tolerance specifications.
(4) The dedicated path between adjacent PLLs is not available on L1, L4, R1, and R4 PLLs.
(5) The smallest phase shift is determined by the voltage-controlled oscillator (VCO) period divided by eight. For degree increments, the Arria II device
can shift all output frequencies in increments of at least 45°. Smaller degree increments are possible depending on the frequency and
value.
Ccounter
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–23
PLLs in Arria II Devices
PLL Hardware Overview in Arria II Devices
Figure 5–20 shows a simplified block diagram of the major components of the
Arria II PLL.
Figure 5–20. PLL Block Diagram for Arria II Devices
To DPA block on
Left/Right PLLs
Casade output
to adjacent PLL
Lock
Circuit
locked
LF
pfdena
/2, /4
÷C0
÷C1
÷C2
GCLKs
RCLKs
4
8
Dedicated
8
÷2
(2)
÷n
clkswitch
inclk0
inclk1
8
CP
VCO
PFD
clock inputs
External clock
outputs
Clock
Switchover
Block
clkbad0
DIFFIOCLK from
Left/Right PLLs
÷C3
GCLK/RCLK
clkbad1
activeclock
LOAD_EN from
Left/Right PLLs
Cascade input
from adjacent PLL
(1)
÷Cn
÷m
FBOUT (3)
External
memory
interface DLL
no compensation mode
ZDB, External feedback modes
LVDS Compensation mode
Source Synchronous, normal modes
FBIN
DIFFIOCLK network
GCLK/RCLK network
Notes to Figure 5–20:
(1) The number of post-scale counters is seven for left and right PLLs and ten for top and bottom PLLs.
(2) This is the VCO post-scale counter
(3) The FBOUTport is fed by the counter in Arria II PLLs. The FBOUTport is only available in Arria II GZ devices.
K
.
M
1
You can drive the GCLK or RCLK clock input with an output from another PLL, a
pin-driven GCLK or RCLK, or through a clock control block, provided the clock
control block is fed by an output from another PLL, or a pin driven dedicated GCLK
or RCLK. An internally-generated global signal or general purpose I/O (GPIO) pin
cannot drive the PLL.
PLL Clock I/O Pins
For Arria II GX devices, each PLL supports one of the following clock I/O pin
configurations:
■
■
One single-ended I/O or one differential I/O pair.
Three single-ended I/O or three differential I/O pairs (this is only supported in
PLL_1and PLL_3of EP2AGX95, EP2AGX125, EP2AGX190, and EP2AGX260
devices). You can only access one differential I/O pair or one single-ended pin at a
time.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–24
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Figure 5–21 shows the clock I/O pins associated with Arria II GX PLLs.
Figure 5–21. External Clock Outputs for Arria II GX PLLs
Internal Logic
C0
C1
C2
Arria II GX
PLLs
C3
C4
C5
C6
m
clkena0 (3)
clkena1 (3)
PLL<#>_CLKOUT<#>p (1), (2)
PLL<#>_CLKOUT<#>n (1), (2)
Notes to Figure 5–21:
(1) You can feed these clock output pins with any one of the C[6..0],or
m
counters.
(2) The PLL<#>_CLKOUT<#>pand PLL<#>_CLKOUT<#>npins can be either single-ended or pseudo-differential clock outputs. The Arria II GX PLL
only routes single-ended I/Os to PLL<#>CLKOUT<#>ppins, while you can use PLL<#>_CLKOUT<#>npins as user I/Os.
(3) These external clock enable signals are available only when you use the ALTCLKCTRL megafunction.
For Arria II GX devices, any of the output counters (C[6..0]) or the Mcounter can feed
the dedicated external clock outputs, as shown in Figure 5–21. Therefore, one counter
or frequency can drive all the output pins available from a given PLL.
For Arria II GZ devices, each top and bottom PLL supports six clock I/O pins,
organized as three pairs of pins:
■
■
1st pair—two single-ended I/O or one differential I/O
2nd pair—two single-ended I/O or one differential external feedback input
(FBp/FBn)
■
3rd pair—two single-ended I/O or one differential input
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–25
PLLs in Arria II Devices
Figure 5–22 shows the clock I/O pins associated with the top and bottom PLLs.
Figure 5–22. External Clock Outputs for Top and Bottom PLLs in Arria II GZ Devices
Notes to Figure 5–22:
(1) You can feed these clock output pins using any one of the C[9..0], or
mcounters.
(2) The CLKOUT0p and CLKOUT0n pins can be either single-ended or differential clock outputs. The CLKOUT1 and CLKOUT2 pins are
dual-purpose I/O pins that you can use as two single-ended outputs or one differential external feedback input pin. The CLKOUT3 and CLKOUT4
pins are two single-ended output pins.
(3) These external clock enable signals are available only when you use the ALTCLKCTRL megafunction.
For Arria II GZ devices, any of the output counters (C[9..0]on the top and bottom
PLLs and C[6..0]on the left and right PLLs) or the
Mcounter can feed the dedicated
external clock outputs, as shown in Figure 5–22 and Figure 5–23. Therefore, one
counter or frequency can drive all the output pins available from a given PLL. Each
left and right PLL supports two clock I/O pins, configured as either two single-ended
I/Os or one differential I/O pair. When using both pins as single-ended I/Os, one of
them can be the clock output while the other pin is the external feedback input (FB)
pin. Therefore, for single-ended I/O standards, the left and right PLLs only support
external feedback mode.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–26
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Figure 5–23. External Clock Outputs for Left and Right PLLs in Arria II GZ Devices
Internal Logic
C0
C1
C2
Left/Right
PLLs
C3
C4
C5
C6
m(fbout)
clkena0 (3)
clkena1 (3)
PLL_<L2, L3, R2, R3>_CLKOUT0n/FB_CLKOUT0p (1), (2)
PLL_<L2, L3, R2, R3>_FB_CLKOUT0p/CLKOUT0n (1), (2)
Notes to Figure 5–23:
(1) You can feed these clock output pins using any one of the C[6..0], or
m
counters.
(2) The CLKOUT0p and CLKOUT0n pins are dual-purpose I/O pins that you can use as two single-ended outputs or one single-ended output and
one external feedback input pin.
(3) These external clock enable signals are available only when using the ALTCLKCTRL megafunction.
Each pin of a single-ended output pair can either be in-phase or 180° out-of-phase.
The Quartus II software places the NOT gate in your design into the IOE to
implement a 180° phase with respect to the other pin in the pair. The clock output pin
pairs support the same I/O standards as standard output pins, as well as LVDS_E_3R,
LVPECL, differential high-speed transceiver logic (HSTL), and differential SSTL.
f
1
To determine which I/O standards are supported by the PLL clock input and output
pins, refer to the I/O Features in Arria II Devices chapter.
Arria II PLLs can also drive out to any regular I/O pin through the GCLK or RCLK
network. You can also use the external clock output pins as user I/O pins if you do
not require external PLL clocking. However, external clock output pins can support a
differential I/O standard that is only driven by a PLL.
Regular I/O pins cannot drive the PLL clock input pins.
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–27
PLLs in Arria II Devices
PLL Control Signals
You can use the pfdena, areset, and lockedsignals to observe and control PLL
operation and resynchronization.
pfdena
Use the pfdenasignal to maintain the most recent locked frequency to allow your
system to store its current settings before shutting down. The pfdenasignal controls
the phase frequency detector (PFD) output with a programmable gate. If you disable
the PFD, the VCO operates at its most recent set value of control voltage and
frequency with some long-term drift to a lower frequency.
areset
The aresetsignal is the reset or resynchronization input for each PLL. The device
input pins or internal logic can drive these input signals. When aresetis driven high,
the PLL counters reset, clearing the PLL output and placing the PLL out-of-lock. The
VCO is then set back to its nominal setting. When aresetis driven low again, the PLL
resynchronizes to its input as it relocks.
You must include the aresetsignal in designs if any of the following conditions are
true:
■
■
PLL reconfiguration or clock switchover is enabled in your design.
Phase relationships between the PLL input and output clocks must be maintained
after a loss-of-lock condition.
1
If the input clock to the PLL is not toggling or is unstable after power up, assert the
aresetsignal after the input clock is stable and in specifications.
locked
The lockedsignal indicates that the PLL has locked onto the reference clock and the
PLL clock outputs are operating at the desired phase and frequency set in the
Quartus II software.
1
Altera recommends using the aresetand lockedsignals in your designs to control
and observe the status of your PLL.
f
For more information about the PLL control signals, refer to the ALTPLL Megafunction
User Guide.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–28
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Clock Feedback Modes
Arria II PLLs support up to six different clock feedback modes. Each mode allows
clock multiplication and division, phase shifting, and programmable duty cycle.
Table 5–14 lists the clock feedback modes supported by the Arria II PLLs.
Table 5–14. Clock Feedback Mode Availability for Arria II Devices
Availability in Arria II GZ Devices
Clock Feedback Mode
Availability in Arria II GX Devices
Top/Bottom PLLs
Left/Right PLLs
Source-synchronous mode
No-compensation mode
Normal mode
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Zero-delay buffer (ZDB) mode (1)
External Feedback (2)
LVDS compensation
Yes
Yes
No
Yes (3)
Yes
Yes (4)
Notes to Table 5–14:
(1) ZDB mode uses 8 ns delay for compensation in Arria II GX devices.
(2) The high-bandwidth PLL setting is not supported in the external feedback mode.
(3) External feedback mode is supported for single-ended inputs and outputs only on the left and right PLLs.
(4) LVDS compensation mode is only supported on PLL_2 PLL_5, and PLL_6
,
PLL_3
,
.
1
Input and output delays are fully compensated by a PLL only when you use the
dedicated clock input pins associated with a given PLL as clock sources. For example,
when you use PLL_1(Arria II GX devices) or PLL_T1(Arria II GZ devices) in normal
mode, the clock delays from the input pin to the PLL clock output-to-destination
register are fully compensated, provided the clock input pin is one of the following
four pins: CLK12
PLL, the input and output delays may not be fully compensated in the Quartus II
software. Another example is when PLL (Arria II GX devices) or PLL_T2(Arria II GZ
, CLK13, CLK14, or CLK15. When an RCLK or GCLK network drives the
_1
devices) is configured in zero delay buffer mode and the PLL input is driven by a
dedicated clock input pin, a fully compensated clock path results in zero delay
between the clock input and one of the output clocks from the PLL. If the PLL input is
instead fed by a non-dedicated input (using the GCLK network), the output clock
may not be perfectly aligned with the input clock.
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–29
PLLs in Arria II Devices
Source-Synchronous Mode
If data and clock arrive at the same time on the input pins, the same phase
relationship is maintained at the clock and data ports of any IOE input register.
Figure 5–24 shows an example waveform of the clock and data in source-synchronous
mode. This mode is recommended for source-synchronous data transfers. Data and
clock signals at the IOE experience similar buffer delays as long as you use the same
I/O standard.
Figure 5–24. Phase Relationship Between Clock and Data in Source-Synchronous Mode in Arria II Devices
Data pin
PLL
reference clock
at input pin
Data at register
Clock at register
Source-synchronous mode compensates for the delay of the clock network used plus
any difference in the delay between these two paths:
■
■
Data pin-to-IOE register input
Clock input pin-to-the PLL PFD input
You can use the PLL Compensation assignment in the Quartus II software
Assignment Editor to select which input pins are used as the PLL compensation
targets. You can include your entire data bus, provided the input registers are clocked
by the same output of a source-synchronous compensated PLL. All input pins must
be on the same side of the device for the clock delay to be properly compensated. The
PLL compensates for the input pin with the longest pad-to-register delay among all
input pins in the compensated bus.
If you do not assign the PLL Compensation assignment, the Quartus II software
automatically selects all pins driven by the compensated output of the PLL as the
compensation target.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–30
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Source-Synchronous Mode for LVDS Compensation
The goal of source-synchronous mode for LVDS compensation is to maintain the same
data and clock timing relationship seen at the pins at the internal
serializer/deserializer (SERDES) capture register, except that the clock is inverted
(180° phase shift), as shown in Figure 5–25. Thus, this mode ideally compensates for
the delay of the LVDS clock network plus any difference in the delay between these
two paths:
■
■
Data pin-to-SERDES capture register
Clock input pin-to-SERDES capture register. In addition, the output counter must
provide the 180° phase shift.
Figure 5–25. Source-Synchronous Mode for LVDS Compensation for Arria II Devices
Data pin
PLL
reference clock
at input pin
Data at register
Clock at register
No-Compensation Mode
In no-compensation mode, the PLL does not compensate for the clock networks. This
mode provides better jitter performance because the clock feedback into the PFD
passes through less circuitry. Both the PLL internal and external clock outputs are
phase-shifted with respect to the PLL clock input. Figure 5–26 shows an example
waveform of the PLL clocks’ phase relationship in no-compensation mode.
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–31
PLLs in Arria II Devices
Figure 5–26. Phase Relationship Between PLL Clocks in No-Compensation Mode for Arria II Devices
Phase Aligned
PLL Reference
Clock at the
Input Pin
PLL Clock at the
Register Clock Port (1)
External PLL Clock Outputs (1)
Note to Figure 5–26:
(1) The PLL clock outputs can lag the PLL input clocks depending on routine delays.
Normal Mode
An internal clock in normal mode is phase-aligned to the input clock pin. The external
clock output pin has a phase delay relative to the clock input pin if connected in this
mode. The Quartus II software TimeQuest Timing Analyzer reports any phase
difference between the two. In normal mode, the delay introduced by the GCLK or
RCLK network is fully compensated. Figure 5–27 shows an example waveform of the
phase relationship of the PLL clocks in normal mode.
Figure 5–27. Phase Relationship Between PLL Clocks in Normal Mode for Arria II Devices
Phase Aligned
PLL Reference
Clock at the
Input Pin
PLL Clock at the
Register Clock Port
Dedicated PLL Clock Outputs (1)
Note to Figure 5–27:
(1) The external clock output can lead or lag the PLL internal clock signals.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–32
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Zero-Delay Buffer Mode
In ZDB mode, the external clock output pin is phase-aligned with the clock input pin
for zero delay through the device. You must use the same I/O standard on the input
and output clocks to guarantee clock alignment at the input and output pins.
Zero-delay buffer mode is supported on all Arria II PLLs.
You must instantiate a bidirectional I/O pin in the design to serve as the feedback
path connecting the FBOUTand FBINports of the PLL when using Arria II GZ PLLs in
ZDB mode, along with single-ended I/O standards, to ensure phase alignment
between the CLK pin and the external clock output (CLKOUT) pin. The PLL uses this
bidirectional I/O pin to mimic and compensate for the output delay from the clock
output port of the PLL to the external clock output pin.
1
1
The bidirectional I/O pin that you instantiate in your design must always be assigned
a single-ended I/O standard.
Do not place board traces on the bidirectional I/O pin when using ZDB mode, to
avoid signal reflection.
Figure 5–28 shows ZDB mode in Arria II GZ PLLs. You cannot use differential I/O
standards on the PLL clock input or output pins.
Figure 5–28. ZDB Mode in PLLs for Arria II GZ Devices
inclk
÷n
PLL_<#>_CLKOUT#
PLL_<#>_CLKOUT#
÷C0
÷C1
PFD
CP/LF
VCO
fbout
fbin
÷m
bidirectional
I/O pin
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–33
PLLs in Arria II Devices
Figure 5–29 shows an example waveform of the PLL clocks’ phase relationship in
ZDB mode.
Figure 5–29. Phase Relationship Between PLL Clocks in Zero Delay Buffer Mode for Arria II Devices
Phase Aligned
PLL Reference
Clock at the
Input Pin
PLL Clock at the
Register Clock Port
Dedicated PLL
Clock Outputs (1)
Note to Figure 5–29:
(1) The internal PLL clock output can lead or lag the external PLL clock outputs.
External Feedback Mode
In external feedback mode, the external feedback input pin (fbin) is phase-aligned
with the clock input pin, as shown in Figure 5–30. Aligning these clocks allows you to
remove clock delay and skew between devices. This mode is supported on all
Arria II GZ PLLs.
In external feedback mode, the output of the
Mcounter (FBOUT) feeds back to the PLL
fbininput (using a trace on the board) becoming part of the feedback loop. Also, use
one of the dual-purpose external clock outputs as the fbininput pin in this mode.
You must use the same I/O standard on the input clock, feedback input, and output
clocks. Left and right PLLs support this mode when using single-ended I/O
standards only.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–34
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Figure 5–30 shows an example waveform of the phase relationship between the PLL
clocks in external feedback mode.
Figure 5–30. Phase Relationship Between the PLL Clocks in External Feedback Mode for Arria II Devices
Phase Aligned
PLL Reference
Clock at the
Input Pin
PLL Clock at
the Register
Clock Port (1)
Dedicated PLL
Clock Outputs (1)
fbin Clock Input Pin
Note to Figure 5–30:
(1) The PLL clock outputs can lead or lag the fbinclock input.
Figure 5–31 shows external feedback mode implementation in Arria II GZ devices.
Figure 5–31. External Feedback Mode in Arria II GZ Devices
inclk
÷n
PLL_<#>_CLKOUT#
PLL_<#>_CLKOUT#
÷C0
÷C1
PFD
CP/LF
VCO
fbout
fbin
÷m
external
board
trace
Clock Multiplication and Division
Each Arria II PLL provides clock synthesis for PLL output ports with
M/(N post-scale counter) scaling factors. The input clock is divided by a pre-scale
factor (n) and is then multiplied by the m feedback factor. The control loop drives the
VCO to match fin (M/N). Each output port has a unique post-scale counter that
divides down the high-frequency VCO. For multiple PLL outputs with different
frequencies, the VCO is set to the least common multiple of the output frequencies
that meets its frequency specifications. For example, if output frequencies required
from one PLL are 33 and 66 MHz, the Quartus II software sets the VCO to 660 MHz
(the least common multiple of 33 and 66 MHz in the VCO range). Then the post-scale
counters scale down the VCO frequency for each output port.
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–35
PLLs in Arria II Devices
The VCO frequency reported by the Quartus II software is the value after the
post-scale counter divider ( ).
K
Each PLL has one pre-scale counter (
N) and one multiply counter (M) with a range of
1 to 512 for both and . The counter does not use duty-cycle control because the
M
N
n
only purpose of this counter is to calculate frequency division. There are seven generic
post-scale counters in each PLL that can feed GCLKs, RCLKs, or external clock
outputs. These post-scale counters range from 1 to 512 with a 50% duty cycle setting.
The high- and low-count values for each counter ranges from 1 to 256. The sum of the
high- and low-count values chosen for a design selects the divide value for a given
counter.
The Quartus II software automatically chooses the appropriate scaling factors
according to the input frequency, multiplication, and division values entered into the
ALTPLL megafunction.
Post-Scale Counter Cascading
Arria II PLLs support post-scale counter cascading to create counters larger than 512.
This is automatically implemented in the Quartus II software by feeding the output of
one
Ccounter into the input of the next Ccounter, as shown in Figure 5–32.
Figure 5–32. Counter Cascading for Arria II Devices
VCO Output
C0
C1
C2
C3
VCO Output
VCO Output
VCO Output
C4
VCO Output
from preceding
post-scale counter
Cn
VCO Output
(1)
Note to Figure 5–32:
(1) For Arria II GX devices, n = 6. For Arria II GZ devices, n = 6 or 9.
When cascading post-scale counters to implement a larger division of the
high-frequency VCO clock, the cascaded counters behave as one counter with the
product of the individual counter settings. For example, if C0 = 40 and C1 = 20, the
cascaded value is C0 C1 = 800.
1
Post-scale counter cascading is set in the configuration file. You cannot accomplish
post-scale counter cascading with PLL reconfiguration.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–36
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Programmable Duty Cycle
The programmable duty cycle allows the PLLs to generate clock outputs with a
variable duty cycle. This feature is supported on the PLL post-scale counters. The
duty-cycle setting is achieved by a low and high time-count setting for the post-scale
counters. The Quartus II software uses the frequency input and the required multiply
or divide rate to determine the duty cycle choices. The post-scale counter value
determines the precision of the duty cycle. The precision is defined by 50% divided by
the post-scale counter value. For example, if the C0counter is 10, steps of 5% are
possible for duty-cycle choices between 5% to 90%.
Combining the programmable duty cycle with programmable phase shift allows the
generation of precise non-overlapping clocks.
For Arria II GZ devices, if the PLL is in external feedback mode, set the duty cycle for
the counter driving the fbinpin to 50%.
Programmable Phase Shift
Use phase shift to implement a robust solution for clock delays in Arria II devices.
Implement phase shift with a combination of the VCO phase output and the counter
starting time. A combination of the VCO phase output and counter starting time is the
most accurate method of inserting delays because it is purely based on counter
settings, which are independent of process, voltage, and temperature (PVT).
You can phase-shift the output clocks from the Arria II PLLs in either of these two
resolutions:
■
■
Fine resolution with VCO phase taps
Coarse resolution with counter starting time
Fine-resolution phase shifts are implemented by allowing any of the output counters
C[n..0])or the counter to use any of the eight phases of the VCO as the reference
(
m
clock. This allows you to adjust the delay time with a fine resolution. The minimum
delay time that you can insert with this method is defined in Equation 5–1.
Equation 5–1. Fine-Resolution Phase Shifts for Arria II Devices
1
8
1
N
Φfine
=
TVCO
=
=
8fVCO 8MfREF
where fREF is the input reference clock frequency.
For example, if fREF is 100 MHz, n is 1, and m is 8, then fVCO is 800 MHz and fine
equals 156.25 ps. The PLL operating frequency, which is governed by the reference
clock frequency and the counter settings, defines this phase shift.
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–37
PLLs in Arria II Devices
Equation 5–2 shows the coarse-resolution phase shifts are implemented by delaying
the start of the counters for a predetermined number of counter clocks.
Equation 5–2. Coarse-Resolution Phase Shifts for Arria II Devices
(C − 1)N
MfREF
C − 1
fVco
Φcoarse
=
=
where C is the count value set for the counter delay time, (this is the initial setting in
the “PLL usage” section of the compilation report in the Quartus II software). If the
initial value is 1, C – 1 = 0° phase shift.
Figure 5–33 shows an example of a phase-shift insertion with the fine resolution with
the VCO phase taps method. The eight phases from the VCO are shown and labeled
for reference. For this example, CLK0is based off the 0phasefrom the VCO and has the
C value for the counter set to one. The CLK1signal is divided by four, two VCO clocks
for high time and two VCO clocks for low time. CLK1is based off the 135x phase tap
from the VCO and also has the C value for the counter set to one. The CLK1signal is
also divided by four. In this case, the two clocks are offset by 3 fine. CLK2is based off
the 0phasefrom the VCO but has the C value for the counter set to three. This
arrangement creates a delay of 2 COARSE (two complete VCO periods).
Figure 5–33. Delay Insertion with VCO Phase Output and Counter Delay Time for Arria II Devices
1/8 t
t
VCO
VCO
0
45
90
135
180
225
270
315
CLK0
t
d0-1
CLK1
CLK2
t
d0-2
Use the coarse- and fine-phase shifts to implement clock delays in Arria II devices.
The ALTPLL megafunction allows you to enter the desired VCO phase taps and initial
counter value settings through the MegaWizard™ Plug-In Manager in the Quartus II
software.
Arria II devices support dynamic phase-shifting of VCO phase taps only. The phase
shift is reconfigurable any number of times and each phase shift takes about one
SCANCLKcycle, allowing you to implement large phase shifts quickly.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–38
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Programmable Bandwidth
PLL bandwidth is the measure of the ability of the PLL to track the input clock and its
associated jitter. Arria II PLLs provide advanced control of the PLL bandwidth with
the PLL loop’s programmable characteristics, including loop filter and charge pump.
The closed-loop gain 3-dB frequency in the PLL determines the PLL bandwidth. The
bandwidth is approximately the unity gain point for open loop PLL response.
Spread-Spectrum Tracking
Arria II devices can accept a spread-spectrum input with typical modulation
frequencies. However, the device cannot automatically detect that the input is a
spread-spectrum signal. Instead, the input signal looks like deterministic jitter at the
input of the PLL. Arria II PLLs can track a spread-spectrum input clock as long as the
input jitter is in the PLL input jitter tolerance specification. Arria II devices cannot
internally generate spread-spectrum clocks.
Clock Switchover
The clock switchover feature allows the PLL to switch between two reference input
clocks. Use this feature for clock redundancy or for a dual-clock domain application
such as in a system that turns on the redundant clock if the previous clock stops
running. Your design can perform clock switchover automatically, when the clock is
no longer toggling or based on a user control signal (clkswitch).
The following clock switchover modes are supported in Arria II PLLs:
■
Automatic switchover—The clock sense circuit monitors the current reference
clock and if it stops toggling, automatically switches to the other clock (inclk0or
inclk1).
■
Manual clock switchover—Clock switchover is controlled with the clkswitch
signal in this mode. When the clkswitchsignal goes from logic low to logic high,
and stays high for at least three clock cycles, the reference clock to the PLL is
switched from inclk0to inclk1, or vice-versa.
■
Automatic switchover with manual override—This mode combines modes 1 and
2. When clkswitch= 1, it overrides automatic clock switchover function. As long
as the clkswitchsignal is high, further switchover action is blocked.
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–39
PLLs in Arria II Devices
Arria II PLLs support a fully configurable clock switchover capability. Figure 5–34
shows the block diagram of the switchover circuit built into the PLL. When the
current reference clock is not present, the clock sense block automatically switches to
the backup clock for PLL reference. The clock switchover circuit also sends out three
status signals—clkbad[0], clkbad[1], and activeclock—from the PLL to implement
a custom switchover circuit in the logic array. You can select a clock source as the
backup clock by connecting it to the inclk1port of the PLL in your design.
Figure 5–34. Automatic Clock Switchover Circuit Block Diagram for Arria II Devices
clkbad0
clkbad1
activeclock
Switchover
State
Machine
Clock
Sense
clksw
Clock Switch
Control Logic
clkswitch
inclk0
inclk1
n Counter
PFD
refclk
muxout
fbclk
Automatic Clock Switchover Mode
Use the switchover circuitry to automatically switch between inclk0and inclk1
when the current reference clock to the PLL stops toggling. For example, in
applications that require a redundant clock with the same frequency as the reference
clock, the switchover state machine generates a signal (clksw) that controls the
multiplexer select input, as shown in Figure 5–34. In this case, inclk1becomes the
reference clock for the PLL. When you use automatic switchover mode, you can
switch back and forth between the inclk0and inclk1clocks any number of times,
when one of the two clocks fails and the other clock is available.
When you use automatic clock switchover mode, the following requirements must be
satisfied:
■
■
Both clock inputs must be running.
The period of the two clock inputs can differ by no more than 100% (2x).
If the current clock input stops toggling while the other clock is also not toggling,
switchover is not initiated and the clkbad[0:1]signals are not valid. Also, if both
clock inputs are not the same frequency, but their period difference is 100%, the clock
sense block detects when a clock stops toggling, but the PLL may lose lock after the
switchover is completed and requires time to relock.
1
Altera recommends resetting the PLL with the aresetsignal to maintain the phase
relationships between the PLL input and output clocks when you use clock
switchover.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–40
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
When you use automatic switchover mode, the clkbad[0]and clkbad[1]signals
indicate the status of the two clock inputs. When they are asserted, the clock sense
block has detected that the corresponding clock input has stopped toggling. These
two signals are not valid if the frequency difference between inclk0and inclk1is
greater than 20%.
The activeclocksignal indicates which of the two clock inputs (inclk0or inclk1) is
being selected as the reference clock to the PLL. When the frequency difference
between the two clock inputs is more than 20%, the activeclocksignal is the only
valid status signal.
Figure 5–35 shows an example waveform of the switchover feature with automatic
switchover mode. In this example, the inclk0signal is stuck low. After the inclk0
signal is stuck at low for approximately two clock cycles, the clock sense circuitry
drives the clkbad[0]signal high. Also, because the reference clock signal is not
toggling, the switchover state machine controls the multiplexer through the clksw
signal to switch to the backup clock, inclk1
.
Figure 5–35. Automatic Switchover Upon Loss of Clock Detection for Arria II Devices
inclk0
inclk1
(1)
muxout
clkbad0
clkbad1
activeclock
Note to Figure 5–35:
(1) Switchover is enabled on the falling edge of inclk0or inclk1, depending on which clock is available. In this figure, switchover is enabled on
the falling edge of inclk1
.
Manual Override Mode
In automatic switchover with manual override mode, you can use the clkswitch
input for user- or system-controlled switch conditions. You can use this mode for
same-frequency switchover or to switch between inputs of different frequencies. For
example, if inclk0is 66 MHz and inclk1is 200 MHz, you must control the
switchover when you use clkswitchbecause the automatic clock-sense circuitry
cannot monitor clock input (inclk0and inclk1) frequencies with a frequency
difference of more than 100% (2x). This feature is useful when the clock sources
originate from multiple cards on the backplane, requiring a system-controlled
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–41
PLLs in Arria II Devices
switchover between the frequencies of operation. You must choose the backup clock
frequency and set the , and counters accordingly so the VCO operates in the
recommended operating frequency range of 600 to 1,600 MHz. The ALTPLL
m,
n,
c
k
MegaWizard Plug-In Manager interface notifies you if a given combination of inclk0
and inclk1frequencies cannot meet this requirement.
Figure 5–36 shows an example waveform of the switchover feature when controlled
by the clkswitchsignal. In this case, both clock sources are functional and inclk0is
selected as the reference clock. The clkswitchsignal goes high, which starts the
switchover sequence. On the falling edge of inclk0, the counter’s reference clock
(
muxout) is gated off to prevent clock glitching. On the falling edge of inclk1, the
reference clock multiplexer switches from inclk0to inclk1as the PLL reference and
the activeclocksignal changes to indicate which clock is currently feeding the PLL.
Figure 5–36. Clock Switchover with the clkswitch (Manual) Control for Arria II Devices (Note 1)
inclk0
inclk1
muxout
clkswitch
activeclock
clkbad0
clkbad1
Note to Figure 5–36:
(1) To start a manual clock switchover event, both inclk0and inclk1must be running when the clkswitchsignal goes high.
In automatic switchover with manual override mode, the activeclocksignal mirrors
the clkswitchsignal. As both clocks are still functional during the manual switch,
neither clkbadsignal goes high. Because the switchover circuit is positive-edge
sensitive, the falling edge of the clkswitchsignal does not cause the circuit to switch
back from inclk1to inclk0. When the clkswitchsignal goes high again, the process
repeats. The clkswitchsignal and automatic switch only work if the clock being
switched to is available. If the clock is not available, the state machine waits until the
clock is available.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–42
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Manual Clock Switchover Mode
In manual clock switchover mode, the clkswitchsignal controls whether inclk0or
inclk1is selected as the input clock to the PLL. By default, inclk0is selected. A
low-to-high transition on clkswitchand being held high for at least three inclkcycles
begins a clock switchover event. You must bring the clkswitchsignal back low again
to perform another switchover event in the future. If you do not require another
switchover event in the future, you can leave clkswitchin a logic high state after the
initial switch. Pulsing clkswitchhigh for at least three inclkcycles performs another
switchover event. If inclk0and inclk1are different frequencies and are always
running, the clkswitchminimum high time must be greater than or equal to three of
the slower frequency inclk0and inclk1cycles.
Figure 5–37 shows a block diagram of the manual switchover circuit.
Figure 5–37. Manual Clock Switchover Circuitry in PLLs for Arria II Devices
clkswitch
Clock Switch
Control Logic
inclk0
n Counter
PFD
inclk1
muxout
refclk
fbclk
f
For more information about PLL software support in the Quartus II software, refer to
the Phase-Locked Loops (ALTPLL) Megafunction User Guide.
Clock Switchover Guidelines
Use the following guidelines when implementing clock switchover in Arria II PLLs.
■
Automatic clock switchover requires that the inclk0and inclk1frequencies be in
100% (2x) of each other. Failing to meet this requirement causes the clkbad[0]and
clkbad[1]signals to not function properly.
■
When you use manual clock switchover mode, the difference between inclk0and
inclk1can be more than 100% (2x). However, differences in frequency, or phase of
the two clock sources, or both, are likely to cause the PLL to lose lock. Resetting the
PLL ensures that the correct phase relationships are maintained between the input
and output clocks.
1
Both inclk0and inclk1must be running when the clkswitchsignal goes
high to start the manual clock switchover event. Failing to meet this
requirement causes the clock switchover to not function properly.
■
Applications that require a clock switchover feature and a small frequency drift
must use a low-bandwidth PLL. The low-bandwidth PLL reacts more slowly than
the high-bandwidth PLL to reference the input clock changes. When the
switchover event occurs, a low-bandwidth PLL propagates the stopping of the
clock to the output more slowly than the high-bandwidth PLL. However, be aware
that the low-bandwidth PLL also increases lock time.
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–43
PLLs in Arria II Devices
■
■
■
After a switchover event occurs, there may be a finite resynchronization period for
the PLL to lock onto a new clock. The exact amount of time it takes for the PLL to
relock depends on the PLL configuration.
If the phase relationship between the input clock to the PLL and the output clock
from the PLL is important in your design, assert aresetfor at least 10 ns after
performing a clock switchover.
To prevent clock glitches from propagating through your design during PLL
resynchronization or after aresetis applied, use the clock enable feature of the
clock control block to disable the clock network. Wait for the locked signal to assert
and become stable before re-enabling the output clocks from the PLL at the clock
control block.
■
Figure 5–38 shows how the VCO frequency gradually decreases when the current
clock is lost and then increases as the VCO locks on to the backup clock.
Figure 5–38. VCO Switchover Operating Frequency for Arria II Devices
Primary Clock Stops Running
Switchover Occurs
VCO Tracks Secondary Clock
DF
vco
■
Disable the system during clock switchover if it is not tolerant of frequency
variations during the PLL resynchronization period. You can use the clkbad[0]
and clkbad[1]status signals to turn off the PFD (PFDENA
= 0) so the VCO
maintains its most recent frequency. You can also use the state machine to switch
over to the secondary clock. When the PFD is re-enabled, the output clock-enable
signals (clkena) can disable the clock outputs during the switchover and
resynchronization period. After the lock indication is stable, the system can
re-enable the output clocks.
PLL Reconfiguration
PLLs use several divide counters and different VCO phase taps to perform frequency
synthesis and phase shifts. In Arria II PLLs, you can reconfigure both the counter
settings and phase-shift the PLL output clock in real time. You can also change the
charge pump and loop filter components, which dynamically affect the PLL
bandwidth. You can use these PLL components to update the output-clock frequency
and the PLL bandwidth and to phase shift in real time, without reconfiguring the
entire Arria II device.
The ability to reconfigure the PLL in real time is useful in applications that operate at
multiple frequencies. It is also useful in prototyping environments, allowing you to
sweep PLL output frequencies and adjust the output-clock phase dynamically. For
instance, a system generating test patterns is required to generate and transmit
patterns at 75 or 150 MHz, depending on the requirements of the device under test.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–44
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Reconfiguring the PLL components in real time allows you to switch between two
such output frequencies in a few microseconds. You can also use this feature to adjust
the clock-to-out (tCO) delays in real time by changing the PLL output clock phase shift.
This approach eliminates the requirement to regenerate a configuration file with the
new PLL settings.
PLL Reconfiguration Hardware Implementation
The following PLL components are reconfigurable in real time:
■
■
■
Pre-scale counter (
N)
Feedback counter (
M)
Post-scale output counters (C0to C6for Arria II GX devices and C0to C9for
Arria II GZ devices)
■
■
Post VCO divider (
Dynamically adjust the charge pump current (Icp) and loop filter components
and ) to facilitate reconfiguration of the PLL bandwidth
K)
(
R
C
Figure 5–39 shows how you can dynamically adjust the PLL counter settings by
shifting their new settings into a serial shift-register chain or scan chain. Serial data is
the input to the scan chain with the SCANDATAPORTand shift registers are clocked by
SCANCLK. The maximum SCANCLKfrequency is 100 MHz. Serial data is shifted through
the scan chain as long as the SCANCLKENAsignal stays asserted. After the last bit of data
is clocked, asserting the configupdatesignal for at least one SCANCLKclock cycle
causes the PLL configuration bits to be synchronously updated with the data in the
scan registers.
Figure 5–39. PLL Reconfiguration Scan Chain for Arria II Devices (Note 1)
from m counter
from n counter
PFD
LF/K/CP (3)
VCO
scandata
scanclkena
configupdate
inclk
/Ci (2)
/Ci-1
/m
/C2
/C1
/C0
/n
scandataout
scandone
scanclk
Notes to Figure 5–39:
(1) The Arria II GX PLLs and Arria II GZ left and right PLLs support C0 to C6 counters.
(2) For Arria II GX devices, i = 6. For Arria II GZ devices, i = 6 or 9.
(3) This figure shows the corresponding scan register for the
counter is physically located after the VCO.
Kcounter in between the scan registers for the charge pump and loop filter. The
K
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–45
PLLs in Arria II Devices
f
1
For more information about the PLL reconfiguration port signals, refer to the Phase
Locked-Loops Reconfiguration (ALTPLL_RECONFIG) Megafunction User Guide.
The counter settings are updated synchronously to the clock frequency of the
individual counters. Therefore, all counters are not simultaneously updated.
To reconfigure the PLL counters, follow these steps:
1. Assert the SCANCLKENAsignal at least one SCANCLKcycle prior to shifting in the first
bit of SCANDATA Dnfor Arria II GX devices or D0for Arria II GZ devices).
(
2. Serial data (SCANDATA) is shifted into the scan chain on the second rising edge of
SCANCLK
.
3. For Arria II GX devices, after all 180 bits are scanned into the scan chain, the
SCANCLKENAsignal is deasserted to prevent inadvertent shifting of bits in the scan
chain. For Arria II GZ devices, after all 234 bits (top and bottom PLLs) or 180 bits
(left and right PLLs) have been scanned into the scan chain, the SCANCLKENAsignal
is deasserted to prevent inadvertent shifting of bits in the scan chain.
4. The CONFIGUPDATEsignal is asserted for one SCANCLKcycle to update the PLL
counters with the contents of the scan chain.
5. The SCANDONEsignal goes high indicating the PLL is being reconfigured. A falling
edge indicates the PLL counters are updated with new settings.
6. Reset the PLL with the ARESETsignal if you make any changes to the
post-scale output C counters or the Icp , or settings.
M, N, or
,
R
C
7. Repeat steps 1 through 5 to reconfigure the PLL any number of times.
Figure 5–40 shows a functional simulation of the PLL reconfiguration feature.
Figure 5–40. PLL Reconfiguration Waveform for Arria II Devices
Dn
D0
SCANDATA
SCANCLK
SCANCLKENA
Dn_old
D0_old
Dn
SCANDATAOUT
CONFIGUPDATE
SCANDONE
ARESET
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–46
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
1
When you reconfigure the counter clock frequency, you cannot reconfigure the
corresponding counter phase shift settings with the same interface. Instead,
reconfigure the phase shifts in real time with the dynamic phase shift reconfiguration
interface. If you reconfigure the counter frequency, but want to keep the same
non-zero phase shift setting (for example, 90°) on the clock output, you must
reconfigure the phase shift immediately after reconfiguring the counter clock
frequency.
Post-Scale Counters (C0 to C9)
You can configure the multiply or divide values and duty cycle of post-scale counters
in real time. Each counter has an 8-bit high-time setting and an 8-bit low-time setting.
The duty cycle is the ratio of output high- or low-time to the total cycle time, which is
the sum of the two. Additionally, these counters have two control bits, rbypassfor
bypassing the counter and rseloddto select the output clock duty cycle.
When the rbypassbit is set to 1, it bypasses the counter, resulting in a divide by 1.
When this bit is set to 0, the high- and low-time counters are added to compute the
effective division of the VCO output frequency. For example, if the post-scale divide
factor is 10, the high- and low-count values could be set to 5 and 5, respectively, to
achieve a 50-50% duty cycle. The PLL implements this duty cycle by transitioning the
output clock from high to low on the rising edge of the VCO output clock. However, a
4 and 6 setting for the high- and low-count values, respectively, would produce an
output clock with a 40-60% duty cycle.
The rseloddbit indicates an odd divide factor for the VCO output frequency along
with a 50% duty cycle. For example, if the post-scale divide factor is 3, the high- and
low-time count values could be set to 2 and 1, respectively, to achieve this division.
This implies a 67%-33% duty cycle. If you require a 50%-50% duty cycle, you can set
the rseloddcontrol bit to 1 to achieve this duty cycle despite an odd division factor.
The PLL implements this duty cycle by transitioning the output clock from high to
low on a falling edge of the VCO output clock. When you set rselodd= 1, you
subtract 0.5 cycles from the high time and you add 0.5 cycles to the low time. For
example:
■
■
■
High-time count = 2 cycles
Low-time count = 1 cycle
rselodd= 1 effectively equals:
■
■
■
High-time count = 1.5 cycles
Low-time count = 1.5 cycles
Duty cycle = (1.5/3) % high-time count and (1.5/3)% low-time count
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–47
PLLs in Arria II Devices
Scan Chain Description
Arria II GX PLLs have a 180-bit scan chain. Table 5–15 lists the number of bits for each
component of an Arria II GX PLL.
Table 5–15. PLL Reprogramming Bits for Arria II GX Devices
Number of Bits
Block Name
Total
Counter
16
16
16
16
16
16
16
16
16
0
Other (1)
C6 (2)
C5
C4
C3
C2
C1
C0
M
2
2
18
18
18
18
18
18
18
18
18
3
2
2
2
2
2
2
N
2
Charge Pump Current
VCO Post-Scale divider (K)
Loop Filter Capacitor (3)
Loop Filter Resistor
Unused CP/LF
3
1
0
1
0
2
2
0
5
5
0
7
7
Total number of bits
Notes to Table 5–15:
—
—
180
(1) Includes two control bits: rbypassfor bypassing the counter and rseloddto select the output clock duty cycle.
(2) The LSB for C6low-count value is the first bit shifted into the scan chain.
(3) The MSB for loop filter is the last bit shifted into the scan chain.
The length of the scan chain varies for different Arria II GZ PLLs. The top and bottom
PLLs have ten post-scale counters and a 234-bit scan chain, while the left and right
PLLs have seven post-scale counters and a 180-bit scan chain.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–48
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Table 5–16 lists the number of bits for each component of a Arria II GZ PLL.
Table 5–16 also lists the scan chain order of PLL components for the top and bottom
PLLs, which have 10 post-scale counters. The order of bits is the same for the left and
right PLLs, but the reconfiguration bits start with the C6 post-scale counter.
Table 5–16. Top and Bottom PLL Reprogramming Bits for Arria II GZ Devices
Number of Bits
Block Name
Total
Counter
16
16
16
16
16
16
16
16
16
16
16
16
0
Other (1)
C9 (2)
C8
2
2
2
2
2
2
2
2
2
2
2
2
3
0
2
5
7
—
18
18
18
18
18
18
18
18
18
18
18
18
3
C7
C6 (3)
C5
C4
C3
C2
C1
C0
M
N
Charge Pump Current
VCO Post-Scale divider (
K
)
1
1
Loop Filter Capacitor (4)
Loop Filter Resistor
Unused CP/LF
0
2
0
5
0
7
Total number of bits
Notes to Table 5–16:
—
234
(1) Includes two control bits, rbypassfor bypassing the counter, and rseloddto select the output clock duty cycle.
(2) The LSB for the C9 low-count value is the first bit shifted into the scan chain for the top and bottom PLLs.
(3) The LSB for the C6 low-count value is the first bit shifted into the scan chain for the left and right PLLs.
(4) The MSB for the loop filter is the last bit shifted into the scan chain.
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–49
PLLs in Arria II Devices
Figure 5–41 shows the scan chain order of Arria II GX PLL components which have
seven post-scale counters. The reconfiguration bits start with the C6post-scale
counter.
Figure 5–41. Scan Chain Order of PLL Components for Arria II GX PLLs
DATAIN
K
LF
CP
M
N
C0
C1
LSB
MSB
C6
C4
C3
C5
C2
DATAOUT
Figure 5–42 shows the scan chain order of PLL components for the top and bottom
Arria II GZ PLLs.
Figure 5–42. Scan Chain Order of PLL Components for Top and Bottom of Arria II GZ PLLs (Note 1)
DATAIN
K
LF
CP
M
N
C3
C0
C1
LSB
C4
MSB
C6
C7
C5
C2
DATAOUT
C8
C9
Note to Figure 5–43:
(1) The left and right PLLs have the same scan chain order. The post-scale counters end at C6.
Figure 5–43 shows the scan chain bit-order sequence for post-scale counters in all
Arria II PLLs.
Figure 5–43. Scan Chain Bit-Order Sequence for Post-Scale Counters in Arria II PLLs
HB
6
HB
5
HB
1
HB
3
HB
7
HB
0
HB
2
HB
4
DATAIN
rbypass
rselodd
LB
5
LB
0
LB
1
LB
2
LB
3
LB
4
LB
6
LB
7
DATAOUT
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–50
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Charge Pump and Loop Filter
You can reconfigure the charge pump and loop filter settings to update the PLL
bandwidth in real time. Table 5–17 through Table 5–19 show the possible settings for
charge pump current (Icp), loop filter resistor (R), and capacitor (C) values for Arria II
PLLs.
Table 5–17. charge_pump_current Bit Settings for Arria II Devices
CP[2]
CP[1]
CP[0]
Decimal Value for Setting
0
0
0
1
0
0
1
1
0
1
1
1
0
1
3
7
Table 5–18. loop_filter_r Bit Settings for Arria II Devices
LFR[4]
LFR[3]
LFR[2]
LFR[1]
LFR[0]
Decimal Value for Setting
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
0
0
1
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
3
4
8
16
19
20
24
27
28
30
Table 5–19. loop_filter_c Bit Settings for Arria II Devices
LFC[1]
LFC[0]
Decimal Value for Setting
0
0
1
0
1
1
0
1
3
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–51
PLLs in Arria II Devices
Bypassing PLL
Bypassing a PLL counter results in a multiply (
counters) factor of one.
mcounter) or a divide (nand C0to C9
Table 5–20 lists the settings for bypassing the counters in Arria II PLLs.
Table 5–20. PLL Counter Settings for Arria II Devices
PLL Scan Chain Bits [0..8] Settings
MSB
LSB
0 (1), X (2)
X
Description
X
X
X
X
X
X
X
X
X
X
X
X
X
X
1 (3) PLL counter bypassed
0 (3) PLL counter not bypassed because bit 8 (MSB) is set to 0
Notes to Table 5–20:
(1) For Arria II GX devices.
(2) For Arria II GZ devices
(3) Counter-bypass bit.
f
1
For more information about how to use the PLL scan chain bit settings, refer to the
Phase Locked-Loops Reconfiguration (ALTPLL_RECONFIG) Megafunction User Guide.
To bypass any of the PLL counters, set the bypass bit to 1, causing the values on the
other bits to be ignored. To bypass the VCO post-scale counter (K), set the
corresponding bit to 0.
Dynamic Phase-Shifting
The dynamic phase-shifting feature allows the output phases of individual PLL
outputs to be dynamically adjusted relative to each other and to the reference clock
without having to send serial data through the scan chain of the corresponding PLL.
This feature simplifies the interface and allows you to quickly adjust clock-to-out (tCO
delays by changing the output clock phase-shift in real time. This adjustment is
achieved by incrementing or decrementing the VCO phase-tap selection to a given
)
C
counter or to the Mcounter. The phase is shifted by 1/8 of the VCO frequency at a
time. The output clocks are active during this phase-reconfiguration process.
Table 5–21 lists the control signals that are used for dynamic phase-shifting.
Table 5–21. Dynamic Phase-Shifting Control Signals for Arria II Devices (Part 1 of 2)
Signal Name
Description
Source
Destination
PLL
reconfiguration
circuit
Counter select. Four bits decoded to select
either the
adjustment. One address maps to select all
counters. This signal is registered in the PLL
on the rising edge of scanclk
Mor one of the Ccounters for phase
Logic array or
I/O pins
PHASECOUNTERSELECT[3:0]
C
.
Selects dynamic phase shift direction;
1 = UP; 0 = DOWN. Signal is registered in the
PLL
reconfiguration
circuit
Logic array or
I/O pin
PHASEUPDOWN
PHASESTEP
PLL on the rising edge of scanclk
.
PLL
reconfiguration
circuit
Logic array or
I/O pin
Logic high enables dynamic phase shifting.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–52
Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Table 5–21. Dynamic Phase-Shifting Control Signals for Arria II Devices (Part 2 of 2)
Signal Name
Description
Source
Destination
PLL
reconfiguration
circuit
Free running clock from core used in
combination with PHASESTEPto enable,
disable, or both dynamic phase shifting. Shared I/O pin
with scanclkfor dynamic reconfiguration.
GCLK, RCLK, or
SCANCLK
When asserted, this indicates to the core logic
that the phase adjustment is complete and the
PLL is ready to act on a possible second
adjustment pulse. Asserts based on internal
PLL timing. Deasserts on the rising edge of
PLL
reconfiguration
circuit
Logic array or I/O
pins
PHASEDONE
scanclk
.
Table 5–22 lists the PLL counter selection based on the corresponding
PHASECOUNTERSELECTsetting.
Table 5–22. Phase Counter Select Mapping for Arria II Devices (Note 1)
PHASECOUNTERSELECT[3]
[2]
0
0
0
0
1
1
1
1
0
0
0
0
[1]
0
0
1
1
0
0
1
1
0
0
1
1
[0]
0
1
0
1
0
1
0
1
0
1
0
1
Selects
0
All Output Counters
0
MCounter
0
C0Counter
C1Counter
C2Counter
C3Counter
C4Counter
C5Counter
C6Counter
C7Counter
C8Counter
C9Counter
0
0
0
0
0
1
1
1
1
Note to Table 5–22:
(1) C7to C9counter are only available for Arria II GZ devices.
To perform one dynamic phase-shift, follow these steps:
1. Set PHASEUPDOWNand PHASECOUNTERSELECTas required.
2. Assert PHASESTEPfor at least two SCANCLKcycles. Each PHASESTEPpulse allows one
phase shift.
3. Deassert PHASESTEPafter PHASEDONEgoes low.
4. Wait for PHASEDONEto go high.
5. Repeat steps 1 through 4 as many times as required to perform multiple
phase-shifts.
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–53
PLLs in Arria II Devices
PHASEUPDOWNand PHASECOUNTERSELECTsignals are synchronous to SCANCLKand must
meet the tsu and th requirements with respect to the SCANCLKedges.
1
You can repeat dynamic phase-shifting indefinitely. For example, in a design where
the VCO frequency is set to 1,000 MHz and the output clock frequency is set to
100 MHz, performing 40 dynamic phase shifts (each one yields 125 ps phase shift)
results in shifting the output clock by 180°, in other words, a phase shift of 5 ns.
The PHASESTEPsignal is latched on the negative edge of SCANCLK(a,c) and must remain
asserted for at least two SCANCLKcycles. De-assert PHASESTEP after PHASEDONEgoes
low. On the second SCANCLKrising edge (b,d) after PHASESTEPis latched, the values of
PHASEUPDOWNand PHASECOUNTERSELECTare latched and the PLL starts dynamic
phase-shifting for the specified counters and in the indicated direction. PHASEDONEis
de-asserted synchronous to SCANCLKat the second rising edge (b,d) and remains low
until the PLL finishes dynamic phase-shifting. Depending on the VCO and SCANCLK
frequencies, PHASEDONElow time may be greater than or less than one SCANCLKcycle.
You can perform another dynamic phase-shift after the PHASEDONEsignal goes from
low to high. Each PHASESTEPpulse enables one phase shift. PHASESTEPpulses must be
at least one SCANCLKcycle apart.
Figure 5–44 shows the dynamic phase shifting waveform.
Figure 5–44. Dynamic Phase Shifting Waveform for Arria II Devices
SCANCLK
PHASESTEP
PHASEUPDOWN
PHASECOUNTERSELECT
PHASEDONE
a
b
d
c
PHASEDONE goes low synchronous with SCANCLK
t
CONFIGPHASE
f
For more information about the ALTPLL_RECONFIG MegaWizard Plug-In Manager
interface, refer to the Phase Locked-Loops Reconfiguration (ALTPLL_RECONFIG)
Megafunction User Guide.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–54
Chapter 5: Clock Networks and PLLs in Arria II Devices
Document Revision History
PLL Specifications
f
For more information about PLL timing specifications, refer to the Device Datasheet for
Arria II Devices.
Document Revision History
Table 5–23 lists the revision history for this chapter.
Table 5–23. Document Revision History
Date
July 2012
Version
Changes
Updated “Periphery Clock Networks” section.
4.2
■ Updated Table 5–15.
■ Updated Figure 5–44.
June 2011
4.1
■ Updated “Dynamic Phase-Shifting” section.
■ Added Figure 5–5, Figure 5–6, Figure 5–7, and Figure 5–8.
■ Minor text edits.
■ Updated for the Quartus II software version 10.1 release.
■ Added Arria II GZ devices information.
■ Updated Table 5–1, Table 5–12, Table 5–20, and Table 5–21.
■ Added Figure 5–2, Figure 5–3, Figure 5–4, Figure 5–5, Figure 5–7, Figure 5–15,
Figure 5–11, Figure 5–16, Figure 5–18, Figure 5–19, Figure 5–24, Figure 5–26,
Figure 5–27, Figure 5–38, and Figure 5–39.
December 2010
4.0
■ Added Table 5–5, Table 5–7, Table 5–9, Table 5–11, andTable 5–16.
■ Added “Clock Sources Per Quadrant” and “External Feedback Mode” sections.
■ Minor text edit.
Updated for Arria II GX v10.0 release:
■ Updated “Clock Regions” and “Arria II PLL Hardware Overview” sections.
■ Updated Figure 5–44.
July 2010
3.0
2.0
■ Removed sub-regional clock references.
■ Minor text edit.
Updated for Arria II GX v9.1 release:
■ Updated Table 5–1.
November 2009
■ Updated Figure 5–14.
■ Updated the “Periphery Clock (PCLK) Networks” and “Cascading PLLs” sections.
■ Minor text edit.
■ Updated Table 5–8.
■ Updated Figure 5–13 and Figure 5–14.
June 2009
1.1
1.0
■ Updated the “PLL Clock I/O Pins” and “PLL Reconfiguration Hardware Implementation”
sections.
February 2009
Initial release
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Section II. I/O Interfaces for Arria II
Devices
This section provides information on Arria® II device I/O features, external memory
interfaces, and high-speed differential interfaces with DPA. This section includes the
following chapters:
■
■
■
Chapter 6, I/O Features in Arria II Devices
Chapter 7, External Memory Interfaces in Arria II Devices
Chapter 8, High-Speed Differential I/O Interfaces and DPA 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
II–2
Section II: I/O Interfaces for Arria II Devices
Revision History
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2013 Altera Corporation
6. I/O Features in Arria II Devices
December 2011
AIIGX51006-4.2
AIIGX51006-4.2
This chapter describes how Arria® II devices provide I/O capabilities that allow you
to work in compliance with current and emerging I/O standards and requirements.
With these device features, you can reduce board design interface costs and increase
development flexibility.
Package and die enhancements with dynamic termination and output control provide
best-in-class signal integrity. Numerous I/O features assist high-speed data transfer
into and out of the device, including:
■
■
Single-ended, non-voltage-referenced, and voltage-referenced I/O standards
Low-voltage differential signaling (LVDS), reduced swing differential signal
(RSDS), mini-LVDS, high-speed transceiver logic (HSTL), and SSTL
■
■
■
■
■
■
■
■
■
■
■
■
Bus LVDS (BLVDS) for Arria II GX devices
Programmable output current strength
Programmable slew rate
Programmable bus-hold
Programmable pull-up resistor
Open-drain output
On-chip series termination (RS OCT)
On-chip differential termination (RD OCT)
On-chip parallel termination (RT OCT) for Arria II GZ devices
Dynamic OCT for Arria II GZ devices
Programmable pre-emphasis
Programmable voltage output differential (VOD
)
This chapter includes the following sections:
■
■
■
■
■
■
■
“I/O Standards Support” on page 6–2
“I/O Banks” on page 6–5
“I/O Structure” on page 6–10
“OCT Support” on page 6–19
“Arria II OCT Calibration” on page 6–26
“Termination Schemes for I/O Standards” on page 6–28
“I/O Bank Restrictions” on page 6–36
© 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
6–2
Chapter 6: I/O Features in Arria II Devices
I/O Standards Support
I/O Standards Support
Table 6–1 lists the supported I/O standards for Arria II GX devices and the typical
values for input and output VCCIO, VCCPD, VREF, and board VTT.
Table 6–1. I/O Standards and Voltage Levels for Arria II GX Devices
VCCIO (V)
Standard
Support
I/O Standard
VCCPD (V)
V
(V)
V
(V)
TT
REF
Input
Output
Operation
3.3/3.0/2.5
3.3/3.0/2.5
3.3/3.0/2.5
1.8/1.5
1.8/1.5
1.2
Operation
3.3-V LVTTL/3.3-V LVCMOS
3.0-V LVTTL/3.0-V LVCMOS
2.5-V LVTTL/LVCMOS
1.8-V LVTTL/LVCMOS
1.5-V LVCMOS
JESD8-B
JESD8-B
JESD8-5
JESD8-7
JESD8-11
JESD8-12
PCI Rev 2.2
PCI-X Rev 1.0
JESD8-9B
JESD8-15
—
3.3
3.0
2.5
1.8
1.5
1.2
3.0
3.0
2.5
1.8
1.5
1.8
1.5
1.2
2.5
1.8
1.5
1.8
1.5
1.2
3.3
3.0
2.5
2.5
2.5
2.5
3.0
3.0
2.5
2.5
2.5
2.5
2.5
2.5
2.5
2.5
2.5
2.5
2.5
2.5
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
1.2-V LVCMOS
3.0-V PCI
3.0
3.0-V PCI-X (1)
3.0
SSTL-2 Class I, II
(2)
1.25
0.90
0.75
0.90
0.75
0.6
—
1.25
0.90
0.75
0.90
0.75
0.6
SSTL-18 Class I, II
SSTL-15 Class I
(2)
(2)
HSTL-18 Class I, II
HSTL-15 Class I, II
HSTL-12 Class I, II
Differential SSTL-2
Differential SSTL-18
Differential SSTL-15
Differential HSTL-18
Differential HSTL-15
Differential HSTL-12
JESD8-6
JESD8-6
JESD8-16A
JESD8-9B
JESD8-15
—
(2)
(2)
(2)
(2), (3)
(2), (3)
(2), (3)
(2), (3)
(2), (3)
(2), (3)
1.25
0.90
0.75
0.90
0.75
0.60
—
—
JESD8-6
JESD8-6
JESD8-16A
—
—
—
ANSI/TIA/
EIA-644
LVDS
(2)
2.5
2.5
—
—
RSDS and mini-LVDS
LVPECL
—
—
—
—
2.5
—
2.5
2.5
2.5
—
—
—
—
—
—
(2)
(2)
BLVDS
2.5
Notes to Table 6–1:
(1) PCI-X does not meet the PCI-X I-V curve requirement at the linear region.
(2) Single-ended SSTL/HSTL, differential SSTL/HSTL, LVDS, LVPECL, and BLVDS input buffers are powered by VCCPD
.
(3) Differential SSTL/HSTL inputs use LVDS differential input buffers without RD OCT support.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–3
I/O Standards Support
Table 6–2 lists the supported I/O standards for Arria II GZ devices and the typical
values for input and output VCCIO, VCCPD, VREF, and board VTT.
Table 6–2. I/O Standards and Voltage Levels for Arria II GZ Devices (Note 1) (Part 1 of 2)
VCCIO (V)
V
CCPD (V)
(Pre-
Driver
V
REF (V)
V
TT (V)
Standard
Support
Input Operation
Output Operation
(Input
Ref
(Board
Termination
Voltage)
I/O Standard
Column Row
Column Row
Voltage) Voltage)
I/O Banks I/O Banks I/O Banks I/O Banks
3.3-V LVTTL
JESD8-B
JESD8-B
3.0/2.5
3.0/2.5
3.0/2.5
1.8/1.5
1.8/1.5
1.2
3.0/2.5
3.0/2.5
3.0/2.5
1.8/1.5
1.8/1.5
1.2
3.0
3.0
2.5
1.8
1.5
1.2
3.0
3.0
3.0
2.5
1.8
1.5
1.2
3.0
3.0
3.0
2.5
2.5
2.5
2.5
3.0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
3.3-V LVCMOS (3)
2.5-V LVCMOS
1.8-V LVCMOS
1.5-V LVCMOS
1.2-V LVCMOS
3.0-V PCI
JESD8-5
JESD8-7
JESD8-11
JESD8-12
PCI Rev 2.1
3.0
3.0
PCI-X Rev
1.0
3.0-V PCI-X
3.0
3.0
3.0
3.0
3.0
—
—
SSTL-2 Class I, II
SSTL-18 Class I, II
SSTL-15 Class I
SSTL-15 Class II
HSTL-18 Class I, II
HSTL-15 Class I
HSTL-15 Class II
HSTL-12 Class I
HSTL-12 Class II
JESD8-9B
JESD8-15
—
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
2.5
1.8
1.5
1.5
1.8
1.5
1.5
1.2
1.2
2.5
1.8
1.5
—
2.5
2.5
2.5
2.5
2.5
2.5
2.5
2.5
2.5
1.25
0.90
0.75
0.75
0.90
0.75
0.75
0.6
1.25
0.90
0.75
0.75
0.90
0.75
0.75
0.6
—
JESD8-6
JESD8-6
JESD8-6
JESD8-16A
JESD8-16A
1.8
1.5
—
1.2
—
0.6
0.6
Differential SSTL-2
Class I, II
JESD8-9B
JESD8-15
—
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
(2)
2.5
1.8
1.5
1.5
1.8
1.5
1.5
1.2
1.2
2.5
1.8
1.5
—
2.5
2.5
2.5
2.5
2.5
2.5
2.5
2.5
2.5
—
—
—
—
—
—
—
—
—
1.25
0.90
0.75
0.75
0.90
0.75
0.75
0.60
0.60
Differential SSTL-18
Class I, II
Differential SSTL-15
Class I
Differential SSTL-15
Class II
—
Differential HSTL-18
Class I, II
JESD8-6
JESD8-6
JESD8-6
JESD8-16A
JESD8-16A
1.8
1.5
—
Differential HSTL-15
Class I
Differential HSTL-15
Class II
Differential HSTL-12
Class I
1.2
—
Differential HSTL-12
Class II
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–4
Chapter 6: I/O Features in Arria II Devices
I/O Standards Support
Table 6–2. I/O Standards and Voltage Levels for Arria II GZ Devices (Note 1) (Part 2 of 2)
VCCIO (V)
VCCPD (V)
(Pre-
V
REF (V)
VTT (V)
Standard
Support
Input Operation
Column Row
Output Operation
Column Row
(Input
Ref
(Board
Termination
Voltage)
I/O Standard
Driver
Voltage) Voltage)
I/O Banks I/O Banks I/O Banks I/O Banks
ANSI/TIA/
EIA-644
LVDS (4), (5), (8)
RSDS (6), (7), (8)
(2)
(2)
(2)
(4)
(2)
(2)
(2)
2.5
2.5
2.5
2.5
—
2.5
2.5
2.5
—
2.5
2.5
2.5
2.5
—
—
—
—
—
—
—
—
—
—
—
mini-LVDS (6), (7),
(8)
LVPECL
Notes to Table 6–2:
(1) VCCPD is either 2.5 or 3.0 V. For VCCIO = 3.0 V, VCCPD = 3.0 V. For VCCIO = 2.5 V or less, VCCPD = 2.5 V.
(2) Single-ended HSTL/SSTL, differential SSTL/HSTL, and LVDS input buffers are powered by VCCPD. Row I/O banks support both true differential input
buffers and true differential output buffers. Column I/O banks support true differential input buffers, but not true differential output buffers. I/O pins
are organized in pairs to support differential standards. Column I/O differential HSTL and SSTL inputs use LVDS differential input buffers without
RD OCT support.
(3) For more information about the 3.3-V LVTTL/LVCMOS standard supported in Arria II devices, refer to “3.3-V I/O Interface” on page 6–13.
(4) Column I/O banks support LVPECL I/O standards for input clock operation. Clock inputs on column I/Os are powered by VCCCLKIN when configured
as differential clock inputs. They are powered by VCCIO when configured as single-ended clock inputs. Differential clock inputs in row I/Os are powered
by VCCPD
.
(5) Column and row I/O banks support LVDS outputs using two single-ended output buffers, an external one-resistor (LVDS_E_1R), and a three-resistor
(LVDS_E_3R) network.
(6) Row I/O banks support RSDS and mini-LVDS I/O standards using a true LVDS output buffer without a resistor network.
(7) Column and row I/O banks support RSDS and mini-LVDS I/O standards using two single-ended output buffers with one-resistor (RSDS_E_1R and
mini-LVDS_E_1R) and three-resistor (RSDS_E_3R and mini-LVDS_E_3R) networks.
(8) The emulated differential output standard that supports the tri-state feature includes: LVDS_E_1R, LVDS_E_3R, RSDS_E_1R, RSDS_E_3R,
Mini_LVDS_E_1R, and Mini_LVDS_E_3R. For more information, refer to the I/O Buffer (ALTIOBUF) Megafunction User Guide.
f
For detailed electrical characteristics of each I/O standard, refer to the Device
Datasheet for Arria II Devices.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–5
I/O Banks
I/O Banks
Arria II GX devices contain up to 16 I/O banks as shown in Figure 6–1. The left I/O
banks are dedicated for high-speed transceivers. Bank 3C and 8C are dedicated for
configuration pins. The rest of the banks are user I/O banks that support all
single-ended and differential I/O standards.
Figure 6–1. I/0 Banks in Arria II GX Devices (Note 1), (2), (3), (4), (5), (6), (7)
Bank 8C
Bank 8B
Bank 8A
Bank 7A
Bank 7B
These I/O Banks Support:
3.3-V LVTTL/LVCMOS, 3.0-V LVTTL/LVCMOS,
2.5-V LVTTL/LVCMOS, 1.8-V LVTTL/LVCMOS,
1.5-V LVCMOS, 1.2-V LVCMOS,
True LVDS, Emulated LVDS, BLVDS, RSDS, mini-LVDS,
SSTL-2, SSTL-18, SSTL-15,
HSTL-18, HSTL-15, HSTL-12,
Differential SSTL-2, Differenital SSTL-18,
Differential SSTL-15, Differential HSTL-18,
Differential HSTL-15, and Differential HSTL-12
Bank 3C
Bank 3B
Bank 3A
Bank 4A
Bank 4B
Notes to Figure 6–1:
(1) Banks GXB0, GXB1, GXB2, and GXB3 are dedicated banks for high-speed transceiver I/Os.
(2) Banks 3C and 8C are dedicated configuration banks and do not have user I/O pins.
(3) LVDS with DPA is supported at banks 5A, 5B, 6A, and 6B.
(4) Differential HSTL and SSTL inputs use LVDS differential input buffers without RD OCT support.
(5) Differential HSTL and SSTL outputs are not true differential outputs. They use two single-ended outputs with the second output programmed as
inverted.
(6) Figure 6–1 is a top view of the silicon die that corresponds to a reverse view for flip chip packages. It is a graphical representation only.
(7) The PLL_CLKOUTpin supports only emulated differential I/O standard but not true differential I/O standard.
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–6
Chapter 6: I/O Features in Arria II Devices
I/O Banks
Arria II GZ devices contain up to 20 I/O banks as shown in Figure 6–2. Each I/O bank
can support high-performance external memory interfaces with dedicated circuitry.
The I/O pins are organized in pairs to support differential standards. Each I/O pin
pair can support both differential input and output buffers except the clk[1,3,8,10]
PLL_L[1,4]_clk, and PLL_R[1,4]_clkpins, which support differential input
operations only.
,
Figure 6–2. I/O Banks in Arria II GZ Devices (Note 1), (2), (3), (4), (5), (6), (7), (8)
Bank 7B
Bank 7A
Bank 8C
Bank 7C
Bank 8B
Bank 8A
I/O banks 8A, 8B & 8C support all
single-ended and differential input
and output operation.
I/O banks 7A, 7B & 7C support all
single-ended and differential input
and output operation.
Row I/O banks support LVTTL, LVCMOS, 2.5-V, 1.8-
V, 1.5-V, 1.2-V, SSTL-2 Class I & II, SSTL-18 Class I
& II, SSTL-15 Class I, HSTL-18 Class I & II, HSTL-15
Class I, HSTL-12 Class I, LVDS, RSDS, mini-LVDS,
differential SSTL-2 Class I & II, differential SSTL-18
Class I & II, differential SSTL-15 Class I, differential
HSTL-18 Class I & II, differential HSTL-15 Class I and
differential HSTL-12 Class I standards for input and
output operation.
SSTL-15 class II, HSTL-15 Class II, HSTL-12 Class II,
differential SSTL-15 Class II, differential HSTL-15
Class II, differential HSTL-12 Class II standards are
only supported for input operations
I/O banks 4A, 4B & 4C support all
I/O banks 3A, 3B & 3C support all
single-ended and differential input
and output operation.
single-ended and differential input
and output operation.
Bank 3C
Bank 4B
Bank 4A
Bank 3A
Bank 3B
Bank 4C
Notes to Figure 6–2:
(1) Differential HSTL and SSTL outputs are not true differential outputs. They use two single-ended outputs with the second output programmed as
inverted.
(2) Column I/O differential HSTL and SSTL inputs use LVDS differential input buffers without RD OCT support.
(3) Column I/O supports LVDS outputs using single-ended buffers and external resistor networks.
(4) Column I/O supports PCI/PCI-X with an on-chip clamp diode. Row I/O supports PCI/PCI-X with an external clamp diode.
(5) Clock inputs on column I/Os are powered by VCCCLKIN when configured as differential clock inputs. They are powered by VCCIO when configured as
single-ended clock inputs. All outputs use the corresponding bank VCCIO
.
(6) Row I/O supports the true LVDS output buffer.
(7) Column and row I/O banks support LVPECL standards for input clock operation.
(8) Figure 6–2 is a top view of the silicon die that corresponds to a reverse view for flip chip packages. It is a graphical representation only.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–7
I/O Banks
Modular I/O Banks
The I/O pins in Arria II devices are arranged in groups called modular I/O banks.
Depending on the device densities, the number of I/O banks range from 6 to 20.
Table 6–3 and Table 6–4 show the number of I/O pins available in each I/O bank.
Table 6–3. Available I/O Pins in Each Arria II GX I/O Bank (Note 1)
Bank
Package
Device
Total
3A
3B
4A
4B
5A
5B
6A
6B
7A
7B
8A
8B
358-pin
Flip Chip
UBGA
EP2AGX45
EP2AGX65
22
—
38
—
18
—
—
18
—
38
—
22
—
156
156
22
—
38
—
18
18
—
38
—
22
—
EP2AGX45
EP2AGX65
EP2AGX95
38
38
38
—
—
—
—
—
—
—
—
—
—
—
—
32
32
38
38
42
42
70
70
74
74
74
74
74
74
74
74
—
—
—
—
—
—
—
—
—
—
16
16
32
32
50
50
50
50
66
66
66
66
66
66
66
66
66
66
—
—
—
—
—
—
—
—
—
—
—
—
32
32
50
50
50
50
50
50
50
50
50
50
66
66
66
66
—
—
—
—
—
—
—
—
—
—
—
—
32
32
38
38
38
38
70
70
70
70
70
70
70
70
70
70
—
—
—
—
—
—
—
—
—
—
16
16
32
32
38
38
42
42
54
54
58
58
58
58
74
74
74
74
—
—
—
—
—
—
—
—
—
—
—
—
32
32
252
252
260
260
364
364
372
372
372
372
452
452
612
612
572-pin
Flip Chip
FBGA
EP2AGX125 38
EP2AGX45
EP24GX65
EP2AGX95
54
54
54
780-pin
Flip Chip
FBGA
EP2AGX125 54
EP2AGX190 54
EP2AGX260 54
EP2AGX95
70
1152-pin
Flip Chip
FBGA
EP2AGX125 70
EP2AGX190 70
EP2AGX260 70
Note to Table 6–3:
(1) The number of I/O pins include all general purpose I/Os, dedicated clock pins, and dual-purpose configuration pins. Transceiver pins and dedicated
configuration pins are not included in the I/O pin count.
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
Table 6–4. Available I/O Pins in Each Arria II GZ I/O Bank (Note 1)
Bank
Package
Device
Total
281
1A 1C 2A 2C 3A 3B 3C 4A 4B 4C 5A 5C 6A 6C 7A 7B 7C 8A 8B 8C
780-pin
Flip Chip
FBGA
EP2AGZ300
EP2AGZ350
—
—
1
1
—
—
—
—
40
40
—
—
28
28
40
40
—
—
30
30
—
—
—
—
—
—
—
—
40
40
—
—
30
30
40
40
—
—
32
32
281
EP2AGZ225
EP2AGZ300
EP2AGZ350
EP2AGZ225
EP2AGZ300
EP2AGZ350
46
46
46
46
46
46
42
42
42
—
—
—
—
—
—
42
42
42
40
40
40
40
40
40
24 30
24 30
24 30
24 30
24 30
24 30
40
40
40
40
40
40
24 30
24 30
24 30
24 30
24 30
24 30
—
—
—
48
48
48
—
—
—
42
42
42
46
46
46
46
46
46
42
42
42
42
42
42
40
40
40
40
40
40
24 30
24 30
24 30
24 30
24 30
24 30
40
40
40
40
40
40
24
24
24
24
24
24
32
32
32
32
32
32
554
554
554
734
734
734
1152-pin
Flip Chip
FBGA
42 48
42 48
42 48
1517-pin
Flip Chip
FBGA
Note to Table 6–4:
(1) The number of I/O pins include all general purpose I/Os, dedicated clock pins, and dual-purpose configuration pins. Transceiver pins and dedicated configuration pins are not included in the I/O pin
count.
Chapter 6: I/O Features in Arria II Devices
6–9
I/O Banks
In Arria II devices, the maximum number of I/O banks per side, excluding the
configuration banks, is either four or six, depending on the device density. All Arria II
devices support migration across device densities and packages. When migrating
between devices with a different number of I/O banks per side, it is the "B" bank that
is removed or inserted. For example, when moving from a 12-bank device to an
8-bank device, the banks that are dropped are "B" banks, namely: 3B, 5B, 6B, and 8B.
Similarly, when moving from an 8-bank device to a 12-bank device, the banks that are
added are "B" banks, namely: 3B, 5B, 6B, and 8B.
During migration from a smaller device to a larger device, the bank size increases or
remains the same but never decreases. Table 6–5 and Table 6–6 list the pin migration
across device densities and packages.
Table 6–5. Pin Migration Across Densities in Arria II GX Devices (Note 1)
Device
Package
Pin Type
EP2AGX45 EP2AGX65 EP2AGX95 EP2AGX125 EP2AGX190 EP2AGX260
I/O
144
12
4
144
12
4
—
—
—
—
—
—
—
—
358-pin
Flip Chip
UBGA
Clock
XCVR channel
I/O
—
—
—
—
240
12
8
240
12
8
248
12
248
12
—
—
572-pin
Flip Chip
FBGA
Clock
—
—
XCVR channel
I/O
8
8
—
—
352
12
8
352
12
8
360
12
360
12
360
12
360
12
780-pin
Flip Chip
FBGA
Clock
XCVR channel
I/O
12
12
12
12
—
—
—
—
—
—
440
12
440
12
600
12
600
12
1152-pin
Flip Chip
FBGA
Clock
XCVR channel
12
12
16
16
Note to Table 6–5:
(1) Each transceiver channel consists of two transmit (Tx) pins, two receive (Rx) pins and a transceiver clock pin.
Table 6–6. Pin Migration Across Densities in Arria II GZ Devices (Note 1) (Part 1 of 2)
Device
Package
Pin Type
EP2AGZ225
EP2AGZ300
EP2AGZ350
I/O
—
—
280
1
280
1
780-pin
Clock
Flip Chip FBGA
XVCR channel
—
16
16
I/O
550
4
550
4
550
4
1152-pin
Clock
Flip Chip FBGA
XVCR channel
16
16
16
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–10
Chapter 6: I/O Features in Arria II Devices
I/O Structure
Table 6–6. Pin Migration Across Densities in Arria II GZ Devices (Note 1) (Part 2 of 2)
Device
Package
Pin Type
EP2AGZ225
EP2AGZ300
EP2AGZ350
I/O
726
8
726
8
726
8
1517-pin
Clock
Flip Chip FBGA
XVCR channel
24
24
24
Note to Table 6–6:
(1) Each transceiver channel consists of two Tx pins, two Rx pins and a transceiver clock pin.
I/O Structure
The I/O element (IOE) in the Arria II devices contains a bidirectional I/O buffer and
I/O registers to support a completely embedded bidirectional single data rate (SDR)
or double data rate (DDR) transfer. The IOEs are located in I/O blocks around the
periphery of the Arria II device. There are up to four IOEs per row I/O block and four
IOEs per column I/O block. The row IOEs drive row, column, or direct link
interconnects. The column IOEs drive column interconnects.
The Arria II bidirectional IOE supports the following features:
■
■
■
■
■
■
■
■
■
■
■
■
Programmable input delay
Programmable output-current strength
Programmable slew rate
Programmable bus-hold
Programmable pull-up resistor
Programmable output delay
Open-drain output
RS OCT
RD OCT
RT OCT for Arria II GZ devices
Dynamic OCT for Arria II GZ devices
PCI clamping diode
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–11
I/O Structure
I/O registers are composed of the input path for handling data from the pin to the
core, the output path for handling data from the core to the pin, and the output enable
path for handling the OEsignal to the output buffer. These registers allow faster
source-synchronous register-to-register transfers and resynchronization. You can
bypass each block of the output and output enable paths. Figure 6–3 and Figure 6–4
show the Arria II IOE structure.
Figure 6–3. IOE Structure for Arria II GX Devices
OE Register
PRN
OE
from
Core
Q
D
Output Enable
Pin Delay
OE Register
PRN
VCCIO
D
Q
VCCIO
PCI Clamp
Programmable
Pull-Up Resistor
Programmable
Current
Output Register
PRN
From OCT
Calobration
Block
Strength and
Slew Rate
Control
D
Q
Write
Data
form
Core
Output Buffer
On-Chip
Termination
Output Pin
Delay
Output Register
PRN
Open Drain
D
Q
Input Buffer
Input Pin Delay
to Input Register
To
Core
Bus-Hold
Circuit
To
Core
Input Pin Delay
to internal Cells
Input Register
PRN
D
Q
Read
Data
to
Synchronization
Registers
Core
Input Register
PRN
Input Register
PRN
D
Q
D
Q
DQS
CQn
DQS Bus
to
clkin
Input Register Delay
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–12
Chapter 6: I/O Features in Arria II Devices
I/O Structure
Figure 6–4. IOE Structure for Arria II GZ Devices (Note 1), (2)
Firm Core
DQS Logic Block
D6_OCT
OE Register
PRN
D5_OCT
OE
from
Core
2
Half Data
Rate Block
Dynamic OCT Control (2)
D
Q
OE Register
PRN
V
CCIO
D5, D6
Delay
D
Q
V
CCIO
PCI Clamp
Programmable
Pull-Up Resistor
Programmable
Current
Strength and
Slew Rate
Control
From OCT
Calibration
Block
Output Register
PRN
Write
Data
from
Core
D
Q
Half Data
Rate Block
4
Output Buffer
D5, D6
Delay
On-Chip
Termination
Output Register
PRN
Open Drain
D
Q
D2 Delay
Input Buffer
D3_0
Delay
clkout
To
Core
Bus-Hold
Circuit
D1
Delay
Input Register
PRN
To
Core
D3_1
Delay
D
Q
Read
Data
to
4
Half Data
Rate Block
Core
Input Register
PRN
Input Register
PRN
D
Q
D
Q
DQS
CQn
D4 Delay
clkin
Notes to Figure 6–4:
®
(1) The D3_0 and D3_1 delays have the same available settings in the Quartus II software.
(2) One dynamic OCT control is available per DQ/DQS group.
f
For more information about I/O registers and how they are used for memory
applications, refer to the External Memory Interfaces in Arria II Devices chapter.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–13
I/O Structure
3.3-V I/O Interface
Arria II I/O buffers support 3.3-V I/O standards. You can use them as transmitters or
receivers in your system. The output high voltage (VOH), output low voltage (VOL),
input high voltage (VIH), and input low voltage (VIL) levels meet the 3.3-V I/O
standard specifications defined by EIA/JEDEC Standard JESD8-B with margin when
the VCCIO voltage is powered by 3.3 V or 3.0 V for Arria II GX devices and 3.0 V only
for Arria II GZ devices.
To ensure device reliability and proper operation when interfacing a 3.3-V I/O system
with Arria II devices, do not exceed the absolute maximum ratings. Altera
recommends performing IBIS simulation to determine that the overshoot and
undershoot voltages are within the guidelines.
When you use the Arria II device as a transmitter, techniques to limit overshoot and
undershoot at the I/O pins include using slow slew rate and series termination.
Transmission line effects that cause large voltage deviations at the receiver are
associated with an impedance mismatch between the driver and transmission line. By
matching the impedance of the driver to the characteristic impedance of the
transmission line, you can significantly reduce overshoot voltage. You can use a series
termination resistor placed physically close to the driver to match the total driver
impedance to transmission line impedance. Other than 3.3-V LVTTL and 3.3-V
LVCMOS I/O standards, Arria II devices support RS OCT for all LVTTL/LVCMOS
I/O standards in all I/O banks.
When you use the Arria II device as a receiver, use a clamping diode (on-chip or
off-chip) to limit overshoot. Arria II devices provide an optional on-chip PCI clamp
diode for I/O pins. You can use this diode to protect I/O pins against overshoot
voltage.
Another method for limiting overshoot is to use a 3.0-V VCCIO bank supply voltage. In
this method, the clamp diode (on-chip or off-chip), can sufficiently clamp overshoot
voltage in the DC- and AC-input voltage specification. The clamped voltage can be
expressed as the sum of the supply voltage (VCCIO) and the diode forward voltage. By
using the VCCIO at 3.0 V, you can reduce overshoot and undershoot for all I/O
standards, including 3.3-V LVTTL/LVCMOS, 3.0-V LVTTL/LVCMOS, and 3.0-V
PCI/PCI-X. Additionally, lowering VCCIO to 3.0 V reduces power consumption.
f
For more information about the absolute maximum rating and maximum allowed
overshoot during transitions, refer to the Devices Datasheet for Arria II Devices chapter.
External Memory Interfaces
In addition to I/O registers in each IOE, Arria II devices also have dedicated registers
and phase-shift circuitry on all I/O banks for interfacing with external memory
interfaces.
f
For more information about external memory interfaces, refer to the External Memory
Interfaces in Arria II Devices chapter.
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–14
Chapter 6: I/O Features in Arria II Devices
I/O Structure
High-Speed Differential I/O with DPA Support
Arria II devices have the following dedicated circuitry for high-speed differential I/O
support:
■
■
■
■
■
■
■
Differential I/O buffer
Transmitter serializer
Receiver deserializer
Data realignment circuitry
Dynamic phase aligner (DPA)
Synchronizer (FIFO buffer)
Phase-locked loops (PLLs)
f
For more information about DPA support, refer to the High-Speed Differential I/O
Interfaces and DPA in Arria II Devices chapter.
Programmable Current Strength
The output buffer for each Arria II I/O pin has a programmable current-strength
control for certain I/O standards. You can use programmable current strength to
mitigate the effects of high signal attenuation due to a long transmission line or a
legacy backplane. The LVTTL, LVCMOS, SSTL, and HSTL standards have several
levels of current strength that you can control. Table 6–7 and Table 6–8 list the
programmable current strength settings for Arria II devices.
Table 6–7. Programmable Current Strength for Arria II GX Devices (Note 1) (Part 1 of 2)
IOL / IOH Current Strength Setting (mA)
I/O Standard
for Top, Bottom, and Right I/O Pins
3.3-V LVTTL (2)
3.3-V LVCMOS (2)
3.0-V LVTTL
[12], 8, 4
[2]
16, 12, 8, 4
16, 12, 8, 4
16, 12, 8, 4
16, 12, 10, 8, 6, 4, 2
16, 12, 10, 8, 6, 4, 2
12, 10, 8, 6, 4, 2
12, 8
3.0-V LVCMOS
2.5-V LVTTL/LVCMOS
1.8-V LVTTL/LVCMOS
1.5-V LVCMOS
1.2-V LVCMOS
SSTL-2 Class I
SSTL-2 Class II
SSTL-18 Class I
SSTL-18 Class II
SSTL-15 Class I
HSTL-18 Class I
HSTL-18 Class II
HSTL-15 Class I
HSTL-15 Class II
16
12, 10, 8
16, 12
12, 10, 8
12, 10, 8
16
12, 10, 8
16
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–15
I/O Structure
Table 6–7. Programmable Current Strength for Arria II GX Devices (Note 1) (Part 2 of 2)
IOL / IOH Current Strength Setting (mA)
for Top, Bottom, and Right I/O Pins
I/O Standard
HSTL-12 Class I
HSTL-12 Class II
BLVDS
12, 10, 8
16
8, 12, 16
Notes to Table 6–7:
(1) The default current strength setting in the Quartus II software is 50- RS OCT without calibration for all
non-voltage reference and HSTL/SSTL Class I I/O standards. The default setting is 25- RS OCT without calibration
for HSTL/SSTL Class II I/O standards.
(2) The default current strength setting in the Quartus II software is the current strength shown in brackets [].
Table 6–8. Programmable Current Strength for Arria II GZ Devices (Note 1), (2)
IOH / IOL Current Strength
Setting (mA) for
IOH / IOL Current Strength
Setting (mA) for
I/O Standard
Column I/O Pins
Row I/O Pins
3.3-V LVTTL
16, 12, 8, 4
16, 12, 8, 4
16, 12, 8, 4
12, 10, 8, 6, 4, 2
12, 10, 8, 6, 4, 2
8, 6, 4, 2
12, 8, 4
8, 4
3.3-V LVCMOS
2.5-V LVCMOS
1.8-V LVCMOS
1.5-V LVCMOS
1.2-V LVCMOS
SSTL-2 Class I
SSTL-2 Class II
SSTL-18 Class I
SSTL-18 Class II
SSTL-15 Class I
SSTL-15 Class II
HSTL-18 Class I
HSTL-18 Class II
HSTL-15 Class I
HSTL-15 Class II
HSTL-12 Class I
HSTL-12 Class II
Notes to Table 6–8:
12, 8, 4
8, 6, 4, 2
8, 6, 4, 2
4, 2
12, 10, 8
12, 8
16
16
12, 10, 8, 6, 4
16, 8
12, 10, 8, 6, 4
16, 8
12, 10, 8, 6, 4
16, 8
8, 6, 4
—
12, 10, 8, 6, 4
16
12, 10, 8, 6, 4
16
12, 10, 8, 6, 4
16
8, 6, 4
—
12, 10, 8, 6, 4
16
8, 6, 4
—
(1) The default setting in the Quartus II software is 50- RS OCT without calibration for all non-voltage reference and
HSTL and SSTL Class I I/O standards. The default setting is 25- RS OCT without calibration for HSTL and SSTL
Class II I/O standards.
(2) The 3.3-V LVTTL and 3.3-V LVCMOS are supported using VCCIO and VCCPD at 3.0 V.
1
Altera recommends performing IBIS or SPICE simulations to determine the right
current strength setting for your specific application.
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–16
Chapter 6: I/O Features in Arria II Devices
I/O Structure
Programmable Slew Rate Control
The output buffer for each Arria II device regular- and dual-function I/O pin has a
programmable output slew rate control that you can configure for low-noise or
high-speed performance. A faster slew rate provides high-speed transitions for
high-performance systems. A slow slew rate can help reduce system noise, but adds a
nominal delay to the rising and falling edges. Each I/O pin has an individual slew
rate control, allowing you to specify the slew rate on a pin-by-pin basis.
1
You cannot use the programmable slew rate feature with RS OCT.
Table 6–9 lists the default slew rate settings from the Quartus II software.
Table 6–9. Default Slew Rate Settings for Arria II Devices
I/O Standard
Arria II GX Device
Arria II GZ Device
Default
Default
Slew
Slew
Slew
Slew
Rate
Rate
Rate
Rate
Option
(Fast)
Option
(Fast)
1.2-V, 1.5-V, 1.8-V, 2.5-V LVCMOS, and 3.3-V LVTTL/LVCMOS (1)
SSTL-2, SSTL-18, SSTL-15, HSTL-18, HSTL-15, and HSTL-12
3.0-V PCI/PCI-X
0, 1
1
1
1
1
1
1
0, 1, 2, 3
0, 1, 2, 3
0, 1, 2, 3
0, 1, 2, 3
0, 1, 2, 3
3
3
3
3
3
0, 1
1
LVDS_E_1R, mini-LVDS_E_1R, and RSDS_E_1R (2)
LVDS_E_3R, mini-LVDS_E_3R, and RSDS_E_3R
1
Notes to Table 6–9:
(1) Programmable slew rate is not supported for 3.3-V LVTTL/LVCMOS in Arria II GX devices.
(2) LVDS_E_1R and mini-LVDS_E_1R is not supported in Arria II GX devices.
You can use faster slew rates to improve the available timing margin in
memory-interface applications or when the output pin has high-capacitive loading.
1
Altera recommends performing IBIS or SPICE simulations to determine the right slew
rate setting for your specific application.
Open-Drain Output
Arria II devices provide an optional open-drain output (equivalent to an open
collector output) for each I/O pin. When configured as open drain, the logic value of
the output is either high-Z or 0. You must use an external pull-up resistor to pull the
high-Z output to logic high.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–17
I/O Structure
Bus Hold
Each Arria II device I/O pin provides an optional bus-hold feature. Bus-hold circuitry
can weakly hold the signal on an I/O pin at its last-driven state. Because the bus-hold
feature holds the last-driven state of the pin until the next input signal is present, an
external pull-up or pull-down resistor is not required to hold a signal level when the
bus is tri-stated.
Bus-hold circuitry also pulls non-driven pins away from the input threshold voltage
where noise can cause unintended high-frequency switching. You can select this
feature individually for each I/O pin. The bus-hold output drives no higher than
VCCIO to prevent over-driving signals. If you enable the bus-hold feature, you cannot
use the programmable pull-up option. The bus-hold feature is disabled if the I/O pin
is configured for differential signals.
Bus-hold circuitry uses a resistor with a nominal resistance to weakly pull the
last-driven state and is active only after configuration. When going into user mode,
the bus-hold circuit captures the value on the pin present at the end of configuration.
f
For more information about the specific sustaining current driven through this
resistor and the overdrive current used to identify the next-driven input level, refer to
Device Datasheet for Arria II Devices chapter.
Programmable Pull-Up Resistor
Each Arria II device I/O pin provides an optional programmable pull-up resistor
during user mode. If you enable this feature for an I/O pin, the pull-up resistor
weakly holds the I/O to the VCCIO level.
Programmable pull-up resistors are only supported on user I/O pins and are not
supported on dedicated configuration pins, JTAG pins, or dedicated clock pins. If you
enable the programmable pull-up option, you cannot use the bus-hold feature.
Programmable Pre-Emphasis
Arria II LVDS transmitters support programmable pre-emphasis to compensate the
frequency dependent attenuation of the transmission line. For programmable
pre-emphasis control, the Quartus II software allows two settings for Arria II GX
devices and four settings for Arria II GZ devices.
f
For more information about programmable pre-emphasis, refer to the High-Speed
Differential I/O Interfaces and DPA in Arria II Devices chapter.
Programmable Differential Output Voltage
Arria II LVDS transmitters support programmable VOD. Programmable VOD settings
allow you to adjust output eye height to optimize trace length and power
consumption. A higher VOD swing improves voltage margins at the receiver end,
while a smaller VOD swing reduces power consumption.
f
For more information about programmable VOD, refer to the High-Speed Differential I/O
Interfaces and DPA in Arria II Devices chapter.
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–18
Chapter 6: I/O Features in Arria II Devices
I/O Structure
MultiVolt I/O Interface
Arria II architecture supports the MultiVolt I/O interface feature that allows Arria II
devices in all packages to interface with systems of different supply voltages.
You can connect the VCCIOpins to a power supply voltage level listed in Table 6–10,
depending on the output requirements. The output levels are compatible with
systems of the same voltage as the power supply. (For example, when VCCIOpins are
connected to a 1.5-V power supply, the output levels are compatible with 1.5-V
systems).
You must connect the Arria II GX VCCPDpower pins to a 2.5-, 3.0-, or 3.3-V power
supply and the Arria II GZ VCCPDpower pins to a 2.5- or 3.0-V power supply. Using
these power pins to supply the pre-driver power to the output buffers increases the
performance of the output pins. Table 6–10 lists the Arria II MultiVolt I/O support.
Table 6–10. MultiVolt I/O Support for Arria II Devices (Note 1)
Input Signal (V)
Output Signal (V)
VCCIO (V)
(2)
1.2
v
—
—
1.5
—
1.8
—
2.5
—
—
—
3.0
—
—
—
3.3
—
—
—
1.2
v
—
—
1.5
—
v
—
1.8
—
—
v
2.5
—
—
—
3.0
—
—
—
3.3
—
—
—
1.2
1.5
1.8
v
v
v
v
v
v
2.5
—
—
—
v
—
—
—
v
—
—
(3) (4)
(3) (4)
3.0
—
—
—
—
—
—
v
v
v(4)
v(4)
v(4)
v(4)
—
—
—
—
—
—
—
—
v
—
3.3 (5)
—
v
Notes to Table 6–10:
(1) The pin current may be slightly higher than the default value. You must verify that the driving device’s VOL maximum and VOH minimum voltages
do not violate the applicable Arria II VIL maximum and VIH minimum voltage specifications.
(2) Each I/O bank of an Arria II device has its own VCCIOpins and supports only one VCCIO, either 1.2, 1.5, 1.8, 2.5, 3.0, or 3.3 V. The LVDS I/O standard
is not supported when VCCIO is 3.0 or 3.3 V. The LVDS input operations are supported when VCCIO is 1.2, 1.5, 1.8, or 2.5 V. The LVDS output
operations are only supported when VCCIO is 2.5 V.
(3) Altera recommends using an external clamp diode when VCCIO is 2.5 V and the input signal is 3.0 or 3.3 V.
(4) Altera recommends using an external clamp diode on the row I/O pins when the input signal is 3.0 or 3.3 V for Arria II GZ devices.
(5) Not applicable for Arria II GZ devices.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–19
OCT Support
OCT Support
Arria II devices feature OCT to provide I/O impedance matching and termination
capabilities. OCT maintains signal quality, saves board space, and reduces external
component costs.
Arria II devices support the following features:
■
■
■
■
■
■
■
“RS OCT Without Calibration for Arria II Devices”
“RS OCT with Calibration for Arria II Devices”
“Left-Shift RS OCT Control for Arria II GZ Devices”
“Expanded RS OCT with Calibration for Arria II GZ Devices”
“RD OCT for Arria II LVDS Input I/O Standard”
“RT OCT with Calibration for Arria II GZ Devices”
“Dynamic RS and RT OCT for Single-Ended I/O Standard for Arria II GZ Devices”
Arria II devices support OCT in all user I/O banks by selecting one of the OCT I/O
standards. Arria II devices support OCT in the same I/O bank with different I/O
standards if they use the same VCCIO supply voltage. You can independently
configure each I/O buffer in an I/O bank to support OCT or programmable current
strength. However, you cannot configure both RS OCT and programmable current
strength for the same I/O buffer.
A pair of RUPand RDNpins are available in a given I/O bank for Arria II GX
series-calibrated termination and shared for Arria II GZ series- and parallel-calibrated
termination. RUPand RDNpins share the same VCCIO and GND, respectively, with the
I/O bank where they are located. RUPand RDNpins are dual-purpose I/Os, and
function as regular I/Os if you do not use the calibration circuit.
For RS OCT, the connections are as follows:
■
■
The RUPpin is connected to VCCIO through an external 25- 1% or 50- 1%
resistor for an on-chip series termination value of 25- or 50-, respectively.
The RDNpin is connected to GND through an external 25- 1% or 50- 1%
resistor for an RS OCT value of 25-or 50-, respectively.
For RT OCT, the connections are as follows:
■
■
The RUPpin is connected to VCCIO through an external 50- 1% resistor.
The RDNpin is connected to GND through an external 50- 1% resistor.
RS OCT Without Calibration for Arria II Devices
Arria II devices support driver-impedance matching to provide the I/O driver with
controlled output impedance that closely matches the impedance of the transmission
line. As a result, you can significantly reduce reflections. Arria II devices support
RS OCT for single-ended I/O standards.
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–20
Chapter 6: I/O Features in Arria II Devices
OCT Support
The RS shown in Figure 6–5 is the intrinsic impedance of output transistors. The
typical RS values are 25 and 50 .
Figure 6–5. RS OCT without Calibration for Arria II Devices
Arria II GX Driver
Series Termination
Receiving
Device
V
CCIO
R
S
S
Z
= 50
O
R
GND
To use OCT for:
■
SSTL Class I standard—select the 50-on-chip series termination setting, thus
eliminating the external 25- RS (to match the 50- transmission line).
■
SSTL Class II standard—select the 25- on-chip series termination setting (to
match the 50- transmission line and the near-end external 50- pull-up to VTT).
RS OCT with Calibration for Arria II Devices
Arria II devices support RS OCT with calibration in all I/O banks. The RS OCT
calibration circuit compares the total impedance of the I/O buffer to the external
25- 1% or 50- 1% resistors connected to the RUPand RDNpins, and dynamically
enables or disables the transistors until they match.
The RS shown in Figure 6–6 is the intrinsic impedance of transistors. Calibration
occurs at the end of device configuration. When the calibration circuit finds the
correct impedance, it powers down and stops changing the characteristics of the
drivers.
Figure 6–6. RS OCT with Calibration for Arria II Devices
Arria II Driver
Series Termination
Receiving
Device
V
CCIO
R
S
S
Z
= 50
O
R
GND
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–21
OCT Support
Table 6–11 lists the I/O standards that support RS OCT with and without calibration.
Table 6–11. RS OCT Selectable I/O Standards With and Without Calibration for Arria II Devices
RS OCT Termination Setting
I/O Standard
Row I/O ()
Column I/O ()
50
25
50
25
50
25
50
25
50
25
50
25
50
25
50
25
50
25
50
25
50
25
50
25
50
25
3.3-V LVTTL/LVCMOS (1), (2)
3.0-V LVTTL/LVCMOS
2.5-V LVTTL/LVCMOS
1.8-V LVTTL/LVCMOS
1.5-V LVCMOS
50
25
50
25
50
25
50
25 (3)
50
1.2-V LVCMOS
25 (3)
50
SSTL-2 Class I
SSTL-2 Class II
SSTL-18 Class I
SSTL-18 Class II
SSTL-15 Class I
SSTL-15 Class II (2)
HSTL-18 Class I
HSTL-18 Class II
HSTL-15 Class I
HSTL-15 Class II
HSTL-12 Class I
HSTL-12 Class II
Notes to Table 6–11:
25
50
25
50
—
50
25
50
25 (3)
50
25 (3)
(1) The 3.3-V LVTTL/LVCMOS standard is supported using VCCIO at 3.0 V.
(2) Applicable for Arria II GZ devices only.
(3) Applicable for Arria II GX devices only.
Left-Shift RS OCT Control for Arria II GZ Devices
Arria II GZ devices support left-shift series termination control. You can use left-shift
series termination control to get the calibrated RS OCT with half of the impedance
value of the external reference resistors connected to the RUPand RDNpins. This feature
is useful in applications that require both 25- and 50- calibrated RS OCT at the
same VCCIO. For example, if your application requires 25- and 50- calibrated
RS OCT for SSTL-2 Class I and Class II I/O standards, you only need one OCT
calibration block with 50- external reference resistors.
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–22
Chapter 6: I/O Features in Arria II Devices
OCT Support
You can enable the left-shift series termination control feature in the ALTIOBUF
megafunction in the Quartus II software. The Quartus II software only allows
left-shift series termination control for 25- calibrated RS OCT with 50- external
reference resistors connected to the RUPand RDNpins. You can only use left-shift series
termination control for the I/O standards that support 25- calibrated RS OCT.
1
This feature is automatically enabled if you are using a bidirectional I/O with 25-
calibrated RS OCT and 50- RT OCT.
f
For more information about how to enable the left-shift series termination feature in
the ALTIOBUF megafunction, refer to the I/O Buffer (ALTIOBUF) Megafunction User
Guide.
Expanded RS OCT with Calibration for Arria II GZ Devices
OCT calibration circuits always adjust RS OCT to match the external resistors
connected to the RUPand RDNpin; however, it is possible to achieve RS OCT values
other than the 25- and 50- resistors. Theoretically, if you need a different RS OCT
value, you can change the resistance connected to the RUPand RDNpins accordingly.
Practically, the RS OCT range that Arria II GZ devices support is limited because of
output buffer size and granularity limitations.
The Quartus II software only allows discrete RS OCT calibration settings of 25, 40, 50,
and 60 . You can select the closest discrete value of RS OCT with calibration settings
in the Quartus II software to your system to achieve the closest timing. For example, if
you are using 20- RS OCT with calibration in your system, you can select the 25-
RS OCT with calibration setting in the Quartus II software to achieve the closest
timing.
Table 6–12 lists expanded RS OCT with calibration supported in Arria II devices. Use
expanded RS OCT with calibration of SSTL and HSTL for impedance matching to
improve signal integrity but do not use it to meet the JEDEC standard.
Table 6–12. Selectable I/O Standards with Expanded RS OCT with Calibration Range for Arria II GZ
Devices
Expanded RS OCT Range
I/O Standard
Row I/O ()
20–60
20–60
20–60
40–60
40–60
20–60
20–60
40–60
20–60
40–60
40–60
Column I/O ()
3.3-V LVTTL/LVCMOS
2.5-V LVTTL/LVCMOS
1.8-V LVTTL/LVCMOS
1.5-V LVTTL/LVCMOS
1.2-V LVTTL/LVCMOS
SSTL-2
20–60
20–60
20–60
20–60
20–60
20–60
SSTL-18
20–60
SSTL-15
20–60
HSTL-18
20–60
HSTL-15
20–60
HSTL-12
20–60
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–23
OCT Support
RD OCT for Arria II LVDS Input I/O Standard
All I/O banks in Arria II GX devices support input RD OCT with a nominal resistance
value of 100 , as shown in Figure 6–7. However, not all input differential pins
support RD OCT. You can enable RD OCT when both the VCCIO and VCCPD is set to
2.5 V.
Arria II GZ column I/O banks and dedicated clock input pairs on the row I/O banks
do not support RD OCT. You can enable the Arria II GZ RD OCT in row I/O banks
when both the VCCIO and VCCPD is set to 2.5 V.
Figure 6–7. Differential Input On-Chip Termination for Arria II Devices
Transmitter
Receiver
Z
Z
= 50 Ω
= 50 Ω
O
100 Ω
O
f
For more information about RD OCT, refer to the High-Speed Differential I/O Interfaces
and DPA in Arria II Devices chapter.
RT OCT with Calibration for Arria II GZ Devices
Arria II GZ devices support RT OCT with calibration in all banks. RT OCT with
calibration is only supported for input configuration of input and bidirectional pins.
Output pin configurations do not support RT OCT with calibration. Figure 6–8 shows
RT OCT with calibration. When you use RT OCT, the VCCIO of the bank must match the
I/O standard of the pin where the RT OCT is enabled.
Figure 6–8. RT OCT with Calibration for Arria II GZ Devices
Arria II GZ OCT
V
CCIO
100
Z
= 50
O
V
REF
100
GND
Transmitter
Receiver
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–24
Chapter 6: I/O Features in Arria II Devices
OCT Support
The RT OCT calibration circuit compares the total impedance of the I/O buffer to the
external 50- 1% resistors connected to the RUPand RDNpins and dynamically
enables or disables the transistors until they match. Calibration occurs at the end of
device configuration. When the calibration circuit finds the correct impedance, it
powers down and stops changing the characteristics of the drivers. Table 6–13 lists the
I/O standards that support RT OCT with calibration.
Table 6–13. Selectable I/O Standards with RT OCT with Calibration for Arria II GZ Devices
RT OCT Setting
RT OCT Setting
I/O Standard
SSTL-2 Class I, II
(Column I/O) ()
(Row I/O) ()
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
SSTL-18 Class I, II
SSTL-15 Class I, II
HSTL-18 Class I, II
HSTL-15 Class I, II
HSTL-12 Class I, II
Differential SSTL-2 Class I, II
Differential SSTL-18 Class I, II
Differential SSTL-15 Class I, II
Differential HSTL-18 Class I, II
Differential HSTL-15 Class I, II
Differential HSTL-12 Class I, II
Dynamic RS and RT OCT for Single-Ended I/O Standard for Arria II GZ Devices
Arria II GZ devices support on and off dynamic termination, both series and parallel,
for a bidirectional I/O in all I/O banks. Figure 6–9 shows the termination schemes
supported in Arria II GZ devices. Dynamic parallel termination is enabled only when
the bidirectional I/O acts as a receiver and is disabled when it acts as a driver.
Similarly, dynamic series termination is enabled only when the bidirectional I/O acts
as a driver and is disabled when it acts as a receiver. This feature is useful for
terminating any high-performance bidirectional path because signal integrity is
optimized depending on the direction of the data.
Using dynamic OCT helps save power because device termination is internal instead
of external. Termination only switches on during input operation, thus drawing less
static power.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–25
OCT Support
Figure 6–9. Dynamic RT OCT in Arria II GZ Devices
VCCIO
VCCIO
Transmitter
Receiver
100
100
100
50
Z
= 50
O
1100
500
GND
GND
Arria II GZ OCT
Arria II GZ OCT
VCCIO
VCCIO
100
100
100
500
Z
= 50
O
100
50
GND
GND
Transmitter
Receiver
Arria II GZ OCT
Arria II GZ OCT
f
For more information about tolerance specifications for OCT with calibration, refer to
the Device Datasheet for Arria II Devices chapter.
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–26
Chapter 6: I/O Features in Arria II Devices
Arria II OCT Calibration
Arria II OCT Calibration
Arria II GX devices support calibrated RS OCT and Arria II GZ devices support
calibrated RS and RT OCT on all I/O pins. You can calibrate the I/O banks with any of
the OCT calibration blocks available in the device provided the VCCIO of the I/O bank
with the pins using calibrated OCT matches the VCCIO of the I/O bank with the
calibration block and its associated RUPand RDNpins.
f
For more information about the location of the OCT calibration blocks in Arria II
devices, refer to the Arria II Device Family Connection Guidelines and Arria II Device
Pin-Outs.
OCT Calibration Block
An OCT calibration block has the same VCCIO as the I/O bank that contains the block.
RS OCT calibration is supported on all user I/O banks with different VCCIO voltage
standards, up to the number of available OCT calibration blocks. You can configure
I/O banks to receive calibrated codes from any OCT calibration block with the same
VCCIO. All I/O banks with the same VCCIO can share one OCT calibration block, even if
that particular I/O bank has an OCT calibration block.
For example, Figure 6–10 shows a group of I/O banks that has the same VCCIO
voltage. If a group of I/O banks has the same VCCIO voltage, you can use one OCT
calibration block to calibrate the group of I/O banks placed around the periphery.
Because banks 3B, 4C, 6C, and 7B have the same VCCIO as bank 7A, you can calibrate
all four I/O banks (3B, 4C, 6C, and 7B) with the OCT calibration block (CB7) located
in bank 7A. You can enable this by serially shifting out RS OCT calibration codes from
the OCT calibration block located in bank 7A to the I/O banks located around the
periphery.
1
I/O banks that do not contain calibration blocks share calibration blocks with I/O
banks that do contain calibration blocks.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–27
Arria II OCT Calibration
Figure 6–10 is a top view example of the Arria II GZ silicon die that corresponds to a
reverse view for flip chip packages. It is a graphical representation only. This figure
does not show transceiver banks and transceiver calibration blocks.
Figure 6–10. Example of Calibrating Multiple I/O Banks with One Shared OCT Calibration Block in
Arria II GZ Devices
Bank 1A
Bank 1C
Bank 2C
Bank 2A
Bank 6A
Bank 6C
Bank 5C
Bank 5A
I/O bank with the same VCCIO
I/O bank with different VCCIO
Arria II GZ Device
f
For more information about the OCT calibration block, refer to the ALT_OCT
Megafunction User Guide.
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–28
Chapter 6: I/O Features in Arria II Devices
Termination Schemes for I/O Standards
Termination Schemes for I/O Standards
The following section describes the different termination schemes for I/O standards
used in Arria II devices.
Single-Ended I/O Standards Termination
Voltage-referenced I/O standards require both an input reference voltage (VREF) and a
termination voltage (VTT). The reference voltage of the receiving device tracks the
termination voltage of the transmitting device.
Figure 6–11 shows the details of SSTL I/O termination on Arria II devices.
Figure 6–11. SSTL I/O Standard Termination for Arria II Devices
Termination
SSTL Class I
SSTL Class II
V
TT
V
TT
V
TT
50
25
50
50
External
On-Board
Termination
25
50
V
REF
50
V
REF
Receiver
Transmitter
Receiver
Transmitter
V
TT
V
V
TT
TT
Series OCT
Series OCT25
50
50
50
50
50 8
OCT
Transmit
50
V
V
REF
REF
Transmitter
Receiver
Receiver
Transmitter
V
CCIO
100
V
TT
V
Parallel OCT
CCIO
Parallel OCT
50
100
25
25
50
50
V
OCT
Receive (1)
V
REF
REF
100
100
Transmitter
V
Series OCT
50
Receiver
Transmitter
V
Receiver
CCIO
CCIO
V
V
CCIO
CCIO
Series OCT
25
OCT
in Bi-
Directional
Pins (1)
100
100
100
100
100
100
50
50
100
100
Series
Series
OCT 50
OCT 25
Transmitter
Receiver
Receiver
Transmitter
Note to Figure 6–11:
(1) Applicable to Arria II GZ devices only.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–29
Termination Schemes for I/O Standards
Figure 6–12 shows the details of HSTL I/O termination on Arria II devices.
Figure 6–12. HSTL I/O Standard Termination for Arria II Devices
HSTL Class II
Termination
HSTL Class I
V
V
V
TT
TT
TT
External
On-Board
Termination
50
50
50
50
50
V
V
REF
REF
Transmitter
Transmitter
Receiver
Receiver
V
V
TT
TT
V
TT
25
Series OCT
50
Series OCT
50 50
50
50
50
OCT
Transmit
V
V
REF
REF
Transmitter
Receiver
Transmitter
Receiver
V
TT
V
CCIO
V
CCIO
Parallel OCT
Parallel OCT
50
100
100
50
REF
50
OCT
Receive (1)
V
V
REF
100
Receiver
100
Receiver
Transmitter
V
Transmitter
V
CCIO
V
CCIO
V
CCIO
CCIO
Series OCT
Series OCT
25
OCT
in Bi-
50
100
100
100
100
Directional
Pins (1)
50
50 8
100
100
100
100
Series
Series
OCT 25
Receiver
OCT 50
Receiver
Transmitter
Transmitter
Note to Figure 6–12:
(1) Applicable to Arria II GZ devices only.
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–30
Chapter 6: I/O Features in Arria II Devices
Termination Schemes for I/O Standards
Differential I/O Standards Termination
Arria II devices support differential SSTL-2 and SSTL-18, differential HSTL-18,
HSTL-15, HSTL-12, LVDS, LVPECL, RSDS, and mini-LVDS. Figure 6–13 through
Figure 6–14 show the details of various differential I/O terminations on Arria II
devices.
1
Differential HSTL and SSTL outputs are not true differential outputs. They use two
single-ended outputs with the second output programmed as inverted.
Figure 6–13 shows the details of differential SSTL I/O standard termination on
Arria II devices.
Figure 6–13. Differential SSTL I/O Standard Termination for Arria II Devices
Termination
Differential SSTL Class II
Differential SSTL Class I
V
V
V
TT
TT
V
TT
50 Ω
TT
50 Ω
V
TT
V
TT
50 Ω
50 Ω
50 Ω
25 Ω
50 Ω
50 Ω
External
On-Board
Termination
25 Ω
25 Ω
50 Ω
25 Ω
50 Ω
50 Ω
Transmitter
Receiver
Receiver
Transmitter
Differential SSTL Class I
Differential SSTL Class II
V
TT
50 Ω
V
V
V
TT
50 Ω
= 50 Ω
TT
50 Ω
Series OCT 50 Ω
Series OCT 25 Ω
R
OCT for
S
Z
0
= 50 Ω
Z0
Arria II GX
Devices
V
TT
V
TT
50 Ω
= 50 Ω
TT
50 Ω
50 Ω
Z
0
= 50 Ω
Z0
Receiver
Transmitter
Receiver
Transmitter
Differential SSTL Class I
Differential SSTL Class II
Parallel OCT
100
V
Parallel OCT
100
Series OCT 25 Ω
TT
50
= 50
V
V
CCIO
CCIO
Series OCT 50 Ω
100
100
Z
0
= 50
Z0
100
GND
100
100
GND
100
R
R
OCT and
OCT for
V
TT
50
= 50
S
T
V
CCIO
V
CCIO
Arria II GZ
Devices
Z
0= 50
Z0
100
100
GND
Receiver
GND
Receiver
Transmitter
Transmitter
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–31
Termination Schemes for I/O Standards
Figure 6–14 shows the details of differential HSTL I/O standard termination on
Arria II devices.
Figure 6–14. Differential HSTL I/O Standard Termination for Arria II Devices
Termination
HSTL Class I
HSTL Class II
V
V
V
TT
TT
V
TT
50 Ω
TT
50 Ω
V
TT
V
TT
50 Ω
50 Ω
50 Ω
50 Ω
50 Ω
External
On-Board
Termination
50 Ω
50 Ω
50 Ω
Transmitter
Receiver
Receiver
Transmitter
HSTL Class I
HSTL Class II
V
TT
50 Ω
V
V
V
TT
50 Ω
Z0= 50 Ω
TT
50 Ω
Series OCT 50 Ω
Series OCT 25
R
OCT for
S
Arria II GX
Devices
Z0= 50 Ω
Z0= 50 Ω
V
TT
V
TT
50 Ω
Z0= 50 Ω
TT
50 Ω
50 Ω
Receiver
Transmitter
Receiver
Transmitter
Differential HSTL Class I
Differential HSTL Class II
Parallel OCT
V
Parallel OCT
100
Series OCT 25 Ω
TT
50
Z0= 50
V
V
CCIO
Series OCT 50 Ω
CCIO
100
100
100
Z0= 50
Z0= 50
R
R
OCT and
OCT for
S
T
100
GND
100
V
TT
50
Z0= 50
V
V
CCIO
CCIO
Arria II GZ
Devices
GND
100
100
100
100
GND
Receiver
GND
Receiver
Transmitter
Transmitter
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–32
Chapter 6: I/O Features in Arria II Devices
Termination Schemes for I/O Standards
LVDS
The LVDS I/O standard is a differential high-speed, low-voltage swing, low-power,
general-purpose I/O (GPIO) interface standard. Arria II LVDS I/O standard requires
a 2.5-V VCCIO level. The LVDS input buffer requires 2.5-V VCCPD. LVDS requires a
100- termination resistor between the two signals at the input buffer. Arria II devices
provide an optional 100- differential termination resistor in the device with
RD OCT.
Figure 6–15 shows the details of LVDS termination in Arria II devices. The Arria II GZ
RD OCT is only available in the row I/O banks.
Figure 6–15. LVDS I/O Standard Termination for Arria II Devices (Note 1)
Termination
LVDS
Differential Outputs
Differential Inputs
External On-Board
Termination
50 Ω
50 Ω
100 Ω
Differential Inputs
Differential Outputs
OCT Receive
(True LVDS
Output)
50 Ω
50 Ω
100 Ω
Arria II OCT
Differential Inputs
Single-Ended Outputs
OCT Receive
(Single-Ended
LVDS Output
with One-Resistor
Network,
LVDS_E_1R)
(1), (2)
≤ 1 inch
50 Ω
50 Ω
Rp
100 Ω
External Resistor
Arria II OCT
Single-Ended Outputs
Differential Inputs
OCT Receive
(Single-Ended
LVDS Output
with Three
Resistor
Network,
50 Ω
50 Ω
Rs
Rp
Rs
100 Ω
LVDS_E_3R) (1)
External Resistor
Arria II OCT
Notes to Figure 6–15:
(1) For LVDS output with a three-resistor network, the RS and RP values are 120 and 170 , respectively. For LVDS output with a one-resistor network,
the RP value is 120
(2) LVDS_E_1R is available for Arria II GZ devices only.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–33
Termination Schemes for I/O Standards
Differential LVPECL
Arria II devices support the LVPECL I/O standard on input clock pins only. LVPECL
output operation is not supported. LVDS input buffers are used to support LVPECL
input operation. AC-coupling is required when the LVPECL common mode voltage of
the output buffer is higher than Arria II LVPECL input common mode voltage.
Figure 6–16 shows the AC-coupled termination scheme. The 50- resistors used at the
receiver end are external to the device.
Figure 6–16. LVPECL AC-Coupled Termination
LVPECL
Arria II
Output Buffer
LVPECL Input Buffer
0.1 μF
0.1 μF
Z
Z
O
O
VICM
Arria II devices support DC-coupled LVPECL if the LVPECL output common mode
voltage is within the Arria II LVPECL input buffer specification (Figure 6–17).
Figure 6–17. LVPECL DC-Coupled Termination
Arria II
LVPECL
LVPECL Input Buffer
Output Buffer
Z
Z
= 50 Ω
= 50 Ω
O
100
Ω
O
RSDS
Arria II devices supports true RSDS, RSDS with a one-resistor network, and RSDS
with a three-resistor network. Two single-ended output buffers are used for external
one- or three-resistor networks, as shown in Figure 6–18. Only Arria II GZ row I/O
banks support RSDS output using true LVDS output buffers without an external
resistor network.
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–34
Chapter 6: I/O Features in Arria II Devices
Termination Schemes for I/O Standards
mini-LVDS
Arria II GX devices support true mini-LVDS with a three-resistor network using two
single-ended output buffers for external three-resistor networks.
For Arria II GZ devices, use two single-ended output buffers with external one- or
three-resistor networks (mini-LVDS_E_1R or mini-LVDS_E_3R). Arria II GZ row I/O
banks support mini-LVDS output using true LVDS output buffers without an external
resistor network.
Figure 6–18 shows the one-resistor and three-resistor topology for RSDS and
mini-LVDS I/O standard termination.
Figure 6–18. RSDS and mini-LVDS I/O Standard Termination for Arria II Devices (Note 1)
One-Resistor Network (RSDS_E_1R and mini-LVDS_E_1R) (2)
Termination
Three-Resistor Network (RSDS_E_3R and mini-LVDS_E_3R)
≤1 inch
≤1 inch
R
S
Ω
50
50
External
On-Board
Termination
R
100
Ω
P
R
100
Ω
P
50
Ω
50
Ω
R
S
Receiver
Transmitter
Transmitter
Receiver
Arria II OCT
≤
1 inch
Arria II OCT
≤1 inch
R
S
50
50
50
50
Ω
Ω
R
100
Ω
R
P
P
Ω
100
Ω
OCT
R
S
Transmitter
Transmitter
Receiver
Receiver
Notes to Figure 6–18:
(1) Rp = 170 and Rs= 120
(2) mini-LVDS_E_1R is applicable for Arria II GZ devices only.
A resistor network is required to attenuate the LVDS output-voltage swing to meet
RSDS and mini-LVDS specifications. You can modify the three-resistor network
values to reduce power or improve the noise margin. The resistor values chosen
should satisfy the equation shown in Equation 6–1.
Equation 6–1. Resistor Network
R
P
x
R
S
2
=
50 Ω
R
P
+
R
S
2
1
f
f
To validate that custom resistor values meet the RSDS requirements, Altera
recommends performing additional simulations with IBIS models.
For more information about the RSDS I/O standard, refer to the RSDS Specification
from the National Semiconductor website at www.national.com.
For more information about the mini-LVDS I/O standard, see the mini-LVDS
Specification from the Texas Instruments website at www.ti.com.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–35
Design Considerations
Design Considerations
Although Arria II devices feature various I/O capabilities for high-performance and
high-speed system designs, there are several other design considerations that require
your attention to ensure the success of your designs.
I/O Termination
This section describes I/O termination requirements for single-ended and differential
I/O standards.
Single-Ended I/O Standards
Although single-ended, non-voltage-referenced I/O standards do not require
termination, impedance matching is necessary to reduce reflections and improve
signal integrity.
Voltage-referenced I/O standards require both an input reference voltage (VREF) and a
termination voltage (VTT). The reference voltage of the receiving device tracks the
termination voltage of the transmitting device. Each voltage-referenced I/O standard
requires a specific termination setup. For example, a proper resistive signal
termination scheme is critical in SSTL2 standards to produce a reliable DDR memory
system with a superior noise margin.
Arria II RS OCT provides the convenience of not using external components. When
optimizing OCT for use in typical transmission line environments, the RS OCT
impedance must be equal to or less than the transmission line impedance for optimal
performance. In ideal applications, setting the RS OCT impedance to match the
transmission line impedance avoids reflections. You can also use external pull-up
resistors to terminate the voltage-referenced I/O standards such as SSTL and HSTL
I/O standards.
Differential I/O Standards
Differential I/O standards typically require a termination resistor between the two
signals at the receiver. The termination resistor must match the differential load
impedance of the signal line. Arria II devices provide an optional differential on-chip
resistor when you use LVDS.
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–36
Chapter 6: I/O Features in Arria II Devices
Design Considerations
I/O Bank Restrictions
Each I/O bank can simultaneously support multiple I/O standards. The following
sections provide guidelines for mixing non-voltage-referenced and voltage-referenced
I/O standards in Arria II devices.
Non-Voltage-Referenced Standards
Each Arria II device I/O bank has its own VCCIOpins and supports only one VCCIO. An
I/O bank can simultaneously support any number of input signals with different I/O
standard assignments, as shown in Table 6–1 on page 6–2.
For output signals, a single I/O bank supports non-voltage-referenced output signals
that drive at the same voltage as VCCIO. Because an I/O bank can only have one VCCIO
value, it can only drive out the value for non-voltage-referenced signals. For example,
an I/O bank with a 2.5-V VCCIO setting can support 2.5-V standard inputs and outputs
and 3.0-V LVCMOS inputs (but not output or bidirectional pins).
Voltage-Referenced Standards
To accommodate voltage-referenced I/O standards, each Arria II GX I/O bank has a
dedicated VREFpin while Arria II GZ I/O banks supports multiple VREFpins feeding a
common VREFbus. The number of available VREFpins increases as device density
increases. For Arria II GZ devices, if these pins are not used as VREFpins, they cannot
be used as generic I/O pins and must be tied to VCCIO or GND. Each bank can only
have a single VCCIO voltage level and a single VREF voltage level at a given time.
Arria II GX I/O banks featuring single-ended or differential standards can support
voltage-referenced standards as long as all voltage-referenced standards use the same
V
REF setting.
For Arria II GZ devices, voltage-referenced input standards use their own VCCPD level
as the power source. This feature allows you to place voltage-referenced input signals
in an I/O bank with a VCCIO of 2.5 V or below. For example, you can place HSTL-15
input pins in an I/O bank with 2.5-V VCCIO. However, the voltage-referenced input
with RT OCT enabled requires the VCCIO of the I/O bank to match the voltage of the
input standard.
Voltage-referenced bidirectional and output signals must be the same as the VCCIO
voltage of the I/O bank. For example, you can only place SSTL-2 output pins in an
I/O bank with a 2.5-V VCCIO
.
Mixing Voltage-Referenced and Non-Voltage-Referenced Standards
An I/O bank can support both non-voltage-referenced and voltage-referenced pins by
applying each of the rule sets individually. For example, an I/O bank can support
SSTL-18 inputs and 1.8-V inputs and outputs with a 1.8-V VCCIO and a 0.9-V VREF
.
Similarly, an I/O bank can support 1.5-V standards, 1.8-V inputs (but not outputs),
and HSTL and HSTL-15 I/O standards with a 1.5-V VCCIO and 0.75-V VREF
.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
Chapter 6: I/O Features in Arria II Devices
6–37
Document Revision History
I/O Placement Guidelines
This section provides I/O placement guidelines for the programmable I/O standards
supported by Arria II devices and includes essential information for designing
systems with an Arria II device’s selectable I/O capabilities.
3.3-V, 3.0-V, and 2.5-V LVTTL/LVCMOS Tolerance Guidelines
Altera recommends the following techniques when you use 3.3-, 3.0-, and 2.5-V I/O
standards to limit overshoot and undershoot at I/O pins:
■
Low drive strength or series termination—the impedance of the I/O driver must
be equal to or greater than the board trace impedance to minimize overshoot and
undershoot at the un-terminated receiver end. If high driver strength (lower driver
impedance) is required, Altera recommends series termination at the driver end
(on-chip or off-chip).
■
Output slew rate—Arria II GX devices have two levels and Arria II GZ devices
have four levels of slew rate control for single-ended output buffers. Slow slew
rate can significantly reduce the overshoot and undershoot in the system at the
cost of slightly slower performance.
■
■
Input clamping diodes—Arria II I/Os have on-chip clamping diodes. These
clamping diodes are required for PCI/PCI-X standards and recommended for
3.3-V LVTTL/CMOS standards.
When you use clamping diodes, the floating well of the I/O is clamped to VCCIO
As a result, the Arria II device might draw extra input leakage current from the
external input driver. This may violate the hot-socket DC- and AC-current
.
specification and increase power consumption. With the clamping diode enabled,
the Arria II device supports a maximum DC current of 8 mA.
Pin Placement Guideline
To validate your pin placement, Altera recommends creating a Quartus II design,
entering in your device I/O assignments, and compiling your design. The Quartus II
software checks your pin connections with respect to I/O assignment and placement
rules to ensure proper device operation. These rules are dependent on device density,
package, I/O assignments, voltage assignments, and other factors that are not
described in this chapter.
Document Revision History
Table 6–14 lists the revision history for this chapter.
Table 6–14. Document Revision History (Part 1 of 2)
Date
Version
Changes
■ Updated Table 6–2 and Table 6–11.
■ Minor text edits.
December 2011
4.2
■ Updated Table 6–9 and Table 6–10.
■ Updated Figure 6–3 and Figure 6–4.
■ Minor text edits.
June 2011
4.1
December 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
6–38
Chapter 6: I/O Features in Arria II Devices
Document Revision History
Table 6–14. Document Revision History (Part 2 of 2)
Date
Version
Changes
Updated for the Quartus II software version 10.1 release:
■ Added Arria II GZ device information.
■ Added “Left-Shift RS OCT Control for Arria II GZ Devices”, “Expanded RS OCT with
Calibration for Arria II GZ Devices”, “RT OCT with Calibration for Arria II GZ Devices”, and
“Dynamic RS and RT OCT for Single-Ended I/O Standard for Arria II GZ Devices” sections.
December 2010
4.0
■ Added Figure 6–1.
Updated for Arria II GX v10.0 release:
■ Updated Table 6–4, Table 6–5, and Table 6–6.
■ Updated Figure 6–1.
July 2010
3.0
2.0
■ Updated “Overview” section.
Updated for Arria II GX v9.1 release:
■ Updated Table 6–2 and Table 6–3.
■ Updated Figure 6–2, Figure 6–13, and Figure 6–14
■ Minor text edits.
October 2009
■ Updated Table 6–1, Table 6–4 and Table 6–5.
■ Updated “Programmable Slew Rate Control”, “Programmable Differential Output
Voltage”, “Mini-LVDS”, “RSDS”, “OCT Calibration Block”, and “I/O Placement Guidelines”
sections.
June 2009
1.1
1.0
■ Updated Figure 6–1, Figure 6–6, Figure 6–7, Figure 6–8, Figure 6–9, Figure 6–10, and
Figure 6–14.
February 2009
Initial release.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011 Altera Corporation
7. External Memory Interfaces in Arria II
Devices
June 2011
AIIGX51007-4.1
AIIGX51007-4.1
This chapter describes the hardware features in Arria® II devices that facilitate
high-speed memory interfacing for the double data rate (DDR) memory standard
including delay-locked loops (DLLs). Memory interfaces also use I/O features such as
on-chip termination (OCT), programmable input delay chains, programmable output
delay, slew rate adjustment, and programmable drive strength.
Arria II devices provide an efficient architecture to quickly and easily fit wide external
memory interfaces with their small modular I/O bank structure. The I/Os are
designed to provide flexible and high-performance support for existing and emerging
external DDR memory standards, such as DDR3, DDR2, DDR SDRAM, QDR II,
QDR II+ SRAM, and RLDRAM II. The Arria II FPGA supports DDR external memory
on the top, bottom, left, and right I/O banks.
The high-performance memory interface solution includes the self-calibrating
ALTMEMPHY megafunction and UniPHY Intellectual Property (IP) core, optimized
to take advantage of the Arria II I/O structure and the Quartus® II TimeQuest Timing
Analyzer. The ALTMEMPHY megafunction and UniPHY IP core provide the total
solution for the highest reliable frequency of operation across process, voltage, and
temperature (PVT) variations.
The ALTMEMPHY megafunction and UniPHY IP core instantiate a phase-locked loop
(PLL) and PLL reconfiguration logic to adjust the resynchronization phase shift based
on PVT variation.
This chapter includes the following sections:
■
■
“Memory Interfaces Pin Support for Arria II Devices” on page 7–3
“Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface”
on page 7–21
■
“Arria II External Memory Interface Features” on page 7–24
1
Arria II GZ devices only support the UniPHY IP core. Arria II GX devices support the
QDR II and QDR II + SRAM controller with the UniPHY IP core, and DDR3, DDR2,
and the DDR SDRAM controller with the ALTMEMPHY megafunction.
1
RLDRAM II is only available in Arria II GZ devices.
f
For more information about any of the above-mentioned features, refer to the I/O
Features in Arria II Devices or the Clock Networks and PLLs in Arria II Devices chapter.
f
For more information about external memory system specifications, implementation,
board guidelines, timing analysis, simulation, debug information, ALTMEMPHY
megafunction and UniPHY IP core support for Arria II devices, refer to the External
Memory Interface Handbook.
© 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
June 2011
Subscribe
7–2
Chapter 7: External Memory Interfaces in Arria II Devices
Figure 7–1 and Figure 7–2 show the memory interface datapath overview for
Arria II GX and Arria II GZ devices, respectively.
Figure 7–1. External Memory Interface Datapath Overview for Arria II GX Devices (Note 1) , (2)
Memory
Arria II GX FPGA
DQS Logic
DLL
DQS (Read) (4)
Block
Postamble
Control
Circuit
Postamble Enable
DQS Enable
Circuit
Postamble Clock
2n
2n
Synchronization
Registers
Internal Memory
(3)
DDR Input
Registers
n
DQ (Read) (4)
DQ (Write) (4)
n
2n
DDR Output
and Output
Enable
Registers
2
DQS (Write) (4)
DDR Output
and Output
Enable
Clock
Management
and Reset
Resynchronization Clock
DQ Write Clock
DQS Write Clock
Registers
Notes to Figure 7–1:
(1) You can bypass each register block.
(2) Shaded blocks are implemented in the I/O element (IOE).
(3) The memory blocks used for each memory interface may differ slightly.
(4) These signals may be bidirectional or unidirectional, depending on the memory standard. When bidirectional, the signal is active during both read
and write operations.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–3
Memory Interfaces Pin Support for Arria II Devices
Figure 7–2. External Memory Interface Datapath Overview for Arria II GZ Devices (Note 1), (2)
Memory
Arria II GZ FPGA
DQS Logic
Block
DQS (Read) (3)
DLL
Postamble Enable
Postamble Clock
Postamble
Control
Circuit
DQS Enable
Circuit
2n
4n
2n
Synchronization
Registers
Half Data Rate
Input Registers
DDR Input
Registers
DPRAM
n
DQ (Read) (3)
DQ (Write) (3)
Resynchronization Clock
2n
n
4n
DDR Output
and Output
Enable
Half Data Rate
Output Registers
Registers
2
DQS (Write) (3)
4
DDR Output
and Output
Enable
Clock
Half Data Rate
Output Registers
Half-Rate Resynchronization Clock
Management
and Reset
DQ Write Clock
Registers
Half-Rate Clock
DQS Write Clock
Notes to Figure 7–2:
(1) You can bypass each register block.
(2) The blocks used for each memory interface may differ slightly. The shaded blocks are part of the Arria II GZ IOE.
(3) These signals may be bidirectional or unidirectional, depending on the memory standard. When bidirectional, the signal is active during both read
and write operations.
Memory Interfaces Pin Support for Arria II Devices
A typical memory interface requires data (D, Q, or DQ), data strobe (DQS/CQ and
DQSn/CQn), address, command, and clock pins. Some memory interfaces use data
mask (DM or BWSn) pins to enable write masking. This section describes how Arria II
devices support all these pins.
1
If you have more than one clock pair, you must place them in the same DQ group. For
example, if you have two clock pairs, you must place both of them in the same ×4
DQS group.
f
For more information about pin connections, refer to the Arria II Device Family Pin
Connection Guidelines.
The DDR3, DDR2, DDR SDRAM, and RLDRAM II devices use CK and CK# signals to
capture the address and command signals. You can generate these signals to mimic
the write-data strobe with Arria II DDR I/O registers (DDIOs) to ensure that timing
relationships between the CK/CK# and DQS signals (tDQSS, tDSS, and tDSH in DDR3,
DDR2, and DDR SDRAM devices) are met. The QDR II+/QDR II SRAM devices use
the same clock (K/K#) to capture the write data, address, and command signals.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–4
Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
f
For more information about pin location requirements, which pins to use as memory
clock pins, and pin connections between an Arria II device and an external memory
device, refer to Section I. Device and Pin Planning in volume 2 of the External Memory
Interface Handbook.
Memory clock pins in Arria II devices are generated with a DDIO register going to
differential output pins (refer to Figure 7–3), marked in the pin table with DIFFINor
DIFFIO_RXprefixes (Arria II GX devices) and DIFFOUT, DIFFIO_TX, or DIFFIO_RX
prefixes (Arria II GZ devices). These pins support the differential output function and
you can use them as memory clock pins.
Figure 7–3. Memory Clock Generation for Arria II Devices (Note 1)
FPGA LEs
I/O Elements
VCC
D
D
Q
Q
mem_clk (2)
1
0
mem_clk_n (2)
System Clock
Notes to Figure 7–3:
(1) Global or regional clock networks are required for memory output clock generation to minimize jitter.
(2) The mem_clk[0]and mem_clk_n[0]pins for DDR3, DDR2, and DDR SDRAM interfaces use the I/O input buffer for feedback; therefore,
bidirectional I/O buffers are used for these pins. For memory interfaces with a differential DQS input, the input feedback buffer is configured as
differential input; for memory interfaces using a single-ended DQS input, the input buffer is configured as a single-ended input. Using a
single-ended input feedback buffer requires that the I/O standard’s VREF voltage is provided to that I/O bank’s VREFpins.
Arria II devices offer differential input buffers for differential read-data strobe and
clock operations. In addition, Arria II devices also provide an independent DQS logic
block for each CQn pin for complementary read-data strobe and clock operations. In
the Arria II pin tables, the differential DQS pin pairs are denoted as DQS and DQSn
pins, and the complementary CQ signals are denoted as CQ and CQn pins. DQSn and
CQn pins are marked separately in the pin table. Each CQn pin connects to a DQS
logic block and the shifted CQn signals go to the negative-edge input registers in the
DQ IOE registers.
1
1
Use differential DQS signaling for DDR2 SDRAM interfaces running at 333 MHz.
DQ pins can be bidirectional signals, as in DDR3, DDR2, and DDR SDRAM, and
RLDRAM II common I/O (CIO) interfaces or unidirectional signals, as in QDR II+,
QDR II SRAM, and RLDRAM II separate I/O (SIO) devices. Connect the
unidirectional read-data signals to Arria II DQ pins and the unidirectional write-data
signals to a different DQ/DQS group than the read DQ/DQS group. The write clocks
must be assigned to the DQS/DQSn pins associated to this write DQ/DQS group. Do
not use the CQ/CQn pin-pair for write clocks.
Using a DQ/DQS group for the write-data signals minimizes output skew and allows
vertical migration. Arria II GX devices do not support vertical migration with
Arria II GZ devices.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–5
Memory Interfaces Pin Support for Arria II Devices
The DQ and DQS pin locations are fixed in the pin table. Memory interface circuitry is
available in every Arria II I/O bank that does not support transceivers. All memory
interface pins support the I/O standards required to support DDR3, DDR2,
DDR SDRAM, QDR II+ and QDR II SRAM, and RLDRAM II devices.
Arria II devices support DQ and DQS signals with DQ bus modes of ×4, ×8/×9,
×16/×18, or ×32/×36, although not all devices support DQS bus mode in ×32/×36.
The DDR, DDR2, and DDR3 SDRAM interfaces use one DQS pin for each ×8 group;
for example, an interface with a ×72 wide interface requires nine DQS pins. When any
of these pins are not used for memory interfacing, you can use these pins as user I/Os.
Additionally, you can use any DQSn or CQn pins not used for clocking as DQ (data)
pins.
Table 7–1 lists pin support per DQ/DQS bus mode, including the DQS/CQ and
DQSn/CQn pin pair, for Arria II devices.
Table 7–1. DQ/DQS Bus Mode Pins for Arria II Devices
Typical
Maximum
Number of
Parity or DM
(Optional)
QVLD
(Optional) (1)
Number of
Mode
DQSn Support
CQn Support
Data Pins per Data Pins per
Group
Group (2)
×4
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
No (6)
Yes
No
Yes
Yes
Yes
Yes
4
5
×8/×9 (3)
8 or 9
11
23
47
39
×16/×18 (4)
×32/×36 (5)
×32/×36 (7)
Notes to Table 7–1:
Yes
16 or 18
32 or 36
32 or 36
Yes
No (8)
(1) The QVLD pin is not used in the ALTMEMPHY megafunction and it is only applicable for Arria II GZ devices.
(2) This represents the maximum number of DQ pins (including parity, data mask, and QVLD pins) connected to the DQS bus network with
single-ended DQS signaling. When you use differential or complementary DQS signaling, the maximum number of data per group decreases
by one. This number may vary per DQ/DQS group in a particular device. Check the pin table for the exact number per group. For DDR3, DDR2,
and DDR interfaces, the number of pins is further reduced for an interface larger than ×8 due to the need of one DQS pin for each ×8/×9 group
that is used to form the x16/×18 and ×32/×36 groups.
(3) Two ×4 DQ/DQS groups are stitched to make a ×8/×9 group so there are a total of 12 pins in this group.
(4) Four ×4 DQ/DQS groups are stitched to make a ×16/×18 group.
(5) Eight ×4 DQ/DQS groups are stitched to make a ×32/×36 group.
(6) The DM pin can be supported if differential DQS is not used and the group does not have additional signals.
(7) These ×32/×36 DQ/DQS groups are available in EP2AGZ300 and EP2AGZ350 devices in 1152- and 1517-pin FineLine BGA packages. There are
40 pins in each of these DQ/DQS groups.
(8) There are 40 pins in each of these DQ/DQS groups. You cannot place the BWSn pins within the same DQ/DQS group as the write data pins
because of insufficient pins availability.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–6
Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Table 7–2 lists the number of I/O modules and DQ/DQS groups per side of the
Arria II GX device. For a more detailed listing of the number of DQ/DQS groups
available per bank in each Arria II GX device, refer to Figure 7–4 on page 7–7 through
Figure 7–10 on page 7–13. These figures represent the die top view of the Arria II GX
device.
f
For more information about DQ/DQS groups pin-out restriction format, refer to the
Arria II Device Family Pin Connection Guidelines.
Table 7–2. Number of DQ/DQS Groups and I/O Modules per Side in Arria II GX Devices
Number of DQ/DQS Groups
Number of I/O
Device
Package
Side
Refer to
Module (1)
×4
6
×8/×9
×16/×18 ×32/×36
Top/Bottom
Right
3
2
3
2
1
0
0
0
EP2AGX45
EP2AGX65
358-Pin Ultra
FineLine BGA
Figure 7–4 on
page 7–7
4
EP2AGX45
EP2AGX65
Figure 7–5 on
page 7–8
Top/Bottom
Right
4
6
8
4
6
2
2
0
0
572-Pin
FineLine BGA
EP2AGX95
EP2AGX125
Figure 7–6 on
page 7–9
12
EP2AGX45
EP2AGX65
Figure 7–7 on
page 7–10
780-Pin
FineLine BGA
Top/Bottom/
Right
EP2AGX95
EP2AGX125
EP2AGX190
EP2AGX260
7
14
7
3
1
Figure 7–8 on
page 7–11
Top/Bottom
Right
9
8
18
16
9
8
4
4
2
2
EP2AGX95
EP2AGX125 FineLine BGA
1152-Pin
Figure 7–9 on
page 7–12
EP2AGX190 1152-Pin
EP2AGX260 FineLine BGA
Top/Bottom/
Right
Figure 7–10
on page 7–13
12
24
12
6
2
Note to Table 7–2:
(1) Each I/O module consists of 16 I/O pins. 12 of the 16 pins are DQ/DQS pins.
Table 7–3 lists the number of DQ/DQS groups available per side in each Arria II GZ
device. For a more detailed listing of the number of DQ/DQS groups available per
bank in each Arria II GZ device, refer to Figure 7–11 through Figure 7–15. These
figures represent the die top view of the Arria II GZ device.
Table 7–3. Number of DQ/DQS Groups per Side in Arria II GZ Devices (Part 1 of 2)
Number of DQ/DQS Groups
Device
Package
Side
Refer to
×4 (1)
0
×8/×9
×16/×18
×32/×36 (2)
Left/Right
Top/Bottom
Left/Right
0
8
0
2
2
4
2
4
0
0
EP2AGZ300
EP2AGZ350
780-pin
FineLine BGA
Figure 7–11 on
page 7–14
18
13
6
0
1152-pin
FineLine BGA
Figure 7–12 on
page 7–15
EPAGZ225
Top/Bottom
Left/Right
26
12
6
0
13
0
EP2AGZ300
EP2AGZ350
1152-pin
FineLine BGA
Figure 7–13 on
page 7–16
Top/Bottom
26
12
2 (3)
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–7
Memory Interfaces Pin Support for Arria II Devices
Table 7–3. Number of DQ/DQS Groups per Side in Arria II GZ Devices (Part 2 of 2)
Number of DQ/DQS Groups
Device
Package
1517-pin
Side
Refer to
×4 (1)
×8/×9
×16/×18
×32/×36 (2)
Figure 7–14 on
page 7–17
EP2AGZ225
All sides
26
12
4
0
FineLine BGA
Left/Right
26
26
12
12
4
4
0
EP2AGZ300
EP2AGZ350
1517-pin
FineLine BGA
Figure 7–15 on
page 7–18
Top/Bottom
2 (3)
Notes to Table 7–3:
(1) Some of the ×4 groups may use RUP and RDN pins. You cannot use these groups if you use the Arria II GZ calibrated OCT feature.
(2) To interface with a ×36 QDR II+/QDR II SRAM device in a Arria II GZ FPGA that does not support the ×32/×36 DQ/DQS group, refer to
“Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface” on page 7–21.
(3) These ×32/×36 DQ/DQS groups have 40 pins instead of 48 pins per group. You cannot place BWSn pins within the same DQ/DQS group as the
write data pins because of insufficient pins available.
Figure 7–4 through Figure 7–10 show the maximum number of DQ/DQS groups per
side of the Arria II GX device. These figures represent the die-top view of the
Arria II GX device.
Figure 7–4 shows the number of DQ/DQS groups per bank in EP2AGX45 and
EP2AGX65 devices in the 358-pin Ultra FineLine BGA (UBGA) package.
Figure 7–4. Number of DQ/DQS Groups per Bank in EP2AGX45 and EP2AGX65 Devices in the 358-Pin Ultra Fineline BGA
Package
(Note 1), (2)
I/O Bank 8A
I/O Bank 7A
22 User I/Os
×4=2
×8/×9=1
×16/×18=0
×32/×36=0
38 User I/Os
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
I/O Bank 6A (3)
18 User I/Os
×4=2
×8/×9=1
×16/×18=0
×32/×36=0
EP2AGX45
and EP2AGX65 Devices in the
358-Pin Ultra FineLine BGA
I/O Bank 5A
18 User I/Os
×4=2
×8/×9=1
×16/×18=0
×32/×36=0
I/O Bank 3A
I/O Bank 4A
22 User I/Os
×4=2
38 User I/Os
×4=4
×8/×9=2
×8/×9=1
×16/×18=1
×32/×36=0
×16/×18=0
×32/×36=0
Notes to Figure 7–4:
(1) All I/O pin counts include 12 dedicated clock inputs (CLK4to CLK15) that you can use for data inputs.
(2) Arria II GX devices in the 358-pin UBGA package do not support the 36 QDR II+/QDR II SRAM interface.
(3) Several configuration pins in Bank 6A are shared with DQ/DQS pins. You cannot use a 4 DQ/DQS group with any of their pin members used for
configuration purposes. Ensure that the DQ/DQS groups you chose are not also used for configuration.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–8
Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Figure 7–5 shows the number of DQ/DQS groups per bank in Arria II GX EP2AGX45
and EP2AGX65 devices in the 572-pin FineLine BGA package.
Figure 7–5. Number of DQ/DQS Groups per Bank in EP2AGX45 and EP2AGX65 Devices in the 572-Pin FineLine BGA
Package (Note 1), (2)
I/O Bank 7A
I/O Bank 8A
38 User I/Os
×4=4
38 User I/Os
×4=4
×8/×9=2
×8/×9=2
×16/×18=1
×32/×36=0
×16/×18=1
×32/×36=0
I/O Bank 6A (3)
50 User I/Os
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
EP2AGX45 and EP2AGX65
Devices in the 572-Pin FineLine BGA
I/O Bank 5A
50 User I/Os
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
I/O Bank 3A
38 User I/Os
I/O Bank 4A
38 User I/Os
×4=4
×4=4
×8/×9=2
×8/×9=2
×16/×18=1
×32/×36=0
×16/×18=1
×32/×36=0
Notes to Figure 7–5:
(1) All I/O pin counts include 12 dedicated clock inputs (CLK4to CLK15) that you can use for data inputs.
(2) Arria II GX devices in the 572-pin FineLine BGA Package do not support the 36 QDR II+/QDR II SRAM interface.
(3) Several configuration pins in Bank 6A are shared with DQ/DQS pins. You cannot use a 4 DQ/DQS group with any of their pin members used for
configuration purposes. Ensure that the DQ/DQS groups you chose are not also used for configuration.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–9
Memory Interfaces Pin Support for Arria II Devices
Figure 7–6 shows the number of DQ/DQS groups per bank in Arria II GX EP2AGX95
and EP2AGX125 devices in the 572-pin FineLine BGA package.
Figure 7–6. Number of DQ/DQS Groups per Bank in EP2AGX95 and EP2AGX125 Devices in the 572-Pin FineLine BGA
Package
(Note 1), (2)
I/O Bank 7A
I/O Bank 8A
42 User I/Os
×4=4
38 User I/Os
×4=4
×8/×9=2
×8/×9=2
×16/×18=1
×32/×36=0
×16/×18=1
×32/×36=0
I/O Bank 6A (3)
50 User I/Os
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
EP2AGX95 and EP2AGX125
Devices in the 572-Pin FineLine BGA
I/O Bank 5A
50 User I/Os
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
I/O Bank 3A
I/O Bank 4A
38 User I/Os
×4=4
42 User I/Os
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
×8/×9=2
×16/×18=1
×32/×36=0
Notes to Figure 7–6:
(1) All I/O pin counts include 12 dedicated clock inputs (CLK4to CLK15) that you can use for data inputs.
(2) Arria II GX devices in the 572-pin FineLine BGA Package do not support the 36 QDR II+/QDR II SRAM interface.
(3) Several configuration pins in Bank 6A are shared with DQ/DQS pins. You cannot use a 4 DQ/DQS group with any of their pin members used for
configuration purposes. Ensure that the DQ/DQS groups you chose are not also used for configuration.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–10
Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Figure 7–7 shows the number of DQ/DQS groups per bank in Arria II GX EP2AGX45
and EP2AGX65 devices in the 780-pin FineLine BGA package.
Figure 7–7. Number of DQ/DQS Groups per Bank in EP2AGX45 and EP2AGX65 Devices in the 780-Pin FineLine BGA
Package (Note 1)
I/O Bank 7A
I/O Bank 8A
54 User I/Os
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
70 User I/Os
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
I/O Bank 6A (2)
50 User I/Os
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
EP2AGX45 and EP2AGX65
Devices in the 780-Pin FineLine BGA
I/O Bank 5A
66 User I/Os
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
I/O Bank 3A
54 User I/Os
×4=6
I/O Bank 4A
70 User I/Os
×4=8
×8/×9=4
×8/×9=3
×16/×18=2
×32/×36=1
×16/×18=1
×32/×36=0
Notes to Figure 7–7:
(1) All I/O pin counts include 12 dedicated clock inputs (CLK4to CLK15) that you can use for data inputs.
(2) Several configuration pins in Bank 6A are shared with DQ/DQS pins. You cannot use a 4 DQ/DQS group with any of their pin members used for
configuration purposes. Ensure that the DQ/DQS groups you chose are not also used for configuration.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–11
Memory Interfaces Pin Support for Arria II Devices
Figure 7–8 shows the number of DQ/DQS groups per bank in Arria II GX EP2AGX95,
EP2AGX125, EP2AGX190, and EP2AGX260 devices in the 780-pin FineLine BGA
package.
Figure 7–8. Number of DQ/DQS Groups per Bank in EP2AGX95, EP2AGX125, EP2AGX190 and EP2AGX260 Devices in the
780-Pin FineLine BGA Package (Note 1)
I/O Bank 7A
I/O Bank 8A
58 User I/Os
×4=6
70 User I/Os
×4=8
×8/×9=3
×16/×18=1
×32/×36=0
×8/×9=4
×16/×18=2
×32/×36=1
I/O Bank 6A (2)
50 User I/Os
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
EP2AGX95, EP2AGX125, EP2AGX190,
and EP2AGX260 Devices
I/O Bank 5A
in the 780-Pin FineLine BGA
66 User I/Os
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
I/O Bank 3A
54 User I/Os
I/O Bank 4A
74 User I/Os
×4=6
×4=8
×8/×9=3
×8/×9=4
×16/×18=1
×32/×36=0
×16/×18=2
×32/×36=1
Notes to Figure 7–8:
(1) All I/O pin counts include 12 dedicated clock inputs (CLK4to CLK15) that you can use for data inputs.
(2) Several configuration pins in Bank 6A are shared with DQ/DQS pins. You cannot use a 4 DQ/DQS group with any of their pin members used for
configuration purposes. Ensure that the DQ/DQS groups you chose are not also used for configuration.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–12
Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Figure 7–9 shows the number of DQ/DQS groups per bank in Arria II GX EP2AGX95
and EP2AGX125 devices in the 1152-pin FineLine BGA package.
Figure 7–9. Number of DQ/DQS Groups per Bank in EP2AGX95 and EP2AGX125 Devices in the 1152-Pin FineLine BGA
Package (Note 1)
I/O Bank 7B
I/O Bank 8A
I/O Bank 7A
74 User I/Os
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
70 User I/Os
16 User I/Os
×4=2
×8/×9=1
×16/×18=0
×32/×36=0
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
I/O Bank 6A (2)
66 User I/Os
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
EP2AGX95 and EP2AGX125 Devices
in the 1152-Pin FineLine BGA
I/O Bank 5A
66 User I/Os
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
I/O Bank 3A
70 User I/Os
I/O Bank 4A
74 User I/Os
×4=8
I/O Bank 4B
16 User I/Os
×4=2
×4=8
×8/×9=4
×8/×9=4
×8/×9=1
×16/×18=2
×32/×36=1
×16/×18=2
×32/×36=1
×16/×18=0
×32/×36=0
Notes to Figure 7–9:
(1) All I/O pin counts include 12 dedicated clock inputs (CLK4to CLK15) that you can use for data inputs.
(2) Several configuration pins in Bank 6A are shared with DQ/DQS pins. You cannot use a 4 DQ/DQS group with any of their pin members used for
configuration purposes. Ensure that the DQ/DQS groups you chose are not also used for configuration.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–13
Memory Interfaces Pin Support for Arria II Devices
Figure 7–10 shows the number of DQ/DQS groups per bank in Arria II GX
EP2AGX190 and EP2AGX260 devices in the 1152-pin FineLine BGA package.
Figure 7–10. Number of DQ/DQS Groups per Bank in EP2AGX190 and EP2AGX260 Devices in the 1152-Pin FineLine BGA
Package (Note 1)
I/O Bank 8B
32 User I/Os
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
I/O Bank 8A
74 User I/Os
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
I/O Bank 7A
70 User I/Os
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
I/O Bank 7B
32 User I/Os
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
I/O Bank 6B
32 User I/Os
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
I/O Bank 6A (2)
66 User I/Os
×4=8
×8/×9=4
EP2AGX190 and EP2AGX260 Devices
in the 1152-Pin FineLine BGA
×16/×18=2
×32/×36=1
I/O Bank 5A
66 User I/Os
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
I/O Bank 5B
32 User I/Os
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
I/O Bank 3B
32 User I/Os
I/O Bank 3A
70 User I/Os
I/O Bank 4A
74 User I/Os
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
I/O Bank 4B
32 User I/Os
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
Notes to Figure 7–10:
(1) All I/O pin counts include 12 dedicated clock inputs (CLK4to CLK15) that you can use for data inputs.
(2) Several configuration pins in Bank 6A are shared with DQ/DQS pins. You cannot use a 4 DQ/DQS group with any of their pin members used for
configuration purposes. Ensure that the DQ/DQS groups you chose are not also used for configuration.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–14
Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Figure 7–11 shows the number of DQ/DQS groups per bank in Arria II GZ
EP2AGZ300 and EP2AGZ350 devices in the 780-pin FineLine BGA package.
Figure 7–11. Number of DQ/DQS Groups per Bank in EP2AGZ300 and EP2AGZ350 Devices in the 780-Pin FineLine BGA
Package, (Note 1)
I/O Bank 8A
40 User I/Os
×4=6
×8/×9=3
×16/×18=1
I/O Bank 8C I/O Bank 7C
32 User I/Os 32 User I/Os
I/O Bank 7A
40 User I/Os
×4=6
×8/×9=3
×16/×18=1
×4=3
×4=3
DLL0
DLL3
×8/×9=1
×16/×18=0
×8/×9=1
×16/×18=0
EP2AGZ300 and EP2AGZ350 Devices
in the 780-Pin FineLine BGA
I/O Bank 3A
40 User I/Os 32 User I/Os
I/O Bank 3C
I/O Bank 4A
40 User I/Os
×4=6
I/O Bank 4C
32 User I/Os
×4=3
DLL1
DLL2
×4=6
×4=3
×8/×9=3
×16/×18=1
×8/×9=1
×16/×18=0
×8/×9=1
×16/×18=0
×8/×9=3
×16/×18=1
Note to Figure 7–11:
(1) EP2AGZ300 and EP2AGZ350 devices do not support ×32/×36 mode. To interface with a ×36 QDR II+/QDR II SRAM device, refer to “Combining
×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface” on page 7–21.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–15
Memory Interfaces Pin Support for Arria II Devices
Figure 7–12 shows the number of DQ/DQS groups per bank in Arria II GZ
EP2AGZ225 devices in the 1152-pin FineLine BGA package.
Figure 7–12. Number of DQ/DQS Groups per Bank in EP2AGZ225 Devices in the 1152-Pin FineLine BGA
Package (Note 1), (2), (3), (4)
I/O Bank 7C
32 User I/Os 32 User I/Os
I/O Bank 7B
24 User I/Os
×4=4
I/O Bank 8B
24 User I/Os
×4=4
I/O Bank 7A
I/O Bank 8C
I/O Bank 8A
40 User I/Os
40 User I/Os
×4=6
DLL3
DLL0
×4=3
×4=6
×4=3
×8/×9=1
×8/×9=1
×8/×9=2
×16/×18=1
×8/×9=3
×16/×18=1
×8/×9=3
×16/×18=1
×8/×9=2
×16/×18=1
×16/×18=0
×16/×18=0
I/O Bank 6A
48 User I/Os
×4=7
×8/×9=3
×16/×18=1
I/O Bank 1A
48 User I/Os
×4=7
×8/×9=3
×16/×18=1
EP2AGZ225 Devices
in the 1152-Pin FineLine BGA
I/O Bank 1C
I/O Bank 6C
42 User I/Os
×4=6
×8/×9=3
42 User I/Os
×4=6
×8/×9=3
×16/×18=1
×16/×18=1
I/O Bank 4A
40 User I/Os
×4=6
×8/×9=3
×16/×18=1
I/O Bank 3A I/O Bank 3B I/O Bank 3C I/O Bank 4C I/O Bank 4B
32 User I/Os
×4=3
×8/×9=1
32 User I/Os
×4=3
×8/×9=1
24 User I/Os
×4=4
×8/×9=2
24 User I/Os
×4=4
×8/×9=2
40 User I/Os
×4=6
×8/×9=3
DLL1
DLL2
×16/×18=0
×16/×18=0
×16/×18=1
×16/×18=1
×16/×18=1
Notes to Figure 7–12:
(1) EP2AGZ225 devices do not support the ×32/×36 mode. To interface with a ×36 QDR II+/QDR II SRAM device, refer to “Combining ×16/×18
DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface” on page 7–21.
(2) You can also use DQS/DQSn pins in some of the ×4 groups as RUP and RDN pins, but you cannot use a ×4 group for memory interfaces if two pins
of the ×4 group are used as RUP and RDN pins for OCT calibration. If two pins of a ×4 group are used as RUP and RDN pins for OCT calibration, you
can use the ×16/×18 or ×32/×36 groups that include that ×4 group; however, there are restrictions on using ×8/×9 groups that include that ×4
group.
(3) All I/O pin counts include dedicated clock inputs that you can use for data inputs.
(4) You can also use some of the DQ/DQS pins in I/O Bank 1C as configuration pins. You cannot use a ×4 DQ/DQS group with any of its pin members
used for configuration purposes. Ensure that the DQ/DQS groups that you have chosen are not also used for configuration because you may lose
up to four ×4 DQ/DQS groups, depending on your configuration scheme.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–16
Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Figure 7–13 shows the number of DQ/DQS groups per bank in Arria II GZ
EP2AGZ300 and EP2AGZ350 devices in the 1152-pin FineLine BGA package.
Figure 7–13. Number of DQ/DQS Groups per Bank in EP2AGZ300 and EP2AGZ350 Devices in the 1152-Pin FineLine BGA
Package (Note 1), (2), (3)
I/O Bank 8A
40 User I/Os
×4=6
×8/×9=3
×16/×18=1
I/O Bank 7B
32 User I/Os 24 User I/Os
I/O Bank 7A
40 User I/Os
×4=6
×8/×9=3
×16/×18=1
I/O Bank 8B
24 User I/Os
I/O Bank 8C I/O Bank 7C
32 User I/Os
×4=4
×8/×9=2
×16/×18=1
×4=3
×4=4
×8/×9=2
×16/×18=1
×4=3
DLL0
DLL3
×8/×9=1
×16/×18=0
×8/×9=1
×16/×18=0
×32/×36=1 (5)
×32/×36=1 (5)
I/O Bank 1A
48 User I/Os
I/O Bank 6A
48 User I/Os
×4=7
×4=7
×8/×9=3
×16/×18=1
×8/×9=3
×16/×18=1
EP2AGZ300 and EP2AGZ350 Devices
in the 1152-Pin FineLine BGA
I/O Bank 1C
42 User I/Os
I/O Bank 6C
42 User I/Os
×4=6
×4=6
×8/×9=3
×16/×18=1
×8/×9=3
×16/×18=1
I/O Bank 4A
40 User I/Os
I/O Bank 3A I/O Bank 3B I/O Bank 3C I/O Bank 4C
I/O Bank 4B
24 User I/Os
×4=4
×8/×9=2
×16/×18=1
40 User I/Os
×4=6
24 User I/Os 32 User I/Os
32 User I/Os
×4=3
×4=4
×4=3
×4=6
×8/×9=3
×16/×18=1
×32/×36=1 (5)
DLL1
DLL2
×8/×9=3
×16/×18=1
×8/×9=1
×16/×18=0
×8/×9=2
×16/×18=1
×8/×9=1
×16/×18=0
×32/×36=1 (5)
Notes to Figure 7–13:
(1) You can also use DQS/DQSn pins in some of the ×4 groups as RUP and RDN pins, but you cannot use a ×4 group for memory interfaces if two pins
of the ×4 group are used as RUP and RDN pins for OCT calibration. If two pins of a ×4 group are used as RUP and RDN pins for OCT calibration, you
can use the ×16/×18 or ×32/×36 groups that include that ×4 group; however, there are restrictions on using ×8/×9 groups that include that ×4
group.
(2) All I/O pin counts include dedicated clock inputs that you can use for data inputs.
(3) You can also use some of the DQ/DQS pins in I/O Bank 1C as configuration pins. You cannot use a ×4 DQ/DQS group with any of its pin members
used for configuration purposes. Ensure that the DQ/DQS groups that you have chosen are not also used for configuration because you may lose
up to four ×4 DQ/DQS groups, depending on your configuration scheme.
(4) These ×32/×36 DQ/DQS groups have 40 pins instead of 48 pins per group.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–17
Memory Interfaces Pin Support for Arria II Devices
Figure 7–14 shows the number of DQ/DQS groups per bank in Arria II GZ
EP2AGZ225 devices in the 1517-pin FineLine BGA package.
Figure 7–14. Number of DQ/DQS Groups per Bank in EP2AGZ225 Devices in the 1517-Pin FineLine BGA Package (Note 1),
(2), (3), (4)
I/O Bank 7C I/O Bank 7B
32 User I/Os 24 User I/Os 40 User I/Os
I/O Bank 8A I/O Bank 8B I/O Bank 8C
I/O Bank 7A
24 User I/Os 32 User I/Os
40 User I/Os
×4=6
DLL0
DLL3
×4=4
×4=3
×4=3
×4=4
×4=6
×8/×9=2
×16/×18=1
×8/×9=1
×16/×18=0
×8/×9=3
×16/×18=1
×8/×9=1
×16/×18=0
×8/×9=2
×16/×18=1
×8/×9=3
×16/×18=1
I/O Bank 1A
48 User I/Os
×4=7
×8/×9=3
×16/×18=1
I/O Bank 6A
48 User I/Os
×4=7
×8/×9=3
×6/×18=1
I/O Bank 1C
42 User I/Os
×4=6
×8/×9=3
×16/×18=1
I/O Bank 6C
42 User I/Os
×4=6
×8/×9=3
×16/×18=1
EP2AGZ225 Devices
in the 1517-Pin FineLine BGA
I/O Bank 2C
I/O Bank 5C
42 User I/Os
×4=6
×8/×9=3
×16/×18=1
42 User I/Os
×4=6
×8/×9=3
×16/×18=1
I/O Bank 5A
48 User I/Os
×4=7
×8/×9=3
×6/×18=1
I/O Bank 2A
48 User I/Os
×4=7
×8/×9=3
×16/×18=1
I/O Bank 3A I/O Bank 3B I/O Bank 3C I/O Bank 4C
40 User I/Os 24 User I/Os 32 User I/Os 32 User I/Os
I/O Bank 4A
40 User I/Os
×4=6
I/O Bank 4B
24 User I/Os
×4=4
DLL2
DLL1
×4=6
×4=4
×4=3
×4=3
×8/×9=3
×16/×18=1
×8/×9=2
×16/×18=1
×8/×9=1
×16/×18=0
×8/×9=1
×16/×18=0
×8/×9=2
×16/×18=1
×8/×9=3
×16/×18=1
Notes to Figure 7–14:
(1) EP2AGZ225 devices do not support ×32/×36 mode. To interface with a ×36 QDR II+/QDR II SRAM device, refer to “Combining ×16/×18 DQ/DQS
Groups for ×36 QDR II+/QDR II SRAM Interface” on page 7–21.
(2) You can also use DQS/DQSn pins in some of the ×4 groups as RUP and RDN pins, but you cannot use a ×4 group for memory interfaces if two pins
of the ×4 group are used as RUP and RDN pins for OCT calibration. If two pins of a ×4 group are used as RUP and RDN pins for OCT calibration, you
can use the ×16/×18 or ×32/×36 groups that include that ×4 group, however there are restrictions on using ×8/×9 groups that include that ×4
group.
(3) All I/O pin counts include dedicated clock inputs that you can use for data inputs.
(4) You can also use some of the DQ/DQS pins in I/O Bank 1C as configuration pins. You cannot use a ×4 DQ/DQS group with any of its pin members
used for configuration purposes. Ensure that the DQ/DQS groups that you have chosen are not also used for configuration because you may lose
up to four ×4 DQ/DQS groups, depending on your configuration scheme.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–18
Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Figure 7–15. Number of DQ/DQS Groups per Bank in EP2AGZ300 and EP2AGZ350 Devices in the 1517-Pin FineLine BGA
Package (Note 1), (2), (3)
I/O Bank 7C I/O Bank 7B
32 User I/Os 24 User I/Os
I/O Bank 8A I/O Bank 8B I/O Bank 8C
40 User I/Os
I/O Bank 7A
40 User I/Os
×4=6
24 User I/Os 32 User I/Os
×4=6
DLL0
DLL3
×4=4
×4=3
×8/×9=3
×4=3
×4=4
×8/×9=3
×8/×9=2
×16/×18=1
×8/×9=1
×16/×18=0
×16/×18=1
×32/×36=1 (5)
×8/×9=1
×16//×18=0
×8/×9=2
×16/×18=1
×16/×18=1 ×32/×36=1 (5)
I/O Bank 1A
48 User I/Os
×4=7
×8/×9=3
×16/×18=1
I/O Bank 6A
48 User I/Os
×4=7
×8/×9=3
×6/×18=1
I/O Bank 1C
42 User I/Os
×4=6
×8/×9=3
×16/×18=1
I/O Bank 6C
42 User I/Os
×4=6
×8/×9=3
×16/×18=1
EP2AGZ300 and EP2AGZ350 Devices
in the 1517-Pin FineLine BGA
I/O Bank 2C
42 User I/Os
×4=6
I/O Bank 5C
42 User I/Os
×4=6
×8/×9=3
×8/×9=3
×16/×18=1
×16/×18=1
I/O Bank 5A
48 User I/Os
×4=7
×8/×9=3
×6/×18=1
I/O Bank 2A
48 User I/Os
×4=7
×8/×9=3
×16/×18=1
I/O Bank 3A I/O Bank 3B I/O Bank 3C I/O Bank 4C
40 User I/Os
I/O Bank 4A
I/O Bank 4B
40 User I/Os
×4=6
×8/×9=3
×16/×18=1
×32/×36=1 (5)
24 User I/Os
×4=4
24 User I/Os
×4=4
×8/×9=2
32 User I/Os 32 User I/Os
×4=6
×8/×9=3
DLL2
DLL1
×4=3
×8/×9=1
×16/×18=0
×4=3
×8/×9=1
×16/×18=0
×8/×9=2
×16/×18=1
×32/×36=1 (5)
×16/×18=1
×16/×18=1
Notes to Figure 7–15:
(1) You can also use DQS/DQSn pins in some of the ×4 groups as RUP and RDN pins, but you cannot use a ×4 group for memory interfaces if two pins
of the ×4 group are used as RUP and RDN pins for OCT calibration. If two pins of a ×4 group are used as RUP and RDN pins for OCT calibration, you
can use the ×16/×18 or ×32/×36 groups that include that ×4 group, however there are restrictions on using ×8/×9 groups that include that ×4
group.
(2) All I/O pin counts include dedicated clock inputs that you can use for data inputs.
(3) You can also use some of the DQ/DQS pins in I/O Bank 1C as configuration pins. You cannot use a ×4 DQ/DQS group with any of its pin members
used for configuration purposes. Ensure that the DQ/DQS groups that you have chosen are not also used for configuration because you may lose
up to four ×4 DQ/DQS groups, depending on your configuration scheme.
(4) These ×32/×36 DQ/DQS groups have 40 pins instead of 48 pins per group.
The DQS and DQSn pins are listed in the Arria II pin tables as DQSXYand DQSnXY
,
respectively, where denotes the DQ/DQS grouping number and denotes whether
X
Y
the group is located on the top (T), bottom (B), left (L), or right (R) side of the device.
The DQ/DQS pin numbering is based on ×4 mode.
The corresponding DQ pins are marked as DQXY, where
Xindicates which DQS group
the pins belong to and indicates whether the group is located on the top (T), bottom
Y
(B), left (L), or right (R) side of the device. For example, DQS3Bindicates a DQS pin that
is located on the bottom side of the device. The DQ pins belonging to that group are
shown as DQ3Bin the pin table. For DQS pins in Arria II GX I/O banks, refer to
Figure 7–16. For DQS pins in Arria II GZ I/O banks, refer to Figure 7–17.
1
The parity, DM, BWSn, NWSn, QVLD, and ECC pins are shown as DQ pins in the pin
table.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–19
Memory Interfaces Pin Support for Arria II Devices
The numbering scheme starts from the top-left side of the device going clockwise in a
die top view. Figure 7–16 shows how the DQ/DQS groups are numbered in a die top
view of the largest Arria II GX device.
Figure 7–16. DQS Pins in Arria II GX I/O Banks
DQS1T
DQS24T
DLL0
PLL1
PLL2
7A
7B
8B
8A
DQS1R
6B
6A
PLL5
PLL6
Arria II GX Device
5A
5B
DQS24R
PLL3
3B
3A
4B
4A
PLL4
DLL1
DQS1B
DQS24B
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–20
Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
The numbering scheme starts from the top-left corner of the device going
counter-clockwise in a die top view. Figure 7–17 shows how the DQ/DQS groups are
numbered in a die top view of the device.
Figure 7–17. DQS Pins in Arria II GZ I/O Banks
DQS38T
DQS20T
DQS19T
DQS1T
DLL3
DLL0
PLL_L1
8C
7B
7A
8A
8B
7C
PLL_R1
DQS1L
DQS34R
1A
1B
6A
6B
6C
1C
DQS17L
PLL_L2
DQS18R
PLL_R2
Arria II GZ Device
PLL_R3
PLL_L3
DQS18L
DQS17R
2C
2B
2A
5C
5B
5A
DQS34L
PLL_L4
DQS1R
PLL_R4
3A
3B
3C
4A
4C
4B
DLL1
DLL2
DQS1B
DQS19B
DQS20B
DQS38B
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–21
Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface
Using the RUP and RDN Pins in a DQ/DQS Group Used for Memory Interfaces
in Arria II GZ Devices
You can use the DQS/DQSn pins in some of the ×4 groups as RUP and RDN pins (listed
in the pin table). You cannot use a ×4 DQ/DQS group for memory interfaces if any of
its pin members are used as RUP and RDN pins for OCT calibration. You may be able to
use the ×8/×9 group that includes this ×4 DQ/DQS group, if either of the following
applies:
■
■
You are not using DM pins with your differential DQS pins
You are not using complementary or differential DQS pins
You can use the ×8/×9 group because a DQ/DQS ×8/×9 group actually comprises 12
pins, because the groups are formed by stitching two DQ/DQS groups in ×4 mode
with six pins each (refer to Table 7–1 on page 7–5). A typical ×8 memory interface
consists of one DQS, one DM, and eight DQ pins that add up to 10 pins. If you choose
your pin assignment carefully, you can use the two extra pins for RUP and RDN. In a
DDR3 SDRAM interface, you must use differential DQS, which means that you only
have one extra pin. In this case, pick different pin locations for the RUP and RDN pins
(for example, in the bank that contains the address and command pins).
You cannot use the RUP and RDN pins shared with DQ/DQS group pins when using
×9 QDR II+/QDR II SRAM devices, because the RUP and RDN pins are dual purpose
with the CQn pins. In this case, pick different pin locations for RUP and RDN pins to
avoid conflict with memory interface pin placement. You have the choice of placing
the RUP and RDN pins in the data-write group or in the same bank as the address and
command pins.
There is no restriction on using ×16/×18 or ×32/×36 DQ/DQS groups that include the
×4 groups whose pins are being used as RUP and RDN pins, because there are enough
extra pins that can be used as DQS pins.
1
For ×8, ×16/×18, or ×32/×36 DQ/DQS groups whose members are used for RUP and
RDN, you must assign DQS and DQ pins manually. The Quartus® II software might
not be able to place DQS and DQ pins without manual pin assignments, resulting in a
“no-fit”.
Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM
Interface
This implementation combines ×16/×18 DQ/DQS groups to interface with a ×36
QDR II+/QDR II SRAM device. The ×36 read data bus uses two ×16/×18 groups, and
the ×36 write data uses another two ×16/×18 or four ×8/×9 groups. The CQ/CQn
signal traces are split on the board trace to connect to two pairs of CQ/CQn pins in
the FPGA. This is the only connection on the board that you must change for this
implementation. Other QDR II+/QDR II SRAM interface rules for Arria II devices
also apply for this implementation.
1
The ALTMEMPHY megafunction and UniPHY IP core do not use the QVLD signal, so
you can leave the QVLD signal unconnected as in any QDR II+/QDR II SRAM
interfaces in Arria II devices.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–22
Chapter 7: External Memory Interfaces in Arria II Devices
Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface
f
1
For more information about the ALTMEMPHY megafunction and UniPHY IP core,
refer to the External Memory Interface Handbook.
Use one side of the device with the ×36 mode emulation interface whenever possible,
even though the ×36 group formed by a combination of DQ/DQS groups from the top
and bottom I/O banks, or top/bottom I/O bank and left/right I/O banks is
supported.
Rules to Combine Groups
In 572-, 780-, 1152-, and some 1517-pin package devices, there is at most one ×16/×18
group per I/O bank. You can combine two ×16/×18 groups from a single side of the
device for a ×36 interface. 358-pin package devices have only one ×16/×18 group in
each bank 4A and 7A. You can only form a ×36 interface with these two banks.
For devices that do not have four ×16/×18 groups in a single side of the device to
form two ×36 groups for read and write data, you can form one ×36 group on one side
of the device and another ×36 group on the other side of the device. Altera
recommends forming two ×36 groups on column I/O banks (top and bottom) only,
although forming a ×36 group from column I/O banks and another ×36 group from
row I/O banks for the read and write data buses is supported. For vertical migration
with the ×36 emulation implementation, you must check if migration is possible by
enabling device migration in the Quartus II project. The Quartus II software also
supports the use of four ×8/×9 DQ groups for write data pins and the migration of
these groups across device density. 358-pin package devices can only form a ×36
group for write data pin with four ×8/×9 groups.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–23
Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface
Table 7–4 lists the possible combinations to use two ×16/×18 DQ/DQS groups to form
a ×32/×36 group on Arria II devices lacking a native ×32/×36 DQ/DQS group.
Table 7–4. Possible Group Combinations in Arria II Devices
Device
Package
Device Density
■ EP2AGX45
■ EP2AGX65
■ EP2AGX45
■ EP2AGX65
■ EP2AGX95
■ EP2AGX125
■ EP2AGX45
■ EP2AGX65
■ EP2AGX95
■ EP2AGX125
■ EP2AGX190
■ EP2AGX260
■ EP2AGX95
■ EP2AGX125
I/O Bank Combinations
358-Pin Ultra FineLine BGA
4A and 7A (Top and Bottom I/O banks) (1)
7A and 8A (Top I/O banks)
5A and 6A (Right I/O banks)
3A and 4A (Bottom I/O banks)
572-Pin FineLine BGA
Arria II GX
7A and 8A (Top I/O banks)
5A and 6A (Right I/O banks)
3A and 4A (Bottom I/O banks)
780-Pin FineLine BGA (2)
7A and 8A (Top I/O banks)
5A and 6A (Right I/O banks)
3A and 4A (Bottom I/O banks)
1152-Pin FineLine BGA (2)
■ EP2AGX190
■ EP2AGX260
■ EP2AGZ300
■ EP2AGZ350
■ EP2AGZ225
Combine any two banks from each side of I/O banks
780-Pin FineLine BGA
1152-Pin FineLine BGA
3A and 4A, 7A and 8A (bottom and top I/O banks) (3)
1A and 1C, 6A and 6C (left and right I/O banks)
■ EP2AGZ300 (4) 3A and 3B, 4A and 4B (bottom I/O banks)
Arria II GZ
7A and 7B, 8A and 8B (top I/O banks)
■ EP2AGZ350 (4)
■ EP2AGZ225
1A and 1C, 2A and 2C (left I/O banks)
3A and 3B, 4A and 4B (bottom I/O banks)
5A and 5C, 6A and 6C (right I/O banks)
7A and 7B, 8A and 8B (top I/O banks)
■ EP2AGZ300 (4)
■ EP2AGZ350 (4)
1517-Pin FineLine BGA
Notes to Table 7–4:
(1) Only one ×8/×9 group left in each of the remaining I/O banks. You can form only 36 group write data with four 8/9 groups in these packages.
(2) This device supports 36 DQ/DQS groups on each side of I/O banks.
(3) Each side of the device in these packages has four remaining ×8/×9 groups. You can combine them for the write side (only) if you want to keep
the ×36 QDR II+/QDR II SRAM interface on one side of the device. In this case, you must change the Memory Interface Data Group default
assignment from the default 18 to 9.
(4) This device supports ×36 DQ/DQS groups on the top and bottom I/O banks natively.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–24
Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
Arria II External Memory Interface Features
Arria II devices are rich with features that allow robust high-performance external
memory interfacing. The Altera® Memory IPs allow you to use these external memory
interface features and helps set up the physical interface (PHY) best suited for your
system. This section describes each Arria II devices feature that is used in external
memory interfaces from the DQS phase-shift circuitry, dynamic OCT control block,
and DQS logic block.
1
If you use the Altera memory controller MegaCore® functions, the ALTMEMPHY
megafunction and UniPHY IP core are instantiated for you.
f
For more information about supported external memory IPs, refer to
Section III: External Memory Interface System Specification in volume 1 of the External
Memory Handbook.
DQS Phase-Shift Circuitry
Arria II phase-shift circuitry provides phase shift to the DQS/CQ and CQn pins on
read transactions when the DQS/CQ and CQn pins are acting as input clocks or
strobes to the FPGA. DQS phase-shift circuitry consists of DLLs that are shared
between the multiple DQS pins and the phase-offset control module to further
fine-tune the DQS phase shift for different sides of the device.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–25
Arria II External Memory Interface Features
Figure 7–18 and Figure 7–19 show how the DQS phase-shift circuitry is connected to
the DQS/CQ and CQn pins in the device where memory interfaces are supported on
the top, bottom, and right sides of the Arria II GX device and all sides of the
Arria II GZ device.
Figure 7–18. DQS/CQ and CQn Pins and DQS Phase-Shift Circuitry for Arria II GX Devices (Note 1)
DQS/CQ
Pin
CQn
Pin
DQS/CQ
Pin
CQn
Pin
DLL
Reference
Clock (2)
DQS Logic
Blocks
Δt
Δt
Δt
Δt
DQS
Phase-Shift
Circuitry
to IOE
to IOE
to IOE
to IOE
6
DQS Logic
Blocks
6
to
IOE
CQn
Pin
Δt
Δt
to
IOE
DQS/CQ
Pin
to
IOE
CQn
Pin
Δt
Δt
to
IOE
DQS/CQ
Pin
6
6
to IOE
to IOE
to IOE
to IOE
DQS
Phase-Shift
Circuitry
Δt
Δt
Δt
Δt
DLL
Reference
Clock (2)
DQS/CQ
Pin
DQS/CQ
Pin
CQn
Pin
CQn
Pin
Notes to Figure 7–18:
(1) For possible reference input clock pins for each DLL, refer to “DLL” on page 7–27.
(2) You can configure each DQS/CQ and CQn pin with a phase shift based on one of two possible DLL output settings.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–26
Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
Figure 7–19. DQS/CQ and CQn Pins and DQS Phase-Shift Circuitry for Arria II GZ Devices (Note 1)
DQS/CQ
Pin
CQn
Pin
DQS/CQ
Pin
CQn
Pin
DLL
Reference
Clock (2)
DLL
Reference
Clock (2)
DQS Logic
Blocks
Δt
Δt
Δt
Δt
DQS
DQS
Phase-Shift
Circuitry
Phase-Shift
Circuitry
to IOE
to IOE
to IOE
to IOE
DQS Logic
Blocks
to
IOE
CQn
Pin
Δt
Δt
to
IOE
DQS/CQ
Pin
Δt
Δt
to
IOE
DQS/CQ
Pin
to
IOE
CQn
Pin
to
IOE
CQn
Pin
Δt
Δt
DQS/CQ
Pin
to
IOE
Δt
Δt
to
IOE
DQS/CQ
Pin
to
IOE
CQn
Pin
to IOE
to IOE
to IOE
to IOE
DQS
DQS
Phase-Shift
Circuitry
Phase-Shift
Circuitry
Δt
Δt
Δt
Δt
DLL
DLL
Reference
Clock (2)
Reference
Clock (2)
DQS/CQ
Pin
DQS/CQ
Pin
CQn
Pin
CQn
Pin
Notes to Figure 7–19:
(1) For possible reference input clock pins for each DLL, refer to “DLL” on page 7–27.
(2) You can configure each DQS/CQ and CQn pin with a phase shift based on one of two possible DLL output settings.
DQS phase-shift circuitry is connected to DQS logic blocks that control each DQS/CQ
or CQn pin. The DQS logic blocks allow the DQS delay settings to be updated
concurrently at every DQS/CQ or CQn pin.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–27
Arria II External Memory Interface Features
DLL
DQS phase-shift circuitry uses a DLL to dynamically control the clock delay required
by the DQS/CQ and CQn pins. The DLL, in turn, uses a frequency reference to
dynamically generate control signals for the delay chains in each of the DQS/CQ and
CQn pins, allowing it to compensate for PVT variations. The DQS delay settings are
Gray-coded to reduce jitter when the DLL updates the settings. Phase-shift circuitry
requires a maximum of 1,280 clock cycles to lock and calculate the correct input clock
period when the DLL is in low jitter mode. Otherwise, only 256 clock cycles are
required. Do not send data during these clock cycles because there is no guarantee
that the data is properly captured. As the settings from the DLL may not be stable
until this lock period has elapsed, be aware that anything with these settings may be
unstable during this period.
1
You can still use the DQS phase-shift circuitry for any memory interfaces that are
operating at less than 100 MHz. However, the DQS signal may not shift over 2.5 ns. At
less than 100 MHz, while the DQS phase shift may not be exactly centered to the data
valid window, sufficient margin must still exist for reliable operation.
There are two DLLs in an Arria II GX device and four DLLs in Arria II GZ device,
located in the top-left and bottom-right corners of the Arria II GX device and each
corner of the Arria II GZ device. These DLLs can support a maximum of two unique
frequencies (Arria II GX devices) or four unique frequencies (Arria II GZ devices),
with each DLL running at one frequency. Each DLL can have two outputs with
different phase offsets, which allows one Arria II GX device to have four different
DLL phase shift settings and Arria II GZ device to have eight different DLL phase
shift settings.
For Arria II GX devices, each DLL can access the top, bottom, and right side of the
device. This means that each I/O bank is accessible by two DLLs, giving more
flexibility to create multiple frequencies and multiple-type interfaces. The DLL
outputs the same DQS delay settings for the different sides of the device.
For Arria II GZ devices, each DLL can access the two adjacent sides from its location
within the device. For example, DLL0 on the top left of the device can access the top
side (I/O banks 7A, 7B, 7C, 8A, 8B, and 8C) and the left side of the device (I/O banks
1A, 1B, 1C, 2A, 2B, and 2C). This means that each I/O bank is accessible by two DLLs,
giving more flexibility to create multiple frequencies and multiple-type interfaces.
You can have two different interfaces with the same frequency on the two sides
adjacent to a DLL, where the DLL controls the DQS delay settings for both interfaces.
1
Interfaces that span across two sides of the device are not recommended for
high-performance memory interface applications. However, Arria II GX devices
support split interfaces (top and bottom I/O banks) and interfaces with multiple
DQ/DQS groups wrapping over column and row I/Os from adjacent sides of the
devices. Interfaces spanning “top and bottom I/O banks”, “right and bottom I/O
banks”, or “top, bottom, and right I/O banks” are supported.
For Arria II GX devices, each bank can use settings from either one or both DLLs. For
example, DQS1Rcan get its phase-shift settings from DLL0, and DQS2Rcan get its
phase-shift settings from DLL1.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–28
Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
For Arria II GZ devices, each bank can use settings from either or both adjacent DLLs
the bank. For example, DQS1Lcan get its phase-shift settings from DLL0, while DQS2L
can get its phase-shift settings from DLL1.
1
1
If you have a dedicated PLL that only generates the DLL input reference clock, set the
PLL mode to No Compensation or the Quartus II software automatically changes it.
Because the PLL does not use any other outputs, it does not have to compensate for
any clock paths.
Arria II devices support PLL cascading. If you cascade PLLs, you must use PLLs
adjacent to each other (for example, PLL5 and PLL6 for Arria II GX devices) so that
the dedicated path between the two PLLs is used instead of using a global clock
(GCLK) or regional clock (RCLK) network that might be subjected to core noise. The
TimeQuest Timing Analyzer takes PLL cascading into consideration for timing
analysis.
Table 7–5 lists the DLL location and supported I/O banks for Arria II GZ devices.
Table 7–5. DLL Location and Supported I/O Banks for Arria II GZ Devices
DLL
DLL0
Location
Accessible I/O Banks (1)
Top-left corner
1A, 1B, 1C, 2A, 2B, 2C, 7A, 7B, 7C, 8A, 8B, 8C
1A, 1B, 1C, 2A, 2B, 2C, 3A, 3B, 3C, 4A, 4B, 4C
3A, 3B, 3C, 4A, 4B, 4C, 5A, 5B, 5C, 6A, 6B, 6C
5A, 5B, 5C, 6A, 6B, 6C, 7A, 7B, 7C, 8A, 8B, 8C
DLL1
DLL2
DLL3
Bottom-left corner
Bottom-right corner
Top-right corner
Note to Table 7–5:
(1) The DLL can access these I/O banks if they are available for memory interfacing.
Table 7–6 lists the reference clock for each DLL might come from PLL output clocks or
dedicated clock input pins for Arria II GX devices.
Table 7–6. DLL Reference Clock Input for Arria II GX Devices
(Note 1)
CLKIN
(Top/Bottom)
CLKIN
(Right)
DLL
PLL
CLK12
CLK13
CLK14
CLK15
DLL0
DLL1
—
PLL1
CLK4
CLK5
CLK6
CLK7
CLK8
CLK9
CLK10
CLK11
PLL3
Note to Table 7–6:
(1) CLK4to CLK7are located on the bottom side, CLK8to CLK11are located on the right side, and CLK12to CLK15
are located on the top side of the device.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–29
Arria II External Memory Interface Features
For Arria II GZ devices, the reference clock for each DLL may come from PLL output
clocks or any of the two dedicated clock input pins located in either side of the DLL.
Table 7–7 through Table 7–9 show the available DLL reference clock input resources
for the Arria II GZ devices.
Table 7–7. DLL Reference Clock Input for EP2AGZ300 and EP2AGZ350 Devices in the 780-Pin FineLine BGA Package
DLL
CLKIN (Top/Bottom)
CLK12P
CLK13P
CLK14P
CLK15P
CLK4P
CLKIN (Left/Right)
PLL (Top/Bottom) PLL (Left/Right)
PLL (Corner)
DLL0
—
PLL_T1
PLL_B1
PLL_B2
PLL_T2
—
—
—
—
—
CLK5P
DLL1
DLL2
DLL3
—
—
—
—
—
—
CLK6P
CLK7P
CLK4P
CLK5P
CLK6P
CLK7P
CLK12P
CLK13P
CLK14P
CLK15P
Table 7–8. DLL Reference Clock Input for EP2AGZ225, EP2AGZ300, and EP2AGZ350 Devices in the 1152-Pin FineLine
BGA Package (Part 1 of 2)
DLL
CLKIN (Top/Bottom)
CLK12P
CLK13P
CLK14P
CLK15P
CLK4P
CLKIN (Left/Right)
PLL (Top/Bottom)
PLL (Left/Right)
PLL (Corner)
CLK0P
CLK1P
DLL0
PLL_T1
PLL_L2
—
CLK5P
CLK0P
CLK1P
DLL1
PLL_B1
—
—
CLK6P
CLK7P
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–30
Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
Table 7–8. DLL Reference Clock Input for EP2AGZ225, EP2AGZ300, and EP2AGZ350 Devices in the 1152-Pin FineLine
BGA Package (Part 2 of 2)
DLL
CLKIN (Top/Bottom)
CLK4P
CLKIN (Left/Right)
PLL (Top/Bottom)
PLL (Left/Right)
PLL (Corner)
CLK5P
CLK10P
CLK11P
DLL2
PLL_B2
—
—
CLK6P
CLK7P
CLK12P
CLK13P
CLK14P
CLK15P
CLK10P
CLK11P
DLL3
PLL_T2
PLL_R2
—
Table 7–9. DLL Reference Clock Input for EP2AGZ225, EP2AGZ300, and EP2AGZ350 Devices in the 1517-Pin FineLine
BGA Package
DLL
CLKIN (Top/Bottom)
CLK12P
CLK13P
CLK14P
CLK15P
CLK4P
CLKIN (Left/Right)
CLK0P
PLL (Top/Bottom)
PLL (Left/Right)
PLL (Corner)
CLK1P
DLL0
PLL_T1
PLL_L2
—
CLK2P
CLK3P
CLK0P
CLK5P
CLK1P
DLL1
DLL2
DLL3
PLL_B1
PLL_B2
PLL_T2
PLL_L3
PLL_R3
PLL_R2
—
—
—
CLK6P
CLK2P
CLK7P
CLK3P
CLK4P
CLK8P
CLK5P
CLK9P
CLK6P
CLK10P
CLK11P
CLK8P
CLK7P
CLK12P
CLK13P
CLK14P
CLK15P
CLK9P
CLK10P
CLK11P
1
If you use the ALTMEMPHY megafunction or UniPHY IP core, Altera recommends
using the dedicated PLL input pin for the PLL reference clock.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–31
Arria II External Memory Interface Features
Figure 7–20 shows the DQS phase-shift circuitry for Arria II devices. The input
reference clock goes into the DLL to a chain of up to 16 delay elements. The phase
comparator compares the signal coming out of the end of the delay chain block to the
input reference clock. The phase comparator then issues the upndnsignal to the
Gray-coded counter. This signal increments or decrements a 6-bit delay setting (DQS
delay settings) that increases or decreases the delay through the delay element chain
to bring the input reference clock and the signals coming out of the delay element
chain in phase.
Figure 7–20. Simplified Diagram of the DQS Phase-Shift Circuitry for Arria II Devices (Note 1)
addnsub
Phase offset settings
from the logic array
( offset [5:0] )
(offsetctrlout [5:0])
DLL0 phase offset
6
Phase
Offset
Control
A
settings to top and right
side, DLL1 phase offset
settings to bottom side of
the device (3)
6
offsetdelayctrlin [5:0]
offsetdelayctrlout [5:0]
DLL
clk
aload
(dll_offset_ctrl_a)
Input Reference
Clock (2)
addnsub
Phase offset settings
upndnin
from the logic array ( offset [5:0] )
Phase
Comparator
Up/Down
Counter
6
upndninclkena
Phase
(offsetctrlout [5:0])
DLL0 phase offset
settings to bottom side,
DLL1 phase offset settings
to right and top side of the
device (3)
Offset
Control
B
offsetdelayctrlout [5:0]
delayctrlout [5:0]
6
offsetdelayctrlin [5:0]
DQS Delay
6
(dll_offset_ctrl_b)
Delay Chains
6
Settings (4)
6
dqsupdate
Notes to Figure 7–20:
(1) All features of the DQS phase-shift circuitry are accessible from the UniPHY IP core and ALTMEMPHY megafunction in the Quartus II software.
(2) The input reference clock for the DQS phase-shift circuitry can come from a PLL output clock or an input clock pin. For the exact PLL and input
clock pin, refer to Table 7–6 and Table 7–10.
(3) Phase offset settings can only go to the DQS logic blocks.
(4) DQS delay settings can go to the logic array and DQS logic block.
You can reset the DLL from either the logic array or a user I/O pin. Each time the DLL
is reset, you must wait for 1,280 clock cycles for the DLL to lock before you can
capture the data properly.
Depending on the DLL frequency mode, the DLL can shift the incoming DQS signals
by 0°, 22.5°, 30°, 36°, 45°, 60°, 67.5°, 72°, 90°, 108°, 120°, 135°, 144°, 180°, or 240°. The
shifted DQS signal is then used as the clock for the DQ IOE input registers.
All DQS/CQ and CQn pins, referenced to the same DLL, can have their input signal
phase shifted by a different degree amount but all must be referenced at one
particular frequency. For example, you can have a 90° phase shift on DQS1Tand a 60°
phase shift on DQS2T, referenced from a 200-MHz clock. Not all phase-shift
combinations are supported. The phase shifts on the DQS pins referenced by the same
DLL must all be a multiple of 22.5° (up to 90°), 30° (up to 120°), 36° (up to 144°), 45°
(up to 180°), or 60° (up to 240°).
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–32
Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
There are seven different frequency modes for Arria II GX DLLs, and eight different
frequency modes for Arria II GZ DLLs as shown in Table 7–10. Each frequency mode
provides different phase-shift selections. In frequency mode 0, 1, 2, and 3, the 6-bit
DQS delay settings vary with PVT to implement the phase-shift delay. In frequency
modes 4, 5, 6, and 7 only 5 bits of the DQS delay settings vary with PVT to implement
the phase-shift delay; the MSB of the DQS delay setting is set to 0.
Table 7–10. DLL Frequency Modes for Arria II Devices
Frequency Mode
Available Phase Shift
22.5, 45, 67.5, 90
30, 60, 90, 120
Number of Delay Chains
0
16
12
10
8
1
2
36, 72, 108, 144
45, 90, 135, 180
30, 60, 90, 120
3
4
5
12
10
8
36, 72, 108, 144
45, 90, 135, 180
60, 120, 180, 240
6
7 (1)
6
Note to Table 7–10:
(1) Frequency mode 7 is only available for Arria II GZ devices only.
f
For the frequency range of each mode, refer to the Device Datasheet for Arria II Devices.
For a 0° shift, the DQS/CQ signal bypasses both the DLL and DQS logic blocks. The
Quartus II software automatically sets the DQ input delay chains so that the skew
between the DQ and DQS/CQ pin at the DQ IOE registers is negligible when the 0°
shift is implemented. You can feed the DQS delay settings to the DQS logic block and
the logic array.
The shifted DQS/CQ signal goes to the DQS bus to clock the IOE input registers of the
DQ pins. The signal can also go into the logic array for resynchronization if you do not
use the IOE resynchronization registers. The shifted CQn signal can go to the
negative-edge input register in the DQ IOE or the logic array and is only used for
QDR II+/QDR II SRAM interfaces.
Phase Offset Control
Each DLL has two phase offset modules and can provide two separate DQS delay
settings with independent offset; for Arria II GX devices, one offset goes clockwise
half-way around the chip and the other goes counter-clockwise half-way around the
chip and for Arria II GZ devices, one for the top and bottom I/O bank and one for the
left and right I/O bank. Even though you have independent phase offset control, the
frequency of the interface with the same DLL must be the same. Use the phase offset
control module for making small shifts to the input signal and use the DQS
phase-shift circuitry for larger signal shifts. For example, if the DLL only offers a
multiple of 30° phase shift, but your interface must have a 67.5° phase shift on the
DQS signal, you can use two delay chains in the DQS logic blocks to give you a 60°
phase shift and use the phase offset control feature to implement the extra 7.5° phase
shift.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–33
Arria II External Memory Interface Features
You can either use a static phase offset or a dynamic phase offset to implement the
additional phase shift. The available additional phase shift is implemented in 2s:
complement in Gray-code between the –64 to +63 settings for frequency mode 0, 1, 2,
and 3, and between the –32 to +31 settings for frequency modes 4, 5, 6, and 7. An
additional bit indicates whether the setting has a positive or negative value. The
settings are linear and each phase offset setting adds a delay amount.
f
1
For more information about the specified phase-shift settings, refer to the Device
Datasheet for Arria II Devices.
The DQS phase shift is the sum of the DLL delay settings and the user-selected phase
offset settings whose top setting is 64 for frequency modes 0, 1, 2, and 3; 32 for
frequency modes 4, 5, 6, and 7. Therefore, the actual physical offset setting range is 64
or 32 subtracted by the DQS delay settings from the DLL.
If you use this feature, monitor the DQS delay settings to know how many offsets you
can add and subtract in the system. The DQS delay settings output by the DLL are
also Gray-coded.
For example, if the DLL determines that DQS delay settings of 28 are required to
achieve a 30° phase shift in DLL frequency mode 1, you can subtract up to 28 phase
offset settings and add up to 35 phase offset settings to achieve the optimal delay
required. However, if the same DQS delay settings of 28 is required to achieve a 30°
phase shift in DLL frequency mode 4, subtract up to 28 phase offset settings, but only
add up to 3 phase offset settings before the DQS delay settings reach their maximum
settings because DLL frequency mode 4 only uses 5-bit DLL delay settings.
f
For more information about the value for each step, refer to the Device Datasheet for
Arria II Devices.
When using static phase offset, specify the phase offset amount in the ALTMEMPHY
megafunction as a positive number for addition or a negative number for subtraction.
You can also have a dynamic phase offset that is always added to, subtracted from, or
both added to and subtracted from the DLL phase shift. When you always add or
subtract, you can dynamically input the phase offset amount into the
dll_offset[5..0]port. When you want to both add and subtract dynamically, you
control the addnsubsignal in addition to the dll_offset[5..0]signals.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–34
Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
DQS Logic Block
Each DQS/CQ and CQn pin is connected to a separate DQS logic block, which
consists of DQS delay chains, update enable circuitry, and DQS postamble circuitry
(refer to Figure 7–21).
Figure 7–21. DQS Logic Block for Arria II Devices
DQS Enable
dqsenable (2)
DQS Delay Chain
PRE
D
Q
dqsin
dqsbusout
Bypass
DQS bus
DQS/CQ or
CQn Pin
dqsin
<phase_setting>
6
6
0
1
0
1
6
6
6
<dqs_ctrl_latches_enable>
offsetctrlin [5:0]
6
Phase offset
settings from
DQS phase-shift
circuitry
DQS Enable Control
0
D
Q
D
Q
Postamble
Enable
dqsenablein
1
Update
Enable
Circuitry
dqsupdateen
D
Q
clk
0
1
dqsenableout
<dqs_offsetctrl_enable>
Resynchronization
Clock
DQS delay
settings from the
DQS phase-shift
circuitry
6
delayctrlin [5:0]
D
Q
Input Reference
Clock (1)
<delay_dqs_enable_by_half_cycle>
Notes to Figure 7–21:
(1) The input reference clock for the DQS phase-shift circuitry can come from a PLL output clock or an input clock pin. For the exact PLL and input
clock pin, refer to Table 7–6 on page 7–28 and Table 7–10 on page 7–32.
(2) The dqsenable signal can also come from the Arria II GX FPGA fabric.
DQS Delay Chains
DQS delay chains consist of a set of variable delay elements to allow the DQS/CQ and
CQn in out signals to be shifted by the amount specified by the DQS phase-shift
circuitry or the logic array. There are four delay elements in the DQS delay chain; the
first delay chain closest to the DQS/CQ or CQn pin can either be shifted by the DQS
delay settings or by the sum of DQS delay setting and the phase-offset setting. The
number of delay chains required is transparent because the ALTMEMPHY
megafunction and UniPHY IP core automatically set it when you choose the
operating frequency. The DQS delay settings can come from the DQS phase-shift
circuitry on either end of the I/O banks or from the logic array.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–35
Arria II External Memory Interface Features
The delay elements in the DQS logic block have the same characteristics as the delay
elements in the DLL. When the DLL is not used to control the DQS delay chains, you
can input your own Gray-coded 6-bit or 5-bit settings with the
dqs_delayctrlin[5..0]signals available in the ALTMEMPHY megafunction and
UniPHY IP core. These settings control 1, 2, 3, or all 4 delay elements in the DQS delay
chains. The ALTMEMPHY megafunction and UniPHY IP core can also dynamically
choose the number of DQS delay chains required for the system. The amount of delay
is equal to the sum of the delay element’s intrinsic delay and the product of the
number of delay steps and the value of the delay steps.
You can also bypass the DQS delay chain to achieve a 0° phase shift.
Update Enable Circuitry
Both the DQS delay settings and the phase-offset settings pass through a register
before going into the DQS delay chains. The registers are controlled by the update
enable circuitry to allow enough time for any changes in the DQS delay setting bits to
arrive at all the delay elements. This allows them to be adjusted at the same time. The
update enable circuitry enables the registers to allow enough time for the DQS delay
settings to travel from the DQS phase-shift circuitry or core logic to all the DQS logic
blocks before the next change. It uses the input reference clock or a user clock from the
core to generate the update enable output. The ALTMEMPHY megafunction and
UniPHY IP core use this circuit by default. Figure 7–22 shows an example waveform
of the update enable circuitry output.
Figure 7–22. DQS Update Enable Waveform
DLL Counter Update
(Every 8 cycles)
DLL Counter Update
(Every 8 cycles)
System Clock
DQS Delay Settings
(Updated every 8 cycles)
6 bit
Update Enable
Circuitry Output
DQS Postamble Circuitry
For external memory interfaces that use a bidirectional read strobe such as in DDR3,
DDR2, and DDR SDRAM, the DQS signal is low before going to or coming from a
high-impedance state. The state in which DQS is low, just after a high-impedance
state, is called the preamble; the state in which DQS is low, just before it returns to a
high-impedance state, is called the postamble. There are preamble and postamble
specifications for both read and write operations in DDR3, DDR2, and DDR SDRAM.
The DQS postamble circuitry ensures that data is not lost if there is noise on the DQS
line at the end of a read postamble time.
Arria II devices have dedicated postamble registers that you can control to ground
the shifted DQS signal used to clock the DQ input registers at the end of a read
operation. This ensures that any glitches on the DQS input signals at the end of the
read postamble time do not affect the DQ IOE registers.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–36
Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
In addition to the dedicated postamble register, Arria II GZ devices also have a
half-data rate (HDR) block inside the postamble enable circuitry. Use these registers if
the controller is running at half the frequency of the I/Os.
Using the HDR block as the first stage capture register in the postamble enable
circuitry block is optional. The HDR block is clocked by the half-rate
resynchronization clock, which is the output of the I/O clock divider circuit (shown in
Figure 7–26 on page 7–39).
There is an AND gate after the postamble register outputs that is used to avoid
postamble glitches from a previous read burst on a non-consecutive read burst. This
scheme allows a half-a-clock cycle latency for dqsenableassertion and zero latency for
dqsenablede-assertion shown in Figure 7–23.
Figure 7–23. Avoiding Glitch on a Non-Consecutive Read Burst Waveform
Postamble glitch
Preamble
Postamble
DQS
Postamble Enable
dqsenable
Delayed by
1/2T logic
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–37
Arria II External Memory Interface Features
Arria II GZ Dynamic On-Chip Termination Control
Figure 7–24 shows the dynamic OCT control block. The block includes all the registers
required to dynamically turn on the on-chip parallel termination (RT OCT) during a
read and turn RT OCT off during a write.
f
For more information about the dynamic OCT control block, refer to the I/O Features
in Arria II Devices chapter.
Figure 7–24. Dynamic OCT Control Block for Arria II GZ Devices
OCT Enable
OCT Control
2
DFF
DFF
OCT
Half-Rate Clock
Resynchronization
Registers
HDR
Block
Write Clock (1)
OCT Control Path
Note to Figure 7–24:
(1) The write clock comes from the PLL.
I/O Element Registers
IOE registers are expanded to allow source-synchronous systems to have faster
register-to-register transfers and resynchronization. For Arria II GX devices, both top,
bottom, and right IOEs have the same capability. Right IOEs have extra features to
support LVDS data transfer. For Arria II GZ devices, both top and bottom, and left
and right IOEs have the same capability. Left and right IOEs have extra features to
support LVDS data transfer.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–38
Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
Figure 7–25 shows the registers available in the Arria II GX input path. The input path
consists of DDR input registers and resynchronization registers. You can bypass each
block of the input path.
Figure 7–25. IOE Input Registers for Arria II GX Devices (Note 1)
Synchronization Registers
Double Data Rate Input Registers
DQ
To Core (rdata0)
datain
regouthi
D
Q
D
Q
DFF
DFF
Input Reg A
I
To Core (rdata1)
regoutlo
neg_reg_out
D
Q
D
Q
D
Q
DFF
DFF
Input Reg C
DFF
Input Reg B
Differential
Input
Buffer
I
I
DQS (2), (4)
DQSn
Resynchronization
Clock
(resync_clk_2x)
(3)
1
0
CQn (3)
Notes to Figure 7–25:
(1) You can bypass each register block in this path.
(2) The input clock can be from the DQS logic block (whether the postamble circuitry is bypassed or not) or from a global clock line.
(3) This input clock comes from the CQn logic block.
(4) The DQS signal must be inverted for DDR interfaces except for the QDR II+/QDR II SRAM interfaces. This inversion is done automatically if you
use the Altera external memory interface IPs.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–39
Arria II External Memory Interface Features
Figure 7–26 shows the registers available in the Arria II GZ input path. The input path
consists of the DDR input registers, resynchronization registers, and HDR block. You
can bypass each block of the input path.
Figure 7–26. IOE Input Registers for Arria II GZ Devices (Note 1)
Double Data Rate Input Registers
DQ
Q
D
DFF
Input Reg A
I
neg_reg_out
D
Q
D
Q
Half Data Rate Registers
Differential
Input
Buffer
directin
0
DFF
Input Reg B
DFF
Input Reg C
Alignment and Synchronization Registers
DQS/CQ (3), (9)
DQSn (9)
I
I
To Core
dataout[2] (7)
1
D
D
D
D
Q
Q
Q
Q
0
1
dataout
datain [0]
DFF
CQn (4)
D
Q
dataoutbypass
(8)
DFF
To Core
dataout [0] (7)
D
Q
DFF
DFF
DFF
<bypass_output_register>(10)
0
To Core
dataout [3] (7)
1
datain [1]
dataout
D
Q
(2)
To Core
dataout [1] (7)
D
Q
Resynchronization Clock
(resync_clk_2×) (5)
DFF
DFF
DFF
to core (7)
I/O Clock
Divider (6)
Half-Rate Resynchronization Clock (resync_clk_1×)
Notes to Figure 7–26:
(1) You can bypass each register block in this path.
(2) This is the 0-phase resynchronization clock.
(3) The input clock can be from the DQS logic block (whether the postamble circuitry is bypassed or not) or from a GCLK line.
(4) This input clock comes from the CQn logic block.
(5) This resynchronization clock comes from a PLL through the clock network (resync_ck_2).
(6) The I/O clock divider resides adjacent to the DQS logic block. In addition to the PLL, the I/O clock divider can also be fed by the DQS bus or CQn
bus.
(7) The half-rate data and clock signals feed into a dual-port RAM in the FPGA core.
(8) You can dynamically change the dataoutbypasssignal after configuration to select either the directininput or the output from the half data
rate register to feed dataout
.
(9) The DQS and DQSn signals must be inverted for DDR, DDR2, and DDR3 interfaces. When using Altera’s memory interface IPs, the DQS, and DQSn
signals are automatically inverted.
(10) The bypass_output_register option allows you to select either the output from the second mux or the output of the fourth alignment/
synchronization register to feed dataout
.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–40
Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
There are three registers in the DDR input registers block. Two registers capture data
on the positive and negative edges of the clock, and the third register aligns the
captured data. You can choose to use the same clock for the positive edge and
negative edge registers, or two complementary clocks (DQS/CQ for positive-edge
register and DQSn/CQn for negative-edge register). The third register that aligns the
captured data uses the same clock as the positive edge registers.
For Arria II GX devices, the resynchronization registers resynchronize the data to the
resynchronization clock domain. These registers are clocked by the resynchronization
clock that is generated by the PLL. The outputs of the resynchronization registers go
straight to the core.
For Arria II GZ devices, the resynchronization registers resynchronize the data to the
system clock domain. These registers are clocked by the resynchronization clock that
is generated by the PLL. The outputs of the resynchronization registers can go straight
to the core or to the HDR blocks, which are clocked by the divided-down
resynchronization clock.
Figure 7–27 shows the registers available in the Arria II GX output and output enable
paths. The device can bypass each block of the output and output enable path.
Figure 7–27. IOE Output and Output Enable Path Registers for Arria II GX Devices (Note 1)
Double Data Rate Output-Enable Registers
OE
From core
D
Q
DFF
OE Reg AOE
OR2
dataout
D
Q
DFF
OE Reg BOE
Double Data Rate Output Registers
datahi
From core
D
Q
DQ or DQS
TRI
dataout
DFF
Output Reg Ao
1
0
datainlo
From core
D
Q
DFF
Output Reg Bo
Write
Clock (2)
Notes to Figure 7–27:
(1) You can bypass each register block of the output and output-enable paths.
(2) The write clock comes from the PLL. The DQ write clock and DQS write clock have a 90° offset between them.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–41
Arria II External Memory Interface Features
For Arria II GX devices, the output path is designed to route combinatorial or
registered single data rate (SDR) outputs and DDR outputs from the FPGA core.
The output enable path has a structure similar to the output path. You can have a
combinatorial or registered output in SDR applications.
Figure 7–28 shows the registers available in the Arria II GZ output and output-enable
paths. The path is divided into the HDR block, resynchronization registers, and
output and output-enable registers. The device can bypass each block of the output
and output-enable path.
Figure 7–28. IOE Output and Output-Enable Path Registers for Arria II GZ Devices (Note 1)
Half Data Rate to Single Data Rate
Output-Enable Registers
Double Data Rate
Output-Enable Registers
From Core (2)
From Core (2)
D
Q
DFF
0
1
D
Q
DFF
OE Reg A
D
Q
D
Q
OR2
OE
1
0
DFF
DFF
D
Q
Half Data Rate to Single Data Rate
Output Registers
DFF
OE Reg B
OE
From Core
(wdata2) (2)
D
Q
Double Data Rate
Output Registers
DFF
0
1
D
Q
TRI
From Core
(wdata0) (2)
1
0
DFF
Output Reg Ao
D
Q
D
D
Q
DQ or DQS
DFF
DFF
D
Q
From Core
(wdata3) (2)
DFF
Output Reg Bo
Q
0
1
DFF
From Core
(wdata1) (2)
D
Q
D
Q
DFF
DFF
Half-Rate Clock (3)
Write
Clock (4)
Notes to Figure 7–28:
(1) You can bypass each register block of the output and output-enable paths.
(2) Data coming from the FPGA core are at half the frequency of the memory interface clock frequency in half-rate mode.
(3) The half-rate clock comes from the PLL.
(4) The write clock comes from the PLL. The DQ write clock and DQS write clock have a 90° offset between them.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–42
Chapter 7: External Memory Interfaces in Arria II Devices
Document Revision History
For Arria II GZ devices, the output path is designed to route combinatorial or
registered SDR outputs and full-rate or half-rate DDR outputs from the FPGA core.
Half-rate data is converted to full-rate using the HDR block, clocked by the half-rate
clock from the PLL.
The output-enable path has a structure similar to the output path. You can have a
combinatorial or registered output in SDR applications and you can use half-rate or
full-rate operation in DDR applications. Also, the ouput-enable path’s
resynchronization registers have a structure similar to the output path registers,
ensuring that the output-enable path goes through the same delay and latency as the
output path.
Document Revision History
Table 7–11 shows the revision history for this document.
Table 7–11. Document Revision History (Part 1 of 2)
Date
Version
Changes
■ Updated Table 7–3.
June 2011
4.1
■ Updated Figure 7–11, Figure 7–12, Figure 7–13, Figure 7–14, and Figure 7–15.
■ Minor text edits.
■ Updated for the Quartus II software version 10.1 release.
■ Added Arria II GZ devices information.
■ Added Figure 7–2, Figure 7–10, Figure 7–11, Figure 7–12, Figure 7–13, Figure 7–14,
Figure 7–15, Figure 7–17, Figure 7–19, Figure 7–24, Figure 7–26, and Figure 7–26.
■ Added Table 7–1, Table 7–3, Table 7–4, Table 7–5, Table 7–3, Table 7–4, Table 7–6,
December 2010
4.0
Table 7–7, Table 7–8, and Table 7–9.
■ Updated Table 7–10.
■ Added “Using the RUP and RDN Pins in a DQ/DQS Group Used for Memory Interfaces in
Arria II GZ Devices” and “Arria II GZ Dynamic On-Chip Termination Control” sections.
■ Minor text edits.
Updated for Arria II GX v10.0 release:
■ Updated “Arria II Memory Interfaces Pin Support” section by adding reference to the
Section I. Device and Pin Planning in volume 2 of the External Memory Interface
Handbook and removing “Table 7–1: Memory Interface Pin Utilization”.
July 2010
3.0
2.0
■ Update DLL numbering to match with the Quartus II software.
■ Minor text edits.
Updated for Arria II GX v9.1 release:
■ Updated Table 7–1, Table 7–2, and Table 7–5.
■ Updated Figure 7–1, Figure 7–2, Figure 7–3, Figure 7–11, Figure 7–12, Figure 7–13,
Figure 7–15, and Figure 7–16.
November 2009
■ Updated the “Arria II GX External Memory Interface Features” section.
■ Added new “Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM
Interface” section.
■ Minor text edits.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 7: External Memory Interfaces in Arria II Devices
7–43
Document Revision History
Table 7–11. Document Revision History (Part 2 of 2)
Date
Version
Changes
■ Added Table 7–2.
■ Updated Table 7–1, Table 7–3, and Table 7–5.
June 2009
1.2
■ Updated Figure 7–1, Figure 7–3, Figure 7–4, Figure 7–5, Figure 7–6, Figure 7–7,
Figure 7–8, Figure 7–9, and Figure 7–11.
■ Updated “Introduction” and “DLL” sections.
Updated Table 7–1 and Table 7–2.
Initial release.
February 2009
February 2009
1.1
1.0
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
7–44
Chapter 7: External Memory Interfaces in Arria II Devices
Document Revision History
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
8. High-Speed Differential I/O Interfaces
and DPA in Arria II Devices
July 2012
AIIGX51008-4.3
AIIGX51008-4.3
This chapter describes the high-speed differential I/O features and resources, the
functionality of the serializer/deserializer (SERDES), and the dynamic phase
alignment (DPA) circuitry in Arria® II devices.
This chapter contains the following sections:
■
■
■
■
■
■
■
■
■
■
■
“LVDS Channels” on page 8–2
“LVDS SERDES and DPA Block Diagram” on page 8–7
“Differential Transmitter” on page 8–8
“Differential Receiver” on page 8–11
“Programmable Pre-Emphasis and Programmable VOD.” on page 8–10
“Differential I/O Termination” on page 8–20
“PLLs” on page 8–21
“LVDS and DPA Clock Networks” on page 8–21
“Source-Synchronous Timing Budget” on page 8–23
“Differential Pin Placement Guidelines” on page 8–27
“Setting Up an LVDS Transmitter or Receiver Channel” on page 8–36
Arria II devices have the following dedicated circuitry for high-speed differential I/O
support:
■
■
■
■
■
■
Differential I/O buffer
Transmitter serializer
Receiver deserializer
Data realignment block (bit slip)
DPA block
Synchronizer (FIFO buffer)
Arria II devices support the following high-speed differential I/O standards:
■
■
■
■
■
LVDS
mini-LVDS
RSDS
LVPECL
Bus LVDS (BLVDS) for Arria II GX devices
1
True mini-LVDS and RSDS inputs are not supported. The LVPECL I/O standard is
only used for phase-locked loop (PLL) clock inputs in differential mode.
© 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
8–2
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
LVDS Channels
f
For specifications and features of the differential I/O standards supported in Arria II
devices, refer to the I/O Features in Arria II Devices and Arria II Devices Data Sheet
chapters.
LVDS Channels
In Arria II GX devices, there are true LVDS input buffers and LVDS I/O buffers at the
top, bottom, and right side of the device. The LVDS input buffers have 100- on-chip
differential termination (RD OCT) support. You can configure the LVDS I/O buffers as
either LVDS input (without RD OCT) or true LVDS output buffers. You can also
configure the LVDS pins on the top, bottom, and right sides of the device, as emulated
LVDS output buffers, which use two single-ended output buffers with an external
resistor network to support LVDS, mini-LVDS, and RSDS standards.
The Arria II GZ devices support LVDS on both row and column I/O banks. Row I/Os
support true LVDS input with 100- RD OCT and true LVDS output buffers. Column
I/Os supports true LVDS input buffers without RD OCT. You can also configure the
row and column LVDS pins as emulated LVDS output buffers that use two
single-ended output buffers with an external resistor network to support LVDS,
mini-LVDS, and RSDS standards. Arria II GZ devices offer single-ended I/O refclk
support for the LVDS.
Dedicated SERDES and DPA circuitries are implemented on the right I/O banks of
Arria II GX devices and row I/O banks of Arria II GZ devices to further enhance the
LVDS interface performance in the device. For column I/O banks in Arria II devices,
SERDES is implemented in the core logic because there is no dedicated SERDES
circuitry.
1
When you configure the I/O buffers as LVDS input with RD OCT enabled, you must
set both VCCIO and VCCPD to 2.5 V.
f
For more information about I/O banks, refer to the I/O Features in Arria II Devices
chapter.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–3
Locations of the I/O Banks
Locations of the I/O Banks
Arria II I/Os are divided into 16 to 20 I/O banks. For Arria II GX devices, the
high-speed differential I/O s are located at the right side of the device. For Arria II GZ
devices, the high-speed differential I/Os are located at the right and left sides of the
device.
Figure 8–1 and Figure 8–2 show a high-level chip overview of Arria II devices.
Figure 8–1. High-Speed Differential I/Os with DPA Block Locations in an Arria II GX Device (Note 1), (2), (3)
High-Speed Differential I/O,
General Purpose I/O,
High-Speed Differential I/O,
General Purpose I/O,
and Memory Interface
and Memory Interface
PLL
PLL
High-Speed
Differential
I/O with DPA,
General
Purpose
I/O, and
Memory
Interface
FPGA Fabric
PLL
PLL
Transceiver
Blocks
(Logic Elements, DSP,
Embedded Memory, and Clock Networks)
High-Speed
Differential
I/O with DPA,
General
Purpose
I/O, and
Memory
Interface
PLL
PLL
High-Speed Differential I/O,
General Purpose I/O,
and Memory Interface
High-Speed Differential I/O,
General Purpose I/O,
and Memory Interface
Notes to Figure 8–1:
(1) This figure is a top view of the silicon die, which corresponds to a reverse view for flip chip packages. It is a graphical representation only.
(2) Applicable to EP2AGX95, EP2AGX125, EP2AGX190, and EP2AGX260 devices.
(3) There are no center PLLs on the right I/O banks for EP2AGX45 and EP2AGX65 devices.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–4
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Locations of the I/O Banks
Figure 8–2 shows a high-level chip overview of the Arria II GZ devices.
Figure 8–2. High-Speed Differential I/Os with DPA Block Locations in Arria II GZ Devices
General Purpose
I/O and Memory
Interface
General Purpose
I/O and Memory
Interface
PLL PLL
3()
FPGA Fabric
(Logic Elements, DSP,
Embedded Memory,
Clock Networks)
(1)
(2)
(1)
PLL
PLL
PLL
PLL
(2)
General Purpose
I/O and Memory
Interface
General Purpose
I/O and Memory
Interface
PLL PLL
Notes to Figure 8–2:
(1) Not available for F780 device package.
(2) Not available for F780 and F1152 device packages.
(3) The PCIe hard IP block is located on the left side of the device only (IOBANK_QL).
Table 8–1 to Table 8–4 list the maximum number of row and column LVDS I/Os
supported in Arria II devices. You can design the LVDS I/Os as true LVDS input,
output buffers, or emulated LVDS output buffers, if the combination does not exceed
the maximum count. For example, there are a total of 56 LVDS pairs of I/Os in 780-pin
EP2AGX45 device row (refer to Table 8–1). You can design up to a maximum of either:
■
■
28 true LVDS input buffers with RD OCT and 28 true LVDS output buffers
56 LVDS input buffers of which 28 are true LVDS input buffers with RD OCT and
28 requires external 100-termination
■
■
28 true LVDS output buffers and 28 emulated LVDS output buffers
56 emulated LVDS output buffers
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–5
Locations of the I/O Banks
1
Dedicated SERDES and DPA circuitry are only available on the right side of the device
in row I/O banks. SERDES with DPA receivers are only available on differential pins
in the row I/O banks and SERDES transmitters are only available on transmit (Tx)
pins in the row I/O banks. The receive (Rx) pins in row I/O banks are receiver
channels without dedicated SERDES and DPA circuitry.
Table 8–1. LVDS Channels Supported in Arria II GX Device Row I/O Banks (Note 1), (2), (3), (4), (5), (6)
Device
358-Pin FlipChip UBGA
572-Pin FlipChip FBGA
780-Pin FlipChip FBGA
1152-Pin FlipChip FBGA
8(RD or eTx) +
8(Rx, Tx or eTx)
24(RD or eTx) +
24(Rx, Tx, or eTx)
28(RD or eTx) +
28(Rx, Tx, or eTx)
EP2AGX45
—
8(RD or eTx) +
8(Rx, Tx, or eTx)
24(RD or eTx) +
24(Rx, Tx, or eTx)
28(RD or eTx) +
28(Rx, Tx or eTx)
EP2AGX65
EP2AGX95
EP2AGX125
EP2AGX190
EP2AGX260
—
24(RD or eTx) +
24(Rx, Tx or eTx)
28(RD or eTx) +
28(Rx, Tx or eTx)
32(RD or eTx) +
32(Rx, Tx, or eTx)
—
—
—
—
24(RD or eTx) +
24(Rx, Tx or eTx)
28(RD or eTx) +
28((Rx, Tx or eTx)
32(RD or eTx) +
32(Rx, Tx or eTx)
28(RD or eTx)+
28(Rx, Tx or eTx)
48(RD or eTx) +
48(Rx, Tx or eTx)
—
—
28(RD or eTx) +
28(Rx, Tx or eTx)
48(RD or eTx) +
48(Rx, Tx or eTx)
Notes to Table 8–1:
(1) Dedicated SERDES and DPA circuitry only exist on the right side of the device in the Row I/O banks.
(2) RD = True LVDS input buffers with RD OCT support and dedicated SERDES receiver channel with DPA circuitry.
(3) Rx = True LVDS input buffers without RD OCT support and dedicated SERDES receiver channel with DPA circuitry.
(4) Tx = True LVDS output buffers and dedicated SERDES transmitter channel.
(5) eTx = Emulated LVDS output buffers, either LVDS_E_3R or LVDS_E_1R.
(6) The LVDS channel count does not include dedicated clock input pins and PLL clock output pins.
Table 8–2. LVDS Channels Supported in Arria II GX Device Column I/O Banks (Note 1), (2), (3), (4), (5), (6) (Part 1 of
2)
Device
358-Pin FlipChip UBGA
572-Pin FlipChip FBGA
780-Pin FlipChip FBGA
1152-Pin FlipChip FBGA
25(RD or eTx) +
24(Rx, Tx, or eTx)
33(RD or eTx) +
32(Rx, Tx, or eTx)
57(RD or eTx) +
56(Rx, Tx, or eTx)
EP2AGX45
—
25(RD or eTx) +
24(Rx, Tx, or eTx)
33(RD or eTx) +
32(Rx, Tx, or eTx)
57(RD or eTx) +
56(Rx, Tx, or eTx)
EP2AGX65
EP2AGX95
EP2AGX125
EP2AGX190
—
33(RD or eTx) +
32(Rx, Tx, or eTx)
57(RD or eTx) +
56(Rx, Tx, or eTx)
73(RD or eTx) +
72(Rx, Tx, or eTx)
—
—
—
33(RD or eTx) +
32(Rx, Tx, or eTx)
57(RD or eTx) +
56(Rx, Tx, or eTx)
73(RD or eTx) +
72(Rx, Tx, or eTx)
57(RD or eTx) +
56(Rx, Tx, or eTx)
97(RD or eTx) +
96(Rx, Tx, or eTx)
—
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–6
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Locations of the I/O Banks
Table 8–2. LVDS Channels Supported in Arria II GX Device Column I/O Banks (Note 1), (2), (3), (4), (5), (6) (Part 2 of
2)
Device
358-Pin FlipChip UBGA
572-Pin FlipChip FBGA
780-Pin FlipChip FBGA
1152-Pin FlipChip FBGA
57(RD or eTx) +
56(Rx, Tx, or eTx)
97(RD or eTx) +
96(Rx, Tx, or eTx)
EP2AGX260
—
—
Notes to Table 8–2:
(1) There are no dedicated SERDES and DPA circuitry in device column I/O banks.
(2) RD = True LVDS input buffers with RD OCT support.
(3) Rx = True LVDS input buffers without RD OCT support.
(4) Tx = True LVDS output buffers.
(5) eTx = Emulated LVDS output buffers, either LVDS_E_3R or LVDS_E_1R.
(6) The LVDS channel count does not include dedicated clock input pins and PLL clock output pins.
Table 8–3 and Table 8–4 list the maximum number of row and column LVDS I/Os
supported in Arria II GZ devices.
Table 8–3. LVDS Channels Supported in Arria II GZ Device Row I/O Banks (Note 1), (2), (3)
Device
780-Pin FineLine BGA
1152-Pin FineLine BGA
1517-Pin FineLine BGA
42(Rx or eTx) +
44(Tx or eTx)
86(Rx or eTx) +
88(Tx or eTx)
EP2AGZ225
—
42(Rx or eTx) +
44(Tx or eTx)
86(Rx or eTx) +
88(Tx or eTx)
EP2AGZ300
—
—
42(Rx or eTx) +
44(Tx or eTx)
86(Rx or eTx) +
88(Tx or eTx)
EP2AGZ350
Notes to Table 8–3:
(1) Rx = true LVDS input buffers with RD OCT, Tx = true LVDS output buffers, eTx = emulated LVDS output buffers (either
LVDS_E_1R or LVDS_E_3R).
(2) The LVDS Rx and Tx channels are equally divided between the left and right sides of the device, except for the devices
in the 780-pin Fineline BGA. These devices have the LVDS Rx and Tx located on the left side of the device.
(3) The LVDS channel count does not include dedicated clock input pins.
Table 8–4. LVDS Channels Supported in Arria II GZ Device Column I/O Banks (Note 1), (2), (3)
Device
780-Pin FineLine BGA
—
1152-Pin FineLine BGA
93(Rx or eTx) + 96 eTx
93(Rx or eTx) + 96 eTx
93(Rx or eTx) + 96 eTx
1517-Pin FineLine BGA
93(Rx or eTx) + 96 eTx
93(Rx or eTx) + 96 eTx
93(Rx or eTx) + 96 eTx
EP2AGZ225
EP2AGZ300
EP2AGZ350
Notes to Table 8–4:
68(Rx or eTx) + 72 eTx
68(Rx or eTx) + 72 eTx
(1) Rx = true LVDS input buffers without RD OCT, eTx = emulated LVDS output buffers (either LVDS_E_1R or
LVDS_E_3R).
(2) The LVDS Rx and Tx channels are equally divided between the top and bottom sides of the device.
(3) The LVDS channel count does not include dedicated clock input pins.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–7
LVDS SERDES and DPA Block Diagram
LVDS SERDES and DPA Block Diagram
The Arria II GX devices have dedicated SERDES and DPA circuitry for LVDS
transmitters and receivers on the right side. The Arria II GZ devices have dedicated
SERDES and DPA circuitry for LVDS transmitters and receivers on the row I/O banks.
Figure 8–3 shows the LVDS SERDES and DPA block diagram. This diagram shows the
interface signals for the transmitter and receiver datapaths. For more information,
refer to “Differential Transmitter” on page 8–8 and “Differential Receiver” on
page 8–11.
Figure 8–3. LVDS SERDES and DPA Block Diagram (Note 1), (2), (3)
Serializer
IOE Supports SDR, DDR, or
Non-Registered Datapath
2
IOE
tx_out
tx_in
10
+
-
DIN DOUT
tx_coreclock
LVDS Transmitter
(LVDS_LOAD_EN, diffioclk,
tx_coreclock)
3
IOE Supports SDR, DDR, or
Non-Registered Datapath
rx_in
2
+
-
10
IOE
rx_out
Synchronizer
Bit Slip
Deserializer
DPA Circuitry
FPGA
Fabric
Retimed
Data
DOUT
DIN
DOUT DIN
DIN
DOUT DIN
DPA Clock
diffioclk
3
2
(DPA_LOAD_EN,
DPA_diffioclk,
rx_divfwdclk)
(LOAD_EN, diffioclk)
Clock Multiplexer
rx_divfwdclk
rx_outclock
LVDS Receiver
3
(LVDS_LOAD_EN,
LVDS_diffioclk,
rx_outclock
LVDS Clock Domain
DPA Clock Domain
8 Serial LVDS
Clock Phases
PLL (4)
rx_inclock/tx_inclock
Notes to Figure 8–3:
(1) This diagram shows a shared PLL between the transmitter and receiver. If the transmitter and receiver are not sharing the same PLL, two PLLs
on the right side of the device are required.
(2) In SDR and DDR modes, the data width is 1 and 2 bits, respectively.
(3) The tx_in and rx_out ports have a maximum data width of 10 bits.
(4) Arria II GX center/corner PLL or Arria II GZ left/right PLL.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–8
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Transmitter
Differential Transmitter
The Arria II transmitter has a dedicated circuitry to provide support for LVDS
signaling. The dedicated circuitry consists of a differential buffer, a serializer, and
PLLs that can be shared between the transmitter and receiver. The differential buffer
can drive out LVDS, mini-LVDS, and RSDS signaling levels. The differential output
buffer supports programmable pre-emphasis and programmable voltage output
differential (VOD) controls, and can drive out mini-LVDS and RSDS signaling levels.
Figure 8–4 is a block diagram of the LVDS transmitter.
1
When using emulated LVDS I/O standards at the differential transmitter, the SERDES
circuitry must be implemented in logic cells but not hard SERDES.
Figure 8–4. LVDS Transmitter Block Diagram (Note 1), (2)
IOE supports SDR, DDR, or
Non-Registered Datapath
2
Serializer
IOE
tx_out
+
-
10
DOUT
DIN
tx_in
FPGA
Fabric
LVDS Transmitter
tx_coreclock
3
(LVDS_LOAD_EN, diffioclk, tx_coreclock)
PLL (3)
LVDS Clock Domain
tx_inclock
Notes to Figure 8–4:
(1) In SDR and DDR modes, the data width is 1 and 2 bits, respectively.
(2) The tx_in port has a maximum data width of 10 bits.
(3) Arria II GX center/corner PLL or Arria II GZ left/right PLL.
Serializer
The serializer takes parallel data from the FPGA fabric, clocks it into the parallel load
registers, and serializes it using the shift registers before sending the data to the
differential output buffer. The MSB of the parallel data is transmitted first. The
parallel load and shift registers are clocked by the high-speed clock running at the
serial data rate (diffioclk) and controlled by the load enable signal (LVDS_LOAD_EN
)
generated from the PLL. You can statically set the serialization factor to x4, x6, x7, x8,
or x10 using the ALTLVDS megafunction. The load enable signal is derived from the
serialization factor setting.
You can bypass the serializer to support DDR (x2) and SDR (x1) operations to achieve
a serialization factor of 2 and 1, respectively. The I/O element (IOE) contains two data
output registers that can each operate in either DDR or SDR mode. Figure 8–5 shows
the serializer bypass path.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–9
Differential Transmitter
Figure 8–5. Serializer Bypass Path (Note 1), (2), (3)
IOE supports SDR, DDR, or
Non-Registered Datapath
2
Serializer
IOE
tx_out
+
-
tx_in
10
DOUT
DIN
FPGA
Fabric
LVDS Transmitter
tx_coreclock
3
(LVDS_LOAD_EN, diffioclk, tx_coreclock)
LVDS Clock Domain
tx_inclock
PLL (4)
Notes to Figure 8–5:
(1) All disabled blocks and signals are grayed out.
(2) In DDR mode, tx_inclockclocks the IOE register. In SDR mode, data is directly passed through the IOE.
(3) In SDR and DDR modes, the data width to the IOE is 1 and 2 bits, respectively.
(4) Arria II GX center/corner PLL or Arria II GZ left/right PLL.
Differential applications often require specific clock-to-data alignments or a specific
data rate to clock rate factors. You can configure any Arria II LVDS transmitter to
generate a source-synchronous transmitter clock output. This flexibility allows the
placement of the output clock near the data outputs to simplify board layout and
reduce clock-to-data skew. The output clock can also be divided by a factor of 1, 2, 4, 6,
8, or 10, depending on the serialization factor. The phase of the clock in relation to the
data can be set at 0° or 180° (edge or center aligned). The PLLs provide additional
support for other phase shifts in 45° increments. These settings are made statically in
the Quartus® II MegaWizard™ Plug-In Manager software.
Figure 8–6 shows the Arria II LVDS transmitter in clock output mode. In clock output
mode, you can use an LVDS data channel as a clock output channel.
Figure 8–6. LVDS Transmitter in Clock Output Mode
Transmitter Circuit
Parallel Series
txclkout+
txclkout–
FPGA
Fabric
diffioclk
PLL
(1)
LVDS_LOAD_EN
Note to Figure 8–6:
(1) Arria II GX center/corner PLL or Arria II GZ left/right PLL.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–10
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Transmitter
Programmable Pre-Emphasis and Programmable VOD.
Pre-emphasis increases the amplitude of the high frequency component of the output
signal, which helps to compensate for the frequency-dependent attenuation along the
transmission line. Figure 8–7 shows the LVDS output single-ended waveform with
and without pre-emphasis. The definition of VOD is also shown.
Figure 8–7. LVDS Output Single-Ended Waveform with and without Programmable Pre-Emphasis (Note 1)
OUT
V
OD
OUT
Without Programmable Pre-emphasis
V
P
OUT
OUT
V
OD
V
P
With Programmable Pre-emphasis
Note to Figure 8–7:
(1) VP– voltage boost from pre-emphasis.
Pre-emphasis is an important feature for high-speed transmission. Without
pre-emphasis, the output current is limited by the VOD setting and the output
impedance of the driver. At high frequency, the slew rate may not be fast enough to
reach the full VOD before the next edge, producing a pattern-dependent jitter. With
pre-emphasis, the output current is boosted momentarily during switching to increase
the output slew rate. The overshoot introduced by the extra current happens only
during switching and does not ring, unlike the overshoot caused by signal reflection.
This overshoot must not be included in the VOD voltage.
Table 8–5 lists the assignment name and its possible values for programmable
pre-emphasis in the Quartus II software Assignment Editor.
Table 8–5. Programmable Pre-Emphasis Settings in Quartus II Software Assignment Editor
Assignment Value
Assignment Name
Arria II GX Device
Arria II GZ Device
0 (default zero),
1 (medium low),
2 (medium high),
3 (high)
Programmable Pre-Emphasis
0 (off), 1 (default on)
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–11
Differential Receiver
You can statically assign the VOD settings from the Assignment Editor. Table 8–6 lists
the assignment name for programmable VOD and its possible values in the Quartus II
software Assignment Editor.
Table 8–6. Programmable VOD Settings in Quartus II Software Assignment Editor
Assignment Value
Assignment Name
Arria II GX Device
Arria II GZ Device
Programmable Differential Output
2
0, 1, 2, 3
Voltage (VOD
)
Differential Receiver
The Arria II device family has a dedicated circuitry to receive high-speed differential
signals in side or row I/Os. Figure 8–8 shows the hardware blocks of the Arria II
receiver. The receiver has a differential buffer and PLLs that can be shared between
the transmitter and receiver, a DPA block, a synchronizer, a data realignment block,
and a deserializer. The differential buffer can receive LVDS signal levels, which are
statically set in the Quartus II software Assignment Editor. Figure 8–8 shows a block
diagram of an LVDS receiver in the right I/O bank.
Figure 8–8. LVDS Receiver Block Diagram (Note 1), (2)
IOE Supports SDR, DDR, or Non-Registered Datapath
LVDS Receiver
2
+
rx_in
IOE
10
rx_out
Synchronizer
Deserializer
DOUT DIN
Bit Slip
DPA Circuitry
Retimed
DOUT DIN
DIN
DOUT
DIN
Data
FPGA
Fabric
DPA Clock
2
diffioclk
Clock
Multiplexer
(LOAD_EN, diffioclk)
3
(DPA_LOAD_EN,
DPA_diffioclk,
rx_divfwdclk)
rx_divfwdclk
rx_outclock
(LVDS_LOAD_EN,
LVDS_diffioclk,
rx_outclk)
3
LVDS Clock Domain
DPA Clock Domain
8 Serial LVDS
Clock Phases
PLL (3)
rx_inclock
Notes to Figure 8–8:
(1) In SDR and DDR modes, the data width from the IOE is 1 and 2 bits, respectively.
(2) The rx_out port has a maximum data width of 10 bits.
(3) Arria II GX center/corner PLL or Arria II GZ left/right PLL.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–12
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Receiver
The Arria II PLL receives the external reference clock input (rx_inclock) and
generates eight different phases of the same clock. The DPA block chooses one of the
eight clock phases from the center/corner PLL and aligns to the incoming data to
maximize receiver skew margin. The synchronizer circuit is a 1-bit wide by 6-bit deep
FIFO buffer that compensates for any phase difference between the DPA block and the
deserializer. If necessary, the user-controlled data realignment circuitry inserts a single
bit of latency in the serial bit stream to align to the word boundary. The deserializer
converts the serial data to parallel data and sends the parallel data to the FPGA fabric.
The physical medium connecting the LVDS transmitter and the receiver channels may
introduce skew between the serial data and the source synchronous clock. The
instantaneous skew between each LVDS channel and the clock also varies with the
jitter on the data and clock signals, as seen by the receiver.
1
1
Only non-DPA mode requires manual skew adjustment.
Arria II devices support the following receiver modes to overcome skew between the
source-synchronous or reference clock and the received serial data:
■
■
■
Non-DPA mode
DPA mode
Soft clock data recovery (CDR) mode
Dedicated SERDES and DPA circuitry only exist on the right side of the device. Top
and bottom I/O banks only support non-DPA mode, in which the SERDES are
implemented in the core logic.
Receiver Hardware Blocks
The differential receiver has the following hardware blocks:
“DPA” on page 8–12
“Synchronizer” on page 8–13
■
■
■
■
“Data Realignment Block (Bit Slip)” on page 8–14
“Deserializer” on page 8–15
DPA
The DPA block takes in high-speed serial data from the differential input buffer and
selects the optimal phase from one of the eight clock phases generated by the PLL to
sample the data. The eight phases of the clock are equally divided, giving a 45°
resolution. The maximum phase offset between the received data and the selected
phase is 1/8 unit interval (UI), which is the maximum quantization error of the DPA
block. The optimal clock phase selected by the DPA block (DPA_diffioclk) is also
used to write data into the FIFO buffer or to clock the SERDES for soft-CDR operation.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–13
Differential Receiver
Figure 8–9 shows the possible phase relationships between the DPA clocks and the
incoming serial data.
Figure 8–9. DPA Clock Phase to Serial Data Timing Relationship (Note 1)
D0
D1
D2
D3
D4
Dn
rx_in
0˚
45˚
90˚
135˚
180˚
225˚
270˚
315˚
T
vco
0.125T
vco
Note to Figure 8–9:
(1) TVCO is defined as the PLL serial clock period.
The DPA block requires a training pattern and sequence of at least 256 repetitions. The
training pattern is not fixed, so you can use any training pattern with at least one
transition. An optional user controlled signal (rx_dpll_hold) freezes the DPA clock on
its current phase when asserted. This signal is useful if you do not want the DPA
circuitry to continuously adjust the phase after initial phase selection.
The DPA circuitry loses lock when it switches phases to maintain an optimal sampling
phase. After it is locked, the DPA circuitry can lose the lock status under either of the
following conditions:
■
■
One phase change (adjacent to the current phase)
Two phase changes in the same direction
An independent reset signal (rx_reset) is routed from the FPGA fabric to reset the
DPA circuitry while in the user mode. The DPA circuitry must be retrained after reset.
Synchronizer
The synchronizer is a 1-bit wide and 6-bit deep FIFO buffer that compensates for the
phase difference between DPA_diffioclkand the high-speed clock (LVDS_diffioclk
produced by the PLL. Because every DPA channel might have a different phase
selected to sample the data, you need the FIFO buffer to synchronize the data to the
high-speed LVDS clock domain. The synchronizer can only compensate for phase
)
differences, not frequency differences between the data and the input reference clock
of the receiver, and is automatically reset when the DPA circuitry first locks to the
incoming data.
An optional signal (rx_fifo_reset) is available to the FPGA fabric to reset the
synchronizer. Altera recommends using rx_fifo_resetto reset the synchronizer
when the DPA signal is in a loss-of-lock condition and the data checker indicates
corrupted received data.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–14
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Receiver
Data Realignment Block (Bit Slip)
Skew in the transmitted data along with skew added by the link causes
channel-to-channel skew on the received serial data streams. If you enabled the DPA
block, the received data is captured with different clock phases on each channel and
might cause the received data to be misaligned from channel to channel. To
compensate for the channel-to-channel skew and establish the correct received word
boundary at each channel, each receiver channel has a dedicated data realignment
circuit that realigns the data by inserting bit latencies into the serial stream.
An optional signal (rx_channel_data_align) controls the bit insertion of each receiver
independently controlled from the internal logic. The data slips one bit on the rising
edge of rx_channel_data_align. The following are requirements for the
rx_channel_data_alignsignal:
■
■
■
■
■
An edge-triggered signal
The minimum pulse width is one period of the parallel clock in the logic array
The minimum low time between pulses is one period of the parallel clock
Holding rx_channel_data_aligndoes not result in extra slips
Valid data is available two parallel clock cycles after the rising edge of the
rx_channel_data_alignsignal
Figure 8–10 shows receiver output after a one bit-slip pulse with the deserialization
factor set to 4.
Figure 8–10. Data Realignment Timing
rx_inclock
rx_in
3
2
1
0
3
2
1
0
3
2
1
0
rx_outclock
rx_channel_data_align
rx_out
xx21
321x
0321
3210
The data realignment circuit can have up to 11 bit-times of insertion before a rollover
occurs. The programmable bit rollover point can be from 1 to 11 bit-times,
independent of the deserialization factor. The programmable bit rollover point must
be set to equal to or greater than the deserialization factor, allowing enough depth in
the word alignment circuit to slip through a full word. You can set the value of the bit
rollover point using the ALTLVDS megafunction. An optional status signal
(
rx_cda_max) is available to the FPGA fabric from each channel to indicate when the
preset rollover point is reached.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–15
Differential Receiver
Figure 8–11 shows a preset value of 4-bit times before rollover occurs. The rx_cda_max
signal pulses for one rx_outclockcycle to indicate that rollover has occurred.
Figure 8–11. Receiver Data Re-Alignment Rollover
rx_inclock
rx_channel_data_align
rx_outclock
rx_cda_max
Deserializer
The deserializer, which includes shift registers and parallel load registers, converts the
serial data from the bit slip to parallel data before sending the data to the FPGA fabric.
The deserialization factor supported is 4, 6, 7, 8, or 10. You can bypass the deserializer
to support DDR (x2) and SDR (x1) operations, as shown in Figure 8–12. You cannot
use the DPA and data realignment circuit when the deserializer is bypassed. The IOE
contains two data input registers that can operate in DDR or SDR mode.
Figure 8–12. Deserializer Bypass (Note 1), (2), (3)
IOE Supports SDR, DDR, or Non-Registered Datapath
LVDS Receiver
2
+
rx_in
IOE
2
rx_out
Synchronizer
Deserializer
DOUT DIN
Bit Slip
DPA Circuitry
DOUT DIN
DIN
Retimed
Data
DOUT
DIN
FPGA
Fabric
DPA Clock
2
diffioclk
(LOAD_EN, diffioclk)
Clock
Multiplexer
3
(DPA_LOAD_EN,
DPA_diffioclk,
rx_divfwdclk)
rx_divfwdclk
rx_outclock
(LVDS_LOAD_EN,
LVDS_diffioclk,
rx_outclk)
3
8 Serial LVDS
Clock Phases
PLLLL ((4)
Notes to Figure 8–12:
(1) All disabled blocks and signals are grayed out.
(2) In DDR mode, rx_inclock clocks the IOE register. In SDR mode, data is directly passed through the IOE.
(3) In SDR and DDR modes, the data width from the IOE is 1 and 2 bits, respectively.
(4) Arria II GX center/corner PLL or Arria II GZ left/right PLL.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–16
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Receiver
Receiver Datapath Modes
Arria II devices support the following three receiver datapath modes:
“Non-DPA”
“DPA Mode”
“Soft CDR Mode”
■
■
■
Non-DPA
Non-DPA mode allows you to statically select the optimal phase between the
source-synchronous reference clock and the input serial data to compensate for any
skew between the two signals. The reference clock must be a differential signal.
Figure 8–13 shows the non-DPA datapath block diagram. Input serial data is
registered at the rising or falling edge of the LVDS_diffioclkclock produced by the
PLL. You can select the rising/falling edge option using the ALTLVDS megafunction.
Both data realignment and deserializer blocks are clocked by the LVDS_diffioclk
clock.
For Arria II GX devices, you must perform PCB trace compensation to adjust the trace
length of each LVDS channel to improve channel-to-channel skew when interfacing
with non-DPA receivers at data rate above 840 Mbps.
The Quartus II software Fitter Report panel reports the amount of delay you must add
to each trace for the Arria II GX device. You can use the recommended trace delay
numbers published under the LVDS Transmitter/Receiver Package Skew
Compensation panel and manually compensate the skew on the PCB board trace to
reduce channel-to-channel skew, thus meeting the timing budget between LVDS
channels.
1
For more information about the LVDS Transmitter/Receiver Package Skew
Compensation report panel, refer to the “Arria II GX LVDS Package Skew
Compensation Report Panel“ section in the SERDES Transmitter/Receiver (ALTLVDS)
Megafunction User Guide.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–17
Differential Receiver
Figure 8–13. Receiver Datapath in Non-DPA Mode (Note 1), (2), (3)
IOE Supports SDR, DDR, or Non-Registered Datapath
LVDS Receiver
2
+
rx_in
IOE
10
rx_out
Synchronizer
Deserializer
DOUT DIN
Bit Slip
DPA Circuitry
DOUT DIN
Retimed
DIN
Data
DOUT DIN
FPGA
Fabric
DPA Clock
2
diffioclk
(LOAD_EN, diffioclk)
Clock
Multiplexer
3
(DPA_LOAD_EN,
DPA_diffioclk,
rx_divfwdclk)
rx_divfwdclk
rx_outclock
(LVDS_LOAD_EN,
LVDS_diffioclk,
rx_outclk)
3
8 Serial LVDS
Clock Phases
PLL (4)
rx_inclock
LVDS Clock Domain
Notes to Figure 8–13:
(1) All disabled blocks and signals are grayed out.
(2) In SDR and DDR modes, the data width from the IOE is 1 and 2 bits, respectively.
(3) The rx_out port has a maximum data width of 10 bits.
(4) Arria II GX center/corner PLL or Arria II GZ left/right PLL.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–18
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Receiver
DPA Mode
In DPA mode, the DPA circuitry automatically chooses the optimal phase between the
source-synchronous reference clock and the input serial data to compensate for the
skew between the two signals. The reference clock must be a differential signal.
Figure 8–14 shows the DPA mode datapath. Use the DPA_diffioclkclock to write
serial data into the synchronizer. Use the LVDS_diffioclkclock to read the serial data
from the synchronizer. Use the same LVDS_diffioclkclock in the data realignment
and deserializer blocks.
Figure 8–14. Receiver Datapath in DPA Mode (Note 1), (2), (3)
IOE Supports SDR, DDR, or Non-Registered Datapath
LVDS Receiver
rx_in
+
IOE
10
rx_out
Synchronizer
Deserializer
DOUT DIN
Bit Slip
DPA Circuitry
Retimed
DOUT DIN
DIN
DIN
DOUT
Data
FPGA
Fabric
DPA Clock
2
diffioclk
(LOAD_EN, diffioclk)
Clock
Multiplier
(DPA_LOAD_EN,
DPA_diffioclk,
rx_divfwdclk)
3
rx_divfwdclk
rx_outclock
(LVDS_LOAD_EN,
LVDS_diffioclk,
rx_outclk)
3
LVDS Clock Domain
DPA Clock Domain
8 Serial LVDS
Clock Phases
PLL (4)
rx_inclock
Notes to Figure 8–14:
(1) All disabled blocks and signals are grayed out.
(2) In SDR and DDR modes, the data width from the IOE is 1 and 2 bits, respectively.
(3) The rx_out port has a maximum data width of 10 bits.
(4) Arria II GX center/corner PLL or Arria II GZ left/right PLL.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–19
Differential Receiver
Soft CDR Mode
Figure 8–15 shows the soft CDR mode datapath block diagram. In soft CDR mode, the
PLL uses the local clock source as the reference clock. The reference clock must be a
differential signal. The DPA circuitry continuously changes its phase to track the parts
per million (ppm) difference between the upstream transmitter and the local receiver
reference input clocks. Use the DPA_diffioclkclock for bit-slip operation and
deserialization. The DPA_diffioclkclock is divided by the deserialization factor to
produce the rx_divfwdclkclock, which is then forwarded to the FPGA fabric. The
receiver output data (rx_out) to the FPGA fabric is synchronized to this clock. The
parallel clock rx_outclock, generated by the center/corner PLL, is also forwarded to
the FPGA fabric.
Figure 8–15. Receiver Datapath in Soft CDR Mode (Note 1), (2), (3)
IOE Supports SDR, DDR, or Non-Registered Datapath
LVDS Receiver
2
+
rx_in
IOE
10
rx_out
Synchronizer
Deserializer
DOUT DIN
Bit Slip
DPA Circuitry
Retimed
DOUT DIN
DIN
DIN
DOUT
Data
FPGA
Fabric
DPA Clock
2
diffioclk
(LOAD_EN, diffioclk)
Clock
Multiplexer
3
(DPA_LOAD_EN,
rx_divfwdclk
rx_outclock
DPA_diffioclk,
rx_divfwdclk)
(LVDS_LOAD_EN,
LVDS_diffioclk,
rx_outclk)
3
LVDS Clock Domain
DPA Clock Domain
8 Serial LVDS
Clock Phases
PLL (4)
rx_inclock
Notes to Figure 8–15:
(1) All disabled blocks and signals are grayed out.
(2) In SDR and DDR modes, the data width from the IOE is 1 and 2 bits, respectively.
(3) The rx_out port has a maximum data width of 10 bits.
(4) Arria II GX center/corner PLL or Arria II GZ left/right PLL.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–20
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Receiver
Differential I/O Termination
The Arria II device family provides a 100- RD OCT option on each differential
receiver channel for LVDS standards. OCT saves board space by eliminating the need
to add external resistors on the board. You can enable OCT in the Quartus II software
Assignment Editor.
For Arria II GX devices, OCT is supported in the top, right, and bottom I/O banks.
Arria II GX clock input pins (CLK[4..15]) do not support OCT. For Arria II GZ
devices, RD OCT is supported on all row I/O pins and dedicated clock input pins
(
CLK[0,2,9,11]). It is not supported for column I/O pins and dedicated clock input
pins (CLK[1,3,8,10]).
Figure 8–16 shows LVDS input OCT.
Figure 8–16. LVDS Input Buffer I/O RD OCT
Arria II Differential
LVDS
Transmitter
Receiver with
R
= 100 Ω OCT
D
Z
Z
= 50 Ω
= 50 Ω
0
0
R
D
Table 8–7 lists the assignment name and its value for differential input OCT in the
Quartus II software Assignment Editor.
Table 8–7. Differential Input OCT in Quartus II Software Assignment Editor
Assignment Name
Assignment Value
Input Termination (Accepts wildcards/groups)
Differential
f
For more information, refer to I/O Features in Arria II Devices chapter.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–21
PLLs
PLLs
Arria II GX devices contain up to six PLLs with up to four center and corner PLLs
located on the right side of the device. Use the center/corner PLL on the right side of
the device to generate parallel clocks (rx_outclockand tx_outclock) and high-speed
clocks (diffioclk) for the SERDES and DPA circuitry. Figure 8–1 on page 8–3 shows
the locations of the PLLs for Arria II GX devices. Clock switchover and dynamic
reconfiguration are allowed using the center/corner PLLs in high-speed differential
I/O support mode.
Arria II GZ devices contain up to four left and right PLLs with up to two PLLs located
on the left side and two on the right side of the device. The left PLLs can support
high-speed differential I/O banks on the left side; the right PLLs can support
high-speed differential I/O banks on the right side of the device. The high-speed
differential I/O receiver and transmitter channels use these left and right PLLs to
generate the parallel clocks (rx_outclockand tx_outclock) and high-speed clocks
(
diffioclk). Figure 8–2 on page 8–4 shows the locations of the left and right PLLs for
Arria II GZ devices. The PLL VCO operates at the clock frequency of the data rate.
Clock switchover and dynamic reconfiguration are allowed using the left and right
PLL in high-speed differential I/O support mode.
f
For more information about PLLs, refer to the Clock Network and PLLs in Arria II
Devices chapter.
LVDS and DPA Clock Networks
Arria II GX devices only have LVDS and DPA clock networks on the right side of the
device. The center/corner PLLs feed into the differential transmitter and receiver
channels through the LVDS and DPA clock networks. Figure 8–17 and Figure 8–18
show the LVDS clock tree for family members without center PLLs and with center
PLLs, respectively. The center PLLs can drive the LVDS clock tree above and below
them. In Arria II GX devices with or without center PLLs, the corner PLLs can drive
both top and bottom LVDS clock tree.
Figure 8–17. LVDS and DPA Clock Networks in the Arria II GX Devices without Center PLLs
4
Corner
PLL
Quadrant
Quadrant
Quadrant
Quadrant
4
4
No LVDS and DPA
clock networks on the
left side of the device
DPA
Clock
LVDS
Clock
8
Corner
PLL
4
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–22
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
LVDS and DPA Clock Networks
Figure 8–18. LVDS and DPA Clock Networks in the Arria II GX Devices with Center PLLs
4
Corner
PLL
4
DPA
Clock
LVDS
Clock
8
Quadrant
Quadrant
Center
PLL
4
4
No LVDS and DPA
clock networks on the
left side of the device
Center
PLL
Quadrant
Quadrant
DPA
Clock
LVDS
Clock
8
4
4
Corner
PLL
Arria II GZ devices have left and right PLLs that feed into the differential transmitter
and receive channels through the LVDS and DPA clock network. The center left and
right PLLs can clock the transmitter and receive channels above and below them.
Figure 8–19 shows center PLL clocking in Arria II GZ devices.
Figure 8–19. LVDS/DPA Clocks in the Arria II GZ Devices with Center PLLs
LVDS
Clock
DPA
Clock
DPA
Clock
LVDS
Clock
4
4
Quadrant
Quadrant
4
4
Center
PLL_R2
Center
PLL_L2
2
2
2
2
Center
PLL_L3
Center
PLL_R3
4
4
Quadrant
Quadrant
LVDS
Clock
DPA
Clock
DPA
Clock
LVDS
Clock
4
4
For more information about Arria II devices PLL clocking restrictions, refer to
“Differential Pin Placement Guidelines” on page 8–27.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–23
Source-Synchronous Timing Budget
Source-Synchronous Timing Budget
This section describes the timing budget, waveforms, and specifications for
source-synchronous signaling in Arria II devices. Timing analysis for the differential
block is different from traditional synchronous timing analysis techniques. Therefore,
it is important to understand how to analyze timing for high-speed differential
signals. This section defines the source-synchronous differential data orientation
timing parameters, timing budget definitions, and how to use these timing
parameters to determine your design’s maximum performance.
Differential Data Orientation
There is a set relationship between an external clock and the incoming data. For
operation at 1 Gbps and a serialization factor of 10, the external clock is multiplied
by 10. You can set the phase-alignment in the PLL to coincide with the sampling
window of each data bit. The data is sampled on the falling edge of the multiplied
clock.
Figure 8–20 shows the data bit orientation of x10 mode.
Figure 8–20. Bit Orientation
inclock/outclock
10 LVDS Bits
MSB
9
LSB
0
data in
8
7
6
5
4
3
2
1
Differential I/O Bit Position
Data synchronization is necessary for successful data transmission at high
frequencies. Figure 8–21 shows data bit orientation for a channel operation. These
figures are based on the following:
■
■
■
serialization factor equals clock multiplication factor
edge alignment is selected for phase alignment
implemented in hard SERDES
For other serialization factors, use the Quartus II software tools to find the bit position
in the word. The bit positions after deserialization are listed in Table 8–8.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–24
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Source-Synchronous Timing Budget
Figure 8–21. Bit Order and Word Boundary for One Differential Channel (Note 1)
Transmitter Channel
Operation (x8 Mode)
tx_outclock
Current Cycle
Next Cycle
Previous Cycle
7
X X X X X X
6
5
4
3
2
1
0
tx_out
X
X
X
X
X X X X
X
X
6
MSB
LSB
Receiver Channel
Operation (x8 Mode)
rx_inclock
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
7
5
4
3
2
1
0
rx_in
rx_outclock
rx_out [7..0]
X X X X X X X X
X X X X X X X X
X X X X 7 6 5 4
3 2 1 0 X X X X
Note to Figure 8–21:
(1) These waveforms are only functional waveforms and are not intended to convey timing information.
Table 8–8 lists the conventions for differential bit naming for 18 differential channels.
The MSB and LSB positions increase with the number of channels used in a system.
Table 8–8. Differential Bit Naming
Internal 8-Bit Parallel Data
Receiver Channel Data
Number
MSB Position
LSB Position
1
2
7
0
15
8
3
23
16
4
31
24
5
39
32
6
47
40
7
55
48
8
63
56
9
71
64
10
11
12
13
14
15
16
17
18
79
72
87
80
95
88
103
111
119
127
135
143
96
104
112
120
128
136
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–25
Source-Synchronous Timing Budget
Transmitter Channel-to-Channel Skew
Transmitter channel-to-channel skew (TCCS) is an important parameter based on the
Arria II transmitter in a source synchronous differential interface. This parameter is
used in receiver skew margin calculation.
TCCS is the difference between the fastest and slowest data output transitions,
including the TCO variation and clock skew. For LVDS transmitters, the TimeQuest
Timing Analyzer provides a TCCS report, which shows TCCS values for serial output
ports.
f
You can get the TCCS value from the TCCS report (report_TCCS) in the Quartus II
compilation report under the TimeQuest analyzer or from the Arria II Device Data
Sheet chapter.
Receiver Skew Margin for Non-DPA Mode
Changes in system environment, such as temperature, media (cable, connector, or
PCB), and loading, effect the receiver’s setup and hold times; internal skew affects the
sampling ability of the receiver.
Different modes of LVDS receivers use different specifications, which can help in
deciding the ability to sample the received serial data correctly. In DPA mode, use
DPA jitter tolerance instead of receiver skew margin (RSKM).
In non-DPA mode, use RSKM, TCCS, and sampling window (SW) specifications for
high-speed source-synchronous differential signals in the receiver datapath. The
relationship between RSKM, TCCS, and SW is expressed by the RSKM equation
shown in Equation 8–1:
Equation 8–1.
TUI – SW – TCCS
----------------------------------------------
RSKM =
2
Where:
■
■
TUI—the time period of the serial data.
RSKM—the timing margin between the receiver’s clock input and the data input
SW.
■
■
SW—the period of time that the input data must be stable to ensure that the data is
successfully sampled by the LVDS receiver. The sampling window is the device
property and varies with the device speed grade.
TCCS—the difference between the fastest and slowest data output transitions,
including the tCO variation and clock skew.
You must calculate the RSKM value to decide whether or not the data can be sampled
properly by the LVDS receiver with the given data rate and device. A positive RSKM
value indicates the LVDS receiver can sample the data properly; a negative RSKM
indicates the receiver cannot sample the data properly.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–26
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Source-Synchronous Timing Budget
Figure 8–22 shows the relationship between the RSKM, TCCS, and SW.
Figure 8–22. Differential High-Speed Timing Diagram and Timing Budget for Non-DPA Mode
Timing Diagram
External
Input Clock
Time Unit Interval (TUI)
Internal
Clock
TCCS
RSKM
TCCS
RSKM
Receiver
Input Data
SW
Internal
Clock
Falling Edge
Timing Budget
TUI
External
Clock
Clock Placement
Internal
Clock
Synchronization
Transmitter
Output Data
RSKM
RSKM
TCCS
2
TCCS
Receiver
Input Data
SW
For LVDS receivers, the Quartus II software provides the RSKM report showing SW,
TUI, and RSKM values for non-DPA mode. You can generate the RSKM by executing
the report_RSKM command in the TimeQuest analyzer. You can find the RSKM
report in the Quartus II Compilation report under TimeQuest Timing Analyzer
section.
1
To obtain the RSKM value, assign an appropriate input delay to the LVDS receiver
through the TimeQuest analyzer constraints menu.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–27
Differential Pin Placement Guidelines
Differential Pin Placement Guidelines
To ensure proper high-speed operation, differential pin placement guidelines are
established. The Quartus II Compiler automatically checks that these guidelines are
followed and issues an error message if they are not adhered to.
1
DPA-enabled differential channels refer to DPA mode or soft CDR mode;
DPA-disabled channels refer to non-DPA mode.
DPA-Enabled Channels and Single-Ended I/Os
When single-ended I/Os and LVDS I/Os share the same I/O bank, the placement of
single-ended I/O pins with respect to LVDS I/O pins is restricted. The constraints on
single-ended I/Os placement with respect to DPA-enabled or DPA-disabled LVDS
I/Os are the same.
■
■
■
Single-ended I/Os are allowed in the same I/O bank, if the single-ended I/O
standard uses the same VCCIO as the DPA-enabled differential I/O bank.
Single-ended inputs can be in the same logic array block (LAB) row as a
differential channel using the SERDES circuitry.
Double data rate I/O (DDIO) can be placed within the same LAB row as a SERDES
differential channel but half rate DDIO or single data rate (SDR) output pins
cannot be placed within the same LAB row as a receiver SERDES differential
channel. The input register must be implemented within the FPGA fabric logic.
Guidelines for DPA-Enabled Differential Channels
When you use DPA-enabled channels, you must adhere to the guidelines listed in the
following sections.
DPA-Enabled Channel Driving Distance
If the number of DPA-enabled channels driven by each center or corner PLL exceeds
25 LAB rows, Altera recommends implementing data realignment (bit slip) circuitry
for all the DPA channels.
Using Center and Corner Left and Right PLLs in Arria II GX Devices
If the DPA-enabled channels in a bank are being driven by two PLLs, where the corner
PLL is driving one group and the center PLL is driving another group, there must be
at least one row of separation between the two groups of DPA-enabled channels, as
shown in Figure 8–23. This separation prevents noise mixing because the two groups
can operate at independent frequencies.
No separation is necessary if a single PLL is driving both the DPA-enabled channels
and DPA-disabled channels.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–28
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Pin Placement Guidelines
Figure 8–23. Center and Corner PLLs Driving DPA-Enabled Differential I/Os in the Same Bank
Corner
PLL
Reference
CLK
DPA-enabled
Diff I/O
Channels
driven by
Corner
PLL
DPA -enabled
Diff I/O
DPA -enabled
Diff I/O
DPA -enabled
Diff I/O
DPA -enabled
Diff I/O
One Unused
Channel for Buffer
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
Channels
driven by
Center
PLL
DPA-enabled
Diff I/O
Reference
CLK
C
enter
PLL
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–29
Differential Pin Placement Guidelines
Using Both Center PLLs
You can use center PLLs to drive DPA-enabled channels simultaneously, if they drive
these channels in their adjacent banks only, as shown in Figure 8–23.
1
Center PLLs are available at the right I/O banks of Arria II GX devices and the right
and left I/O banks of Arria II GZ devices.
If one of the center PLLs drives the DPA-enabled channels in the upper and lower I/O
banks, you cannot use the other center PLL for DPA-enabled channels, as shown in
Figure 8–24.
Figure 8–24. Center PLLs Driving DPA-Enabled Differential I/Os
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
Reference
CLK
Reference
CLK
Center
PLL
Center
PLL
Center
PLL
Center
PLL
Unused
PLL
Reference
CLK
Reference
CLK
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
DPA-enabled
Diff I/O
Diff I/O
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–30
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Pin Placement Guidelines
If the upper center PLL drives DPA-enabled channels in the lower I/O bank, the
lower center PLL cannot drive DPA-enabled channels in the upper I/O bank, and vice
versa. In other words, the center PLLs cannot drive cross-banks simultaneously, as
shown in Figure 8–25.
Figure 8–25. Invalid Placement of DPA-Disabled Differential I/Os Driven by Both Center PLLs
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
Reference
CLK
Center PLL
Center PLL
Reference
CLK
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–31
Differential Pin Placement Guidelines
Using Both Corner PLLs in Arria II GX Devices
You can use both corner PLLs to drive DPA-enabled channels simultaneously, if they
drive the channels in their adjacent banks only. There must be at least one row of
separation between the two groups of DPA-enabled channels.
If one of the corner PLLs drives DPA-enabled channels in the upper and lower I/O
banks, you cannot use the center PLLs. You can use the other corner PLL to drive
DPA-enabled channels in their adjacent bank only. There must be at least one row of
separation between the two groups of DPA-enabled channels.
If the upper corner PLL drives DPA-enabled channels in the lower I/O bank, the
lower corner PLL cannot drive DPA-enabled channels in the upper I/O bank, and vice
versa. In other words, the corner PLLs cannot drive cross-banks simultaneously, as
shown in Figure 8–26.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–32
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Pin Placement Guidelines
Figure 8–26. Corner PLLs Driving DPA-Enabled Differential I/Os
Upper
Corner
PLL
Reference
CLK
DPA-enabled
Diff I/O
Upper
I/O Bank
DPA -enabled
Diff I/O
Diff I/O
DPA -enabled
Diff I/O
DPA -enabled
Diff I/O
Center PLL
Center PLL
Unused
PLLs
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
Lower
I/O Bank
DPA-enabled
Diff I/O
Reference CLK
Lower Corner PLL
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–33
Differential Pin Placement Guidelines
Guidelines for DPA-Disabled Differential Channels
When you use DPA-disabled channels, you must adhere to the guidelines in the
following sections.
DPA-Disabled Channel Driving Distance
Each PLL can drive all the DPA-disabled channels in the entire bank.
Using Corner and Center PLLs in Arria II GX Devices
You can use a corner PLL to drive all transmitter channels and you can use a center
PLL to drive all DPA-disabled receiver channels in the same I/O bank. In other
words, you can drive a transmitter channel and a receiver channel in the same LAB
row by two different PLLs, as shown in Figure 8–27.
Figure 8–27. Corner and Center PLLs Driving DPA-Disabled Differential I/Os in the Same Bank
Corner
PLL
Corner
PLL
Reference
CLK
Reference
CLK
Diff RX
Diff TX
DPA-disabled
Diff I/O
Channels
driven by
Corner
PLL
Diff RX
Diff RX
Diff RX
Diff RX
Diff RX
Diff RX
Diff RX
Diff RX
Diff TX
Diff TX
Diff TX
Diff TX
Diff TX
Diff TX
Diff TX
Diff TX
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
No
separation
buffer
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
needed
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
Channels
driven by
Center
PLL
DPA-disabled
Diff I/O
DPA -disabled
Diff I /O
Diff RX
Diff TX
Reference
CLK
Reference
CLK
Center
PLL
Center
PLL
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–34
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Pin Placement Guidelines
A corner PLL and a center PLL can drive duplex channels in the same I/O bank, if the
channels driven by each PLL are not interleaved. No separation is necessary between
the group of channels driven by the corner and center left and right PLLs. Refer to
Figure 8–27 and Figure 8–28.
Figure 8–28. Invalid Placement of DPA-Disabled Differential I/Os Due to Interleaving of Channels
Driven by the Corner and Center PLLs
Center
PLL
Reference CLK
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
Reference CLK
Center
PLL
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–35
Differential Pin Placement Guidelines
Using Both Center PLLs
You can use both center PLLs simultaneously to drive DPA-disabled channels on
upper and lower I/O banks. Unlike DPA-enabled channels, the center PLLs can drive
DPA-disabled channels cross-banks. For example, the upper center PLL can drive the
lower I/O bank at the same time the lower center PLL is driving the upper I/O bank,
and vice versa, as shown in Figure 8–29.
1
Center PLLs are available at the right I/O banks of Arria II GX devices and the right
and left I/O banks of Arria II GZ devices.
Figure 8–29. Both Center PLLs Driving Cross-Bank DPA-Disabled Channels Simultaneously
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
Reference
CLK
Center
PLL
Center
PLL
Reference
CLK
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–36
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Setting Up an LVDS Transmitter or Receiver Channel
Using Both Corner PLLs in Arria II GX Devices
You can use both corner PLLs to drive DPA-disabled channels simultaneously. Both
corner PLLs can drive cross-banks.
You can use a corner PLL to drive all the transmitter channels and you can use the
other corner PLL to drive all DPA-disabled receiver channels in the same I/O bank.
Both corner PLLs can drive duplex channels in the same I/O bank if the channels
driven by each PLL are not interleaved. No separation is necessary between the group
of channels driven by both corner PLLs.
Setting Up an LVDS Transmitter or Receiver Channel
The ALTLVDS megafunction offers you the ease of setting up an LVDS transmitter or
receiver channel. You can control the settings of SERDES and DPA circuitry in the
ALTLVDS megafunction. When you instantiate an ALTLVDS megafunction, the PLL
is instantiated automatically and you can set the parameters of the PLL. This
megafunction simplifies the clocking setup for the LVDS transmitter or receiver
channels. However, the drawback is reduced flexibility when using the PLL.
The ALTLVDS megafunction provides an option for implementing the LVDS
transmitter or receiver interfaces with external PLLs. With this option enabled, you
can control the PLL settings, such as dynamically reconfiguring the PLLs to support
different data rates, dynamic phase shift, and other settings. You also must instantiate
an ALTPLL megafunction to generate the various clock and load enable signals.
f
f
For more information about how to control the PLL, SERDES, and DPA block settings,
and detailed descriptions of the LVDS transmitter and receiver interface signals, refer
to the SERDES Transmitter/Receiver (ALTLVDS) Megafunction User Guide.
For more information about the ALTPLL megafunction, refer to the Phase Locked-Loops
(ALTPLL) Megafunction User Guide.
Document Revision History
Table 8–9 lists the revision history for this chapter.
Table 8–9. Document Revision History (Part 1 of 2)
Date
July 2012
Version
Changes Made
4.3
Updated Figure 8–23.
■ Updated “Differential Receiver” section.
■ Minor text edits.
December 2011
June 2011
4.2
4.1
■ Updated Figure 8–2.
■ Minor text edits.
Updated for the Quartus II software version 10.1 release:
■ Added Arria II GZ device information.
■ Updated Table 8–3 and Table 8–4.
■ Updated Figure 8–2.
December 2010
4.0
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
8–37
Document Revision History
Table 8–9. Document Revision History (Part 2 of 2)
Date
Version
Changes Made
Updated for Arria II GX v10.0 release:
■ Updated Table 8–1 and Table 8–2.
■ Updated Figure 8–1 and Figure 8–5.
■ Updated “Non-DPA Mode” section.
July 2010
3.0
■ Removed Table 8–1: Supported Data Range.
■ Minor text edit.
Updated for Arria II GX v9.1 release:
■ Updated Table 8–1 and Table 8–2.
■ Updated Figure 8–1.
November 2009
2.0
■ Updated “LVDS Channels” and “Non-DPA Mode” sections.
■ Minor text edit.
■ Updated Table 8–2 and Table 8–3.
June 2009
1.1
1.0
■ Updated “Programmable Pre-Emphasis and Programmable VOD.” and “LVDS Channels”
sections.
February 2009
Initial release
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
8–38
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Document Revision History
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Section III. System Integration for Arria II
Devices
This section provides information about Arria® II device configuration, design
security, remote system upgrades, SEU mitigation, JTAG, and power requirements.
This section includes the following chapters:
■
Chapter 9, Configuration, Design Security, and Remote System Upgrades in
Arria II Devices
■
■
■
Chapter 10, SEU Mitigation in Arria II Devices
Chapter 11, JTAG Boundary-Scan Testing in Arria II Devices
Chapter 12, Power Management 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.
February 2014 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
III–2
Section III: System Integration for Arria II Devices
Revision History
Arria II Device Handbook Volume 1: Device Interfaces and Integration
February 2014 Altera Corporation
9. Configuration, Design Security, and
Remote System Upgrades in Arria II
Devices
July 2012
AIIGX51009-4.3
AIIGX51009-4.3
This chapter describes the supported configuration schemes for Arria® II devices,
instructions for executing the required configuration schemes, and the necessary
option pin settings. This chapter also reviews the different ways you can configure
your device and explains the design security and remote system upgrade features for
Arria II devices.
Arria II devices use SRAM cells to store configuration data. Because SRAM memory is
volatile, you must download configuration data to the Arria II device each time the
device powers up. All configuration schemes use either an external controller (for
example, a MAX® II device or microprocessor), a configuration device, or a download
cable.
This chapter includes the following sections:
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
“Configuration Features”
“Power-On Reset Circuit and Configuration Pins Power Supply” on page 9–4
“Configuration Process” on page 9–7
“Configuration Schemes” on page 9–9
“Fast Passive Parallel Configuration” on page 9–11
“AS and Fast AS Configuration (Serial Configuration Devices)” on page 9–19
“PS Configuration” on page 9–26
“JTAG Configuration” on page 9–33
“Device Configuration Pins” on page 9–39
“Configuration Data Decompression” on page 9–46
“Remote System Upgrades” on page 9–48
“Remote System Upgrade Mode” on page 9–52
“Dedicated Remote System Upgrade Circuitry” on page 9–55
“Quartus II Software Support” on page 9–60
“Design Security” on page 9–61
© 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
9–2
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Configuration Features
Configuration Devices
Altera® serial configuration devices support single- and multi-device configuration
solutions for Arria II devices. Arria II GX devices use the active serial (AS)
configuration scheme while Arria II GZ devices use the fast AS configuration scheme.
Serial configuration devices offer a low-cost, low pin-count configuration solution.
f
1
For more information about serial configuration devices, refer to the Serial
Configuration Devices (EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Datasheet in
volume 2 of the Configuration Handbook.
All minimum timing information stated in this chapter covers the entire Arria II
device family. Some devices may work at less than the minimum timing stated in this
chapter due to process variations.
Configuration Features
Arria II devices offer decompression, design security, and remote system upgrade
features. Arria II devices can receive a compressed configuration bitstream and
decompress this data in real-time, reducing storage requirements and configuration
time. Design security using configuration bitstream encryption protects your designs.
You can make real-time system upgrades from remote locations of your Arria II
designs with the remote system upgrade feature.
Table 9–1 lists the configuration features you can use in each configuration scheme for
Arria II GX devices.
Table 9–1. Configuration Features for Arria II GX Devices
Configuration
Scheme
Design
Security
Remote System
Upgrade
Configuration Method
Decompression
FPP
AS
MAX II device or a microprocessor with flash memory
Serial configuration device
v (1)
v
v (1)
v
—
v (2)
—
MAX II device or a microprocessor with flash memory
Download cable
v
v
PS
v
v
—
MAX II device or a microprocessor with flash memory
Download cable
—
—
—
JTAG
—
—
—
Notes to Table 9–1:
(1) In these modes, the host system must send a DCLKthat is x4 the data rate.
(2) Remote system upgrade is only available in the AS configuration scheme. Local update mode is not supported in the AS configuration scheme.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–3
Configuration Features
Table 9–2 lists the configuration features you can use in each configuration scheme for
Arria II GZ devices.
Table 9–2. Configuration Features for Arria II GZ Devices
Configuration
Scheme
Design
Security
Remote System
Upgrade
Configuration Method
Decompression
FPP
MAX II device or a microprocessor with flash memory
Serial configuration device
v (1)
v
v (1)
v
—
v (2)
—
Fast AS
MAX II device or a microprocessor with flash memory
Download cable
v
v
PS
v
v
—
MAX II device or a microprocessor with flash memory
Download cable
—
—
—
JTAG
—
—
—
Notes to Table 9–2:
(1) In these modes, the host system must send a DCLKthat is x4 the data rate.
(2) Remote system upgrade is only available in the fast AS configuration scheme. Local update mode is not supported in the fast AS configuration
scheme.
Refer to the following for the configuration features supported in Arria II devices:
■
■
■
■
For more information about the configuration data decompression feature, refer to
“Configuration Data Decompression” on page 9–46.
For more information about the remote system upgrade feature, refer to “Remote
System Upgrades” on page 9–48.
For more information about the design security feature, refer to the “Design
Security” on page 9–61.
For more information about the parallel flash loader (PFL), refer to Parallel Flash
Loader Megafunction User Guide.
If your system already contains a common flash interface (CFI) flash memory device,
you can also use it for the Arria II device configuration storage. The PFL feature in
MAX II devices provides an efficient method to program CFI flash memory devices
through the JTAG interface and provides the logic to control configuration from the
flash memory device to the Arria II device. Both passive serial (PS) and fast passive
parallel (FPP) configuration modes are supported using this PFL feature.
For more information about programming Altera serial configuration devices, refer to
“Programming Serial Configuration Devices” on page 9–24.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–4
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Power-On Reset Circuit and Configuration Pins Power Supply
Power-On Reset Circuit and Configuration Pins Power Supply
The following sections describe the power-on reset (POR) circuit and the power
supply for the configuration pins.
Power-On Reset Circuit
The POR circuit keeps the entire system in reset mode until the power supply voltage
levels have stabilized on power-up. After power-up, the device does not release
nSTATUSuntil the voltage levels are above the POR trip point of the device. Table 9–3
lists the voltages required for power-up in Arria II devices.
Table 9–3. Required Voltages for Arria II Devices
Devices
Arria II GX
Arria II GZ
Voltages
VCCCB, VCCA_PLL, VCC, VCCPD, and VCCIO for I/O banks 3C or 8C
VCC, VCCAUX, VCCCB, VCCPGM, and VCCPD
On power down for Arria II GX devices, brown-out occurs if VCC ramps down below
the POR trip point and any of the VCC, VCCPD, or VCCIO voltages for I/O banks 3C or
8C drops below the threshold. On power down for Arria II GZ devices, brown-out
occurs if the VCC, VCCAUX, VCCCB, VCCPGM, or VCCPD voltages drops below the
threshold voltage.
In Arria II devices, you can select between a fast POR time or a standard POR time.
For Arria II GX devices, selection depends on the MSELpin settings. For Arria II GZ
devices, selection depends on the PORSELinput pin. PORSEL= L is set as standard POR
time. PORSEL= H is set as fast POR time. Fast POR time is 4 ms < TPOR < 12 ms for a
fast configuration time. Standard POR time is 100 ms < TPOR < 300 ms for a lower
power-ramp rate.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–5
Power-On Reset Circuit and Configuration Pins Power Supply
Configuration Pins Power Supply
Table 9–4 lists the configuration pins for Arria II devices.
Table 9–4. Configuration pins for Arria II Devices
Devices
Configuration Pins
All dedicated configuration pins are supplied by VCCIO for I/O banks 3C and 8C in
which they reside. The supported configuration voltages are 1.8, 2.5, 3.0, and
3.3 V. Use the VCCIO pin for I/O banks 3C and 8C to power all the dedicated
configuration inputs, dedicated configuration outputs, and dedicated
configuration bidirectional pins that you used for configuration. With VCCIO for
I/O banks 3C and 8C, the configuration input buffers do not have to the share
power lines with the regular I/O buffer.
Arria II GX
You must power the dual function configuration pins that you used for
configuration with the VCCIO power supply in which the configuration pins reside.
For more information about the configuration voltage standard applied to the
VCCIO power supply, refer to Table 9–6 on page 9–9.
All dedicated configuration pins and dual-function pins are supplied by VCCPGM
.
The supported configuration voltages are 1.8, 2.5, and 3.0 V. Use the VCCPGM pin
to power all the dedicated configuration inputs, dedicated configuration outputs,
and dedicated configuration bidirectional pins that you used for configuration.
With VCCPGM, the configuration input buffers do not have to share the power lines
with the regular I/O buffer.
Arria II GZ
Arria II devices do not support a 1.5-V configuration. The operating voltage for the
configuration input pin is independent of the I/O banks power supply VCCIO during
configuration. Therefore, for Arria II devices, you do not require configuration
voltage constraints on VCCIO
.
f
f
For more information, refer to the Power Management in Arria II Devices chapter.
For more information about the configuration pins connection recommendations,
refer to the Arria II Device Family Pin Connection Guidelines.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–6
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Power-On Reset Circuit and Configuration Pins Power Supply
VCCPD Pins
Arria II devices have a dedicated programming power supply, the VCCPD pins.
Table 9–5 lists the power supply for Arria II devices.
Table 9–5. Power Supply for Arria II Devices
Devices
Programming Power Supply
VCCPD must be connected to 3.3, 3.0, or 2.5 V to power the I/O pre-drivers,
HSTL/SSTL input buffers, and MSEL[3..0]pins.
V
CCPD and VCCIO for I/O banks 3C and 8C must ramp up from 0 V to the desired
voltage level within 100 ms when PORSELis low or 4 ms when PORSELis high. If
these supplies are not ramped up in this specified time, your Arria II GX device
will not configure successfully. If the system cannot ramp up the power supplies
within 100 ms or 4 ms, you must hold nCONFIGlow until all the power supplies
are stable.
Arria II GX
You must connect VCCPD according to the I/O standard used in the same bank:
■ For 3.3-V I/O standards, connect VCCPD to 3.3 V.
■ For 3.0-V I/O standards, connect VCCPD to 3.0 V.
■ For 2.5-V and below I/O standards, connect VCCPD to 2.5 V.
VCCPD must be connected to 3.0 or 2.5 V to power the I/O pre-drivers and JTAG
I/O pins (TCK
, TMS, TDI, TDO, and TRST).
V
CCPD and VCCPGM must ramp up from 0 V to the desired voltage level within
100 ms when PORSELis low or 4 ms when PORSELis high. If these supplies are
not ramped up in this specified time, your Arria II GZ device will not configure
successfully. If the system cannot ramp up the power supplies within 100 ms or
4 ms, you must hold nCONFIGlow until all the power supplies are stable.
Arria II GZ
VCCPD must be greater than or equal to VCCIO of the same bank:
■ If the VCCIO of the bank is powered to 3.0 V, VCCPD must be powered up to
3.0 V.
■ If the VCCIO of the bank is powered to 2.5 V or lower, VCCPD must be powered
up to 2.5 V.
For more information about configuration pins power supply, refer to “Device
Configuration Pins” on page 9–39.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–7
Configuration Process
Configuration Process
The following sections describe the general configuration process for FPP, standard
AS, fast AS, and PS schemes.
Power Up
To begin the configuration process, you must fully power the relevant voltage supply
to the appropriate voltage levels.
1
For an FPP configuration in Arria II GX devices, the DATA[7..1]pins are supplied by
VCCIO for I/O bank 6A. You must power up this bank when you use the FPP
configuration. For Arria II GZ devices, the DATA[7..1]pins are powered up by
VCCPGM during configuration or by VCCIO if they are used as regular I/Os in user
mode.
Reset
After power up, the Arria II device goes through a POR. The POR delay depends on
the MSELpin settings. During POR, the device resets, holds nSTATUSlow, clears the
configuration RAM bits, and tri-states all user I/O pins. After the device successfully
exits POR, all user I/O pins continue to be tri-stated. While nCONFIGis low, the device
is in reset. When the device comes out of reset, nCONFIGmust be at a logic-high level in
order for the device to release the open-drain nSTATUSpin. After nSTATUSis released, it
is pulled high by a pull-up resistor and the device is ready to receive configuration
data.
Before and during configuration, all user I/O pins are tri-stated. If nIO_pullupis
driven low during power up and configuration, the user I/O pins and dual-purpose
I/O pins have weak pull-up resistors, which are on (after POR) before and during
configuration. If nIO_pullupis driven high, the weak pull-up resistors are disabled.
Configuration
nCONFIGand nSTATUSmust be at a logic-high level in order for the configuration stage
to begin. The device receives configuration data on its DATApins and (for synchronous
configuration schemes) the clock source on the DCLKpin. Configuration data is latched
into the FPGA on the rising edge of DCLK. After the FPGA has received all the
configuration data successfully, it releases the CONF_DONEpin, which is pulled high by
a pull-up resistor. A low-to-high transition on CONF_DONEindicates configuration is
complete and initialization of the device can begin.
To ensure DCLKand DATA0are not left floating at the end of configuration, they must be
driven either high or low, whichever is convenient on your board. Use the dedicated
DATA[0]pin for both PS and AS configuration modes. It is not available as a user I/O
pin after configuration.
For FPP and PS configuration schemes, the configuration clock (DCLK) speed must be
below the specified frequency to ensure correct configuration. No maximum DCLK
period exists, which means you can pause the configuration by halting DCLKfor an
indefinite amount of time.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–8
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Configuration Process
A reconfiguration is initiated by toggling the nCONFIGpin from high to low and then
back to high with a minimum tCFG low-pulse width either in the configuration,
configuration error, initialization, or user mode stage. When nCONFIGis pulled low,
nSTATUSand CONF_DONEare also pulled low and all the I/O pins are tri-stated. After
nCONFIGand nSTATUSreturn to a logic-high level, configuration begins.
A pull-up or pull-down resistor helps keep the nCONFIGline in a known state when
the external host (a Max® II CPLD or a microcontroller) is not driving the line. For
example, during external host reprogramming or power-up where the I/O driving
nCONFIGmay be tri-stated). If a pull-up resistor is added to the nCONFIGline, the FPGA
stays in user mode if the external host is being reprogrammed. If a pull-down resistor
is added to the nCONFIGline, the FPGA goes into reset mode if the external host is
being reprogrammed. Whenever the nCONFIGline is released high, ensure the first
DCLKand DATAare not driven unintentionally.
1
Altera recommends to keep the nCONFIGline low if the external host or the FPGA is
not ready for configuration.
Configuration Error
If an error occurs during configuration, Arria II devices assert the nSTATUSsignal low,
indicating a data frame error; the CONF_DONEsignal stays low. If you turn on the
Auto-restart configuration after error option (available in the Quartus II software
from the General tab of the Device and Pin Options dialog box), the Arria II device
resets the configuration device and retries the configuration. If you turn off this
option, the system must monitor nSTATUSfor errors and then pulse nCONFIGlow to
restart the configuration.
Initialization
In Arria II devices, the initialization clock source is either the internal oscillator or the
optional CLKUSRpin. By default, the internal oscillator is the clock source for
initialization. If you use the internal oscillator, the Arria II device provides itself with
enough clock cycles for proper initialization. Therefore, if the internal oscillator is the
initialization clock source, sending the entire configuration file to the device is
sufficient to configure and initialize the device. Driving DCLKto the device after
configuration is complete does not affect device operation.
You also have the flexibility to synchronize initialization of multiple devices or to
delay initialization with the CLKUSR option. You can turn on the Enable
user-supplied start-up clock (CLKUSR) option in the Quartus II software from the
General tab of the Device and Pin Options dialog box. If you supply a clock on
CLKUSR, it does not affect the configuration process. After all the configuration data is
accepted and CONF_DONEgoes high, CLKUSRis enabled after the time specified as
tCD2CU. After this time period elapses, Arria II devices require a minimum number of
clock cycles to initialize properly and enter user mode as specified in the tCD2UMC
parameter.
1
Two DCLKfalling edges are required after CONF_DONEgoes high to begin the
initialization of the device for both uncompressed and compressed bitstream in the
FPP or PS configuration mode.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–9
Configuration Schemes
User Mode
An optional INIT_DONEpin is available, which signals the end of initialization and the
start of user-mode with a low-to-high transition. The Enable INIT_DONE Output
option is available in the Quartus II software from the General tab of the Device and
Pin Options dialog box. If you use the INIT_DONEpin, it is high due to an external
10-k pull-up resistor when nCONFIGis low and during the beginning of
configuration. After the option bit to enable INIT_DONEis programmed into the device
(during the first frame of configuration data), the INIT_DONEpin goes low. When
initialization is complete, the INIT_DONEpin is released and pulled high. When
initialization is complete, the device enters user mode. In user-mode, the user I/O
pins no longer have weak pull-up resistors and function as assigned in your design.
Configuration Schemes
The following sections describe configuration schemes for Arria II devices.
MSEL Pin Settings
Select the configuration scheme by driving the Arria II device MSELpins either high or
low, as listed in Table 9–6 and Table 9–7. The MSEL input buffers are powered by the
VCCPD and VCCPGM power supplies for Arria II GX and GZ devices, respectively.
Altera recommends hardwiring the MSEL[]pins to VCCPD/VCCPGM or GND. The
MSEL[3..0]pins have 5-k internal pull-down resistors that are always active.
During POR and during reconfiguration, the MSELpins must be at LVTTL VIL and VIH
levels to be considered logic low and logic high, respectively.
1
1
To avoid problems with detecting an incorrect configuration scheme, hardwire the
MSEL[]pins to VCCPD/VCCPGM or GND without pull-up or pull-down resistors. Do not
drive the MSEL[]pins by a microprocessor or another device.
For Figure 9–1 on page 9–12 through Figure 9–30 on page 9–66, MSEL[n..0]represents
MSEL[3..0]for Arria II GX devices and MSEL[2..0]for Arria II GZ devices as listed in
Table 9–6 and Table 9–7, respectively.
Table 9–6. Configuration Schemes for Arria II GX Devices (Part 1 of 2)
Configuration
Voltage
Standard (V) (1)
Configuration Scheme
MSEL3
MSEL2
MSEL1
MSEL0 POR Delay
0
0
0
1
0
1
1
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
0
1
Fast
Fast
3.3, 3.0, 2.5
1.8
FPP
Fast
3.3, 3.0, 2.5
1.8
FPP with design security feature,
decompression, or both enabled (2)
Fast
Fast
3.3, 3.0, 2.5
1.8
Fast
PS
Standard
Standard
3.3, 3.0, 2.5
1.8
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–10
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Configuration Schemes
Table 9–6. Configuration Schemes for Arria II GX Devices (Part 2 of 2)
Configuration
Voltage
Standard (V) (1)
Configuration Scheme
MSEL3
MSEL2
MSEL1
MSEL0 POR Delay
0
1
0
1
1
0
1
1
Fast
Fast
3.3
3.0, 2.5
3.3
AS with or without remote system upgrade
1
1
1
0
Standard
Standard
—
1
1
1
1
3.0, 2.5
—
JTAG-based configuration (3)
(4)
(4)
(4)
(4)
Notes to Table 9–6:
(1) Configuration voltage standard applied to the VCCIO power supply in which the configuration pins reside.
(2) These modes are only supported when using a MAX II device or a microprocessor with flash memory for configuration. In these modes, the
host system must output a DCLKthat is x4 the data rate.
(3) JTAG-based configuration takes precedence over other configuration schemes, which means the MSELpin settings are ignored. JTAG-based
configuration does not support the design security or decompression features.
(4) Do not leave the MSELpins floating. Connect them to VCCPD or GND. These pins support the non-JTAG configuration scheme used in production.
If you only use the JTAG configuration, Altera recommends connecting the MSELpins to GND.
Table 9–7 lists the configuration schemes for Arria II GZ devices.
Table 9–7. Configuration Schemes for Arria II GZ Devices
Configuration
Configuration Scheme
MSEL2
MSEL1
MSEL0
POR Delay
Voltage
Standard (V)
FPP
PS
0
0
0
0
0
1
1
1
0
0
1
1
Fast/Standard
Fast/Standard
Fast/Standard
Fast/Standard
3.0, 2.5, 1.8
3.0, 2.5, 1.8
3.0, 2.5, 1.8
3.0, 2.5, 1.8
Fast AS (40 MHz) (1)
Remote system upgrade fast AS (40 MHz) (1)
FPP with design security feature and/or
decompression enabled (2)
0
0
1
Fast/Standard
—
3.0, 2.5, 1.8
—
JTAG-based configuration (3)
(4)
(4)
(4)
Notes to Table 9–7:
(1) Arria II GZ devices only support fast AS configuration. You must use either EPCS64 or EPCS128 devices to configure an Arria II GZ device in
fast AS mode.
(2) These modes are only supported when using a MAX II device or microprocessor with flash memory for configuration. In these modes, the host
system must output a DCLKthat is x4 the data rate.
(3) The JTAG-based configuration takes precedence over other configuration schemes, which means the MSELpin settings are ignored. The
JTAG-based configuration does not support the design security or decompression features.
(4) Do not leave the MSELpins floating, connect them to VCCPGM or GND. These pins support non-JTAG configuration scheme used in production.
If you only use the JTAG configuration, Altera recommends connecting the MSELpins to GND.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–11
Fast Passive Parallel Configuration
Raw Binary File Size
Table 9–8 lists the uncompressed raw binary file (.rbf) configuration file sizes for
Arria II devices.
Table 9–8. Uncompressed .rbf Sizes for Arria II Devices
Device
Data Size (bits)
29,599,704
29,599,704
50,376,968
50,376,968
86,866,440
86,866,440
94,557,472
128,395,584
128,395,584
EP2AGX45
EP2AGX65
EP2AGX95
EP2AGX125
EP2AGX190
EP2AGX260
EP2AGZ225
EP2AGZ300
EP2AGZ350
Use the data in Table 9–8 to estimate the file size before design compilation. Different
configuration file formats, such as a hexidecimal (.hex) or tabular text file (.ttf) format,
have different file sizes. For the different types of configuration file and file sizes, refer
to the Quartus II software. However, for a specific version of the Quartus II software,
any design targeted for the same device has the same uncompressed configuration file
size. If you are using compression, the file size can vary after each compilation
because the compression ratio depends on your design.
f
For more information about setting device configuration options or creating
configuration files, refer to the Device Configuration Options and Configuration File
Formats chapters in volume 2 of the Configuration Handbook.
Fast Passive Parallel Configuration
FPP configuration in Arria II devices is designed to meet the continuously increasing
demand for faster configuration times. Arria II devices are designed with the
capability of receiving byte-wide configuration data per clock cycle.
You can perform FPP configuration of Arria II devices using an intelligent host such
as a MAX II device or microprocessor.
FPP Configuration Using a MAX II Device as an External Host
FPP configuration using an external host provides the fastest method to configure
Arria II devices. In this configuration scheme, you can use a MAX II device or
microprocessor as an intelligent host that controls the transfer of configuration data
from a storage device, such as flash memory, to the target Arria II device. You can
store configuration data in .rbf, .hex, or .ttf format. When using the MAX II device or
microprocessor as an intelligent host, a design that controls the configuration process,
such as fetching the data from flash memory and sending it to the device, must be
stored in the MAX II device or microprocessor.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–12
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Fast Passive Parallel Configuration
1
If you use the Arria II decompression and/or design security features, the external
host must send a DCLKfrequency that is x4 the data rate.
The x4 DCLKsignal does not require an additional pin and is sent on the DCLKpin. The
maximum DCLKfrequency is 125 MHz, which results in a maximum data rate of
250 Mbps. For Arria II GX devices, if you are not using the decompression or design
security features, the data rate is x1 the DCLKfrequency. For Arria II GZ devices, if you
are not using the decompression or design security features, the data rate is x8 the
DCLKfrequency.
Figure 9–1 shows the configuration interface connections between an Arria II device
and a MAX II device for single device configuration.
Figure 9–1. Single Device FPP Configuration Using an External Host
Memory
(1) (1)
(2)
ADDR DATA[7..0]
Arria II Device
10 kΩ 10 kΩ 10 kΩ
(4)
MSEL[n..0]
CONF_DONE
nSTATUS
nCE
nCEO
N.C. (3)
External Host
(MAX II Device or
Microprocessor)
GND
DATA[7..0]
nCONFIG
DCLK
Notes to Figure 9–1:
(1) Connect the pull-up resistor to a supply that provides an acceptable input signal for the Arria II device. For Arria II GX devices, use the VCCIO pin.
For Arria II GZ devices, use the VCCPGM pin. VCCIO/VCCPGM must be high enough to meet the VIH specification of the I/O on both the device and the
external host. Altera recommends powering up the configuration system I/Os with VCCIO/VCCPGM
.
(2) A pull-up resistor to VCCIO/VCCPGM or a pull-down resistor keeps the nCONFIGline in a known state when the external host is not driving the line.
(3) You can leave the nCEOpin unconnected or used as a user I/O pin when it does not feed the nCEpin of the other device.
(4) The MSELpin settings vary for different configuration voltage standards and POR delay. To connect MSEL[3..0]for an Arria II GX device, refer to
Table 9–6 on page 9–9. To connect MSEL[2..0]for an Arria II GZ device, refer to Table 9–7 on page 9–10.
1
Arria II devices receive configuration data on the DATA[7..0]pins and the clock is
received on the DCLKpin. Data is latched into the device on the rising edge of DCLK. If
you are using the Arria II decompression, design security, or both features,
configuration data is latched on the rising edge of every first DCLKcycle out of the four
DCLKcycles. Altera recommends keeping the data on DATA[7..0]stable for the next
three clock cycles while the data is being processed. You can only stop DCLKthree
clock cycles after the last data is latched.
In Arria II devices, the initialization clock source is either the internal oscillator or the
optional CLKUSRpin. By default, the internal oscillator is the clock source for
initialization. If you use the internal oscillator, the Arria II device provides itself with
enough clock cycles for proper initialization. Therefore, if the internal oscillator is the
initialization clock source, sending the entire configuration file to the device is
sufficient to configure and initialize the device. Driving DCLKto the device after
configuration is complete does not affect device operation.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–13
Fast Passive Parallel Configuration
You also have the flexibility to synchronize initialization of multiple devices or to
delay initialization with the CLKUSR option. You can turn on the Enable
user-supplied start-up clock (CLKUSR) option in the Quartus II software from the
General tab of the Device and Pin Options dialog box. If you supply a clock on
CLKUSR, it does not affect the configuration process. Arria II devices support an fMAX of
125 MHz.
Figure 9–2 shows how to configure multiple Arria II devices using a MAX II device.
This circuit is similar to the FPP configuration circuit for a single device, except the
Arria II devices are cascaded for multi-device configuration.
Figure 9–2. Multi-Device FPP Configuration Using an External Host
Memory
(1) (1)
10 kΩ
(2)
ADDR DATA[7..0]
(1)
Arria II Device 2
Arria II Device 1
10 kΩ 10 kΩ
10 kΩ
(3)
MSEL[n..0]
(3)
MSEL[n..0]
CONF_DONE
CONF_DONE
nSTATUS
nSTATUS
nCE
nCEO
nCE
nCEO
N.C.
External Host
(MAX II Device or
Microprocessor)
GND
DATA[7..0]
DATA[7..0]
nCONFIG
nCONFIG
DCLK
DCLK
Notes to Figure 9–2:
(1) Connect the pull-up resistor to a supply that provides an acceptable input signal for the Arria II device. For Arria II GX devices, use the VCCIO pin.
For Arria II GZ devices, use the VCCPGM pin. VCCIO/VCCPGM must be high enough to meet the VIH specification of the I/O on both the device and the
external host. Altera recommends powering up the configuration system I/Os with VCCIO/VCCPGM
.
(2) A pull-up resistor to VCCIO/VCCPGM or a pull-down resistor keeps the nCONFIGline in a known state when the external host is not driving the line.
(3) The MSELpin settings vary for different configuration voltage standards and POR delay. To connect MSEL[3..0]for an Arria II GX device, refer to
Table 9–6 on page 9–9. To connect MSEL[2..0]for an Arria II GZ device, refer to Table 9–7 on page 9–10.
After the first device completes configuration in a multi-device configuration chain,
its nCEOpin drives low to activate the nCEpin of the second device, which prompts the
second device to begin configuration. The second device in the chain begins
configuration in one clock cycle; therefore, the transfer of data destinations is
transparent to the MAX II device or microprocessor. All other configuration pins
(
nCONFIG, nSTATUS, DCLK, DATA[7..0], and CONF_DONE) are connected to every device in
the chain. The configuration signals may require buffering to ensure signal integrity
and prevent clock skew problems. Ensure that the DCLKand DATAlines are buffered for
every fourth device. Because all device CONF_DONEpins are tied together, all devices
initialize and enter user mode at the same time.
All nSTATUSand CONF_DONEpins are tied together and if any device detects an error,
configuration stops for the entire chain and you must reconfigure the entire chain. For
example, if the first device flags an error on nSTATUS, it resets the chain by pulling its
nSTATUSpin low. This behavior is similar to a single device detecting an error.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–14
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Fast Passive Parallel Configuration
If a system has multiple devices that contain the same configuration data, tie all
device nCEinputs to GND and leave the nCEOpins floating. All other configuration
pins (nCONFIG, nSTATUS, DCLK, DATA[7..0], and CONF_DONE) are connected to every
device in the chain. Configuration signals may require buffering to ensure signal
integrity and prevent clock skew problems. Ensure that the DCLKand DATAlines are
buffered for every fourth device. Devices must be the same density and package. All
devices start and complete configuration at the same time.
Figure 9–3 shows a multi-device FPP configuration when both Arria II devices are
receiving the same configuration data.
Figure 9–3. Multiple-Device FPP Configuration Using an External Host When Both Devices Receive the Same Data
Memory
(1) (1)
10 kΩ
(2)
ADDR DATA[7..0]
Arria II Device 1
Arria II Device 2
10 kΩ 10 kΩ
(3)
(3)
MSEL[n..0]
MSEL[n..0]
CONF_DONE
CONF_DONE
nSTATUS
nCE
nSTATUS
nCE
nCEO
N.C.
nCEO
N.C.
External Host
(MAX II Device or
Microprocessor)
GND
GND
DATA[7..0]
DATA[7..0]
nCONFIG
nCONFIG
DCLK
DCLK
Notes to Figure 9–3:
(1) Connect the pull-up resistor to a supply that provides an acceptable input signal for the Arria II device. For Arria II GX devices, use the VCCIO pin.
For Arria II GZ devices, use the VCCPGM pin. VCCIO/VCCPGM must be high enough to meet the VIH specification of the I/O on both the device and the
external host. Altera recommends powering up the configuration system I/Os with VCCIO/VCCPGM
.
(2) A pull-up resistor to VCCIO/VCCPGM or a pull-down resistor keeps the nCONFIGline in a known state when the external host is not driving the line.
(3) The MSELpin settings vary for different configuration voltage standards and POR delay. To connect MSEL[3..0]for an Arria II GX device, refer to
Table 9–6 on page 9–9. To connect MSEL[2..0]for an Arria II GZ device, refer to Table 9–7 on page 9–10.
You can use a single configuration chain to configure Arria II devices with other
Altera devices that support FPP configuration. To ensure that all devices in the chain
complete configuration at the same time, or that an error flagged by one device
initiates reconfiguration in all devices, tie all of the device CONF_DONEand nSTATUS
pins together.
f
For more information about configuring multiple Altera devices in the same
configuration chain, refer to the Configuring Mixed Altera FPGA Chains chapter in
volume 2 of the Configuration Handbook.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–15
Fast Passive Parallel Configuration
FPP Configuration Timing
Figure 9–4 shows the timing waveform for an FPP configuration when using a
MAX II device as an external host. This waveform shows timing when the
decompression and design security features are not enabled.
Figure 9–4. FPP Configuration Timing Waveform with Decompression and Design Security not Enabled (Note 1), (2)
tCF2ST1
tCFG
tCF2CK
nCONFIG
nSTATUS (3)
tSTATUS
(5)
tCF2ST0
tCLK
CONF_DONE (4)
t
CH tCL
tCF2CD
tST2CK
(6)
DCLK
tDH
(7)
Byte 0 Byte 1
Byte n-1 Byte n
Byte n-2
DATA[7..0]
Byte 2 Byte 3
User Mode
User Mode
tDSU
High-Z
User I/O
INIT_DONE
tCD2UM
Notes to Figure 9–4:
(1) Use this timing waveform when you do not use the decompression and design security features.
(2) The beginning of this waveform shows the device in user mode. In user mode, nCONFIG
nCONFIGis pulled low, a reconfiguration cycle begins.
, nSTATUS, and CONF_DONEare at logic-high levels. When
(3) After power-up, the Arria II device holds nSTATUSlow for the time of the POR delay.
(4) After power-up, before and during configuration, CONF_DONEis low.
(5) Two DCLKfalling edges are required after CONF_DONEgoes high to begin the initialization of the device.
(6) Do not leave DCLKfloating after configuration. You can drive it high or low, whichever is more convenient.
(7) DATA[7..1]are available as user I/O pins after configuration. The state of these pins depends on the dual-purpose pin settings. For Arria II GX
devices, DATA[0]is a dedicated pin that is used for both the PS and AS configuration modes and is not available as a user I/O pin after
configuration. For Arria II GZ devices, DATA[0]is available as a user I/O pin after configuration.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–16
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Fast Passive Parallel Configuration
Table 9–9 lists the timing parameters for Arria II devices for an FPP configuration
when you do not enable the decompression and design security features.
Table 9–9. FPP Timing Parameters for Arria II Devices with Decompression and Design Security not Enabled
(Note 1)
Symbol
tCF2CD
tCF2ST0
tCFG
Parameter
nCONFIGlow to CONF_DONElow
Minimum
Maximum
800
800
—
Units
ns
—
—
nCONFIGlow to nSTATUSlow
nCONFIGlow pulse width
nSTATUSlow pulse width
ns
2
s
s
s
s
s
ns
tSTATUS
10
500 (3)
500 (3)
—
tCF2ST1 (2) nCONFIGhigh to nSTATUShigh
—
tCF2CK
tST2CK
tDSU
tDH
nCONFIGhigh to first rising edge on DCLK
500
2
nSTATUShigh to first rising edge of DCLK
Data setup time before rising edge on DCLK
Data hold time after rising edge on DCLK
DCLKhigh time
—
4
—
0 (4)
3.2 (4)
3.2 (4)
8
—
ns
tCH
—
ns
tCL
DCLKlow time
—
ns
tCLK
fMAX
tR
DCLK period
—
ns
DCLKfrequency
—
125
40
MHz
ns
Input rise time
—
t
Input fall time
—
40
ns
tCD2UM
CONF_DONEhigh to user mode (5)
55
150
s
4 × maximum
DCLKperiod
tCD2CU
CONF_DONEhigh to CLKUSRenabled
—
—
—
—
tCD2CU + (8532 ×
CLKUSR period)
tCD2UMC
CONF_DONEhigh to user mode with CLKUSRoption on
Notes to Table 9–9:
(1) Use these timing parameters when you do not enable the decompression and design security features.
(2) This value is applicable if you do not delay configuration by externally holding the nSTATUSlow.
(3) You can obtain this value if you do not delay configuration by extending the nCONFIGor nSTATUSlow pulse width.
(4) The values listed for tDH, tCH, and tCL are applicable only for Arria II GX devices. For Arria II GZ devices, tDH = 1 ns, tCH = 3.6 ns, and tCL = 3.6 ns,
respectively.
(5) The minimum and maximum numbers apply only if you chose the internal oscillator as the clock source for initializing the device.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–17
Fast Passive Parallel Configuration
Figure 9–5 shows the timing waveform for an FPP configuration when using a
MAX II device or microprocessor as an external host. This waveform shows timing
when you enable the decompression, the design security features, or both.
Figure 9–5. FPP Configuration Timing Waveform with Decompression or Design Security Enabled (Note 1), (2)
tCF2ST1
tCFG
tCF2CK
nCONFIG
nSTATUS (3)
tSTATUS
tCF2ST0
(5)
CONF_DONE (4)
t
CL
tCF2CD
tST2CK
t
CH
DCLK
DATA[7..0]
User I/O
(6)
(7)
(8)
1
4
1
2
3
4
1
2
3
4
3
t
CLK
n
Byte 0
Byte 1
Byte (n-1) Byte
User Mode
User Mode
Byte 2
t
t
tDSU
DH
DH
High-Z
INIT_DONE
tCD2UM
Notes to Figure 9–5:
(1) Use this timing waveform when you use the decompression and/or design security features.
(2) The beginning of this waveform shows the device in user-mode. In user-mode, nCONFIG, nSTATUS, and CONF_DONEare at logic high levels. When
nCONFIGis pulled low, a reconfiguration cycle begins.
(3) After power-up, the Arria II GX device holds nSTATUSlow for the time of the POR delay.
(4) After power-up, before and during configuration, CONF_DONEis low.
(5) Two DCLKfalling edges are required after CONF_DONEgoes high to begin the initialization of the device.
(6) If required, you can pause DCLKby holding it low. When DCLKrestarts, the external host must provide data on the DATA[7..0]pins prior to
sending the first DCLKrising edge.
(7) Do not leave DCLKfloating after configuration. You can drive it high or low, whichever is more convenient.
(8) DATA[7..1]are available as user I/O pins after configuration. The state of these pins depends on the dual-purpose pin settings. For Arria II GX
devices, DATA[0]is a dedicated pin that is used for both the PS and AS configuration modes and is not available as a user I/O pin after
configuration. For Arria II GZ devices, DATA[0]is available as a user I/O pin after configuration.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–18
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Fast Passive Parallel Configuration
Table 9–10 lists the timing parameters for Arria II devices for an FPP configuration
when you enable the decompression, the design security features, or both.
Table 9–10. FPP Timing Parameters for Arria II GX Devices with the Decompression or Design Security Features Enabled
(Note 1)
Symbol
tCF2CD
tCF2ST0
tCFG
Parameter
nCONFIGlow to CONF_DONElow
Minimum
Maximum
800
800
—
Units
ns
—
—
nCONFIGlow to nSTATUSlow
nCONFIGlow pulse width
nSTATUSlow pulse width
ns
2
s
tSTATUS
10
500 (3)
500 (3)
—
s
tCF2ST1 (2) nCONFIGhigh to nSTATUShigh
—
s
tCF2CK
tST2CK
tDSU
tDH
nCONFIGhigh to first rising edge on DCLK
500
2
s
nSTATUShigh to first rising edge of DCLK
Data setup time before rising edge on DCLK
Data hold time after rising edge on DCLK
DCLKhigh time
—
s
4
—
ns
24 (4)
3.2 (4)
3.2 (4)
8
—
ns
tCH
—
ns
tCL
DCLKlow time
—
ns
tCLK
fMAX
tDATA
tR
DCLKperiod
—
ns
DCLKfrequency
—
125
250
40
MHz
Mbps
ns
Data rate
—
Input rise time
—
t
Input fall time
—
40
ns
tCD2UM
CONF_DONEhigh to user mode (5)
55
150
s
4 × maximum
DCLKperiod
tCD2CU
CONF_DONEhigh to CLKUSRenabled
—
—
tCD2CU + (8532
tCD2UMC
CONF_DONEhigh to user mode with CLKUSRoption on
×
CLKUSR
—
—
period)
Notes to Table 9–10:
(1) Use these timing parameters when you enable the decompression and design security features.
(2) This value is applicable if you do not delay configuration by externally holding the nSTATUSlow.
(3) You can obtain this value if you do not delay configuration by extending the nCONFIGor nSTATUSlow pulse width.
(4) The values listed for tDH, tCH, and tCL are applicable only for Arria II GX devices. For Arria II GZ devices, tDH = 3/(DCLKfrequency) + 1,
tCH = 3.6 ns, and tCL = 3.6 ns, respectively.
(5) The minimum and maximum numbers apply only if you choose the internal oscillator as the clock source for initializing the device.
f
For more information about setting device configuration options or creating
configuration files, refer to the Device Configuration Options and Configuration File
Formats chapters in volume 2 of the Configuration Handbook.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–19
AS and Fast AS Configuration (Serial Configuration Devices)
AS and Fast AS Configuration (Serial Configuration Devices)
Arria II GX and GZ devices are configured using a serial configuration device in the
AS configuration scheme and the fast AS configuration scheme, respectively. These
configuration devices are low-cost devices with non-volatile memory that feature a
simple four-pin interface and a small form factor. These features make serial
configuration devices an ideal low-cost configuration solution.
f
For more information about serial configuration devices, refer to the Serial
Configuration Devices (EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Data Sheet
chapter in volume 2 of the Configuration Handbook.
Serial configuration devices provide a serial interface to access configuration data.
During device configuration, Arria II devices read configuration data using the serial
interface, decompress data if necessary, and configure their SRAM cells. This scheme
is referred to as the AS configuration scheme because the Arria II device controls the
configuration interface. This scheme contrasts with the PS configuration scheme,
where the configuration device controls the interface.
1
The Arria II decompression and design security features are available when
configuring your Arria II GX device using AS mode and when configuring your
Arria II GZ device using fast AS mode.
Serial configuration devices have a four-pin interface—serial clock input (DCLK), serial
data output (DATA), AS data input (ASDI), and an active-low chip select (nCS). This
four-pin interface connects to the Arria II device pins, as shown in Figure 9–6.
Figure 9–6. Single Device AS Configuration
V
V
V
V
V
V
CCIO
/
CCPGM
CCIO
/
CCPGM CCIO/ CCPGM
(1)
(1)
(1)
10 kΩ
10 kΩ
10 kΩ
Serial Configuration
Device
Arria II Device
nSTATUS
CONF_DONE
nCONFIG
nCE
nCEO
N.C.
GND
DATA
DATA0
DCLK
DCLK
nCS
nCSO
ASDO
CLKUSR
MSEL [n..0]
(3)
(4)
ASDI
(2)
Notes to Figure 9–6:
(1) Connect the pull-up resistors to the VCCIO power supply of bank 3C for Arria II GX devices and to VCCPGM at a 3.0-V
power supply for Arria II GZ devices.
(2) Arria II devices use the ASDO-to-ASDI path to control the configuration device.
(3) Arria II devices have an option to select CLKUSR (40 MHz maximum) as the external clock source for DCLK
.
(4) The MSELpin settings vary for different configuration voltage standards and POR delay. To connect MSEL[3..0]for
an Arria II GX device, refer to Table 9–6 on page 9–9. To connect MSEL[2..0]for an Arria II GZ device, refer to
Table 9–7 on page 9–10.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–20
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
AS and Fast AS Configuration (Serial Configuration Devices)
The serial clock (DCLK) generated by the Arria II device controls the entire
configuration cycle and provides timing for the serial interface. During the
configuration, Arria II devices use an internal oscillator or an external clock source to
generate DCLK. At the initial stage of the configuration cycle, the Arria II device
generates a default DCLK(40 MHz maximum) from the internal oscillator to read the
header information of the programming data stored in the EPCS. After the header
information is read from the EPCS, depending on the clock source being selected, the
configuration cycle continues with a slow clock (20 MHz maximum) or a fast clock
(40 MHz maximum) from the internal oscillator or an external clock from CLKUSR
(40 MHz maximum). You can change the clock source option in the Quartus II
software from the Configuration tab of the Device and Pin Options dialog box.
1
Arria II GZ devices only support fast AS configuration (40 MHz maximum) and do
not support a slow clock.
In AS and fast AS configuration schemes, Arria II devices drive out control signals on
the falling edge of DCLK. The serial configuration device responds to the instructions
by driving out configuration data on the falling edge of DCLK. Then the data is latched
into the Arria II device on the following falling edge of DCLK
.
In configuration mode, Arria II devices enable the serial configuration device by
driving the nCSOoutput pin low, which connects to the chip select (nCS) pin of the
configuration device. The Arria II device uses the serial clock (DCLK) and serial data
output (ASDO) pins to send operation commands, read address signals, or both, to the
serial configuration device. The configuration device provides data on its serial data
output (DATA) pin, which connects to the DATA0input of the Arria II devices.
You can configure multiple Arria II devices using a single serial configuration device.
Cascade multiple Arria II devices using the chip-enable (nCE) and chip-enable-out
(
nCEO) pins. The first device in the chain must have its nCEpin connected to GND. You
must connect its nCEOpin to the nCEpin of the next device in the chain. When the first
device captures all its configuration data from the bitstream, it drives the nCEOpin
low, enabling the next device in the chain. You must leave the nCEOpin of the last
device unconnected. The nCONFIG
, nSTATUS, CONF_DONE, DCLK, and DATA0pins of each
device in the chain are connected (refer to Figure 9–7).
The first Arria II device in the chain is the configuration master and controls
configuration of the entire chain. You must connect its MSELpins to select the AS
configuration scheme. The remaining Arria II devices are configuration slaves. You
must connect their MSELpins to select the PS configuration scheme. Any other Altera
device that supports PS configuration can also be part of the chain as a configuration
slave.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–21
AS and Fast AS Configuration (Serial Configuration Devices)
Figure 9–7 shows the pin connections for the multi-device AS configuration.
Figure 9–7. Multi-Device AS Configuration
V
V
V
V
V
V
/ CCPGM
CCIO
/
CCPGM
CCIO
/
CCPGM CCIO
(1)
(1)
(1)
10 kΩ
10 kΩ
10 kΩ
Serial Configuration
Device
Arria II Device Master
Arria II Device Slave
nSTATUS
nSTATUS
CONF_DONE
nCONFIG
CONF_DONE
nCONFIG
nCEO
N.C.
nCE
V
V
CCIO/
CCPGM (1)
GND
10 kΩ
DATA
DATA[0]
DCLK
DCLK
nCS
nCEO
CLKUSR
MSEL [n..0]
nCE
DATA[0]
nCSO
(2)
(3)
(3)
MSEL [n..0]
ASDI
ASDO
DCLK
Buffers (4)
Notes to Figure 9–7:
(1) Connect the pull-up resistors to the VCCIO power supply of the I/O bank 3C for Arria II GX devices and to VCCPGM at a 3.0-V power supply for
Arria II GZ devices.
(2) Arria II devices have an option to select CLKUSR (40 MHz maximum) as the external clock source for DCLK
.
(3) The MSELpin settings vary for different configuration voltage standards and POR delay. To connect MSEL[3..0]for an Arria II GX device, refer to
Table 9–6 on page 9–9. To connect MSEL[2..0]for an Arria II GZ device, refer to Table 9–7 on page 9–10.
(4) Connect the repeater buffers between the Arria II master and slave devices for DATA[0]and DCLK. This is to prevent any potential signal integrity
and clock skew problems.
The timing parameters for AS mode are not listed here because the tCF2CD, tCF2ST0, tCFG
tSTATUS, tCF2ST1, and tCD2UM timing parameters are identical to the timing parameters
for PS mode listed in Table 9–12 on page 9–29.
,
As shown in Figure 9–7, the nSTATUSand CONF_DONEpins on all target devices are
connected together with external pull-up resistors. These pins are open-drain
bidirectional pins on the devices. When the first device asserts nCEO(after receiving all
its configuration data), it releases its CONF_DONEpin. But the subsequent devices in the
chain keep this shared CONF_DONEline low until they have received their configuration
data. When all target devices in the chain have received their configuration data and
have released CONF_DONE, the pull-up resistor drives a high level on this line and all
devices simultaneously enter initialization mode.
1
While you can cascade Arria II devices, you cannot cascade or chain together serial
configuration devices.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–22
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
AS and Fast AS Configuration (Serial Configuration Devices)
If the configuration bitstream size exceeds the capacity of a serial configuration
device, you must select a larger configuration device, enable the compression feature,
or both. When configuring multiple devices, the size of the bitstream is the sum of the
configuration bitstreams of the individual devices.
A system may have multiple devices that contain the same configuration data. In AS
chains, you can implement this by storing one copy of the SRAM object file (.sof) in
the serial configuration device. The same copy of the .sof configures the master
Arria II device and all remaining slave devices concurrently. All Arria II devices must
be the same density and package.
To configure four identical Arria II devices with the same .sof, you can set up the
chain similar to the example shown in Figure 9–8. The first device is the master device
and its MSELpins must be set to select AS configuration. The other three slave devices
are set up for concurrent configuration and their MSELpins must be set to select PS
configuration. The nCEinput pins from the master and slave are connected to GND,
and the DATAand DCLKpins connect in parallel to all four devices. During the
configuration cycle, the master device reads its configuration data from the serial
configuration device and transmits the configuration data to all three slave devices,
configuring all of them simultaneously.
Figure 9–8 shows the multi-device AS configuration when the devices receive the
same data using a single .sof.
Figure 9–8. Multi-Device AS Configuration When the Devices Receive the Same Data Using a Single .sof
Arria II
Device Slave
nSTATUS
CONF_DONE
nCEO
N.C.
nCONFIG
nCE
V
V
V
V
V
V
CCIO/
CCPGM CCIO
/
CCPGM CCIO/ CCPGM
(1)
(1)
(1)
10 kΩ
10 kΩ
10 kΩ
DATA[0]
DCLK
(2)
MSEL[n..0]
Serial Configuration
Device
Arria II
Device Master
Arria II
Device Slave
nSTATUS
nSTATUS
CONF_DONE
CONF_DONE
nCEO
N.C.
nCONFIG
nCONFIG
nCE
nCEO
nCE
N.C.
GND
GND
DATA
DATA0
DCLK
nCSO
ASDO
DATA[0]
DCLK
DCLK
nCS
(3)
(2)
CLKUSR
MSEL[n..0]
(2)
MSEL[n..0]
ASDI
Arria II
Device Slave
nSTATUS
CONF_DONE
nCONFIG
nCE
nCEO
N.C.
Buffers (4)
DATA[0]
(2)
MSEL[n..0]
DCLK
Notes to Figure 9–8:
(1) Connect the pull-up resistors to the VCCIO power supply of I/O bank 3C for Arria II GX devices and to VCCPGM at a 3.0-V power supply for Arria II GZ
devices.
(2) The MSELpin settings vary for different configuration voltage standards and POR delay. To connect MSEL[3..0]for an Arria II GX device, refer to
Table 9–6 on page 9–9. To connect MSEL[2..0]for an Arria II GZ device, refer to Table 9–7 on page 9–10.
(3) Arria II devices have an option to select CLKUSR (40 MHz maximum) as the external clock source for DCLK
.
(4) Connect the repeater buffers between the Arria II master and slave devices for DATA[0]and DCLK. This is to prevent any potential signal integrity
and clock skew problems.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–23
AS and Fast AS Configuration (Serial Configuration Devices)
Guidelines for Connecting Serial Configuration Device to Arria II Devices
on an AS Interface
For single- and multi-device AS configurations, the board trace length and loading
between the supported serial configuration device and the Arria II devices must
follow the recommendations listed in Table 9–11.
Table 9–11. Maximum Trace Length and Loading for the AS Configuration in Arria II Devices
Maximum Board Trace Length from
Arria II Device AS Pins
the Arria II Device to the Serial
Configuration Device (Inches)
Maximum Board Load (pF)
DCLK
DATA[0]
nCSO
10
10
10
10
15
30
30
30
ASDO
Estimating the AS Configuration Time
AS configuration time is dominated by the time it takes to transfer data from the serial
configuration device to the Arria II device. This serial interface is clocked by the
Arria II DCLKoutput (generated from an internal oscillator or an option to select
CLKUSR as external clock source). Arria II devices support DCLKup to 40 MHz
(25 ns).
Therefore, you can estimate the minimum configuration time as the following:
RBF Size × (minimum DCLKperiod / 1 bit per DCLKcycle) = estimated minimum
configuration time.
Enabling compression reduces the amount of configuration data that is transmitted to
the Arria II device, which also reduces configuration time. On average, compression
reduces configuration time, depending on your design.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–24
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
AS and Fast AS Configuration (Serial Configuration Devices)
Programming Serial Configuration Devices
Serial configuration devices are non-volatile, flash-memory-based devices. You can
program these devices in-system using an USB-Blaster™, EthernetBlaster,
EthernetBlaster II, or ByteBlaster™ II download cables. Alternatively, you can
program them using a microprocessor with the SRunner software driver.
1
To gain control of the serial configuration device pins, hold the nCONFIGpin low and
pull the nCEpin high. This causes the device to reset and tri-state the AS configuration
pins.
You can perform in-system programming of serial configuration devices using the
conventional AS programming interface or JTAG interface solution.
Because serial configuration devices do not support the JTAG interface, the
conventional method to program them is using the AS programming interface. The
configuration data used to program serial configuration devices is downloaded using
programming hardware.
During in-system programming, the download cable disables device access to the AS
interface by driving the nCEpin high. Arria II devices are also held in reset mode by a
low level on nCONFIG. After programming is complete, the download cable releases
nCEand nCONFIG, allowing the pull-down and pull-up resistors to drive GND and
logic high.
Altera has developed the serial flash loader (SFL); an in-system programming
solution for serial configuration devices using the JTAG interface. This solution
requires the Arria II device to be a bridge between the JTAG interface and the serial
configuration device.
f
f
For more information about SFL, refer to AN 370: Using the Serial FlashLoader with
Quartus II Software.
For more information, refer to the following:
■
■
■
■
ByteBlaster II Download Cable User Guide
EthernetBlaster Communications Cable User Guide
EthernetBlaster II Communications Cable User Guide
USB-Blaster Download Cable User Guide
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–25
AS and Fast AS Configuration (Serial Configuration Devices)
Figure 9–9 shows the download cable connections to the serial configuration device.
Figure 9–9. In-System Programming of Serial Configuration Devices
V
V
V
V
V
V
CCIO
/
CCPGM CCIO
/
CCPGM CCIO/ CCPGM
(1)
(1)
(1)
10 kΩ
10 kΩ
10 kΩ
Arria II Device
CONF_DONE
nCEO
N.C.
nSTATUS
Serial
Configuration
Device
nCONFIG
nCE
10 kΩ
DATA
DCLK
nCS
DATA0
DCLK
nCSO
ASDO
CLKUSR
MSEL[n..0]
(2)
(3)
ASDI
Pin 1
3.3 V (4)
USB-Blaster or ByteBlaser II
(AS Mode)
10-Pin Male Header
Notes to Figure 9–9:
(1) Connect the pull-up resistors to the VCCIO power supply of the I/O bank 3C for Arria II GX devices and to VCCPGM at a
3.0-V power supply for Arria II GZ devices.
(2) Arria II devices have an option to select CLKUSR (40 MHz maximum) as the external clock source for DCLK
.
(3) The MSELpin settings vary for different configuration voltage standards and POR delay. To connect MSEL[3..0]for
an Arria II GX device, refer to Table 9–6 on page 9–9. To connect MSEL[2..0]for an Arria II GZ device, refer to
Table 9–7 on page 9–10.
(4) Power up the USB-ByteBlaster, ByteBlaster II, EthernetBlaster, or EthernetBlaster II cable’s VCC(TRGT) with VCCIO 3.3 V
for Arria II GX device and VCCPGM 3.0 V for Arria II GZ device.
You can program serial configuration devices with the Quartus II software using the
Altera programming hardware and the appropriate configuration device
programming adapter.
In production environments, you can program serial configuration devices using
multiple methods. You can use Altera programming hardware or other third-party
programming hardware to program blank serial configuration devices before they are
mounted onto PCBs. Alternatively, you can use an on-board microprocessor to
program the serial configuration device in-system using C-based SRunner software
drivers provided by Altera.
You can program a serial configuration device in-system by an external
microprocessor using SRunner. SRunner is a software driver developed for embedded
serial configuration device programming, which can be easily customized to fit in
different embedded systems. SRunner is able to read a raw programming data file
(.rpd) and write to serial configuration devices. The serial configuration device
programming time using SRunner is comparable to the programming time with the
Quartus II software.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–26
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
PS Configuration
f
f
For more information about SRunner, refer to AN 418: SRunner: An Embedded Solution
for EPCS Programming and the source code on the Altera website.
For more information about programming serial configuration devices, refer to the
Serial Configuration Devices (EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Data Sheet
chapter in volume 2 of the Configuration Handbook.
PS Configuration
You can program a PS configuration of Arria II devices using an intelligent host, such
as a MAX II device or microprocessor with flash memory, or a download cable. In the
PS scheme, an external host (a MAX II device, embedded processor, or host PC)
controls configuration. Configuration data is clocked into the target Arria II device
using the DATA0pin at each rising edge of DCLK
.
1
The Arria II decompression and design security features are available when
configuring your Arria II device using PS mode.
PS Configuration Using a MAX II Device as an External Host
In this configuration scheme, you can use a MAX II device as an intelligent host that
controls the transfer of configuration data from a storage device, such as flash
memory, to the target Arria II device. You can store configuration data in .rbf, .hex, or
.ttf format.
Figure 9–10 shows the configuration interface connections between an Arria II device
and a MAX II device for single device configuration.
Figure 9–10. Single Device PS Configuration Using an External Host
Memory
(1) (1)
10 kΩ
(2)
DATA[0]
ADDR
Arria II Device
10 kΩ 10 kΩ
(3)
MSEL[n..0]
CONF_DONE
nSTATUS
nCE
External Host
(MAX II Device or
Microprocessor)
nCEO
N.C.
(4)
GND
DATA[0]
nCONFIG
DCLK
Notes to Figure 9–10:
(1) Connect the pull-up resistor to a supply that provides an acceptable input signal for the Arria II device. For Arria II GX devices, use the VCCIO pin.
For Arria II GZ devices, use the VCCPGM pin. VCCIO/VCCPGM must be high enough to meet the VIH specification of the I/O on both the device and the
external host. Altera recommends powering the configuration system I/Os with VCCIO/VCCPGM
.
(2) A pull-up resistor to VCCIO/VCCPGM or a pull-down resistor keeps the nCONFIGline in a known state when the external host is not driving the line.
(3) The MSELpin settings vary for different configuration voltage standards and POR delays. To connect MSEL[3..0]for an Arria II GX device, refer
to Table 9–6 on page 9–9. To connect MSEL[2..0]for an Arria II GZ device, refer to Table 9–7 on page 9–10.
(4) The nCEOpin can be left unconnected or used as a user I/O pin when it does not feed the nCEpin of the other device.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–27
PS Configuration
The Arria II device receives configuration data on the DATA0pin and the clock is
received on the DCLKpin. Data is latched into the device on the rising edge of DCLK. If
you are using configuration data in .rbf, .hex, or .ttf format, you must send the LSB of
each data byte first. For example, if the .rbf contains the byte sequence
02 1B EE 01 FA, the serial bitstream you must transmit to the device is
0100-0000 1101-1000 0111-0111 1000-0000 0101-1111
.
Figure 9–11 shows how to configure multiple devices using an external host. This
circuit is similar to the PS configuration circuit for a single device, except the Arria II
devices are cascaded for multi-device configuration.
Figure 9–11. Multi-Device PS Configuration Using an External Host
Memory
(1) (1)
10 kΩ
(2)
DATA[0]
ADDR
Arria II Device 1
Arria II Device 2
(1)
10 kΩ
10 kΩ 10 kΩ
(3)
MSEL[n..0]
(3)
MSEL[n..0]
CONF_DONE
CONF_DONE
nCEO
N.C.
nSTATUS
nSTATUS
nCE
nCEO
nCE
External Host
(MAX II Device or
Microprocessor)
GND
DATA[0]
DATA[0]
nCONFIG
DCLK
nCONFIG
DCLK
Notes to Figure 9–11:
(1) Connect the pull-up resistor to a supply that provides an acceptable input signal for the Arria II device. For Arria II GX devices, use the VCCIO pin.
For Arria II GZ devices, use the VCCPGM pin. VCCIO/VCCPGM must be high enough to meet the VIH specification of the I/O on both the device and the
external host. Altera recommends powering up the configuration system I/Os with VCCIO/VCCPGM
.
(2) A pull-up resistor to VCCIO/VCCPGM or a pull-down resistor keeps the nCONFIGline in a known state when the external host is not driving the line.
(3) The MSELpin settings vary for different configuration voltage standards and POR delay. To connect MSEL[3..0]for an Arria II GX device, refer to
Table 9–6 on page 9–9. To connect MSEL[2..0]for an Arria II GZ device, refer to Table 9–7 on page 9–10.
In Arria II devices, the initialization clock source is either the internal oscillator or the
optional CLKUSRpin. By default, the internal oscillator is the clock source for
initialization. If you use the internal oscillator, the Arria II device provides itself with
enough clock cycles for proper initialization. Therefore, if the internal oscillator is the
initialization clock source, sending the entire configuration file to the device is
sufficient to configure and initialize the device. Driving DCLKto the device after
configuration is complete does not affect device operation.
You also have the flexibility to synchronize initialization of multiple devices or to
delay initialization with the CLKUSR option. You can turn on the Enable
user-supplied start-up clock (CLKUSR) option in the Quartus II software from the
General tab of the Device and Pin Options dialog box. If you supply a clock on
CLKUSR, it does not affect the configuration process. Arria II devices support fMAX of
125 MHz.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–28
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
PS Configuration
After the first device completes configuration in a multi-device configuration chain,
its nCEOpin drives low to activate the second device’s nCEpin, which prompts the
second device to begin configuration. The second device in the chain begins
configuration in one clock cycle. Therefore, the transfer of data destinations is
transparent to the MAX II device or microprocessor. All other configuration pins
(
nCONFIG, nSTATUS, DCLK, DATA0, and CONF_DONE) are connected to every device in the
chain. Configuration signals can require buffering to ensure signal integrity and
prevent clock skew problems. Ensure that the DCLKand DATAlines are buffered for
every fourth device. Because all device CONF_DONEpins are tied together, all devices
initialize and enter user mode at the same time.
Because all nSTATUSand CONF_DONEpins are tied together, if any device detects an
error, configuration stops for the entire chain and you must reconfigure the entire
chain. For example, if the first device flags an error on nSTATUS, it resets the chain by
pulling its nSTATUSpin low. This behavior is similar to a single device detecting an
error.
In your system, you can have multiple devices that contain the same configuration
data. To support this configuration scheme, all device nCEinputs are tied to GND,
while the nCEOpins are left floating. All other configuration pins (nCONFIG
, nSTATUS,
DCLK DATA0, and CONF_DONE) are connected to every device in the chain. Configuration
,
signals can require buffering to ensure signal integrity and prevent clock skew
problems. Ensure that the DCLKand DATAlines are buffered for every fourth device.
Devices must be the same density and package. All devices start and complete
configuration at the same time.
Figure 9–12 shows a multi-device PS configuration when both Arria II devices are
receiving the same configuration data.
Figure 9–12. Multiple-Device PS Configuration When Both Devices Receive the Same Data
Memory
(1) (1)
10 kΩ
(2)
DATA[0]
ADDR
Arria II Device
Arria II Device
10 kΩ 10 kΩ
MSEL[n..0]
MSEL[n..0]
(3)
(3)
CONF_DONE
CONF_DONE
nSTATUS
nCE
nSTATUS
nCE
External Host
(MAX II Device or
Microprocessor)
nCEO
N.C.
nCEO
N.C.
GND
GND
DATA[0]
nCONFIG
DCLK
DATA[0]
nCONFIG
DCLK
Notes to Figure 9–12:
(1) Connect the pull-up resistor to a supply that provides an acceptable input signal for the Arria II device. For Arria II GX devices, use the VCCIO pin.
For Arria II GZ devices, use the VCCPGM pin. VCCIO/VCCPGM must be high enough to meet the VIH specification of the I/O on both the device and the
external host. Altera recommends powering up the configuration system I/Os with VCCIO/VCCPGM
.
(2) A pull-up resistor to VCCIO/VCCPGM or a pull-down resistor keeps the nCONFIGline in a known state when the external host is not driving the line.
(3) The MSELpin settings vary for different configuration voltage standards and POR delays. To connect MSEL[3..0]for an Arria II GX device, refer
to Table 9–6 on page 9–9. To connect MSEL[2..0]for an Arria II GZ device, refer to Table 9–7 on page 9–10.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–29
PS Configuration
PS Configuration Timing
Figure 9–13 shows the timing waveform for a PS configuration when using a MAX II
device or microprocessor as an external host.
Figure 9–13. PS Configuration Timing Waveform (Note 1)
tCF2ST1
tCFG
tCF2CK
nCONFIG
nSTATUS (2)
tSTATUS
tCF2ST0
(4)
tCLK
CONF_DONE (3)
t
CH tCL
tCF2CD
tST2CK
(5)
(6)
DCLK
DATA
tDH
Bit 2 Bit 3
Bit n
Bit 0 Bit 1
tDSU
High-Z
User I/O
User Mode
INIT_DONE
tCD2UM
Notes to Figure 9–13:
(1) The beginning of this waveform shows the device in user mode. In user mode, nCONFIG
nCONFIGis pulled low, a reconfiguration cycle begins.
, nSTATUS, and CONF_DONEare at logic high levels. When
(2) After power-up, the Arria II device holds nSTATUSlow for the time of the POR delay.
(3) After power-up, before and during configuration, CONF_DONEis low.
(4) Two DCLKfalling edges are required after CONF_DONEgoes high to begin initialization of the device.
(5) Do not leave DCLKfloating after configuration. You can drive it high or low, whichever is more convenient.
(6) For Arria II GX devices, DATA[0]is a dedicated pin that is used for both PS and AS configuration modes and is not available as a user I/O pin after
configuration. For Arria II GZ devices, DATA[0]is available as a user I/O pin after configuration.
Table 9–12 lists the timing parameters for Arria II devices for PS configuration.
Table 9–12. PS Timing Parameters for Arria II Devices (Part 1 of 2)
Symbol
tCF2CD
Parameter
nCONFIGlow to CONF_DONElow
nCONFIGlow to nSTATUSlow
nCONFIGlow pulse width
Minimum
Maximum
800
Units
ns
—
—
2
tCF2ST0
tCFG
800 (2)
—
ns
s
tSTATUS
nSTATUSlow pulse width
10
500 (2)
s
tCF2ST1
(1)
nCONFIGhigh to nSTATUShigh
—
500 (2)
s
tCF2CK
tST2CK
tDSU
tDH
nCONFIGhigh to first rising edge on DCLK
nSTATUShigh to first rising edge of DCLK
Data setup time before rising edge on DCLK
Data hold time after rising edge on DCLK
DCLKhigh time
500
2
—
—
—
—
—
—
—
s
s
ns
ns
ns
ns
ns
4
0
tCH
3.2
3.2
8
tCL
DCLKlow time
tCLK
DCLKperiod
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–30
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
PS Configuration
Table 9–12. PS Timing Parameters for Arria II Devices (Part 2 of 2)
Symbol Parameter
fMAX
Minimum
Maximum
125
Units
MHz
ns
DCLKfrequency
Input rise time
Input fall time
—
—
—
55
tR
40
t
40
ns
tCD2UM
CONF_DONEhigh to user mode (3)
150
s
4 × maximum
DCLKperiod
tCD2CU
CONF_DONEhigh to CLKUSRenabled
—
—
—
—
tCD2CU + (8532
CLKUSRperiod)
tCD2UMC
CONF_DONEhigh to user mode with CLKUSRoption on
Notes to Table 9–12:
(1) This value is applicable if you do not delay configuration by externally holding the nSTATUSlow.
(2) This value is applicable if you do not delay configuration by extending the nCONFIGor nSTATUSlow pulse width.
(3) The minimum and maximum numbers apply only if you choose the internal oscillator as the clock source for initializing the device.
f
For more information about device configuration options and how to create
configuration files, refer to the Device Configuration Options and Configuration File
Formats chapters in volume 2 of the Configuration Handbook.
PS Configuration Using a Download Cable
1
In this section, the generic term “download cable” includes the Altera USB-Blaster
USB port download cable, ByteBlaster II parallel port download cable,
EthernetBlaster download cable, and EthernetBlaster II download cable.
In a PS configuration with a download cable, an intelligent host (such as a PC)
transfers data from a storage device to the Arria II device using the download cable.
During configuration, the programming hardware or download cable places the
configuration data one bit at a time on the device’s DATA0pin. The configuration data
is clocked into the target device until CONF_DONEgoes high.
When using a download cable, setting the Auto-restart configuration after error
option does not affect the configuration cycle because you must manually restart the
configuration in the Quartus II software when an error occurs. Additionally, the
Enable user-supplied start-up clock (CLKUSR) option has no affect on the device
initialization because this option is disabled in the .sof when programming the device
using the Quartus II programmer and download cable. Therefore, if you turn on the
CLKUSR option, you are not required to provide a clock on the CLKUSRpin when you
are configuring the device with the Quartus II programmer and a download cable.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–31
PS Configuration
Figure 9–14 shows a PS configuration for Arria II devices using a USB-Blaster,
EthernetBlaster, EthernetBlaster II, or ByteBlaster II cable.
Figure 9–14. PS Configuration Using a USB-Blaster, EthernetBlaster, EthernetBlaster II, or ByteBlaster II Cable
V
/V
(1)
V
/V
(1)
V /V V /V
CCIO CCPGM CCIO CCPGM
CCIO CCPGM
CCIO CCPGM
(1)
(1)
10 kΩ
(2)
10 kΩ
10 kΩ
10 kΩ
Arria II Device
CONF_DONE
nSTATUS
V
/V
(1)
CCIO CCPGM
10 kΩ
(2)
(3)
MSEL[n..0]
nCE
nCEO
N.C.
Download Cable
10-Pin Male Header
(PS Mode)
GND
DCLK
Pin 1
V
/V
(1)
DATA0
nCONFIG
CCIO CCPGM
GND
(4)
V
IO
Shield
GND
Notes to Figure 9–14:
(1) Connect the pull-up resistor to the same supply voltage, VCCIO for Arria II GX devices or VCCPGM for Arria II GZ devices as the USB-Blaster,
EthernetBlaster, EthernetBlaster II, or ByteBlaster II cable.
(2) You only need the pull-up resistors on DATA0and DCLKif the download cable is the only configuration scheme used on your board. This ensures
that DATA0and DCLKare not left floating after configuration. For example, if you are also using a configuration device, you do not need the pull-up
resistors on DATA0and DCLK
.
(3) The MSELpin settings vary for different configuration voltage standards and POR delays. To connect MSEL[3..0]for an Arria II GX device, refer
to Table 9–6 on page 9–9. To connect MSEL[2..0]for an Arria II GZ device, refer to Table 9–7 on page 9–10.
(4) In the USB-Blaster and ByteBlaster II cables, this pin is connected to nCEwhen it is used for AS programming; otherwise, it is a no connect.
You can use a download cable to configure multiple Arria II devices by connecting the
nCEOpin of each device to the nCEpin of the subsequent device. The nCEpin of the first
device is connected to GND, while its nCEOpin is connected to the nCEof the next
device in the chain. The nCEinput of the last device comes from the previous device,
while its nCEOpin is left floating. All other configuration pins (nCONFIG
, nSTATUS, DCLK,
DATA0, and CONF_DONE) are connected to every device in the chain. Because all
CONF_DONEpins are tied together, all devices in the chain initialize and enter user mode
at the same time.
In addition, because the nSTATUSpins are tied together, the entire chain halts
configuration if any device detects an error. The Auto-restart configuration after
error option does not affect the configuration cycle because you must manually restart
configuration in the Quartus II software when an error occurs.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–32
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
PS Configuration
Figure 9–15 shows how to configure multiple Arria II devices with a download cable.
Figure 9–15. Multi-Device PS Configuration Using a USB-Blaster, EthernetBlaster, EthernetBlaster II, or ByteBlaster II
Cable
V
/V
(1)
CCIO CCPGM
Download Cable
10-Pin Male Header
(PS Mode)
V
/V
(1)
CCIO CCPGM
10 kΩ
V
/V
(1)
CCIO CCPGM
10 kΩ
Arria II Device 1
V
/V
(1)
CCIO CCPGM
V
/V
(1)
Pin 1
CCIO CCPGM
(2)
CONF_DONE
10 kΩ
nSTATUS
DCLK
10 kΩ (2)
(3)
MSEL[n..0]
V
/V
(1)
GND
IO
CCIO CCPGM
V
(4)
nCEO
nCE
10 kΩ
GND
DATA0
nCONFIG
GND
Arria II Device 2
CONF_DONE
(3)
MSEL[n..0]
nSTATUS
V
/
CCIO
DCLK
V
(1)
CCPGM
10 kΩ
nCEO
N.C.
nCE
DATA0
nCONFIG
Notes to Figure 9–15:
(1) Connect the pull-up resistor to the same supply voltage, VCCIO for Arria II GX devices or VCCPGM for Arria II GZ devices as the USB-Blaster,
EthernetBlaster, EthernetBlaster II, or ByteBlaster II cable.
(2) You only need the pull-up resistors on DATA0and DCLKif the download cable is the only configuration scheme used on your board. This ensures
that DATA0and DCLKare not left floating after configuration. For example, if you are also using a configuration device, you do not need the pull-up
resistors on DATA0and DCLK
.
(3) The MSELpin settings vary for different configuration voltage standards and POR delays. To connect MSEL[3..0]for an Arria II GX device, refer
to Table 9–6 on page 9–9. To connect MSEL[2..0]for an Arria II GZ device, refer to Table 9–7 on page 9–10.
(4) In the USB-Blaster and ByteBlaster II cables, this pin is connected to nCEwhen it is used for AS programming; otherwise, it is a no connect.
f
For more information about how to use the USB-Blaster, ByteBlaster II,
EthernetBlaster, or EthernetBlaster II cables, refer to the following user guides:
■
■
■
■
ByteBlaster II Download Cable User Guide
EthernetBlaster Communications Cable User Guide
EthernetBlaster II Communications Cable User Guide
USB-Blaster Download Cable User Guide
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–33
JTAG Configuration
JTAG Configuration
JTAG has developed a specification for boundary-scan testing. This boundary-scan
test (BST) architecture offers the capability to efficiently test components on PCBs
with tight lead spacing. The BST architecture can test pin connections without using
physical test probes and capture functional data while a device is operating normally.
You can also use JTAG circuitry to shift configuration data into the device. The
Quartus II software automatically generates .sofs that you can use for JTAG
configuration with a download cable in the Quartus II software programmer.
f
For more information about JTAG boundary-scan testing and commands available
using Arria II devices, refer to the following documents:
■
■
JTAG Boundary-Scan Testing in Arria II Devices chapter
Programming Support for Jam STAPL Language
Arria II devices are designed such that JTAG instructions have precedence over any
device configuration modes. Therefore, JTAG configuration can take place without
waiting for other configuration modes to complete. For example, if you attempt JTAG
configuration of Arria II devices during PS configuration, PS configuration is
terminated and JTAG configuration begins.
1
1
You cannot use the Arria II decompression or design security features if you are
configuring your Arria II device using JTAG-based configuration.
A device operating in JTAG mode uses four required pins, TDI
one optional pin, TRST. The TCKpin has an internal weak pull-down resistor, while the
TDI TMS, and TRSTpins have weak internal pull-up resistors (typically 25 k ). All the
, TDO, TMS, and TCK, and
,
JTAG pins are powered by the VCCIO power supply of I/O bank 8C for Arria II GX
devices and 2.5-V/3.0-V VCCPD power supply for Arria II GZ devices. All the JTAG
pins support only the LVTTL I/O standard.
All user I/O pins are tri-stated during JTAG configuration. Table 9–13 lists the
function of each JTAG pin.
f
For more information about how to connect a JTAG chain with multiple voltages
across the devices in the chain, refer to the JTAG Boundary-Scan Testing in Arria II
Devices chapter.
Table 9–13. JTAG Pins Signals (Part 1 of 2)
Pin
Pin Type
Name
Description
Serial input pin for instructions as well as test and programming data. Data is shifted in on the
rising edge of TCK. If the JTAG interface is not required on your board, you can disable the JTAG
circuitry by connecting this pin to logic high.
Test data
input
TDI
TDO
Serial data output pin for instructions as well as test and programming data. Data is shifted out on
the falling edge of TCK. The pin is tri-stated if data is not being shifted out of the device. If the
JTAG interface is not required on your board, you can disable the JTAG circuitry by leaving this pin
unconnected.
Test data
output
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–34
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
JTAG Configuration
Table 9–13. JTAG Pins Signals (Part 2 of 2)
Pin
Pin Type
Name
Description
Input pin that provides the control signal to determine the transitions of the TAP controller state
machine. TMSis evaluated on the rising edge of TCK. Therefore, you must set up TMSbefore the
rising edge of TCK. Transitions within the state machine occur on the falling edge of TCKafter the
signal is applied to TMS. If the JTAG interface is not required on your board, you can disable the
JTAG circuitry by connecting this pin to logic high.
Test mode
select
TMS
TCK
Clock input to the BST circuitry. Some operations occur at the rising edge, while others occur at
the falling edge. If the JTAG interface is not required on your board, you can disable the JTAG
circuitry by connecting TCKto GND.
Test clock
input
Active-low input to asynchronously reset the boundary-scan circuit. The TRSTpin is optional
according to the IEEE Std. 1149.1 standard. If the JTAG interface is not required on your board,
you can disable the JTAG circuitry by connecting the TRSTpin to GND. One k pull-up resistor to
VCCPD if you do not use the TRSTpin.
Test reset
input
(optional)
TRST
(1)
Note to Table 9–13:
(1) The TRSTpin is only available for Arria II GZ devices.
During JTAG configuration, you can download data to the device on the PCB through
the USB-Blaster, ByteBlaster II, EthernetBlaster, or EthernetBlaster II download cable.
Figure 9–16 shows the JTAG configuration of a single Arria II device.
Figure 9–16. JTAG Configuration of a Single Device Using a Download Cable
V
/V
(2)
CCIO CCPD
V
/V
(1)
CCIO CCPGM
(3)
V
/V
(2)
CCIO CCPD
V
/V
(1)
CCIO CCPGM
10 kΩ
Arria II Device
(3)
10 kΩ
nCE (4)
TCK
TDO
N.C.
nCE0
GND
TMS
TDI
Download Cable
10-Pin Male Header
(JTAG Mode)
nSTATUS
CONF_DONE
nCONFIG
MSEL[n..0]
DCLK
(5)
(5)
(5)
(Top View)
Pin 1
V
/V
CCIO CCPD
(2)
GND
(6)
V
IO
1 kΩ
GND
GND
Notes to Figure 9–16:
(1) Connect the pull-up resistors to the VCCIO power supply of I/O bank 3C for Arria II GX devices and to VCCPGM (1.8-V, 2.5-V or 3.0-V) power supply
for Arria II GZ devices.
(2) Connect the pull-up resistor to the same supply voltage, VCCIO for Arria II GX devices or VCCPD for Arria II GZ devices as the USB-Blaster,
ByteBlaster II, EthernetBlaster, or EthernetBlaster II cable.
(3) The resistor value can vary from 1 K to 10 K.
(4) You must connect nCEto GND or drive it low for successful JTAG configuration.
(5) Connect the nCONFIGand MSELpins to support a non-JTAG configuration scheme. If you only use the JTAG configuration, connect nCONFIGto
VCCIO for Arria II GX device, VCCPGM for Arria II GZ device, and MSELto GND. Pull DCLKeither high or low, whichever is convenient on your board.
(6) In the USB-Blaster and ByteBlaster II cables, this pin is a no connect.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–35
JTAG Configuration
To configure a single device in a JTAG chain, the programming software places all
other devices in bypass mode. In bypass mode, devices pass programming data from
the TDIpin to the TDOpin through a single bypass register without being affected
internally. This scheme enables the programming software to program or verify the
target device. Configuration data driven into the device appears on the TDOpin one
clock cycle later.
The Quartus II software verifies successful JTAG configuration after completion. At
the end of configuration, the software checks the state of CONF_DONEthrough the JTAG
port. When the Quartus II software generates a JamTM file (.jam) for a multi-device
chain, it contains instructions so that all the devices in the chain are initialized at the
same time. If CONF_DONEis not high, the Quartus II software indicates that
configuration has failed. If CONF_DONEis high, the software indicates that
configuration was successful. After the configuration bitstream is transmitted serially
using the JTAG TDIport, the TCKport is clocked an additional 1,094 cycles to perform
device initialization.
Arria II devices have dedicated JTAG pins that always function as JTAG pins. Not
only can you perform JTAG testing on Arria II devices before and after, but also
during configuration. While other device families do not support JTAG testing during
configuration, Arria II devices support the bypass, ID code, and sample instructions
during configuration without interrupting configuration. All other JTAG instructions
may only be issued by first interrupting configuration and reprogramming I/O pins
using the CONFIG_IOinstruction.
The CONFIG_IOinstruction allows I/O buffers to be configured using the JTAG port
and when issued, interrupts configuration. This instruction allows you to perform
board-level testing prior to configuring the Arria II device or waiting for a
configuration device to complete configuration. After configuration is interrupted
and JTAG testing is complete, you must reconfigure the part using JTAG
(
PULSE_CONFIGinstruction) or by pulsing nCONFIGlow.
The chip-wide reset (DEV_CLRn) and chip-wide output enable (DEV_OE) pins on Arria II
devices do not affect JTAG boundary-scan or programming operations. Toggling
these pins does not affect JTAG operations (other than the usual boundary-scan
operation).
When designing a board for JTAG configuration of Arria II devices, consider the
dedicated configuration pins. Table 9–14 lists how these pins are connected during
JTAG configuration.
Table 9–14. Dedicated Configuration Pin Connections During JTAG Configuration (Part 1 of 2)
Signal
Description
On all Arria II devices in the chain, nCEmust be driven low by connecting it to GND ground, pulling it low
using a resistor, or driving it by some control circuitry. For devices that are also in multi-device FPP, AS, or
PS configuration chains, the nCEpins must be connected to GND during JTAG configuration or JTAG
must be configured in the same order as the configuration chain.
nCE
nCEO
MSEL
On all Arria II devices in the chain, you can leave nCEOfloating or connected to nCEof the next device.
Do not leave these pins floating. These pins support whichever non-JTAG configuration is used in
production. If you only use JTAG configuration, tie these pins to GND.
Driven high by connecting to VCCIO or VCCPGM, pulling up using a resistor, or driven high by some control
circuitry.
nCONFIG
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–36
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
JTAG Configuration
Table 9–14. Dedicated Configuration Pin Connections During JTAG Configuration (Part 2 of 2)
Signal
Description
Pull to VCCIO or VCCPGM using a 10-k resistor. When configuring multiple devices in the same JTAG chain,
each nSTATUSpin must be pulled up to VCCIO or VCCPGM individually.
nSTATUS
Pull to VCCIO or VCCPGM using a 10-k resistor. When configuring multiple devices in the same JTAG
chain, each CONF_DONEpin must be pulled up to VCCIO or VCCPGM individually. CONF_DONEgoing high at
the end of JTAG configuration indicates successful configuration.
CONF_DONE
DCLK
Do not leave DCLKfloating. Drive low or high, whichever is more convenient on your board.
When programming a JTAG device chain, one JTAG-compatible header is connected
to several devices. The number of devices in the JTAG chain is limited only by the
drive capability of the download cable. When four or more devices are connected in a
JTAG chain, Altera recommends buffering the TCK, TDI, and TMSpins with an on-board
buffer.
JTAG-chain device programming is ideal when the system contains multiple devices
or when testing your system using JTAG BST circuitry.
Figure 9–17 shows a multi-device JTAG configuration when using a download cable.
Figure 9–17. JTAG Configuration of Multiple Devices Using a Download Cable
Arria II Device
Arria II Device
ArriaIIDevice
VCCIO/VCCPGM
V
CCIO/VCCPGMVCCIO/VCCPGM
VCCIO/VCCPGM
V
CCIO/VCCPGM
V
CCIO/VCCPGM
Download Cable
10-Pin Male Header
(JTAG Mode)
(1)
(1) (1)
(1)
(1)
(1)
10 kΩ
10 kΩ
10 kΩ
10 kΩ
10 kΩ
10 kΩ
V
CCIO/VCCPD
(2)
nSTATUS
nCONFIG
nSTATUS
nCONFIG
nSTATUS
nCONFIG
(5)
(5)
(5)
(3)
VCCIO
/
Pin 1
VCCIO
VCCPD(2)
/
CONF_DONE
CONF_DONE
CONF_DONE
VCCPD(2)
(5)
(5)
(5)
(5)
(5)
(5)
DCLK
DCLK
DCLK
(3)
MSEL[n..0]
MSEL[n..0]
MSEL[n..0]
nCE (6)
nCE (6)
nCE (6)
VIO
TDI
TMS
TDI
TMS
TDI
TMS
TDO
TDO
TDO
(4)
TCK
TCK
TCK
1 kΩ
Notes to Figure 9–17:
(1) Connect the pull-up resistors to the VCCIO power supply of I/O bank 3C for Arria II GX devices and to VCCPGM (1.8-V, 2.5-V or 3.0-V) power supply
for Arria II GZ devices.
(2) You must connect the pull-up resistor to the same supply voltage, VCCIO for Arria II GX devices or VCCPD for Arria II GZ devices as the USB-Blaster,
ByteBlaster II, EthernetBlaster, or EthernetBlaster II cable.
(3) The resistor value can vary from 1 K to 10 K.
(4) In the USB-Blaster and ByteBlaster II cables, pin 6 is a no connect.
(5) You must connect the nCONFIGand MSELpins to support a non-JTAG configuration scheme. If you only use JTAG configuration, connect nCONFIG
to the VCCIO for Arria II GX device, VCCPGM for Arria II GZ device, and MSELto GND. Pull DCLKeither high or low, whichever is convenient on your
board.
(6) You must connect nCEto GND or drive it low for successful JTAG configuration.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–37
JTAG Configuration
You must connect the nCEpin to GND or drive it low during JTAG configuration. In
multi-device FPP, AS, and PS configuration chains, the nCEpin of the first device is
connected to GND, while its nCEOpin is connected to nCEof the next device in the
chain. The nCEinput of the last device comes from the previous device, while its nCEO
pin is left floating. In addition, the CONF_DONEand nSTATUSsignals are all shared in
multi-device FPP, AS, or PS configuration chains so the devices can enter user mode at
the same time after configuration is complete. When the CONF_DONEand nSTATUS
signals are shared among all the devices, you must configure every device when JTAG
configuration is performed.
1
If you only use JTAG configuration, Altera recommends connecting the circuitry as
shown in Figure 9–17, where each of the CONF_DONEand nSTATUSsignals are isolated to
enable each device to enter user mode individually.
After the first device completes configuration in a multi-device configuration chain,
its nCEOpin drives low to activate the nCEpin of the second device, which prompts the
second device to begin configuration. Therefore, if these devices are also in a JTAG
chain, ensure the nCEpins are connected to GND during JTAG configuration or that
the devices are JTAG configured in the same order as the configuration chain. As long
as the devices are JTAG configured in the same order as the multi-device
configuration chain, the nCEOof the previous device drives the nCEof the next device
low when it has successfully been JTAG configured.
You can place other Altera devices that have JTAG support in the same JTAG chain for
device programming and configuration.
1
JTAG configuration support is enhanced and allows more than 17 Arria II devices to
be cascaded in a JTAG chain.
f
For more information about configuring multiple Altera devices in the same
configuration chain, refer to the Configuring Mixed Altera Device Chains chapter in
volume 2 of the Configuration Handbook.
You can configure Arria II devices using multiple configuration schemes on the same
board. Combining JTAG configuration with a PS or AS configuration on your board is
useful in the prototyping environment because it allows multiple methods to
configure your FPGA.
f
For more information about combining JTAG configuration with other configuration
schemes, refer to the Combining Different Configuration Schemes chapter in volume 2 of
the Configuration Handbook.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–38
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
JTAG Configuration
Figure 9–18 shows a JTAG configuration of an Arria II device using a microprocessor.
Figure 9–18. JTAG Configuration of a Single Device Using a Microprocessor
V
V
(1)
CCIO/ CCPGM
V
V
(1)
CCIO/ CCPGM
10 kΩ
Memory
Arria II Device
10 kΩ
DATA
ADDR
nSTATUS
CONF_DONE
DCLK
nCONFIG
(4)
(4)
(4)
TDI (2)
TCK (2)
TMS (2)
TDO (2)
MSEL[n..0]
nCEO
N.C.
Microprocessor
(3) nCE
GND
Notes to Figure 9–18:
(1) Connect the pull-up resistor to a supply that provides an acceptable input signal for all Arria II devices in the chain.
The VCCIO power supply for Arria II GX devices or the VCCPGM power supply for Arria II GZ devices must be high
enough to meet the VIH specification of the I/O on the device.
(2) To drive the JTAG pins, the microprocessor must use the same I/O standard as VCCIO for Arria II GX devices or VCCPD
for Arria II GZ devices.
(3) You must connect nCEto GND or drive it low for successful JTAG configuration.
(4) Connect the nCONFIGand MSELpins to support a non-JTAG configuration scheme. If you use only the JTAG
configuration, connect nCONFIGto the VCCIO for Arria II GX device, VCCPGM for Arria II GZ device, and MSELto GND.
Pull DCLKeither high or low, whichever is convenient on your board. Arria II GX devices use MSEL[3..0]pins while
Arria II GZ devices use MSEL[2..0]pins.
Jam STAPL
Jam standard test and programming language (STAPL), JEDEC standard JESD-71, is a
standard file format for in-system programmability (ISP) purposes. Jam STAPL
supports programming or configuration of programmable devices and testing of
electronic systems, using the IEEE 1149.1 JTAG interface. Jam STAPL is a freely
licensed open standard.
The Jam Player provides an interface for manipulating the IEEE Std. 1149.1 JTAG TAP
state machine.
f
For more information about JTAG and Jam STAPL in embedded environments, refer
to AN 425: Using Command-Line Jam STAPL Solution for Device Programming. To
download the Jam Player, visit the Altera website.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–39
Device Configuration Pins
Device Configuration Pins
Table 9–15 through Table 9–18 list the connections and functionality of all the
configuration-related pins on the Arria II devices.
Table 9–15 lists the Arria II configuration pins and their power supply.
Table 9–15. Configuration Pin Summary for Arria II Devices
Description
Input/Output
Input
Dedicated
Yes
Yes
Yes
Yes
Yes
—
Powered By (1)
VCCPD/VCCIO
Configuration Mode
TDI
TMS
TCK
TRST
TDO
JTAG
JTAG
Input
VCCPD/VCCIO
Input
VCCPD/VCCIO
JTAG
Input
VCCPD/VCCIO
JTAG
Output
Output
Input
VCCPD/VCCIO
JTAG
CRC_ERROR
DATA0
Pull-up
Optional, all modes
All modes except JTAG
FPP
—
VCCPGM/VCCIO (2)
VCCPGM/VCCIO (2)
Pull-up
DATA[7..1]
INIT_DONE
CLKUSR
Input
—
Output
Input
—
Optional, all modes
Optional
—
VCCPGM/VCCIO (2)
VCCPGM/Pull-up
VCCPGM/VCCIO
VCCPGM/Pull-up
VCCPGM/VCCIO
VCCPGM/VCCIO
VCCPGM/VCCIO
VCCPGM/VCCIO
nSTATUS
nCE
Bidirectional
Input
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
—
All modes
All modes
All modes
All modes
AS
CONF_DONE
nCONFIG
ASDO
Bidirectional
Input
Output
Output
Input
nCSO
AS
PS, FPP
DCLK
Output
Input
V
CCPGM/VCCIO
AS
nIO_PULLUP
nCEO
VCC (3)
All modes
All modes
All modes
All modes
Output
Input
VCCPGM/Pull-up
VCCIO (6)
VCCPD
MSEL[2..0] (4)
MSEL[3..0](5)
Notes to Table 9–15:
Yes
Yes
Input
(1) Arria II GX devices use VCCIO while Arria II GZ devices use VCCPD
.
(2) For Arria II GZ devices, these pins are powered up by VCCPGM during configuration and VCCIO if they are used as a regular I/O in user mode.
(3) Although the nIO_PULLUPis powered up by VCC, Altera recommends connecting this pin to VCCPGM for Arria II GZ devices, VCCIO for Arria II GX
devices, or GND directly without using a pull-up or pull-down resistor.
(4) Arria II GZ devices use a MSEL[2..0]configuration scheme.
(5) Arria II GX devices use a MSEL[3..0]configuration scheme.
(6) Although MSEL[2..0]
, PORSEL, and nIO_PULLUPare powered by VCC, Altera recommends connecting these pins to VCCPGM or GND directly
without using a pull-up or pull-down resistor.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–40
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Device Configuration Pins
Table 9–16 lists the dedicated configuration pins. You must connect these pins
properly on your board for successful configuration. Some of these pins may not be
required for your configuration schemes.
Table 9–16. Dedicated Configuration Pins on the Arria II Device (Part 1 of 4)
Configuration
Pin Name
User Mode
Pin Type
Description
Scheme
Dedicated power pin. Use this pin to power the I/O
pre-drivers, the HSTL/SSTL input buffers, and the
MSEL[3..0] pins.
You must connect VCCPD according to the I/O standard used
in the same bank:
■ For 3.3-V I/O standards, connect VCCPD to 3.3 V
■ For 3.0-V I/O standards, connect VCCPD to 3.0 V
■ For 2.5-V and below I/O standards, connect VCCPD to 2.5 V
VCCPD
N/A
All
Power (1)
VCCPD must ramp up from 0 V to 2.5, 3.0, or 3.3 V in 100 ms
(for standard POR) or 4 ms (for fast POR). If VCCPD is not
ramped up in this specified time, your Arria II device is not
successfully configured.
Dedicated input that chooses whether the internal pull-up
resistors on the user I/O pins and dual-purpose I/O pins
(
DATA[7..0], CLKUSR, INIT_DONE, DEV_OE, and
DEV_CLRn) are on or off before and during configuration. A
logic high turns off the weak internal pull-up resistors; a
logic low turns them on.
nIO_PULLUP
N/A
All
Input
The nIO-PULLUPinput buffer is powered by VCC and has an
internal 5-k pull-down resistor that is always active. You
can tie the nIO-PULLUPdirectly to the VCCPGM power supply
for Arria II GZ devices and the VCCIO power supply for
Arria II GX devices, or GND.
Three-bit configuration input that sets the Arria II GZ device
configuration scheme. For more information about the
appropriate connections, refer to Table 9–7 on page 9–10.
MSEL[2..0]
N/A
All
Input
You must hardwire these pins to VCCPGM or GND.
The MSEL[2..0]pins have internal 5-k pull-down
resistors that are always active.
Four-bit configuration input that sets the Arria II GX device
configuration scheme. For more information about the
appropriate connections, refer to Table 9–6 on page 9–9.
MSEL[3..0]
N/A
N/A
All
All
Input
Input
You must hardwire these pins to VCCPD or GND.
The MSEL[3..0]pins have internal 5-k pull-down
resistors that are always active.
Configuration control input. Pulling this pin low during
user-mode causes the device to lose its configuration data,
enter a reset state, and tri-state all I/O pins. Returning this
pin to a logic-high level starts a reconfiguration.
nCONFIG
Configuration is possible only if this pin is high, except in
JTAG programming mode, when nCONFIGis ignored.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–41
Device Configuration Pins
Table 9–16. Dedicated Configuration Pins on the Arria II Device (Part 2 of 4)
Configuration
Pin Name
User Mode
Pin Type
Description
Scheme
The device drives nSTATUSlow immediately after power-up
and releases it after the POR time.
During user mode and regular configuration, this pin is
pulled high by an external 10-k resistor.
This pin, when driven low by the Arria II device, indicates
that the device has encountered an error during
configuration.
■ Status output—If an error occurs during configuration,
nSTATUSis pulled low by the target device.
■ Status input—If an external source drives the nSTATUS
pin low during configuration or initialization, the target
device enters an error state.
Driving nSTATUSlow after configuration and initialization
does not affect the configured device. If you use a
configuration device, driving nSTATUSlow causes the
configuration device to attempt to configure the device, but
because the device ignores transitions on nSTATUSin user
mode, the device does not reconfigure. To begin a
reconfiguration, nCONFIGmust be pulled low.
Bidirectional
open-drain
nSTATUS
N/A
All
If VCCIO for Arria II GX devices or VCCPGM for Arria II GZ
devices are not fully powered up, the following could occur:
■ VCCIO/VCCPGM is powered high enough for the nSTATUS
buffer to function properly and nSTATUSis driven low.
When VCCIO/VCCPGM is ramped up, POR trips and nSTATUS
is released after POR expires.
■ VCCIO/VCCPGM is not powered high enough for the nSTATUS
buffer to function properly. In this situation, nSTATUS
might appear logic high, triggering a configuration
attempt that fails because POR did not yet trip. When
VCCPD is powered up, nSTATUSis pulled low because POR
did not yet trip. When POR trips after VCCIO/VCCPGM is
powered up, nSTATUSis released and pulled high. At that
point, reconfiguration is triggered and the device is
configured.
Status output. The target device drives the CONF_DONEpin
low before and during configuration. After all configuration
data is received without error and the initialization cycle
starts, the target device releases CONF_DONE
.
Bidirectional Status input. After all data is received and CONF_DONEgoes
open-drain high, the target device initializes and enters user mode. The
CONF_DONEpin must have an external 10-k pull-up
CONF_DONE
N/A
All
resistor for the device to initialize.
Driving CONF_DONElow after configuration and initialization
does not affect the configured device.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–42
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Device Configuration Pins
Table 9–16. Dedicated Configuration Pins on the Arria II Device (Part 3 of 4)
Configuration
Pin Name
User Mode
Pin Type
Description
Scheme
Active-low chip enable. The nCEpin activates the device with
a low signal to allow configuration. The nCEpin must be held
low during configuration, initialization, and user mode. In
single device configuration, it must be tied low. In
multi-device configuration, nCEof the first device is tied low
while its nCEOpin is connected to nCEof the next device in
the chain.
nCE
N/A
All
Input
The nCEpin must also be held low for successful JTAG
programming of the device.
Output that drives low when device configuration is
complete. In a single-device configuration, this pin is left
floating. In a multi-device configuration, this pin feeds the
next device’s nCEpin and is pulled high by an external 10-k
resistor. The nCEOof the last device in the chain is left
floating.
Output
open-drain
nCEO
I/O
All
The nCEOpin is powered by VCCIO for Arria II GX devices and
VCCPGM for Arria II GZ devices.
After configuration, nCEOis available as user I/O pins. The
state of the nCEOpin depends on the Dual-Purpose Pin
settings.
Control signal from the Arria II device to the serial
configuration device in AS mode used to read out
configuration data.
ASDO (2)
nCSO (2)
N/A
N/A
AS
AS
Output
Output
In AS mode, ASDOhas an internal pull-up resistor that is
always active.
Output control signal from the Arria II device to the serial
configuration device in AS mode that enables the
configuration device.
In AS mode, nCSOhas an internal pull-up resistor that is
always active.
In PS and FPP configurations, DCLKis the clock input used
to clock data from an external source into the target device.
Data is latched into the device on the rising edge of DCLK
.
In AS mode, DCLKis an output from the Arria II device that
provides timing for the configuration interface. In AS mode,
DCLKhas an internal pull-up resistor (typically 25 k) that is
always active.
Synchronous
configuration
schemes
Input
(PS, FPP)
Output (AS)
DCLK (2)
N/A
(PS, FPP, AS)
After configuration, this pin by default is driven into an
inactive state. In schemes that use a control host, DCLKmust
be driven either high or low, whichever is more convenient.
Toggling this pin after configuration does not affect the
configured device.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–43
Device Configuration Pins
Table 9–16. Dedicated Configuration Pins on the Arria II Device (Part 4 of 4)
Configuration
Pin Name
User Mode
Pin Type
Description
Scheme
Data input. In serial configuration modes, bit-wide
configuration data is presented to the target device on the
DATA0pin.
In AS mode, DATA0has an internal pull-up resistor that is
always active.
DATA0 (2)
N/A
PS, FPP, AS
Input
For Arria II GX devices, DATA0is a dedicated pin that is used
for both PS and AS configuration modes and is not available
as a user I/O pin after configuration.
For Arria II GZ devices, after PS or FPP configuration, DATA0
is available as a user I/O pin. The state of this pin depends on
the Dual-Purpose Pin settings.
Data inputs. Byte-wide configuration data is presented to the
target device on DATA[7..0]
.
Parallel
configuration
schemes
(FPP)
In serial configuration schemes, they function as user I/O
pins during configuration, which means they are tri-stated.
DATA[7..1]
I/O
Inputs
After FPP configuration, DATA[7..1]are available as user
I/O pins. The state of these pin depends on the
Dual-Purpose Pin settings.
Notes to Table 9–16:
(1) Arria II GZ devices do not support the 3.3-V I/O standard.
(2) To tri-state the AS configuration pins in user mode, turn on the Enable input tri-state on active configuration pins in user mode option from
the Device and Pin Options dialog box in the Configuration tab. This tri-states the DCLK nCSO, and ASDOpins.
,
DATA0,
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–44
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Device Configuration Pins
Table 9–17 lists the optional configuration pins. If these optional configuration pins
are not enabled in the Quartus II software, they are available as general-purpose user
I/O pins. Therefore, during configuration, these pins function as user I/O pins and
are tri-stated with weak pull-up resistors.
Table 9–17. Optional Configuration Pins
Pin Name
User Mode
Pin Type
Description
Optional user-supplied clock input synchronizes the
initialization of one or more devices. Enable this pin by turning
on the Enable user-supplied start-up clock (CLKUSR) option
in the Quartus II software.
N/A if option is on.
I/O if option is off.
CLKUSR
Input
Use as a status pin to indicate when the device has initialized
and is in user mode. When nCONFIGis low and during the
beginning of configuration, the INIT_DONEpin is tri-stated
and pulled high due to an external 10-k pull-up resistor.
After the option bit to enable INIT_DONEis programmed into
the device (during the first frame of configuration data), the
INIT_DONEpin goes low. When initialization is complete, the
INIT_DONEpin is released and pulled high and the device
enters user mode. Thus, the monitoring circuitry must be able
to detect a low-to-high transition. Enable this pin by turning
on the Enable INIT_DONE output option in the Quartus II
software.
N/A if option is on.
I/O if option is off.
Output
open-drain
INIT_DONE
Optional pin that allows you to override all tri-states on the
device. When this pin is driven low, all I/O pins are tri-stated.
When this pin is driven high, all I/O pins behave as
programmed. Enable this pin by turning on the Enable
device-wide output enable (DEV_OE) option in the Quartus II
software.
N/A if option is on.
I/O if option is off.
DEV_OE
Input
Input
Optional pin that allows you to override all clears on all device
registers. When this pin is driven low, all registers are cleared.
When this pin is driven high, all registers behave as
programmed. Enable this pin by turning on the Enable
device-wide reset (DEV_CLRn) option in the Quartus II
software.
N/A if option is on.
I/O if option is off.
DEV_CLRn
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–45
Device Configuration Pins
Table 9–18 lists the dedicated JTAG pins. JTAG pins must be kept stable before and
during configuration to prevent accidental loading of JTAG instructions. The TDI TMS,
,
and TRSTpins have weak internal pull-up resistors; the TCKpin has a weak internal
pull-down resistor (typically 25 k ). If you plan to use the SignalTap embedded
logic array analyzer, you must connect the JTAG pins of the Arria II device to a JTAG
header on your board.
Table 9–18. Dedicated JTAG Pins
Pin Name
User Mode
Pin Type
Description
Serial input pin for instructions as well as test and programming data. Data is
shifted on the rising edge of TCK. The TDIpin is powered by the VCCIO power
supply for Arria II GX devices and the VCCPD power supply for Arria II GZ
devices.
Test data
input
TDI
N/A
If the JTAG interface is not required on your board, you can disable the JTAG
circuitry by connecting this pin to logic high.
Serial data output pin for instructions as well as test and programming data.
Data is shifted out on the falling edge of TCK. The pin is tri-stated if data is not
being shifted out of the device. The TDOpin is powered up by the VCCPD/VCCIO
power supply. For more information about connecting a JTAG chain with
multiple voltages across the devices in the chain, refer to the JTAG
Boundary-Scan Testing in Arria II Devices chapter.
Test data
output
TDO
N/A
If the JTAG interface is not required on your board, you can disable the JTAG
circuitry by leaving this pin unconnected.
Input pin that provides the control signal to determine the transitions of the
TAP controller state machine. TMSis evaluated on the rising edge of TCK
.
Therefore, you must set up TMSbefore the rising edge of TCK. Transitions in the
Test mode
select
state machine occur on the falling edge of TCKafter the signal is applied to TMS
The TMSpin is powered by the VCCPD/VCCIO power supply.
.
TMS
TCK
N/A
N/A
If the JTAG interface is not required on your board, you can disable the JTAG
circuitry by connecting this pin to logic high.
Clock input to the BST circuitry. Some operations occur at the rising edge while
others occur at the falling edge. The TCKpin is powered by the VCCPD/VCCIO
power supply.
Test clock
input
It is expected that the clock input waveform have a nominal 50% duty cycle.
If the JTAG interface is not required on your board, you can disable the JTAG
circuitry by connecting TCKto GND.
Active-low input to asynchronously reset the boundary-scan circuit. The TRST
pin is optional according to the IEEE Std. 1149.1 standard. The TRSTpin is
powered by the VCCPD power supply for Arria II GZ devices.
Test reset
input
TRST (1)
N/A
Hold TMSat one or keep TCKstatic while TRSTis changed from 0 to 1.
(optional)
If the JTAG interface is not required on your board, you can disable the JTAG
circuitry by connecting the TRSTpin to GND. You need one k pull-up resistor
to VCCPD if you do not use the TRSTpin.
Note to Table 9–18:
(1) The TRSTpin is only available for Arria II GZ devices.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–46
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Configuration Data Decompression
Configuration Data Decompression
Arria II devices support configuration data decompression, which saves
configuration memory space and time. This feature allows you to store compressed
configuration data in configuration devices or other memory and transmit this
compressed bitstream to Arria II devices. During configuration, the Arria II device
decompresses the bitstream in real time and programs its SRAM cells.
1
1
Data indicates that compression typically reduces the configuration bitstream size by
35 to 55% based on the designs used.
Arria II devices support decompression in the FPP (when using a MAX II device or
microprocessor + flash), AS or fast AS, and PS configuration schemes. The Arria II
device decompression feature is not available in the JTAG configuration scheme.
When using FPP mode, the intelligent host must provide a DCLKthat is x4 the data
rate. Therefore, the configuration data must be valid for four DCLKcycles.
In PS mode, use the Arria II decompression feature because sending compressed
configuration data reduces configuration time.
When you enable compression, the Quartus II software generates configuration files
with compressed configuration data. This compressed file reduces the storage
requirements in the configuration device or flash memory and decreases the time
needed to transmit the bitstream to the Arria II device. The time required by an
Arria II device to decompress a configuration file is less than the time needed to
transmit the configuration data to the device.
There are two ways to enable compression for Arria II bitstreams—before design
compilation (in the Compiler Settings menu) and after design compilation (in the
Convert Programming Files window).
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–47
Configuration Data Decompression
To enable compression in the project’s Compiler Settings menu, follow these steps:
1. On the Assignments menu, click Device. The Settings dialog box appears.
2. After selecting your Arria II device, open the Device and Pin Options window.
3. In the Configuration settings tab, turn on Generate compressed bitstreams (as
shown in Figure 9–19).
Figure 9–19. Enabling Compression for Arria II Bitstreams in Compiler Settings
You can also enable compression when creating programming files from the Convert
Programming Files window. To do this, follow these steps:
1. On the File menu, click Convert Programming Files.
2. Select the programming file type (.pof, .sram, .hex, .rbf, or .ttf).
3. For .pof output files, select a configuration device.
4. In the Input files to convert box, select SOF Data.
5. Select Add File and add an Arria II device .sof.
6. Select the name of the file you added to the SOF Data area and click Properties.
7. Check the Compression check box.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–48
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Remote System Upgrades
When multiple Arria II devices are cascaded, you can selectively enable the
compression feature for each device in the chain if you are using a serial configuration
scheme. Figure 9–20 shows a chain of two Arria II devices. The first Arria II device has
compression enabled; therefore, receives a compressed bitstream from the
configuration device. The second Arria II device has the compression feature disabled
and receives uncompressed data.
In a multi-device FPP configuration chain (with a MAX II device or
microprocessor + flash), all Arria II devices in the chain must either enable or disable
the decompression feature. You cannot selectively enable the compression feature for
each device in the chain because of the DATAand DCLKrelationship.
Figure 9–20. Compressed and Uncompressed Serial Configuration Data in the Same
Configuration File
Serial Configuration Data
Serial Configuration
Device
Uncompressed
Configuration
Data
Compressed
Configuration
Data
Decompression
Controller
Arria II Device
Arria II Device
nCE
nCEO
nCE
nCEO
N.C.
GND
You can generate programming files for this setup by clicking Convert Programming
Files on the File menu in the Quartus II software.
Remote System Upgrades
This section describes the functionality and implementation of the dedicated remote
system upgrade circuitry. It also defines several concepts related to remote system
upgrades, including factory configuration, application configuration, remote update
mode, and user watchdog timer. Additionally, this section provides design guidelines
for implementing remote system upgrades with the supported configuration
schemes.
System designers sometimes face challenges such as shortened design cycles,
evolving standards, and system deployments in remote locations. Arria II devices
help overcome these challenges with their inherent reprogrammability and dedicated
circuitry to perform remote system upgrades. Remote system upgrades help deliver
feature enhancements and bug fixes without costly recalls, reduce time-to-market,
extend product life, and help to avoid system downtime.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–49
Remote System Upgrades
Arria II devices feature dedicated remote system upgrade circuitry. Soft logic (either
the Nios® II embedded processor or user logic) implemented in an Arria II device can
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. The dedicated circuitry performs error detection during and
after the configuration process, recovers from any error condition by reverting back to
a safe configuration image, and provides error status information.
Remote system upgrades are supported in AS configuration schemes for Arria II GX
devices and in fast AS configuration schemes for Arria II GZ devices. You can also
implement remote system upgrades in conjunction with advanced Arria II features
such as real-time decompression of configuration data and design security using the
advanced encryption standard (AES) for secure and efficient field upgrades. The
largest serial configuration device currently supports 128 megabits (Mb) of
configuration bitstream.
1
1
Arria II devices only support remote system upgrade in the single device fast AS
configuration scheme. Because the largest serial configuration device currently
supports 128 Mb of configuration bitstream, the remote system upgrade feature is not
supported in EP2AGZ300, EP2AGZ350, and larger devices.
The remote system upgrade feature is not supported in a multi-device chain.
Functional Description
The dedicated remote system upgrade circuitry in Arria II devices manages remote
configuration and provides error detection, recovery, and status information. User
logic or a Nios II processor implemented in the Arria II device logic array provides
access to the remote configuration data source and an interface to the system’s
configuration memory.
Arria II devices have remote system upgrade processes that involve the following
steps:
1. A Nios II processor (or user logic) implemented in the Arria II device logic array
receives new configuration data from a remote location. The connection to the
remote source uses a communication protocol such as TCP/IP, PCI, user datagram
protocol (UDP), UART, or a proprietary interface.
2. The Nios II processor (or user logic) stores this new configuration data in
non-volatile configuration memory.
3. The Nios II processor (or user logic) starts a reconfiguration cycle with the new or
updated configuration data.
4. The dedicated remote system upgrade circuitry detects and recovers from any
error(s) that might occur during or after the reconfiguration cycle and provides
error status information to the user design.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–50
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Remote System Upgrades
Figure 9–21 shows the steps required for performing remote configuration updates.
(The numbers in Figure 9–21 coincide with the steps just mentioned.)
Figure 9–21. Functional Diagram of Arria II Remote System Upgrade
2
1
3
Data
Data
Configuration
Memory
Development
Location
Arria II Device
Control Module
Data
Arria II Configuration
4
1
Arria II devices only support remote system upgrade in the single device AS
configuration scheme.
Figure 9–22 shows a block diagram for implementing a remote system upgrade with
the Arria II configuration scheme.
Figure 9–22. Remote System Upgrade Block Diagram for Arria II Configuration Scheme (Note 1)
Arria II Device
Nios II Processor
or User Logic
Serial
Configuration
Device
Note to Figure 9–22:
(1) Arria II GX devices use the AS configuration scheme while Arria II GZ devices use the fast AS configuration scheme.
You must set the mode select MSEL[3..0]pins to AS mode to use the remote system
upgrade feature for Arria II GX devices and the MSEL[2..0]pins to fast AS mode to
use the remote system upgrade feature for Arria II GZ devices.
1
1
The MSELpin settings vary for different configuration voltage standards and POR
delays. To connect MSEL[3..0]for an Arria II GX device, refer to Table 9–6 on
page 9–9. To connect MSEL[2..0]for an Arria II GZ device, refer to Table 9–7 on
page 9–10.
When using AS mode, you must select remote update mode in the Quartus II
software and insert the ALTREMOTE_UPDATE megafunction to access the circuitry.
For more information, refer to “ALTREMOTE_UPDATE Megafunction” on page 9–60.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–51
Remote System Upgrades
Enabling Remote Update
You can enable remote update for Arria II devices in the Quartus II software before
design compilation (in the Compiler Settings menu). In remote update mode, the
auto-restart configuration after error option is always enabled. To enable remote
update in the project’s compiler settings, follow these steps:
1. On the Assignment menu, click Device. The Settings dialog box appears.
2. Click Device and Pin Options. The Device and Pin Options dialog box appears.
3. Click the Configuration tab.
4. From the Configuration scheme list, select Active Serial (you can also use
Configuration Device) (Figure 9–23).
5. From the Configuration Mode list, select Remote (Figure 9–23).
6. Click OK.
7. In the Settings dialog box, click OK.
Figure 9–23. Enabling Remote Update in the Compiler Settings Menu for Arria II Devices
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–52
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Remote System Upgrade Mode
Configuration Image Types
When performing a remote system upgrade, Arria II device configuration bitstreams
are classified as factory configuration images or application configuration images. An
image, also referred to as a configuration, is a design loaded into the Arria II device
that performs certain user-defined functions.
Each Arria II device in your system requires one factory image or the addition of one
or more application images. The factory image is a user-defined fall-back, or safe
configuration, and is responsible for administering remote updates in conjunction
with the dedicated circuitry. Application images implement user-defined
functionality in the target Arria II device. You may include the default application
image functionality in the factory image.
A remote system upgrade involves storing a new application configuration image or
updating an existing one using the remote communication interface. After an
application configuration image is stored or updated remotely, the user design in the
Arria II device starts a reconfiguration cycle with the new image. Any errors during
or after this cycle are detected by the dedicated remote system upgrade circuitry and
cause the device to automatically revert to the factory image. The factory image then
performs error processing and recovery. The factory configuration is written to the
serial configuration device only once by the system manufacturer and must not be
remotely updated. On the other hand, application configurations may be remotely
updated in the system. Both images can begin system reconfiguration.
Remote System Upgrade Mode
Remote system upgrade has only one mode of operation—remote update mode.
Remote update mode allows you to determine the functionality of your system after
power-up and offers several features.
Remote Update Mode
In remote update mode, Arria II devices load the factory configuration image after
power up. The user-defined factory configuration determines which application
configuration is to be loaded and triggers a reconfiguration cycle. The factory
configuration may also contain application logic.
When used with serial configuration devices, remote update mode allows an
application configuration to start at any flash sector boundary. For example, this
translates to a maximum of 128 sectors in the EPCS64 device and 32 sectors in the
EPCS16 device. Altera recommends not using the same page in the serial
configuration devices for two images. Additionally, remote update mode features a
user watchdog timer that determines the validity of an application configuration.
When an Arria II device is first powered up in remote update mode, it loads the
factory configuration located at page zero (page registers PGM[23..0]=24'b0).
Always store the factory configuration image for your system at page address zero.
This corresponds to the start address location 0×000000 in the serial configuration
device.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–53
Remote System Upgrade Mode
The factory image is user-designed and contains soft logic to:
■
Process any errors based on status information from the dedicated remote system
upgrade circuitry
■
Communicate with the remote host and receive new application configurations
and store this new configuration data in the local non-volatile memory device
■
■
■
Determine which application configuration is to be loaded into the Arria II device
Enable or disable the user watchdog timer and load its time-out value (optional)
Instruct the dedicated remote system upgrade circuitry to start a reconfiguration
cycle
Figure 9–24 shows the transitions between the factory and the application
configurations in remote update mode.
Figure 9–24. Transitions between Configurations in Remote Update Mode
Configuration Error
Application 1
Configuration
Set Control Register
and Reconfigure
Power Up
Reload a
Different Application
Factory
Configuration
Configuration
Error
(page 0)
Reload a
Different Application
Application n
Configuration
Set Control Register
and Reconfigure
Configuration Error
After power up or a configuration error, the factory configuration logic is loaded
automatically. The factory configuration also specifies whether to enable the user
watchdog timer for the application configuration and if enabled, to include the timer
setting information.
The user watchdog timer ensures that the application configuration is valid and
functional. The timer must be continually reset in a specific amount of time during
user mode operation of an application configuration. Only valid application
configurations contain the logic to reset the timer in user mode. This timer reset logic
must be part of a user-designed hardware and/or software health monitoring signal
that indicates error-free system operation. If the timer is not reset in a specific amount
of time; for example, the user application configuration detects a functional problem
or if the system hangs, the dedicated circuitry updates the remote system upgrade
status register, triggering the loading of the factory configuration.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–54
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Remote System Upgrade Mode
1
The user watchdog timer is automatically disabled for factory configurations. For
more information about the user watchdog timer, refer to “User Watchdog Timer” on
page 9–59.
If there is an error while loading the application configuration, the cause of the
reconfiguration is written by the dedicated circuitry to the remote system upgrade
status register. Actions that cause the remote system upgrade status register to be
written are:
■
■
■
■
nSTATUSdriven low externally
Internal CRC error
User watchdog timer time-out
A configuration reset (logic array nCONFIGsignal or external nCONFIGpin assertion
to low)
Arria II devices automatically load the factory configuration located at page address
zero. This user-designed factory configuration can read the remote system upgrade
status register to determine the reason for the reconfiguration. The factory
configuration then takes the appropriate error recovery steps and writes to the remote
system upgrade control register to determine the next application configuration to be
loaded.
When Arria II devices successfully load the application configuration, they enter into
user mode. In user mode, the soft logic (a Nios II processor or state machine and the
remote communication interface) assists the Arria II device in determining when a
remote system update is arriving. When a remote system update arrives, the soft logic
receives the incoming data, writes it to the configuration memory device, and triggers
the device to load the factory configuration. The factory configuration reads the
remote system upgrade status register and control register, determines the valid
application configuration to load, writes the remote system upgrade control register
accordingly, and initiates system reconfiguration.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–55
Dedicated Remote System Upgrade Circuitry
Dedicated Remote System Upgrade Circuitry
This section describes the implementation of the Arria II remote system upgrade
dedicated circuitry.
The remote system upgrade circuitry is implemented in hard logic. This dedicated
circuitry interfaces with the user-defined factory and application configurations
implemented in the Arria II device logic array to provide the complete remote
configuration solution. The remote system upgrade circuitry contains the remote
system upgrade registers, a watchdog timer, and a state machine that controls those
components.
Figure 9–25 shows the datapath of the remote system upgrade block.
Figure 9–25. Remote System Upgrade Circuit Data Path (Note 1)
Internal Oscillator
Status Register (SR)
[4..0]
Control Register
[37..0]
Logic Array
Update Register
[37..0]
update
Shift Register
din dout
RSU
State
Machine
User
Watchdog
Timer
time-out
dout
din
Bit [4..0]
Bit [37..0]
capture
capture
clkout capture update
Logic Array
clkin
RU_DOUT
RU_SHIFTnLD
RU_CAPTnUPDT
RU_CLK RU_DIN RU_nCONFIG
RU_nRSTIMER
Logic Array
Note to Figure 9–25:
(1) The RU_DOUT
,
RU_SHIFTnLD
ALTREMOTE_UPDATE megafunction.
,
RU_CAPTnUPDT
,
RU_CLK
,
RU_DIN
,
RU_nCONFIG, and RU_nRSTIMERsignals are internally controlled by the
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–56
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Dedicated Remote System Upgrade Circuitry
Remote System Upgrade Registers
The remote system upgrade block contains a series of registers that store the page
addresses, watchdog timer settings, and status information. Table 9–19 lists these
registers.
Table 9–19. Remote System Upgrade Registers
Register
Description
This register is accessible by the logic array and allows the update, status, and control registers to be
written and sampled by user logic.
Shift
This register contains the current page address, user watchdog timer settings, and one bit specifying
whether the current configuration is a factory configuration or an application configuration. During a read
operation in an application configuration, this register is read into the shift register. When a
reconfiguration cycle is initiated, the contents of the update register are written into the control register.
Control
This register contains data similar to that in the control register. However, it can only be updated by the
factory configuration by shifting data into the shift register and issuing an update operation. When a
reconfiguration cycle is triggered by the factory configuration, the control register is updated with the
contents of the update register. During a capture in a factory configuration, this register is read into the
shift register.
Update
Status
This register is written to by the remote system upgrade circuitry on every reconfiguration to record the
cause of the reconfiguration. This information is used by the factory configuration to determine the
appropriate action following a reconfiguration. During a capture cycle, this register is read into the shift
register.
The remote system upgrade control and status registers are clocked by the 10-MHz
internal oscillator (the same oscillator that controls the user watchdog timer).
However, the remote system upgrade shift and update registers are clocked by the
user clock input (RU_CLK).
Remote System Upgrade Control Register
The remote system upgrade control register stores the application configuration page
address and user watchdog timer settings. The control register functionality depends
on the remote system upgrade mode selection. In remote update mode, the control
register page address bits are set to all zeros (24'b0=0×000000) at power up to load
the factory configuration. A factory configuration in remote update mode has write
access to this register.
The control register bit positions are shown in Figure 9–26 and listed in Table 9–20. In
the figure, the numbers show the bit position of a setting within a register. For
example, bit number 25 is the enable bit for the watchdog timer.
Figure 9–26. Remote System Upgrade Control Register
37 36 35 34 33 32 31 30 29 28 27 26
Wd_timer[11..0]
25
24 23 22 ..
3
2
1
0
Wd_en
AnF
PGM[23..0]
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–57
Dedicated Remote System Upgrade Circuitry
The application-not-factory (AnF) bit indicates whether the current configuration
loaded in the Arria II device is the factory configuration or an application
configuration. This bit is set low by the remote system upgrade circuitry when an
error condition causes a fall-back to the factory configuration. When the AnFbit is
high, the control register access is limited to read operations. When the AnFbit is low,
the register allows write operations and disables the watchdog timer.
In remote update mode, the factory configuration design sets this bit high (1'b1) when
updating the contents of the update register with the application page address and
watchdog timer settings.
Table 9–20 lists the remote system upgrade control register contents.
Table 9–20. Remote System Upgrade Control Register Contents
Remote System
Upgrade Mode
Control Register Bit
AnF (2)
Value (1)
1'b0
Definition
Remote update
Remote update
Remote update
Application not factory
AS configuration start address
StAdd[23..0])
PGM[23..0]
Wd_en
24'b0×000000
1'b0
(
User watchdog timer enable bit
User watchdog time-out value (most
significant 12 bits of 29-bit count
value: {Wd_timer[11..0],
Wd_timer[11..0]
Remote update
12'b000000000000
17'b0}
)
Notes to Table 9–20:
(1) This is the default value of the control register bit.
(2) In remote update mode, the remote configuration block does not update the AnFbit automatically (you can update it manually).
Remote System Upgrade Status Register
The remote system upgrade status register specifies the reconfiguration trigger
condition. The various trigger and error conditions include:
■
■
■
Cyclic redundancy check (CRC) error during application configuration
nSTATUSassertion by an external device due to an error
Arria II device logic array triggered a reconfiguration cycle, possibly after
downloading a new application configuration image
■
■
External configuration reset (nCONFIG) assertion
User watchdog timer time-out
The contents of the status register are shown in Figure 9–27 and listed in Table 9–21.
The numbers in the figure show the bit positions within a 5-bit register.
Figure 9–27. Remote System Upgrade Status Register
4
3
2
1
0
Wd nCONFIG Core_nCONFIG nSTATUS CRC
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–58
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Dedicated Remote System Upgrade Circuitry
Table 9–21 lists the status register contents for remote system upgrade.
Table 9–21. Remote System Upgrade Status Register Contents
Status Register Bit
CRC(from the configuration)
nSTATUS
Definition
POR Reset Value
1 bit '0'
CRCerror caused reconfiguration
nSTATUScaused reconfiguration
Device logic array caused reconfiguration
nCONFIGcaused reconfiguration
Watchdog timer caused reconfiguration
1 bit '0'
CORE_nCONFIG (1)
nCONFIG
1 bit '0'
1 bit '0'
Wd
1 bit '0'
Note to Table 9–21:
(1) Logic array reconfiguration forces the system to load the application configuration data into the Arria II device. This
occurs after the factory configuration specifies the appropriate application configuration page address by updating
the update register.
Remote System Upgrade State Machine
The remote system upgrade control and update registers have identical bit
definitions, but serve different roles (refer to Figure 9–26 on page 9–56). While both
registers can only be updated when the device is loaded with a factory configuration
image, the update register writes are controlled by the user logic; the control register
writes are controlled by the remote system upgrade state machine.
In factory configurations, the user logic sends the AnFbit (set high), the page address,
and the watchdog timer settings for the next application configuration bit to the
update register. When the logic array configuration reset (RU_nCONFIG) goes low, the
remote system upgrade state machine updates the control register with the contents
of the update register and starts system reconfiguration from the new application
page.
1
To ensure successful reconfiguration between the pages, assert the RU_nCONFIGsignal
for a minimum of 250 ns. This is equivalent to strobing the reconfiginput of the
ALTREMOTE_UPDATE megafunction high for a minimum of 250 ns.
In the event of an error or reconfiguration trigger condition, the remote system
upgrade state machine directs the system to load a factory or application
configuration (page zero or page one, based on the mode and error condition) by
setting the control register accordingly. Table 9–22 lists the contents of the control
register after such an event occurs for all possible error or trigger conditions.
The remote system upgrade status register is updated by the dedicated error
monitoring circuitry after an error condition but before the factory configuration is
loaded.
Table 9–22. Control Register Contents after an Error or Reconfiguration Trigger Condition
(Part 1 of 2)
Reconfiguration Error/Trigger
nCONFIGreset
Control Register Setting Remote Update
All bits are 0
nSTATUSerror
All bits are 0
COREtriggered reconfiguration
Update register
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–59
Dedicated Remote System Upgrade Circuitry
Table 9–22. Control Register Contents after an Error or Reconfiguration Trigger Condition
(Part 2 of 2)
Reconfiguration Error/Trigger
Control Register Setting Remote Update
All bits are 0
CRCerror
Wdtime out
All bits are 0
Capture operations during factory configuration access the contents of the update
register. This feature is used by the user logic to verify that the page address and
watchdog timer settings were written correctly. Read operations in application
configurations access the contents of the control register. This information is used by
the user logic in the application configuration.
User Watchdog Timer
The user watchdog timer prevents a faulty application configuration from stalling the
device indefinitely. The system uses the timer to detect functional errors after an
application configuration is successfully loaded into the Arria II device.
1
To allow the remote system upgrade dedicated circuitry to reset the watchdog timer,
you must assert the RU_nRSTIMERsignal active for a minimum of 250 ns. This is
equivalent to strobing the reset_timerinput of the ALTREMOTE_UPDATE
megafunction high for a minimum of 250 ns.
The user watchdog timer is a counter that counts down from the initial value loaded
into the remote system upgrade control register by the factory configuration. The
counter is 29 bits wide and has a maximum count value of 229. When specifying the
user watchdog timer value, specify only the most significant 12 bits. The granularity
of the timer setting is 21 cycles. The cycle time is based on the frequency of the
7
10-MHz internal oscillator. Table 9–23 lists the operating range of the 10-MHz internal
oscillator.
Table 9–23. 10-MHz Internal Oscillator Specifications
Minimum
Typical
Maximum
Units
4.3
5.3
10
MHz
The user watchdog timer begins counting after the application configuration enters
device user mode. This timer must be periodically reloaded or reset by the application
configuration before the timer expires by asserting RU_nRSTIMER. If the application
configuration does not reload the user watchdog timer before the count expires, a
time-out signal is generated by the remote system upgrade dedicated circuitry. The
time-out signal tells the remote system upgrade circuitry to set the user watchdog
timer status bit (Wd) in the remote system upgrade status register and reconfigures the
device by loading the factory configuration.
During the configuration cycle of the device, the user watchdog timer is not enabled.
Errors during configuration are detected by the CRC engine. Also, the timer is
disabled for factory configurations. Functional errors should not exist in the factory
configuration because it is stored and validated during production and is never
updated remotely.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–60
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Quartus II Software Support
1
The user watchdog timer is disabled in factory configurations and during the
configuration cycle of the application configuration. It is enabled after the application
configuration enters user mode.
Quartus II Software Support
The Quartus II software provides the flexibility to include the remote system upgrade
interface between the Arria II device logic array and the dedicated circuitry, generates
configuration files for production, and allows remote programming of the system
configuration memory.
Use the ALTREMOTE_UPDATE megafunction option in the Quartus II software as
the interface between the remote system upgrade circuitry and the device logic array
interface. Using the megafunction block instead of creating your own logic saves
design time and offers more efficient logic synthesis and device implementation.
ALTREMOTE_UPDATE Megafunction
The ALTREMOTE_UPDATE megafunction provides a memory-like interface to the
remote system upgrade circuitry and handles the shift register read and write
protocol in the Arria II device logic. This implementation is suitable for designs that
implement the factory configuration functions using a Nios II processor or user logic
in the device.
Figure 9–28 shows the interface signals between the ALTREMOTE_UPDATE
megafunction and Nios II processor or user logic.
Figure 9–28. Interface Signals between the ALTREMOTE_UPDATE Megafunction and the Nios II Processor
ALTREMOTE_UPDATE
read_param
write_param
param[2..0]
data_in[23..0]
Nios II Processor or
User Logic
reconfig
reset_timer
clock
reset
busy
data_out[23..0]
f
For more information about the ALTREMOTE_UPDATE megafunction and the
description of ports listed in Figure 9–28, refer to the Remote Update Circuitry
(ALTREMOTE_UPDATE) Megafunction User Guide.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–61
Design Security
Design Security
This section provides an overview of the design security features and their
implementation on Arria II devices using AES. It also covers the new security modes
available in Arria II devices.
As Arria II devices continue to play roles in larger and more critical designs in
competitive commercial and military environments, it is increasingly important to
protect your designs from copying, reverse engineering, and tampering.
Arria II devices address these concerns with both volatile and non-volatile security
feature support. Arria II devices have the ability to decrypt configuration bitstreams
using the AES algorithm, an industry-standard encryption algorithm that is FIPS-197
certified. Arria II devices have a design security feature which uses a 256-bit security
key.
Arria II devices store configuration data in SRAM configuration cells during device
operation. Because SRAM memory is volatile, the SRAM cells must be loaded with
configuration data each time the device powers up. It is possible to intercept
configuration data when it is being transmitted from the memory source (flash
memory or a configuration device) to the device. The intercepted configuration data
could then be used to configure another device.
When using the Arria II design security feature, the security key is stored in the
Arria II device. Depending on the security mode, you can configure the Arria II
device using a configuration file that is encrypted with the same key, or for board
testing, configured with a normal configuration file.
The design security feature is available when configuring Arria II devices using FPP
configuration mode with an external host (such as a MAX II device or
microprocessor), or when using AS, fast AS, or PS configuration schemes. The design
security feature is also available in remote update mode with AS and fast AS
configuration mode.
1
1
The design security feature is not available when you are configuring your Arria II
device using JTAG-based configuration. For more information, refer to “Supported
Configuration Schemes” on page 9–66.
When using a serial configuration scheme such as AS, fast AS, or PS, configuration
time is the same whether or not you enable the design security feature. If you use the
FPP scheme with the design security or decompression feature, a x4 DCLKis required.
This results in a slower configuration time when compared with the configuration
time of an Arria II device that has neither the design security nor the decompression
feature enabled.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–62
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Design Security
Arria II Security Protection
Arria II device designs are protected from copying, reverse engineering, and
tampering using configuration bitstream encryption.
Security Against Copying
The security key is securely stored in the Arria II device and cannot be read out
through any interface. In addition, as configuration file read-back is not supported in
Arria II devices, your design information cannot be copied.
Security Against Reverse Engineering
Reverse engineering from an encrypted configuration file is very difficult and time
consuming because the Arria II configuration file formats are proprietary and the file
contains millions of bits which require specific decryption. Reverse engineering the
Arria II device is just as difficult because the device is manufactured on the most
advanced 40-nm process technology.
Security Against Tampering
After the Tamper Protection bit is set in the key programming file generated by the
Quartus II software, the Arria II device can only be configured with configuration
files encrypted with the same key. Tampering is prevented using both volatile and
non-volatile keys.
AES Decryption Block
The main purpose of the AES decryption block is to decrypt the configuration
bitstream prior to entering data decompression or configuration.
Prior to receiving encrypted data, you must enter and store the 256-bit security key in
the device. You can choose between a non-volatile security key and a volatile security
key with battery backup.
The security key is scrambled prior to storing it in the key storage to make it more
difficult for anyone to retrieve the stored key using de-capsulation of the device.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–63
Design Security
Flexible Security Key Storage
Arria II devices support two types of security key programming—volatile and
non-volatile keys. Table 9–24 lists the differences between volatile keys and
non-volatile keys.
Table 9–24. Security Key Options
Options
Key programmability
External battery
Volatile Key
Non-Volatile Key
Reprogrammable and erasable One-time programmable
Required
Not required
Key programming method (1) On-board
On and off board
Secure against copying and
reverse engineering.
Secure against copying and
reverse engineering.
Design protection
Tamper resistant if volatile
Tamper resistant if tamper
tamper protection bit is set. (2) protection bit is set.
Notes to Table 9–24:
(1) Key programming is carried out using the JTAG interface.
(2) Arria II GZ devices do not support this feature.
You can program the non-volatile key to the Arria II device without an external
battery. Also, there are no additional requirements of any of the Arria II power supply
inputs.
VCCBAT is a dedicated power supply for volatile key storage and not shared with other
on-chip power supplies, such as VCCIO or VCC. VCCBAT continuously supplies power to
the volatile register regardless of the on-chip supply condition.
1
For Arria II GX devices, after power up, wait 100 ms (standard POR delay) or 4 ms
(fast POR delay) before beginning key programming to ensure that VCCBAT is at full
rail. For Arria II GZ devices, after power up, wait 300 ms (PORSEL= 0) or 12 ms
(
PORSEL= 1) before beginning key programming to ensure that VCCBAT is at full rail.
f
f
f
For more information about how to calculate the key retention time of the battery
used for volatile key storage, refer to the Arria II GX PowerPlay Early Power Estimator.
For more information about battery specifications, refer to the Device Datasheet for
Arria II Devices chapter.
For more information about the VCCBATpin connection recommendations, refer to
Arria II Device Family Pin Connection Guidelines.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–64
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Design Security
Arria II Design Security Solution
Arria II devices are SRAM-based devices. To provide design security, Arria II devices
require a 256-bit security key for configuration bitstream encryption.
To carry out secure configuration, follow these steps (refer to Figure 9–29):
1. Program the security key into the Arria II device.
Program the user-defined 256-bit AES keys to the Arria II device through the JTAG
interface.
2. Encrypt the configuration file and store it in the external memory.
Encrypt the configuration file with the same 256-bit keys used to program the
Arria II device. Encryption of the configuration file is done using the Quartus II
software. The encrypted configuration file is then loaded into the external
memory, such as a configuration or flash device.
3. Configure the Arria II device.
At system power-up, the external memory device sends the encrypted configuration
file to the Arria II device.
Figure 9–29. Design Security (Note 1)
Arria II FPGA
User-Defined
Step 1
Key Storage
AES Key
AES
Decryption
Step 3
Memory or
Encrypted
Step 2
Configuration
Device
Configuration
File
Note to Figure 9–29:
(1) Step 1, Step 2, and Step 3 correspond to the procedure described in “Design Security” on page 9–61.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–65
Design Security
Security Modes Available
The following security modes are available on the Arria II device:
Volatile Key
Secure operation with volatile key programmed and required external battery—this
mode accepts both encrypted and unencrypted configuration bitstreams. Use the
unencrypted configuration bitstream support for board-level testing only.
Non-Volatile Key
Secure operation with one-time-programmable (OTP) security key
programmed—this mode accepts both encrypted and unencrypted configuration
bitstreams. Use the unencrypted configuration bitstream support for board-level
testing only.
Volatile Key with Tamper Protection Bit Set
1
1
Arria II GZ devices do not support this feature.
Secure operation in tamper resistant mode with volatile security key
programmed—only encrypted configuration bitstreams are allowed to configure the
device. Tamper protection disables JTAG configuration with unencrypted
configuration bitstream.
Enabling the Tamper Protection bit disables the test mode in Arria II devices. This
process is irreversible and prevents Altera from carry-out failure analysis. Contact
Altera Technical Support to enable the tamper protection bit.
Non-Volatile Key with Tamper Protection Bit Set
Secure operation in tamper resistant mode with OTP security key
programmed—only encrypted configuration bitstreams are allowed to configure the
device. Tamper protection disables JTAG configuration with unencrypted
configuration bitstream.
1
Enabling the Tamper Protection bit disables the test mode in Arria II devices. This
process is irreversible and prevents Altera from carry-out failure analysis. Contact
Altera Technical Support to enable the tamper protection bit.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–66
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Design Security
No Key Operation
Only unencrypted configuration bitstreams are allowed to configure the device.
Table 9–25 lists the different security modes and configuration bitstream supported
for each mode.
Table 9–25. Security Modes Supported
Mode (1)
Function
Secure
Configuration File
Encrypted
Volatile key
Board-level testing
Secure
Unencrypted
Encrypted
Non-volatile key
Board-level testing
Unencrypted
Secure (tamper resistant)
Volatile key with tamper protection bit set (2)
Encrypted
Encrypted
(3)
Secure (tamper resistant)
Non-volatile key with tamper protection bit set
(3)
Notes to Table 9–25:
(1) In No key operation, only the unencrypted configuration file is supported.
(2) Arria II GZ devices do not support this feature.
(3) The tamper protection bit setting does not prevent the device from being reconfigured.
Supported Configuration Schemes
The Arria II device supports only selected configuration schemes, depending on the
security mode you select when you encrypt the Arria II device.
Figure 9–30 shows the restrictions of each security mode when encrypting Arria II
devices.
Figure 9–30. Arria II Security Modes—Sequence and Restrictions
No Key
Volatile Key
Non-Volatile Key
Unencrypted
Configuration File
Unencrypted or
Encrypted
Unencrypted or
Encrypted
Configuration File
Configuration File
Non-Volatile Key
with
Tamper-Protection
Bit Set
Volatile Key with
Tamper-Protection
Bit Set (1)
Encrypted
Encrypted
Configuration File
Configuration File
(2)
Notes to Figure 9–30:
(1) Arria II GZ devices do not support this feature.
(2) Arria II devices do not accept encrypted configuration files if the volatile key is erased. If the volatile key is erased, you must use the volatile key
without the tamper-protection bit set to reprogram the key.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–67
Design Security
Table 9–26 lists the configuration modes allowed in each of the security modes.
Table 9–26. Allowed Configuration Modes for Various Security Modes (Note 1)
Configuration
Security Mode
Allowed Configuration Modes
All configuration modes that do not engage the design security feature.
File
No key
Unencrypted
■ PS with AES (and/or with decompression)
■ FPP with AES (and/or with decompression)
Secure with volatile key
Encrypted
■ Remote update AS or fast AS with AES (and/or with decompression)
■ AS or fast AS (and/or with decompression)
Board-level testing with
volatile key
Unencrypted
Encrypted
All configuration modes that do not engage the design security feature.
■ PS with AES (and/or with decompression)
■ FPP with AES (and/or with decompression)
Secure with non-volatile key
■ Remote update AS or fast AS with AES (and/or with decompression)
■ AS or fast AS (and/or with decompression)
Board-level testing with
non-volatile key
Unencrypted
Encrypted
All configuration modes that do not engage the design security feature.
■ PS with AES (and/or with decompression)
Secure in tamper resistant
mode using volatile or
non-volatile key with tamper
protection set
■ FPP with AES (and/or with decompression)
■ Remote update AS or fast AS with AES (and/or with decompression)
■ AS or fast AS (and/or with decompression)
Note to Table 9–26:
(1) There is no impact to the configuration time required when compared with unencrypted configuration modes except when using FPP with AES
(and/or decompression), which requires DCLKthat is x4 the data rate.
1
The design security feature is available in all configuration methods except JTAG.
Therefore, you can use the design security feature in FPP mode (when using an
external controller, such as a MAX II device or a microprocessor and flash memory),
or in AS, fast AS, and PS configuration schemes.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–68
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Design Security
Table 9–27 lists the configuration schemes that support the design security feature
both for volatile key and non-volatile key programming.
Table 9–27. Design Security Configuration Schemes Availability
Design
Configuration Scheme
Configuration Method
Security
v (1)
v
FPP
MAX II device or microprocessor and flash memory
Serial configuration device
AS
Fast AS
Serial configuration device
v
MAX II device or microprocessor and flash memory
Download cable
v
PS
v
MAX II device or microprocessor and flash memory
Download cable
—
JTAG (2)
—
Notes to Table 9–27:
(1) In this mode, the host system must send a DCLKthat is x4 the data rate.
(2) JTAG configuration supports only unencrypted configuration file.
You can use the design security feature with other configuration features, such as the
compression and remote system upgrade features. When you use compression with
the design security feature, the configuration file is first compressed and then
encrypted using the Quartus II software. During configuration, the Arria II device
first decrypts and then decompresses the configuration file.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
9–69
Document Revision History
Document Revision History
Table 9–28 lists the revision history for this chapter.
Table 9–28. Document Revision History
Date
Version
Changes Made
■ Updated “FPP Configuration Using a MAX II Device as an External Host” section.
July 2012
4.3
■ Added pull-up resistor to nCONFIGin Figure 9–1, Figure 9–2, Figure 9–3,
Figure 9–10, Figure 9–11, and Figure 9–12.
■ Updated Table 9–8, Table 9–9, Table 9–10, and Table 9–12.
■ Updated Figure 9–16 and Figure 9–17.
December 2011
4.2
■ Updated “Configuration” and “FPP Configuration Using a MAX II Device as an
External Host” sections.
■ Minor text edits.
■ Updated Table 9–9, Table 9–10, Table 9–12, Table 9–18, and Table 9–23.
■ Updated the “Programming Serial Configuration Devices” and “Configuration Data
Decompression” sections.
June 2011
4.1
4.0
■ Removed references to the “ByteBlaster MV” and “MasterBlaster” cables as they are
discontinued.
■ Minor text edits.
■ Updated for the Quartus II software version 10.1 release.
■ Added Arria II GZ devices information.
■ Minor text edits.
December 2010
Updated for Arria II GX v10.0 release:
■ Updated Table 9–9 and Table 9–17.
■ Updated Figure 9–4, Figure 9–5, Figure 9–13, Figure 9–16, Figure 9–17,
Figure 9–21, and Figure 9–30.
July 2010
3.0
■ Updated “AS and Fast AS Configuration (Serial Configuration Devices)” and “Flexible
Security Key Storage” sections.
■ Added “Guidelines for Connecting Serial Configuration Device to Arria II Devices on
an Active Serial Interface” section.
■ Minor text edits.
Updated for Arria II GX v9.1 release:
■ Updated Table 9–3, Table 9–10, Table 9–11, Table 9–13.
■ Updated Figure 9–2, Figure 9–3, and Figure 9–6.
November 2009
2.0
■ Updated “VCCPD Pins”, “JTAG Configuration”, “Remote System Upgrade Mode”,
“Remote System Upgrade State Machine”, “User Watchdog Timer” sections.
■ Minor text edits.
■ Updated Table 9–2, Table 9–3, Table 9–9, Table 9–10, Table 9–19, and Table 9–21.
■ Updated Figure 9–6, Figure 9–11, and Figure 9–16.
■ Updated “VCCIO Pins for I/O Banks 3C and 8C”, “FPP Configuration Using an
June 2009
1.1
1.0
External Host”, and “Programming Serial Configuration Devices” sections.
■ Removed “Volatite or Non-Volatile Key with JTAG Anti-Tamper Protection Bit Set”
section.
February 2009
Initial release.
July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
9–70
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Document Revision History
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012 Altera Corporation
10. SEU Mitigation in Arria II Devices
February 2014
AIIGX51010-4.3
AIIGX51010-4.3
This chapter describes how to activate and use the error detection cyclic redundancy
check (CRC) feature when your Arria® II device is in user mode and how to recover
from configuration errors caused by CRC errors.
In critical applications such as avionics, telecommunications, system control, and
military applications, it is important to be able to do the following:
■
■
Confirm that the configuration data stored in an Arria II device is correct.
Alert the system to the occurrence of a configuration error.
1
The error detection CRC feature is provided in the Quartus® II software starting with
version 9.1 for Arria II GX devices and version 10.1 for Arria II GZ devices.
Using the error detection CRC feature on Arria II devices has no impact on fitting or
performance.
f
For more information about the CRC feature, refer to AN 539: Test Methodology of Error
Detection and Recovery using CRC in Altera FPGA Devices.
This chapter contains the following sections:
■
■
■
■
■
■
■
■
“Error Detection Fundamentals”
“Configuration Error Detection” on page 10–2
“User Mode Error Detection” on page 10–2
“Error Detection Pin Description” on page 10–5
“Error Detection Block” on page 10–5
“Error Detection Timing” on page 10–7
“Software Support” on page 10–9
“Recovering From CRC Errors” on page 10–10
Error Detection Fundamentals
Error detection determines if the data received through a medium is corrupted during
transmission. To accomplish this, the transmitter uses a function to calculate a
checksum value for the data and appends the checksum to the original data frame.
The receiver uses the function to calculate a checksum for the received data frame and
compares the received checksum to the transmitted checksum. If the two checksum
values are equal, the received data frame is correct and no data corruption occurred
during transmission or storage.
The error detection CRC feature uses the same concept. When Arria II devices are
successfully configured and in user mode, the error detection CRC feature ensures the
integrity of the configuration data.
© 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
Subscribe
10–2
Chapter 10: SEU Mitigation in Arria II Devices
Configuration Error Detection
Configuration Error Detection
In configuration mode, a frame-based CRC is stored in the configuration data and
contains the CRC value for each data frame.
During configuration, the Arria II device calculates the CRC value based on the frame
of data that is received and compares it against the frame CRC value in the data
stream. Configuration continues until either the device detects an error or
configuration is complete.
In Arria II devices, the CRC value is calculated during the configuration stage. A
parallel CRC engine generates 16 CRC check bits per frame and then stores them into
the configuration RAM. The configuration RAM chain used for storing CRC check
bits is 16 bits wide and its length is equal to the number of frames in the device.
User Mode Error Detection
Arria II devices have built-in error detection circuitry to detect data corruption by soft
errors in the configuration RAM cells. This feature allows all configuration RAM
contents to be read and verified to match a configuration-computed CRC value. Soft
errors are changes in a configuration RAM’s bit state due to an ionizing particle.
The error detection capability continuously calculates the CRC of the configured
configuration RAM bits and compares it with the pre-calculated CRC. If the CRCs
match, there is no error in the current configuration RAM bits. The process of error
detection continues until the device is reset by setting nCONFIG low.
To enable the error detection process when the device transitions into user mode, turn
on the Enable Error Detection CRC option on the Error Detection CRC page of the
Device and Pin Options dialog box in the Quartus II software.
A single 16-bit error detection CRC calculation is done on a per-frame basis. After the
error detection circuitry has finished the CRC calculation for a frame, the resulting
16-bit signature is hex 0000. If the error detection circuitry detects no configuration
RAM bit errors in a frame, the output signal CRC_ERROR is 0. If the circuitry detects a
configuration RAM bit error in a frame in the device, the resulting signature is
non-zero and the error detection circuitry starts searching for the error bit location.
The error detection circuitry in Arria II devices calculates CRC check bits for each
frame and pulls the CRC_ERROR pin high when it detects bit errors in the chip. Within a
frame, it can detect all single-bit, double-bit, and triple-bit errors. The probability of
more than three configuration RAM bits being flipped by a single event upset (SEU) is
very low. In general, the probability of detection for all error patterns is 99.998%.
The error detection circuitry reports the bit location and determines the type of error
for all single-bit errors and over 99.641% of double-adjacent errors. The probability of
other error patterns is very low and the reporting of bit location is not guaranteed.
You can also read the error bit location through the JTAG and the core interface.
Before the error detection circuitry detects the next error in another frame, you must
shift erroneous bits out from the error message register (EMR) with either the JTAG
instruction, SHIFT_EDERROR_REG, or the core interface. The CRC circuitry continues to
run, and if an error is detected, you must decide whether to complete the
reconfiguration or to ignore the CRC error.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
February 2014 Altera Corporation
Chapter 10: SEU Mitigation in Arria II Devices
10–3
User Mode Error Detection
1
For more information about the timing requirement to shift out error information
from the EMR, refer to “Error Detection Timing” on page 10–7.
The error detection circuitry continues to calculate the CRC_ERROR and 16-bit
signatures for the next frame of data regardless of whether an error has occurred in
the current frame or not. You must monitor the CRC_ERROR signal and take the
appropriate actions if a CRC error occurs.
The error detection circuitry in Arria II devices uses a 16-bit CRC-ANSI standard
(16-bit polynomial) as the CRC generator. The computed 16-bit CRC signature for
each frame is stored in the configuration RAM. The total storage size is 16 (number of
bits per frame) × the number of frames.
The CRC_ERROR signal is asserted if the error detection circuitry verification does not
match with the configuration-computed CRC value. However, the Arria II device
error detection CRC feature does not check the memory blocks and I/O buffers.
Therefore, the CRC_ERROR signal may stay solid high or low, depending on the error
status of the previously checked configuration RAM frame. The I/O buffers are not
verified during error detection because these bits use flipflops as storage elements
that are more resistant to soft errors when compared with configuration RAM cells.
MLAB and M9K memory blocks support parity bits that are used to check the
contents of the memory blocks for any error in Arria II GX devices. In addition to
MLAB and M9K memory blocks, M144K memory blocks are used to check the
contents of the memory blocks for any error in Arria II GZ devices.
f
1
For more information about error detection in Arria II memory blocks, refer to the
Memory Blocks in Arria II Devices chapter.
To provide testing capability of the error detection block, a JTAG instruction,
EDERROR_INJECT, is provided. This instruction is able to change the content of the
21-bit JTAG fault injection register used for error injection in Arria II devices, thereby
enabling the testing of the error detection block.
You can only execute the EDERROR_INJECT JTAG instruction when the device is in user
mode.
Table 10–1 lists the EDERROR_INJECT JTAG instruction for Arria II devices.
Table 10–1. EDERROR_INJECT JTAG Instruction for Arria II Devices
JTAG Instruction
Instruction Code
Description
This instruction controls the 21-bit JTAG fault
injection register used for error injection.
EDERROR_INJECT
00 0001 0101
You can create a Jam™ file (.jam) to automate the testing and verification process.
This allows you to verify the CRC functionality in-system and on-the-fly, without
having to reconfigure the device.
f
For more information about .jam, refer to AN 539: Test Methodology of Error Detection
and Recovery using CRC in Altera FPGA Devices.
February 2014 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
10–4
Chapter 10: SEU Mitigation in Arria II Devices
User Mode Error Detection
You can introduce a single error or double errors adjacent to each other to the
configuration memory. This provides an extra way to facilitate design verification and
system fault tolerance characterization. Use the JTAG fault injection register with the
EDERROR_INJECT JTAG instruction to flip the readback bits. The Arria II device is then
forced into error test mode. Altera recommends reconfiguring the device after the test
completes.
1
You can only introduce error injection in the first data frame, but you can monitor the
error information at any time. For more information about the JTAG fault injection
register and fault injection register, refer to “Error Detection Registers” on page 10–6.
Table 10–2 lists how the fault injection register is implemented and describes error
injection for Arria II devices.
Table 10–2. Fault Injection Register for Arria II Devices
Bit[20..19]
Bit[18..8]
Bit[7..0]
Description Error Type (1)
Error Injection Type
Bit[20] Bit[19]
Byte Location of the
Injected Error
Error Byte Value
0
1
1
0
Single error injection
Depicts the location of the
bit error and corresponds
to the error injection type
selection.
Depicts the location of the
injected error in the first
data frame.
Double-adjacent error injection
Content
0
0
No error injection
Note to Table 10–2:
(1) Bit[20] and Bit[19] cannot both be set to 1, as this is not a valid selection. The error detection circuitry decodes this as no error injection.
Automated Single Event Upset Detection
Arria II devices offer on-chip circuitry for automated SEU detection. Some
applications require the device to operate error-free in high-neutron flux
environments require periodic checks to ensure continued data integrity. The error
detection CRC feature ensures data reliability and is one of the best options for
mitigating SEU.
You can implement the error detection CRC feature with existing circuitry in Arria II
devices, eliminating the need for external logic. The CRC_ERROR pin reports a CRC
error when configuration RAM data is corrupted; you must decide whether to
reconfigure the device or to ignore the error.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
February 2014 Altera Corporation
Chapter 10: SEU Mitigation in Arria II Devices
10–5
Error Detection Pin Description
Error Detection Pin Description
Table 10–3 lists the CRC_ERROR pin description for Arria II devices.
Table 10–3. CRC_ERROR Pin Description for Arria II Devices
Pin Name
Pin Type
Description
Active high signal indicating that the error detection circuit has detected errors in the
configuration RAM bits. This is an optional pin and is used when you enable the error
detection CRC circuit. When you disable the error detection CRC circuit, it is a user I/O pin.
When using the WYSIWYG function, the CRC error output is a dedicated path to the
CRC_ERROR pin.
I/O or
output
open-drain
CRC_ERROR
To use the CRC_ERROR pin, you can tie this pin to VCCIO through a 10-k resistor.
Alternatively, depending on the input voltage specification of the system receiving the
signal, tie this pin to a different pull-up voltage.
Error Detection Block
The error detection block contains the logic necessary to calculate the 16-bit error
detection CRC signature for the configuration RAM bits in the Arria II device.
The CRC circuit continues running even if an error occurs. When a CRC error occurs,
the device sets the CRC_ERROR pin high. Table 10–4 lists the two types of CRC detection
that check the configuration bits for Arria II devices.
Table 10–4. Two Types of CRC Detection for Arria II Devices
User Mode CRC Detection
Configuration CRC Detection
■ This is the configuration RAM error checking ability
(16-bit error detection CRC) during user mode for use
by the CRC_ERROR pin.
■ This is the 16-bit configuration CRC that is embedded in
every configuration data frame.
■ During configuration, after a frame of data is loaded into the
Arria II device, the pre-computed configuration CRC is
shifted into the CRC circuitry.
■ For each frame of data, the pre-calculated 16-bit error
detection CRC enters the CRC circuit at the end of the
frame data and determines whether there is an error or
not.
■ At the same time, the configuration CRC value for the data
frame shifted-in is calculated. If the pre-computed
■ If an error occurs, the search engine finds the location
configuration CRC and calculated configuration CRC values
do not match, nSTATUS is set low. Every data frame has a
16-bit configuration CRC; therefore, there are many 16-bit
configuration CRC values for the whole configuration
bitstream as there are many data frames. Every device has
different lengths of the configuration data frame.
of the error.
■ The error messages can be shifted out through the
JTAG instruction or core interface logics while the
error detection block continues running.
■ The JTAG interface reads out the 16-bit error detection
CRC result for the first frame and also shifts the 16-bit
error detection CRC bits to the 16-bit error detection
CRC storage registers for test purposes.
■ You can deliberately introduce single error, double
errors, or double-adjacent errors to the configuration
memory for testing and design verification.
1
The “Error Detection Block” section focuses on the first type, the 16-bit CRC only,
when the device is in user mode.
February 2014 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
10–6
Chapter 10: SEU Mitigation in Arria II Devices
Error Detection Block
Error Detection Registers
There is one set of 16-bit registers in the error detection circuitry that stores the
computed CRC signature. A non-zero value on the syndrome register causes the
CRC_ERROR pin to be set high.
Figure 10–1 shows the block diagram of the error detection circuitry, syndrome
registers, and error injection block for Arria II devices.
Figure 10–1. Error Detection Circuitry, Syndrome Registers, and Error Injection Block for Arria II Devices
16-Bit CRC
Readback
Syndrome
Register
Calculation and Error
Search Engine
bitstream with
expected CRC
included
8
Error Detection
State Machine
Control Signals
30
16
Error Message
Register
CRC_ERROR
46
Error Injection Block
Fault Injection
Register
JTAG Update
Register
User Update
Register
JTAG Fault
Injection Register
JTAG Shift
Register
User Shift
Register
General Routing
JTAG TDO
Arria II Device Handbook Volume 1: Device Interfaces and Integration
February 2014 Altera Corporation
Chapter 10: SEU Mitigation in Arria II Devices
10–7
Error Detection Timing
Table 10–5 lists the registers shown in Figure 10–1.
Table 10–5. Error Detection Registers for Arria II Devices
Register
Description
This register contains the CRC signature of the current frame through the error detection
verification cycle. The CRC_ERROR signal is derived from the contents of this register.
Syndrome Register
This 46-bit register contains information on the error type, location of the error, and the actual
syndrome. The types of errors and location reported are single- and double-adjacent bit errors.
The location bits for other types of errors are not identified by the EMR. The content of the register
is shifted out through the SHIFT_EDERROR_REG JTAG instruction or to the core through the core
interface.
Error Message
Register
This register is automatically updated with the contents of the EMR one cycle after the 46-bit
register content is validated. It includes a clock enable, which must be asserted prior to being
JTAG Update Register sampled into the JTAG shift register. This requirement ensures that the JTAG Update Register is
not being written into by the contents of the EMR at the same time that the JTAG shift register is
reading its contents.
This register is automatically updated with the contents of the EMR one cycle after the 46-bit
register content is validated. It includes a clock enable, which must be asserted prior to being
sampled into the user shift register. This requirement ensures that the user update register is not
being written into by the contents of the EMR at the same time that the user shift register is
reading its contents.
User Update Register
This register is accessible by the JTAG interface and allows the contents of the JTAG update
register to be sampled and read out by SHIFT_EDERROR_REG JTAG instruction.
JTAG Shift Register
User Shift Register
This register is accessible by the core logic and allows the contents of the user update register to
be sampled and read by user logic.
JTAG Fault Injection
Register
This 21-bit register is fully controlled by the EDERROR_INJECT JTAG instruction. This register
holds the information of the error injection that you want in the bitstream.
The content of the JTAG fault injection register is loaded into this 21-bit register when it is
updated.
Fault Injection Register
Error Detection Timing
When you enable the error detection CRC feature through the Quartus II software, the
device automatically activates the CRC error detection process after entering user
mode, after configuration, and after initialization is complete.
If an error is detected within a frame, CRC_ERROR is driven high at the end of the error
location search, after the EMR is updated. At the end of this cycle, the CRC_ERROR pin is
pulled low for a minimum of 32 clock cycles. If the next frame contains an error,
CRC_ERROR is driven high again after the EMR is overwritten by the new value. You
can start to unload the error message on each rising edge of the CRC_ERROR pin. Error
detection runs until the device is reset.
The error detection circuitry runs off an internal configuration oscillator with a divisor
that sets the maximum frequency. Table 10–6 lists the minimum and maximum error
detection frequencies for Arria II devices.
Table 10–6. Minimum and Maximum Error Detection Frequencies for Arria II Devices
Error Detection
Frequency
Maximum Error
Detection Frequency
Minimum Error Detection
Device Type
Valid Divisors (n)
Frequency
n
Arria II
100 MHz / 2
50 MHz
390 kHz
1, 2, 3, 4, 5, 6, 7, 8
February 2014 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
10–8
Chapter 10: SEU Mitigation in Arria II Devices
Error Detection Timing
You can set a lower clock frequency by specifying a division factor in the Quartus II
software (refer to “Software Support” on page 10–9). The divisor is a power of two (2),
where n is between 1 and 8. The divisor ranges from 2 through 256 (refer to
Equation 10–1).
Equation 10–1.
100MHz
----------------------
error detection frequency =
2n
1
The error detection frequency reflects the frequency of the error detection
process for a frame because the CRC calculation in Arria II devices is done
on a per-frame basis.
The EMR is updated whenever an error occurs. If the error location and message are
not shifted out before the next error location is found, the previous error location and
message are overwritten by the new information. To avoid this, you must shift these
bits out within one frame CRC verification. The minimum interval time between each
update for the EMR depends on the device and the error detection clock frequency.
However, slowing down the error detection clock frequency slows down the error
recovery time for the SEU event.
Table 10–7 lists the estimated minimum interval time between each update for the
EMR in Arria II devices.
Table 10–7. Minimum Update Interval for Error Message Register in Arria II Devices
Device
Timing Interval (s)
EP2AGX45
EP2AGX65
EP2AGX95
EP2AGX125
EP2AGX190
EP2AGX260
EP2AGZ225
EP2AGZ300
EP2AGZ350
11.04
11.04
14.88
14.88
19.64
19.64
19.8
21.8
21.8
The CRC calculation time for the error detection circuitry to check from the first until
the last frame depends on the device and the error detection clock frequency.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
February 2014 Altera Corporation
Chapter 10: SEU Mitigation in Arria II Devices
10–9
Software Support
Table 10–8 lists the minimum and maximum estimated clock frequency time for each
CRC calculation for Arria II devices. The minimum CRC calculation time is calculated
using the maximum error detection frequency with a divisor factor 1. The maximum
CRC calculation time is calculated using the minimum error detection frequency with
a divisor factor 8.
Table 10–8. CRC Calculation Time for Arria II Devices
Device
Minimum Time (ms)
73.80
Maximum Time (s)
20.40
EP2AGX45
EP2AGX65
EP2AGX95
EP2AGX125
EP2AGX190
EP2AGX260
EP2AGZ225
EP2AGZ300
EP2AGZ350
73.80
20.40
125.80
125.80
216.00
216.00
225
34.80
34.80
59.90
59.90
62.44
296
82.05
296
82.05
Software Support
The Quartus II software, starting with version 9.1 supports the error detection CRC
feature for Arria II GX devices and starting with version 10.1 supports the error
detection CRC feature for Arria II GZ devices. Enabling this feature in the Device and
Pin Options dialog box generates the CRC_ERROR output to the optional dual-purpose
CRC_ERROR pin.
To enable the error detection feature using the CRC, follow these steps:
1. Open the Quartus II software and load a project using an Arria II device.
2. On the Assignments menu, click Device. The Device dialog box appears.
3. Click Device and Pin Options. The Device and Pin Options dialog box appears.
4. In the Category list, select Error Detection CRC tab.
5. Turn on Enable Error Detection CRC.
6. In the Divide error check frequency by pull-down list, enter a valid divisor as
listed in Table 10–6 on page 10–7.
7. Click OK.
February 2014 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
10–10
Chapter 10: SEU Mitigation in Arria II Devices
Recovering From CRC Errors
Recovering From CRC Errors
The system that the Arria II device resides in must control device reconfiguration.
After detecting an error on the CRC_ERROR pin, strobing the nCONFIG signal low directs
the system to perform the reconfiguration at a time when it is safe for the system to
reconfigure the device.
When the data bit is rewritten with the correct value by reconfiguring the device, the
device functions correctly.
While soft errors are uncommon in Altera® devices, certain high-reliability
applications require a design to account for these errors.
Document Revision History
Table 10–9 lists the revision history for this chapter.
Table 10–9. Document Revision History
Date
February 2014
July 2012
Version
4.3
Changes
Updated the minimum CRC calculation time for EP2AGX45, EP2AGX65,
EP2AGX95, EP2AGX125, EP2AGX190, and EP2AGX260 in Table 10–8.
4.2
Removed repeated paragraph in the “User Mode Error Detection” section.
■ Updated “User Mode Error Detection” section.
■ Minor text edits.
June 2011
4.1
4.0
3.0
■ Updated for the Quartus II software version 10.1 release.
■ Added Arria II GZ devices information.
■ Minor text edits.
December 2010
July 2010
Updated for Arria II GX v10.0 release:
■ Updated Table 10–3, Table 10–6, Table 10–7, and Table 10–8.
Updated for Arria II GX v9.1 release:
■ Updated Table 10–7 and Table 10–8.
■ Minor text edits.
November 2009
February 2009
2.0
1.0
Initial release.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
February 2014 Altera Corporation
11. JTAG Boundary-Scan Testing in
Arria II Devices
December 2013
AIIGX51011-4.1
AIIGX51011-4.1
This chapter describes the boundary-scan test (BST) features that are supported in
Arria® II devices and how to use the IEEE Std. 1149.1 and Std. 1149.6 BST circuitries in
Arria II devices. The features are similar to Arria GX devices, unless stated in this
chapter.
This chapter includes the following sections:
■
■
■
■
■
“BST Architecture for Arria II Devices” on page 11–1
“BST Operation Control” on page 11–3
“I/O Voltage Support in a JTAG Chain” on page 11–5
“Disabling IEEE Std. 1149.1 BST Circuitry” on page 11–6
“Boundary-Scan Description Language Support” on page 11–7
Arria II GX devices support IEEE Std. 1149.1 and IEEE Std. 1149.6, while Arria II GZ
devices support IEEE Std. 1149.1 only. The IEEE Std. 1149.6 is only supported on the
high-speed serial interface (HSSI) transceivers in Arria II GX devices. The IEEE Std.
1149.6 enables board-level connectivity checking between transmitters and receivers
that are AC coupled (connected with a capacitor in series between the source and
destination).
BST Architecture for Arria II Devices
For Arria II GX devices, the TDOoutput pin and all JTAG input pins are powered by
the VCCIO power supply of I/O Bank 8C, while for Arria II GZ devices, the TDOoutput
pin and all the JTAG input pins are powered by 2.5-V/3.0-V VCCPD supply of I/O
Bank 1A. All user I/O pins are tri-stated during JTAG configuration.
f
For more information about the IEEE Std. 1149.1 BST architecture, BST circuitry, and
boundary-scan register for Arria II devices, refer to the IEEE 1149.1 (JTAG)
Boundary-Scan Testing for Arria GX Devices chapter in volume 2 of the Arria GX Device
Handbook.
IEEE Std. 1149.6 Boundary-Scan Register for Arria II GX Devices
The boundary-scan cell (BSC) for HSSI transmitters (GXB_TX[p,n]) and
receivers/input clock buffer (GXB_RX[p,n])/(REFCLK[0..7]) in Arria II GX devices are
different from the BSCs for I/O pins.
© 2013 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 2013
Subscribe
11–2
Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices
BST Architecture for Arria II Devices
Figure 11–1 shows the Arria II GX HSSI transmitter boundary-scan cell.
Figure 11–1. HSSI Transmitter BSC with IEEE Std. 1149.6 BST Circuitry for Arria II GX Devices
BSCAN
PMA
SDOUT
AC JTAG
Output
Buffer
BSTX1
0
1
OE
D
Q
D
Q
0
1
Pad
Mission
(DATAOUT)
0
1
Tx Output
Buffer
D
Q
D
Q
0
1
TX_BUF_OE
BS0EB
nOE
Pad
OE Logic
MORHZ
ACJTAG_BUF_OE
BSTX0
0
1
OE
0
1
D
Q
D
Q
AC JTAG
Output
Buffer
SDIN SHIFT
AC_TEST
MODE
MEM_INIT
AC_MODE
CLK
HIGHZ
UPDATE
Update
Capture
Registers
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2013 Altera Corporation
Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices
11–3
BST Operation Control
Figure 11–2 shows the Arria II GX HSSI receiver/input clock buffer BSC.
Figure 11–2. HSSI Receiver/Input Clock Buffer BSC with IEEE Std. 1149.6 BST Circuitry for Arria II GX Devices
BSCAN
PMA
SDOUT
BSRX1
AC JTAG Test
Receiver
Hysteretic
Memory
BSOUT1
0
1
D
Q
Pad
Pad
Mission
(DATAIN)
Optional INTEST/RUNBIST
not supported
Rx Input
Buffer
BSRX0
AC JTAG Test
Receiver
0
1
Hysteretic
Memory
BSOUT0
D
Q
HIGHZ SDIN SHIFT
CLK
UPDATE
AC_TEST MEM_INIT
AC_MODE
MODE
Capture
Update
Registers
BST Operation Control
Table 11–1 lists the boundary-scan register length for Arria II devices.
Table 11–1. Boundary-Scan Register Length for Arria II Devices
Device
Boundary-Scan Register Length
EP2AGX45
EP2AGX65
EP2AGX95
EP2AGX125
EP2AGX190
EP2AGX260
EP2AGZ225
EP2AGZ300
EP2AGZ350
1,227
1,227
1,467
1,467
1,971
1,971
2,274
2,682
2,682
December 2013 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
11–4
Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices
BST Operation Control
Table 11–2 lists the IDCODEinformation for Arria II devices.
Table 11–2. 32-Bit IDCODE for Arria II Devices
Device
IDCODE (32 Bits) (1)
Part Number (16 Bits) Manufacturer Identity (11 Bits)
Version (4 Bits)
LSB (1 Bit) (2)
EP2AGX45
EP2AGX65
0000
0010 0101 0001 0010
0010 0101 0000 0010
0010 0101 0001 0011
0010 0101 0000 0011
0010 0101 0001 0100
0010 0101 0000 0100
0010 0100 1000 0001
0010 0100 0000 1010
0010 0100 1000 0010
000 0110 1110
000 0110 1110
000 0110 1110
000 0110 1110
000 0110 1110
000 0110 1110
000 0110 1110
000 0110 1110
000 0110 1110
1
1
1
1
1
1
1
1
1
0000
EP2AGX95
0000
EP2AGX125
EP2AGX190
EP2AGX260
EP2AGZ225
EP2AGZ300
EP2AGZ350
Notes to Table 11–2:
0000
0000
0000
0000
0000
0000
(1) The MSB is on the left.
(2) The IDCODELSB is always 1.
1
If the device is in the RESETstate, when the nCONFIGor nSTATUSsignal is low, the
device IDCODEmight not be read correctly. To read the device IDCODEcorrectly, you
must issue the IDCODEJTAG instruction only when the nSTATUSsignal is high.
f
For information about JTAG instructions, TAP controller state machine, timing
requirements, and how to select the instruction mode, refer to “IEEE Std. 1149.1 BST
Operation Control” in the IEEE 1149.1 (JTAG) Boundary-Scan Testing for Arria GX
Devices chapter in volume 2 of the Arria GX Device Handbook.
For Arria II GX devices, IEEE Std.1149.6 mandates the addition of two new
instructions: EXTEST_PULSEand EXTEST_TRAIN. These two instructions enable
edge-detecting behavior on the signal path containing the HSSI pins. These
instructions implement new test behaviors for HSSI pins and simultaneously behave
identically to the IEEE Std. 1149.1 EXTESTinstruction for non-HSSI pins.
EXTEST_PULSE Instruction Mode
The instruction code for EXTEST_PULSEis 0010001111. The EXTEST_PULSEinstruction
generates three output transitions:
■
■
Driver drives the data on the falling edge of TCKin UPDATE_IR/DR.
Driver drives the inverted data on the falling edge of TCKafter entering the
RUN_TEST/IDLEstate.
■
Driver drives the data on the falling edge of TCKafter leaving the RUN_TEST/IDLE
state.
1
If you use DC-coupling on the HSSI signals, you must execute the EXTESTinstruction.
If you use AC-coupling on the HSSI signals, you must execute the EXTEST_PULSE
instruction. AC-coupled and DC-coupled HSSI are only supported in
post-configuration mode.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2013 Altera Corporation
Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices
11–5
I/O Voltage Support in a JTAG Chain
EXTEST_TRAIN Instruction Mode
The instruction code for EXTEST_TRAINis 0001001111. The EXTEST_TRAINinstruction
behaves like the EXTEST_PULSEinstruction with one exception: the output continues to
toggle on the TCKfalling edge as long as the TAP controller is in the RUN_TEST/IDLE
state.
1
1
These two instruction codes are only supported in post-configuration mode for
Arria II GX devices.
You must not use the following private instructions as invoking such instructions
potentially damage the device, rendering the device useless:
■
1100010000
■
■
■
■
0011100101
0011001001
1100010011
0011100110
0000101010
■
You must take precaution not to invoke such instructions at any instance. Altera
recommends that you avoid toggling the JTAG pins when the device is not in used.
I/O Voltage Support in a JTAG Chain
The JTAG chain can support several different devices. However, use caution if the
chain contains devices that have different VCCIO levels. The output voltage level of the
TDOpin must meet the specification of the TDIpin it drives.
Table 11–3 and Table 11–4 show board design recommendations to ensure proper
JTAG chain operation.
Table 11–3. Supported TDO/TDI Voltage Combinations for Arria II GX Devices (Part 1 of 2)
Arria II GX TDO VCCIO Voltage Level in I/O Bank 8C
TDI Input Buffer
Power
Device
VCCIO = 3.3 V (1) VCCIO = 3.0 V (1) VCCIO = 2.5 V (2) VCCIO = 1.8 V
VCCIO = 1.5 V
Level shifter
required
VCCIO = 3.3 V
VCCIO = 3.0 V
v
v
v
v
v
v
v
v
v
v (3)
v (3)
v (3)
Level shifter
required
Arria II GX
Level shifter
required
V
CCIO = 2.5 V
VCCIO = 1.8 V
CCIO = 1.5 V
Level shifter
required
v
v
v
v
v
v
v (3)
v (3)
V
v
December 2013 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
11–6
Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices
Disabling IEEE Std. 1149.1 BST Circuitry
Table 11–3. Supported TDO/TDI Voltage Combinations for Arria II GX Devices (Part 2 of 2)
Arria II GX TDO VCCIO Voltage Level in I/O Bank 8C
VCCIO = 3.3 V (1) VCCIO = 3.0 V (1) VCCIO = 2.5 V (2) VCCIO = 1.8 V
TDI Input Buffer
Power
Device
VCCIO = 1.5 V
Level shifter
required
VCC = 3.3 V
VCC = 2.5 V
v
v
v
v
v (3)
v (3)
Level shifter
required
v (4)
v (4)
Non-Arria II GX
Level shifter
required
VCC = 1.8 V
VCC = 1.5 V
v (4)
v (4)
v (4)
v (4)
v (5)
v (5)
v
v (6)
v
Notes to Table 11–3:
(1) The TDOoutput buffer meets VOH (Min) = 2.4 V.
(2) The TDOoutput buffer meets VOH (Min) = 2.0 V.
(3) An external 250- pull-up resistor is not required; however, they are recommended if signal levels on the board are not optimal.
(4) The input buffer must be 3.0-V tolerant.
(5) The input buffer must be 2.5-V tolerant.
(6) The input buffer must be 1.8-V tolerant.
Table 11–4. Supported TDO/TDI Voltage Combinations for Arria II GZ Devices
Arria II GZ TDO VCCPD Voltage Level in I/O Bank 1A
Device
TDI Input Buffer Power
VCCPD = 3.0 V (1)
VCCPD = 2.5 V (2)
V
V
CCPD = 3.0 V
CCPD = 2.5 V
v
v
v
v
Arria II GZ
VCC = 3.3 V
CC = 2.5 V
v
v
V
v (3)
v (3)
v (3)
v
Non-Arria II GZ
VCC = 1.8 V
VCC = 1.5 V
v (4)
v (4)
Notes to Table 11–4:
(1) The TDOoutput buffer meets VOH (Min) = 2.4 V.
(2) The TDOoutput buffer meets VOH (Min) = 2.0 V.
(3) The input buffer must be 3.0-V tolerant.
(4) The input buffer must be 2.5-V tolerant.
f
For more information about I/O voltage support in the JTAG chain, refer to the “I/O
Voltage Support in JTAG Chain” in the IEEE 1149.1 (JTAG) Boundary-Scan Testing for
Arria GX Devices chapter in volume 2 of the Arria GX Device Handbook.
Disabling IEEE Std. 1149.1 BST Circuitry
The IEEE Std. 1149.1 BST circuitry for Arria II devices is enabled after device
power up. Because the IEEE Std. 1149.1 BST circuitry is used for BST or in-circuit
reconfiguration, you must enable the circuitry only at specific times as mentioned in
“IEEE Std. 1149.1 BST Circuitry” in the IEEE 1149.1 (JTAG) Boundary-Scan Testing for
Arria GX Devices chapter in volume 2 of the Arria GX Device Handbook.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2013 Altera Corporation
Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices
11–7
Boundary-Scan Description Language Support
1
If you do not use the IEEE Std. 1149.1 circuitry in Arria II devices, permanently
disable the circuitry to ensure that you do not inadvertently enable it when it is not
required.
Table 11–5 lists the pin connections necessary for disabling the IEEE Std. 1149.1
circuitry in Arria II devices.
Table 11–5. Pin Connections Necessary for Disabling IEEE Std. 1149.1 Circuitry for Arria II
Devices
Connection for Disabling
JTAG Pins
Arria II GX Devices
Arria II GZ Devices
TMS
TCK
V
CC supply of Bank 8C
VCC supply of Bank 8C
Not available
VCCPD supply of Bank 1A
GND
TDI
VCCPD supply of Bank 1A
GND
TDO
TRST
Leave Open
Boundary-Scan Description Language Support
The boundary-scan description language (BSDL), a subset of VHDL, provides a
syntax that allows you to describe the features of an IEEE Std. 1149.6 BST-capable
device that can be tested. You can test software development systems, then use the
BSDL files for test generation, analysis, and failure diagnostics.
f
f
f
For more information about BSDL files for IEEE Std. 1149.6-compliant Arria II GX
devices, refer to the IEEE 1149.6 BSDL Files page on the Altera® website.
For more information about BSDL files for IEEE Std. 1149.1-compliant Arria II GZ
devices, refer to the IEEE 1149.1 BSDL Files page on the Altera website.
You can also generate BSDL files (pre-configuration and post-configuration) for
Arria II devices with the Quartus® II software version 9.1 and later. For the procedure
to generate BSDL files using the Quartus II software, refer to Generating BSDL Files in
Quartus II.
December 2013 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
11–8
Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices
Document Revision History
Document Revision History
Table 11–6 lists the revision history for this document.
Table 11–6. Document Revision History
Date
Version
Changes
December 2013
4.1
Updated the “EXTEST_PULSE Instruction Mode” section.
■ Updated for the Quartus II software version 10.1 release.
■ Added Arria II GZ devices information.
■ Added “BST Architecture for Arria II Devices” and “Disabling IEEE Std. 1149.1 BST
Circuitry” sections.
December 2010
July 2010
4.0
3.0
■ Added Table 11–3 and Table 11–5.
■ Updated Table 11–1 and Table 11–2.
■ Minor text edits.
Updated for Arria II GX v10.0 release:
■ Updated “BST Operation Control” section.
■ Minor text edits.
Updated for Arria II GX v9.1 release:
■ Updated Table 11–1 and Table 11–2.
■ Updated “I/O Voltage Support in a JTAG Chain” section.
■ Minor text edits.
November 2009
February 2009
2.0
1.0
Initial release.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2013 Altera Corporation
12. Power Management in Arria II
Devices
June 2011
AIIGX51012-3.1
AIIGX51012-3.1
This chapter describes the static and dynamic power of Arria® II devices. Static power
is the power consumed by the FPGA when it is configured, but no clocks are
operating. Dynamic power is composed of switching power when the device is
configured and running.
The PowerPlay Power Analyzer in the Quartus® II software optimizes all designs
with Arria II power technology to ensure performance is met at the lowest power
consumption. This automatic process allows you to concentrate on the functionality of
your design instead of the power consumption of your design.
f
For more information about using the PowerPlay Power Analyzer in the Quartus II
software, refer to the Power Estimation and Power Analysis section in volume 3 of the
Quartus II Handbook.
This chapter includes the following sections:
■
■
■
“External Power Supply Requirements” on page 12–1
“Power-On Reset Circuitry” on page 12–1
“Hot Socketing” on page 12–2
External Power Supply Requirements
f
For more information about the Arria II external power supply requirements and the
power supply pin connections, refer to the following:
■
For more information about Altera-recommended power supply operating
conditions, refer to the Device Datasheet for Arria II Devices chapter.
■
For more information about power supply pin connection guidelines and
power regulator sharing, refer to the Arria II Device Family Pin Connection
Guidelines.
Power-On Reset Circuitry
The Arria II power-on reset (POR) circuitry generates a POR signal to keep the device
in the reset state until the power supply’s voltage levels have stabilized during
power-up. The POR circuitry monitors VCC, VCCA_PLL, VCCCB, VCCPD, and VCCIO
supplies for I/O banks 3C and 8C in Arria II GX devices, where the configuration pins
are located. The POR circuitry tri-states all user I/O pins until the power supplies
reach the recommended operating levels. These power supplies are required to
monotonically reach their full-rail values without plateaus and within the maximum
power supply ramp time (tRAMP.). The POR circuitry de-asserts the POR signal after
the power supplies reach their full-rail values to release the device from the reset
state.
© 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
June 2011
Subscribe
12–2
Chapter 12: Power Management in Arria II Devices
Hot Socketing
The POR circuitry monitors VCC, VCCAUX, VCCCB, VCCPGM, and VCCPD supplies in
Arria II GZ devices. The POR circuitry keeps the Arria II GZ devices in reset state
until the power supply outputs are within operating range (provided that the VCC
powers up fully before VCCAUX).
POR circuitry is important to ensure that all the circuits in the Arria II device are at
certain known states during power up. You can select the POR signal pulse width
between fast POR time or standard POR time using the MSEL pin settings. For fast
POR time, the POR signal pulse width is set to 4 ms for the power supplies to ramp up
to full rail. For standard POR time, the POR signal pulse width is set to 100 ms for the
power supplies to ramp up to full rail. In both cases, you can extend the POR time
with an external component to assert the nSTATUSpin low.
f
f
For more information about the POR specification, refer to the Device Datasheet for
Arria II Devices chapter.
For more information about MSEL pin settings, refer to the Configuration, Design
Security, and Remote System Upgrades in Arria II Devices chapter.
Hot Socketing
Arria II I/O pins are hot-socketing compliant without the need for external
components or special design requirements. Hot-socketing support in Arria II devices
has the following advantages:
■
You can drive the device before power up without damaging the device.
■
■
I/O pins remain tri-stated during power up. The device does not drive out before
or during power-up. Therefore, it does not affect other buses in operation.
You can insert or remove an Arria II device from a powered-up system board
without damaging or interfering with normal system and board operation.
Devices Can Be Driven Before Power-Up
You can drive signals into regular Arria II I/O pins and transceiver before or during
power up or power down without damaging the device. Arria II devices support any
power-up or power-down sequence to simplify the system-level designs.
I/O Pins Remain Tri-Stated During Power-Up
A device that does not support hot socketing may interrupt system operation or cause
contention by driving out before or during power up. In a hot-socketing situation, the
Arria II output buffers are turned off during system power up or power down. Also,
the Arria II device does not drive out until the device is configured and working
within recommended operating conditions.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Chapter 12: Power Management in Arria II Devices
12–3
Hot Socketing
Insertion or Removal of an Arria II Device from a Powered-Up System
Devices that do not support hot socketing can short power supplies when
powered up through the device signal pins. This irregular power up can damage both
the driving and driven devices and can disrupt card power up.
An Arria II device may be inserted into or removed from a powered up system board
without damaging or interfering with system-board operation.
For Arria II GX devices, you can power up or power down the VCCIO, VCC, and VCCPD
supplies in any sequence and at any time between them. For Arria II GZ devices, you
can power up or power down the VCC, VCCIO, VCCPD, and VCCPGM supplies in any
sequence (provided that the VCC powers up fully before VCCAUX).
f
For more information about the hot-socketing specification, refer to the Device
Datasheet for Arria II Devices chapter and the Hot-Socketing and Power-Sequencing
Feature and Testing for Altera Devices white paper.
Hot-Socketing Feature Implementation
Arria II devices are immune to latch-up when using the hot-socketing feature. The
hot-socketing feature turns off the output buffer during power up and power down of
the VCC, VCCIO, or VCCPD power supplies for Arria II GX devices. Hot-socketing
circuitry generates an internal HOTSCKTsignal when the VCC, VCCIO, or VCCPD power
supplies for Arria II GX devices are below the threshold voltage. To support the
startup current as reported by the PowerPlay Early Power Estimator (EPE) for
Arria II GX devices, fully power VCC before VCCCB begins to ramp.
The hot-socketing feature turns off the output buffer during power up and power
down of the VCC, VCCIO, VCCPD, and VCCPGM power supplies for Arria II GZ devices.
To support the power-up sequence for all Arria II GZ devices, fully power VCC before
VCCAUX begins to ramp.
Hot-socketing circuitry is designed to prevent excess I/O leakage during power up.
When the voltage ramps up very slowly, it is still relatively low, even after the POR
signal is released and the configuration is completed. The CONF_DONE, nCEO, and
nSTATUSpins fail to respond, as the output buffer cannot flip from the state set by the
hot-socketing circuit at this low voltage. Therefore, the hot-socketing circuit is
removed on these configuration pins to ensure that they are able to operate during
configuration. Thus, it is the expected behavior for these pins to drive out during
power-up and power-down sequences.
1
Altera uses GND as reference for the hot-socketing operation and I/O buffer designs.
To ensure proper operation, Altera recommends connecting the GND between boards
before connecting to the power supplies. This prevents the GND on your board from
being pulled up inadvertently by a path to power through other components on your
board. A pulled up GND can otherwise cause an out-of-specification I/O voltage or
current condition with the Altera® device.
June 2011 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
12–4
Chapter 12: Power Management in Arria II Devices
Document Revision History
Document Revision History
Table 12–1 lists the revision history for this chapter.
Table 12–1. Document Revision History
Date
Version
Changes
■ Removed Table 1-2.
■ Updated “Insertion or Removal of an Arria II Device from a Powered-Up
June 2011
3.1
System” and “Hot-Socketing Feature Implementation” sections.
■ Minor text edits.
■ Updated for the Quartus II software version 10.1 release.
December 2010
3.0
■ Added Arria II GZ devices information.
■ Minor text edits.
July 2010
2.0
1.1
1.0
Updated “Power-On Reset Circuitry” section for the Arria II GX v10.0 release.
June 2009
—
February 2009
Initial release.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011 Altera Corporation
Additional Information
This chapter provides additional information about the document and Altera.
About this Handbook
This handbook provides comprehensive information about the Arria® II devices.
How to Contact Altera
To locate the most up-to-date information about Altera products, refer to the
following table.
Contact (1)
Technical support
Contact Method
Website
Website
Email
Address
www.altera.com/support
www.altera.com/training
custrain@altera.com
Technical training
Product literature
Website
Email
www.altera.com/literature
nacomp@altera.com
Non-technical support (General)
(Software Licensing)
Note to Table:
Email
authorization@altera.com
(1) You can also contact your local Altera sales office or sales representative.
Typographic Conventions
The following table shows the typographic conventions this document uses.
Visual Cue
Meaning
Indicate command names, dialog box titles, dialog box options, and other GUI
labels. For example, Save As dialog box. For GUI elements, capitalization matches
the GUI.
Bold Type with Initial Capital
Letters
Indicates directory names, project names, disk drive names, file names, file name
extensions, software utility names, and GUI labels. For example, \qdesigns
directory, D: drive, and chiptrip.gdf file.
bold type
Italic Type with Initial Capital Letters Indicate document titles. For example, Stratix IV Design Guidelines.
Indicates variables. For example, n + 1.
italic type
Variable names are enclosed in angle brackets (< >). For example, <file name> and
<project name>.pof file.
Indicate keyboard keys and menu names. For example, the Delete key and the
Options menu.
Initial Capital Letters
“Subheading Title”
Quotation marks indicate references to sections within a document and titles of
Quartus II Help topics. For example, “Typographic Conventions.”
February 2014 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
Info–2
Additional Information
Typographic Conventions
Visual Cue
Meaning
Indicates signal, port, register, bit, block, and primitive names. For example, data1
tdi, and input. The suffix denotes an active-low signal. For example, resetn
Indicates command line commands and anything that must be typed exactly as it
appears. For example, c:\qdesigns\tutorial\chiptrip.gdf
,
n
.
Courier type
.
Also indicates sections of an actual file, such as a Report File, references to parts of
files (for example, the AHDL keyword SUBDESIGN), and logic function names (for
example, TRI).
r
An angled arrow instructs you to press the Enter key.
1., 2., 3., and
Numbered steps indicate a list of items when the sequence of the items is important,
such as the steps listed in a procedure.
a., b., c., and so on
■
■
■
Bullets indicate a list of items when the sequence of the items is not important.
The hand points to information that requires special attention.
1
h
A question mark directs you to a software help system with related information.
The feet direct you to another document or website with related information.
f
A caution calls attention to a condition or possible situation that can damage or
destroy the product or your work.
c
A warning calls attention to a condition or possible situation that can cause you
injury.
w
The envelope links to the Email Subscription Management Center page of the Altera
website, where you can sign up to receive update notifications for Altera documents.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
February 2014 Altera Corporation
相关型号:
EP2AGX65CF29C5N
Field Programmable Gate Array, 500MHz, PBGA780, 29 X 29 MM, LEAD FREE, MS-034, FBGA-780
INTEL
EP2AGX65CF29I3N
Field Programmable Gate Array, 500MHz, PBGA780, 29 X 29 MM, LEAD FREE, MS-034, FBGA-780
INTEL
EP2AGX65CF29I5N
Field Programmable Gate Array, 500MHz, PBGA780, 29 X 29 MM, LEAD FREE, MS-034, FBGA-780
INTEL
EP2AGX65DF25C4N
Field Programmable Gate Array, 500MHz, 60214-Cell, CMOS, PBGA572, 25 X 25 MM, LEAD FREE, MS-034, FBGA-572
INTEL
EP2AGX65DF25C5N
Field Programmable Gate Array, 500MHz, 60214-Cell, CMOS, PBGA572, 25 X 25 MM, LEAD FREE, MS-034, FBGA-572
INTEL
©2020 ICPDF网 联系我们和版权申明