101 Innovation Drive
San Jose, CA 95134
www.altera.com
AIIGX5V1-4.4
Volume 1: Device Interfaces and Integration
Arria II Device Handbook
Document last updated for Altera Complete Design Suite version:
Document publication date:
12.0
July 2012
Arria II Device Handbook Volume 1: Device Interfaces and
Integration
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
© 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.
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Contents
Chapter Revision Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Section I. Device Core for Arria II Devices
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I–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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
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
iv Contents
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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
Contents v
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Chapter 5. Clock Networks and PLLs in Arria II Devices
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
vi Contents
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Section II. I/O Interfaces for Arria II Devices
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . II–1
Chapter 6. I/O Features in Arria II Devices
I/O Standards Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–2
I/O Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–5
Modular I/O Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–7
I/O Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–10
3.3-V I/O Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–13
External Memory Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–13
High-Speed Differential I/O with DPA Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–14
Programmable Current Strength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–14
Programmable Slew Rate Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–16
Open-Drain Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–16
Bus Hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17
Programmable Pull-Up Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17
Programmable Pre-Emphasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17
Programmable Differential Output Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17
MultiVolt I/O Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–18
OCT Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–19
RS OCT Without Calibration for Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–19
RS OCT with Calibration for Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–20
Left-Shift RS OCT Control for Arria II GZ Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–21
Expanded RSOCT with Calibration for Arria II GZ Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–22
RD OCT for Arria II LVDS Input I/O Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–23
RT OCT with Calibration for Arria II GZ Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–23
Dynamic RS and RT OCT for Single-Ended I/O Standard for Arria II GZ Devices . . . . . . . . . . 6–24
Arria II OCT Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–26
OCT Calibration Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–26
Termination Schemes for I/O Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–28
Single-Ended I/O Standards Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–28
Differential I/O Standards Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–30
LVDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–32
Differential LVPECL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–33
RSDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–33
mini-LVDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–34
Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–35
I/O Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–35
Single-Ended I/O Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–35
Differential I/O Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–35
I/O Bank Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–36
Non-Voltage-Referenced Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–36
Voltage-Referenced Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–36
Mixing Voltage-Referenced and Non-Voltage-Referenced Standards . . . . . . . . . . . . . . . . . . . . . 6–36
I/O Placement Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–37
3.3-V, 3.0-V, and 2.5-V LVTTL/LVCMOS Tolerance Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . 6–37
Pin Placement Guideline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–37
Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–37
Contents vii
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Chapter 7. External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–3
Using the RUP and RDN Pins in a DQ/DQS Group Used for Memory Interfaces in
Arria II GZ Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–21
Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface . . . . . . . . . . . . . . . 7–21
Rules to Combine Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–22
Arria II External Memory Interface Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–24
DQS Phase-Shift Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–24
DLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–27
Phase Offset Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–32
DQS Logic Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–34
DQS Delay Chains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–34
Update Enable Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–35
DQS Postamble Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–35
Arria II GZ Dynamic On-Chip Termination Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–37
I/O Element Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–37
Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–42
Chapter 8. High-Speed Differential I/O Interfaces and DPA in Arria II Devices
LVDS Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–2
Locations of the I/O Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–3
LVDS SERDES and DPA Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–7
Differential Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–8
Serializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–8
Programmable Pre-Emphasis and Programmable VOD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–10
Differential Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–11
Receiver Hardware Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–12
DPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–12
Synchronizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–13
Data Realignment Block (Bit Slip) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–14
Deserializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–15
Receiver Datapath Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–16
Non-DPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–16
DPA Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–18
Soft CDR Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–19
Differential I/O Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–20
PLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–21
LVDS and DPA Clock Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–21
Source-Synchronous Timing Budget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–23
Differential Data Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–23
Differential I/O Bit Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–23
Transmitter Channel-to-Channel Skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–25
Receiver Skew Margin for Non-DPA Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–25
Differential Pin Placement Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–27
DPA-Enabled Channels and Single-Ended I/Os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–27
Guidelines for DPA-Enabled Differential Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–27
DPA-Enabled Channel Driving Distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–27
Using Center and Corner Left and Right PLLs in Arria II GX Devices . . . . . . . . . . . . . . . . . . . . . 8–27
Using Both Center PLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–29
Using Both Corner PLLs in Arria II GX Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–31
Guidelines for DPA-Disabled Differential Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–33
DPA-Disabled Channel Driving Distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–33
Using Corner and Center PLLs in Arria II GX Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–33
viii Contents
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . III–1
Chapter 9. Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Configuration Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–2
Configuration Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–2
Power-On Reset Circuit and Configuration Pins Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–4
Power-On Reset Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–4
Configuration Pins Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–5
VCCPD Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–6
Configuration Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–7
Power Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–7
Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–7
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–7
Configuration Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–8
Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–8
User Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–9
Configuration Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–9
MSEL Pin Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–9
Raw Binary File Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–11
Fast Passive Parallel Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–11
FPP Configuration Using a MAX II Device as an External Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–11
FPP Configuration Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–15
AS and Fast AS Configuration (Serial Configuration Devices) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–19
Guidelines for Connecting Serial Configuration Device to Arria II Devices on an AS Interface . . 9–23
Estimating the AS Configuration Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–23
Programming Serial Configuration Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–24
PS Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–26
PS Configuration Using a MAX II Device as an External Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–26
PS Configuration Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–29
PS Configuration Using a Download Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–30
JTAG Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–33
Jam STAPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–38
Device Configuration Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–39
Configuration Data Decompression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–46
Remote System Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–48
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–49
Enabling Remote Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–51
Configuration Image Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–52
Remote System Upgrade Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–52
Remote Update Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–52
Dedicated Remote System Upgrade Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–55
Remote System Upgrade Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–56
Remote System Upgrade Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–56
Remote System Upgrade Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–57
Remote System Upgrade State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–58
User Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–59
Quartus II Software Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–60
Contents ix
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
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
xContents
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Additional Information
About this Handbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info–1
How to Contact Altera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info–1
Typographic Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info–1
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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: July 2012
Part Number: AIIGX51010-4.2
Chapter 11. JTAG Boundary-Scan Testing in Arria II Devices
Revised: December 2010
Part Number: AIIGX51011-4.0
xii Chapter Revision Dates
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Chapter 12. Power Management in Arria II Devices
Revised: June 2011
Part Number: AIIGX51012-3.1
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
I–2 Section I: Device Core for Arria II Devices
Revision History
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012
AIIGX51001-4.4
Subscribe
© 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.
1. Overview for the Arria II Device Family
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.
July 2012
AIIGX51001-4.4
1–2 Chapter 1: Overview for the Arria II Device Family
Arria II Device Feature
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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
Chapter 1: Overview for the Arria II Device Family 1–3
Arria II Device Feature
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Table 1–1 lists the Arria II device features.
Table 1–1. Features in Arria II Devices
Feature
Arria II GX Devices Arria II GZ Devices
EP2AGX45 EP2AGX65 EP2AGX95 EP2AGX125 EP2AGX190 EP2AGX260 EP2AGZ225 EP2AGZ300 EP2AGZ350
Total Transceivers (1) 8 8 12 12 16 16 16 or 24 16 or 24 16 or 24
ALMs 18,050 25,300 37,470 49,640 76,120 102,600 89,600 119,200 139,400
LEs 42,959 60,214 89,178 118,143 181,165 244,188 224,000 298,000 348,500
PCIe hard IP blocks 1 1 1 1 1 1 1 1 1
M9K Blocks 319 495 612 730 840 950 1,235 1,248 1,248
M144K Blocks 24 36
Total Embedded Memory in M9K
Blocks (Kbits) 2,871 4,455 5,508 6,570 7,560 8,550 11,115 14,688 16,416
Total On-Chip Memory
(M9K +M144K + MLABs) (Kbits) 3,435 5,246 6,679 8,121 9,939 11,756 13,915 18,413 20,772
Embedded Multipliers (18 x 18) (2) 232 312 448 576 656 736 800 920 1,040
General Purpose PLLs 4 4 6 6 6 6 6 or 8 4, 6, or 8 4, 6, or 8
Transceiver TX PLLs (3),(4) 2 or 4 2 or 4 4 or 6 4 or 6 6 or 8 6 or 8 8 or 12 8 or 12 8 or 12
User I/O Banks (5), (6) 6 6 8 8 12 12 16 or 20 8, 16, or 20 8, 16, or 20
High-Speed LVDS SERDES
(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
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 12 and Table 13 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)
Device
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
I/O LVDS (8)
XCVRs
I/O LVDS (8)
XCVRs
I/O LVDS (8)
XCVRs
I/O LVDS (8)
XCVRs
EP2AGX45 156
33(RD or eTX)
+ 32(RX, TX,
or eTX)
4 252
57(RD or
eTX) +
56(RX, TX,
or eTX)
8 364
85(RD or eTX)
+ 84(RX, TX,
or eTX)
8———
EP2AGX65 156
33(RD or eTX)
+ 32(RX, TX,
or eTX)
4 252
57(RD or
eTX) +
56(RX, TX,
or eTX)
8 364
85(RD or eTX)
+84(RX,TX,
eTX)
8———
EP2AGX95 260
57(RD or
eTX) +
56(RX, TX,
or eTX)
8 372
85(RD or eTX)
+84(RX, TX, or
eTX)
12 452
105(RD or
eTX) +
104(RX, TX, or
eTX)
12
EP2AGX125 260
57(RD or
eTX) +
56(RX,TX, or
eTX)
8 372
85(RD or eTX)
+84(RX,TX, or
eTX)
12 452
105(RD or
eTX) +
104(RX, TX, or
eTX)
12
EP2AGX190 372
85(RD or eTX)
+84(RX, TX, or
eTX)
12 612
145(RD or
eTX) +
144(RX, TX, or
eTX)
16
EP2AGX260 372
85(RD, eTX)
+84(RX, TX, or
eTX)
12 612
145(RD, eTX) +
144(RX, TX, or
eTX)
16
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 (RDOCT) support.
(4) RX = True LVDS input buffers without RDOCT support.
(5) TX = True LVDS output buffers.
(6) eTX = Emulated-LVDS output buffers, either
LVDS_E_3R
or
LVDS_E_1R
.
(7) The LVDS channel count does not include dedicated clock input pins and PLL clock output pins.
(8) These numbers represent the accumulated LVDS channels supported in Arria II GX row and column I/O banks.
Chapter 1: Overview for the Arria II Device Family 1–5
Arria II Device Feature
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Arria II devices are available in up to four speed grades: –3 (fastest), –4, –5, and –6
(slowest). Table 14 lists the speed grades for Arria II devices.
Table 1–3. Package Options and I/O Information for Arria II GZ Devices (Note 1),(2), (3), (4), (5)
Device
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
I/O LVDS (6)
XCVRs
I/O LVDS (7)
XCVRs
I/O LVDS (7)
XCVRs
EP2AGZ225 554 135 (RX or eTX) +
140 (TX or eTX) 16 734 179 (RX or eTX) +
184 (TX or eTX) 24
EP2AGZ300 281 68 (RX or eTX) +
72 eTX 16 554 135 (RX or eTX) +
140 (TX or eTX) 16 734 179 (RX or eTX) +
184 (TX or eTX) 24
EP2AGZ350 281 68 (RX or eTX) +
72 eTX 16 554 135 (RX or eTX) +
140 (TX or eTX) 16 734 179 (RX or eTX) +
184 (TX or eTX) 24
Notes to Table 1–3:
(1) The user I/O counts include clock pins.
(2) RX = True LVDS input buffers without RDOCT support for row I/O banks, or true LVDS input buffers without RDOCT support for column I/O
banks.
(3) eTX = Emulated-LVDS output buffers, either
LVDS_E_3R
or
LVDS_E_1R.
(4) The LVDS RX and TX channels are equally divided between the left and right sides of the device.
(5) The LVDS channel count does not include dedicated clock input pins.
(6) For Arria II GZ 780-pin FBGA package, the LVDS channels are only supported in column I/O banks.
(7) These numbers represents the accumulated LVDS channels supported in Arria II GZ device row and column I/O banks.
Table 1–4. Speed Grades for Arria II Devices
Device 358-Pin Flip Chip
UBGA
572-Pin Flip Chip
FBGA
780-Pin Flip Chip
FBGA
1152-Pin Flip Chip
FBGA
1517-Pin Flip Chip
FBGA
EP2AGX45 C4, C5, C6, I3, I5 C4, C5, C6, I3, I5 C4, C5, C6, I3, I5
EP2AGX65 C4, C5, C6, I3, I5 C4, C5, C6, I3, I5 C4, C5, C6, I3, I5
EP2AGX95 C4, C5, C6, I3, I5 C4, C5, C6, I3, I5 C4, C5, C6, I3, I5
EP2AGX125 C4, C5, C6, I3, I5 C4, C5, C6, I3, I5 C4, C5, C6, I3, I5
EP2AGX190 C4, C5, C6, I3, I5 C4, C5, C6, I3, I5
EP2AGX260 C4, C5, C6, I3, I5 C4, C5, C6, I3, I5
EP2AGZ225 C3, C4, I3, I4 C3, C4, I3, I4
EP2AGZ300 C3, C4, I3, I4 C3, C4, I3, I4 C3, C4, I3, I4
EP2AGZ350 C3, C4, I3, I4 C3, C4, I3, I4 C3, C4, I3, I4
1–6 Chapter 1: Overview for the Arria II Device Family
Arria II Device Architecture
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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
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
PLL
PLL
DLL
DLL
PLL
PLL
Transceiver
Blocks
Plug and Play PCIe hard IP
1, 2,
×
4, and
×
8
High-Speed Differential I/O,
General Purpose I/O, and
Memory Interface
High-Speed Differential I/O,
General Purpose I/O, and
Memory Interface
High-Speed Differential I/O,
General Purpose I/O, and
Memory Interface
High-Speed
Differential I/O
with DPA,
General
Purpose
I/O, and
Memory
Interface
High-Speed
Differential I/O
with DPA,
General
Purpose
I/O, and
Memory
Interface
High-Speed Differential I/O,
General Purpose I/O, and
Memory Interface
××
Chapter 1: Overview for the Arria II Device Family 1–7
Arria II Device Architecture
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
Figure 1–2. Architecture Overview for Arria II GZ Device
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).
General Purpose
I/O and Memory
Interface
400 Mbps-6.375 Gbps CDR-based Transceiver
General Purpose I/O and 150 Mbps-1.25 Gbps
LVDS interface with DPA and Soft-CDR
Transceiver
Block
Transceiver
Block
Transceiver
Block
PCIe hard IP Block
(3)
General Purpose
I/O and Memory
Interface
PLL
(2)
PLL
(1)
PLL PLL
General Purpose
I/O and Memory
Interface
General Purpose
I/O and Memory
Interface
PLL PLL
Arria II GZ FPGA Fabric
(Logic Elements, DSP,
Embedded Memory,
Clock Networks)
Transceiver Block
General Purpose I/O and
High-Speed LVDS I/O
with DPA and Soft CDR
General Purpose
I/O and
High-Speed
LVDS I/O with
DPA and Soft CDR
PLL
(2)
PLL
(1)
Transceiver
Block
Transceiver
Block
Transceiver
Block
General Purpose
I/O and
High-Speed
LVDS I/O with
DPA and Soft CDR
General Purpose
I/O and
High-Speed
LVDS I/O with
DPA and Soft CDR
General Purpose
I/O and
High-Speed
LVDS I/O with
DPA and Soft CDR
1–8 Chapter 1: Overview for the Arria II Device Family
Arria II Device Architecture
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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 15 lists common protocols and the Arria II dedicated circuitry and features for
implementing these protocols.
1For 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.
Table 1–5. Sample of Supported Protocols and Feature Descriptions for Arria II Devices
Supported Protocols Feature Descriptions
PCIe
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
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
XAUI/HiGig/HiGig+
Compliant to IEEE P802.3ae specification
Embedded state machine circuitry to convert XGMII idle code groups (||I||) to and from
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
GbE
Compliant to IEEE 802.3 specification
Automatic idle ordered set (/I1/, /I2/) generation at the transmitter, depending on the
current running disparity
8B/10B encoder and decoder, receiver synchronization state machine, and ±100 PPM
clock compensation circuitry
CPRI/OBSAI
Transmit bit slipper eliminates latency uncertainty to comply with CPRI/OBSAI
specifications
Optimized for power and cost for remote radio heads and RF modules
Chapter 1: Overview for the Arria II Device Family 1–9
Arria II Device Architecture
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
1PCIe 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.
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.
Table 1–6. PCIe Hard IP Block Support
Support Arria II GX Devices Arria II GZ Devices
PCIe Gen1 x1, x4, x8 x1, x4, x8
PCIe Gen2 x1, x4
Root Port and endpoint configurations Yes Yes
Payloads 128-byte to 256-byte 128-byte to 2K-byte
1–10 Chapter 1: Overview for the Arria II Device Family
Arria II Device Architecture
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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 17 lists the Arria II device memory modes.
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 18.
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 19.
Table 1–7. Memory Modes for Arria II Devices
Port Mode Port Width Configuration
Single Port x1, x2, x4, x8, x9, x16, x18, x32, x36, x64, and x72
Simple Dual Port x1, x2, x4, x8, x9, x16, x18, x32, x36, x64, and x72
True Dual Port x1, x2, x4, x8, x9, x16, x18, x32, and x36
Table 1–8. I/O Standards Support for Arria II Devices
Type I/O Standard
Single-Ended I/O LVTTL, LVCMOS, SSTL, HSTL, PCIe, and PCI-X
Differential I/O SSTL, HSTL, LVPECL, LVDS, mini-LVDS, Bus LVDS (BLVDS) (1), and
RSDS
Note to Table 18:
(1) BLVDS is only available for Arria II GX devices.
Chapter 1: Overview for the Arria II Device Family 1–11
Arria II Device Architecture
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Arria II GX devices have dedicated configuration banks at Bank 3C and 8C, which
support dedicated configuration pins and some of the dual-purpose pins with a
configuration scheme at 1.8, 2.5, 3.0, and 3.3 V. For Arria II GZ devices, the
dedicated configuration pins are located in Bank 1A and Bank 1C. However, these
banks are not dedicated configuration banks; therefore, user I/O pins are available
in Bank 1A and Bank 1C.
Dedicated
VCCIO
,
VREF
, and
VCCPD
pin per I/O bank to allow voltage-referenced
I/O standards. Each I/O bank can operate at independent VCCIO, VREF
, and VCCPD
levels.
High-Speed LVDS I/O and DPA
Dedicated circuitry for implementing LVDS interfaces at speeds from 150 Mbps to
1.25 Gbps
RDOCT 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
Table 1–9. Location of OCT Calibration Block in Arria II Devices
Device Package Option I/O Bank
Arria II GX All pin packages Bank 3A, Bank 7A, and Bank 8A
Arria II GZ
780-pin flip chip FBGA Bank 3A, Bank 4A, Bank 7A, and Bank 8A
1152-pin flip chip FBGA Bank 1A, Bank 3A, Bank 4A, Bank 6A, Bank 7A, and Bank 8A
1517-pin flip chip FBGA Bank 1A, Bank 2A, Bank 3A, Bank 4A, Bank 5A, Bank 6A, Bank 7A, and Bank 8A
1–12 Chapter 1: Overview for the Arria II Device Family
Arria II Device Architecture
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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).
fFor the maximum clock rates supported in Altera's FPGA devices, refer to the
External Memory Interface Spec Estimator online tool.
fFor 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
Chapter 1: Overview for the Arria II Device Family 1–13
Arria II Device Architecture
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
1–14 Chapter 1: Overview for the Arria II Device Family
Reference and Ordering Information
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Reference and Ordering Information
Figure 1–3 shows the ordering codes for Arria II devices.
Document Revision History
Table 110 lists the revision history for this chapter.
Figure 1–3. Packaging Ordering Information for Arria II Devices
Device Density
PackageTyp
e
3, 4, 5, or 6, with 3 being the fastest
Corresponds to pin count
17 = 358 pins
25 = 572 pins
29 = 780 pins
35 = 1152 pins
40 = 1517 pins
F: FineLine BGA (FBGA)
U: Ultra FineLine BGA (UBGA)
H: Hybrid FineLine BGA (HBGA)
GX: 45, 65, 95, 125, 190,260
GZ: 225, 300, 350
Optional SuffixFa m i l y S i g n a t u r e
Operating Temperature
Sp e e d Gr a d e
Ball Array Dimension
4
EP2AGX 45
C
17
FN
Indicates specific device options
N: Lead-free devices
ES: Engineering sample
EP2AGX
EP2AGZ
C
Transceiver Count
C: 4
D: 8
E: 12
F:16
H: 24
C: Commercial temperature (tJ = 0°C to 85°C)
I: Industrial temperature (tJ = -40°C to 100°C)
Table 1–10. Document Revision History (Part 1 of 2)
Date Version Changes
July 2012 4.4 Replaced Table 1-10. External Memory Interface Maximum Performance for Arria II Devices
with link to the External Memory Interface Spec Estimator online tool.
December 2011 4.3 Updated Table 1–4 and Table 1–9.
June 2011 4.2 Updated Table 1–2.
June 2011 4.1
Updated Figure 1–2.
Updated Table 1–10.
Updated the “Arria II Device Feature” section.
Added Table 1–6.
Minor text edits.
December 2010 4.0
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
Added Figure 1–2
Updated Figure 1–3
Updated “Arria II Device Feature” and “Arria II Device Architecture” section
Chapter 1: Overview for the Arria II Device Family 1–15
Document Revision History
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2010 3.0
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
Updated “Highlights” and “High-Speed LVDS I/O and DPA”section
Minor text edits
November 2009 2.0
Updated Table 1–1, Table 1–2, and Table 1–3
Updated “Configuration Features” section
June 2009 1.1
Updated Table 1–2.
Updated “I/O Features” section.
February 2009 1.0 Initial release.
Table 1–10. Document Revision History (Part 2 of 2)
Date Version Changes
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
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2010
AIIGX51002-2.0
Subscribe
© 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.
2. Logic Array Blocks and Adaptive Logic
Modules in Arria II Devices
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
Direct link
interconnect from
adjacent block
Direct link
interconnect to
adjacent block
Row Interconnects of
Variable Speed & Length
Column Interconnects of
Variable Speed & Length
Local Interconnect is Driven
from Either Side by Column Interconnect
& LABs, & from Above by Row Interconnect
Local Interconnect LAB
Direct link
interconnect from
adjacent block
Direct link
interconnect to
adjacent block
ALMs
MLAB
C4 C12
R20
R4
December 2010
AIIGX51002-2.0
2–2 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices
Logic Array Blocks
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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.
fFor 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
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.
MLAB LAB
LUT-based-64 x 1
Simple dual port SRAM
LUT-based-64 x 1
Simple dual port SRAM
LUT-based-64 x 1
Simple dual port SRAM
LUT-based-64 x 1
Simple dual port SRAM
LUT-based-64 x 1
Simple dual port SRAM
LUT-based-64 x 1
Simple dual port SRAM
LUT-based-64 x 1
Simple dual port SRAM
LUT-based-64 x 1
Simple dual port SRAM
LUT-based-64 x 1
Simple dual port SRAM
LUT-based-64 x 1
Simple dual port SRAM
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
ALM
ALM
ALM
ALM
ALM
ALM
ALM
ALM
ALM
ALM
LAB Control Block LAB Control Block
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices 2–3
Logic Array Blocks
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
ALMs
Direct link
interconnect
to right
Direct link interconnect from
right LAB, memory block,
DSP block, or IOE output
Direct link interconnect from
left LAB, memory block,
DSP block, or IOE output
Local
Interconnect
LAB
ALMs
Direct link
interconnect
to left
MLAB
2–4 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices
Logic Array Blocks
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
LAB Control Signals
Each LAB contains dedicated logic for driving a maximum of 10 control signals to its
ALMs at a time. Control signals include three clocks, three clock enables, two
asynchronous clears, a synchronous clear, and synchronous load control signals.
Although you generally use synchronous-load and clear signals when implementing
counters, you can also use them with other functions. Each LAB has two unique clock
sources and three clock enable signals, as shown in Figure 2–4. The LAB control block
can generate up to three clocks using two clock sources and three clock enable signals.
Each clock and clock enable signals are linked. For example, any ALM in a particular
LAB using the
labclk1
signal also uses the
labclkena1
signal. If the LAB uses both
the rising and falling edges of a clock, it also uses two LAB-wide clock signals.
De-asserting the clock enable signal turns off the corresponding LAB-wide clock. The
LAB row clocks [5..0] and LAB local interconnects generate the LAB-wide control
signals. In addition to data, the inherent low skew of the MultiTrack interconnect
allows clock and control signal distribution.
Figure 2–4. LAB-Wide Control Signals
Dedicated Row LAB Clocks
Local Interconnect
Local Interconnect
Local Interconnect
Local Interconnect
Local Interconnect
Local Interconnect
labclk2 syncload
labclkena0
or asyncload
or labpreset
labclk0
labclk1 labclr1
labclkena1 labclkena2 labclr0 synclr
6
6
6
There are two unique
clock signals per LAB.
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices 2–5
Adaptive Logic Modules
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
2–6 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices
Adaptive Logic Modules
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
Figure 2–6 shows a detailed view of all the connections in an ALM.
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.
Figure 2–6. Connection Details of the Arria II ALM
D Q
+
reg_chain_in
aclr[1:0]
sclr
syncload
clk[2:0]
carry_in
dataf0
datae0
dataa
datab
datac1
datae1
dataf1
shared_arith_outcarry_out
reg_chain_out
CLR
D Q
CLR
shared_arith_in
local
interconnect
row, column
direct link routing
row, column
direct link routing
local
interconnect
4-INPUT
LUT
4-INPUT
LUT
3-INPUT
LUT
3-INPUT
LUT
3-INPUT
LUT
3-INPUT
LUT
+
datac0
VCC
GND
row, column
direct link routing
row, column
direct link routing
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices 2–7
Adaptive Logic Modules
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
2–8 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices
Adaptive Logic Modules
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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.
Normal mode provides complete backward-compatibility with 4-input LUT
architectures.
Figure 2–7. ALM in Normal Mode (Note 1)
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.
6-Input
LUT
dataf0
datae0
dataf0
datae0
dataa
datab
dataa
datab
datab
datac
datac
dataf0
datae0
dataa
datac
6-Input
LUT
datad
datad
datae1
combout0
combout1
combout0
combout1
combout0
combout1
dataf1
datae1
dataf1
datad
datae1
dataf1
4-Input
LUT
4-Input
LUT
4-Input
LUT
6-Input
LUT
dataf0
datae0
dataa
datab
datac
datad
combout0
5-Input
LUT
5-Input
LUT
dataf0
datae0
dataa
datab
datac
datad
combout0
combout1
datae1
dataf1
5-Input
LUT
dataf0
datae0
dataa
datab
datac
datad
combout0
combout1
datae1
dataf1
5-Input
LUT
3-Input
LUT
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices 2–9
Adaptive Logic Modules
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
For the packing of two 5-input functions into one ALM, the functions must have at
least two common inputs. The common inputs are
dataa
and
datab
. The combination
of a 4-input function with a 5-input function requires one common input (either
dataa
or
datab
).
In the case of implementing two 6-input functions in one ALM, four inputs must be
shared and the combinational function must be the same. In a sparsely used device,
functions that could be placed in one ALM may be implemented in separate ALMs by
the Quartus II software to achieve the best possible performance. As a device begins
to fill up, the Quartus II software automatically utilizes the full potential of the
Arria II ALM. The Quartus II Compiler automatically searches for functions using
common inputs or completely independent functions to be placed in one ALM to
make efficient use of device resources. In addition, you can manually control resource
usage by setting location assignments.
Any 6-input function can be implemented using inputs
dataa
,
datab
,
datac
,
datad
,
and either
datae0
and
dataf0
or
datae1
and
dataf1
. If
datae0
and
dataf0
are utilized,
the output is driven to
register0
, and/or
register0
is bypassed and the data drives
out to the interconnect using the top set of output drivers (refer to Figure 2–8). If
datae1
and
dataf1
are used, the output either drives to
register1
or bypasses
register1
and drives to the interconnect using the bottom set of output drivers. The
Quartus II Compiler automatically selects the inputs to the LUT. ALMs in normal
mode support register packing.
Figure 2–8. Input Function in Normal Mode (Note 1)
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.
6-Input
LUT
dataf0
datae0
dataa
datab
datac
datad
datae1
dataf1
DQ
DQ
To general or
local routing
To general or
local routing
To general or
local routing
reg0
reg1
(2)
labclk
2–10 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices
Adaptive Logic Modules
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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
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.
datae0
combout0
5-Input
LUT
5-Input
LUT
datac
dataa
datab
datad
dataf0
datae1
dataf1
DQ To general or
local routing
To general or
local routing
reg0
This input is available
for register packing.
(1)
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices 2–11
Adaptive Logic Modules
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Arithmetic Mode
Arithmetic mode is ideal for implementing adders, counters, accumulators, wide
parity functions, and comparators. The ALM in arithmetic mode uses two sets of two
4-input LUTs along with two dedicated full adders. The dedicated adders allow the
LUTs to be available to perform pre-adder logic; therefore, each adder can add the
output of two 4-input functions. The four LUTs share
dataa
and
datab
inputs. As
shown in Figure 2–10, the carry-in signal feeds to
adder0
and the carry-out from
adder0
feeds to the carry-in of
adder1
. The carry-out from
adder1
drives to
adder0
of
the next ALM in the LAB. ALMs in arithmetic mode can drive out registered and
unregistered versions of the adder outputs.
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.
Figure 2–10. ALM in Arithmetic Mode
datae0
carry_in
carry_out
dataa
datab
datac
datad
datae1
DQ
DQ
To general or
local routing
To general or
local routing
reg0
reg1
To general or
local routing
To general or
local routing
4-Input
LUT
4-Input
LUT
4-Input
LUT
4-Input
LUT
adder1
adder0
dataf0
dataf1
2–12 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices
Adaptive Logic Modules
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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.
1For more information on carry chain interconnect, refer to “ALM Interconnects” on
page 2–17.
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices 2–13
Adaptive Logic Modules
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
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.
Figure 2–11. ALM in Shared Arithmetic Mode
datae0
carry_in
shared_arith_in
shared_arith_out
carry_out
dataa
datab
datac
datad
datae1
DQ
DQ
To general or
local routing
To general or
local routing
reg0
reg1
To general or
local routing
To general or
local routing
4-Input
LUT
4-Input
LUT
4-Input
LUT
4-Input
LUT
labclk
2–14 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices
Adaptive Logic Modules
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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.
1For more information on shared arithmetic chain interconnect, refer to “ALM
Interconnects” on page 2–17.
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices 2–15
Adaptive Logic Modules
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
LUT-Register Mode
LUT-Register mode allows third register capability in an ALM. Two internal feedback
loops allow combinational
ALUT1
to implement the master latch and combinational
ALUT0
to implement the slave latch needed for the third register. The LUT register
shares its clock, clock enable, and asynchronous clear sources with the top dedicated
register. Figure 2–12 shows the register constructed using two combinational blocks in
the ALM.
Figure 2–13 shows the ALM in LUT-Register mode.
Figure 2–12. LUT Register from Two Combinational Blocks
4-input
LUT
5-input
LUT
clk
aclr
datain(datac)
sclr
sumout
Master latch
Slave latch
combout
LUT regout
sumout
combout
Figure 2–13. ALM in LUT-Register Mode with 3-Register Capability
datain
aclr
sclr regout
latchout
datain
sdata regout
aclr
datain
sdata regout
aclr
DC1
E0
F1
E1
F0
clk [2..0] aclr [1..0] reg_chain_in
lelocal 0
leout 0 a
leout 0 b
reg_chain_out
lelocal 1
leout 1 a
leout 1 b
Third register
2–16 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices
Adaptive Logic Modules
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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.
1For more information about register chain interconnect, refer to “ALM Interconnects
on page 2–17.
Figure 2–14. Register Chain in an LAB (Note 1)
Note to Figure 2–14:
(1) You can use the combinational or adder logic to implement an unrelated, un-registered function.
DQ
To general or
local routing
reg0
To general or
local routing
reg_chain_in
adder0
DQ
To general or
local routing
reg1
To general or
local routing
adder1
DQ
To general or
local routing
reg0
To general or
local routing
reg_chain_out
adder0
DQ
To general or
local routing
reg1
To general or
local routing
adder1
From previous ALM
in the LAB
To next ALM
in the LAB
Combinational
Logic
Combinational
Logic
labclk
Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices 2–17
Adaptive Logic Modules
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
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.
Figure 2–15. Shared Arithmetic Chain, Carry Chain, and Register Chain Interconnects
ALM 1
ALM 2
ALM 3
Carry chain & shared
arithmetic chain
routing to adjacent ALM
Local
interconnect
Register chain
routing to adjacent
ALM's register inpu
t
Local interconnect
routing among ALMs
in the LAB
ALM 10
...
...
2–18 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices
Document Revision History
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
Clocks represent a significant portion of dynamic power consumption due to their
high switching activity and long paths. The LAB clock that distributes a clock
signal to registers within an LAB is a significant contributor to overall clock power
consumption. Each LAB’s clock and clock enable signal are linked. For example, a
combinational ALUT or register in a particular LAB using the
labclk1
signal also
uses the
labclkena1
signal. To disable an LAB-wide clock power consumption
without disabling the entire clock tree, use the LAB-wide clock enable to gate the
LAB-wide clock. The Quartus II software automatically promotes register-level
clock enable signals to the LAB-level. All registers within the LAB that share a
common clock and clock enable are controlled by a shared, gated clock. To take
advantage of these clock enables, use a clock-enable construct in your HDL code
for the registered logic.
fFor 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 21 lists the revision history for this document.
Table 2–1. Document Revision History
Date Version Changes
December 2010 2.0
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
Logic Modules”, “ALM Operating Modes”, “Normal Mode” sections.
Added Figure 2–7 and Figure 2–8.
Added “LAB Power Management Techniques” section.
June 2009 1.1 Updated Figure 2–6.
February 2009 1.0 Initial Release.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011
AIIGX51003-3.2
Subscribe
© 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.
3. Memory Blocks in Arria II Devices
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.
1M144K 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
December 2011
AIIGX51003-3.2
3–2 Chapter 3: Memory Blocks in Arria II Devices
Memory Features
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
Memory Features
Table 31 lists the features supported by the embedded memory blocks.
Table 3–1. Summary of Memory Features in Arria II Devices (Part 1 of 2)
Feature
MLABs M9K Blocks M144K Blocks
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
Configurations (depth × width)
64×8
64×9
64 × 10
32 × 16
32 × 18
32 × 20
64 × 8
64 × 9
64 × 10
32 × 16
32 × 18
32 × 20
8K × 1
4K × 2
2K × 4
1K × 8
1K × 9
512 × 16
512 × 18
256 × 32
256 × 36
8K × 1
4K × 2
2K × 4
1K × 8
1K × 9
512 × 16
512 × 18
256 × 32
256 × 36
16K × 8
16K × 9
8K × 16
8K × 18
4K × 32
4K × 36
2K × 64
2K × 72
Parity bits vvvv v
Byte enable vvvv v
Packed mode vv v
Address clock enable vvvv v
Single-port memory vvvv v
Simple dual-port memory vvvv v
True dual-port memory vv v
Embedded shift register vvvv v
ROM vvvv v
FIFO buffer vvvv v
Simple dual-port mixed width
support ——vv v
True dual-port mixed width
support ——vv v
Memory initialization file (.mif)vvvv v
Mixed-clock mode vvvv v
Power-up condition
Outputs cleared if registered,
otherwise reads memory
contents.
Outputs cleared Outputs cleared
Register clears Output registers Output registers Output registers
Write/Read operation triggering Write: Falling clock edges.
Read: Rising clock edges
Write and Read: Rising clock
edges
Write and Read: Rising
clock edges
Same-port read-during-write Outputs set to
old data
Outputs set
to don’t care
Outputs set to old data or
new data
Outputs set to old data or
new data
Chapter 3: Memory Blocks in Arria II Devices 3–3
Memory Features
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Table 32 lists the capacity and distribution of the memory blocks in each Arria II
device.
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.
Mixed-port read-during-write
Outputs set to old data,
new data, or
don’t care
Outputs set to old data or
don’t care
Outputs set to
old data or
don’t care
ECC Support Soft IP support using the
Quartus II software
Soft IP support using the
Quartus II software
Built-in support in
×64-wide simple dual-port
mode or soft IP support
using the Quartus II
software
Table 3–1. Summary of Memory Features in Arria II Devices (Part 2 of 2)
Feature
MLABs M9K Blocks M144K Blocks
Arria II GX Arria II GZ Arria II GX Arria II GZ Arria II GZ
Table 3–2. Memory Capacity and Distribution in Arria II Devices
Device MLABs M9K Blocks M144K Total RAM Bits (including MLABs) (Kbits)
EP2AGX45 903 319 3,435
EP2AGX65 1,265 495 5,246
EP2AGX95 1,874 612 6,679
EP2AGX125 2,482 730 8,121
EP2AGX190 3,806 840 9,939
EP2AGX260 5,130 950 11,756
EP2AGZ225 4,480 1,235 13,915
EP2AGZ300 5,960 1,248 24 18,413
EP2AGZ350 6,970 1,248 36 20,772
3–4 Chapter 3: Memory Blocks in Arria II Devices
Memory Features
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
The default value for the byte enable signals is high (enabled), in which case writing is
controlled only by the write enable signals. The byte enable registers have no clear
port. When using parity bits on the M9K and M144K blocks, the byte enable controls
all 9 bits (8 bits of data plus 1 parity bit). When using parity bits on the MLAB, the
byte-enable controls all 10 bits in the widest mode.
Byte enables are only supported for true dual-port memory configurations when both
the PortA and PortB data widths of the individual M9K memory blocks are multiples
of 8 or 9 bits. For example, you cannot use byte enable for a mixed data width
memory configured with portA=32 and portB=8 because the mixed data width
memory is implemented as 2 separate 16 x 4 bit memories.
Byte enables operate in a one-hot fashion, with the LSB of the
byteena
signal
corresponding to the LSB of the data bus. For example, if you use a RAM block in ×18
mode,
byteena = 01
,
data[8..0]
is enabled and
data[17..9]
is disabled. Similarly, if
byteena = 11
, both
data[8..0]
and
data[17..9]
are enabled. Byte enables are active
high.
1You cannot use the byte enable feature when using the error correction coding (ECC)
feature on M144K blocks.
Figure 3–1 shows how the write enable (
wren
) and byte enable (
byteena
) signals
control the operations of the M9K and M144K memory blocks.
When a byte-enable bit is deasserted during a write cycle, the corresponding data byte
output can appear as either a “don’t care” value or the current data at that location.
The output value for the masked byte is controllable using the Quartus II software.
When a byte-enable bit is asserted during a write cycle, the corresponding data byte
output also depends on the setting chosen in the Quartus II software.
Figure 3–1. Byte Enable Functional Waveform for M9K and M144K
inclock
wren
address
data
don't care: q (asynch)
byteena
XXXX ABCD XXXX
XX 10 01 11 XX
an a0 a1 a2 a0 a1 a2
ABCDFFFF
FFFF ABFF
FFFF FFCD
contents at a0
contents at a1
contents at a2
doutn ABXX XXCD ABCD ABFF FFCD ABCD
doutn ABFF FFCD ABCD ABFF FFCD ABCD
current data: q (asynch)
Chapter 3: Memory Blocks in Arria II Devices 3–5
Memory Features
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 3–2 shows how the
wren
and
byteena
signals control the operations of the
MLABs. Falling clock edges triggers the write operation in MLABs.
Packed Mode Support
Arria II M9K and M144K blocks support packed mode. The packed mode feature
packs two independent single-port RAMs into one memory block. The Quartus II
software automatically implements the packed mode where appropriate by placing
the physical RAM block into true dual-port mode and using the MSB of the address to
distinguish between the two logical RAMs. The size of each independent single-port
RAM must not exceed half of the target block size.
Address Clock Enable Support
Arria II memory blocks support address clock enable, which holds the previous
address value for as long as the signal is enabled (
addressstall
=
1
). When you
configure the memory blocks in dual-port mode, each port has its own independent
address clock enable. The default value for the address clock enable signal is low
(disabled).
Figure 3–2. Byte Enable Functional Waveform for MLABs
inclock
wren
address
data
byteena
XXXX ABCD XXXX
ABCDFFFF
FFFF ABFF
FFFF FFCD
contents at a0
contents at a1
contents at a2
current data: q (asynch) doutn FFFF FFCD ABCD
FFFF ABFF FFCD FFCD
an a0 a1 a2 a0 a1 a2
XX 10 01 11 XX
ABFF
FFFF
3–6 Chapter 3: Memory Blocks in Arria II Devices
Memory Features
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
Figure 3–3 shows an address clock enable block diagram. The port name
addressstall
refers to the address clock enable.
Figure 3–4 shows the address clock enable waveform during the read cycle.
Figure 3–3. Address Clock Enable
address[0]
address[N]
addressstall
clock
1
0
address[0]
register
address[N]
register address[N]
address[0]
1
0
Figure 3–4. Address Clock Enable During Read Cycle Waveform
inclock
rden
rdaddress
q (synch)
a0 a1 a2 a3 a4 a5 a6
q (asynch)
an a0 a4 a5
latched address
(inside memory)
dout0 dout1 dout4
dout4 dout5
addressstall
a1
doutn-1 doutn
doutn dout0 dout1
Chapter 3: Memory Blocks in Arria II Devices 3–7
Memory Features
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 3–5 shows the address clock enable waveform during write cycle for M9K and
M144K blocks.
Figure 3–6 shows the address clock enable waveform during the write cycle for
MLABs.
Figure 3–5. Address Clock Enable During Write Cycle Waveform for M9K and M144K Blocks
inclock
wren
wraddress a0 a1 a2 a3 a4 a5 a6
an a0 a4 a5
latched address
(inside memory)
addressstall
a1
data 00 01 02 03 04 05 06
contents at a0
contents at a1
contents at a2
contents at a3
contents at a4
contents at a5
XX
04
XX
00
03
01
XX 02
XX
XX
XX 05
Figure 3–6. Address Clock Enable During Write Cycle Waveform for MLABs
inclock
wren
wraddress a0 a1 a2 a3 a4 a5 a6
an a0 a4 a5
latched address
(inside memory)
addressstall
a1
data 00 01 02 03 04 05 06
contents at a0
contents at a1
contents at a2
contents at a3
contents at a4
contents at a5
XX
04
XX
00
03
01
XX 02
XX
XX
XX 05
3–8 Chapter 3: Memory Blocks in Arria II Devices
Memory Features
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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.
1MLABs 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.
You can selectively enable asynchronous clears per logical memory using the RAM
MegaWizard Plug-In Manager.
fFor 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.
Figure 3–7. Output Latch Asynchronous Clear Waveform
aclr
aclr at latch
q
outclk
Chapter 3: Memory Blocks in Arria II Devices 3–9
Memory Features
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Table 33 lists the truth table for the ECC status flags.
1You cannot use the byte enable feature when ECC is engaged.
1Read-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.
Table 3–3. Truth Table for ECC Status Flags in Arria II Devices
Status eccstatus[2] eccstatus[1] eccstatus[0]
No error 000
Single error and fixed 0 1 1
Double error and no fix 1 0 1
Illegal 0 0 1
Illegal 0 1 0
Illegal 1 0 0
Illegal 1 1 X
Figure 3–8. ECC Block Diagram of the M144K Block
Data Input 64 64
64
872
SECDED
Encoder
RAM
Array
72 64
64
8
8
8
8
8
64
64 3
Status Flags
Data Output
SECDED
Encoder Comparator
Error
Correction
Block
Error
Locator
Flag
Generator
3–10 Chapter 3: Memory Blocks in Arria II Devices
Memory Modes
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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
1To 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.
1When 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)
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.
data[ ]
address[ ]
wren
byteena[]
addressstall
inclock
clockena
rden
aclr
outclock
q[]
Chapter 3: Memory Blocks in Arria II Devices 3–11
Memory Modes
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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 34 lists the possible port width configurations for memory blocks in single-port
mode.
Figure 3–10 shows timing waveforms for read and write operations in single-port
mode with unregistered outputs for M9K and M144K blocks. Registering the M9K
and M144K block outputs delay the
q
output by one clock cycle.
Table 3–4. Port Width Configurations for MLABs, M9K, and M144K Blocks (Single-Port Mode)
Port Width Configurations
MLABs M9K Blocks M144K Blocks
64 × 8
64 × 9
64 × 10
32 × 16
32 × 18
32 × 20
8K × 1
4K × 2
2K × 4
1K × 8
1K × 9
512 × 16
512 × 18
256 × 32
256 × 36
16K × 8
16K × 9
8K × 16
8K × 18
4K × 32
4K × 36
2K × 64
2K × 72
Figure 3–10. Timing Waveform for Read-Write Operations for M9K and M144K Blocks (Single-Port Mode)
clk_a
wrena
address_a
data_a
rdena
q_a (asynch)
a0 a1
ABC D EF
a0(old data) a1(old data)
AB D E
3–12 Chapter 3: Memory Blocks in Arria II Devices
Memory Modes
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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.
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–11. Timing Waveform for Read-Write Operations for MLABs (Single-Port Mode)
clk_a
wrena
address_a
data_a
rdena
q_a (asynch)
a0 a1
AB C D E F
a0
(old data) ABDE
a1
(old data)
C
Figure 3–12. Arria II Simple Dual-Port Memory
Note to Figure 3–12:
(1) Only available for Arria II GZ devices.
data[ ]
wraddress[ ]
wren
byteena[]
wr_addressstall
wrclock
wrclocken
aclr
rdaddress[ ]
rden
q[ ]
rd_addressstall
rdclock
rdclocken
ecc_status (1)
Chapter 3: Memory Blocks in Arria II Devices 3–13
Memory Modes
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Simple dual-port mode supports different read and write data widths (mixed width
support). Table 35 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 36 lists the mixed-width configurations for M144K blocks in simple dual-port
mode.
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.
Table 3–5. M9K Block Mixed-Width Configurations (Simple Dual-Port Mode)
Read Port
Write Port
8K×1 4K×2 2K×4 1K×8 512×16 256×32 1K×9 512×18 256×36
8K × 1 vvvv v v ——
4K × 2 vvvv v v ——
2K × 4 vvvv v v ——
1K × 8 vvvv v v ——
512 × 16 vvvv v v ——
256 × 32 vvvv v v ——
1K×9 ——— vv v
512×18 ——— vv v
256×36 ——— vv v
Table 3–6. M144K Block Mixed-Width Configurations (Simple Dual-Port Mode)
Read Port
Write Port
16K × 8 8K × 16 4K × 32 2K × 64 16K × 9 8K × 18 4K × 36 2K × 72
16K × 8 vvvv————
8K × 16 vvvv————
4K × 32 vvvv————
2K × 64 vvvv————
16K×9 ————vvvv
8K×18 ————vvvv
4K×36 ————vvvv
2K×72 ————vvvv
3–14 Chapter 3: Memory Blocks in Arria II Devices
Memory Modes
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
Figure 3–13 shows timing waveforms for read and write operations in simple
dual-port mode with unregistered outputs for M9K and M144K blocks. Registering
the M9K and M144K block outputs delay the
q
output by one clock cycle.
Figure 3–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–13. Simple Dual-Port Timing Waveforms for M9K and M144K Blocks
wrclock
wren
wraddress
rdclock
an-1 an a0 a1 a2 a3 a4 a5 a6
q (asynch)
rden
rdaddress bnb0b1b2b3
doutn-1 doutn dout0
din-1 din din4 din5 din6
data
Figure 3–14. Simple Dual-Port Timing Waveforms for MLABs
wrclock
wren
wraddress
rdclock
an-1 an a0 a1 a2 a3 a4 a5 a6
q (asynch)
rden
rdaddress bnb0b1b2b3
doutn-1 doutn dout0
din-1 din din4 din5 din6
data
Chapter 3: Memory Blocks in Arria II Devices 3–15
Memory Modes
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 3–15 shows timing waveforms for read and write operations in mixed-port
mode with unregistered outputs.
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.
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.
Figure 3–15. Mixed-Port Read-During-Write Timing Waveforms
clk_a
wrena
rdena
address A0 A1
byteena 01 10 00 11
data_a A123 B456 C789 DDDD EEEE FFFF
q_a (asynch) A0
(old data)
A1
(old data)
DDDD EEEEB423
D
old
D
old
23
Figure 3–16. Arria II True Dual-Port Memory
data_a[ ]
address_a[ ]
wren_a
byteena_a[]
addressstall_a
clock_a
enable_a
rden_a
aclr_a
q_a[]
data_b[ ]
address_b[]
wren_b
byteena_b[]
addressstall_b
clock_b
enable_b
rden_b
aclr_b
q_b[]
3–16 Chapter 3: Memory Blocks in Arria II Devices
Memory Modes
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
Table 37 lists the possible M9K block mixed-port width configurations in true
dual-port mode.
Table 38 lists the possible M144K block mixed-port width configurations in true
dual-port mode.
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.
Table 3–7. M9K Block Mixed-Width Configuration (True-Dual Port Mode)
Read Port
Write Port
8K × 1 4K × 2 2K × 4 1K × 8 512 × 16 1K × 9 512 × 18
8K × 1 vvvvv——
4K × 2 vvvvv——
2K × 4 vvvvv——
1K × 8 vvvvv——
512 × 16 vvvvv——
1K×9 ————vv
512×18 ————vv
Table 3–8. M144K Block Mixed-Width Configurations (True Dual-Port Mode)
Read Port
Write Port
16K × 8 8K × 16 4K × 32 16K × 9 8K × 18 4K × 36
16K × 8 vvv———
8K × 16 vvv———
4K × 32 vvv———
16K × 9 vvv
8K × 18 vvv
4K × 36 vvv
Chapter 3: Memory Blocks in Arria II Devices 3–17
Memory Modes
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 3–17 shows true dual-port timing waveforms for the write operation at port A
and the read operation at port B with the read-during-write behavior set to new data.
Registering the RAM outputs delay the
q
outputs by one clock cycle.
Shift-Register Mode
All Arria II memory blocks support shift register mode. Embedded memory block
configurations can implement shift registers for digital signal processing (DSP)
applications, such as finite impulse response (FIR) filters, pseudo-random number
generators, multi-channel filtering, and auto- and cross-correlation functions. These
and other DSP applications require local data storage, traditionally implemented with
standard flipflops that quickly exhaust many logic cells for large shift registers. A
more efficient alternative is to use embedded memory as a shift-register block, which
saves logic cell and routing resources.
The size of a shift register (
w
×
m
×
n
) is determined by the input data width (
w
), the
length of the taps (
m
), and the number of taps (
n
). You can cascade memory blocks to
implement larger shift registers.
Figure 3–17. True Dual-Port Timing Waveform
clk_a
wren_a
address_a
clk_b
an-1 an a0 a1 a2 a3 a4 a5 a6
q_b (asynch)
wren_b
address_bbnb0b1b2b3
doutn-1 doutn dout0
q_a (asynch)
din-1 din din4 din5 din6
data_a
din-1 din dout0 dout1 dout2 dout3 din4 din5
dout2dout1
3–18 Chapter 3: Memory Blocks in Arria II Devices
Memory Modes
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
Figure 3–18 shows the memory block in shift-register mode.
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.
fFor more information about implementing FIFO buffers, refer to the SCFIFO and
DCFIFO Megafunctions User Guide.
1MLABs do not support mixed-width FIFO mode.
Figure 3–18. Shift-Register Memory Configuration
W
w × m × n Shift Register
m-Bit Shift Register
m-Bit Shift Register
m-Bit Shift Register
m-Bit Shift Register
W
W
W
W
W
W
W
n Number of Taps
Chapter 3: Memory Blocks in Arria II Devices 3–19
Clocking Modes
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
cViolating 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 39 lists the supported clocking mode/memory mode combinations.
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.
Table 3–9. Internal Memory Clock Modes for Arria II Devices
Clocking Mode True Dual-Port Mode Simple Dual-Port Mode Single-Port Mode ROM Mode FIFO Mode
Independent v——v
Input and output vvvv
Read and write v——v
Single clock vvvvv
3–20 Chapter 3: Memory Blocks in Arria II Devices
Design Considerations
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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.
fFor 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.
Chapter 3: Memory Blocks in Arria II Devices 3–21
Design Considerations
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
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–19. Read-During-Write Data Flow
Port A
data in
Port B
data in
Port A
data out
Port B
data out
Mixed-port
data flow
Same-port
data flow
Figure 3–20. MLABs Blocks Same Port Read-During Write: Don’t Care Mode
clk_a
wrena
data_in
address A1
q(unregistered) A0(old data)
A2
FFFF AAAA XXXX
XX FFFF AAAA
A1(old data) A2(old data)
q(registered) FFFF AAAA
A0
XX
XX
XX
3–22 Chapter 3: Memory Blocks in Arria II Devices
Design Considerations
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
Figure 3–21 shows sample functional waveforms of same-port read-during-write
behavior in new data mode.
Figure 3–22 shows sample functional waveforms of same-port read-during-write
behavior in old data mode.
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.
Figure 3–21. M9K and M144K Blocks Same Port Read-During Write: New Data Mode
clk_a
wrena
rdena
address 0A 0B
byteena 01 10 00 11
data_a A123 B456 C789 DDDD EEEE FFFF
q_a (asynch) XX23 B4XX XXXX DDDD EEEE FFFF
Figure 3–22. M9K and M144K Blocks Same Port Read-During-Write: Old Data Mode
clk_a
wrena
rdena
address A0 A1
byteena 01 10 00 11
data_a A123 B456 C789 DDDD EEEE FFFF
q_a (asynch) A0
(old data)
A1
(old data)
DDDD EEEEB423
D
old
D
old
23
Chapter 3: Memory Blocks in Arria II Devices 3–23
Design Considerations
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
1Read-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
wrena
data_in
wraddress A1
byteena_a
q_b(registered)
A0
rdaddress A1
A0
AAAA BBBB CCCC DDDD EEEE FFFF
A0
(old data)
A1
(old data)
DDDDAABB
AAAA
11 01 10 11 01 10
DDEE
3–24 Chapter 3: Memory Blocks in Arria II Devices
Design Considerations
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
Figure 3–24 shows a sample functional waveform of mixed-port read-during-write
behavior for new data mode in MLABs.
Figure 3–25 shows a sample functional waveform of mixed-port read-during-write
behavior for don’t care mode in MLABs.
Figure 3–24. MLABs Mixed-Port Read-During-Write: New Data Mode
XXXX
11
clk_a
address_a
wren_a
byteena_a
data_a
q_b (registered)
AAAA BBBB CCCC DDDD EEEE FFFF
1A0A
AAAA BBBB CCCC DDDD EEEE FFFF
Figure 3–25. MLABs Mixed-Port Read-During-Write: Don’t Care Mode
clk_a
wrena
data_in
wraddress A1
byteena_a
q_b(registered)
A0
rdaddress A1
A0
AAAA BBBB CCCC DDDD EEEE FFFF
AAAA DDDD DDEECCBB
AABB
11 01 10 11 01 10
FFEE
Chapter 3: Memory Blocks in Arria II Devices 3–25
Design Considerations
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 3–26 shows a sample functional waveform of mixed-port read-during-write
behavior in old data mode.
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.
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.
Figure 3–26. M9K and M144K Mixed Port Read During Write: Old Data Mode
clk_a&b
wrena
rdenb
address_a A0 A1
byteena 11 01 10 11
data_a AAAA BBBB CCCC DDDD EEEE FFFF
q_b_(asynch) A0
(old data)
A1
(old data)
DDDD EEEEAABB
AAAA
address_b A0 A1
Figure 3–27. M9K and M144K Mixed-Port Read-During-Write: Don’t Care Mode
clk_a&b
wrena
rdenb
address_a A0 A1
byteena 11 01 10 11
data_a AAAA BBBB CCCC DDDD EEEE FFFF
q_b_(asynch) XXXX (unknown data)
address_b A0 A1
3–26 Chapter 3: Memory Blocks in Arria II Devices
Design Considerations
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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.
fFor 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.
Chapter 3: Memory Blocks in Arria II Devices 3–27
Document Revision History
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Document Revision History
Table 310 lists the revision history for this chapter.
Table 3–10. Document Revision History
Date Version Changes
December 2011 3.2
Updated Table 3–1.
Updated “Byte Enable Support” and “Mixed-Port Read-During-Write Mode” sections.
June 2011 3.1
Updated Table 3–1.
Updated the “Mixed-Port Read-During-Write Mode” section.
Minor text edits.
December 2010 3.0
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.
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.
November 2009 2.0
Updated for Arria II GX v9.1 release:
Updated Table 3–2
Updated Figure 3–16
Minor text edit
June 2009 1.1
Updated Table 3–1
Updated “Byte Enable Support”, “Simple Dual-Port Mode”, and “Read and Write Clock
Mode” sections
Updated Figure 3–1, Figure 3–2, Figure 3–5, Figure 3–9, Figure 3–12, Figure 3–18,
Figure 3–19, and Figure 3–20
Added Figure 3–2, Figure 3–6, Figure 3–10, and Figure 3–13
February 2009 1.0 Initial release
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
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2010
AIIGX51004-4.0
Subscribe
© 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.
4. DSP Blocks in Arria II Devices
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
December 2010
AIIGX51004-4.0
4–2 Chapter 4: DSP Blocks in Arria II Devices
DSP Block Overview
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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
Chapter 4: DSP Blocks in Arria II Devices 4–3
DSP Block Overview
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Table 41 lists the number of DSP blocks in Arria II devices.
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.
Table 4–1. Number of DSP Blocks in Arria II Devices (Note 1)
Family Device
DSP Blocks
Independent Input and Output Multiplication Operators
High
Precision
Multiplier
Adder
Mode
Four
Multiplier
Adder
Mode
9×9
Multipliers
12 × 12
Multipliers
18 × 18
Multipliers
18 × 18
Complex
36 × 36
Multipliers
18 × 36
Multipliers
18 × 18
Multipliers
Arria II GX
EP2AGX45 29 232 174 116 58 58 116 232
EP2AGX65 39 312 234 156 78 78 156 312
EP2AGX95 56 448 336 224 112 112 224 448
EP2AGX125 72 576 432 288 144 144 288 576
EP2AGX190 82 656 492 328 164 164 328 656
EP2AGX260 92 736 552 368 184 184 368 736
Arria II GZ
EP2AGZ225 100 800 600 400 200 200 400 800
EP2AGZ300 115 920 690 460 230 230 460 920
EP2AGZ350 130 1,040 780 520 260 260 520 1,040
Note to Table 4–1:
(1) The numbers in this table represents the numbers of multipliers in their respective mode.
Figure 4–1. Overview of DSP Block Signals
34
144
144
288
72
72
Half-DSP Block
Half-DSP Block
Output
Data
Output
Data
Full-DSP Block
Control
Input
Data
4–4 Chapter 4: DSP Blocks in Arria II Devices
Simplified DSP Operation
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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.
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–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
DQ
DQ
A0[17..0]
A1[17..0]
B1[17..0]
B0[17..0]
P[36..0]
+/-
Equation 4–2. Four-Multiplier Adder Equation
Z[37..0] = P0[36..0] + P1[36..0]
Chapter 4: DSP Blocks in Arria II Devices 4–5
Simplified DSP Operation
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
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.
Equation 4–3. Four-Multiplier Adder Equation (44-Bit Accumulation)
Wn[43..0] = Wn-1[43..0] ± Zn[37..0]
Figure 4–3. Four-Multiplier Adder and Accumulation Capability
++
144 44
Input
Data
Input Register Bank
Adder/
Accumulator
Output Register Bank
Half-DSP Block
Result[]
Pipeline Register Bank
4–6 Chapter 4: DSP Blocks in Arria II Devices
Simplified DSP Operation
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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 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.
Figure 4–4. Output Cascading Feature for FIR Structures
+
144 44
44
From Previous Half-DSP Block
To Next
Half-DSP Block
Input
Data
Input Register Bank
Pipeline Register Bank
Adder/
Accumulator
Round/Saturate
Output Register Bank
44
Half-DSP Block
Result[]
+
+
Chapter 4: DSP Blocks in Arria II Devices 4–7
Operational Modes Overview
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
The DSP block consists of two identical halves (top-half and bottom-half). Each half
has four 18 × 18 multipliers.
The Quartus®II software includes megafunctions that control the mode of operation
of the multipliers. After making the appropriate parameter settings with the
megafunction’s MegaWizard Plug-In Manager, the Quartus II software
automatically configures the DSP block.
Arria II DSP blocks can operate in different modes simultaneously. Each half block is
fully independent except for the sharing of the
clock
,
ena
, and the
aclr
signals. For
example, you can break down a single DSP block to operate a 9 × 9 multiplier in one
half block and an 18 × 18 two-multiplier adder in the other half block. This increases
DSP block resource efficiency and allows you to implement more multipliers in an
Arria II device. The Quartus II software automatically places multipliers that can
share the same DSP block resources in the same block.
Table 4–2. DSP Block Operational Modes for Arria II Devices
Mode Multiplier
in Width
Number of
Multiplier
# per
Block
Signed or
Unsigned
RND,
SAT
In Shift
Register
Chainout
Adder
1st Stage
Add/Sub
2nd Stage
Add/Acc
Independent
Multiplier
9 bits 1 8 Both No No No
12 bits 1 6 Both No No No
18 bits 1 4 Both Yes Yes No
36 bits 1 2 Both No No No
Double 1 2 Both No No No
Two-Multiplier
Adder (1) 18 bits 2 4 Signed (2) Yes No No Both
Four-Multiplier
Adder 18 bits 4 2 Both Yes Yes Yes Both Add Only
Multiply
Accumulate 18 bits 4 2 Both Yes Yes Yes Both Both
Shift (3) 36 bits (4) 12BothNoNo
High Precision
Multiplier Adder 18 36 2 2 Both No No 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.
4–8 Chapter 4: DSP Blocks in Arria II Devices
DSP Block Resource Descriptions
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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
Notes to Figure 4–5:
(1) Block output for accumulator overflow and saturate overflow.
(2) Block output for saturation overflow of
chainout
.
(3) When the
chainout
adder is not in use, the second adder register banks are known as output register banks.
(4) You must connect the
chainin
port to the
chainout
port of the previous DSP blocks; it must not be connected to general routings.
chainin[ ]
scanina[ ]
dataa_0[ ]
datab_0[ ]
dataa_1[ ]
datab_1[ ]
dataa_2[ ]
datab_2[ ]
dataa_3[ ]
scanouta chainout
datab_3[ ]
Input Register Bank
First Stage Adder First Stage Adder
Pipeline Register Bank
Second Stage Adder/Accumulator
First Round/Saturate
Second Adder Register Bank
Chainout Adder
Second Round/Saturate
Output Register Bank
Shift/Rotate
result[ ]
clock[3..0]
ena[3..0]
alcr[3..0]
zero_loopback
accum_sload
zero_chainout
chainout_round
chainout_saturate
signa
signb
output_round
output_saturate
rotate
shift_right
overflow (1)
chainout_sat_overflow (2
)
Half-DSP Block
loopback
Multiplexer
(3)
(4)
Chapter 4: DSP Blocks in Arria II Devices 4–9
DSP Block Resource Descriptions
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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)
Note to Figure 4–6:
(1) The
scanina
signal originates from the previous DSP block, while the
scanouta
signal goes to the next DSP block.
+/-
+/-
signa
signb
clock[3..0]
ena[3..0]
aclr[3..0]
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]
scanouta
Delay
Register
4–10 Chapter 4: DSP Blocks in Arria II Devices
DSP Block Resource Descriptions
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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 43 lists the summary of input register modes for the DSP block.
Table 4–3. Input Register Modes for Arria II Devices
Register Input Mode (1) 9×9 12×12 18×18 336 Double
Parallel input vvvvv
Shift register input (2) ——v——
Loopback input (3) ——v——
Notes to Table 4–3:
(1) The multiplier operand input word lengths are statically configured at compile time.
(2) Available only on the A-operand.
(3) Only one loopback input is allowed per half block. For details, refer to Figure 4–14 on page 4–21.
Chapter 4: DSP Blocks in Arria II Devices 4–11
DSP Block Resource Descriptions
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Multiplier and First-Stage Adder
The multiplier stage supports 9 × 9, 12 × 12, 18 × 18, or 36 × 36 multipliers. Other
word lengths are padded up to the nearest appropriate native wordlength; for
example, 16 × 16 is padded up to use 18 × 18. For more information, refer to
“Independent Multiplier Modes” on page 4–14. Depending on the data width of the
multiplier, a single DSP block can perform many multiplications in parallel.
Each multiplier operand can be a unique signed or unsigned number. Two dynamic
signals,
signa
and
signb
, control the representation of each operand, respectively. A
logic
1
value on the
signa/signb
signal indicates that
data A/data
B
is a signed
number; a
logic 0
value indicates an unsigned number.
Table 44 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.
Each half block has its own
signa
and
signb
signal. Therefore, all
data A
inputs
feeding the same half-DSP block must have the same sign representation. Similarly, all
data B
inputs feeding the same half-DSP block must have the same sign
representation. The multiplier offers full precision regardless of the sign
representation in all operational modes except for full precision 18 × 18 loopback and
two-multiplier adder modes. For more information, refer to “Two-Multiplier Adder
Sum Mode” on page 4–20.
1By default, when the
signa
and
signb
signals are unused, the Quartus II software sets
the multiplier to perform unsigned multiplication.
Figure 4–5 on page 4–8 shows that the outputs of the multipliers are the only outputs
that can feed into the first-stage adder. There are four first-stage adders in a DSP block
(two adders per half-DSP block). The first-stage adder block has the ability to perform
addition and subtraction. The control signal for addition or subtraction is static and
you must configure after compilation. The first-stage adders are used by the sum
modes to compute the sum of two multipliers, 18 × 18-complex multipliers, and to
perform the first stage of a 36 × 36 multiply and shift operation.
Depending on your specifications, the output of the first-stage adder has the option to
feed into the pipeline registers, second-stage adder, rounding and saturation unit, or
the output registers.
Table 4–4. Multiplier Sign Representation for Arria II Devices
Data A (signa Value) Data B (signb Value) Result
Unsigned (logic 0) Unsigned (logic 0) Unsigned
Unsigned (logic 0) Signed (logic 1) Signed
Signed (logic 1) Unsigned (logic 0) Signed
Signed (logic 1) Signed (logic 1) Signed
4–12 Chapter 4: DSP Blocks in Arria II Devices
DSP Block Resource Descriptions
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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)
1You 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.
1You cannot use the second-stage adder independently from the multiplier and
first-stage adder.
Rounding and Saturation Stage
Rounding and saturation logic units are located at the output of the 44-bit
second-stage adder (the rounding logic unit followed by the saturation logic unit).
There are two rounding and saturation logic units per half-DSP block. The input to
the rounding and saturation logic unit can come from one of the following stages:
Output of the multiplier (independent multiply mode in 18 × 18)
Output of the first-stage adder (two-multiplier adder)
Output of the pipeline registers
Output of the second-stage adder (four-multiplier adder, multiply-accumulate
mode in 18 × 18)
These stages are described in “Arria II Operational Mode Descriptions” on page 4–14.
The dynamic rounding and saturation signals control the rounding and saturation
logic unit, respectively. A
logic
1
value on the round signal, saturate signal, or both
enables the round logic unit, saturate logic unit, or both.
Chapter 4: DSP Blocks in Arria II Devices 4–13
DSP Block Resource Descriptions
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
1You can use the rounding and saturation logic units together or independently.
Second Adder and Output Registers
The second adder register and output register banks are two banks of 44-bit registers
that you can combine to form larger 72-bit banks to support 36 × 36 output results.
The outputs of the different stages in the Arria II devices are routed to the output
registers through an output selection unit. Depending on the operational mode of the
DSP block, the output selection unit selects whether the outputs of the DSP blocks
come from the outputs of the multiplier block, first-stage adder, pipeline registers,
second-stage adder, or the rounding and saturation logic unit. Based on the DSP block
operational mode you specify, the output selection unit is automatically set by the
software, and has the option to either drive or bypass the output registers. The
exception is when the block is used in shift mode, where you dynamically control the
output-select multiplexer directly.
When the DSP block is configured in chained cascaded output mode, both of the
second-stage adders are used. The first adder is for performing a four-multiplier
adder and the second is for the chainout adder. The outputs of the four-multiplier
adder are routed to the second-stage adder registers before enters the chainout adder.
The output of the chainout adder goes to the regular output register bank. Depending
on the configuration, you can route the chainout results to the input of the next half
block’s chainout adder input or to the general fabric (functioning as regular output
registers).
You can only connect the
chainin
port to the
chainout
port of the previous DSP block
and must not be connected to general routings.
The second-stage and output registers are triggered by the positive edge of the clock
signal and are cleared on power up. The
clock[3..0]
,
ena[3..0]
, and
aclr[3..0]
DSP block signals control the output registers in the DSP block.
4–14 Chapter 4: DSP Blocks in Arria II Devices
Arria II Operational Mode Descriptions
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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
Note to Figure 4–7:
(1) Block output for accumulator overflow and saturate overflow.
clock[3..0]
ena[3..0]
aclr[3..0]
signa
signb
output_round
output_saturate
overflow (1)
36
36
dataa_0[17..0]
datab_0[17..0]
dataa_1[17..0]
datab_1[17..0]
Half-DSP Block
Input Register Bank
Pipeline Register Bank
Round/Saturate Round/Saturate
Output Register Bank
18
18
18
18
result_0[ ]
result_1[ ]
Chapter 4: DSP Blocks in Arria II Devices 4–15
Arria II Operational Mode Descriptions
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 4–8. 12-Bit Independent Multiplier Mode Shown for Half-DSP Block
24
12
12
12
12
12
12
24
24
Input Register Bank
Pipeline Register Bank
Output Register Bank
clock[3..0]
ena[3..0]
aclr[3..0]
signa
signb
Half-DSP Block
dataa_0[11..0]
datab_0[11..0]
dataa_1[11..0]
datab_1[11..0]
dataa_2[11..0]
datab_2[11..0]
result_0[ ]
result_1[ ]
result_2[ ]
4–16 Chapter 4: DSP Blocks in Arria II Devices
Arria II Operational Mode Descriptions
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
The multiplier operands can accept signed integers, unsigned integers, or a
combination of both. You can change the
signa
and
signb
signals dynamically and
register these signals in the DSP block. Additionally, you can register the multiplier
inputs and results independently. You can use the pipeline registers in the DSP block
to pipeline the multiplier result, increasing the performance of the DSP block.
1The rounding and saturation logic unit is supported for 18-bit independent multiplier
mode only.
Figure 4–9. 9-Bit Independent Multiplier Mode Shown for Half-DSP Block
18
9
9
9
9
18
9
9
18
9
9
18
Input Register Bank
Pipeline Register Bank
Output Register Bank
dataa_0[8..0]
datab_0[8..0]
dataa_1[8..0]
datab_1[8..0]
dataa_2[8..0]
datab_2[8..0]
dataa_3[8..0]
datab_3[8..0]
Half-DSP Block
clock[3..0]
ena[3..0]
aclr[3..0]
signa
signb
result_0[ ]
result_1[ ]
result_2[ ]
result_3[ ]
Chapter 4: DSP Blocks in Arria II Devices 4–17
Arria II Operational Mode Descriptions
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
Pipeline Register Bank
Input Register Bank
Output Register Bank
Half-DSP Block
dataa_0[35..18]
datab_0[35..18]
dataa_0[17..0]
datab_0[35..18]
dataa_0[35..18]
datab_0[17..0]
dataa_0[17..0]
datab_0[17..0]
72
clock[3..0]
ena[3..0]
aclr[3..0]
signa
signb
+
+
+result[ ]
4–18 Chapter 4: DSP Blocks in Arria II Devices
Arria II Operational Mode Descriptions
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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
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
Pipeline Register Bank
Input Register Bank
Output Register Bank
Half-DSP Block
dataa_0[35..18]
datab_0[35..18]
dataa_0[17..0]
datab_0[35..18]
dataa_0[35..18]
datab_0[17..0]
dataa_0[17..0]
datab_0[17..0]
72
clock[3..0]
ena[3..0]
aclr[3..0]
signa
signb
+
+
+result[ ]
Chapter 4: DSP Blocks in Arria II Devices 4–19
Arria II Operational Mode Descriptions
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 4–12. Unsigned 54 × 54-Bit Multiplier
Double Mode
+
Two Multiplier
Adder Mode
36
Final Adder (implemented with ALUT logic)
55
72
108
result[ ]
Unsigned 54 × 54 Multiplier
"0"
"0"
dataa[53..36]
dataa[53..36]
dataa[53..36]
datab[53..36]
dataa[35..18]
datab[53..36]
dataa[17..0]
datab[53..36]
datab[35..18]
datab[17..0]
clock[3..0]
ena[3..0]
aclr[3..0]
signa
signb
dataa[35..18]
dataa[35..18]
datab[35..18]
datab[17..0]
datab[17..0]
dataa[17..0]
datab[35..18]
dataa[17..0]
Shifters and AddersShifters and Adders
36 × 36 Mode
4–20 Chapter 4: DSP Blocks in Arria II Devices
Arria II Operational Mode Descriptions
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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.
The loopback mode is a sub-feature of the two-multiplier adder mode. Figure 4–14
shows the DSP block configured in the loopback mode. This mode takes the 36-bit
summation result of the two multipliers and feeds back the most significant 18-bits to
the input. The lower 18-bits are discarded. You have the option to disable or zero-out
the loopback data with the dynamic
zero_loopback
signal. A
logic 1
value on the
zero_loopback
signal selects the
zeroed
data or disables the looped back data, and a
logic 0
selects the looped back data.
Figure 4–13. Two-Multiplier Adder Mode Shown for Half-DSP Block (Note 1)
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.
Input Register Bank
Pipeline Register Bank
Round/Saturate
Output Register Bank
clock[3..0]
ena[3..0]
aclr[3..0]
signa
signb
output_round
output_saturate
overflow (2)
result[ ]
+
dataa_0[17..0]
datab_0[17..0]
dataa_1[17..0]
datab_1[17..0]
Half-DSP Block
Chapter 4: DSP Blocks in Arria II Devices 4–21
Arria II Operational Mode Descriptions
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
1At compile time, you must select the option to use the loopback mode or the general
two-multiplier adder mode.
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.
1Two-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.
Figure 4–14. Loopback Mode for Half-DSP Block
Note to Figure 4–14:
(1) Block output for accumulator overflow and saturate overflow.
Input Register Bank
Pipeline Register Bank
Round/Saturate
Output Register Bank
dataa_0[17..0]
datab_0[17..0]
dataa_1[17..0]
datab_1[17..0]
zero_loopback
clock[3..0]
ena[3..0]
aclr[3..0]
signa
signb
output_round
output_saturate
overflow (1)
result[ ]
+
loopback
Half-DSP Block
4–22 Chapter 4: DSP Blocks in Arria II Devices
Arria II Operational Mode Descriptions
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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.
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.
Equation 4–4. Complex Multiplication Equation
(a + jb) × (c + jd) = [(a × c) (b × d)] + j[(a × d) + (b × c)]
Figure 4–15. Complex Multiplier Using Two-Multiplier Adder Mode
Input Register Bank
Pipeline Register Bank
Output Register Bank
(A × C) - (B × D)
(Real Part)
(A × D) + (B × C)
(Imaginary Part)
+
-
clock[3..0]
ena[3..0]
aclr[3..0]
signa
signb
A
C
B
D
Half-DSP Block
36
36
Chapter 4: DSP Blocks in Arria II Devices 4–23
Arria II Operational Mode Descriptions
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
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.
Figure 4–16. Four-Multiplier Adder Mode Shown for Half-DSP Block
Note to Figure 4–16:
(1) Block output for accumulator overflow and saturate overflow.
clock[3..0]
ena[3..0]
aclr[3..0]
signa
signb
output_round
output_saturate
overflow (1)
Input Register Bank
Pipeline Register Bank
Round/Saturate
Output Register Bank
dataa_0[ ]
datab_0[ ]
dataa_1[ ]
datab_1[ ]
dataa_2[ ]
datab_2[ ]
dataa_3[ ]
datab_3[ ]
Half-DSP Block
+
+
+
result[ ]
4–24 Chapter 4: DSP Blocks in Arria II Devices
Arria II Operational Mode Descriptions
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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
Note to Figure 4–17:
(1) Block output for accumulator overflow and saturate overflow.
clock[3..0]
ena[3..0]
aclr[3..0]
signa
signb
overflow (1)
Input Register Bank
Pipeline Register Bank
Output Register Bank
dataA[0:17]
P0
P1
dataA[0:17]
dataC[0:17]
dataC[0:17]
dataD[0:17]
dataD[18:35]
dataB[0:17]
<<18
<<18
dataB[18:35]
Half-DSP Block
+
+
result[ ]
+
Chapter 4: DSP Blocks in Arria II Devices 4–25
Arria II Operational Mode Descriptions
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
A single DSP block can implement up to two independent 44-bit accumulators.
Use the dynamic
accum_sload
control signal to clear the accumulation. A
logic
1
value on the
accum_sload
signal synchronously loads the accumulator with the
multiplier result only, and a
logic
0
enables accumulation by adding or subtracting
the output of the DSP block (accumulator feedback) to the output of the multiplier
and first-stage adder.
Figure 4–18. Multiply Accumulate Mode Shown for Half-DSP Block
Note to Figure 4–18:
(1) Block output for saturation overflow of chainout.
clock[3..0]
ena[3..0]
aclr[3..0]
signa
signb
output_round
output_saturate
chainout_sat_overflow (1)
Input Register Bank
Pipeline Register Bank
Round/Saturate
Output Register Bank
dataa_0[ ]
datab_0[ ]
dataa_1[ ]
datab_1[ ]
dataa_2[ ]
datab_2[ ]
dataa_3[ ]
datab_3[ ]
Half-DSP Block
+
+
+
result[ ]
accum_sload
44
Second Register Bank
4–26 Chapter 4: DSP Blocks in Arria II Devices
Arria II Operational Mode Descriptions
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
1The 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]
1You can switch the shift mode between these modes with the dynamic rotate and shift
control signals.
You can easily use the shift mode in an Arria II device with a soft embedded processor
such as the Nios®II processor to perform the dynamic shift and rotate operation.
Shift mode makes use of the available multipliers to logically or arithmetically shift
left, right, or rotate the desired 32-bit data. The DSP block is configured like the
independent 36-bit multiplier mode to perform the shift mode operations.
Arithmetic shift right requires a signed input vector. During arithmetic shift right, the
sign is extended to fill the MSB of the 32-bit vector. The logical shift right uses an
unsigned input vector. During logical shift right, zeros are padded in the most
significant bits shifting the 32-bit vector to the right. The barrel shifter uses an
unsigned input vector and implements a rotation function on a 32-bit word length.
Two control signals,
rotate
and
shift_right
, together with the
signa
and
signb
signals, determine the shifting operation.
Chapter 4: DSP Blocks in Arria II Devices 4–27
Arria II Operational Mode Descriptions
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 4–19 shows the shift mode configuration.
Table 45 lists examples of shift operations.
Figure 4–19. Shift Operation Mode Shown for Half-DSP Block
clock[3..0]
ena[3..0]
aclr[3..0]
signa
signb
rotate
shift_right
Input Register Bank
Pipeline Register Bank
Output Register Bank
dataa_0[35..18]
datab_0[35..18]
dataa_0[17..0]
datab_0[35..18]
dataa_0[35..18]
datab_0[17..0]
dataa_0[17..0]
datab_0[17..0]
Half-DSP Block
+
+
+
result[ ]
32
Shift/Rotate
Table 4–5. Examples of Shift Operations
Example Signa Signb Shift Rotate A-input B-input Result
Logical Shift Left
LSL[N]
Unsigned Unsigned 0 0 0×AABBCCDD 0×0000100 0×BBCCDD00
Logical Shift Right
LSR[32-N]
Unsigned Unsigned 1 0 0×AABBCCDD 0×0000100 0×000000AA
Arithmetic Shift Left
ASL[N]
Signed Unsigned 0 0 0×AABBCCDD 0×0000100 0×BBCCDD00
Arithmetic Shift Right
ASR[32-N]
Signed Unsigned 1 0 0×AABBCCDD 0×0000100 0×FFFFFFAA
Rotation
ROT[N]
Unsigned Unsigned 0 1 0×AABBCCDD 0×0000100 0×BBCCDDAA
4–28 Chapter 4: DSP Blocks in Arria II Devices
Arria II Operational Mode Descriptions
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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 47 that
the main difference between the two rounding options is when the residue bits are
exactly half way between its nearest two integers and the LSB is zero (even).
Table 4–6. Example of Round-To-Nearest-Even Mode
6- to 4-bits Rounding Odd/Even (Integer) Fractional Add to Integer Result
010111 × > 0.5 (11) 1 0110
001101 × < 0.5 (01) 0 0011
001010 Even (0010) = 0.5 (10) 0 0010
001110 Odd (0011) = 0.5 (10) 1 0100
110111 × > 0.5 (11) 1 1110
101101 × < 0.5 (01) 0 1011
110110 Odd (1101) = 0.5 (10) 1 1110
110010 Even (1100) = 0.5 (10) 0 1100
Table 4–7. Comparison of Round-to-Nearest-Integer and Round-to-Nearest-Even
Round-To-Nearest-Integer Round-To-Nearest-Even
010111 0110 010111 0110
001101 0011 001101 0011
001010 0011 001010 0010
001110 0100 001110 0100
110111 1110 110111 1110
101101 1011 101101 1011
110110 1110 110110 1110
110010 1101 110010 1100
Chapter 4: DSP Blocks in Arria II Devices 4–29
Arria II Operational Mode Descriptions
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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 48 lists how the saturation works. In this example, a 44-bit input is saturated to
36-bits.
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.
1For 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.
Table 4–8. Examples of Saturation
44 to 36 Bits Saturation Symmetric SAT Result Asymmetric SAT Result
5926AC01342h 7FFFFFFFFh 7FFFFFFFFh
ADA38D2210h 800000001h 800000000h
Figure 4–20. Rounding and Saturation Locations
43 42 29 281 0
43 42 21 20 7 6 0
16 User defined SAT Positions (bit 43-28)
16 User defined RND Positions (bit 21-6)
4–30 Chapter 4: DSP Blocks in Arria II Devices
Arria II Operational Mode Descriptions
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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 49 shows a list of dynamic signals for the DSP block. Table 49 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
signa
signb
Signed/unsigned control for all multipliers and adders.
signa
for “multiplicand” input bus to
dataa[17:0]
each multiplier.
signb
for “multiplier” input bus
datab[17:0]
to each multiplier.
signa
= 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
output_round
Round control for first stage round/saturation block.
output_round
= 1 for rounding on multiply output
output_round
= 0 for normal multiply output
1
chainout_round
Round control for second stage round/saturation block.
chainout_round
= 1 for rounding on multiply output
chainout_round
= 0 for normal multiply output
1
output_saturate
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 for saturation support
output_saturate
= 0 for no saturation support
1
chainout_saturate
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
= 1 for saturation support
chainout_saturate
= 0 for no saturation support
1
accum_sload
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
1
zero_chainout
Dynamically specifies whether the chainout value is zero. 1
zero_loopback
Dynamically specifies whether the loopback value is zero. 1
rotate rotation
= 1, rotation feature is enabled 1
Chapter 4: DSP Blocks in Arria II Devices 4–31
Software Support for Arria II Devices
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
fFor instructions about using the megafunctions and the MegaWizard Plug-In
Manager, refer to the Quartus II Software Help.
fFor more information, refer to Section III: Synthesis in volume 1 of the Quartus II
Handbook.
shift_right shift_right
= 1, shift right feature is enabled 1
DSP Block Dynamic Signals per Full-DSP Block
clock0
clock1
clock2
clock3
DSP-block-wide clock signals 4
ena0
ena1
ena2
ena3
Input and Pipeline Register enable signals 4
aclr0
aclr1
aclr2
aclr3
DSP block-wide asynchronous clear signals (active low) 4
Total Count per Half- and Full-DSP Blocks 33
Table 4–9. DSP Block Dynamic Signals for DSP Block in Arria II Devices (Part 2 of 2)
Signal Name Function Count
4–32 Chapter 4: DSP Blocks in Arria II Devices
Document Revision History
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
Document Revision History
Table 410 shows the revision history for this document.
Table 4–10. Document Revision History
Date Version Changes
December 2010 4.0
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.
Updated Table 4–1
Added Figure 4–3, Figure 4–7, Figure 4–11, and Figure 4–15
Minor text edits
July 2010 3.0
Updated for the Arria II GX v10.0 release:
Updated “DSP Block Resource Descriptions” and “Second-Stage Adder” sections
Minor text edits
November 2009 2.0
Updated for Arria II GX v9.1 release:
Updated Table 4–1 and Table 4–9
Updated Figure 4–9
Minor text edit
June 2009 1.1 Updated Table 4–1
February 2009 1.0 Initial release
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012
AIIGX51005-4.2
Subscribe
© 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.
5. Clock Networks and PLLs in Arria II
Devices
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–21
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.
July 2012
AIIGX51005-4.2
5–2 Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 51 lists the clock resources available in Arria II devices.
Arria II GX devices have up to 12 dedicated single-ended clock pins or six dedicated
differential clock pins (
DIFFCLK_[0..5]p
and
DIFFCLK_[0..5]n
) that can drive either
the GCLK or RCLK networks. These clock pins are arranged on the three sides (top,
bottom, and right sides) of the Arria II GX device, as shown in Figure 5–1 on page 5–3
and Figure 5–3 on page 5–5.
Arria II GZ devices have up to 32 dedicated single-ended clock pins or 16 dedicated
differential clock pins (
CLK[0..15]p
and
CLK[0..15]n
) that can drive either the GCLK
or RCLK networks. These clock pins are arranged on the four sides of the Arria II GZ
device, as shown in Figure 5–2 on page 5–4 and Figure 5–4 on page 5–5.
Table 5–1. Clock Resources in Arria II Devices
Clock Resource
and Device
Number of Resources Available Source of Clock Resource
Arria II GX Arria II GZ Arria II GX Arria II GZ
Clock input pins
12
Single-ended
(6 Differential)
32
Single-ended
(16 Differential)
CLK[4..15]
,
DIFFCLK_[0..5]p/n
pins
CLK[0..15]p
and
CLK[0..15]
n pins
GCLK networks 16 16
CLK[4..15]
pins, PLL
clock outputs,
programmable logic device
(PLD)-transceiver interface
clocks, and logic array
CLK[0..15]p and
CLK[0..15]n pins, PLL
clock outputs, and logic array
RCLK networks 48 64/88 (1)
CLK[4..15]
pins, PLL
clock outputs,
PLD-transceiver interface
clocks, and logic array
CLK[0..15]p and
CLK[0..15]n pins, PLL
clock outputs, and logic array
PCLK networks
84
(24 per device
quadrant) (2)
88
(22 per device
quadrant)
Dynamic phase alignment
(DPA) clock outputs,
PLD-transceiver interface
clocks, horizontal I/O pins,
and logic array
DPA clock outputs,
PLD-transceiver interface
clocks, horizontal I/O pins,
and logic array
GCLKs/RCLKs per
quadrant 28 32/38 (3) 16 GCLKs + 12 RCLKs 16 GCLKs + 16 RCLKs
16 GCLKs + 22 RCLKs
GCLKs/RCLKs per
device 64 80/104 (4) 16 GCLKs + 48 RCLKs 16 GCLKs + 64 RCLKs
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.
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–3
Clock Networks in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
Notes to Figure 5–1:
(1)
PLL_5
and
PLL_6
are only available in EP2AGX95, EP2AGX125, EP2AGX190, and EP2AGX260 devices.
(2) Because there are no dedicated clock pins on the left side of an Arria II GX device,
GCLK[0..3]
are not driven by any clock pins.
GCLK[0..3] (
2
)
GCLK[4..7]
CLK[4..7]
GCLK[8..11]
CLK[8..11]
CLK[12..15]
Center PLLs
Top Right PLLTop Left PLL
Bottom Left PLL Bottom Right PLL
GCLK[12..15]
PLL_1 PLL_2
(1)
(1)
PLL_3
PLL_5
PLL_6
PLL_4
5–4 Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
Figure 5–2. GCLK Networks in Arria II GZ Devices
T1 T2
L2
L3
B1 B2
R2
R3
GCLK[12..15]
GCLK[4..7]
CLK[4..7]
GCLK[0..3] GCLK[8..11]
CLK[12..15]
CLK[0..3] CLK[8..11]
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–5
Clock Networks in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 5–3. RCLK Networks in Arria II GX Devices
Notes to Figure 5–3:
(1)
PLL_5
and
PLL_6
are only available in EP2AGX95, EP2AGX125, EP2AGX190, and EP2AGX260 devices.
(2)
RCLK[0..5]
is not driven by any clock pins because there are no dedicated clock pins on the left side of the Arria II GX devices.
Figure 5–4. RCLK Networks in Arria II GZ Devices (Note 1)
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.
RCLK[0..5] RCLK[30..35]
RCLK[6..11] RCLK[24..29]
RCLK[42..47]
CLK[12..15]Top Left PLL
Bottom Left PLL Bottom Right PLL
Top Right PLL
Center PLLs
CLK[8..11]
CLK[4..7]
RCLK[36..41]
RCLK[12..17] RCLK[18..23]
Q1 Q2
Q4 Q3
PLL_2
PLL_6
PLL_5
(2)
(2)
(1)
(1)
PLL_4 PLL_3
PLL_1
CLK[4..7]
CLK[0..3]
CLK[12..15]
CLK[8..11]
Q1 Q2
Q4 Q3 R3
R2
T2T1
B2B1
L3
L2
RCLK[54..63] RCLK[44..53]
RCLK[0..5] RCLK[38..43]
RCLK[32..37]
RCLK[6..11]
RCLK[12..21] RCLK[22..31]
5–6 Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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)
PCLK[0..8]
PCLK[34..49]
PCLK[9..17] PCLK[18..33]
CLK[12..15]Top Left PLL
Bottom Left PLL Bottom Right PLL
Top Right PLL
Center PLLs
CLK[8..11]
CLK[4..7]
Q1 Q2
Q4 Q3
PLL_2
PLL_6
PLL_5
PLL_4 PLL_3
PLL_1
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–7
Clock Networks in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 5–6. PCLK Networks in (EP2AGX95 and EP2AGX125 Devices)
Figure 5–7. PCLK Networks in (EP2AGX190 and EP2AGX260 Devices)
PCLK[0..12]
PCLK[43..58]
PCLK[13..26] PCLK[27..42]
CLK[12..15]Top Left PLL
Bottom Left PLL Bottom Right PLL
Top Right PLL
Center PLLs
CLK[8..11]
CLK[4..7]
Q1 Q2
Q4 Q3
PLL_2
PLL_6
PLL_5
PLL_4 PLL_3
PLL_1
PCLK[9..17]
PCLK[60..71]
PCLK[27..35] PCLK[36..47]
CLK[12..15]Top Left PLL
Bottom Left PLL Bottom Right PLL
Top Right PLL
Center PLLs
CLK[8..11]
CLK[4..7]
Q1 Q2
Q4 Q3
PLL_2
PLL_6
PLL_5
PLL_4 PLL_3
PLL_1
PCLK[48..59]
PCLK[72..83]
PCLK[0..8]
PCLK[18..26]
5–8 Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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–8. PCLK Networks in Arria II GZ Devices
[
PCLK[11..21]
PCLK[66..76]
PCLK[33..43] PCLK[44..54]
CLK[12..15]
CLK[8..11]CLK[0..3]
CLK[4..7]
Q1 Q2
Q4 Q3
R3
R2
B1 B2
T1 T2
PCLK[55..65]
PCLK[77..87]
PCLK[0..10]
PCLK[22..32]
L3
L2
Figure 5–9. Hierarchical Clock Networks per Spine Clock in Arria II Devices (Note 1)
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.
SCLK
Column I/O clock (5
)
Core reference
clock (6)
Row clock (7)
GCLK
RCLK
PLL feedback clock (2)
PCLK
9
2
26
16
3
16 (3)
22 (4)
6
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–9
Clock Networks in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
1A 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.
5–10 Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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
Figure 5–11. Device Dual-Regional Clock Region for Arria II GZ Devices
Clock pins or PLL outputs
can drive half of the device to
create side-wide clocking
regions for improved
interface timing.
Regional clock
multiplexers
PLL_1
PLL_4 PLL_3
PLL_2
Clock pins or PLL outputs
can drive half of the device to
create side-wide clocking
regions for improved
interface timing.
Regional clock
multiplexer
T1 T2
B1 B2
L3
L2
R3
R2
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–11
Clock Networks in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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 52 through Table 5–5 on page 5–12 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
TRDY
and
IRDY
for 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.
1You 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 52 and Table 53 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
Clock Resources
CLK (p/n Pins)
4 5 6 7 8 9 10 11 12 13 14 15
GCLK[0..3]
(1) ————————————
GCLK[4..7]
v v v v ————————
GCLK[8..11]
———— v v v v ————
GCLK[12..15]
———————— v v v v
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)
Clock Resources
CLK (p/n Pins)
0123456789101112131415
GCLK[0..3]
v v v v ————————————
GCLK[4..7]
———— v v v v ————————
5–12 Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 54 and Table 55 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.
GCLK[8..11]
———————— v v v v ————
GCLK[12..15]
———————————— v v v v
Table 5–3. Clock Input Pin Connectivity to the GCLK Networks for Arria II GZ Devices (Part 2 of 2)
Clock Resources
CLK (p/n Pins)
0123456789101112131415
Table 5–4. Clock Input Pin Connectivity to RCLK Networks for Arria II GX Devices
Clock Resource
CLK (p/n Pins)
456789101112131415
RCLK [12, 14, 16, 18, 20, 22]
v v ———————
RCLK [13, 15, 17, 19, 21, 23]
v v ——————
RCLK [24..35]
———— v v v v ———
RCLK [36, 38, 40, 42, 44, 46]
———————— v v
RCLK [37, 39, 41, 43, 45, 47]
————————— v v
Table 5–5. Clock Input Pin Connectivity to the RCLK Networks for Arria II GZ Devices (Part 1 of 2)
Clock Resource
CLK (p/n Pins)
0123456789101112131415
RCLK [0, 4, 6, 10]
v —————————————
RCLK [1, 5, 7, 11]
v————————————
RCLK [2, 8]
——
v———————————
RCLK [3, 9]
——
v——————————
RCLK [13, 17, 21, 23,
27, 31]
—— v—————————
RCLK [12, 16, 20, 22,
26, 30]
————v————————
RCLK [15, 19, 25, 29]
—————v———————
RCLK [14, 18, 24, 28]
——————v——————
RCLK [35, 41]
———————v—————
RCLK [34, 40]
————————v————
RCLK [33, 37, 39, 43]
—————————v———
RCLK [32, 36, 38, 42]
——————————v——
RCLK [47, 51, 57, 61]
———————————v———
RCLK [46, 50, 56, 60]
————————————v——
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–13
Clock Networks in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Clock Input Connections to PLLs
Table 56 and Table 57 list dedicated clock input pin connectivity to Arria II PLLs.
RCLK [45, 49, 53, 55,
59, 63]
—————————————v
RCLK [44, 48, 52, 54,
58, 62]
—————————————v
Table 5–5. Clock Input Pin Connectivity to the RCLK Networks for Arria II GZ Devices (Part 2 of 2)
Clock Resource
CLK (p/n Pins)
0123456789101112131415
Table 5–6. PLLs and PLL Clock Pin Drivers for Arria II GX Devices (Note 1)
Dedicated Clock Input Pin CLK (p/n Pins)
PLL Number
1 2 345 6
CLK[4..7]
—— v v ——
CLK[8..11]
v v v v
CLK[12..15]
v v———
Note to Table 5–6:
(1)
PLL_5
and
PLL_6
are connected directly to
CLK[8..11]
.
PLL_1
,
PLL_2
,
PLL_3
and
PLL_4
are 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)
Dedicated Clock Input Pin CLK
(p/n Pins)
PLL Number
L2 L3 B1 B2 R2 R3 T1 T2
CLK[0..3]
v v——
CLK[4..7]
——v v ———
CLK[8..11]
———— v v ——
CLK[12..15]
———— vv
Notes to Table 5–7:
(1) For single-ended clock inputs, only the
CLK
<#>
p
pin has a dedicated connection to the PLL. If you use the
CLK
<#>
n
pin, 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.
5–14 Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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 58 and Table 59 list the Arria II PLL connectivity to GCLK networks.
Table 510 and Table 5–11 list how the PLL clock outputs connect to RCLK networks.
Table 5–8. PLL Connectivity to GCLKs for Arria II GX Devices
Clock Network
PLL Number
123456
GCLK[0..3]
v —— v ——
GCLK[4..7]
—— v v ——
GCLK[8..11]
v v v v
GCLK[12..15]
v v ————
Table 5–9. PLL Connectivity to the GCLK Networks for Arria II GZ Devices (Note 1)
Clock Network
PLL Number
L2 L3 B1 B2 R2 R3 T1 T2
GCLK[0..3]
v v ——————
GCLK[4..7]
——vv————
GCLK[8..11]
————vv——
GCLK[12..15]
——————vv
Note to Table 59:
(1) Only PLL counter outputs C0 - C3 can drive the GCLK networks.
Table 5–10. RCLK Outputs from PLLs for Arria II GX Devices
Clock Resource
PLL Number
123456
RCLK[0..11]
v ——v——
RCLK[12..23]
——vv——
RCLK[24..35]
v vvv
RCLK[36..47]
vv————
Table 5–11. RCLK Outputs From the PLL Clock Outputs for Arria II GZ Device (Part 1 of 2)
Clock Resource
PLL Number
L2 L3 B1 B2 R2 R3 T1 T2
RCLK[0..11]
vv——————
RCLK[12..31]
——vv————
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–15
Clock Networks in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
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
C0
or
C1
), or a combination of clock pins or PLL outputs.
RCLK[32..43]
——vv——
RCLK[44..63]
—————vv
Table 5–11. RCLK Outputs From the PLL Clock Outputs for Arria II GZ Device (Part 2 of 2)
Clock Resource
PLL Number
L2 L3 B1 B2 R2 R3 T1 T2
Figure 5–12. GCLK Control Block for Arria II Devices
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.
PLL Counter
Outputs (3)
Internal
Logic
Static Clock
Select (2)
CLKSELECT[1..0]
This multiplexer
supports user-controllable
dynamic switching
Inter-Transceiver
Block Clock Lines
(4)
(1)
22
2
CLK
Pin
Enable/
Disable
GCLK
Internal
Logic
CLK
Pin
5–16 Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 512 lists the mapping between the input clock pins, PLL counter outputs, and
clock control block inputs.
1When 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
inclk
sources for each GCLK and RCLK network, refer to
Table 5–2 on page 5–11 through Table 5–10 on page 5–14.
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–15 through Figure 5–14 on page 5–17.
You can set the input clock sources and the
clkena
signals 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.
1When 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–16.
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[1]
(1) Can be fed by any of the four dedicated clock pins on the same side.
inclk[2]
For Arria II GX device—can be fed by PLL counters
C0
and
C2
from 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.
inclk[3]
For Arria II GX device—can be fed by PLL counters
C1
and
C3
from the two corner PLLs
on the same side.
For Arria II GZ device—can be fed by PLL counters
C1
and
C3
from 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
C4
or
C6
, while
inclk[1]
can only be fed by PLL counter
C5
.
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–17
Clock Networks in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
fFor 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
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
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
CLKn
pin is not a dedicated clock input when used as a single-ended PLL clock input.
CLK
Pin
PLL Counter
Outputs Internal
Logic
Enable/
Disable
RCLK
Internal
Logic
Static Clock Select (1
)
2
CLKp
Pin
PLL Counter
Outputs Internal
Logic
CLKn
Pin
Enable/
Disable
RCLK
Internal
Logic
Static Clock Select (1)
2
(2)
5–18 Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Figure 5–15 shows the external PLL output 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–15. External PLL Output Clock Control Block Arria II Devices
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.
PLL Counter
Outputs and m Counter
Enable/
Disable
PLL<#>_CLKOUT pin
Internal
Logic
Static Clock Select
IOE
(2)
Static Clock
Select
(2)
Internal
Logic
(3)
n (1)
Figure 5–16. clkena Implementation for Arria II Devices
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).
clkena GCLK/
RCLK/
PLL_<#>_CLKOUT (1
)
output of clock
select multiplexer
(2)
R1 R2
(1)
(1)
DQDQ
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–19
Clock Networks in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
In Arria II devices, the
clkena
signals 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
clkena
signals 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.
The PLL can remain locked independent of the
clkena
signals because the
loop-related counters are not affected. This feature is useful for applications that
require a low power or sleep mode. The
clkena
signal 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
_
5
and
PLL
_
6
) are shown in Figure 5–18. For Arria II GZ devices, the clock input sources to
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.
Figure 5–17. clkena Signals for Arria II Devices
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.
clkena
output of AND
gate with R2 bypassed
output of
clock
select multiplexer
output of AND
gate with R2 not bypassed
5–20 Chapter 5: Clock Networks and PLLs in Arria II Devices
Clock Networks in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
fFor 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
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.
4
4
(1)
(1)
inclk0
inclk1
To the clock
switchover bloc
k
CLK[n+3..n]
(2)
GCLK / RCLK input
(3)
Adjacent PLL output
Figure 5–19. Clock Input Multiplexer Logic for Arria II GZ devices
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.
4
4
(1)
(1)
inclk0
inclk1
To the clock
switchover bloc
k
clk[n+3..n]
(2)
GCLK / RCLK input
(3)
Adjacent PLL output
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–21
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
_
5
and
PLL
_
6
on the right side of EP2AGX95, EP2AGX125, EP2AGX190, and EP2AGX260 devices.
Arria II GX devices allow cascading of
PLL
_
1
and
PLL
_
4
to the transceiver PLLs (clock
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.
fFor more information, refer to the “FPGA Fabric PLLs-Transceiver PLLs Cascading”
section in the Transceiver Clocking in Arria II Devices chapter.
fFor 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–3 through Figure 5–4 on page 5–5.
1Depending 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.
fFor 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.
5–22 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 513 lists the PLL features in Arria II devices.
Table 5–13. PLL Features in Arria II Devices
Feature Arria II GX PLLs
Arria II GZ PLLs
Top/Bottom PLLs Left/Right PLLs
C
(output) counters 7 10 7
M
,
N
,
C
counter sizes 1 to 512 1 to 512 1 to 512
Dedicated clock outputs
1 single-ended or 1 differential
pair
3 single-ended or 3 differential
pairs (1), (2)
6 single-ended or
4 single-ended and
1 differential pair
2 single-ended or 1 differential
pair
Clock input pins 4 single-ended or 2 differential
pin pairs
4 single-ended or 2
differential pin pairs
4 single-ended or 2 differential
pin pairs
External feedback input pin No Single-ended or differential Single-ended only
Spread-spectrum input clock
tracking Yes (3) Yes (3) Yes (3)
PLL cascading
Through GCLK and RCLK and
dedicated path between
adjacent PLLs. Cascading
between the general-purpose
PLL and transceiver PLL is
supported in
PLL_1
and
PLL_4
.
Through GCLK and RCLK
and a dedicated path
between adjacent PLLs
Through GCLK and RCLK and
dedicated path between
adjacent PLLs (4)
Compensation modes
All except external feedback
mode when you use
differential I/Os
All except LVDS clock
network compensation
All except external feedback
mode when you use
differential I/Os
PLL drives
DIFFCLK
and
LOADEN
Yes No Yes
VCO output drives DPA clock Yes No Yes
Phase shift resolution Down to 96.125 ps (5) Down to 96.125 ps (5) Down to 96.125 ps (5)
Programmable duty cycle Yes Yes Yes
Output counter cascading Yes Yes Yes
Input clock switchover Yes Yes Yes
Notes to Table 5–13:
(1)
PLL_5
and
PLL_6
do 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_1
and
PLL_3
of 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
C
counter
value.
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–23
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
PLL Hardware Overview in Arria II Devices
Figure 5–20 shows a simplified block diagram of the major components of the
Arria II PLL.
1You 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
_
1
and
PLL
_
3
of EP2AGX95, EP2AGX125, EP2AGX190, and EP2AGX260
devices). You can only access one differential I/O pair or one single-ended pin at a
time.
Figure 5–20. PLL Block Diagram for Arria II Devices
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
K
.
(3) The
FBOUT
port is fed by the
M
counter in Arria II PLLs. The
FBOUT
port is only available in Arria II GZ devices.
Clock
Switchover
Block
inclk0
inclk1
Dedicated
clock inputs
Cascade input
from adjacent PLL
pfdena
clkswitch
clkbad0
clkbad1
activeclock
PFD
Lock
Circuit locked
÷n CP LF VCO ÷2
(2)
GCLK/RCLK
8
4
FBIN
DIFFIOCLK network
GCLK/RCLK network
no compensation mode
ZDB, External feedback modes
LVDS Compensation mode
Source Synchronous, normal modes
÷C0
÷C1
÷C2
÷C3
÷Cn
÷m
(1)
PLL Output Mux
Casade output
to adjacent PLL
GCLKs
RCLKs
External clock
outputs
DIFFIOCLK from
Left/Right PLLs
LOAD_EN from
Left/Right PLLs
FBOUT
(3)
External
memory
interface DLL
8
8
To DPA block on
Left/Right PLLs
/2, /4
5–24 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Figure 5–21 shows the clock I/O pins associated with Arria II GX PLLs.
For Arria II GX devices, any of the output counters (
C[6..0]
) or the
M
counter 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
Figure 5–21. External Clock Outputs for Arria II GX PLLs
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<#>p
and
PLL<#>_CLKOUT<#>n
pins can be either single-ended or pseudo-differential clock outputs. The Arria II GX PLL
only routes single-ended I/Os to
PLL<#>CLKOUT<#>p
pins, while you can use
PLL<#>_CLKOUT<#>n
pins as user I/Os.
(3) These external clock enable signals are available only when you use the ALTCLKCTRL megafunction.
Arria II GX
PLLs
C2
C3
C4
C6
C5
clkena0
(3)
C0
C1
Internal Logic
PLL<#>_CLKOUT<#>n (1), (2)
PLL<#>_CLKOUT<#>p (1), (2)
clkena1
(3)
m
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–25
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 5–22 shows the clock I/O pins associated with the top and bottom PLLs.
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
M
counter 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.
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
m
counters.
(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.
Top/Bottom
PLLs
C2
C3
C4
C6
C7
C5
PLL_<#>_CLKOUT3
(1), (2)
C8
C0
C1
C9
Internal Logic
PLL_<#>_CLKOUT4
(1), (2)
PLL_<#>_FBn/CLKOUT2 (1), (2)
PLL_<#>_FBp/CLKOUT1 (1), (2)
PLL_<#>_CLKOUT0n (1), (2)
PLL_<#>_CLKOUT0p (1), (2)
clkena0 (3)
clkena1 (3) clkena3 (3)
clkena2 (3) clkena4 (3)
clkena5 (3)
m(fbout)
5–26 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
fTo 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.
1Regular I/O pins cannot drive the PLL clock input pins.
Figure 5–23. External Clock Outputs for Left and Right PLLs in Arria II GZ Devices
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.
Left/Right
PLLs
C2
C3
C4
C6
C5
clkena0
(3)
C0
C1
Internal Logic
PLL_<L2, L3, R2, R3>_FB_CLKOUT0p/CLKOUT0n (1), (2)
PLL_<L2, L3, R2, R3>_CLKOUT0n/FB_CLKOUT0p (1), (2)
clkena1
(3)
m(fbout)
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–27
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
PLL Control Signals
You can use the
pfdena
,
areset
, and
locked
signals to observe and control PLL
operation and resynchronization.
pfdena
Use the
pfdena
signal to maintain the most recent locked frequency to allow your
system to store its current settings before shutting down. The
pfdena
signal 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
areset
signal is the reset or resynchronization input for each PLL. The device
input pins or internal logic can drive these input signals. When
areset
is 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
areset
is driven low again, the PLL
resynchronizes to its input as it relocks.
You must include the
areset
signal 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.
1If the input clock to the PLL is not toggling or is unstable after power up, assert the
areset
signal after the input clock is stable and in specifications.
locked
The
locked
signal 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.
1Altera recommends using the
areset
and
locked
signals in your designs to control
and observe the status of your PLL.
fFor more information about the PLL control signals, refer to the ALTPLL Megafunction
User Guide.
5–28 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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 514 lists the clock feedback modes supported by the Arria II PLLs.
1Input 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
,
CLK13
,
CLK14
, or
CLK15
. When an RCLK or GCLK network drives the
PLL, the input and output delays may not be fully compensated in the Quartus II
software. Another example is when
PLL
_
1
(Arria II GX devices) or
PLL_T2
(Arria II GZ
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.
Table 5–14. Clock Feedback Mode Availability for Arria II Devices
Clock Feedback Mode Availability in Arria II GX Devices
Availability in Arria II GZ Devices
Top/Bottom PLLs Left/Right PLLs
Source-synchronous mode Yes Yes Yes
No-compensation mode Yes Yes Yes
Normal mode Yes Yes Yes
Zero-delay buffer (ZDB) mode (1) Yes Yes Yes
External Feedback (2) No Yes Yes (3)
LVDS compensation Yes (4) No Yes
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_3
,
PLL_5
, and
PLL_6
.
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–29
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
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.
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
5–30 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
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.
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
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–31
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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–26. Phase Relationship Between PLL Clocks in No-Compensation Mode for Arria II Devices
Note to Figure 5–26:
(1) The PLL clock outputs can lag the PLL input clocks depending on routine delays.
PLL Reference
Clock at the
Input Pin
PLL Clock at the
Register Clock Port
(1)
External PLL Clock Outputs
(1)
Phase Aligned
Figure 5–27. Phase Relationship Between PLL Clocks in Normal Mode for Arria II Devices
Note to Figure 5–27:
(1) The external clock output can lead or lag the PLL internal clock signals.
PLL Clock at the
Register Clock Port
Dedicated PLL Clock Outputs
(1)
Phase Aligned
PLL Reference
Clock at the
Input Pin
5–32 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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
FBOUT
and
FBIN
ports 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.
1The bidirectional I/O pin that you instantiate in your design must always be assigned
a single-ended I/O standard.
1Do 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
fbin
fbout
PLL_<#>_CLKOUT#
÷n PFD CP/LF VCO ÷C0
÷C1
÷m bidirectional
I/O pin
PLL_<#>_CLKOUT#
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–33
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 5–29 shows an example waveform of the PLL clocks’ phase relationship in
ZDB mode.
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
M
counter (
FBOUT
) feeds back to the PLL
fbin
input (using a trace on the board) becoming part of the feedback loop. Also, use
one of the dual-purpose external clock outputs as the
fbin
input 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.
Figure 5–29. Phase Relationship Between PLL Clocks in Zero Delay Buffer Mode for Arria II Devices
Note to Figure 5–29:
(1) The internal PLL clock output can lead or lag the external PLL clock outputs.
PLL Clock at the
Register Clock Port
Dedicated PLL
Clock Outputs (1)
Phase Aligned
PLL Reference
Clock at the
Input Pin
5–34 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Figure 5–30 shows an example waveform of the phase relationship between the PLL
clocks in external feedback mode.
Figure 5–31 shows external feedback mode implementation in Arria II GZ devices.
Clock Multiplication and Division
Each Arria II PLL provides clock synthesis for PLL output ports with
M/(Npost-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.
Figure 5–30. Phase Relationship Between the PLL Clocks in External Feedback Mode for Arria II Devices
Note to Figure 5–30:
(1) The PLL clock outputs can lead or lag the
fbin
clock input.
Dedicated PLL
Clock Outputs (1)
PLL Clock at
the Register
Clock Port (1)
fbin Clock Input Pin
Phase Aligned
PLL Reference
Clock at the
Input Pin
Figure 5–31. External Feedback Mode in Arria II GZ Devices
inclk
fbin
fbout external
board
trace
PLL_<#>_CLKOUT#
PLL_<#>_CLKOUT#
÷n PFD CP/LF VCO ÷C0
÷C1
÷m
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–35
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
M
and
N
. The
n
counter does not use duty-cycle control because the
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
C
counter into the input of the next
C
counter, as shown in Figure 5–32.
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.
1Post-scale counter cascading is set in the configuration file. You cannot accomplish
post-scale counter cascading with PLL reconfiguration.
Figure 5–32. Counter Cascading for Arria II Devices
Note to Figure 5–32:
(1) For Arria II GX devices, n = 6. For Arria II GZ devices, n = 6 or 9.
C0
C1
C2
Cn
C3
C4
VCO Output
VCO Output
VCO Output
VCO Output
VCO Output
VCO Output(1)
from preceding
post-scale counter
5–36 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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
C0
counter 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
fbin
pin 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
m
counter to use any of the eight phases of the VCO as the reference
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.
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.
Equation 5–1. Fine-Resolution Phase Shifts for Arria II Devices
Φ
fine
= T
VCO
= =
1
8
1
8f
VCO
N
8Mf
REF
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–37
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
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,
CLK0
is based off the
0phase
from the VCO and has the
C value for the counter set to one. The
CLK1
signal is divided by four, two VCO clocks
for high time and two VCO clocks for low time.
CLK1
is based off the 135x phase tap
from the VCO and also has the C value for the counter set to one. The
CLK1
signal is
also divided by four. In this case, the two clocks are offset by 3 fine.
CLK2
is based off
the
0phase
from 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).
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 MegaWizardPlug-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
SCANCLK
cycle, allowing you to implement large phase shifts quickly.
Equation 5–2. Coarse-Resolution Phase Shifts for Arria II Devices
Φ
coarse
= =
C 1
f
(C 1)N
Mf
REFVco
Figure 5–33. Delay Insertion with VCO Phase Output and Counter Delay Time for Arria II Devices
td0-1
td0-2
1/8 tVCO tVCO
0
90
135
180
225
270
315
CLK0
CLK1
CLK2
45
5–38 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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 (
inclk0
or
inclk1
).
Manual clock switchover—Clock switchover is controlled with the
clkswitch
signal in this mode. When the
clkswitch
signal 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
inclk0
to
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
clkswitch
signal is high, further switchover action is blocked.
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–39
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
inclk1
port of the PLL in your design.
Automatic Clock Switchover Mode
Use the switchover circuitry to automatically switch between
inclk0
and
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,
inclk1
becomes the
reference clock for the PLL. When you use automatic switchover mode, you can
switch back and forth between the
inclk0
and
inclk1
clocks 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.
1Altera recommends resetting the PLL with the
areset
signal to maintain the phase
relationships between the PLL input and output clocks when you use clock
switchover.
Figure 5–34. Automatic Clock Switchover Circuit Block Diagram for Arria II Devices
Switchover
State
Machine
Clock
Sense
n Counter PFD
clkswitch
activeclock
clkbad1
clkbad0
muxout
inclk0
inclk1
refclk fbclk
clksw
Clock Switch
Control Logic
5–40 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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
inclk0
and
inclk1
is
greater than 20%.
The
activeclock
signal indicates which of the two clock inputs (
inclk0
or
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
activeclock
signal 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
inclk0
signal 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
.
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
inclk0
is 66 MHz and
inclk1
is 200 MHz, you must control the
switchover when you use
clkswitch
because the automatic clock-sense circuitry
cannot monitor clock input (
inclk0
and
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
Figure 5–35. Automatic Switchover Upon Loss of Clock Detection for Arria II Devices
Note to Figure 5–35:
(1) Switchover is enabled on the falling edge of
inclk0
or
inclk1
, depending on which clock is available. In this figure, switchover is enabled on
the falling edge of
inclk1
.
inclk0
inclk1
muxout
clkbad0
clkbad1
(1)
activeclock
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–41
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
switchover between the frequencies of operation. You must choose the backup clock
frequency and set the
m
,
n
,
c
, and
k
counters accordingly so the VCO operates in the
recommended operating frequency range of 600 to 1,600 MHz. The ALTPLL
MegaWizard Plug-In Manager interface notifies you if a given combination of
inclk0
and
inclk1
frequencies cannot meet this requirement.
Figure 5–36 shows an example waveform of the switchover feature when controlled
by the
clkswitch
signal. In this case, both clock sources are functional and
inclk0
is
selected as the reference clock. The
clkswitch
signal 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
inclk0
to
inclk1
as the PLL reference and
the
activeclock
signal changes to indicate which clock is currently feeding the PLL.
In automatic switchover with manual override mode, the
activeclock
signal mirrors
the
clkswitch
signal. As both clocks are still functional during the manual switch,
neither
clkbad
signal goes high. Because the switchover circuit is positive-edge
sensitive, the falling edge of the
clkswitch
signal does not cause the circuit to switch
back from
inclk1
to
inclk0
. When the
clkswitch
signal goes high again, the process
repeats. The
clkswitch
signal 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.
Figure 5–36. Clock Switchover with the clkswitch (Manual) Control for Arria II Devices (Note 1)
Note to Figure 5–36:
(1) To start a manual clock switchover event, both
inclk0
and
inclk1
must be running when the
clkswitch
signal goes high.
inclk0
inclk1
muxout
clkswitch
activeclock
clkbad0
clkbad1
5–42 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Manual Clock Switchover Mode
In manual clock switchover mode, the
clkswitch
signal controls whether
inclk0
or
inclk1
is selected as the input clock to the PLL. By default,
inclk0
is selected. A
low-to-high transition on
clkswitch
and being held high for at least three
inclk
cycles
begins a clock switchover event. You must bring the
clkswitch
signal 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
clkswitch
in a logic high state after the
initial switch. Pulsing
clkswitch
high for at least three
inclk
cycles performs another
switchover event. If
inclk0
and
inclk1
are different frequencies and are always
running, the
clkswitch
minimum high time must be greater than or equal to three of
the slower frequency
inclk0
and
inclk1
cycles.
Figure 5–37 shows a block diagram of the manual switchover circuit.
fFor 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
inclk0
and
inclk1
frequencies 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
inclk0
and
inclk1
can 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.
1Both
inclk0
and
inclk1
must be running when the
clkswitch
signal 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.
Figure 5–37. Manual Clock Switchover Circuitry in PLLs for Arria II Devices
n Counter PFD
fbclk
clkswitch
inclk0
inclk1
muxout refclk
Clock Switch
Control Logic
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–43
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
areset
for at least 10 ns after
performing a clock switchover.
To prevent clock glitches from propagating through your design during PLL
resynchronization or after
areset
is 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.
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.
Figure 5–38. VCO Switchover Operating Frequency for Arria II Devices
DFvco
Primary Clock Stops Running
Switchover Occurs
VCO Tracks Secondary Clock
5–44 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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 (
C0
to
C6
for Arria II GX devices and
C0
to
C9
for
Arria II GZ devices)
Post VCO divider (
K
)
Dynamically adjust the charge pump current (
Icp
) and loop filter components
(
R
and
C
) to facilitate reconfiguration of the PLL bandwidth
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
SCANDATAPORT
and shift registers are clocked by
SCANCLK
. The maximum
SCANCLK
frequency is 100 MHz. Serial data is shifted through
the scan chain as long as the
SCANCLKENA
signal stays asserted. After the last bit of data
is clocked, asserting the
configupdate
signal for at least one
SCANCLK
clock 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)
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
K
counter in between the scan registers for the charge pump and loop filter. The
K
counter is physically located after the VCO.
/Ci
(2)
/Ci-1 /C2 /C1 /C0 /m /n
scanclk
scandone
scandata
LF/K/CP
(3)
configupdate
inclk
PFD VCO
scanclkena
scandataout
from m counter
from n counter
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–45
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
fFor more information about the PLL reconfiguration port signals, refer to the Phase
Locked-Loops Reconfiguration (ALTPLL_RECONFIG) Megafunction User Guide.
1The 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
SCANCLKENA
signal at least one
SCANCLK
cycle prior to shifting in the first
bit of
SCANDATA
(
Dn
for Arria II GX devices or
D0
for 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
SCANCLKENA
signal 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
SCANCLKENA
signal
is deasserted to prevent inadvertent shifting of bits in the scan chain.
4. The
CONFIGUPDATE
signal is asserted for one
SCANCLK
cycle to update the PLL
counters with the contents of the scan chain.
5. The
SCANDONE
signal 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
ARESET
signal if you make any changes to the
M
,
N, or
post-scale output C
counters or the
Icp
,
R
, or
C
settings.
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
SCANDATA
SCANCLK
SCANCLKENA
SCANDATAOUT
CONFIGUPDATE
SCANDONE
ARESET
Dn_old D0_old Dn
D0
Dn
5–46 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
1When 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,
rbypass
for
bypassing the counter and
rselodd
to select the output clock duty cycle.
When the
rbypass
bit 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
rselodd
bit 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
rselodd
control 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
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–47
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
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.
Table 5–15. PLL Reprogramming Bits for Arria II GX Devices
Block Name
Number of Bits
Total
Counter Other (1)
C6 (2) 16 2 18
C5 16 2 18
C4 16 2 18
C3 16 2 18
C2 16 2 18
C1 16 2 18
C0 16 2 18
M16218
N16218
Charge Pump Current 0 3 3
VCO Post-Scale divider (K) 1 0 1
Loop Filter Capacitor (3) 022
Loop Filter Resistor 0 5 5
Unused CP/LF 0 7 7
Total number of bits 180
Notes to Table 5–15:
(1) Includes two control bits:
rbypass
for bypassing the counter and
rselodd
to select the output clock duty cycle.
(2) The LSB for
C6
low-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.
5–48 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 516 lists the number of bits for each component of a Arria II GZ PLL.
Table 516 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
Block Name
Number of Bits
Total
Counter Other (1)
C9 (2) 16 2 18
C8 16 2 18
C7 16 2 18
C6 (3) 16 2 18
C5 16 2 18
C4 16 2 18
C3 16 2 18
C2 16 2 18
C1 16 2 18
C0 16 2 18
M16218
N16218
Charge Pump Current 0 3 3
VCO Post-Scale divider (
K
)101
Loop Filter Capacitor (4) 02 2
Loop Filter Resistor 0 5 5
Unused CP/LF 0 7 7
Total number of bits 234
Notes to Table 5–16:
(1) Includes two control bits,
rbypass
for bypassing the counter, and
rselodd
to 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.
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–49
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
C6
post-scale
counter.
Figure 5–42 shows the scan chain order of PLL components for the top and bottom
Arria II GZ PLLs.
Figure 5–43 shows the scan chain bit-order sequence for post-scale counters in all
Arria II PLLs.
Figure 5–41. Scan Chain Order of PLL Components for Arria II GX PLLs
DATAIN
MSB
LF K CP
LSB NMC0
C1
C2
C3
C4
C5
C6
DATAOU T
Figure 5–42. Scan Chain Order of PLL Components for Top and Bottom of Arria II GZ PLLs (Note 1)
Note to Figure 5–43:
(1) The left and right PLLs have the same scan chain order. The post-scale counters end at C6.
DATAIN
MSB
LF K CP
LSB NMC0
C1
C2
C3
C4
C5
C6
C7 C8 DATAOU T
C9
Figure 5–43. Scan Chain Bit-Order Sequence for Post-Scale Counters in Arria II PLLs
DATAIN
rbypass
HB
7
HB
6
HB
5
HB
4
HB
3
HB
2
HB
1
HB
0
rselodd
LB
7
LB
6
LB
5
LB
4
LB
3
LB
2
LB
1
LB
0
DATAOUT
5–50 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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
000 0
001 1
011 3
111 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
00000 0
00011 3
00100 4
01000 8
10000 16
10011 19
10100 20
11000 24
11011 27
11100 28
11110 30
Table 5–19. loop_filter_c Bit Settings for Arria II Devices
LFC[1] LFC[0] Decimal Value for Setting
000
011
113
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–51
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Bypassing PLL
Bypassing a PLL counter results in a multiply (
m
counter) or a divide (
n
and
C0
to
C9
counters) factor of one.
Table 520 lists the settings for bypassing the counters in Arria II PLLs.
fFor more information about how to use the PLL scan chain bit settings, refer to the
Phase Locked-Loops Reconfiguration (ALTPLL_RECONFIG) Megafunction User Guide.
1To 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
M
counter. 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 521 lists the control signals that are used for dynamic phase-shifting.
Table 5–20. PLL Counter Settings for Arria II Devices
PLL Scan Chain Bits [0..8] Settings
LSB MSB Description
0(1), X (2) XXXXXXX1 (3) PLL counter bypassed
X XXXXXXX0 (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.
Table 5–21. Dynamic Phase-Shifting Control Signals for Arria II Devices (Part 1 of 2)
Signal Name Description Source Destination
PHASECOUNTERSELECT[3:0]
Counter select. Four bits decoded to select
either the
M
or one of the
C
counters for phase
adjustment. One address maps to select all
C
counters. This signal is registered in the PLL
on the rising edge of
scanclk
.
Logic array or
I/O pins
PLL
reconfiguration
circuit
PHASEUPDOWN
Selects dynamic phase shift direction;
1 = UP; 0 = DOWN. Signal is registered in the
PLL on the rising edge of
scanclk
.
Logic array or
I/O pin
PLL
reconfiguration
circuit
PHASESTEP
Logic high enables dynamic phase shifting. Logic array or
I/O pin
PLL
reconfiguration
circuit
5–52 Chapter 5: Clock Networks and PLLs in Arria II Devices
PLLs in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 522 lists the PLL counter selection based on the corresponding
PHASECOUNTERSELECT
setting.
To perform one dynamic phase-shift, follow these steps:
1. Set
PHASEUPDOWN
and
PHASECOUNTERSELECT
as required.
2. Assert
PHASESTEP
for at least two
SCANCLK
cycles. Each
PHASESTEP
pulse allows one
phase shift.
3. Deassert
PHASESTEP
after
PHASEDONE
goes low.
4. Wait for
PHASEDONE
to go high.
5. Repeat steps 1 through 4 as many times as required to perform multiple
phase-shifts.
SCANCLK
Free running clock from core used in
combination with
PHASESTEP
to enable,
disable, or both dynamic phase shifting. Shared
with
scanclk
for dynamic reconfiguration.
GCLK, RCLK, or
I/O pin
PLL
reconfiguration
circuit
PHASEDONE
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
scanclk
.
PLL
reconfiguration
circuit
Logic array or I/O
pins
Table 5–21. Dynamic Phase-Shifting Control Signals for Arria II Devices (Part 2 of 2)
Signal Name Description Source Destination
Table 5–22. Phase Counter Select Mapping for Arria II Devices (Note 1)
PHASECOUNTERSELECT[3] [2] [1] [0] Selects
0 0 0 0 All Output Counters
0 001
M
Counter
0 010
C0
Counter
0 011
C1
Counter
0 100
C2
Counter
0 101
C3
Counter
0 110
C4
Counter
0 111
C5
Counter
1 000
C6
Counter
1 001
C7
Counter
1 010
C8
Counter
1 011
C9
Counter
Note to Table 522:
(1)
C7
to
C9
counter are only available for Arria II GZ devices.
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–53
PLLs in Arria II Devices
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
PHASEUPDOWN
and
PHASECOUNTERSELECT
signals are synchronous to
SCANCLK
and must
meet the tsu and th requirements with respect to the
SCANCLK
edges.
1You 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
PHASESTEP
signal is latched on the negative edge of
SCANCLK
(a,c) and must remain
asserted for at least two
SCANCLK
cycles. De-assert
PHASESTEP
after
PHASEDONE
goes
low. On the second
SCANCLK
rising edge (b,d) after
PHASESTEP
is latched, the values of
PHASEUPDOWN
and
PHASECOUNTERSELECT
are latched and the PLL starts dynamic
phase-shifting for the specified counters and in the indicated direction.
PHASEDONE
is
de-asserted synchronous to
SCANCLK
at the second rising edge (b,d) and remains low
until the PLL finishes dynamic phase-shifting. Depending on the VCO and
SCANCLK
frequencies,
PHASEDONE
low time may be greater than or less than one
SCANCLK
cycle.
You can perform another dynamic phase-shift after the
PHASEDONE
signal goes from
low to high. Each
PHASESTEP
pulse enables one phase shift.
PHASESTEP
pulses must be
at least one
SCANCLK
cycle apart.
Figure 5–44 shows the dynamic phase shifting waveform.
fFor more information about the ALTPLL_RECONFIG MegaWizard Plug-In Manager
interface, refer to the Phase Locked-Loops Reconfiguration (ALTPLL_RECONFIG)
Megafunction User Guide.
Figure 5–44. Dynamic Phase Shifting Waveform for Arria II Devices
SCANCLK
PHASESTEP
PHASEUPDOWN
PHASEDONE
t
PHASEDONE goes low synchronous with SCANCLK
ab cd
PHASECOUNTERSELECT
CONFIGPHASE
5–54 Chapter 5: Clock Networks and PLLs in Arria II Devices
Document Revision History
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
PLL Specifications
fFor more information about PLL timing specifications, refer to the Device Datasheet for
Arria II Devices.
Document Revision History
Table 523 lists the revision history for this chapter.
Table 5–23. Document Revision History
Date Version Changes
July 2012 4.2 Updated “Periphery Clock Networks” section.
June 2011 4.1
Updated Table 5–15.
Updated Figure 5–44.
Updated “Dynamic Phase-Shifting” section.
Added Figure 5–5, Figure 5–6, Figure 5–7, and Figure 5–8.
Minor text edits.
December 2010 4.0
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.
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.
July 2010 3.0
Updated for Arria II GX v10.0 release:
Updated “Clock Regions” and “Arria II PLL Hardware Overview” sections.
Updated Figure 5–44.
Removed sub-regional clock references.
Minor text edit.
November 2009 2.0
Updated for Arria II GX v9.1 release:
Updated Table 5–1.
Updated Figure 5–14.
Updated the “Periphery Clock (PCLK) Networks” and “Cascading PLLs” sections.
Minor text edit.
June 2009 1.1
Updated Table 5–8.
Updated Figure 5–13 and Figure 5–14.
Updated the “PLL Clock I/O Pins” and “PLL Reconfiguration Hardware Implementation”
sections.
February 2009 1.0 Initial release
Chapter 5: Clock Networks and PLLs in Arria II Devices 5–55
Document Revision History
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
5–56 Chapter 5: Clock Networks and PLLs in Arria II Devices
Document Revision History
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
II–2 Section II: I/O Interfaces for Arria II Devices
Revision History
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2011
AIIGX51006-4.2
Subscribe
© 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.
6. I/O Features in Arria II Devices
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
December 2011
AIIGX51006-4.2
6–2 Chapter 6: I/O Features in Arria II Devices
I/O Standards Support
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
I/O Standards Support
Table 61 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
I/O Standard Standard
Support
VCCIO (V)
VCCPD (V) VREF (V) VTT (V)
Input
Operation
Output
Operation
3.3-V LVTTL/3.3-V LVCMOS JESD8-B 3.3/3.0/2.5 3.3 3.3
3.0-V LVTTL/3.0-V LVCMOS JESD8-B 3.3/3.0/2.5 3.0 3.0
2.5-V LVTTL/LVCMOS JESD8-5 3.3/3.0/2.5 2.5 2.5
1.8-V LVTTL/LVCMOS JESD8-7 1.8/1.5 1.8 2.5
1.5-V LVCMOS JESD8-11 1.8/1.5 1.5 2.5
1.2-V LVCMOS JESD8-12 1.2 1.2 2.5
3.0-V PCI PCI Rev 2.2 3.0 3.0 3.0
3.0-V PCI-X (1) PCI-X Rev 1.0 3.0 3.0 3.0
SSTL-2 Class I, II JESD8-9B (2) 2.5 2.5 1.25 1.25
SSTL-18 Class I, II JESD8-15 (2) 1.8 2.5 0.90 0.90
SSTL-15 Class I (2) 1.5 2.5 0.75 0.75
HSTL-18 Class I, II JESD8-6 (2) 1.8 2.5 0.90 0.90
HSTL-15 Class I, II JESD8-6 (2) 1.5 2.5 0.75 0.75
HSTL-12 Class I, II JESD8-16A (2) 1.2 2.5 0.6 0.6
Differential SSTL-2 JESD8-9B (2), (3) 2.5 2.5 1.25
Differential SSTL-18 JESD8-15 (2), (3) 1.8 2.5 0.90
Differential SSTL-15 (2), (3) 1.5 2.5 0.75
Differential HSTL-18 JESD8-6 (2), (3) 1.8 2.5 0.90
Differential HSTL-15 JESD8-6 (2), (3) 1.5 2.5 0.75
Differential HSTL-12 JESD8-16A (2), (3) 1.2 2.5 0.60
LVDS ANSI/TIA/
EIA-644 (2) 2.5 2.5
RSDS and mini-LVDS 2.5 2.5
LVPECL (2) —2.5
BLVDS (2) 2.5 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.
Chapter 6: I/O Features in Arria II Devices 6–3
I/O Standards Support
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Table 62 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)
I/O Standard Standard
Support
VCCIO (V) VCCPD (V)
(Pre-
Driver
Voltage)
VREF (V)
(Input
Ref
Voltage)
VTT (V)
(Board
Termination
Voltage)
Input Operation Output Operation
Column
I/O Banks
Row
I/O Banks
Column
I/O Banks
Row
I/O Banks
3.3-V LVTTL JESD8-B 3.0/2.5 3.0/2.5 3.0 3.0 3.0
3.3-V LVCMOS (3) JESD8-B 3.0/2.5 3.0/2.5 3.0 3.0 3.0
2.5-V LVCMOS JESD8-5 3.0/2.5 3.0/2.5 2.5 2.5 2.5
1.8-V LVCMOS JESD8-7 1.8/1.5 1.8/1.5 1.8 1.8 2.5
1.5-V LVCMOS JESD8-11 1.8/1.5 1.8/1.5 1.5 1.5 2.5
1.2-V LVCMOS JESD8-12 1.2 1.2 1.2 1.2 2.5
3.0-V PCI PCI Rev 2.1 3.0 3.0 3.0 3.0 3.0
3.0-V PCI-X PCI-X Rev
1.0 3.0 3.0 3.0 3.0 3.0
SSTL-2 Class I, II JESD8-9B (2) (2) 2.5 2.5 2.5 1.25 1.25
SSTL-18 Class I, II JESD8-15 (2) (2) 1.8 1.8 2.5 0.90 0.90
SSTL-15 Class I (2) (2) 1.5 1.5 2.5 0.75 0.75
SSTL-15 Class II (2) (2) 1.5 2.5 0.75 0.75
HSTL-18 Class I, II JESD8-6 (2) (2) 1.8 1.8 2.5 0.90 0.90
HSTL-15 Class I JESD8-6 (2) (2) 1.5 1.5 2.5 0.75 0.75
HSTL-15 Class II JESD8-6 (2) (2) 1.5 2.5 0.75 0.75
HSTL-12 Class I JESD8-16A (2) (2) 1.2 1.2 2.5 0.6 0.6
HSTL-12 Class II JESD8-16A (2) (2) 1.2 2.5 0.6 0.6
Differential SSTL-2
Class I, II JESD8-9B (2) (2) 2.5 2.5 2.5 1.25
Differential SSTL-18
Class I, II JESD8-15 (2) (2) 1.8 1.8 2.5 0.90
Differential SSTL-15
Class I (2) (2) 1.5 1.5 2.5 0.75
Differential SSTL-15
Class II (2) (2) 1.5 2.5 0.75
Differential HSTL-18
Class I, II JESD8-6 (2) (2) 1.8 1.8 2.5 0.90
Differential HSTL-15
Class I JESD8-6 (2) (2) 1.5 1.5 2.5 0.75
Differential HSTL-15
Class II JESD8-6 (2) (2) 1.5 2.5 0.75
Differential HSTL-12
Class I JESD8-16A (2) (2) 1.2 1.2 2.5 0.60
Differential HSTL-12
Class II JESD8-16A (2) (2) 1.2 2.5 0.60
6–4 Chapter 6: I/O Features in Arria II Devices
I/O Standards Support
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
fFor detailed electrical characteristics of each I/O standard, refer to the Device
Datasheet for Arria II Devices.
LVDS (4), (5), (8) ANSI/TIA/
EIA-644 (2) (2) 2.5 2.5 2.5
RSDS (6), (7), (8) (2) (2) 2.5 2.5 2.5
mini-LVDS (6), (7),
(8) (2) (2) 2.5 2.5 2.5
LVPECL (4) 2.5 2.5
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.
Table 6–2. I/O Standards and Voltage Levels for Arria II GZ Devices (Note 1) (Part 2 of 2)
I/O Standard Standard
Support
VCCIO (V) VCCPD (V)
(Pre-
Driver
Voltage)
VREF (V)
(Input
Ref
Voltage)
VTT (V)
(Board
Termination
Voltage)
Input Operation Output Operation
Column
I/O Banks
Row
I/O Banks
Column
I/O Banks
Row
I/O Banks
Chapter 6: I/O Features in Arria II Devices 6–5
I/O Banks
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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)
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_CLKOUT
pin supports only emulated differential I/O standard but not true differential I/O standard.
GXB3GXB2GXB1GXB0
Bank 3C Bank 3B Bank 4BBank 4ABank 3A
Bank 6B
Bank 6A
Bank 5A
Bank 5B
Bank 8C Bank 8B Bank 7BBank 7ABank 8A
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
6–6 Chapter 6: I/O Features in Arria II Devices
I/O Banks
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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]_clk
pins, 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)
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.
Bank 3A Bank 3B Bank 4B Bank 4A
Bank 4C
Bank 3C
I/O banks 8A, 8B & 8C support all
single-ended and differential input
and output operat io n.
I/O banks 7A, 7B & 7C support all
single-end ed and differential input
and output operat io n.
I/O banks 3A, 3B & 3C support all
single-ended and differential input
and output operat io n.
I/O banks 4A, 4B & 4C support all
single-ended and differential input
and output operat io n.
Bank 1A
Bank 1C
Bank 2C
Bank 2A
Bank 5A Bank5C Bank 6C Bank 6A
Transceiver Bank
GXBR2
Transceiver Bank
GXBR1
Transceiver Bank
GXBR0
Transceiver Bank
GXBL2
Transceiver Bank
GXBL1
Transceiver Bank
GXBL0
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
Bank 8A Bank 8B Bank 7B Bank 7A
Bank 7C
Bank 8C
Chapter 6: I/O Features in Arria II Devices 6–7
I/O Banks
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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 63 and Table 64 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)
Package Device
Bank
Total
3A 3B 4A 4B 5A 5B 6A 6B 7A 7B 8A 8B
358-pin
Flip Chip
UBGA
EP2AGX45 22 38 18 18 38 22 156
EP2AGX65 22 38 18 18 38 22 156
572-pin
Flip Chip
FBGA
EP2AGX45 38 38 50 50 38 38 252
EP2AGX65 38 38 50 50 38 38 252
EP2AGX95 38 42 50 50 38 42 260
EP2AGX125 38 42 50 50 38 42 260
780-pin
Flip Chip
FBGA
EP2AGX45 54 70 66 50 70 54 364
EP24GX65 54 70 66 50 70 54 364
EP2AGX95 54 74 66 50 70 58 372
EP2AGX125 54 74 66 50 70 58 372
EP2AGX190 54 74 66 50 70 58 372
EP2AGX260 54 74 66 50 70 58 372
1152-pin
Flip Chip
FBGA
EP2AGX95 70 74 16 66 66 70 16 74 452
EP2AGX125 70 74 16 66 66 70 16 74 452
EP2AGX190 70 32 74 32 66 32 66 32 70 32 74 32 612
EP2AGX260 70 32 74 32 66 32 66 32 70 32 74 32 612
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.
6–8 Chapter 6: I/O Features in Arria II Devices
I/O Banks
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
Table 6–4. Available I/O Pins in Each Arria II GZ I/O Bank (Note 1)
Package Device
Bank
Total
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 1 ——40—2840—30————40—3040—32 281
EP2AGZ350 1 ——40—2840—30————40—3040—32 281
1152-pin
Flip Chip
FBGA
EP2AGZ225 4642——402430402430——4642402430402432 554
EP2AGZ300 4642——402430402430——4642402430402432 554
EP2AGZ350 4642——402430402430——4642402430402432 554
1517-pin
Flip Chip
FBGA
EP2AGZ225 46 42 48 42 40 24 30 40 24 30 48 42 46 42 40 24 30 40 24 32 734
EP2AGZ300 4642484240243040243048424642402430402432 734
EP2AGZ350 4642484240243040243048424642402430402432 734
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
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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 65 and Table 66 list the pin migration
across device densities and packages.
Table 6–5. Pin Migration Across Densities in Arria II GX Devices (Note 1)
Package Pin Type
Device
EP2AGX45 EP2AGX65 EP2AGX95 EP2AGX125 EP2AGX190 EP2AGX260
358-pin
Flip Chip
UBGA
I/O 144144————
Clock 1212————
XCVR channel 4 4 ————
572-pin
Flip Chip
FBGA
I/O 240 240 248 248
Clock 12121212——
XCVR channel 8888
780-pin
Flip Chip
FBGA
I/O 352 352 360 360 360 360
Clock 121212121212
XCVR channel 8 8 12121212
1152-pin
Flip Chip
FBGA
I/O 440 440 600 600
Clock ——12121212
XCVR channel ——12121616
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)
Package Pin Type
Device
EP2AGZ225 EP2AGZ300 EP2AGZ350
780-pin
Flip Chip FBGA
I/O 280 280
Clock 1 1
XVCR channel 16 16
1152-pin
Flip Chip FBGA
I/O 550 550 550
Clock 4 4 4
XVCR channel 16 16 16
6–10 Chapter 6: I/O Features in Arria II Devices
I/O Structure
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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
1517-pin
Flip Chip FBGA
I/O 726 726 726
Clock 8 8 8
XVCR channel 24 24 24
Note to Table 66:
(1) Each transceiver channel consists of two Tx pins, two Rx pins and a transceiver clock pin.
Table 6–6. Pin Migration Across Densities in Arria II GZ Devices (Note 1) (Part 2 of 2)
Package Pin Type
Device
EP2AGZ225 EP2AGZ300 EP2AGZ350
Chapter 6: I/O Features in Arria II Devices 6–11
I/O Structure
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
OE
signal 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
Output Pin
Delay
PRN Q
D
PRN
OE Register
Output Register
Programmable
Current
Strength and
Slew Rate
Control
Open Drain
Input Buffer
Input Register
Input Register Input Register
Bus-Hold
Circuit
Output Buffer
From OCT
Calobration
Block
Programmable
Pull-Up Resistor
VCCIO
VCCIO
OE
from
Core
Write
Data
form
Core
clkin
To
Core
To
Core
Read
Data
to
Core
DQS
CQn
Output Register
OE Register
Q
D
PRN Q
D
PRN Q
D
PRN Q
D
PRN Q
DPRN Q
D
Input Pin Delay
to internal Cells
Input Pin Delay
to Input Register
Synchronization
Registers
On-Chip
Termination
Output Enable
Pin Delay
DQS Bus
to
Input Register Delay
PCI Clamp
6–12 Chapter 6: I/O Features in Arria II Devices
I/O Structure
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
fFor 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.
Figure 6–4. IOE Structure for Arria II GZ Devices (Note 1), (2)
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.
2
OE
from
Core
4
Open Drain
On-Chip
Termination
Bus-Hold
Circuit
Programmable
Current
Strength and
Slew Rate
Control
PCI Clamp
VCCIO
VCCIO
Programmable
Pull-Up Resistor
Half Data
Rate Block
Half Data
Rate Block
Write
Data
from
Core
4Half Data
Rate Block
PRN
DQ
PRN
DQ
PRN
DQ
PRN
DQ
PRN
DQ
OE Register
OE Register
Output Register
Output Register
clkout
To
Core
To
Core
D5, D6
Delay
Input Register
PRN
DQ
Input Register
PRN
DQ
Input Register
clkin
D5, D6
Delay
Read
Data
to
Core
From OCT
Calibration
Block
D2 Delay
D3_0
Delay
D3_1
Delay
D1
Delay
Output Buffer
Input Buffer
D5_OCT D6_OCT
Firm Core
DQS Logic Block
Dynamic OCT Control
(2)
D4 Delay
DQS
CQn
Chapter 6: I/O Features in Arria II Devices 6–13
I/O Structure
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
fFor 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.
fFor more information about external memory interfaces, refer to the External Memory
Interfaces in Arria II Devices chapter.
6–14 Chapter 6: I/O Features in Arria II Devices
I/O Structure
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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)
fFor 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 67 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)
I/O Standard IOL / IOH Current Strength Setting (mA)
for Top, Bottom, and Right I/O Pins
3.3-V LVTTL (2) [12], 8, 4
3.3-V LVCMOS (2) [2]
3.0-V LVTTL 16, 12, 8, 4
3.0-V LVCMOS 16, 12, 8, 4
2.5-V LVTTL/LVCMOS 16, 12, 8, 4
1.8-V LVTTL/LVCMOS 16, 12, 10, 8, 6, 4, 2
1.5-V LVCMOS 16, 12, 10, 8, 6, 4, 2
1.2-V LVCMOS 12, 10, 8, 6, 4, 2
SSTL-2 Class I 12, 8
SSTL-2 Class II 16
SSTL-18 Class I 12, 10, 8
SSTL-18 Class II 16, 12
SSTL-15 Class I 12, 10, 8
HSTL-18 Class I 12, 10, 8
HSTL-18 Class II 16
HSTL-15 Class I 12, 10, 8
HSTL-15 Class II 16
Chapter 6: I/O Features in Arria II Devices 6–15
I/O Structure
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
1Altera recommends performing IBIS or SPICE simulations to determine the right
current strength setting for your specific application.
HSTL-12 Class I 12, 10, 8
HSTL-12 Class II 16
BLVDS 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)
I/O Standard
IOH / IOL Current Strength
Setting (mA) for
Column I/O Pins
IOH / IOL Current Strength
Setting (mA) for
Row I/O Pins
3.3-V LVTTL 16, 12, 8, 4 12, 8, 4
3.3-V LVCMOS 16, 12, 8, 4 8, 4
2.5-V LVCMOS 16, 12, 8, 4 12, 8, 4
1.8-V LVCMOS 12, 10, 8, 6, 4, 2 8, 6, 4, 2
1.5-V LVCMOS 12, 10, 8, 6, 4, 2 8, 6, 4, 2
1.2-V LVCMOS 8, 6, 4, 2 4, 2
SSTL-2 Class I 12, 10, 8 12, 8
SSTL-2 Class II 16 16
SSTL-18 Class I 12, 10, 8, 6, 4 12, 10, 8, 6, 4
SSTL-18 Class II 16, 8 16, 8
SSTL-15 Class I 12, 10, 8, 6, 4 8, 6, 4
SSTL-15 Class II 16, 8
HSTL-18 Class I 12, 10, 8, 6, 4 12, 10, 8, 6, 4
HSTL-18 Class II 16 16
HSTL-15 Class I 12, 10, 8, 6, 4 8, 6, 4
HSTL-15 Class II 16
HSTL-12 Class I 12, 10, 8, 6, 4 8, 6, 4
HSTL-12 Class II 16
Notes to Table 6–8:
(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.
Table 6–7. Programmable Current Strength for Arria II GX Devices (Note 1) (Part 2 of 2)
I/O Standard IOL / IOH Current Strength Setting (mA)
for Top, Bottom, and Right I/O Pins
6–16 Chapter 6: I/O Features in Arria II Devices
I/O Structure
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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.
1You cannot use the programmable slew rate feature with RS OCT.
Table 69 lists the default slew rate settings from the Quartus II software.
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.
1Altera 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.
Table 6–9. Default Slew Rate Settings for Arria II Devices
I/O Standard
Arria II GX Device Arria II GZ Device
Slew
Rate
Option
Default
Slew
Rate
(Fast)
Slew
Rate
Option
Default
Slew
Rate
(Fast)
1.2-V, 1.5-V, 1.8-V, 2.5-V LVCMOS, and 3.3-V LVTTL/LVCMOS (1) 0, 1 1 0, 1, 2, 3 3
SSTL-2, SSTL-18, SSTL-15, HSTL-18, HSTL-15, and HSTL-12 1 1 0, 1, 2, 3 3
3.0-V PCI/PCI-X 0, 1 1 0, 1, 2, 3 3
LVDS_E_1R, mini-LVDS_E_1R, and RSDS_E_1R (2) 1 1 0, 1, 2, 3 3
LVDS_E_3R, mini-LVDS_E_3R, and RSDS_E_3R 1 1 0, 1, 2, 3 3
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.
Chapter 6: I/O Features in Arria II Devices 6–17
I/O Structure
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
fFor 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.
fFor 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.
fFor more information about programmable VOD, refer to the High-Speed Differential I/O
Interfaces and DPA in Arria II Devices chapter.
6–18 Chapter 6: I/O Features in Arria II Devices
I/O Structure
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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
VCCIO
pins 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
VCCIO
pins 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
VCCPD
power pins to a 2.5-, 3.0-, or 3.3-V power
supply and the Arria II GZ
VCCPD
power 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 610 lists the Arria II MultiVolt I/O support.
Table 6–10. MultiVolt I/O Support for Arria II Devices (Note 1)
VCCIO (V)
(2)
Input Signal (V) Output Signal (V)
1.2 1.5 1.8 2.5 3.0 3.3 1.2 1.5 1.8 2.5 3.0 3.3
1.2 v—— v——
1.5 vv—— v——
1.8 vv—— v——
2.5 vv
(3) (4)
v
(3) (4) ———v——
3.0 vv(4) v(4) ——v
3.3 (5) —— vv(4) v(4) ——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
VCCIO
pins 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.
Chapter 6: I/O Features in Arria II Devices 6–19
OCT Support
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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 RSOCT 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
RUP
and
RDN
pins 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.
RUP
and
RDN
pins share the same VCCIO and GND, respectively, with the
I/O bank where they are located.
RUP
and
RDN
pins 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
RUP
pin 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
RDN
pin 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
RUP
pin is connected to VCCIO through an external 50- ±1% resistor.
The
RDN
pin 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.
6–20 Chapter 6: I/O Features in Arria II Devices
OCT Support
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
The RS shown in Figure 6–5 is the intrinsic impedance of output transistors. The
typical RS values are 25 and 50 .
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
RUP
and
RDN
pins, 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–5. RS OCT without Calibration for Arria II Devices
Figure 6–6. RS OCT with Calibration for Arria II Devices
Arria II GX Driver
Series Termination Receiving
Device
VCCIO
RS
RS
GND
= 50
ZO
Arria II Driver
Series Termination Receiving
Device
VCCIO
RS
RS
GND
= 50
ZO
Chapter 6: I/O Features in Arria II Devices 6–21
OCT Support
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Table 611 lists the I/O standards that support RS OCT with and without calibration.
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
RUP
and
RDN
pins. 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
RSOCT for SSTL-2 Class I and Class II I/O standards, you only need one OCT
calibration block with 50- external reference resistors.
Table 6–11. RS OCT Selectable I/O Standards With and Without Calibration for Arria II Devices
I/O Standard
RS OCT Termination Setting
Row I/O () Column I/O ()
3.3-V LVTTL/LVCMOS (1),(2) 50 50
25 25
3.0-V LVTTL/LVCMOS 50 50
25 25
2.5-V LVTTL/LVCMOS 50 50
25 25
1.8-V LVTTL/LVCMOS 50 50
25 25
1.5-V LVCMOS 50 50
25 (3) 25
1.2-V LVCMOS 50 50
25 (3) 25
SSTL-2 Class I 50 50
SSTL-2 Class II 25 25
SSTL-18 Class I 50 50
SSTL-18 Class II 25 25
SSTL-15 Class I 50 50
SSTL-15 Class II (2) —25
HSTL-18 Class I 50 50
HSTL-18 Class II 25 25
HSTL-15 Class I 50 50
HSTL-15 Class II 25 (3) 25
HSTL-12 Class I 50 50
HSTL-12 Class II 25 (3) 25
Notes to Table 6–11:
(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.
6–22 Chapter 6: I/O Features in Arria II Devices
OCT Support
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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
RUP
and
RDN
pins. You can only use left-shift series
termination control for the I/O standards that support 25- calibrated RSOCT.
1This feature is automatically enabled if you are using a bidirectional I/O with 25-
calibrated RSOCT and 50- RT OCT.
fFor 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 RSOCT with Calibration for Arria II GZ Devices
OCT calibration circuits always adjust RSOCT to match the external resistors
connected to the
RUP
and
RDN
pin; however, it is possible to achieve RSOCT values
other than the 25- and 50- resistors. Theoretically, if you need a different RSOCT
value, you can change the resistance connected to the
RUP
and
RDN
pins accordingly.
Practically, the RSOCT range that Arria II GZ devices support is limited because of
output buffer size and granularity limitations.
The Quartus II software only allows discrete RSOCT calibration settings of 25, 40, 50,
and 60 . You can select the closest discrete value of RSOCT with calibration settings
in the Quartus II software to your system to achieve the closest timing. For example, if
you are using 20- RSOCT with calibration in your system, you can select the 25-
RSOCT with calibration setting in the Quartus II software to achieve the closest
timing.
Table 612 lists expanded RSOCT with calibration supported in Arria II devices. Use
expanded RSOCT 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
I/O Standard
Expanded RS OCT Range
Row I/O () Column I/O ()
3.3-V LVTTL/LVCMOS 20–60 20–60
2.5-V LVTTL/LVCMOS 20–60 20–60
1.8-V LVTTL/LVCMOS 20–60 20–60
1.5-V LVTTL/LVCMOS 40–60 20–60
1.2-V LVTTL/LVCMOS 40–60 20–60
SSTL-2 20–60 20–60
SSTL-18 20–60 20–60
SSTL-15 40–60 20–60
HSTL-18 20–60 20–60
HSTL-15 40–60 20–60
HSTL-12 40–60 20–60
Chapter 6: I/O Features in Arria II Devices 6–23
OCT Support
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
fFor 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–7. Differential Input On-Chip Termination for Arria II Devices
Transmitter Receiver
100 Ω
= 50 Ω
Z
O
= 50 Ω
Z
O
Figure 6–8. RT OCT with Calibration for Arria II GZ Devices
Transmitter Receiver
GND
= 50
ZO
VCCIO
100
100
Arria II GZ OCT
VREF
6–24 Chapter 6: I/O Features in Arria II Devices
OCT Support
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
The RT OCT calibration circuit compares the total impedance of the I/O buffer to the
external 50-±1% resistors connected to the
RUP
and
RDN
pins 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.
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.
Table 6–13. Selectable I/O Standards with RT OCT with Calibration for Arria II GZ Devices
I/O Standard RT OCT Setting
(Column I/O) ()
RT OCT Setting
(Row I/O) ()
SSTL-2 Class I, II 50 50
SSTL-18 Class I, II 50 50
SSTL-15 Class I, II 50 50
HSTL-18 Class I, II 50 50
HSTL-15 Class I, II 50 50
HSTL-12 Class I, II 50 50
Differential SSTL-2 Class I, II 50 50
Differential SSTL-18 Class I, II 50 50
Differential SSTL-15 Class I, II 50 50
Differential HSTL-18 Class I, II 50 50
Differential HSTL-15 Class I, II 50 50
Differential HSTL-12 Class I, II 50 50
Chapter 6: I/O Features in Arria II Devices 6–25
OCT Support
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
fFor more information about tolerance specifications for OCT with calibration, refer to
the Device Datasheet for Arria II Devices chapter.
Figure 6–9. Dynamic RT OCT in Arria II GZ Devices
Receiver
VCCIO
GND
Arria II GZ OCT
Arria II GZ OCT
Arria II GZ OCT
Arria II GZ OCT
Transmitter
Receiver Transmitter
VCCIO
GND
VCCIO
GND
GND
VCCIO
100
100
100
100
100
100
100
100
100
100
100
100
50 50
50
50
50
50
= 50
ZO
ZO = 50
6–26 Chapter 6: I/O Features in Arria II Devices
Arria II OCT Calibration
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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
RUP
and
RDN
pins.
fFor 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.
1I/O banks that do not contain calibration blocks share calibration blocks with I/O
banks that do contain calibration blocks.
Chapter 6: I/O Features in Arria II Devices 6–27
Arria II OCT Calibration
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
fFor more information about the OCT calibration block, refer to the ALT_OCT
Megafunction User Guide.
Figure 6–10. Example of Calibrating Multiple I/O Banks with One Shared OCT Calibration Block in
Arria II GZ Devices
Arria II GZ Device
Bank 8A
Bank 8C
Bank 8B
Bank 7B
Bank 7C
Bank 1A
Bank 1C
Bank 2A
Bank 2C
Bank 3A
Bank 3C
Bank 3B
Bank 4A
Bank 4B
Bank 4C
Bank 6A
Bank 6C
Bank 5A
Bank 5C
Bank 7A CB 7
I/O bank with the same VCCIO
I/O bank with different VCCIO
6–28 Chapter 6: I/O Features in Arria II Devices
Termination Schemes for I/O Standards
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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
Note to Figure 6–11:
(1) Applicable to Arria II GZ devices only.
SSTL Class I
SSTL Class II
External
On-Board
Termination
OCT
Transmit
OCT
Receive
(1)
OCT
in Bi-
Directional
Pins
(1)
VTT
50
25
50
VTT
50
25
50
VTT
50
Transmitter
Transmitter
Receiver
Receiver
VTT
50
50
8
50
Transmitter Receiver
Series OCT
50
VTT
50
50
VTT
50
Transmitter Receiver
25
Series OCT
VCCIO
100
25 50
Transmitter Receiver
Parallel OCT
100
V
CCIO
100
25
50
Transmitter Receiver
Parallel OCT
100
VTT
50

VCCIO
100
50
100
VCCIO
100
100
VREF
VREF
VREF
V
REF
VREF
VREF
VREF
Termination
Series OCT
50
Series
OCT 50
VCCIO
100
50
100
VCCIO
100
100
Series OCT
25
Series
OCT 25
Transmitter Receiver
Transmitter Receiver
Chapter 6: I/O Features in Arria II Devices 6–29
Termination Schemes for I/O Standards
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
Note to Figure 6–12:
(1) Applicable to Arria II GZ devices only.
HSTL Class I HSTL Class II
External
On-Board
Termination
OCT
Transmit
OCT
Receive
(1)
OCT
in Bi-
Directional
Pins
(1)
VTT
50
50
VTT
50
50
VTT
50
Transmitter Transmitter
Receiver Receiver
VTT
50
50
Transmitter Receiver
VTT
50
50
VTT
50
Transmitter Receiver
VCCIO
100
50
Transmitter Receiver
Parallel OCT
100
VCCIO
100
50
Transmitter Receiver
Parallel OCT
100
VTT
50
VCCIO
100
50
100
VCCIO
100
100
Series OCT
50 Series OCT 25
VREF
VREF
VREF
VREF
VREF
VREF
Termination
Series OCT
50
Series
OCT 50
VCCIO
100
50 8
100
VCCIO
100
100
Series OCT
25
Series
OCT 25
Transmitter Receiver Transmitter Receiver
6–30 Chapter 6: I/O Features in Arria II Devices
Termination Schemes for I/O Standards
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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.
1Differential 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
Differential SSTL Class I Differential SSTL Class II
External
On-Board
Termination
R OCT for
Arria II GX
Devices
S
R OCT and
R OCT for
Arria II GZ
Devices
S
Transmitter Receiver
50 Ω
50 Ω50 Ω
50 Ω
VTT VTT
25 Ω
25 Ω
Transmitter Receiver
50 Ω
50 Ω50 Ω
50 Ω
VTT VTT
25 Ω
25 Ω
50 Ω50 Ω
VTT VTT
50 Ω
50 Ω
Termination
Transmitter Receiver
Z
0
= 50 Ω
Z
0
= 50 Ω
25 Ω
Series OCT
25 Ω
Series OCT
VTT
VTT
Differential SSTL Class II
Transmitter Receiver
Z
0
= 50 Ω
Z
0
= 50 Ω
50 Ω
Series OCT
50 Ω
Series OCT
Differential SSTL Class I
50 Ω
VTT
50 Ω
VTT
VTT
VTT
50 Ω
50 Ω
50
50
Transmitter Receiver
Z
0
= 50
Z
0
= 50
VCCIO
VCCIO
GND
GND
VTT
VTT
Differential SSTL Class II
Transmitter Receiver
VCCIO
VCCIO
GND
GND
Differential SSTL Class I
100
100
100
100
100
Parallel OCT
Z
0
= 50
Z
0
= 50
100
100
100
100
100
Parallel OCT
T
Chapter 6: I/O Features in Arria II Devices 6–31
Termination Schemes for I/O Standards
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
HSTL Class I HSTL Class II
External
On-Board
Termination
Transmitter Receiver
50 Ω
50 Ω50 Ω
50 Ω
VTT VTT
Transmitter Receiver
50 Ω
50 Ω50 Ω
50 Ω
VTT VTT
50 Ω50 Ω
VTT VTT
50 Ω
50 Ω
Termination
Transmitter Receiver
Z0= 50 Ω
Z0= 50 Ω
25
Series OCT VTT
VTT
HSTL Class II
Transmitter Receiver
Z0= 50 Ω
Z0= 50 Ω
50 Ω
Series OCT
HSTL Class I
50 Ω
VTT
50 Ω
VTT
VTT
VTT
50 Ω
50 Ω
25 Ω
Series OCT
50 Ω
Series OCT
50
50
Transmitter Receiver
Z0= 50
Z0= 50
VCCIO
VCCIO
GND
GND
VTT
VTT
Differential HSTL Class II
Transmitter Receiver
VCCIO
VCCIO
GND
GND
Differential HSTL Class I
100
100
100
100
100
Parallel OCT
Z0= 50
Z0= 50
100
100
100
100
100
Parallel OCT
R OCT for
Arria II GX
Devices
S
R OCT and
R OCT for
Arria II GZ
Devices
S
T
6–32 Chapter 6: I/O Features in Arria II Devices
Termination Schemes for I/O Standards
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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)
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.
Differential Outputs Differential Inputs
100 Ω
100 Ω
Single-Ended Outputs Differential Inputs
100 Ω
Rp
External Resistor
Rs
Rs
Arria II OCT
Arria II OCT
Differential Outputs Differential Inputs
100 Ω
External On-Board
Termination
OCT Receive
(True LVDS
Output)
Termination LVDS
50 Ω
50 Ω
50 Ω
50 Ω
50 Ω
50 Ω
OCT Receive
(Single-Ended
LVDS Output
with Three
Resistor
Network,
LVDS_E_3R)
(1)
Single-Ended Outputs Differential Inputs
Rp
External Resistor
OCT Receive
(Single-Ended
LVDS Output
with One-Resistor
Network,
LVDS_E_1R)
(1), (2)
1inch
Arria II OCT
50 Ω
50 Ω
Chapter 6: I/O Features in Arria II Devices 6–33
Termination Schemes for I/O Standards
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
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).
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.
Figure 6–16. LVPECL AC-Coupled Termination
Figure 6–17. LVPECL DC-Coupled Termination
LVPECL
Output Buffer
Arria II
LVPECL Input Buffer
VICM
Z
O
Z
O
0.1 μF
0.1 μF
LVPECL
Output Buffer
Arria II
LVPECL Input Buffer
100 Ω
= 50 Ω
ZO
= 50 Ω
ZO
6–34 Chapter 6: I/O Features in Arria II Devices
Termination Schemes for I/O Standards
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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.
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.
1To validate that custom resistor values meet the RSDS requirements, Altera
recommends performing additional simulations with IBIS models.
fFor more information about the RSDS I/O standard, refer to the RSDS Specification
from the National Semiconductor website at www.national.com.
fFor more information about the mini-LVDS I/O standard, see the mini-LVDS
Specification from the Texas Instruments website at www.ti.com.
Figure 6–18. RSDS and mini-LVDS I/O Standard Termination for Arria II Devices (Note 1)
Notes to Figure 6–18:
(1) Rp = 170 and Rs= 120
(2) mini-LVDS_E_1R is applicable for Arria II GZ devices only.
50
Ω
50
Ω
RS
RS
RP
Transmitter Receiver
1inch
50
Ω
50
Ω
RP
Transmitter
1inch
50
Ω
50
Ω
100
Ω
RP
Transmitter Receiver
1inch
50
Ω
50
Ω
RS
RS
RP
Transmitter Receiver
1inch
Termination
External
On-Board
Termination
OCT
One-Resistor Network (RSDS_E_1R and mini-LVDS_E_1R)
(2)
Three-Resistor Network (RSDS_E_3R and mini-LVDS_E_3R)
Arria II OCT
100
Ω
Receiver
Arria II OCT
Ω
100
Ω
100
Equation 6–1. Resistor Network
R
2
RP
Sx
=50 Ω
R
2
RP
S+
Chapter 6: I/O Features in Arria II Devices 6–35
Design Considerations
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
6–36 Chapter 6: I/O Features in Arria II Devices
Design Considerations
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
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
VCCIO
pins 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
VREF
pin while Arria II GZ I/O banks supports multiple
VREF
pins feeding a
common
VREF
bus. The number of available
VREF
pins increases as device density
increases. For Arria II GZ devices, if these pins are not used as
VREF
pins, 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
VREF 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.
Chapter 6: I/O Features in Arria II Devices 6–37
Document Revision History
December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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 614 lists the revision history for this chapter.
Table 6–14. Document Revision History (Part 1 of 2)
Date Version Changes
December 2011 4.2
Updated Table 6–2 and Table 6–11.
Minor text edits.
June 2011 4.1
Updated Table 6–9 and Table 6–10.
Updated Figure 6–3 and Figure 6–4.
Minor text edits.
6–38 Chapter 6: I/O Features in Arria II Devices
Document Revision History
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation
December 2010 4.0
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.
Added Figure 6–1.
July 2010 3.0
Updated for Arria II GX v10.0 release:
Updated Table 6–4, Table 6–5, and Table 6–6.
Updated Figure 6–1.
Updated “Overview” section.
October 2009 2.0
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.
June 2009 1.1
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.
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 1.0 Initial release.
Table 6–14. Document Revision History (Part 2 of 2)
Date Version Changes
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011
AIIGX51007-4.1
Subscribe
© 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.
7. External Memory Interfaces in Arria II
Devices
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
1Arria 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.
1RLDRAM II is only available in Arria II GZ devices.
fFor 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.
fFor 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.
June 2011
AIIGX51007-4.1
7–2 Chapter 7: External Memory Interfaces in Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
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)
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.
DDR Output
and Output
Enable
Registers
Memory
Arria II GX FPGA
DLL
DDR Input
Registers
Synchronization
Registers
Clock
Management
and Reset
2n n
n
2n
Internal Memory
(3) DQ (Read) (4)
DQ (Write) (4)
DQS Logic
Block DQS (Read) (4)
2n
2DQS (Write) (4)
DQS Write Clock
Resynchronization Clock
DQ Write Clock
DQS Enable
Circuit
Postamble
Control
Circuit
Postamble Enable
Postamble Clock
DDR Output
and Output
Enable
Registers
Chapter 7: External Memory Interfaces in Arria II Devices 7–3
Memory Interfaces Pin Support for Arria II Devices
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
1If 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.
fFor 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 (
t
DQSS,
t
DSS, and
t
DSH 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.
Figure 7–2. External Memory Interface Datapath Overview for Arria II GZ Devices (Note 1),(2)
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.
DDR Output
and Output
Enable
Registers
Memory
Arria II GZ FPGA
DLL
DDR Input
Registers
Synchronization
Registers
Half Data Rate
Output Registers
Clock
Management
and Reset
4n 2n n
n
2n
4n
DPRAM
DQ (Read) (3)
DQ (Write) (3)
DQS Logic
Block DQS (Read) (3)
Half Data Rate
Input Registers
2n
Half Data Rate
Output Registers
42DQS (Write) (3)
Resynchronization Clock
DQS Write Clock
Half-Rate Resynchronization Clock
Half-Rate Clock
DQ Write Clock
DQS Enable
Circuit
Postamble
Control
Circuit
Postamble Enable
Postamble Clock
DDR Output
and Output
Enable
Registers
7–4 Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
fFor 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
DIFFIN
or
DIFFIO_RX
prefixes (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.
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.
1Use 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.
1Using 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.
Figure 7–3. Memory Clock Generation for Arria II Devices (Note 1)
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
VREF
pins.
mem_clk
(2)
QD
QD
System Clock
FPGA LEs I/O Elements
VCC
mem_clk_n
(2
)
1
0
Chapter 7: External Memory Interfaces in Arria II Devices 7–5
Memory Interfaces Pin Support for Arria II Devices
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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 71 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
Mode DQSn Support CQn Support Parity or DM
(Optional)
QVLD
(Optional) (1)
Typical
Number of
Data Pins per
Group
Maximum
Number of
Data Pins per
Group (2)
×4 Yes No No (6) No 4 5
×8/×9 (3) Yes Yes Yes Yes 8 or 9 11
×16/×18 (4) Yes Yes Yes Yes 16 or 18 23
×32/×36 (5) Yes Yes Yes Yes 32 or 36 47
×32/×36 (7) Yes Yes No (8) Yes 32 or 36 39
Notes to Table 7–1:
(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.
7–6 Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
Table 72 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.
fFor more information about DQ/DQS groups pin-out restriction format, refer to the
Arria II Device Family Pin Connection Guidelines.
Table 73 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–2. Number of DQ/DQS Groups and I/O Modules per Side in Arria II GX Devices
Device Package Side Number of I/O
Module (1)
Number of DQ/DQS Groups
Refer to
×4 ×8/×9 ×16/×18 ×32/×36
EP2AGX45
EP2AGX65
358-Pin Ultra
FineLine BGA
Top/Bottom 3 6 3 1 0 Figure 7–4 on
page 7–7
Right 2 4 2 0 0
EP2AGX45
EP2AGX65 572-Pin
FineLine BGA
Top/Bottom 4 8 4 2 0 Figure 7–5 on
page 7–8
EP2AGX95
EP2AGX125 Right 6 12 6 2 0 Figure 7–6 on
page 7–9
EP2AGX45
EP2AGX65
780-Pin
FineLine BGA
Top/Bottom/
Right 714731
Figure 7–7 on
page 7–10
EP2AGX95
EP2AGX125
EP2AGX190
EP2AGX260
Figure 7–8 on
page 7–11
EP2AGX95
EP2AGX125
1152-Pin
FineLine BGA
Top/Bottom 9 18 9 4 2 Figure 7–9 on
page 7–12
Right 8 16 8 4 2
EP2AGX190
EP2AGX260
1152-Pin
FineLine BGA
Top/Bottom/
Right 12 24 12 6 2 Figure 7–10
on page 7–13
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. Number of DQ/DQS Groups per Side in Arria II GZ Devices (Part 1 of 2)
Device Package Side
Number of DQ/DQS Groups
Refer to
×4 (1) ×8/×9 ×16/×18 ×32/×36 (2)
EP2AGZ300
EP2AGZ350
780-pin
FineLine BGA
Left/Right 0 0 0 0 Figure 7–11 on
page 7–14
Top/Bottom 18 8 2 0
EPAGZ225 1152-pin
FineLine BGA
Left/Right 13 6 2 0 Figure 7–12 on
page 7–15
Top/Bottom 26 12 4 0
EP2AGZ300
EP2AGZ350
1152-pin
FineLine BGA
Left/Right 13 6 2 0 Figure 7–13 on
page 7–16
Top/Bottom 26 12 4 2 (3)
Chapter 7: External Memory Interfaces in Arria II Devices 7–7
Memory Interfaces Pin Support for Arria II Devices
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
EP2AGZ225 1517-pin
FineLine BGA All sides 26 12 4 0 Figure 7–14 on
page 7–17
EP2AGZ300
EP2AGZ350
1517-pin
FineLine BGA
Left/Right 26 12 4 0 Figure 7–15 on
page 7–18
Top/Bottom 26 12 4 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.
Table 7–3. Number of DQ/DQS Groups per Side in Arria II GZ Devices (Part 2 of 2)
Device Package Side
Number of DQ/DQS Groups
Refer to
×4 (1) ×8/×9 ×16/×18 ×32/×36 (2)
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)
Notes to Figure 7–4:
(1) All I/O pin counts include 12 dedicated clock inputs (
CLK4
to
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.
I/O Bank 8A
22 User I/Os
I/O Bank 7A
38 User I/Os
I/O Bank 6A
(3)
18 User I/Os
I/O Bank 5A
18 User I/Os
I/O Bank 4A
38 User I/Os
I/O Bank 3A
22 User I/Os
EP2AGX45
and EP2AGX65 Devices in the
358-Pin Ultra FineLine BGA
×4=2
×8/×9=1
×16/×18=0
×32/×36=0
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
×4=2
×8/×9=1
×16/×18=0
×32/×36=0
×4=2
×8/×9=1
×16/×18=0
×32/×36=0
×4=2
×8/×9=1
×16/×18=0
×32/×36=0
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
7–8 Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
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)
Notes to Figure 7–5:
(1) All I/O pin counts include 12 dedicated clock inputs (
CLK4
to
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.
I/O Bank 8A
38 User I/Os
I/O Bank 7A
38 User I/Os
I/O Bank 6A
(3)
50 User I/Os
I/O Bank 5A
50 User I/Os
I/O Bank 4A
38 User I/Os
I/O Bank 3A
38 User I/Os
EP2AGX45 and EP2AGX65
Devices in the 572-Pin FineLine BGA
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
Chapter 7: External Memory Interfaces in Arria II Devices 7–9
Memory Interfaces Pin Support for Arria II Devices
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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)
Notes to Figure 7–6:
(1) All I/O pin counts include 12 dedicated clock inputs (
CLK4
to
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.
I/O Bank 8A
42 User I/Os
I/O Bank 7A
38 User I/Os
I/O Bank 6A
(3)
50 User I/Os
I/O Bank 5A
50 User I/Os
I/O Bank 4A
42 User I/Os
I/O Bank 3A
38 User I/Os
EP2AGX95 and EP2AGX125
Devices in the 572-Pin FineLine BGA
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
7–10 Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
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)
Notes to Figure 7–7:
(1) All I/O pin counts include 12 dedicated clock inputs (
CLK4
to
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.
I/O Bank 8A
54 User I/Os
I/O Bank 7A
70 User I/Os
I/O Bank 6A
(2)
50 User I/Os
I/O Bank 5A
66 User I/Os
I/O Bank 4A
70 User I/Os
I/O Bank 3A
54 User I/Os
EP2AGX45 and EP2AGX65
Devices in the 780-Pin FineLine BGA
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
Chapter 7: External Memory Interfaces in Arria II Devices 7–11
Memory Interfaces Pin Support for Arria II Devices
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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)
Notes to Figure 7–8:
(1) All I/O pin counts include 12 dedicated clock inputs (
CLK4
to
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.
I/O Bank 8A
58 User I/Os
I/O Bank 7A
70 User I/Os
I/O Bank 6A
(2)
50 User I/Os
I/O Bank 5A
66 User I/Os
I/O Bank 4A
74 User I/Os
I/O Bank 3A
54 User I/Os
EP2AGX95, EP2AGX125, EP2AGX190,
and EP2AGX260 Devices
in the 780-Pin FineLine BGA
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
×4=6
×8/×9=3
×16/×18=1
×32/×36=0
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
7–12 Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
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)
Notes to Figure 7–9:
(1) All I/O pin counts include 12 dedicated clock inputs (
CLK4
to
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.
I/O Bank 7A
70 User I/Os
I/O Bank 7B
16 User I/Os
I/O Bank 6A
(2)
66 User I/Os
I/O Bank 5A
66 User I/Os
I/O Bank 4B
16 User I/Os
I/O Bank 4A
74 User I/Os
EP2AGX95 and EP2AGX125 Devices
in the 1152-Pin FineLine BGA
I/O Bank 3A
70 User I/Os
I/O Bank 8A
74 User I/Os
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=2
×8/×9=1
×16/×18=0
×32/×36=0
×4=2
×8/×9=1
×16/×18=0
×32/×36=0
Chapter 7: External Memory Interfaces in Arria II Devices 7–13
Memory Interfaces Pin Support for Arria II Devices
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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)
Notes to Figure 7–10:
(1) All I/O pin counts include 12 dedicated clock inputs (
CLK4
to
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.
I/O Bank 7A
70 User I/Os
I/O Bank 7B
32 User I/Os
I/O Bank 6B
32 User I/Os
I/O Bank 6A
(2)
66 User I/Os
I/O Bank 4B
32 User I/Os
I/O Bank 4A
74 User I/Os
EP2AGX190 and EP2AGX260 Devices
in the 1152-Pin FineLine BGA
I/O Bank 3A
70 User I/Os
I/O Bank 8A
74 User I/Os
I/O Bank 8B
32 User I/Os
I/O Bank 3B
32 User I/Os
I/O Bank 5A
66 User I/Os
I/O Bank 5B
32 User I/Os
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
×4=4
×8/×9=2
×16/×18=1
×32/×36=0
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
×4=8
×8/×9=4
×16/×18=2
×32/×36=1
7–14 Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
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)
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.
DLL0 DLL3
DLL1 DLL2
I/O Bank 8A
40 User I/Os
×4=6
×8/×9=3
×16/×18=1
I/O Bank 8C I/O Bank 7C I/O Bank 7A
I/O Bank 4A
I/O Bank 4C
I/O Bank 3C
I/O Bank 3A
32 User I/Os 32 User I/Os 40 User I/Os
40 User I/Os 32 User I/Os 32 User I/Os 40 User I/Os
EP2AGZ300 and EP2AGZ350 Devices
in the 780-Pin FineLine BGA
×4=3
×8/×9=1
×16/×18=0
×4=3
×8/×9=1
×16/×18=0
×4=3
×8/×9=1
×16/×18=0
×4=3
×8/×9=1
×16/×18=0
×4=6
×8/×9=3
×16/×18=1
×4=6
×8/×9=3
×16/×18=1
×4=6
×8/×9=3
×16/×18=1
Chapter 7: External Memory Interfaces in Arria II Devices 7–15
Memory Interfaces Pin Support for Arria II Devices
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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)
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.
DLL0 DLL3
DLL1 DLL2
I/O Bank 8A
40 User I/Os
I/O Bank 8B I/O Bank 8C I/O Bank 7C I/O Bank 7B I/O Bank 7A
I/O Bank 6A
I/O Bank 6C
I/O Bank 4A
I/O Bank 4B
I/O Bank 4CI/O Bank 3C
I/O Bank 3B
I/O Bank 3A
I/O Bank 1C
I/O Bank 1A
24 User I/Os 32 User I/Os 32 User I/Os 24 User I/Os 40 User I/Os
48 User I/Os
42 User I/Os
40 User I/Os 24 User I/Os 32 User I/Os 32 User I/Os 24 User I/Os 40 User I/Os
48 User I/Os
42 User I/Os
EP2AGZ225 Devices
in the 1152-Pin FineLine BGA
×4=3
×8/×9=1
×16/×18=0
×4=3
×8/×9=1
×16/×18=0
×4=4
×8/×9=2
×16/×18=1
×4=6
×8/×9=3
×16/×18=1
×4=7
×8/×9=3
×16/×18=1
×4=6
×8/×9=3
×16/×18=1
×4=6
×8/×9=3
×16/×18=1
×4=4
×8/×9=2
×16/×18=1
×4=3
×8/×9=1
×16/×18=0
×4=3
×8/×9=1
×16/×18=0
×4=4
×8/×9=2
×16/×18=1
×4=6
×8/×9=3
×16/×18=1
×4=6
×8/×9=3
×16/×18=1
×4=7
×8/×9=3
×16/×18=1
×4=4
×8/×9=2
×16/×18=1
×4=6
×8/×9=3
×16/×18=1
7–16 Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
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)
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.
DLL0 DLL3
DLL1 DLL2
I/O Bank 8A
40 User I/Os
I/O Bank 8B I/O Bank 8C I/O Bank 7C I/O Bank 7B I/O Bank 7A
I/O Bank 6A
I/O Bank 6C
I/O Bank 4A
I/O Bank 4B
I/O Bank 4CI/O Bank 3C
I/O Bank 3B
I/O Bank 3A
I/O Bank 1C
I/O Bank 1A
24 User I/Os 32 User I/Os 32 User I/Os 24 User I/Os 40 User I/Os
48 User I/Os
42 User I/Os
40 User I/Os 24 User I/Os 32 User I/Os 32 User I/Os 24 User I/Os 40 User I/Os
48 User I/Os
42 User I/Os
EP2AGZ300 and EP2AGZ350 Devices
in the 1152-Pin FineLine BGA
×4=6
×8/×9=3
×16/×18=1
×32/×36=1
(5)
×4=6
×8/×9=3
×16/×18=1
×32/×36=1
(5)
×4=6
×8/×9=3
×16/×18=1
×32/×36=1
(5)
×4=6
×8/×9=3
×16/×18=1
×32/×36=1
(5)
×4=4
×8/×9=2
×16/×18=1
×4=4
×8/×9=2
×16/×18=1
×4=3
×8/×9=1
×16/×18=0
×4=3
×8/×9=1
×16/×18=0
×4=3
×8/×9=1
×16/×18=0
×4=3
×8/×9=1
×16/×18=0
×4=4
×8/×9=2
×16/×18=1
×4=4
×8/×9=2
×16/×18=1
×4=7
×8/×9=3
×16/×18=1
×4=6
×8/×9=3
×16/×18=1
×4=6
×8/×9=3
×16/×18=1
×4=7
×8/×9=3
×16/×18=1
Chapter 7: External Memory Interfaces in Arria II Devices 7–17
Memory Interfaces Pin Support for Arria II Devices
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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)
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.
DLL0 DLL3
DLL1 DLL2
I/O Bank 8A
40 User I/Os
×4=6
×8/×9=3
×16/×18=1
I/O Bank 8B I/O Bank 8C I/O Bank 7C I/O Bank 7B I/O Bank 7A
I/O Bank 6A
I/O Bank 6C
I/O Bank 5C
I/O Bank 5A
I/O Bank 4A
I/O Bank 4B
I/O Bank 4CI/O Bank 3C
I/O Bank 3B
I/O Bank 3A
I/O Bank 2A
I/O Bank 2C
I/O Bank 1C
I/O Bank 1A
24 User I/Os
×4=4
×8/×9=2
×16/×18=1
32 User I/Os
×4=3
×8/×9=1
×16/×18=0
32 User I/Os
×4=3
×8/×9=1
×16/×18=0
24 User I/Os
×4=4
×8/×9=2
×16/×18=1
40 User I/Os
×4=6
×8/×9=3
×16/×18=1
48 User I/Os
×4=7
×8/×9=3
×6/×18=1
42 User I/Os
×4=6
×8/×9=3
×16/×18=1
42 User I/Os
×4=6
×8/×9=3
×16/×18=1
48 User I/Os
×4=7
×8/×9=3
×6/×18=1
40 User I/Os
×4=6
×8/×9=3
×16/×18=1
24 User I/Os
×4=4
×8/×9=2
×16/×18=1
32 User I/Os
×4=3
×8/×9=1
×16/×18=0
32 User I/Os
×4=3
×8/×9=1
×16/×18=0
24 User I/Os
×4=4
×8/×9=2
×16/×18=1
40 User I/Os
×4=6
×8/×9=3
×16/×18=1
48 User I/Os
×4=7
×8/×9=3
×16/×18=1
42 User I/Os
×4=6
×8/×9=3
×16/×18=1
42 User I/Os
×4=6
×8/×9=3
×16/×18=1
48 User I/Os
×4=7
×8/×9=3
×16/×18=1
EP2AGZ225 Devices
in the 1517-Pin FineLine BGA
7–18 Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
The DQS and DQSn pins are listed in the Arria II pin tables as
DQSXY
and
DQSnXY
,
respectively, where
X
denotes the DQ/DQS grouping number and
Y
denotes whether
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
X
indicates which DQS group
the pins belong to and
Y
indicates whether the group is located on the top (T), bottom
(B), left (L), or right (R) side of the device. For example,
DQS3B
indicates a DQS pin that
is located on the bottom side of the device. The DQ pins belonging to that group are
shown as
DQ3B
in 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.
1The parity, DM, BWSn, NWSn, QVLD, and ECC pins are shown as DQ pins in the pin
table.
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)
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.
DLL0 DLL3
DLL1 DLL2
I/O Bank 8A
40 User I/Os
×4=6
×8/×9=3
×16/×18=1
×32/×36=1
(5)
I/O Bank 8B I/O Bank 8C I/O Bank 7C I/O Bank 7B I/O Bank 7A
I/O Bank 6A
I/O Bank 6C
I/O Bank 5C
I/O Bank 5A
I/O Bank 4A
I/O Bank 4B
I/O Bank 4CI/O Bank 3C
I/O Bank 3B
I/O Bank 3A
I/O Bank 2A
I/O Bank 2C
I/O Bank 1C
I/O Bank 1A
24 User I/Os
×4=4
×8/×9=2
×16/×18=1
32 User I/Os
×4=3
×8/×9=1
×16/×18=0
32 User I/Os
×4=3
×8/×9=1
×16//×18=0
24 User I/Os
×4=4
×8/×9=2
×16/×18=1
40 User I/Os
×4=6
×8/×9=3
×16/×18=1
×32/×36=1
(5)
48 User I/Os
×4=7
×8/×9=3
×6/×18=1
42 User I/Os
×4=6
×8/×9=3
×16/×18=1
42 User I/Os
×4=6
×8/×9=3
×16/×18=1
48 User I/Os
×4=7
×8/×9=3
×6/×18=1
40 User I/Os
×4=6
×8/×9=3
×16/×18=1
×32/×36=1
(5)
24 User I/Os
×4=4
×8/×9=2
×16/×18=1
32 User I/Os
×4=3
×8/×9=1
×16/×18=0
32 User I/Os
×4=3
×8/×9=1
×16/×18=0
24 User I/Os
×4=4
×8/×9=2
×16/×18=1
40 User I/Os
×4=6
×8/×9=3
×16/×18=1
×32/×36=1
(5)
48 User I/Os
×4=7
×8/×9=3
×16/×18=1
42 User I/Os
×4=6
×8/×9=3
×16/×18=1
42 User I/Os
×4=6
×8/×9=3
×16/×18=1
48 User I/Os
×4=7
×8/×9=3
×16/×18=1
EP2AGZ300 and EP2AGZ350 Devices
in the 1517-Pin FineLine BGA
Chapter 7: External Memory Interfaces in Arria II Devices 7–19
Memory Interfaces Pin Support for Arria II Devices
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
DLL0
8B 8A 7A 7B
DQS1T
3B 3A 4A 4B
5B
5A
6A
6B
PLL5
PLL6
PLL1
DQS24T
DQS1R
DQS24R
DQS24B DQS1B
PLL2
PLL3
DLL1
Arria II GX Device
PLL4
7–20 Chapter 7: External Memory Interfaces in Arria II Devices
Memory Interfaces Pin Support for Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
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
8A 8B 8C 7C 7B 7A
DQS38T
DQS1L
1A
1B
1C
2C
2B
2A
DQS34L
3A 3B 3C 4C 4B 4A
5A
5B
5C
6C
6B
6A
DQS17L
DQS20T DQS19T DQS1T
DQS34R
DQS18R
DQS1R
DQS1B DQS19B DQS20B DQS38B
DQS17R
DQS18L
Arria II GZ Device
PLL_L1
DLL0
PLL_L4
DLL1
PLL_R4
DLL2
DLL3
PLL_R1
PLL_L2
PLL_L3
PLL_R2
PLL_R3
PLL_T1
PLL_T2 PLL_B2
PLL_B1
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
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
1For ×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.
1The 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.
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
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
fFor more information about the ALTMEMPHY megafunction and UniPHY IP core,
refer to the External Memory Interface Handbook.
1Use 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.
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
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Table 74 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 I/O Bank Combinations
Arria II GX
358-Pin Ultra FineLine BGA
EP2AGX45
EP2AGX65 4A and 7A (Top and Bottom I/O banks) (1)
572-Pin FineLine BGA
EP2AGX45
EP2AGX65
EP2AGX95
EP2AGX125
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)
EP2AGX45
EP2AGX65
EP2AGX95
EP2AGX125
EP2AGX190
EP2AGX260
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)
EP2AGX95
EP2AGX125
7A and 8A (Top I/O banks)
5A and 6A (Right I/O banks)
3A and 4A (Bottom I/O banks)
EP2AGX190
EP2AGX260 Combine any two banks from each side of I/O banks
Arria II GZ
780-Pin FineLine BGA
EP2AGZ300
EP2AGZ350 3A and 4A, 7A and 8A (bottom and top I/O banks) (3)
1152-Pin FineLine BGA
EP2AGZ225
EP2AGZ300 (4)
EP2AGZ350 (4)
1A and 1C, 6A and 6C (left and right I/O banks)
3A and 3B, 4A and 4B (bottom I/O banks)
7A and 7B, 8A and 8B (top I/O banks)
1517-Pin FineLine BGA
EP2AGZ225
EP2AGZ300 (4)
EP2AGZ350 (4)
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)
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.
7–24 Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
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.
1If you use the Altera memory controller MegaCore® functions, the ALTMEMPHY
megafunction and UniPHY IP core are instantiated for you.
fFor 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.
Chapter 7: External Memory Interfaces in Arria II Devices 7–25
Arria II External Memory Interface Features
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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)
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.
DLL
Reference
Clock (2)
DQS
Phase-Shift
Circuitry
DQS/CQ
Pin
CQn
Pin
DQS/CQ
Pin
CQn
Pin
to IOE to IOE to IOE
ΔtΔtΔt
to IOE
Δt
DQS Logic
Blocks
DQS/CQ
Pin
CQn
Pin
CQn
Pin
DQS/CQ
Pin
to IOE to IOE
to IOE
to IOE
Δt
Δt
ΔtΔt
DQS/CQ
Pin
CQn
Pin
DQS/CQ
Pin
CQn
Pin
Δt
Δt
Δt
Δt
DQS Logic
Blocks
DLL
Reference
Clock (2)
DQS
Phase-Shift
Circuitry
to
IOE
to
IOE
to
IOE
to
IOE
6
6
6
6
7–26 Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
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.
Figure 7–19. DQS/CQ and CQn Pins and DQS Phase-Shift Circuitry for Arria II GZ Devices (Note 1)
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.
DLL
Reference
Clock (2)
DQS
Phase-Shift
Circuitry
DQS/CQ
Pin
CQn
Pin
CQn
Pin
DQS/CQ
Pin
to
IOE
Δt
Δt
Δt
Δt
DQS
Phase-Shift
Circuitry
DLL
Reference
Clock (2)
DLL
Reference
Clock (2)
DQS/CQ
Pin
CQn
Pin
DQS/CQ
Pin
CQn
Pin
to IOE to IOE to IOE
ΔtΔtΔt
to IOE
Δt
DQS Logic
Blocks
DQS/CQ
Pin
CQn
Pin
CQn
Pin
DQS/CQ
Pin
to IOE to IOE
to IOE
to IOE
Δt
Δt
ΔtΔt
DQS/CQ
Pin
CQn
Pin
DQS/CQ
Pin
CQn
Pin
Δt
Δt
Δt
Δt
DQS Logic
Blocks
DLL
Reference
Clock (2)
DQS
Phase-Shift
Circuitry
to
IOE
to
IOE
to
IOE
DQS
Phase-Shift
Circuitry
to
IOE
to
IOE
to
IOE
to
IOE
Chapter 7: External Memory Interfaces in Arria II Devices 7–27
Arria II External Memory Interface Features
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
1You 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.
1Interfaces 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,
DQS1R
can get its phase-shift settings from DLL0, and
DQS2R
can get its
phase-shift settings from DLL1.
7–28 Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
For Arria II GZ devices, each bank can use settings from either or both adjacent DLLs
the bank. For example,
DQS1L
can get its phase-shift settings from DLL0, while
DQS2L
can get its phase-shift settings from DLL1.
1If 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.
1Arria 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 75 lists the DLL location and supported I/O banks for Arria II GZ devices.
Table 76 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–5. DLL Location and Supported I/O Banks for Arria II GZ Devices
DLL Location Accessible I/O Banks (1)
DLL0 Top-left corner 1A, 1B, 1C, 2A, 2B, 2C, 7A, 7B, 7C, 8A, 8B, 8C
DLL1 Bottom-left corner 1A, 1B, 1C, 2A, 2B, 2C, 3A, 3B, 3C, 4A, 4B, 4C
DLL2 Bottom-right corner 3A, 3B, 3C, 4A, 4B, 4C, 5A, 5B, 5C, 6A, 6B, 6C
DLL3 Top-right corner 5A, 5B, 5C, 6A, 6B, 6C, 7A, 7B, 7C, 8A, 8B, 8C
Note to Table 75:
(1) The DLL can access these I/O banks if they are available for memory interfacing.
Table 7–6. DLL Reference Clock Input for Arria II GX Devices (Note 1)
DLL CLKIN
(Top/Bottom)
CLKIN
(Right) PLL
DLL0
CLK12
CLK13
CLK14
CLK15
PLL1
DLL1
CLK4
CLK5
CLK6
CLK7
CLK8
CLK9
CLK10
CLK11
PLL3
Note to Table 76:
(1)
CLK4
to
CLK7
are located on the bottom side,
CLK8
to
CLK11
are located on the right side, and
CLK12
to
CLK15
are located on the top side of the device.
Chapter 7: External Memory Interfaces in Arria II Devices 7–29
Arria II External Memory Interface Features
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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 77 through Table 79 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) CLKIN (Left/Right) PLL (Top/Bottom) PLL (Left/Right) PLL (Corner)
DLL0
CLK12P
CLK13P
CLK14P
CLK15P
PLL_T1
DLL1
CLK4P
CLK5P
CLK6P
CLK7P
PLL_B1
DLL2
CLK4P
CLK5P
CLK6P
CLK7P
PLL_B2
DLL3
CLK12P
CLK13P
CLK14P
CLK15P
PLL_T2
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) CLKIN (Left/Right) PLL (Top/Bottom) PLL (Left/Right) PLL (Corner)
DLL0
CLK12P
CLK13P
CLK14P
CLK15P
CLK0P
CLK1P PLL_T1 PLL_L2
DLL1
CLK4P
CLK5P
CLK6P
CLK7P
CLK0P
CLK1P PLL_B1
7–30 Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
1If you use the ALTMEMPHY megafunction or UniPHY IP core, Altera recommends
using the dedicated PLL input pin for the PLL reference clock.
DLL2
CLK4P
CLK5P
CLK6P
CLK7P
CLK10P
CLK11P PLL_B2
DLL3
CLK12P
CLK13P
CLK14P
CLK15P
CLK10P
CLK11P 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) CLKIN (Left/Right) PLL (Top/Bottom) PLL (Left/Right) PLL (Corner)
DLL0
CLK12P
CLK13P
CLK14P
CLK15P
CLK0P
CLK1P
CLK2P
CLK3P
PLL_T1 PLL_L2
DLL1
CLK4P
CLK5P
CLK6P
CLK7P
CLK0P
CLK1P
CLK2P
CLK3P
PLL_B1 PLL_L3
DLL2
CLK4P
CLK5P
CLK6P
CLK7P
CLK8P
CLK9P
CLK10P
CLK11P
PLL_B2 PLL_R3
DLL3
CLK12P
CLK13P
CLK14P
CLK15P
CLK8P
CLK9P
CLK10P
CLK11P
PLL_T2 PLL_R2
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) CLKIN (Left/Right) PLL (Top/Bottom) PLL (Left/Right) PLL (Corner)
Chapter 7: External Memory Interfaces in Arria II Devices 7–31
Arria II External Memory Interface Features
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
upndn
signal 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.
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
DQS1T
and 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°), 4
(up to 180°), or 60° (up to 240°).
Figure 7–20. Simplified Diagram of the DQS Phase-Shift Circuitry for Arria II Devices (Note 1)
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 76 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.
6
6
6
Phase
Offset
Control
A
6
Phase offset settings
from the logic array
DLL0 phase offset
settings to top and right
side, DLL1 phase offset
settings to bottom side of
the device (3)
DQS Delay
Settings
delayctrlout [5:0]
offsetdelayctrlout [5:0]
offsetdelayctrlout [5:0]
dqsupdate
aload
clk
(4)
Input Reference
Clock (2) upndnin
upndninclkena
DLL
6
Phase
Comparator
Delay Chains
Up/Down
Counter
6
Phase
Offset
Control
B
Phase offset settings
from the logic array
DLL0 phase offset
settings to bottom side,
DLL1 phase offset settings
6
addnsub
(dll_offset_ctrl_a)
(dll_offset_ctrl_b)
addnsub
( offset [5:0] )
( offset [5:0] )
to right and top side of the
device (3)
offsetdelayctrlin [5:0]
offsetdelayctrlin [5:0]
(offsetctrlout [5:0])
(offsetctrlout [5:0])
7–32 Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
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.
fFor 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.
Table 7–10. DLL Frequency Modes for Arria II Devices
Frequency Mode Available Phase Shift Number of Delay Chains
0 22.5, 45, 67.5, 90 16
1 30, 60, 90, 120 12
2 36, 72, 108, 144 10
3 45, 90, 135, 180 8
4 30, 60, 90, 120 12
5 36, 72, 108, 144 10
6 45, 90, 135, 180 8
7 (1) 60, 120, 180, 240 6
Note to Table 710:
(1) Frequency mode 7 is only available for Arria II GZ devices only.
Chapter 7: External Memory Interfaces in Arria II Devices 7–33
Arria II External Memory Interface Features
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
fFor 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.
1If 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.
fFor 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
addnsub
signal in addition to the
dll_offset[5..0]
signals.
7–34 Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
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).
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.
Figure 7–21. DQS Logic Block for Arria II Devices
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.
DQ
Update
Enable
Circuitry
6
6
6
6
66
DQS delay
settings from the
DQS phase-shift
circuitry
DQS/CQ or
CQn Pin
Input Reference
Clock (1)
DQS Delay Chain
Bypass
Phase offset
settings from
DQS phase-shift
circuitry
6
6
DQS Enable
DQS bus
PRE
QD
Postamble
Enable
Resynchronization
Clock
D
D
Q
Q
dqsin
offsetctrlin [5:0]
0
1
<dqs_offsetctrl_enable>
delayctrlin [5:0]
dqsupdateen
0
1
<dqs_ctrl_latches_enable>
dqsbusout
dqsin
dqsenablein
clk dqsenableout
<delay_dqs_enable_by_half_cycle>
DQS Enable Control
dqsenable (2)
<phase_setting>
0
1
0
1
DQ
Chapter 7: External Memory Interfaces in Arria II Devices 7–35
Arria II External Memory Interface Features
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
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.
Figure 7–22. DQS Update Enable Waveform
Update Enable
Circuitry Output
System Clock
DQS Delay Settings
(Updated every 8 cycles)
DLL Counter Update
(Every 8 cycles)
6 bit
DLL Counter Update
(Every 8 cycles)
7–36 Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
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
dqsenable
assertion and zero latency for
dqsenable
de-assertion shown in Figure 7–23.
Figure 7–23. Avoiding Glitch on a Non-Consecutive Read Burst Waveform
Delayed by
1/2T logic
Preamble
Postamble
Postamble glitch
DQS
Postamble Enable
dqsenable
Chapter 7: External Memory Interfaces in Arria II Devices 7–37
Arria II External Memory Interface Features
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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 RTOCT off during a write.
fFor more information about the dynamic OCT control block, refer to the I/O Features
in Arria II Devices chapter.
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.
Figure 7–24. Dynamic OCT Control Block for Arria II GZ Devices
Note to Figure 7–24:
(1) The write clock comes from the PLL.
OCT Control
Write Clock
(1)
OCT Enable
Resynchronization
Registers
OCT
Half-Rate Clock
OCT Control Path
DFFDFF
2
HDR
Block
7–38 Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
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)
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.
DFF
I
DFF
Input Reg A
Input Reg B
neg_reg_out
I
DQ
DQ
DQS
(2), (4)
DQ
Input Reg CI
DFF
DQ
Double Data Rate Input Registers
DQSn
Differential
Input
Buffer
1
0
CQn
(3)
Synchronization Registers
DFF
DQ
DQ
DFF
To Core (rdata0)
To Core (rdata1)
Resynchronization
Clock
(resync_clk_2x)
(3)
datain regouthi
regoutlo
Chapter 7: External Memory Interfaces in Arria II Devices 7–39
Arria II External Memory Interface Features
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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)
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 dataoutbypass signal after configuration to select either the
directin
input 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
.
1
CQn
(4)
DFF
I
DFF
Input Reg A
Input Reg B
neg_reg_out
II
DQ
DQ
0
DQS/CQ
(3)
,
(9)
DQ
Input Reg C
DFF
DQ
Double Data Rate Input Registers
DQSn
(9)
Differential
Input
Buffer
DFF
DFF
DQ
DQ
DFF
DQ
DFF
DFF
DQ
DQ
DFF
DQ
Alignment and Synchronization Registers
Half Data Rate Registers
To Core
dataout[2]
(7)
To Core
dataout [0]
(7)
To Core
dataout [3]
(7)
To Core
dataout [1]
(7)
to core
(7)
0
1
dataoutbypass
(8)
(2)
DFF
DQ
DFF
DQ
0
1
<bypass_output_register>
(10)
datain [1]
datain [0] dataout
dataout
directin
Resynchronization Clock
(resync_clk_2×)
(5)
Half-Rate Resynchronization Clock (resync_clk_1×)
I/O Clock
Divider
(6)
7–40 Chapter 7: External Memory Interfaces in Arria II Devices
Arria II External Memory Interface Features
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
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)
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.
DQ
DFF
DQ
DFF
0
1
Output Reg Ao
Output Reg Bo
DQ
DFF
DQ
DFF
OR2
TRI
OE Reg B
OE
OE Reg A
OE
Double Data Rate Output-Enable Registers
Double Data Rate Output Registers
DQ or DQS
OE
From core
datahi
From core
datainlo
From core
dataout
dataout
Write
Clock
(2)
Chapter 7: External Memory Interfaces in Arria II Devices 7–41
Arria II External Memory Interface Features
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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)
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.
DFF
DFF
DQ
DQ
DFF
DQ
DFF
DFF
DQ
DQ
DFF
DQ
Half Data Rate to Single Data Rate
Output Registers
DFF
DFF
DQ
DQ
DFF
DQ
Half Data Rate to Single Data Rate
Output-Enable Registers
0
1
0
1
0
1
From Core
(2)
From Core
(2)
From Core
(wdata2)
(2)
From Core
(wdata0)
(2)
From Core
(wdata3)
(2)
From Core
(wdata1)
(2)
DQ
DFF
DQ
DFF
0
1
Output Reg Ao
Output Reg Bo
DQ
DFF
DQ
DFF
OR2
TRI
OE Reg B
OE
OE Reg A
OE
0
1
Double Data Rate
Output-Enable Registers
Double Data Rate
Output Registers
DQ or DQS
Write
Clock
(4)
Half-Rate Clock
(3)
7–42 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
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 711 shows the revision history for this document.
Table 7–11. Document Revision History (Part 1 of 2)
Date Version Changes
June 2011 4.1
Updated Table 7–3.
Updated Figure 7–11, Figure 7–12, Figure 7–13, Figure 7–14, and Figure 7–15.
Minor text edits.
December 2010 4.0
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,
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.
July 2010 3.0
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”.
Update DLL numbering to match with the Quartus II software.
Minor text edits.
November 2009 2.0
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.
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.
Chapter 7: External Memory Interfaces in Arria II Devices 7–43
Document Revision History
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2009 1.2
Added Table 7–2.
Updated Table 7–1, Table 7–3, and Table 7–5.
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.
February 2009 1.1 Updated Table 7–1 and Table 7–2.
February 2009 1.0 Initial release.
Table 7–11. Document Revision History (Part 2 of 2)
Date Version Changes
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
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012
AIIGX51008-4.3
Subscribe
© 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.
8. High-Speed Differential I/O Interfaces
and DPA in Arria II Devices
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
1True 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.
July 2012
AIIGX51008-4.3
8–2 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
LVDS Channels
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
fFor 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.
1When you configure the I/O buffers as LVDS input with RD OCT enabled, you must
set both VCCIO and VCCPD to 2.5 V.
fFor more information about I/O banks, refer to the I/O Features in Arria II Devices
chapter.
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–3
Locations of the I/O Banks
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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)
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.
High-Speed Differential I/O,
General Purpose I/O,
and Memory Interface
High-Speed Differential I/O,
General Purpose I/O,
and Memory Interface
Transceiver
Blocks
High-Speed Differential I/O,
General Purpose I/O,
and Memory Interface
High-Speed Differential I/O,
General Purpose I/O,
and Memory Interface
PLL
PLL
PLL
FPGA Fabric
(Logic Elements, DSP,
Embedded Memory, and Clock Networks)
PLL
PLL
High-Speed
Differential
I/O with DPA,
General
Purpose
I/O, and
Memory
Interface
High-Speed
Differential
I/O with DPA,
General
Purpose
I/O, and
Memory
Interface
PLL
Configuration pins Configuration pins
8–4 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Locations of the I/O Banks
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Figure 8–2 shows a high-level chip overview of the Arria II GZ devices.
Table 81 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 81). 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
Figure 8–2. High-Speed Differential I/Os with DPA Block Locations in Arria II GZ Devices
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).
FPGA Fabric
(Logic Elements, DSP,
Embedded Memory, PLL
PLL
(1)
(2)
(1)
(2)
General Purpose
I/O and Memory
Interface
General Purpose
I/O and Memory
Interface
General Purpose
I/O and Memory
Interface
General Purpose
I/O and Memory
Interface
PCIe hard IP Block
(3)
PLL
PLL
PLL PLL
PLL PLL
Clock Networks)
Transceiver
Block
Transceiver
Block
Transceiver
Block
General Purpose
I/O and
High-Speed
LVDS I/O with
DPA and Soft CDR
General Purpose
I/O and
High-Speed
LVDS I/O with
DPA and Soft CDR
General Purpose
I/O and
High-Speed
LVDS I/O with
DPA and Soft CDR
General Purpose
I/O and
High-Speed
LVDS I/O with
DPA and Soft CDR
Transceiver
Block
Transceiver
Block
Transceiver
Block
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–5
Locations of the I/O Banks
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
1Dedicated 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
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 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)
EP2AGX95 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)
EP2AGX125 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)
EP2AGX190 28(RD or eTx)+
28(Rx, Tx or eTx)
48(RD or eTx) +
48(Rx, Tx or eTx)
EP2AGX260 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
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 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)
EP2AGX95 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)
EP2AGX125 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)
EP2AGX190 57(RD or eTx) +
56(Rx, Tx, or eTx)
97(RD or eTx) +
96(Rx, Tx, or eTx)
8–6 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Locations of the I/O Banks
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 83 and Table 84 list the maximum number of row and column LVDS I/Os
supported in Arria II GZ devices.
EP2AGX260 57(RD or eTx) +
56(Rx, Tx, or eTx)
97(RD or eTx) +
96(Rx, Tx, or eTx)
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–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
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
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 42(Rx or eTx) +
44(Tx or eTx)
86(Rx or eTx) +
88(Tx or eTx)
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 1517-Pin FineLine BGA
EP2AGZ225 93(Rx or eTx) + 96 eTx 93(Rx or eTx) + 96 eTx
EP2AGZ300 68(Rx or eTx) + 72 eTx 93(Rx or eTx) + 96 eTx 93(Rx or eTx) + 96 eTx
EP2AGZ350 68(Rx or eTx) + 72 eTx 93(Rx or eTx) + 96 eTx 93(Rx or eTx) + 96 eTx
Notes to Table 8–4:
(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.
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–7
LVDS SERDES and DPA Block Diagram
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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)
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.
+
-
+
-
IOE
tx_in 10
Serializer 2IOE
IOE Supports SDR, DDR, or
Non-Registered Datapath
DIN DOUT
LVDS Transmitter
LVDS Receiver
tx_coreclock
tx_out
rx_in
DPA Circuitry
Synchronizer
DIN
Retimed
Data
DPA Clock
DINDOUT
DINDOUT
DIN
DOUT
Deserializer Bit Slip
2
3(LVDS_LOAD_EN, diffioclk,
tx_coreclock)
IOE Supports SDR, DDR, or
Non-Registered Datapath
FPGA
Fabric
10
rx_out
(LOAD_EN, diffioclk)
2
diffioclk
Clock Multiplexer
rx_divfwdclk
rx_outclock
PLL
(4)
rx_inclock/tx_inclock
(LVDS_LOAD_EN,
LVDS_diffioclk,
rx_outclock
3
LVDS_diffioclk
DPA_diffioclk
3
(DPA_LOAD_EN,
DPA_diffioclk,
rx_divfwdclk)
8 Serial LVDS
Clock Phases
LVDS Clock Domain
DPA Clock Domain
8–8 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Transmitter
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
1When using emulated LVDS I/O standards at the differential transmitter, the SERDES
circuitry must be implemented in logic cells but not hard SERDES.
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.
Figure 8–4. LVDS Transmitter Block Diagram (Note 1), (2)
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.
+
-
tx_coreclock
FPGA
Fabric
tx_in 10
Serializer 2IOE
DIN DOUT
LVDS Transmitter
IOE supports SDR, DDR, or
Non-Registered Datapath
tx_out
PLL
(3)
tx_inclock
(LVDS_LOAD_EN, diffioclk, tx_coreclock)
3
LVDS Clock Domain
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–9
Differential Transmitter
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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–5. Serializer Bypass Path (Note 1), (2), (3)
Notes to Figure 8–5:
(1) All disabled blocks and signals are grayed out.
(2) In DDR mode,
tx_inclock
clocks 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.
+
-
tx_coreclock
FPGA
Fabric
tx_in 10
Serializer 2IOE
DIN
LVDS Transmitter
IOE supports SDR, DDR, or
Non-Registered Datapath
tx_out
PLL
(4)
tx_inclock
(LVDS_LOAD_EN, diffioclk, tx_coreclock)
3
LVDS Clock Domain
DOUT
Figure 8–6. LVDS Transmitter in Clock Output Mode
Note to Figure 8–6:
(1) Arria II GX center/corner PLL or Arria II GZ left/right PLL.
Transmitter Circuit
diffioclk
LVDS_LOAD_EN
txclkout–
txclkout+
Parallel Series
FPGA
Fabric
PLL
(1)
8–10 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Transmitter
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
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 85 lists the assignment name and its possible values for programmable
pre-emphasis in the Quartus II software Assignment Editor.
Figure 8–7. LVDS Output Single-Ended Waveform with and without Programmable Pre-Emphasis (Note 1)
Note to Figure 8–7:
(1) VP– voltage boost from pre-emphasis.
OUT
OUT
OUT
OUT
Without Programmable Pre-emphasis
With Programmable Pre-emphasis
VOD
VOD
VP
VP
Table 8–5. Programmable Pre-Emphasis Settings in Quartus II Software Assignment Editor
Assignment Name
Assignment Value
Arria II GX Device Arria II GZ Device
Programmable Pre-Emphasis 0 (off), 1 (default on)
0 (default zero),
1 (medium low),
2 (medium high),
3 (high)
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–11
Differential Receiver
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
You can statically assign the VOD settings from the Assignment Editor. Table 86 lists
the assignment name for programmable VOD and its possible values in the Quartus II
software Assignment Editor.
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.
Table 8–6. Programmable VOD Settings in Quartus II Software Assignment Editor
Assignment Name
Assignment Value
Arria II GX Device Arria II GZ Device
Programmable Differential Output
Voltage (VOD)2 0, 1, 2, 3
Figure 8–8. LVDS Receiver Block Diagram (Note 1), (2)
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.
IOE
2
Deserializer Bit Slip
Synchronizer
DPA Circuitry
2
Clock
Multiplexer
8 Serial LVDS
Clock Phases
PLL (3)
rx_inclock
LVDS Clock Domain
DPA Clock Domain
10
DOUT DIN DOUT DIN
DOUT DIN DIN
Retimed
Data
DPA Clock
LVDS_diffiioclk
DPA_diffioclk
3
(DPA_LOAD_EN,
DPA_diffioclk,
rx_divfwdclk)
(LVDS_LOAD_EN,
LVDS_diffioclk,
rx_outclk)
3
(LOAD_EN, diffioclk)
diffioclk
rx_out
rx_divfwdclk
rx_outclock
rx_in
+
FPGA
Fabric
LVDS Receiver
IOE Supports SDR, DDR, or Non-Registered Datapath
8–12 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Receiver
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
1Only 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
1Dedicated 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.
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–13
Differential Receiver
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 8–9 shows the possible phase relationships between the DPA clocks and the
incoming serial data.
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_diffioclk
and 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_reset
to reset the synchronizer
when the DPA signal is in a loss-of-lock condition and the data checker indicates
corrupted received data.
Figure 8–9. DPA Clock Phase to Serial Data Timing Relationship (Note 1)
Note to Figure 8–9:
(1) TVCO is defined as the PLL serial clock period.
45˚
90˚
135˚
180˚
225˚
270˚
315˚
0.125T
vco
T
vco
rx_in D0 D1 D2 D3 D4 Dn
8–14 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Receiver
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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_align
signal:
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_align
does not result in extra slips
Valid data is available two parallel clock cycles after the rising edge of the
rx_channel_data_align
signal
Figure 8–10 shows receiver output after a one bit-slip pulse with the deserialization
factor set to 4.
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.
Figure 8–10. Data Realignment Timing
rx_in
rx_outclock
rx_channel_data_align
rx_out
rx_inclock
3
3210 321x xx21 0321
21 0 3 2 1 0 3 2 1 0
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–15
Differential Receiver
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 8–11 shows a preset value of 4-bit times before rollover occurs. The
rx_cda_max
signal pulses for one
rx_outclock
cycle to indicate that rollover has occurred.
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–11. Receiver Data Re-Alignment Rollover
rx_outclock
rx_channel_data_align
rx_cda_max
rx_inclock
Figure 8–12. Deserializer Bypass (Note 1), (2), (3)
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.
IOE
2
Deserializer
Dese
r
Deser
ia
li
z
ializ
e
r
er
Bit Slip
Synchroni
z
e
r
D
P
A Circuitr
PP
y
2
C
loc
k
M
u
l
t
ipl
exer
p
8
S
e
r
i
a
l
L
VDS
L
L
C
loc
k
Ph
ases
PLL (4)PLL (4)
2
DOUT
DIN
DOUT
DIN
DO
U
T
DIN
DIN
R
etimed
Dat
a
DP
A Cloc
P
P
k
L
VDS_diffiioclk
L
L
D
P
A_diffioclk
P
P
3
(DPA_L
O
AD_EN,
DPA_di
ff
ioclk,
r
x_divfwdclk
)
(LVD
S
_L
O
AD_EN,
L
VD
S
_diffioclk,
rx_outclk
)
3
(
L
O
AD_EN, diffioclk)
d
i
ff
io
c
l
k
rx_out
r
x
_
div
f
wdcl
k
rx_outclock
rx_in
+
FPGA
Fabric
LVDS Receiver
IOE Supports SDR, DDR, or Non-Registered Datapath
8–16 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Receiver
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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_diffioclk
clock 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.
1For 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.
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–17
Differential Receiver
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 8–13. Receiver Datapath in Non-DPA Mode (Note 1), (2), (3)
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.
2
Deserializer Bit Slip
Synchroniz
er
DP
A Circuitr
PP
y
2
Clock
Multiplexer
8
S
e
r
ial
L
VDS
LL
C
loc
k
Phases
PLL (4)
rx_inclock LVDS Clock Domain
10
DOUT DIN DOUT DIN
D
O
U
T
DIN
N
D
I
N
R
etimed
D
at
a
DP
A Cloc
P
P
k
L
VDS_diffiioclk
L
L
D
P
A_diffioclk
P
P
3
(
DPA_LOAD_EN
,
D
PA_diffioclk,
rx_divfwdclk
)
(LVDS_LOAD_EN,
LVDS_diffioclk,
rx_outclk)
3
(LOAD_EN, diffioclk)
diffioclk
rx_out
r
x_div
f
wdclk
rx_outclock
rx_in
+
FPGA
Fabric
LVDS Receiver
I
OE Suppo
r
t
s SDR, DDR, or Non-Registered Datapat
h
I
O
E
8–18 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Receiver
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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_diffioclk
clock to write
serial data into the synchronizer. Use the
LVDS_diffioclk
clock to read the serial data
from the synchronizer. Use the same
LVDS_diffioclk
clock in the data realignment
and deserializer blocks.
Figure 8–14. Receiver Datapath in DPA Mode (Note 1), (2), (3)
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.
2
Deserializer Bit Slip
Synchronizer
DPA Circuitry
2
Clock
Multiplier
8 Serial LVDS
Clock Phases
PLL
(4)
rx_inclock
LVDS Clock Domain
DPA Clock Domain
10
DOUT DIN DOUT DIN
DOUT DIN DIN
Retimed
Data
DPA Clock
LVDS_diffiioclk
DPA_diffioclk
3(DPA_LOAD_EN,
DPA_diffioclk,
rx_divfwdclk)
(LVDS_LOAD_EN,
LVDS_diffioclk,
rx_outclk)
3
(LOAD_EN, diffioclk)
diffioclk
rx_out
rx_divfwdcl
k
rx_outclock
rx_in
+
FPGA
Fabric
LVDS Receiver
IOE Su
pp
o
r
t
s SDR, DDR, or Non-Re
g
istered Datapat
h
IO
E
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–19
Differential Receiver
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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_diffioclk
clock for bit-slip operation and
deserialization. The
DPA_diffioclk
clock is divided by the deserialization factor to
produce the
rx_divfwdclk
clock, 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)
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.
2
Deserializer Bit Slip
Synchronizer
DPA Circuitry
2
Clock
Multiplexer
8 Serial LVDS
Clock Phases
PLL
(4)
rx_inclock
LVDS Clock Domain
DPA Clock Domain
10
DOUT DIN DOUT DIN
DOUT DIN DIN
Retimed
Data
DPA Clock
LVDS_diffiioclk
DPA_diffioclk
3
(DPA_LOAD_EN,
DPA_diffioclk,
rx_divfwdclk)
(LVDS_LOAD_EN,
LVDS_diffioclk,
rx_outclk)
3
(LOAD_EN, diffioclk)
diffioclk
rx_out
rx_divfwdclk
rx_outclock
rx_in
+
FPGA
Fabric
LVDS Receiver
IOE Su
pp
o
r
t
s SDR, DDR, or Non-Re
g
istered Datapat
h
IO
E
8–20 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Receiver
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
Table 87 lists the assignment name and its value for differential input OCT in the
Quartus II software Assignment Editor.
fFor more information, refer to I/O Features in Arria II Devices chapter.
Figure 8–16. LVDS Input Buffer I/O RD OCT
Table 8–7. Differential Input OCT in Quartus II Software Assignment Editor
Assignment Name Assignment Value
Input Termination (Accepts wildcards/groups) Differential
LVDS
Transmitter
Arria II Differential
Receiver with
= 100 Ω OCT
R
D
R
D
Z
0
= 50 Ω
Z
0
= 50 Ω
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–21
PLLs
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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_outclock
and
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_outclock
and
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.
fFor 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
Quadrant Quadrant
Quadrant Quadrant
8
4
4
LVDS
Clock
Corner
PLL
DPA
Clock
4
Corner
PLL
No LVDS and DPA
clock networks on the
left side of the device
8–22 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
LVDS and DPA Clock Networks
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
For more information about Arria II devices PLL clocking restrictions, refer to
“Differential Pin Placement Guidelines” on page 8–27.
Figure 8–18. LVDS and DPA Clock Networks in the Arria II GX Devices with Center PLLs
4
4
Quadrant Quadrant
Quadrant Quadrant
8
4
4
4
8
4
LVDS
Clock
Center
PLL
Center
PLL
DPA
Clock
LVDS
Clock
DPA
Clock
Corner
PLL
Corner
PLL
No LVDS and DPA
clock networks on the
left side of the device
Figure 8–19. LVDS/DPA Clocks in the Arria II GZ Devices with Center PLLs
4
2
2
2
2
4
4
4
4
4
4
4
Quadrant Quadrant
Quadrant Quadrant
LVDS
Clock
Center
PLL_L2
Center
PLL_L3
DPA
Clock
LVDS
Clock
DPA
Clock
LVDS
Clock
Center
PLL_R2
Center
PLL_R3
DPA
Clock
LVDS
Clock
DPA
Clock
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–23
Source-Synchronous Timing Budget
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
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 88.
Figure 8–20. Bit Orientation
987 6 5 4 3 2 1 0
10 LVDS Bits
MSB LSB
inclock/outclock
data in
8–24 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Source-Synchronous Timing Budget
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 88 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.
Figure 8–21. Bit Order and Word Boundary for One Differential Channel (Note 1)
Note to Figure 8–21:
(1) These waveforms are only functional waveforms and are not intended to convey timing information.
Previous Cycle
76543210
MSB LSB
tx_outclock
tx_out
XXXXXXXX XX X XXXXX
Current Cycle Next Cycle
Transmitter Channel
Operation (x8 Mode)
X
XXXXXXXX
rx_inclock
rx_in
76543210 XXX XXXXXXX XXXX X
Receiver Channel
Operation (x8 Mode)
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
Table 8–8. Differential Bit Naming
Receiver Channel Data
Number
Internal 8-Bit Parallel Data
MSB Position LSB Position
170
2158
32316
43124
53932
64740
75548
86356
97164
10 79 72
11 87 80
12 95 88
13 103 96
14 111 104
15 119 112
16 127 120
17 135 128
18 143 136
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–25
Source-Synchronous Timing Budget
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
fYou 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:
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.
Equation 8–1.
RSKM TUI SWTCCS
2
----------------------------------------------=
8–26 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Source-Synchronous Timing Budget
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Figure 8–22 shows the relationship between the RSKM, TCCS, and 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.
1To obtain the RSKM value, assign an appropriate input delay to the LVDS receiver
through the TimeQuest analyzer constraints menu.
Figure 8–22. Differential High-Speed Timing Diagram and Timing Budget for Non-DPA Mode
TUI
Time Unit Interval (TUI)
TCCS
Internal
Clock
Falling Edge
TCCS
TCCS
2
Receiver
Input Data
Transmitter
Output Data
Internal
Clock
Synchronization
External
Clock
Receiver
Input Data
Internal
Clock
External
Input Clock
Timing Budget
Timing Diagram
Clock Placement
SW
TCCS
RSKM RSKM
SW
RSKM RSKM
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–27
Differential Pin Placement Guidelines
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
1DPA-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.
8–28 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Pin Placement Guidelines
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Figure 8–23. Center and Corner PLLs Driving DPA-Enabled Differential I/Os in the Same Bank
Corner
PLL
C
PLL
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
Channels
driven by
Corner
PLL
Channels
driven by
Center
PLL
One Unused
Channel for Buffe
r
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
Reference
CLK
CLK
enter
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–29
Differential Pin Placement Guidelines
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
1Center 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
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
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
DPA-enabled
Diff I/O
Center
PLL
Center
PLL
Center
PLL
Center
PLL Unused
PLL
Reference
CLK
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
8–30 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Pin Placement Guidelines
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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
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
Center PLL
Center PLL
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–31
Differential Pin Placement Guidelines
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
8–32 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Pin Placement Guidelines
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Figure 8–26. Corner PLLs Driving DPA-Enabled Differential I/Os
Upper
Corner
PLL
Diff I/O
DPA-enabled
Diff I/O
DPA
-enabled
Diff I/O
DPA-
enabled
Diff I/O
Reference CLK
Upper
I/O Bank
Lower
I/O Bank
Unused
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
Lower Corner PLL
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–33
Differential Pin Placement Guidelines
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
Diff RX
Corner
PLL
Corner
PLL
Center
PLL
Center
PLL
Diff TX
Diff RX
Diff RX Diff TX
Diff TX
Diff TX
Diff TX
Diff TX
Diff TX
Diff RX
Diff RX Diff TX
Diff RX
Diff RX Diff TX
Diff RX
Diff RX
Diff RX Diff TX DPA -disabled
Diff I /O
Channels
driven by
Corner
PLL
Channels
driven by
Center
PLL
No
separation
buffer
needed
Reference
CLK
Reference
CLK
Reference
CLK
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
8–34 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Differential Pin Placement Guidelines
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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
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
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
Reference CLK
Center
PLL
Center
PLL
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–35
Differential Pin Placement Guidelines
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
1Center 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
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
DPA-disabled
Diff I/O
Reference
CLK
Reference
CLK
Center
PLL
Center
PLL
8–36 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices
Setting Up an LVDS Transmitter or Receiver Channel
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
fFor 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.
fFor more information about the ALTPLL megafunction, refer to the Phase Locked-Loops
(ALTPLL) Megafunction User Guide.
Document Revision History
Table 89 lists the revision history for this chapter.
Table 8–9. Document Revision History (Part 1 of 2)
Date Version Changes Made
July 2012 4.3 Updated Figure 8–23.
December 2011 4.2
Updated “Differential Receiver” section.
Minor text edits.
June 2011 4.1
Updated Figure 8–2.
Minor text edits.
December 2010 4.0
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.
Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices 8–37
Document Revision History
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2010 3.0
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.
Removed Table 8–1: Supported Data Range.
Minor text edit.
November 2009 2.0
Updated for Arria II GX v9.1 release:
Updated Table 8–1 and Table 8–2.
Updated Figure 8–1.
Updated “LVDS Channels” and “Non-DPA Mode” sections.
Minor text edit.
June 2009 1.1
Updated Table 8–2 and Table 8–3.
Updated “Programmable Pre-Emphasis and Programmable VOD.” and “LVDS Channels”
sections.
February 2009 1.0 Initial release
Table 8–9. Document Revision History (Part 2 of 2)
Date Version Changes Made
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
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
III–2 Section III: System Integration for Arria II Devices
Revision History
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012
AIIGX51009-4.3
Subscribe
© 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.
9. Configuration, Design Security, and
Remote System Upgrades in Arria II
Devices
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
July 2012
AIIGX51009-4.3
9–2 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Configuration Features
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
fFor 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.
1All 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 91 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 Configuration Method Decompression Design
Security
Remote System
Upgrade
FPP MAX II device or a microprocessor with flash memory v(1) v(1)
AS Serial configuration device vvv(2)
PS MAX II device or a microprocessor with flash memory vv
Download cable vv
JTAG MAX II device or a microprocessor with flash memory
Download cable
Notes to Table 9–1:
(1) In these modes, the host system must send a
DCLK
that 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.
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–3
Configuration Features
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Table 92 lists the configuration features you can use in each configuration scheme for
Arria II GZ devices.
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.
Table 9–2. Configuration Features for Arria II GZ Devices
Configuration
Scheme Configuration Method Decompression Design
Security
Remote System
Upgrade
FPP MAX II device or a microprocessor with flash memory v(1) v(1)
Fast AS Serial configuration device vvv (2)
PS MAX II device or a microprocessor with flash memory vv
Download cable vv
JTAG MAX II device or a microprocessor with flash memory
Download cable
Notes to Table 9–2:
(1) In these modes, the host system must send a
DCLK
that 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.
9–4 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Power-On Reset Circuit and Configuration Pins Power Supply
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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
nSTATUS
until the voltage levels are above the POR trip point of the device. Table 93
lists the voltages required for power-up in Arria II devices.
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
MSEL
pin settings. For Arria II GZ
devices, selection depends on the
PORSEL
input pin.
PORSEL
= L is set as standard POR
time.
PORSEL
= H is set as fast POR time. Fast POR time is 4ms<T
POR <12ms for a
fast configuration time. Standard POR time is 100 ms < TPOR < 300 ms for a lower
power-ramp rate.
Table 9–3. Required Voltages for Arria II Devices
Devices Voltages
Arria II GX VCCCB, VCCA_PLL, VCC, VCCPD, and VCCIO for I/O banks 3C or 8C
Arria II GZ VCC, VCCAUX, VCCCB, VCCPGM, and VCCPD
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–5
Power-On Reset Circuit and Configuration Pins Power Supply
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Configuration Pins Power Supply
Table 94 lists the configuration pins for Arria II devices.
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.
fFor more information, refer to the Power Management in Arria II Devices chapter.
fFor more information about the configuration pins connection recommendations,
refer to the Arria II Device Family Pin Connection Guidelines.
Table 9–4. Configuration pins for Arria II Devices
Devices Configuration Pins
Arria II GX
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.
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.
Arria II GZ
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.
9–6 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Power-On Reset Circuit and Configuration Pins Power Supply
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
VCCPD Pins
Arria II devices have a dedicated programming power supply, the VCCPD pins.
Table 95 lists the power supply for Arria II devices.
For more information about configuration pins power supply, refer to “Device
Configuration Pins” on page 9–39.
Table 9–5. Power Supply for Arria II Devices
Devices Programming Power Supply
Arria II GX
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.
VCCPD and VCCIO for I/O banks 3C and 8C must ramp up from 0 V to the desired
voltage level within 100 ms when
PORSEL
is low or 4 ms when
PORSEL
is 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
nCONFIG
low until all the power supplies
are stable.
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.
Arria II GZ
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
).
VCCPD and VCCPGM must ramp up from 0 V to the desired voltage level within
100 ms when
PORSEL
is low or 4 ms when
PORSEL
is 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
nCONFIG
low until all the power supplies are stable.
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.
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–7
Configuration Process
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
1For 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
MSEL
pin settings. During POR, the device resets, holds
nSTATUS
low, 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
nCONFIG
is low, the device
is in reset. When the device comes out of reset,
nCONFIG
must be at a logic-high level in
order for the device to release the open-drain
nSTATUS
pin. After
nSTATUS
is 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_pullup
is
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_pullup
is driven high, the weak pull-up resistors are disabled.
Configuration
nCONFIG
and
nSTATUS
must be at a logic-high level in order for the configuration stage
to begin. The device receives configuration data on its
DATA
pins and (for synchronous
configuration schemes) the clock source on the
DCLK
pin. 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_DONE
pin, which is pulled high by
a pull-up resistor. A low-to-high transition on
CONF_DONE
indicates configuration is
complete and initialization of the device can begin.
To ensure
DCLK
and
DATA0
are 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
DCLK
for an
indefinite amount of time.
9–8 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Configuration Process
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
A reconfiguration is initiated by toggling the
nCONFIG
pin 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
nCONFIG
is pulled low,
nSTATUS
and
CONF_DONE
are also pulled low and all the I/O pins are tri-stated. After
nCONFIG
and
nSTATUS
return to a logic-high level, configuration begins.
A pull-up or pull-down resistor helps keep the
nCONFIG
line 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
nCONFIG
may be tri-stated). If a pull-up resistor is added to the
nCONFIG
line, the FPGA
stays in user mode if the external host is being reprogrammed. If a pull-down resistor
is added to the
nCONFIG
line, the FPGA goes into reset mode if the external host is
being reprogrammed. Whenever the
nCONFIG
line is released high, ensure the first
DCLK
and
DATA
are not driven unintentionally.
1Altera recommends to keep the
nCONFIG
line 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
nSTATUS
signal low,
indicating a data frame error; the
CONF_DONE
signal 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
nSTATUS
for errors and then pulse
nCONFIG
low to
restart the configuration.
Initialization
In Arria II devices, the initialization clock source is either the internal oscillator or the
optional
CLKUSR
pin. 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
DCLK
to 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_DONE
goes high,
CLKUSR
is 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.
1Two
DCLK
falling edges are required after
CONF_DONE
goes high to begin the
initialization of the device for both uncompressed and compressed bitstream in the
FPP or PS configuration mode.
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–9
Configuration Schemes
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
User Mode
An optional
INIT_DONE
pin 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_DONE
pin, it is high due to an external
10-k pull-up resistor when
nCONFIG
is low and during the beginning of
configuration. After the option bit to enable
INIT_DONE
is programmed into the device
(during the first frame of configuration data), the
INIT_DONE
pin goes low. When
initialization is complete, the
INIT_DONE
pin 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
MSEL
pins either high or
low, as listed in Table 96 and Table 97. 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
MSEL
pins must be at LVTTL VIL and VIH
levels to be considered logic low and logic high, respectively.
1To 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.
1For 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 96 and Table 97, respectively.
Table 9–6. Configuration Schemes for Arria II GX Devices (Part 1 of 2)
Configuration Scheme MSEL3 MSEL2 MSEL1 MSEL0 POR Delay
Configuration
Voltage
Standard (V) (1)
FPP 0000Fast3.3, 3.0, 2.5
0111Fast 1.8
FPP with design security feature,
decompression, or both enabled (2)
0001Fast3.3, 3.0, 2.5
1000Fast 1.8
PS
0010Fast3.3, 3.0, 2.5
1001Fast 1.8
1010Standard3.3, 3.0, 2.5
1011Standard1.8
9–10 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Configuration Schemes
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 97 lists the configuration schemes for Arria II GZ devices.
AS with or without remote system upgrade
0011Fast 3.3
1101Fast3.0, 2.5
1110Standard3.3
1111Standard3.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
DCLK
that is x4 the data rate.
(3) JTAG-based configuration takes precedence over other configuration schemes, which means the
MSEL
pin settings are ignored. JTAG-based
configuration does not support the design security or decompression features.
(4) Do not leave the
MSEL
pins 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
MSEL
pins to GND.
Table 9–6. Configuration Schemes for Arria II GX Devices (Part 2 of 2)
Configuration Scheme MSEL3 MSEL2 MSEL1 MSEL0 POR Delay
Configuration
Voltage
Standard (V) (1)
Table 9–7. Configuration Schemes for Arria II GZ Devices
Configuration Scheme MSEL2 MSEL1 MSEL0 POR Delay
Configuration
Voltage
Standard (V)
FPP 0 0 0 Fast/Standard 3.0, 2.5, 1.8
PS 0 1 0 Fast/Standard 3.0, 2.5, 1.8
Fast AS (40 MHz) (1) 0 1 1 Fast/Standard 3.0, 2.5, 1.8
Remote system upgrade fast AS (40 MHz) (1) 0 1 1 Fast/Standard 3.0, 2.5, 1.8
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
DCLK
that is x4 the data rate.
(3) The JTAG-based configuration takes precedence over other configuration schemes, which means the
MSEL
pin settings are ignored. The
JTAG-based configuration does not support the design security or decompression features.
(4) Do not leave the
MSEL
pins 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
MSEL
pins to GND.
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–11
Fast Passive Parallel Configuration
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Raw Binary File Size
Table 98 lists the uncompressed raw binary file (.rbf) configuration file sizes for
Arria II devices.
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.
fFor 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.
Table 9–8. Uncompressed .rbf Sizes for Arria II Devices
Device Data Size (bits)
EP2AGX45 29,599,704
EP2AGX65 29,599,704
EP2AGX95 50,376,968
EP2AGX125 50,376,968
EP2AGX190 86,866,440
EP2AGX260 86,866,440
EP2AGZ225 94,557,472
EP2AGZ300 128,395,584
EP2AGZ350 128,395,584
9–12 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Fast Passive Parallel Configuration
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
1If you use the Arria II decompression and/or design security features, the external
host must send a
DCLK
frequency that is x4 the data rate.
The x4
DCLK
signal does not require an additional pin and is sent on the
DCLK
pin. The
maximum
DCLK
frequency 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
DCLK
frequency. For Arria II GZ devices, if you
are not using the decompression or design security features, the data rate is x8 the
DCLK
frequency.
Figure 9–1 shows the configuration interface connections between an Arria II device
and a MAX II device for single device configuration.
1Arria II devices receive configuration data on the
DATA[7..0]
pins and the clock is
received on the
DCLK
pin. 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
DCLK
cycle out of the four
DCLK
cycles. 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
DCLK
three
clock cycles after the last data is latched.
In Arria II devices, the initialization clock source is either the internal oscillator or the
optional
CLKUSR
pin. 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
DCLK
to the device after
configuration is complete does not affect device operation.
Figure 9–1. Single Device FPP Configuration Using an External Host
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
nCONFIG
line in a known state when the external host is not driving the line.
(3) You can leave the
nCEO
pin unconnected or used as a user I/O pin when it does not feed the
nCE
pin of the other device.
(4) The
MSEL
pin 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.
External Host
(MAX II Device or
Microprocessor)
CONF_DONE
nSTATUS
nCE
DATA[7..0]
nCONFIG
Arria II Device
Memory
ADDR DATA[7..0]
GND
MSEL[n..0]
(1)
DCLK
nCEO N.C. (3
)
10 kΩ10 kΩ
(4)
(1)
10 kΩ
(2)
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–13
Fast Passive Parallel Configuration
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
After the first device completes configuration in a multi-device configuration chain,
its
nCEO
pin drives low to activate the
nCE
pin 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
DCLK
and
DATA
lines are buffered for
every fourth device. Because all device
CONF_DONE
pins are tied together, all devices
initialize and enter user mode at the same time.
All
nSTATUS
and
CONF_DONE
pins 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
nSTATUS
pin low. This behavior is similar to a single device detecting an error.
Figure 9–2. Multi-Device FPP Configuration Using an External Host
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
nCONFIG
line in a known state when the external host is not driving the line.
(3) The
MSEL
pin 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.
CONF_DONE
nSTATUS
nCE
DATA[7..0]
nCONFIG
Arria II Device 1 Arria II Device 2
Memory
ADDR DATA[7..0]
GND
(1)
DCLK
nCEO
CONF_DONE
nSTATUS
nCE
DATA[7..0]
nCONFIG
DCLK
nCEO N.C.
10 kΩ
10 kΩ
External Host
(MAX II Device or
Microprocessor)
MSEL[n..0] MSEL[n..0] (3)
(3) 10 kΩ
(1)
10 kΩ
(2)
(1)
9–14 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Fast Passive Parallel Configuration
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
If a system has multiple devices that contain the same configuration data, tie all
device
nCE
inputs to GND and leave the
nCEO
pins 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
DCLK
and
DATA
lines 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.
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_DONE
and
nSTATUS
pins together.
fFor 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.
Figure 9–3. Multiple-Device FPP Configuration Using an External Host When Both Devices Receive the Same Data
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
nCONFIG
line in a known state when the external host is not driving the line.
(3) The
MSEL
pin 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.
CONF_DONE
nSTATUS
nCE
DATA[7..0]
nCONFIG
Arria II Device 1 Arria II Device 2
Memory
ADDR DATA[7..0]
DCLK
nCEO N.C.
CONF_DONE
nSTATUS
nCE
DATA[7..0]
nCONFIG
GND
DCLK
nCEO N.C.
External Host
(MAX II Device or
Microprocessor)
GND
MSEL[n..0] MSEL[n..0]
(3) (3)
(1)
10 kΩ
10 kΩ
(1)
10 kΩ
(2)
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–15
Fast Passive Parallel Configuration
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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)
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
,
nSTATUS
, and
CONF_DONE
are at logic-high levels. When
nCONFIG
is pulled low, a reconfiguration cycle begins.
(3) After power-up, the Arria II device holds
nSTATUS
low for the time of the POR delay.
(4) After power-up, before and during configuration,
CONF_DONE
is low.
(5) Two
DCLK
falling edges are required after
CONF_DONE
goes high to begin the initialization of the device.
(6) Do not leave
DCLK
floating 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 ArriaIIGX
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.
nCONFIG
nSTATUS (3)
CONF_DONE (4)
DCLK
DATA[7..0]
User I/O
INIT_DONE
Byte 0 Byte 1 Byte 2 Byte 3
t
CD2UM
t
CF2ST1
t
CF2CD
t
CFG
t
CH
t
CL
t
DH
t
DSU
t
CF2CK
t
STATUS
t
CLK
t
CF2ST0
t
ST2CK
High-Z User Mode
(7)
(6)
User Mode
Byte n-2 Byte n-1 Byte n
(5)
9–16 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Fast Passive Parallel Configuration
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 99 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 Parameter Minimum Maximum Units
tCF2CD
nCONFIG
low to
CONF_DONE
low 800 ns
tCF2ST0
nCONFIG
low to
nSTATUS
low 800 ns
tCFG
nCONFIG
low pulse width 2 s
tSTATUS
nSTATUS
low pulse width 10 500 (3) s
tCF2ST1 (2)
nCONFIG
high to
nSTATUS
high 500 (3) s
tCF2CK
nCONFIG
high to first rising edge on
DCLK
500 s
tST2CK
nSTATUS
high to first rising edge of
DCLK
2—s
tDSU Data setup time before rising edge on
DCLK
4 ns
tDH Data hold time after rising edge on
DCLK
0 (4) —ns
tCH
DCLK
high time 3.2 (4) —ns
tCL
DCLK
low time 3.2 (4) —ns
tCLK
DCLK
period 8 ns
fMAX
DCLK
frequency 125 MHz
tRInput rise time 40 ns
t Input fall time 40 ns
tCD2UM
CONF_DONE
high to user mode (5) 55 150 s
tCD2CU
CONF_DONE
high to
CLKUSR
enabled 4 × maximum
DCLK
period ——
tCD2UMC
CONF_DONE
high to user mode with
CLKUSR
option on tCD2CU + (8532 ×
CLKUSR
period) ——
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
nSTATUS
low.
(3) You can obtain this value if you do not delay configuration by extending the
nCONFIG
or
nSTATUS
low 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 =1ns, t
CH = 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.
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–17
Fast Passive Parallel Configuration
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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)
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_DONE
are at logic high levels. When
nCONFIG
is pulled low, a reconfiguration cycle begins.
(3) After power-up, the Arria II GX device holds
nSTATUS
low for the time of the POR delay.
(4) After power-up, before and during configuration,
CONF_DONE
is low.
(5) Two
DCLK
falling edges are required after
CONF_DONE
goes high to begin the initialization of the device.
(6) If required, you can pause
DCLK
by holding it low. When
DCLK
restarts, the external host must provide data on the
DATA[7..0]
pins prior to
sending the first
DCLK
rising edge.
(7) Do not leave
DCLK
floating 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 ArriaIIGX
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.
nCONFIG
nSTATUS (3)
CONF_DONE
(4)
DCLK
DATA[7..0]
User I/O
INIT_DONE
tCD2UM
tCF2ST1
tCF2CD
tCFG
tCF2CK
t
tCF2ST0
tST2CK
High-Z User Mode
12341234 1
Byte 0 Byte 1 Byte 2
4
tDSU tDH
STATUS
tDH
tCH
tCL
tCLK
Byte (n-1)
(6) (7)
(8) User Mode
3
Byte n
(5)
9–18 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Fast Passive Parallel Configuration
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 910 lists the timing parameters for Arria II devices for an FPP configuration
when you enable the decompression, the design security features, or both.
fFor 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.
Table 9–10. FPP Timing Parameters for Arria II GX Devices with the Decompression or Design Security Features Enabled
(Note 1)
Symbol Parameter Minimum Maximum Units
tCF2CD
nCONFIG
low to
CONF_DONE
low 800 ns
tCF2ST0
nCONFIG
low to
nSTATUS
low 800 ns
tCFG
nCONFIG
low pulse width 2 s
tSTATUS
nSTATUS
low pulse width 10 500 (3) s
tCF2ST1 (2)
nCONFIG
high to
nSTATUS
high 500 (3) s
tCF2CK
nCONFIG
high to first rising edge on
DCLK
500 s
tST2CK
nSTATUS
high to first rising edge of
DCLK
2—s
tDSU Data setup time before rising edge on
DCLK
4—ns
tDH Data hold time after rising edge on
DCLK
24 (4) —ns
tCH
DCLK
high time 3.2 (4) —ns
tCL
DCLK
low time 3.2 (4) —ns
tCLK
DCLK
period 8 ns
fMAX
DCLK
frequency 125 MHz
tDATA Data rate 250 Mbps
tRInput rise time 40 ns
t Input fall time 40 ns
tCD2UM
CONF_DONE
high to user mode (5) 55 150 s
tCD2CU
CONF_DONE
high to
CLKUSR
enabled 4 × maximum
DCLK
period ——
tCD2UMC
CONF_DONE
high to user mode with
CLKUSR
option on
tCD2CU + (8532
×
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
nSTATUS
low.
(3) You can obtain this value if you do not delay configuration by extending the
nCONFIG
or
nSTATUS
low 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/(
DCLK
frequency) + 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.
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–19
AS and Fast AS Configuration (Serial Configuration Devices)
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
fFor 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.
1The 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
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
MSEL
pin 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.
DATA
DCLK
nCS
ASDI
DATA0
DCLK
nCSO
ASDO
Serial Configuration
Device Arria II Device
10 kΩ10 kΩ10 kΩ
VCCIO/VCCPGM
(1)
GND
nCEO
nCE
nSTATUS
nCONFIG
CONF_DONE
(2)
MSEL [n..0]
N.C.
(4)
CLKUSR (3)
VCCIO/VCCPGM
(1)
VCCIO/VCCPGM
(1)
9–20 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
AS and Fast AS Configuration (Serial Configuration Devices)
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
1Arria 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
nCSO
output 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
DATA0
input 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
nCE
pin connected to GND. You
must connect its
nCEO
pin to the
nCE
pin of the next device in the chain. When the first
device captures all its configuration data from the bitstream, it drives the
nCEO
pin
low, enabling the next device in the chain. You must leave the
nCEO
pin of the last
device unconnected. The
nCONFIG
,
nSTATUS
,
CONF_DONE
,
DCLK
, and
DATA0
pins 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
MSEL
pins to select the AS
configuration scheme. The remaining Arria II devices are configuration slaves. You
must connect their
MSEL
pins 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.
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–21
AS and Fast AS Configuration (Serial Configuration Devices)
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 9–7 shows the pin connections for the multi-device AS configuration.
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
nSTATUS
and
CONF_DONE
pins 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_DONE
pin. But the subsequent devices in the
chain keep this shared
CONF_DONE
line 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.
1While you can cascade Arria II devices, you cannot cascade or chain together serial
configuration devices.
Figure 9–7. Multi-Device AS Configuration
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
MSEL
pin 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.
DATA
DCLK
nCS
ASDI
DATA[0]
DCLK
nCSO
ASDO
Serial Configuration
Device Arria II Device Master Arria II Device Slave
10 kΩ10 kΩ
GND
nCEO
nCE
nSTATUS
CONF_DONE
DATA[0]
DCLK
nCEO
nCE
nSTATUS
CONF_DONE
10 kΩ
nCONFIG nCONFIG
N.C.
MSEL [n..0]
V
CCIO
/V
CCPGM
(1)
Buffers (4)
(3) (3)
MSEL [n..0]
10 kΩ
CLKUSR (2)
V
CCIO
/V
CCPGM
(1)
V
CCIO
/V
CCPGM
(1)
V
CCIO
/V
CCPGM
(1)
9–22 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
AS and Fast AS Configuration (Serial Configuration Devices)
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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
MSEL
pins must be set to select AS configuration. The other three slave devices
are set up for concurrent configuration and their
MSEL
pins must be set to select PS
configuration. The
nCE
input pins from the master and slave are connected to GND,
and the
DATA
and
DCLK
pins 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
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
MSEL
pin 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.
DATA
DCLK
nCS
ASDI
DATA0
DCLK
nCSO
ASDO
Serial Configuration
Device
Arria II
Device Master
10 kΩ10 kΩ
GND
nCEO
nCE
nSTATUS
CONF_DONE
DATA[0]
DCLK
nCEO
nCE
nSTATUS
CONF_DONE
10 kΩ
nCONFIG nCONFIG
N.C.
MSEL[n..0] MSEL[n..0]
DATA[0]
DCLK
Arria II
Device Slave
Arria II
Device Slave
Arria II
Device Slave
nCEO
nCE
nSTATUS
CONF_DONE
nCONFIG
N.C.
MSEL[n..0]
DATA[0]
DCLK
nCEO
nCE
nSTATUS
CONF_DONE
nCONFIG
N.C.
MSEL[n..0]
V
CCIO
/
V
CCPGM
(1)
Buffers (4)
GND
N.C.
(2)
(2)
(2)
(2)
CLKUSR (3)
V
CCIO
/
V
CCPGM
(1)
V
CCIO
/
V
CCPGM
(1)
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–23
AS and Fast AS Configuration (Serial Configuration Devices)
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
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
DCLK
output (generated from an internal oscillator or an option to select
CLKUSR as external clock source). Arria II devices support
DCLK
up to 40 MHz
(25 ns).
Therefore, you can estimate the minimum configuration time as the following:
RBF Size × (minimum
DCLK
period / 1 bit per
DCLK
cycle) = 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.
Table 9–11. Maximum Trace Length and Loading for the AS Configuration in Arria II Devices
Arria II Device AS Pins
Maximum Board Trace Length from
the Arria II Device to the Serial
Configuration Device (Inches)
Maximum Board Load (pF)
DCLK
10 15
DATA[0]
10 30
nCSO
10 30
ASDO
10 30
9–24 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
AS and Fast AS Configuration (Serial Configuration Devices)
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
1To gain control of the serial configuration device pins, hold the
nCONFIG
pin low and
pull the
nCE
pin 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
nCE
pin high. Arria II devices are also held in reset mode by a
low level on
nCONFIG
. After programming is complete, the download cable releases
nCE
and
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.
fFor more information about SFL, refer to AN 370: Using the Serial FlashLoader with
Quartus II Software.
fFor 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
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–25
AS and Fast AS Configuration (Serial Configuration Devices)
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 9–9 shows the download cable connections to the serial configuration 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.
Figure 9–9. In-System Programming of Serial Configuration Devices
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
MSEL
pin 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.
DATA
DCLK
nCS
ASDI
DATA0
DCLK
nCSO
nCE
nCONFIG
nSTATUS nCEO
CONF_DONE
ASDO
3.3 V
10 kΩ10 kΩ10 kΩ
10 kΩ
Arria II Device
Serial
Configuration
Device
Pin 1
USB-Blaster or ByteBlaser II
(AS Mode)
10-Pin Male Header
N.C.
(4)
MSEL[n..0]
VCCIO/VCCPGM
(1)
(3)
CLKUSR (2)
VCCIO/VCCPGM
(1)
VCCIO/VCCPGM
(1)
9–26 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
PS Configuration
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
fFor more information about SRunner, refer to AN 418: SRunner: An Embedded Solution
for EPCS Programming and the source code on the Altera website.
fFor 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
DATA0
pin at each rising edge of
DCLK
.
1The 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
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
nCONFIG
line in a known state when the external host is not driving the line.
(3) The
MSEL
pin 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
nCEO
pin can be left unconnected or used as a user I/O pin when it does not feed the
nCE
pin of the other device.
External Host
(MAX II Device or
Microprocessor)
CONF_DONE
nSTATUS
nCE
DATA[0]
nCONFIG
Arria II Device
Memory
ADDR
GND
DCLK
nCEO N.C.
MSEL[n..0] (3)
(4
)
DATA[0] (1)
10 kΩ
10 kΩ
(1)
10 kΩ
(2)
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–27
PS Configuration
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
The Arria II device receives configuration data on the
DATA0
pin and the clock is
received on the
DCLK
pin. 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.
In Arria II devices, the initialization clock source is either the internal oscillator or the
optional
CLKUSR
pin. 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
DCLK
to 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.
Figure 9–11. Multi-Device PS Configuration Using an External Host
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
nCONFIG
line in a known state when the external host is not driving the line.
(3) The
MSEL
pin 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.
CONF_DONE
nSTATUS
nCE
nCONFIG
Arria II Device 1 Arria II Device 2
Memory
ADDR
GND
DCLK
CONF_DONE
nSTATUS
nCE
nCONFIG
DCLK
nCEO
nCEO N.C.
External Host
(MAX II Device or
Microprocessor)
MSEL[n..0]
DATA[0]
DATA[0] DATA[0]
(3)
MSEL[n..0] (3)
10 kΩ
(1)
(1)
10 kΩ
10 kΩ
(1)
10 kΩ
(2)
9–28 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
PS Configuration
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
After the first device completes configuration in a multi-device configuration chain,
its
nCEO
pin drives low to activate the second device’s
nCE
pin, 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
DCLK
and
DATA
lines are buffered for
every fourth device. Because all device
CONF_DONE
pins are tied together, all devices
initialize and enter user mode at the same time.
Because all
nSTATUS
and
CONF_DONE
pins 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
nSTATUS
pin 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
nCE
inputs are tied to GND,
while the
nCEO
pins 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
DCLK
and
DATA
lines 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
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
nCONFIG
line in a known state when the external host is not driving the line.
(3) The
MSEL
pin 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.
CONF_DONE
nSTATUS
nCE
nCONFIG
Arria II Device Arria II Device
Memory
ADDR
GND
DCLK
CONF_DONE
nSTATUS
nCE
nCONFIG
DCLK
nCEO nCEO N.C.
External Host
(MAX II Device or
Microprocessor)
MSEL[n..0]
N.C.
GND
(3)
DATA[0]
DATA[0]
MSEL[n..0] (3)
DATA[0]
(1)
10 kΩ
10 kΩ
(1)
10 kΩ
(2)
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–29
PS Configuration
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
Table 912 lists the timing parameters for Arria II devices for PS configuration.
Figure 9–13. PS Configuration Timing Waveform (Note 1)
Notes to Figure 9–13:
(1) The beginning of this waveform shows the device in user mode. In user mode,
nCONFIG
,
nSTATUS
, and
CONF_DONE
are at logic high levels. When
nCONFIG
is pulled low, a reconfiguration cycle begins.
(2) After power-up, the Arria II device holds
nSTATUS
low for the time of the POR delay.
(3) After power-up, before and during configuration,
CONF_DONE
is low.
(4) Two
DCLK
falling edges are required after
CONF_DONE
goes high to begin initialization of the device.
(5) Do not leave
DCLK
floating 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.
tCD2UM
nCONFIG
nSTATUS (2)
CONF_DONE(3)
DCLK
DATA
User I/O
INIT_DONE
Bit 0 Bit 1 Bit 2 Bit 3 Bit n
tCF2ST1
tCF2CD
tCFG
tCH tCL
tDH
tDSU
tCF2CK
tSTATUS
tCLK
tCF2ST0
tST2CK
High-Z User Mode
(6)
(5)
(4)
Table 9–12. PS Timing Parameters for Arria II Devices (Part 1 of 2)
Symbol Parameter Minimum Maximum Units
tCF2CD
nCONFIG
low to
CONF_DONE
low 800 ns
tCF2ST0
nCONFIG
low to
nSTATUS
low 800 (2) ns
tCFG
nCONFIG
low pulse width 2 s
tSTATUS
nSTATUS
low pulse width 10 500 (2) s
tCF2ST1
(1)
nCONFIG
high to
nSTATUS
high 500 (2) s
tCF2CK
nCONFIG
high to first rising edge on
DCLK
500 s
tST2CK
nSTATUS
high to first rising edge of
DCLK
2—s
tDSU Data setup time before rising edge on
DCLK
4—ns
tDH Data hold time after rising edge on
DCLK
0—ns
tCH
DCLK
high time 3.2 ns
tCL
DCLK
low time 3.2 ns
tCLK
DCLK
period 8 ns
9–30 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
PS Configuration
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
fFor 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
1In 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
DATA0
pin. The configuration data
is clocked into the target device until
CONF_DONE
goes 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
CLKUSR
pin when you
are configuring the device with the Quartus II programmer and a download cable.
fMAX
DCLK
frequency 125 MHz
tRInput rise time 40 ns
t Input fall time 40 ns
tCD2UM
CONF_DONE
high to user mode (3) 55 150 s
tCD2CU
CONF_DONE
high to
CLKUSR
enabled 4 × maximum
DCLK
period ——
tCD2UMC
CONF_DONE
high to user mode with
CLKUSR
option on tCD2CU + (8532
CLKUSR
period) ——
Notes to Table 9–12:
(1) This value is applicable if you do not delay configuration by externally holding the
nSTATUS
low.
(2) This value is applicable if you do not delay configuration by extending the
nCONFIG
or
nSTATUS
low pulse width.
(3) The minimum and maximum numbers apply only if you choose the internal oscillator as the clock source for initializing the device.
Table 9–12. PS Timing Parameters for Arria II Devices (Part 2 of 2)
Symbol Parameter Minimum Maximum Units
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–31
PS Configuration
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 9–14 shows a PS configuration for Arria II devices using a USB-Blaster,
EthernetBlaster, EthernetBlaster II, or ByteBlaster II cable.
You can use a download cable to configure multiple Arria II devices by connecting the
nCEO
pin of each device to the
nCE
pin of the subsequent device. The
nCE
pin of the first
device is connected to GND, while its
nCEO
pin is connected to the
nCE
of the next
device in the chain. The
nCE
input of the last device comes from the previous device,
while its
nCEO
pin 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_DONE
pins are tied together, all devices in the chain initialize and enter user mode
at the same time.
In addition, because the
nSTATUS
pins 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.
Figure 9–14. PS Configuration Using a USB-Blaster, EthernetBlaster, EthernetBlaster II, or ByteBlaster II Cable
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
DATA0
and
DCLK
if the download cable is the only configuration scheme used on your board. This ensures
that
DATA0
and
DCLK
are not left floating after configuration. For example, if you are also using a configuration device, you do not need the pull-up
resistors on
DATA0
and
DCLK
.
(3) The
MSEL
pin 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
nCE
when it is used for AS programming; otherwise, it is a no connect.
Download Cable
10-Pin Male Header
(PS Mode)
V
CCIO
/V
CCPGM
(1)
Arria II Device
DCLK
nCONFIG
CONF_DONE
Shield
GND
10 kΩ
10 kΩ10 kΩ
10 kΩ
10 kΩ
nSTATUS
DATA0 Pin 1
nCE
GND
GND
V
IO
(4)
(2)
(2)
nCEO N.C.
MSEL[n..0]
(3)
V
CCIO
/V
CCPGM
(1)
V
CCIO
/V
CCPGM
(1)
V
CCIO
/V
CCPGM
(1)
V
CCIO
/V
CCPGM
(1)
V
CCIO
/V
CCPGM
(1)
9–32 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
PS Configuration
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Figure 9–15 shows how to configure multiple Arria II devices with a download cable.
fFor 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
Figure 9–15. Multi-Device PS Configuration Using a USB-Blaster, EthernetBlaster, EthernetBlaster II, or ByteBlaster II
Cable
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
DATA0
and
DCLK
if the download cable is the only configuration scheme used on your board. This ensures
that
DATA0
and
DCLK
are not left floating after configuration. For example, if you are also using a configuration device, you do not need the pull-up
resistors on
DATA0
and
DCLK
.
(3) The
MSEL
pin 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
nCE
when it is used for AS programming; otherwise, it is a no connect.
Arria II Device 1
Arria II Device 2
nCE
nCONFIG
CONF_DONE
DCLK
nCE
nCONFIG
CONF_DONE
DCLK
nCEO
GND
(PS Mode)
nSTATUS
nSTATUS
DATA0
DATA0
GND
10 kΩ
10 kΩ
10 kΩ
10 kΩ
10 kΩ
Pin 1
Download Cable
10-Pin Male Header
nCEO N.C.
GND
V
IO
(4)
(2)
(2)
MSEL[n..0]
MSEL[n..0]
(3)
(3)
10 kΩ
V
CCIO
/V
CCPGM
(1)
V
CCIO
/V
CCPGM
(1)
V
CCIO
/
V
CCPGM
(1)
V
CCIO
/V
CCPGM
(1)V
CCIO
/V
CCPGM
(1)
V
CCIO
/V
CCPGM
(1)
V
CCIO
/V
CCPGM
(1)
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–33
JTAG Configuration
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
fFor 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.
1You cannot use the Arria II decompression or design security features if you are
configuring your Arria II device using JTAG-based configuration.
1A device operating in JTAG mode uses four required pins,
TDI
,
TDO
,
TMS
, and
TCK
, and
one optional pin,
TRST
. The
TCK
pin has an internal weak pull-down resistor, while the
TDI
,
TMS
, and
TRST
pins have weak internal pull-up resistors (typically 25 k). All the
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.
fFor 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
Name Pin Type Description
TDI
Test data
input
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.
TDO
Test data
output
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.
9–34 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
JTAG Configuration
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
TMS
Test mode
select
Input pin that provides the control signal to determine the transitions of the TAP controller state
machine.
TMS
is evaluated on the rising edge of
TCK
. Therefore, you must set up
TMS
before the
rising edge of
TCK
. Transitions within the state machine occur on the falling edge of
TCK
after 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.
TCK
Test clock
input
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
TCK
to GND.
TRST
(1)
Test reset
input
(optional)
Active-low input to asynchronously reset the boundary-scan circuit. The
TRST
pin 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
TRST
pin to GND. One k pull-up resistor to
VCCPD if you do not use the
TRST
pin.
Note to Table 9–13:
(1) The
TRST
pin is only available for Arria II GZ devices.
Table 9–13. JTAG Pins Signals (Part 2 of 2)
Pin
Name Pin Type Description
Figure 9–16. JTAG Configuration of a Single Device Using a Download Cable
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
nCE
to GND or drive it low for successful JTAG configuration.
(5) Connect the
nCONFIG
and
MSEL
pins to support a non-JTAG configuration scheme. If you only use the JTAG configuration, connect
nCONFIG
to
VCCIO for Arria II GX device, VCCPGM for Arria II GZ device, and
MSEL
to GND. Pull
DCLK
either high or low, whichever is convenient on your board.
(6) In the USB-Blaster and ByteBlaster II cables, this pin is a no connect.
nCE (4)
MSEL[n..0]
nCONFIG
CONF_DONE
GND
GND
(5)
(5)
10 kΩ
10 kΩ
nSTATUS
Pin 1
Download Cable
10-Pin Male Header
(JTAG Mode)
(Top View)
GND
TCK
TDO
TMS
TDI
1 kΩ
GND
VIO (6)
Arria II Device
nCE0
N.C.
DCLK
(5)
VCCIO/VCCPGM
(1)
(3)
(3)
VCCIO/VCCPGM
(1)
VCCIO/VCCPD
(2)
VCCIO/VCCPD
(2)
VCCIO/VCCPD
(2)
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–35
JTAG Configuration
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
TDI
pin to the
TDO
pin 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
TDO
pin 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_DONE
through 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_DONE
is not high, the Quartus II software indicates that
configuration has failed. If
CONF_DONE
is high, the software indicates that
configuration was successful. After the configuration bitstream is transmitted serially
using the JTAG
TDI
port, the
TCK
port 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_IO
instruction.
The
CONFIG_IO
instruction 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_CONFIG
instruction) or by pulsing
nCONFIG
low.
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
nCE
On all Arria II devices in the chain,
nCE
must 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
nCE
pins must be connected to GND during JTAG configuration or JTAG
must be configured in the same order as the configuration chain.
nCEO
On all Arria II devices in the chain, you can leave
nCEO
floating or connected to
nCE
of the next device.
MSEL
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.
nCONFIG
Driven high by connecting to VCCIO or VCCPGM, pulling up using a resistor, or driven high by some control
circuitry.
9–36 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
JTAG Configuration
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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
TMS
pins 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.
nSTATUS
Pull to VCCIO or VCCPGM using a 10-k resistor. When configuring multiple devices in the same JTAG chain,
each
nSTATUS
pin must be pulled up to VCCIO or VCCPGM individually.
CONF_DONE
Pull to VCCIO or VCCPGM using a 10-k resistor. When configuring multiple devices in the same JTAG
chain, each
CONF_DONE
pin must be pulled up to VCCIO or VCCPGM individually.
CONF_DONE
going high at
the end of JTAG configuration indicates successful configuration.
DCLK
Do not leave
DCLK
floating. Drive low or high, whichever is more convenient on your board.
Table 9–14. Dedicated Configuration Pin Connections During JTAG Configuration (Part 2 of 2)
Signal Description
Figure 9–17. JTAG Configuration of Multiple Devices Using a Download Cable
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
nCONFIG
and
MSEL
pins 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
MSEL
to GND. Pull
DCLK
either high or low, whichever is convenient on your
board.
(6) You must connect
nCE
to GND or drive it low for successful JTAG configuration.
Stratix II or Stratix II GX
Device
TMS TCK
Download Cable
10-Pin Male Header
(JTAG Mode)
TDI TDO
VCCIO/
VCCPD(2)
Pin 1
nSTATUS
nCONFIG
MSEL[n..0]
nCE (6)
CONF_DONE
TMS TCK
TDI TDO
nSTATUS
nCONFIG
MSEL[n..0]
nCE (6)
CONF_DONE
TMS TCK
TDI TDO
nSTATUS
nCONFIG
MSEL[n..0]
nCE (6)
CONF_DONE
(5)
(5)
VIO
(4)
Arria II DeviceArria II Device
10 kΩ10 kΩ10 kΩ10 kΩ10 kΩ
1 kΩ
10 kΩ
DCLK DCLK DCLK
(5)
Arria II Device
(5)
(5)
(5)
(5)
(5)
(5)
(3)
(3)
VCCIO/
VCCPD(2)
VCCIO/VCCPD
(2)
VCCIO/VCCPGM
(1)
VCCIO/VCCPGM
(1)
VCCIO/VCCPGM
(1)
VCCIO/VCCPGM
(1)
VCCIO/VCCPGM
(1)
VCCIO/VCCPGM
(1)
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–37
JTAG Configuration
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
You must connect the
nCE
pin to GND or drive it low during JTAG configuration. In
multi-device FPP, AS, and PS configuration chains, the
nCE
pin of the first device is
connected to GND, while its
nCEO
pin is connected to
nCE
of the next device in the
chain. The
nCE
input of the last device comes from the previous device, while its
nCEO
pin is left floating. In addition, the
CONF_DONE
and
nSTATUS
signals 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_DONE
and
nSTATUS
signals are shared among all the devices, you must configure every device when JTAG
configuration is performed.
1If you only use JTAG configuration, Altera recommends connecting the circuitry as
shown in Figure 9–17, where each of the
CONF_DONE
and
nSTATUS
signals are isolated to
enable each device to enter user mode individually.
After the first device completes configuration in a multi-device configuration chain,
its
nCEO
pin drives low to activate the
nCE
pin of the second device, which prompts the
second device to begin configuration. Therefore, if these devices are also in a JTAG
chain, ensure the
nCE
pins 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
nCEO
of the previous device drives the
nCE
of 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.
1JTAG configuration support is enhanced and allows more than 17 Arria II devices to
be cascaded in a JTAG chain.
fFor 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.
fFor 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.
9–38 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
JTAG Configuration
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Figure 9–18 shows a JTAG configuration of an Arria II device using a microprocessor.
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.
fFor 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.
Figure 9–18. JTAG Configuration of a Single Device Using a Microprocessor
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
nCE
to GND or drive it low for successful JTAG configuration.
(4) Connect the
nCONFIG
and
MSEL
pins to support a non-JTAG configuration scheme. If you use only the JTAG
configuration, connect
nCONFIG
to the VCCIO for Arria II GX device, VCCPGM for Arria II GZ device, and
MSEL
to GND.
Pull
DCLK
either 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.
TDI (2)
TCK (2)
TMS (2)
TDO (2)
Microprocessor
Memory
ADDR DATA
Arria II Device
nSTATUS
CONF_DONE
VCCIO/ VCCPGM
(1)
10 kΩ
10 kΩ
(3) nCE
nCONFIG
N.C.
GND
(4)
(4)
nCEO
MSEL[n..0]
DCLK (4)
VCCIO/ VCCPGM
(1)
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–39
Device Configuration Pins
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Device Configuration Pins
Table 915 through Table 9–18 list the connections and functionality of all the
configuration-related pins on the Arria II devices.
Table 915 lists the Arria II configuration pins and their power supply.
Table 9–15. Configuration Pin Summary for Arria II Devices
Description Input/Output Dedicated Powered By (1) Configuration Mode
TDI
Input Yes VCCPD/VCCIO JTAG
TMS
Input Yes VCCPD/VCCIO JTAG
TCK
Input Yes VCCPD/VCCIO JTAG
TRST Input Yes VCCPD/VCCIO JTAG
TDO
Output Yes VCCPD/VCCIO JTAG
CRC_ERROR
Output Pull-up Optional, all modes
DATA0
Input VCCPGM/VCCIO (2) All modes except JTAG
DATA[7..1]
Input VCCPGM/VCCIO (2) FPP
INIT_DONE
Output Pull-up Optional, all modes
CLKUSR
Input VCCPGM/VCCIO (2) Optional
nSTATUS
Bidirectional Yes VCCPGM/Pull-up All modes
nCE
Input Yes VCCPGM/VCCIO All modes
CONF_DONE
Bidirectional Yes VCCPGM/Pull-up All modes
nCONFIG
Input Yes VCCPGM/VCCIO All modes
ASDO
Output Yes VCCPGM/VCCIO AS
nCSO
Output Yes VCCPGM/VCCIO AS
DCLK
Input Yes VCCPGM/VCCIO PS, FPP
Output Yes VCCPGM/VCCIO AS
nIO_PULLUP
Input Yes VCC (3) All modes
nCEO
Output VCCPGM/Pull-up All modes
MSEL[2..0] (4) Input Yes VCCIO (6) All modes
MSEL[3..0]
(5) Input Yes VCCPD All modes
Notes to Table 9–15:
(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_PULLUP
is 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_PULLUP
are powered by VCC, Altera recommends connecting these pins to VCCPGM or GND directly
without using a pull-up or pull-down resistor.
9–40 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Device Configuration Pins
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 916 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)
Pin Name User Mode Configuration
Scheme Pin Type Description
VCCPD
N/A All Power (1)
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 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.
nIO_PULLUP
N/A All Input
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.
The
nIO-PULLUP
input buffer is powered by VCC and has an
internal 5-k pull-down resistor that is always active. You
can tie the
nIO-PULLUP
directly to the VCCPGM power supply
for Arria II GZ devices and the VCCIO power supply for
Arria II GX devices, or GND.
MSEL[2..0] N/A All Input
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.
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.
MSEL[3..0]
N/A All Input
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.
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.
nCONFIG
N/A All Input
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.
Configuration is possible only if this pin is high, except in
JTAG programming mode, when
nCONFIG
is ignored.
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–41
Device Configuration Pins
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
nSTATUS
N/A All Bidirectional
open-drain
The device drives
nSTATUS
low 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,
nSTATUS
is 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
nSTATUS
low after configuration and initialization
does not affect the configured device. If you use a
configuration device, driving
nSTATUS
low causes the
configuration device to attempt to configure the device, but
because the device ignores transitions on
nSTATUS
in user
mode, the device does not reconfigure. To begin a
reconfiguration,
nCONFIG
must be pulled low.
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
nSTATUS
is 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,
nSTATUS
is pulled low because POR
did not yet trip. When POR trips after VCCIO/VCCPGM is
powered up,
nSTATUS
is released and pulled high. At that
point, reconfiguration is triggered and the device is
configured.
CONF_DONE
N/A All Bidirectional
open-drain
Status output. The target device drives the
CONF_DONE
pin
low before and during configuration. After all configuration
data is received without error and the initialization cycle
starts, the target device releases
CONF_DONE
.
Status input. After all data is received and
CONF_DONE
goes
high, the target device initializes and enters user mode. The
CONF_DONE
pin must have an external 10-k pull-up
resistor for the device to initialize.
Driving
CONF_DONE
low after configuration and initialization
does not affect the configured device.
Table 9–16. Dedicated Configuration Pins on the Arria II Device (Part 2 of 4)
Pin Name User Mode Configuration
Scheme Pin Type Description
9–42 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Device Configuration Pins
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
nCE
N/A All Input
Active-low chip enable. The
nCE
pin activates the device with
a low signal to allow configuration. The
nCE
pin must be held
low during configuration, initialization, and user mode. In
single device configuration, it must be tied low. In
multi-device configuration,
nCE
of the first device is tied low
while its
nCEO
pin is connected to
nCE
of the next device in
the chain.
The
nCE
pin must also be held low for successful JTAG
programming of the device.
nCEO
I/O All Output
open-drain
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
nCE
pin and is pulled high by an external 10-k
resistor. The
nCEO
of the last device in the chain is left
floating.
The
nCEO
pin is powered by VCCIO for Arria II GX devices and
VCCPGM for Arria II GZ devices.
After configuration,
nCEO
is available as user I/O pins. The
state of the
nCEO
pin depends on the Dual-Purpose Pin
settings.
ASDO
(2) N/A AS Output
Control signal from the Arria II device to the serial
configuration device in AS mode used to read out
configuration data.
In AS mode,
ASDO
has an internal pull-up resistor that is
always active.
nCSO
(2) N/A AS Output
Output control signal from the Arria II device to the serial
configuration device in AS mode that enables the
configuration device.
In AS mode,
nCSO
has an internal pull-up resistor that is
always active.
DCLK
(2) N/A
Synchronous
configuration
schemes
(PS, FPP, AS)
Input
(PS, FPP)
Output (AS)
In PS and FPP configurations,
DCLK
is 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,
DCLK
is an output from the Arria II device that
provides timing for the configuration interface. In AS mode,
DCLK
has an internal pull-up resistor (typically 25 k) that is
always active.
After configuration, this pin by default is driven into an
inactive state. In schemes that use a control host,
DCLK
must
be driven either high or low, whichever is more convenient.
Toggling this pin after configuration does not affect the
configured device.
Table 9–16. Dedicated Configuration Pins on the Arria II Device (Part 3 of 4)
Pin Name User Mode Configuration
Scheme Pin Type Description
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–43
Device Configuration Pins
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
DATA0
(2) N/A PS, FPP, AS Input
Data input. In serial configuration modes, bit-wide
configuration data is presented to the target device on the
DATA0
pin.
In AS mode,
DATA0
has an internal pull-up resistor that is
always active.
For Arria II GX devices,
DATA0
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, 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[7..1]
I/O
Parallel
configuration
schemes
(FPP)
Inputs
Data inputs. Byte-wide configuration data is presented to the
target device on
DATA[7..0]
.
In serial configuration schemes, they function as user I/O
pins during configuration, which means they are tri-stated.
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
,
DATA0
,
nCSO
, and
ASDO
pins.
Table 9–16. Dedicated Configuration Pins on the Arria II Device (Part 4 of 4)
Pin Name User Mode Configuration
Scheme Pin Type Description
9–44 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Device Configuration Pins
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 917 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
CLKUSR
N/A if option is on.
I/O if option is off. Input
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.
INIT_DONE
N/A if option is on.
I/O if option is off.
Output
open-drain
Use as a status pin to indicate when the device has initialized
and is in user mode. When
nCONFIG
is low and during the
beginning of configuration, the
INIT_DONE
pin is tri-stated
and pulled high due to an external 10-k pull-up resistor.
After the option bit to enable
INIT_DONE
is programmed into
the device (during the first frame of configuration data), the
INIT_DONE
pin goes low. When initialization is complete, the
INIT_DONE
pin 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.
DEV_OE
N/A if option is on.
I/O if option is off. Input
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.
DEV_CLRn
N/A if option is on.
I/O if option is off. 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.
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–45
Device Configuration Pins
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Table 918 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
TRST
pins have weak internal pull-up resistors; the
TCK
pin 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
TDI
N/A Test data
input
Serial input pin for instructions as well as test and programming data. Data is
shifted on the rising edge of
TCK
. The
TDI
pin is powered by the VCCIO power
supply for Arria II GX devices and the VCCPD power supply for Arria II GZ
devices.
If the JTAG interface is not required on your board, you can disable the JTAG
circuitry by connecting this pin to logic high.
TDO
N/A Test data
output
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
TDO
pin 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.
If the JTAG interface is not required on your board, you can disable the JTAG
circuitry by leaving this pin unconnected.
TMS
N/A Test mode
select
Input pin that provides the control signal to determine the transitions of the
TAP controller state machine.
TMS
is evaluated on the rising edge of
TCK
.
Therefore, you must set up
TMS
before the rising edge of
TCK
. Transitions in the
state machine occur on the falling edge of
TCK
after the signal is applied to
TMS
.
The
TMS
pin is powered by the VCCPD/VCCIO power supply.
If the JTAG interface is not required on your board, you can disable the JTAG
circuitry by connecting this pin to logic high.
TCK
N/A Test clock
input
Clock input to the BST circuitry. Some operations occur at the rising edge while
others occur at the falling edge. The
TCK
pin is powered by the VCCPD/VCCIO
power supply.
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
TCK
to GND.
TRST (1) N/A
Test reset
input
(optional)
Active-low input to asynchronously reset the boundary-scan circuit. The
TRST
pin is optional according to the IEEE Std. 1149.1 standard. The
TRST
pin is
powered by the VCCPD power supply for Arria II GZ devices.
Hold
TMS
at one or keep
TCK
static while
TRST
is changed from 0 to 1.
If the JTAG interface is not required on your board, you can disable the JTAG
circuitry by connecting the
TRST
pin to GND. You need one k pull-up resistor
to VCCPD if you do not use the
TRST
pin.
Note to Table 9–18:
(1) The
TRST
pin is only available for Arria II GZ devices.
9–46 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Configuration Data Decompression
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
1Data 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.
1When using FPP mode, the intelligent host must provide a
DCLK
that is x4 the data
rate. Therefore, the configuration data must be valid for four
DCLK
cycles.
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).
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–47
Configuration Data Decompression
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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).
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.
Figure 9–19. Enabling Compression for Arria II Bitstreams in Compiler Settings
9–48 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Remote System Upgrades
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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
DATA
and
DCLK
relationship.
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.
Figure 9–20. Compressed and Uncompressed Serial Configuration Data in the Same
Configuration File
nCE
GND
nCEO
Decompression
Controller
Arria II Device
nCE nCEO N.C.
Serial Configuration Data
Compressed Uncompressed
Configuration
Data
Configuration
Data
Serial Configuration
Device
Arria II Device
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–49
Remote System Upgrades
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
1Arria 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.
1The 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.
9–50 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Remote System Upgrades
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Figure 9–21 shows the steps required for performing remote configuration updates.
(The numbers in Figure 9–21 coincide with the steps just mentioned.)
1Arria 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.
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.
1The
MSEL
pin 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 97 on
page 9–10.
1When 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.
Figure 9–21. Functional Diagram of Arria II Remote System Upgrade
Development
Location Memory
Arria II Configuration
Arria II Device
Control Module
Data
Data
Data
Configuration
2
3
4
1
Figure 9–22. Remote System Upgrade Block Diagram for Arria II Configuration Scheme (Note 1)
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.
Arria II Device
Serial
Configuration
Device
Nios II Processor
or User Logic
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–51
Remote System Upgrades
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
9–52 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Remote System Upgrade Mode
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–53
Remote System Upgrade Mode
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
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.
Figure 9–24. Transitions between Configurations in Remote Update Mode
Set Control Register
and Reconfigure
Set Control Register
and Reconfigure
Reload a
Different Application
Application n
Configuration
Application 1
Configuration
Factory
Configuration
(page 0)
Configuration Error
Configuration Error
Power Up
Configuration
Error
Reload a
Different Application
9–54 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Remote System Upgrade Mode
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
1The 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:
nSTATUS
driven low externally
Internal CRC error
User watchdog timer time-out
A configuration reset (logic array
nCONFIG
signal or external
nCONFIG
pin 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.
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–55
Dedicated Remote System Upgrade Circuitry
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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)
Note to Figure 9–25:
(1) The
RU_DOUT
,
RU_SHIFTnLD
,
RU_CAPTnUPDT
,
RU_CLK
,
RU_DIN
,
RU_nCONFIG
, and
RU_nRSTIMER
signals are internally controlled by the
ALTREMOTE_UPDATE megafunction.
Logic Array
Shift Register
Status Register (SR)
[4..0]
Control Register
[37..0]
din
capture
dout Bit [4..0]
Logic Array
clkout
RU_SHIFTnLD RU_CAPTnUPDT RU_CLK RU_DIN RU_nCONFIG RU_nRSTIMER
User
Watchdog
Timer
RU_DOUT
capture
clkin
update
Logic Array
capture
din
Bit [37..0]
dout
update
Update Register
[37..0]
time-out
RSU
State
Machine
Internal Oscillator
9–56 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Dedicated Remote System Upgrade Circuitry
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
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 920. 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.
Table 9–19. Remote System Upgrade Registers
Register Description
Shift This register is accessible by the logic array and allows the update, status, and control registers to be
written and sampled by user logic.
Control
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.
Update
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.
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.
Figure 9–26. Remote System Upgrade Control Register
Wd_timer[11..0] Wd_en PGM[23..0] AnF
37 36 35 34 33 32 31 30 29 2827 26 25 24 23 22 .. 3 2 1 0
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–57
Dedicated Remote System Upgrade Circuitry
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
AnF
bit is
high, the control register access is limited to read operations. When the
AnF
bit 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 920 lists the remote system upgrade control register contents.
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
nSTATUS
assertion 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.
Table 9–20. Remote System Upgrade Control Register Contents
Control Register Bit Remote System
Upgrade Mode Value (1) Definition
AnF
(2) Remote update 1'b0 Application not factory
PGM[23..0]
Remote update 24'b0×000000 AS configuration start address
(
StAdd[23..0]
)
Wd_en
Remote update 1'b0 User watchdog timer enable bit
Wd_timer[11..0]
Remote update 12'b000000000000
User watchdog time-out value (most
significant 12 bits of 29-bit count
value:
{Wd_timer[11..0],
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
AnF
bit automatically (you can update it manually).
Figure 9–27. Remote System Upgrade Status Register
Wd
4
CRC
0
nCONFIG
3
nSTATUS
1
Core_nCONFIG
2
9–58 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Dedicated Remote System Upgrade Circuitry
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 921 lists the status register contents for remote system upgrade.
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
AnF
bit (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.
1To ensure successful reconfiguration between the pages, assert the
RU_nCONFIG
signal
for a minimum of 250 ns. This is equivalent to strobing the
reconfig
input 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 922 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–21. Remote System Upgrade Status Register Contents
Status Register Bit Definition POR Reset Value
CRC
(from the configuration)
CRC
error caused reconfiguration 1 bit '0'
nSTATUS nSTATUS
caused reconfiguration 1 bit '0'
CORE_nCONFIG
(1) Device logic array caused reconfiguration 1 bit '0'
nCONFIG nCONFIG
caused reconfiguration 1 bit '0'
Wd
Watchdog timer caused reconfiguration 1 bit '0'
Note to Table 921:
(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.
Table 9–22. Control Register Contents after an Error or Reconfiguration Trigger Condition
(Part 1 of 2)
Reconfiguration Error/Trigger Control Register Setting Remote Update
nCONFIG
reset All bits are 0
nSTATUS
error All bits are 0
CORE
triggered reconfiguration Update register
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–59
Dedicated Remote System Upgrade Circuitry
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
1To allow the remote system upgrade dedicated circuitry to reset the watchdog timer,
you must assert the
RU_nRSTIMER
signal active for a minimum of 250 ns. This is
equivalent to strobing the
reset_timer
input 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 217 cycles. The cycle time is based on the frequency of the
10-MHz internal oscillator. Table 923 lists the operating range of the 10-MHz internal
oscillator.
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.
CRC
error All bits are 0
Wd
time out All bits are 0
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
Table 9–23. 10-MHz Internal Oscillator Specifications
Minimum Typical Maximum Units
4.3 5.3 10 MHz
9–60 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Quartus II Software Support
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
1The 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.
fFor 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.
Figure 9–28. Interface Signals between the ALTREMOTE_UPDATE Megafunction and the Nios II Processor
Nios II Processor or
User Logic
read_param
write_param
param[2..0]
data_in[23..0]
reconfig
reset_timer
clock
reset
busy
data_out[23..0]
ALTREMOTE_UPDATE
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–61
Design Security
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
1The 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.
1When 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
DCLK
is 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.
9–62 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Design Security
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–63
Design Security
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
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.
1For 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.
fFor 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.
fFor more information about battery specifications, refer to the Device Datasheet for
Arria II Devices chapter.
fFor more information about the
VCCBAT
pin connection recommendations, refer to
Arria II Device Family Pin Connection Guidelines.
Table 9–24. Security Key Options
Options Volatile Key Non-Volatile Key
Key programmability Reprogrammable and erasable One-time programmable
External battery Required Not required
Key programming method (1) On-board On and off board
Design protection
Secure against copying and
reverse engineering.
Tamper resistant if volatile
tamper protection bit is set. (2)
Secure against copying and
reverse engineering.
Tamper resistant if tamper
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.
9–64 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Design Security
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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)
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.
User-Defined
AES Key
Key Storage
Encrypted
Configuration
File
Memory or
Configuration
Device
Arria II FPGA
AES
Decryption
Step 1
Step 2
Step 3
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–65
Design Security
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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
1Arria 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.
1Enabling 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.
1Enabling 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.
9–66 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Design Security
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
No Key Operation
Only unencrypted configuration bitstreams are allowed to configure the device.
Table 925 lists the different security modes and configuration bitstream supported
for each mode.
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.
Table 9–25. Security Modes Supported
Mode (1) Function Configuration File
Volatile key Secure Encrypted
Board-level testing Unencrypted
Non-volatile key Secure Encrypted
Board-level testing Unencrypted
Volatile key with tamper protection bit set (2) Secure (tamper resistant)
(3) Encrypted
Non-volatile key with tamper protection bit set Secure (tamper resistant)
(3) Encrypted
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.
Figure 9–30. Arria II Security Modes—Sequence and Restrictions
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.
Volatile Key
Unencrypted or
Encrypted
Configuration File
No Key
Non-Volatile Key
Unencrypted or
Encrypted
Configuration File
Non-Volatile Key
with
Tamper-Protection
Bit Set
Encrypted
Configuration File
Volatile Key with
Tamper-Protection
Bit Set
(1)
Encrypted
Configuration File
Unencrypted
Configuration File
Encrypted
Configuration File
(2)
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–67
Design Security
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Table 926 lists the configuration modes allowed in each of the security modes.
1The 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.
Table 9–26. Allowed Configuration Modes for Various Security Modes (Note 1)
Security Mode Configuration
File Allowed Configuration Modes
No key Unencrypted All configuration modes that do not engage the design security feature.
Secure with volatile key Encrypted
PS with AES (and/or with decompression)
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)
Board-level testing with
volatile key Unencrypted All configuration modes that do not engage the design security feature.
Secure with non-volatile key Encrypted
PS with AES (and/or with decompression)
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)
Board-level testing with
non-volatile key Unencrypted All configuration modes that do not engage the design security feature.
Secure in tamper resistant
mode using volatile or
non-volatile key with tamper
protection set
Encrypted
PS with AES (and/or with decompression)
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
DCLK
that is x4 the data rate.
9–68 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices
Design Security
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Table 927 lists the configuration schemes that support the design security feature
both for volatile key and non-volatile key programming.
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.
Table 9–27. Design Security Configuration Schemes Availability
Configuration Scheme Configuration Method Design
Security
FPP MAX II device or microprocessor and flash memory v (1)
AS Serial configuration device v
Fast AS Serial configuration device v
PS MAX II device or microprocessor and flash memory v
Download cable v
JTAG (2) MAX II device or microprocessor and flash memory
Download cable
Notes to Table 9–27:
(1) In this mode, the host system must send a
DCLK
that is x4 the data rate.
(2) JTAG configuration supports only unencrypted configuration file.
Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices 9–69
Document Revision History
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Document Revision History
Table 928 lists the revision history for this chapter.
Table 9–28. Document Revision History
Date Version Changes Made
July 2012 4.3
Updated “FPP Configuration Using a MAX II Device as an External Host” section.
Added pull-up resistor to
nCONFIG
in Figure 9–1, Figure 9–2, Figure 9–3,
Figure 9–10, Figure 9–11, and Figure 9–12.
December 2011 4.2
Updated Table 9–8, Table 9–9, Table 9–10, and Table 9–12.
Updated Figure 9–16 and Figure 9–17.
Updated “Configuration” and “FPP Configuration Using a MAX II Device as an
External Host” sections.
Minor text edits.
June 2011 4.1
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.
Removed references to the “ByteBlaster MV” and “MasterBlaster” cables as they are
discontinued.
Minor text edits.
December 2010 4.0
Updated for the Quartus II software version 10.1 release.
Added Arria II GZ devices information.
Minor text edits.
July 2010 3.0
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.
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.
November 2009 2.0
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.
Updated “VCCPD Pins”, “JTAG Configuration”, “Remote System Upgrade Mode”,
“Remote System Upgrade State Machine”, “User Watchdog Timer” sections.
Minor text edits.
June 2009 1.1
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
External Host”, and “Programming Serial Configuration Devices” sections.
Removed “Volatite or Non-Volatile Key with JTAG Anti-Tamper Protection Bit Set”
section.
February 2009 1.0 Initial release.
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
Arria II Device Handbook Volume 1: Device Interfaces and Integration
July 2012
AIIGX51010-4.2
Subscribe
© 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.
10. SEU Mitigation in Arria II Devices
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.
1The 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.
fFor 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.
July 2012
AIIGX51010-4.2
10–2 Chapter 10: SEU Mitigation in Arria II Devices
Configuration Error Detection
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
Chapter 10: SEU Mitigation in Arria II Devices 10–3
User Mode Error Detection
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
1For 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.
fFor 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.
1You can only execute the
EDERROR_INJECT
JTAG instruction when the device is in user
mode.
Table 101 lists the
EDERROR_INJECT
JTAG instruction for Arria II devices.
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.
fFor more information about .jam, refer to AN 539: Test Methodology of Error Detection
and Recovery using CRC in Altera FPGA Devices.
Table 10–1. EDERROR_INJECT JTAG Instruction for Arria II Devices
JTAG Instruction Instruction Code Description
EDERROR_INJECT
00 0001 0101 This instruction controls the 21-bit JTAG fault
injection register used for error injection.
10–4 Chapter 10: SEU Mitigation in Arria II Devices
User Mode Error Detection
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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.
1You 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 102 lists how the fault injection register is implemented and describes error
injection for Arria II devices.
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.
Table 10–2. Fault Injection Register for Arria II Devices
Description
Bit[20..19] Bit[18..8] Bit[7..0]
Error Type (1)
Error Injection Type Byte Location of the
Injected Error Error Byte Value
Bit[20] Bit[19]
Content
0 1 Single error injection Depicts the location of the
injected error in the first
data frame.
Depicts the location of the
bit error and corresponds
to the error injection type
selection.
1 0 Double-adjacent error injection
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.
Chapter 10: SEU Mitigation in Arria II Devices 10–5
Error Detection Pin Description
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Error Detection Pin Description
Table 103 lists the
CRC_ERROR
pin description for Arria II devices.
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.
1The “Error Detection Block” section focuses on the first type, the 16-bit CRC only,
when the device is in user mode.
Table 10–3. CRC_ERROR Pin Description for Arria II Devices
Pin Name Pin Type Description
CRC_ERROR
I/O or
output
open-drain
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.
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.
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.
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.
If an error occurs, the search engine finds the location
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.
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.
At the same time, the configuration CRC value for the data
frame shifted-in is calculated. If the pre-computed
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.
10–6 Chapter 10: SEU Mitigation in Arria II Devices
Error Detection Block
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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
Error Detection
State Machine
Fault Injection
Register
JTAG Fault
Injection Register
Error Injection Block
Control Signals
16-Bit CRC
Calculation and Error
Search Engine
Readback
bitstream with
expected CRC
included
Syndrome
Register
8
16
CRC_ERROR
JTAG Update
Register
User Update
Register
Error Message
Register
46
30
JTAG Shift
Register
User Shift
Register
General Routing
JTAG TDO
Chapter 10: SEU Mitigation in Arria II Devices 10–7
Error Detection Timing
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Table 105 lists the registers shown in Figure 10–1.
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 106 lists the minimum and maximum error
detection frequencies for Arria II devices.
Table 10–5. Error Detection Registers for Arria II Devices
Register Description
Syndrome Register 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.
Error Message
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.
JTAG Update 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
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.
User Update 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
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.
JTAG Shift 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.
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.
Fault Injection Register The content of the JTAG fault injection register is loaded into this 21-bit register when it is
updated.
Table 10–6. Minimum and Maximum Error Detection Frequencies for Arria II Devices
Device Type Error Detection
Frequency
Maximum Error
Detection Frequency
Minimum Error Detection
Frequency Valid Divisors (n)
Arria II 100 MHz / 2n50 MHz 390 kHz 1, 2, 3, 4, 5, 6, 7, 8
10–8 Chapter 10: SEU Mitigation in Arria II Devices
Error Detection Timing
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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).
1The 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 107 lists the estimated minimum interval time between each update for the
EMR in Arria II devices.
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.
Equation 10–1.
Table 10–7. Minimum Update Interval for Error Message Register in Arria II Devices
Device Timing Interval (s)
EP2AGX45 11.04
EP2AGX65 11.04
EP2AGX95 14.88
EP2AGX125 14.88
EP2AGX190 19.64
EP2AGX260 19.64
EP2AGZ225 19.8
EP2AGZ300 21.8
EP2AGZ350 21.8
error detection frequency 100MHz
2n
-----------------------=
Chapter 10: SEU Mitigation in Arria II Devices 10–9
Software Support
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Table 108 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.
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.
Table 10–8. CRC Calculation Time for Arria II Devices
Device Minimum Time (ms) Maximum Time (s)
EP2AGX45 159.12 20.40
EP2AGX65 159.12 20.40
EP2AGX95 271.44 34.80
EP2AGX125 271.44 34.80
EP2AGX190 467.22 59.90
EP2AGX260 467.22 59.90
EP2AGZ225 225 62.44
EP2AGZ300 296 82.05
EP2AGZ350 296 82.05
10–10 Chapter 10: SEU Mitigation in Arria II Devices
Recovering From CRC Errors
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
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 109 lists the revision history for this chapter.
Table 10–9. Document Revision History
Date Version Changes
July 2012 4.2 Removed repeated paragraph in the “User Mode Error Detection” section.
June 2011 4.1
Updated “User Mode Error Detection” section.
Minor text edits.
December 2010 4.0
Updated for the Quartus II software version 10.1 release.
Added Arria II GZ devices information.
Minor text edits.
July 2010 3.0 Updated for Arria II GX v10.0 release:
Updated Table 10–3, Table 10–6, Table 10–7, and Table 10–8.
November 2009 2.0
Updated for Arria II GX v9.1 release:
Updated Table 10–7 and Table 10–8.
Minor text edits.
February 2009 1.0 Initial release.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
December 2010
AIIGX51011-4.0
Subscribe
© 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.
11. JTAG Boundary-Scan Testing in
Arria II Devices
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
TDO
output 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
TDO
output
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.
fFor 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.
December 2010
AIIGX51011-4.0
11–2 Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices
BST Architecture for Arria II Devices
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
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
MEM_INIT SDIN SHIFT
0
1
0
1
0
1
0
1
0
1DQ
DQ
CLK
SDOUT
UPDATE
MODE
AC_TEST
Capture Update
Registers
BSTX1
Pad
Pad
Tx Output
Buffer
DQ
DQ
DQ
DQ
HIGHZ
BSCAN PMA
0
1
BS0EB TX_BUF_OE
ACJTAG_BUF_OE
MORHZ
OE Logic
BSTX0 OE
OE
nOE
Mission
(DATAOUT)
AC JTAG
Output
Buffer
AC JTAG
Output
Buffer
AC_MODE
Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices 11–3
BST Operation Control
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
Figure 11–2 shows the Arria II GX HSSI receiver/input clock buffer BSC.
BST Operation Control
Table 11–1 lists the boundary-scan register length for Arria II devices.
Figure 11–2. HSSI Receiver/Input Clock Buffer BSC with IEEE Std. 1149.6 BST Circuitry for Arria II GX Devices
HIGHZ SDIN SHIFT
DQ
DQ
CLK
SDOUT
UPDATE
MODE
AC_TEST
Capture Update
Registers
BSRX1
BSOUT1
BSRX0
BSOUT0
MEM_INIT
AC_MODE
Hysteretic
Memory
AC JTAG Test
Receiver
Mission
(DATAIN)
Optional INTEST/RUNBIST
not supported Pad
Pad
Rx Input
Buffer
AC JTAG Test
Receiver
Hysteretic
Memory
BSCAN PMA
1
0
1
0
Table 11–1. Boundary-Scan Register Length for Arria II Devices
Device Boundary-Scan Register Length
EP2AGX45 1,227
EP2AGX65 1,227
EP2AGX95 1,467
EP2AGX125 1,467
EP2AGX190 1,971
EP2AGX260 1,971
EP2AGZ225 2,274
EP2AGZ300 2,682
EP2AGZ350 2,682
11–4 Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices
BST Operation Control
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
Table 11–2 lists the
IDCODE
information for Arria II devices.
1If the device is in the
RESET
state, when the
nCONFIG
or
nSTATUS
signal is low, the
device
IDCODE
might not be read correctly. To read the device
IDCODE
correctly, you
must issue the
IDCODE
JTAG instruction only when the
nSTATUS
signal is high.
fFor 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_PULSE
and
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
EXTEST
instruction for non-HSSI pins.
EXTEST_PULSE Instruction Mode
The instruction code for
EXTEST_PULSE
is 0010001111. The
EXTEST_PULSE
instruction
generates three output transitions:
Driver drives the data on the falling edge of
TCK
in UPDATE_IR/DR.
Driver drives the inverted data on the falling edge of
TCK
after entering the
RUN_TEST
/
IDLE
state.
Driver drives the data on the falling edge of
TCK
after leaving the
RUN_TEST
/
IDLE
state.
1If you use DC-coupling on the HSSI signals, you must execute the
EXTEST
instruction.
If you use AC-coupling on the HSSI signals, you must execute the
EXTEST_PULSE
instruction.
Table 11–2. 32-Bit IDCODE for Arria II Devices
Device
IDCODE (32 Bits) (1)
Version (4 Bits) Part Number (16 Bits) Manufacturer Identity (11 Bits) LSB (1 Bit) (2)
EP2AGX45 0000 0010 0101 0001 0010 000 0110 1110 1
EP2AGX65 0000 0010 0101 0000 0010 000 0110 1110 1
EP2AGX95 0000 0010 0101 0001 0011 000 0110 1110 1
EP2AGX125 0000 0010 0101 0000 0011 000 0110 1110 1
EP2AGX190 0000 0010 0101 0001 0100 000 0110 1110 1
EP2AGX260 0000 0010 0101 0000 0100 000 0110 1110 1
EP2AGZ225 0000 0010 0100 1000 0001 000 0110 1110 1
EP2AGZ300 0000 0010 0100 0000 1010 000 0110 1110 1
EP2AGZ350 0000 0010 0100 1000 0010 000 0110 1110 1
Notes to Table 11–2:
(1) The MSB is on the left.
(2) The
IDCODE
LSB is always 1.
Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices 11–5
I/O Voltage Support in a JTAG Chain
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
EXTEST_TRAIN Instruction Mode
The instruction code for
EXTEST_TRAIN
is 0001001111. The
EXTEST_TRAIN
instruction
behaves like the
EXTEST_PULSE
instruction with one exception: the output continues to
toggle on the
TCK
falling edge as long as the TAP controller is in the
RUN_TEST
/
IDLE
state.
1These two instruction codes are only supported in post-configuration mode for
Arria II GX devices.
1You 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
TDO
pin must meet the specification of the
TDI
pin 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)
Device TDI Input Buffer
Power
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 VCCIO = 1.5 V
Arria II GX
VCCIO = 3.3 V vvv v (3) Level shifter
required
VCCIO = 3.0 V vvv v (3) Level shifter
required
VCCIO = 2.5 V vvvv (3) Level shifter
required
VCCIO = 1.8 V vvvv (3) Level shifter
required
VCCIO = 1.5 V vvv v (3) v
11–6 Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices
Disabling IEEE Std. 1149.1 BST Circuitry
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
fFor 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.
Non-Arria II GX
VCC = 3.3 V vvv v (3) Level shifter
required
VCC = 2.5 V v (4) v (4) vv (3) Level shifter
required
VCC = 1.8 V v (4) v (4) v (5) vLevel shifter
required
VCC = 1.5 V v (4) v (4) v (5) v (6) v
Notes to Table 11–3:
(1) The
TDO
output buffer meets VOH (Min) = 2.4 V.
(2) The
TDO
output 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
Device TDI Input Buffer Power
Arria II GZ TDO VCCPD Voltage Level in I/O Bank 1A
VCCPD = 3.0 V (1) VCCPD = 2.5 V (2)
Arria II GZ VCCPD = 3.0 V vv
VCCPD = 2.5 V vv
Non-Arria II GZ
VCC = 3.3 V v v
VCC = 2.5 V v (3) v
VCC = 1.8 V v (3) v (4)
VCC = 1.5 V v (3) v (4)
Notes to Table 11–4:
(1) The
TDO
output buffer meets VOH (Min) = 2.4 V.
(2) The
TDO
output 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.
Table 11–3. Supported TDO/TDI Voltage Combinations for Arria II GX Devices (Part 2 of 2)
Device TDI Input Buffer
Power
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 VCCIO = 1.5 V
Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices 11–7
Boundary-Scan Description Language Support
December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
1If 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.
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.
fFor 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.
fFor 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.
fYou 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.
Table 11–5. Pin Connections Necessary for Disabling IEEE Std. 1149.1 Circuitry for Arria II
Devices
JTAG Pins
Connection for Disabling
Arria II GX Devices Arria II GZ Devices
TMS VCC supply of Bank 8C VCCPD supply of Bank 1A
TCK GND
TDI VCC supply of Bank 8C VCCPD supply of Bank 1A
TDO Leave Open
TRST Not available GND
11–8 Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices
Document Revision History
Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation
Document Revision History
Table 11–6 lists the revision history for this document.
Table 11–6. Document Revision History
Date Version Changes
December 2010 4.0
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.
Added Table 11–3 and Table 11–5.
Updated Table 11–1 and Table 11–2.
Minor text edits.
July 2010 3.0
Updated for Arria II GX v10.0 release:
Updated “BST Operation Control” section.
Minor text edits.
November 2009 2.0
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.
February 2009 1.0 Initial release.
Arria II Device Handbook Volume 1: Device Interfaces and Integration
June 2011
AIIGX51012-3.1
Subscribe
© 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.
12. Power Management in Arria II
Devices
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.
fFor 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
fFor 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.
June 2011
AIIGX51012-3.1
12–2 Chapter 12: Power Management in Arria II Devices
Hot Socketing
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
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
nSTATUS
pin low.
fFor more information about the POR specification, refer to the Device Datasheet for
Arria II Devices chapter.
fFor 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.
Chapter 12: Power Management in Arria II Devices 12–3
Hot Socketing
June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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).
fFor 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
HOTSCKT
signal 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
nSTATUS
pins 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.
1Altera 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.
12–4 Chapter 12: Power Management in Arria II Devices
Document Revision History
Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation
Document Revision History
Table 121 lists the revision history for this chapter.
Table 12–1. Document Revision History
Date Version Changes
June 2011 3.1
Removed Table 1-2.
Updated “Insertion or Removal of an Arria II Device from a Powered-Up
System” and “Hot-Socketing Feature Implementation” sections.
Minor text edits.
December 2010 3.0
Updated for the Quartus II software version 10.1 release.
Added Arria II GZ devices information.
Minor text edits.
July 2010 2.0 Updated “Power-On Reset Circuitry” section for the Arria II GX v10.0 release.
June 2009 1.1
February 2009 1.0 Initial release.
July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration
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.
Typographic Conventions
The following table shows the typographic conventions this document uses.
Contact (1) Contact Method Address
Technical support Website www.altera.com/support
Technical training Website www.altera.com/training
Email custrain@altera.com
Product literature Website www.altera.com/literature
Non-technical support (General) Email nacomp@altera.com
(Software Licensing) Email authorization@altera.com
Note to Table:
(1) You can also contact your local Altera sales office or sales representative.
Visual Cue Meaning
Bold Type with Initial Capital
Letters
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
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.
Italic Type with Initial Capital Letters Indicate document titles. For example, Stratix IV Design Guidelines.
italic type
Indicates variables. For example, n + 1.
Variable names are enclosed in angle brackets (< >). For example, <file name> and
<project name>.pof file.
Initial Capital Letters Indicate keyboard keys and menu names. For example, the Delete key and the
Options menu.
“Subheading Title” Quotation marks indicate references to sections within a document and titles of
Quartus II Help topics. For example, “Typographic Conventions.”
Info–2 Additional Information
Typographic Conventions
Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation
Courier type
Indicates signal, port, register, bit, block, and primitive names. For example,
data1
,
tdi
, and
input
. The suffix
n
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
.
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
a., b., c., and so on
Numbered steps indicate a list of items when the sequence of the items is important,
such as the steps listed in a procedure.
Bullets indicate a list of items when the sequence of the items is not important.
1The hand points to information that requires special attention.
h A question mark directs you to a software help system with related information.
f The feet direct you to another document or website with related information.
cA caution calls attention to a condition or possible situation that can damage or
destroy the product or your work.
w A warning calls attention to a condition or possible situation that can cause you
injury.
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.
Visual Cue Meaning