Arria II Device Handbook Volume 1: Device Interfaces and Integration Arria II Device Handbook Volume 1: Device Interfaces and Integration 101 Innovation Drive San Jose, CA 95134 www.altera.com AIIGX5V1-4.6 Document last updated for Altera Complete Design Suite version: Document publication date: 13.1 February 2014 © 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Arria II Device Handbook Volume 1: Device Interfaces and Integration February 2014 Altera Corporation Contents Chapter Revision Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Section I. Device Core for Arria II Devices Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1 Chapter 1. Overview for the Arria II Device Family Arria II Device Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1 Arria II Device Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–6 High-Speed Transceiver Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–7 PCIe Hard IP Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–9 Logic Array Block and Adaptive Logic Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–9 Embedded Memory Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–9 DSP Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–10 I/O Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–10 High-Speed LVDS I/O and DPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–11 Clock Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–11 Auto-Calibrating External Memory Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12 Nios II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12 Configuration Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12 SEU Mitigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–13 JTAG Boundary Scan Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–13 Reference and Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–14 Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–14 Chapter 2. Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Logic Array Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1 LAB Interconnects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3 LAB Control Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–4 Adaptive Logic Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–5 ALM Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7 Normal Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–8 Extended LUT Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–10 Arithmetic Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–11 Shared Arithmetic Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–13 LUT-Register Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–15 Register Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–16 ALM Interconnects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–17 Clear and Preset Logic Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–17 LAB Power Management Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–17 Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–18 Chapter 3. Memory Blocks in Arria II Devices Memory Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–2 Memory Block Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3 Parity Bit Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3 Byte Enable Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–3 Packed Mode Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–5 Address Clock Enable Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–5 February 2014 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration iv Contents Mixed Width Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–8 Asynchronous Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–8 Error Correction Code Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–8 Memory Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–10 Single-Port RAM Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–10 Simple Dual-Port Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12 True Dual-Port Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–15 Shift-Register Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–17 ROM Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–18 FIFO Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–18 Clocking Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–19 Independent Clock Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–19 Input and Output Clock Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–19 Read and Write Clock Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–19 Single Clock Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–20 Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–20 Selecting Memory Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–20 Conflict Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–20 Read-During-Write Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–21 Same-Port Read-During-Write Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–21 Mixed-Port Read-During-Write Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–23 Power-Up Conditions and Memory Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–26 Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–26 Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–27 Chapter 4. DSP Blocks in Arria II Devices DSP Block Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–2 Simplified DSP Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–4 Operational Modes Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–7 DSP Block Resource Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–8 Input Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–9 Multiplier and First-Stage Adder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–11 Pipeline Register Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–12 Second-Stage Adder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–12 Rounding and Saturation Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–12 Second Adder and Output Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–13 Arria II Operational Mode Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–14 Independent Multiplier Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–14 9-Bit, 12-Bit, and 18-Bit Multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–14 36-Bit Multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–17 Double Multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–17 Two-Multiplier Adder Sum Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–20 18 × 18 Complex Multiplier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–22 Four-Multiplier Adder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–23 High-Precision Multiplier Adder Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–24 Multiply Accumulate Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–25 Shift Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–26 Rounding and Saturation Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–28 DSP Block Control Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–30 Software Support for Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–31 Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–32 Chapter 5. Clock Networks and PLLs in Arria II Devices Arria II Device Handbook Volume 1: Device Interfaces and Integration February 2014 Altera Corporation Contents v Clock Networks in Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1 Global Clock Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–3 Regional Clock Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–4 Periphery Clock Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–6 Clock Sources Per Quadrant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–8 Clock Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–9 Clock Network Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–11 Dedicated Clock Inputs Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–11 Logic Array Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–11 PLL Clock Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–11 Clock Input Connections to PLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–13 Clock Output Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–14 Clock Control Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–15 Clock Enable Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–18 Clock Source Control for PLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–19 Cascading PLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–21 PLLs in Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–21 PLL Hardware Overview in Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–23 PLL Clock I/O Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–23 PLL Control Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–27 pfdena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–27 areset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–27 locked . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–27 Clock Feedback Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–28 Source-Synchronous Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–29 Source-Synchronous Mode for LVDS Compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–30 No-Compensation Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–30 Normal Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–31 Zero-Delay Buffer Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–32 External Feedback Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–33 Clock Multiplication and Division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–34 Post-Scale Counter Cascading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–35 Programmable Duty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–36 Programmable Phase Shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–36 Programmable Bandwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–38 Spread-Spectrum Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–38 Clock Switchover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–38 Automatic Clock Switchover Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–39 Manual Clock Switchover Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–42 Clock Switchover Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–42 PLL Reconfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–43 PLL Reconfiguration Hardware Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–44 Post-Scale Counters (C0 to C9) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–46 Scan Chain Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–47 Charge Pump and Loop Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–50 Bypassing PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–51 Dynamic Phase-Shifting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–51 PLL Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–54 Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–54 Section II. I/O Interfaces for Arria II Devices Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1 February 2014 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration vi Contents Chapter 6. I/O Features in Arria II Devices I/O Standards Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–2 I/O Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–5 Modular I/O Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–7 I/O Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–10 3.3-V I/O Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–13 External Memory Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–13 High-Speed Differential I/O with DPA Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–14 Programmable Current Strength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–14 Programmable Slew Rate Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–16 Open-Drain Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–16 Bus Hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17 Programmable Pull-Up Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17 Programmable Pre-Emphasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17 Programmable Differential Output Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–17 MultiVolt I/O Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–18 OCT Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–19 RS OCT Without Calibration for Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–19 RS OCT with Calibration for Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–20 Left-Shift RS OCT Control for Arria II GZ Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–21 Expanded RS OCT with Calibration for Arria II GZ Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–22 RD OCT for Arria II LVDS Input I/O Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–23 RT OCT with Calibration for Arria II GZ Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–23 Dynamic RS and RT OCT for Single-Ended I/O Standard for Arria II GZ Devices . . . . . . . . . . 6–24 Arria II OCT Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–26 OCT Calibration Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–26 Termination Schemes for I/O Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–28 Single-Ended I/O Standards Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–28 Differential I/O Standards Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–30 LVDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–32 Differential LVPECL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–33 RSDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–33 mini-LVDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–34 Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–35 I/O Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–35 Single-Ended I/O Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–35 Differential I/O Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–35 I/O Bank Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–36 Non-Voltage-Referenced Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–36 Voltage-Referenced Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–36 Mixing Voltage-Referenced and Non-Voltage-Referenced Standards . . . . . . . . . . . . . . . . . . . . . 6–36 I/O Placement Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–37 3.3-V, 3.0-V, and 2.5-V LVTTL/LVCMOS Tolerance Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . 6–37 Pin Placement Guideline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–37 Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–37 Chapter 7. External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–3 Using the RUP and RDN Pins in a DQ/DQS Group Used for Memory Interfaces in Arria II GZ Devices 7–21 Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface . . . . . . . . . . . . . . . 7–21 Rules to Combine Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–22 Arria II External Memory Interface Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–24 Arria II Device Handbook Volume 1: Device Interfaces and Integration February 2014 Altera Corporation Contents vii DQS Phase-Shift Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–24 DLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–27 Phase Offset Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–32 DQS Logic Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–34 DQS Delay Chains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–34 Update Enable Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–35 DQS Postamble Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–35 Arria II GZ Dynamic On-Chip Termination Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–37 I/O Element Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–37 Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–42 Chapter 8. High-Speed Differential I/O Interfaces and DPA in Arria II Devices LVDS Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–2 Locations of the I/O Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–3 LVDS SERDES and DPA Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–7 Differential Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–8 Serializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–8 Programmable Pre-Emphasis and Programmable VOD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–10 Differential Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–11 Receiver Hardware Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–12 DPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–12 Synchronizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–13 Data Realignment Block (Bit Slip) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–14 Deserializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–15 Receiver Datapath Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–16 Non-DPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–16 DPA Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–18 Soft CDR Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–19 Differential I/O Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–20 PLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–21 LVDS and DPA Clock Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–21 Source-Synchronous Timing Budget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–23 Differential Data Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–23 Differential I/O Bit Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–23 Transmitter Channel-to-Channel Skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–25 Receiver Skew Margin for Non-DPA Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–25 Differential Pin Placement Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–27 DPA-Enabled Channels and Single-Ended I/Os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–27 Guidelines for DPA-Enabled Differential Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–27 DPA-Enabled Channel Driving Distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–27 Using Center and Corner Left and Right PLLs in Arria II GX Devices . . . . . . . . . . . . . . . . . . . . . 8–27 Using Both Center PLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–29 Using Both Corner PLLs in Arria II GX Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–31 Guidelines for DPA-Disabled Differential Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–33 DPA-Disabled Channel Driving Distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–33 Using Corner and Center PLLs in Arria II GX Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–33 Using Both Center PLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–35 Using Both Corner PLLs in Arria II GX Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–36 Setting Up an LVDS Transmitter or Receiver Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–36 Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–36 Section III. System Integration for Arria II Devices Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–1 February 2014 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration viii Contents Chapter 9. Configuration, Design Security, and Remote System Upgrades in Arria II Devices Configuration Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–2 Configuration Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–2 Power-On Reset Circuit and Configuration Pins Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–4 Power-On Reset Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–4 Configuration Pins Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–5 VCCPD Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–6 Configuration Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–7 Power Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–7 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–7 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–7 Configuration Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–8 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–8 User Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–9 Configuration Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–9 MSEL Pin Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–9 Raw Binary File Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–11 Fast Passive Parallel Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–11 FPP Configuration Using a MAX II Device as an External Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–11 FPP Configuration Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–15 AS and Fast AS Configuration (Serial Configuration Devices) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–19 Guidelines for Connecting Serial Configuration Device to Arria II Devices on an AS Interface . . 9–23 Estimating the AS Configuration Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–23 Programming Serial Configuration Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–24 PS Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–26 PS Configuration Using a MAX II Device as an External Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–26 PS Configuration Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–29 PS Configuration Using a Download Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–30 JTAG Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–33 Jam STAPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–38 Device Configuration Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–39 Configuration Data Decompression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–46 Remote System Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–48 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–49 Enabling Remote Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–51 Configuration Image Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–52 Remote System Upgrade Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–52 Remote Update Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–52 Dedicated Remote System Upgrade Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–55 Remote System Upgrade Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–56 Remote System Upgrade Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–56 Remote System Upgrade Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–57 Remote System Upgrade State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–58 User Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–59 Quartus II Software Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–60 ALTREMOTE_UPDATE Megafunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–60 Design Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–61 Arria II Security Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–62 Security Against Copying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–62 Security Against Reverse Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–62 Security Against Tampering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–62 AES Decryption Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–62 Flexible Security Key Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–63 Arria II Design Security Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–64 Arria II Device Handbook Volume 1: Device Interfaces and Integration February 2014 Altera Corporation Contents ix Security Modes Available . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Volatile Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Non-Volatile Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Volatile Key with Tamper Protection Bit Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Non-Volatile Key with Tamper Protection Bit Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . No Key Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supported Configuration Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–65 9–65 9–65 9–65 9–65 9–66 9–66 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IEEE Std. 1149.6 Boundary-Scan Register for Arria II GX Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . BST Operation Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EXTEST_PULSE Instruction Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EXTEST_TRAIN Instruction Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I/O Voltage Support in a JTAG Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Disabling IEEE Std. 1149.1 BST Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Boundary-Scan Description Language Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11–1 11–1 11–3 11–4 11–5 11–5 11–6 11–7 11–8 Chapter 12. Power Management in Arria II Devices External Power Supply Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Power-On Reset Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hot Socketing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Devices Can Be Driven Before Power-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I/O Pins Remain Tri-Stated During Power-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Insertion or Removal of an Arria II Device from a Powered-Up System . . . . . . . . . . . . . . . . . . . . . . Hot-Socketing Feature Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Document Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12–1 12–1 12–2 12–2 12–2 12–3 12–3 12–4 Additional Information About this Handbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info–1 How to Contact Altera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info–1 Typographic Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info–1 February 2014 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration x Arria II Device Handbook Volume 1: Device Interfaces and Integration Contents February 2014 Altera Corporation Chapter Revision Dates The chapters in this document, Arria II Device Handbook Volume 1: Device Interfaces and Integration, were revised on the following dates. Where chapters or groups of chapters are available separately, part numbers are listed. Chapter 1. Overview for the Arria II Device Family Revised: July 2012 Part Number: AIIGX51001-4.4 Chapter 2. Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Revised: December 2010 Part Number: AIIGX51002-2.0 Chapter 3. Memory Blocks in Arria II Devices Revised: December 2011 Part Number: AIIGX51003-3.2 Chapter 4. DSP Blocks in Arria II Devices Revised: December 2010 Part Number: AIIGX51004-4.0 Chapter 5. Clock Networks and PLLs in Arria II Devices Revised: July 2012 Part Number: AIIGX51005-4.2 Chapter 6. I/O Features in Arria II Devices Revised: December 2011 Part Number: AIIGX51006-4.2 Chapter 7. External Memory Interfaces in Arria II Devices Revised: June 2011 Part Number: AIIGX51007-4.1 Chapter 8. High-Speed Differential I/O Interfaces and DPA in Arria II Devices Revised: July 2012 Part Number: AIIGX51008-4.3 Chapter 9. Configuration, Design Security, and Remote System Upgrades in Arria II Devices Revised: July 2012 Part Number: AIIGX51009-4.3 Chapter 10. SEU Mitigation in Arria II Devices Revised: February 2014 Part Number: AIIGX51010-4.3 Chapter 11. JTAG Boundary-Scan Testing in Arria II Devices Revised: December 2013 Part Number: AIIGX51011-4.1 Chapter 12. Power Management in Arria II Devices February 2014 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration xii Chapter Revision Dates Revised: June 2011 Part Number: AIIGX51012-3.1 Arria II Device Handbook Volume 1: Device Interfaces and Integration February 2014 Altera Corporation Section I. Device Core for Arria II Devices This section provides a complete overview of all features relating to the Arria® II device family, the industry’s first cost-optimized 40 nm FPGA family. This section includes the following chapters: ■ Chapter 1, Overview for the Arria II Device Family ■ Chapter 2, Logic Array Blocks and Adaptive Logic Modules in Arria II Devices ■ Chapter 3, Memory Blocks in Arria II Devices ■ Chapter 4, DSP Blocks in Arria II Devices ■ Chapter 5, Clock Networks and PLLs in Arria II Devices Revision History Refer to each chapter for its own specific revision history. For information on when each chapter was updated, refer to the Chapter Revision Dates section, which appears in this volume. December 2013 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration I–2 Arria II Device Handbook Volume 1: Device Interfaces and Integration Section I: Device Core for Arria II Devices Revision History December 2013 Altera Corporation 1. Overview for the Arria II Device Family July 2012 AIIGX51001-4.4 AIIGX51001-4.4 The Arria® II device family is designed specifically for ease-of-use. The cost-optimized, 40-nm device family architecture features a low-power, programmable logic engine and streamlined transceivers and I/Os. Common interfaces, such as the Physical Interface for PCI Express® (PCIe®), Ethernet, and DDR3 memory are easily implemented in your design with the Quartus® II software, the SOPC Builder design software, and a broad library of hard and soft intellectual property (IP) solutions from Altera. The Arria II device family makes designing for applications requiring transceivers operating at up to 6.375 Gbps fast and easy. This chapter contains the following sections: ■ “Arria II Device Feature” on page 1–1 ■ “Arria II Device Architecture” on page 1–6 ■ “Reference and Ordering Information” on page 1–14 Arria II Device Feature The Arria II device features consist of the following highlights: ■ ■ ■ 40-nm, low-power FPGA engine ■ Adaptive logic module (ALM) offers the highest logic efficiency in the industry ■ Eight-input fracturable look-up table (LUT) ■ Memory logic array blocks (MLABs) for efficient implementation of small FIFOs High-performance digital signal processing (DSP) blocks up to 550 MHz ■ Configurable as 9 x 9-bit, 12 x 12-bit, 18 x 18-bit, and 36 x 36-bit full-precision multipliers as well as 18 x 36-bit high-precision multiplier ■ Hardcoded adders, subtractors, accumulators, and summation functions ■ Fully-integrated design flow with the MATLAB and DSP Builder software from Altera Maximum system bandwidth ■ Up to 24 full-duplex clock data recovery (CDR)-based transceivers supporting rates between 600 Mbps and 6.375 Gbps ■ Dedicated circuitry to support physical layer functionality for popular serial protocols, including PCIe Gen1 and PCIe Gen2, Gbps Ethernet, Serial RapidIO® (SRIO), Common Public Radio Interface (CPRI), OBSAI, SD/HD/3G/ASI Serial Digital Interface (SDI), XAUI and Reduced XAUI (RXAUI), HiGig/HiGig+, SATA/Serial Attached SCSI (SAS), GPON, SerialLite II, Fiber Channel, SONET/SDH, Interlaken, Serial Data Converter (JESD204), and SFI-5. © 2012 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Subscribe 1–2 Chapter 1: Overview for the Arria II Device Family Arria II Device Feature ■ Complete PIPE protocol solution with an embedded hard IP block that provides physical interface and media access control (PHY/MAC) layer, Data Link layer, and Transaction layer functionality ■ Optimized for high-bandwidth system interfaces ■ ■ ■ ■ Up to 726 user I/O pins arranged in up to 20 modular I/O banks that support a wide range of single-ended and differential I/O standards ■ High-speed LVDS I/O support with serializer/deserializer (SERDES) and dynamic phase alignment (DPA) circuitry at data rates from 150 Mbps to 1.25 Gbps Low power ■ Architectural power reduction techniques ■ Typical physical medium attachment (PMA) power consumption of 100 mW at 3.125 Gbps. ■ Power optimizations integrated into the Quartus II development software Advanced usability and security features ■ Parallel and serial configuration options ■ On-chip series (RS) and on-chip parallel (RT) termination with auto-calibration for single-ended I/Os and on-chip differential (RD) termination for differential I/O ■ 256-bit advanced encryption standard (AES) programming file encryption for design security with volatile and non-volatile key storage options ■ Robust portfolio of IP for processing, serial protocols, and memory interfaces ■ Low cost, easy-to-use development kits featuring high-speed mezzanine connectors (HSMC) Emulated LVDS output support with a data rate of up to 1152 Mbps Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Table 1–1. Features in Arria II Devices Altera Corporation Arria II GX Devices Arria II GZ Devices Feature EP2AGX45 EP2AGX65 EP2AGX95 EP2AGX125 EP2AGX190 EP2AGX260 EP2AGZ225 EP2AGZ300 EP2AGZ350 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 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 232 312 448 576 656 736 800 920 1,040 4 4 6 6 6 6 6 or 8 4, 6, or 8 4, 6, or 8 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 6 6 8 8 12 12 16 or 20 8, 16, or 20 8, 16, or 20 24, 28, or 32 24, 28, 32 28 or 48 24 or 48 42 or 86 Total Transceivers (1) PCIe hard IP blocks Embedded Multipliers (18 x 18) (2) General Purpose PLLs User I/O Banks (5), (6) High-Speed LVDS SERDES (up to 1.25 Gbps) (7) 8, 24, or 28 8, 24, or 28 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–3 Arria II Device Handbook Volume 1: Device Interfaces and Integration Transceiver TX PLLs (3), (4) Chapter 1: Overview for the Arria II Device Family Arria II Device Feature July 2012 Table 1–1 lists the Arria II device features. 1–4 Chapter 1: Overview for the Arria II Device Family Arria II Device Feature Table 1–2 and Table 1–3 list the Arria II device package options and user I/O pin counts, high-speed LVDS channel counts, and transceiver channel counts for Ultra FineLine BGA (UBGA) and FineLine BGA (FBGA) devices. Table 1–2. Package Options and I/O Information for Arria II GX Devices EP2AGX45 33(RD or eTX) 156 + 32(RX, TX, or eTX) EP2AGX65 33(RD or eTX) 156 + 32(RX, TX, or eTX) EP2AGX95 EP2AGX125 — — — — 4 4 — — I/O LVDS (8) 252 57(RD or eTX) + 56(RX, TX, or eTX) 252 57(RD or eTX) + 56(RX, TX, or eTX) 260 57(RD or eTX) + 56(RX, TX, or eTX) 260 57(RD or eTX) + 56(RX,TX, or eTX) I/O LVDS (8) 8 364 85(R D or eTX) + 84(RX, TX, or eTX) 8 364 85(R D or eTX) +84(RX,TX, eTX) 372 85(R D or eTX) +84(RX, TX, or eTX) 372 85(R D or eTX) +84(RX,TX, or eTX) 8 8 EP2AGX190 — — — — — — 372 85(R D or eTX) +84(RX, TX, or eTX) EP2AGX260 — — — — — — 372 85(RD, eTX) +84(RX, TX, or eTX) 1152-Pin Flip Chip FBGA 35 mm x 35 mm I/O LVDS (8) XCVRs LVDS (8) 780-Pin Flip Chip FBGA 29 mm x 29 mm XCVRs I/O 572-Pin Flip Chip FBGA 25 mm x 25 mm XCVRs Device XCVRs 358-Pin Flip Chip UBGA 17 mm x 17 mm (Note 1), (2), (3), (4), (5), (6), (7) 8 — — — 8 — — — 452 105(RD or eTX) + 104(RX, TX, or eTX) 12 452 105(RD or eTX) + 104(RX, TX, or eTX) 12 12 612 145(RD or eTX) + 144(RX, TX, or eTX) 16 12 612 145(RD, eTX) + 144(RX, TX, or eTX) 16 12 12 Notes to Table 1–2: (1) The user I/O counts include clock pins. (2) The arrows indicate packages vertical migration capability. Vertical migration allows you to migrate to devices whose dedicated pins, configuration pins, and power pins are the same for a given package across device densities. (3) RD = True LVDS input buffers with on-chip differential termination (RD OCT) support. (4) RX = True LVDS input buffers without RD OCT support. (5) TX = True LVDS output buffers. (6) eTX = Emulated-LVDS output buffers, either LVDS_E_3R or LVDS_E_1R. (7) The LVDS channel count does not include dedicated clock input pins and PLL clock output pins. (8) These numbers represent the accumulated LVDS channels supported in Arria II GX row and column I/O banks. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 1: Overview for the Arria II Device Family Arria II Device Feature 1–5 Table 1–3. Package Options and I/O Information for Arria II GZ Devices I/O LVDS (7) — 554 135 (RX or eTX) + 140 (TX or eTX) 68 (RX or eTX) + 72 eTX 16 554 68 (RX or eTX) + 72 eTX 16 554 I/O LVDS (6) EP2AGZ225 — — EP2AGZ300 281 EP2AGZ350 281 1517-Pin Flip Chip FBGA 40 mm x 40 mm I/O LVDS (7) XCVRs XCVRs Device 1152-Pin Flip Chip FBGA 35 mm x 35 mm XCVRs 780-Pin Flip Chip FBGA 29 mm x 29 mm (Note 1), (2), (3), (4), (5) 16 734 179 (RX or eTX) + 184 (TX or eTX) 24 135 (RX or eTX) + 140 (TX or eTX) 16 734 179 (RX or eTX) + 184 (TX or eTX) 24 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 RD OCT support for row I/O banks, or true LVDS input buffers without RD OCT support for column I/O banks. (3) eTX = Emulated-LVDS output buffers, either LVDS_E_3R or LVDS_E_1R. (4) The LVDS RX and TX channels are equally divided between the left and right sides of the device. (5) The LVDS channel count does not include dedicated clock input pins. (6) For Arria II GZ 780-pin FBGA package, the LVDS channels are only supported in column I/O banks. (7) These numbers represents the accumulated LVDS channels supported in Arria II GZ device row and column I/O banks. Arria II devices are available in up to four speed grades: –3 (fastest), –4, –5, and –6 (slowest). Table 1–4 lists the speed grades for Arria II devices. Table 1–4. Speed Grades for Arria II Devices Device 358-Pin Flip Chip 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 July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 1–6 Chapter 1: Overview for the Arria II Device Family Arria II Device Architecture Arria II Device Architecture Arria II devices include a customer-defined feature set optimized for cost-sensitive applications and offer a wide range of density, memory, embedded multiplier, I/O, and packaging options. Arria II devices support external memory interfaces and I/O protocols required by wireless, wireline, broadcast, computer, storage, and military markets. They inherit the 8-input ALM, M9K and M144K embedded RAM block, and high-performance DSP blocks from the Stratix® IV device family with a cost-optimized I/O cell and a transceiver optimized for 6.375 Gbps speeds. Figure 1–1 and Figure 1–2 show an overview of the Arria II GX and Arria II GZ device architecture, respectively. Figure 1–1. Architecture Overview for Arria II GX Devices DLL PLL High-Speed Differential I/O, General Purpose I/O, and Memory Interface High-Speed Differential I/O, General Purpose I/O, and Memory Interface Arria II GX FPGA Fabric (Logic Elements, DSP, Embedded Memory, Clock Networks) Transceiver Blocks High-Speed Differential I/O with DPA, General Purpose I/O, and Memory Interface All the blocks in this graphic are for the largest density in the Arria II GX family. The number of blocks can vary based on the density of the device. PLL PLL High-Speed Differential I/O with DPA, General Purpose I/O, and Memory Interface Plug and Play PCIe hard IP ×1,×2, ×4, and ×8 PLL PLL High-Speed Differential I/O, General Purpose I/O, and Memory Interface Arria II Device Handbook Volume 1: Device Interfaces and Integration High-Speed Differential I/O, General Purpose I/O, and Memory Interface PLL DLL July 2012 Altera Corporation Chapter 1: Overview for the Arria II Device Family Arria II Device Architecture 1–7 Figure 1–2. Architecture Overview for Arria II GZ Device PLL PLL General Purpose I/O and Memory Interface Arria II GZ FPGA Fabric (Logic Elements, DSP, Embedded Memory, Clock Networks) General Purpose I/O and Memory Interface PLL PLL General Purpose General Purpose I/O and I/O and High-Speed High-Speed LVDS I/O with LVDS I/O with DPA and Soft CDR DPA and Soft CDR Transceiver Transceiver Transceiver Block Block Block General Purpose I/O and High-Speed LVDS I/O with DPA and Soft CDR PCIe hard IP Block (3) PLL (1) PLL (2) General Purpose I/O and High-Speed LVDS I/O with DPA and Soft CDR Transceiver Transceiver Block Block Transceiver Block General Purpose I/O and Memory Interface PLL (1) PLL (2) General Purpose I/O and Memory Interface Transceiver Block 400 Mbps-6.375 Gbps CDR-based Transceiver General Purpose I/O and High-Speed LVDS I/O with DPA and Soft CDR General Purpose I/O and 150 Mbps-1.25 Gbps LVDS interface with DPA and Soft-CDR Notes to Figure 1–2: (1) Not available for 780-pin FBGA package. (2) Not available for 780-pin and 1152-pin FBGA packages. (3) The PCIe hard IP block is located on the left side of the device only (IOBANK_QL). High-Speed Transceiver Features Arria II GX devices integrate up to 16 transceivers and Arria II GZ devices up to 24 transceivers on a single device. The transceiver block is optimized for cost and power consumption. Arria II transceivers support the following features: July 2012 ■ Configurable pre-emphasis and equalization, and adjustable output differential voltage ■ Flexible and easy-to-configure transceiver datapath to implement proprietary protocols ■ Signal integrity features Altera Corporation ■ 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 Arria II Device Handbook Volume 1: Device Interfaces and Integration 1–8 Chapter 1: Overview for the Arria II Device Family Arria II Device Architecture ■ Diagnostic features ■ Serial loopback from the transmitter serializer to the receiver CDR for transceiver physical coding sublayer (PCS) and PMA diagnostics ■ Parallel loopback from the transmitter PCS to the receiver PCS with built-in self test (BIST) pattern generator and verifier ■ Reverse serial loopback pre- and post-CDR to transmitter buffer for physical link diagnostics ■ Loopback master and slave capability in PCIe hard IP blocks ■ Support for protocol features such as MSB-to-LSB transmission in a SONET/SDH configuration and spread-spectrum clocking in a PCIe configuration Table 1–5 lists common protocols and the Arria II dedicated circuitry and features for implementing these protocols. Table 1–5. Sample of Supported Protocols and Feature Descriptions for Arria II Devices Supported Protocols Feature Descriptions ■ Complete PCIe Gen1 and Gen2 protocol stack solution compliant to PCIe Base Specification 2.0 that includes PHY/MAC, Data Link, and Transaction layer circuitry embedded in the PCIe hard IP blocks. ■ PCIe Gen1 has x1, x2, x4, and x8 lane configurations. PCIe Gen2 has x1, x2, and x4 lane configurations. PCIe Gen2 does not support x8 lane configurations ■ Built-in circuitry for electrical idle generation and detection, receiver detect, power state 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: PCIe Hard IP Data Link Layer and Transaction Layer ■ Hard IP Data Link Layer and custom Soft IP Transaction Layer ■ Compliant to IEEE P802.3ae specification ■ Embedded state machine circuitry to convert XGMII idle code groups (||I||) to and from idle ordered sets (||A||, ||K||, ||R||) at the transmitter and receiver, respectively ■ 8B/10B encoder and decoder, receiver synchronization state machine, lane deskew, and ±100 PPM clock compensation circuitry ■ Compliant to IEEE 802.3 specification ■ Automatic idle ordered set (/I1/, /I2/) generation at the transmitter, depending on the current running disparity ■ 8B/10B encoder and decoder, receiver synchronization state machine, and ±100 PPM clock compensation circuitry ■ Transmit bit slipper eliminates latency uncertainty to comply with CPRI/OBSAI specifications ■ Optimized for power and cost for remote radio heads and RF modules XAUI/HiGig/HiGig+ GbE CPRI/OBSAI 1 ■ For other protocols supported by Arria II devices, such as SONET/SDH, SDI, SATA and SRIO, refer to the Transceiver Architecture in Arria II Devices chapter. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 1: Overview for the Arria II Device Family Arria II Device Architecture 1 1–9 PCIe Gen2 protocol is only available in Arria II GZ devices. The following sections provide an overview of the various features of the Arria II FPGA. PCIe Hard IP Block Every Arria II device includes an integrated hard IP block which implements PCIe PHY/MAC, data link, and transaction layers. This PCIe hard IP block is highly configurable to meet the requirements of the majority of PCIe applications. PCIe hard IP makes implementing PCIe Gen1 and PCIe Gen2 solution in your Arria II design simple and easy. You can instantiate PCIe hard IP block using the PCI Compiler MegaWizardTM Plug-In Manager, similar to soft IP functions, but does not consume core FPGA resources or require placement, routing, and timing analysis to ensure correct operation of the core. Table 1–6 lists the PCIe hard IP block support for Arria II GX and GZ devices. Table 1–6. PCIe Hard IP Block Support Support Arria II GX Devices Arria II GZ Devices x1, x4, x8 x1, x4, x8 PCIe Gen2 — x1, x4 Root Port and endpoint configurations Yes Yes 128-byte to 256-byte 128-byte to 2K-byte PCIe Gen1 Payloads 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 July 2012 ■ 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. Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 1–10 Chapter 1: Overview for the Arria II Device Family Arria II Device Architecture ■ The Quartus® II software allows you to take advantage of MLABs, M9K, and M144K memory blocks by instantiating memory using a dedicated megafunction wizard or by inferring memory directly from VHDL or Verilog source code. Table 1–7 lists the Arria II device memory modes. Table 1–7. Memory Modes for Arria II Devices Port Mode Port Width Configuration Single Port x1, x2, x4, x8, x9, x16, x18, x32, x36, x64, and x72 Simple Dual Port x1, x2, x4, x8, x9, x16, x18, x32, x36, x64, and x72 True Dual Port x1, x2, x4, x8, x9, x16, x18, x32, and x36 DSP Resources ■ Fulfills the DSP requirements of 3G and Long Term Evolution (LTE) wireless infrastructure applications, video processing applications, and voice processing applications ■ DSP block input registers efficiently implement shift registers for finite impulse response (FIR) filter applications ■ The Quartus II software includes megafunctions you can use to control the mode of operation of the DSP blocks based on user-parameter settings ■ You can directly infer multipliers from the VHDL or Verilog HDL source code I/O Features ■ Contains up to 20 modular I/O banks ■ All I/O banks support a wide range of single-ended and differential I/O standards listed in Table 1–8. Table 1–8. I/O Standards Support for Arria II Devices Type I/O Standard Single-Ended I/O LVTTL, LVCMOS, SSTL, HSTL, PCIe, and PCI-X Differential I/O SSTL, HSTL, LVPECL, LVDS, mini-LVDS, Bus LVDS (BLVDS) (1), and RSDS Note to Table 1–8: (1) BLVDS is only available for Arria II GX devices. ■ Supports programmable bus hold, programmable weak pull-up resistors, and programmable slew rate control ■ For Arria II devices, calibrates OCT or driver impedance matching for single-ended I/O standards with one OCT calibration block on the I/O banks listed in Table 1–9. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 1: Overview for the Arria II Device Family Arria II Device Architecture 1–11 Table 1–9. Location of OCT Calibration Block in Arria II Devices Device Arria II GX Arria II GZ Package Option I/O Bank All pin packages Bank 3A, Bank 7A, and Bank 8A 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 ■ Arria II GX devices have dedicated configuration banks at Bank 3C and 8C, which support dedicated configuration pins and some of the dual-purpose pins with a configuration scheme at 1.8, 2.5, 3.0, and 3.3 V. For Arria II GZ devices, the dedicated configuration pins are located in Bank 1A and Bank 1C. However, these banks are not dedicated configuration banks; therefore, user I/O pins are available in Bank 1A and Bank 1C. ■ Dedicated VCCIO, VREF, and VCCPD pin per I/O bank to allow voltage-referenced I/O standards. Each I/O bank can operate at independent VCCIO, VREF, and VCCPD levels. High-Speed LVDS I/O and DPA ■ Dedicated circuitry for implementing LVDS interfaces at speeds from 150 Mbps to 1.25 Gbps ■ RD OCT for high-speed LVDS interfacing ■ DPA circuitry and soft-CDR circuitry at the receiver automatically compensates for channel-to-channel and channel-to-clock skew in source-synchronous interfaces and allows for implementation of asynchronous serial interfaces with embedded clocks at up to 1.25 Gbps data rate (SGMII and GbE) ■ Emulated LVDS output buffers use two single-ended output buffers with an external resistor network to support LVDS, mini-LVDS, BLVDS (only for Arria II GZ devices), and RSDS standards. Clock Management ■ Provides dedicated global clock networks, regional clock networks, and periphery clock networks that are organized into a hierarchical structure that provides up to 192 unique clock domains ■ Up to eight PLLs with 10 outputs per PLL to provide robust clock management and synthesis ■ July 2012 Altera Corporation ■ 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 Arria II Device Handbook Volume 1: Device Interfaces and Integration 1–12 Chapter 1: Overview for the Arria II Device Family Arria II Device Architecture Auto-Calibrating External Memory Interfaces ■ I/O structure enhanced to provide flexible and cost-effective support for different types of memory interfaces ■ Contains features such as OCT and DQ/DQS pin groupings to enable rapid and robust implementation of different memory standards ■ An auto-calibrating megafunction is available in the Quartus II software for DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RLDRAM II memory interface PHYs; the megafunction takes advantage of the PLL dynamic reconfiguration feature to calibrate based on the changes of process, voltage, and temperature (PVT). f For the maximum clock rates supported in Altera's FPGA devices, refer to the External Memory Interface Spec Estimator online tool. f For more information about the external memory interfaces support, refer to the External Memory Interfaces in Arria II Devices chapter. Nios II ■ Arria II devices support all variants of the NIOS® II processor ■ Nios II processors are supported by an array of software tools from Altera and leading embedded partners and are used by more designers than any other configurable processor Configuration Features ■ Configuration ■ ■ Supports active serial (AS), passive serial (PS), fast passive parallel (FPP), and JTAG configuration schemes. Design Security ■ Supports programming file encryption using 256-bit volatile and non-volatile security keys to protect designs from copying, reverse engineering, and tampering in FPP configuration mode with an external host (such as a MAX® II device or microprocessor), or when using the AS, FAS, or PS configuration scheme ■ Decrypts an encrypted configuration bitstream using the AES algorithm, an industry standard encryption algorithm that is FIPS-197 certified and requires a 256-bit security key Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 1: Overview for the Arria II Device Family Arria II Device Architecture ■ 1–13 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 July 2012 ■ 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 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 1–14 Chapter 1: Overview for the Arria II Device Family Reference and Ordering Information Reference and Ordering Information Figure 1–3 shows the ordering codes for Arria II devices. Figure 1–3. Packaging Ordering Information for Arria II Devices EP2AGX 45 C F 17 C 4 N Family Signature Optional Suffix EP2AGX EP2AGZ Indicates specific device options ES: Engineering sample N: Lead-free devices Device Density Speed Grade GX: 45, 65, 95, 125, 190,260 GZ: 225, 300, 350 3, 4, 5, or 6, with 3 being the fastest Transceiver Count Operating Temperature C: 4 D: 8 E: 12 F:16 H: 24 C: Commercial temperature (tJ = 0°C to 85°C) I: Industrial temperature (tJ = -40°C to 100°C) Package Type F: FineLine BGA (FBGA) U: Ultra FineLine BGA (UBGA) H: Hybrid FineLine BGA (HBGA) Ball Array Dimension Corresponds to pin count 17 = 358 pins 25 = 572 pins 29 = 780 pins 35 = 1152 pins 40 = 1517 pins Document Revision History Table 1–10 lists the revision history for this chapter. Table 1–10. Document Revision History (Part 1 of 2) Date 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 December 2010 4.1 4.0 ■ Updated Figure 1–2. ■ Updated Table 1–10. ■ Updated the “Arria II Device Feature” section. ■ Added Table 1–6. ■ Minor text edits. ■ Updated for the Quartus II software version 10.0 release ■ Added information about Arria II GZ devices ■ Updated Table 1–1, Table 1–4, Table 1–5, Table 1–6, Table 1–7, and Table 1–9 ■ Added Table 1–3 ■ Added Figure 1–2 ■ Updated Figure 1–3 ■ Updated “Arria II Device Feature” and “Arria II Device Architecture” section Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 1: Overview for the Arria II Device Family Document Revision History 1–15 Table 1–10. Document Revision History (Part 2 of 2) Date Version Changes Updated for the Quartus II software version 10.0 release: July 2010 3.0 November 2009 2.0 June 2009 1.1 February 2009 1.0 July 2012 Altera Corporation ■ 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 ■ Updated Table 1–1, Table 1–2, and Table 1–3 ■ Updated “Configuration Features” section ■ Updated Table 1–2. ■ Updated “I/O Features” section. Initial release. Arria II Device Handbook Volume 1: Device Interfaces and Integration 1–16 Arria II Device Handbook Volume 1: Device Interfaces and Integration Chapter 1: Overview for the Arria II Device Family Document Revision History July 2012 Altera Corporation 2. Logic Array Blocks and Adaptive Logic Modules in Arria II Devices December 2010 AIIGX51002-2.0 AIIGX51002-2.0 This chapter describes the features of the logic array block (LAB) in the Arria® II core fabric. The LAB is composed of basic building blocks known as adaptive logic modules (ALMs) that you can configure to implement logic functions, arithmetic functions, and register functions. This chapter contains the following sections: ■ “Logic Array Blocks” on page 2–1 ■ “Adaptive Logic Modules” on page 2–5 Logic Array Blocks Each LAB consists of ten ALMs, various carry chains, shared arithmetic chains, LAB control signals, local interconnect, and register chain connection lines. The local interconnect transfers signals between ALMs in the same LAB. The direct link interconnect allows the LAB to drive into the local interconnect of its left and right neighbors. Register chain connections transfer the output of the ALM register to the adjacent ALM register in the LAB. The Quartus® II Compiler places associated logic in the LAB or the adjacent LABs, allowing the use of local, shared arithmetic chain, and register chain connections for performance and area efficiency. Figure 2–1 shows the Arria II LAB structure and the LAB interconnects. Figure 2–1. LAB Structure in Arria II Devices C4 C12 Row Interconnects of Variable Speed & Length R20 R4 ALMs Direct link interconnect from adjacent block Direct link interconnect from adjacent block Direct link interconnect to adjacent block Direct link interconnect to adjacent block Local Interconnect LAB MLAB Column Interconnects of Local Interconnect is Driven Variable Speed & Length from Either Side by Column Interconnect & LABs, & from Above by Row Interconnect © 2010 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Subscribe 2–2 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Logic Array Blocks The LAB of the Arria II device has a derivative called memory LAB (MLAB), which adds look-up table (LUT)-based SRAM capability to the LAB. The MLAB supports a maximum of 640 bits of simple dual-port SRAM. You can configure each ALM in an MLAB as either a 64 × 1 or 32 × 2 block, resulting in a configuration of 64 × 10 or 32 × 20 simple dual-port SRAM blocks. MLAB and LAB blocks always coexist as pairs in Arria II devices. MLAB is a superset of the LAB and includes all LAB features. Figure 2–2 shows an overview of LAB and MLAB topology. f For more information about MLABs, refer to the TriMatrix Memory Blocks in Arria II Devices chapter. Figure 2–2. LAB and MLAB Structure in Arria II Devices (1) LUT-based-64 x 1 Simple dual port SRAM ALM (1) LUT-based-64 x 1 Simple dual port SRAM ALM LUT-based-64 x 1 (1) Simple dual port SRAM ALM LUT-based-64 x 1 (1) Simple dual port SRAM ALM LUT-based-64 x 1 (1) Simple dual port SRAM ALM LAB Control Block LAB Control Block LUT-based-64 x 1 (1) Simple dual port SRAM ALM LUT-based-64 x 1 (1) Simple dual port SRAM ALM LUT-based-64 x 1 (1) Simple dual port SRAM ALM LUT-based-64 x 1 (1) Simple dual port SRAM ALM LUT-based-64 x 1 (1) Simple dual port SRAM ALM MLAB LAB Note to Figure 2–2: (1) You can use an MLAB ALM as a regular LAB ALM or configure it as a dual-port SRAM. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Logic Array Blocks 2–3 LAB Interconnects The LAB local interconnect drives the ALMs in the same LAB using column and row interconnects and the ALM outputs in the same LAB. The direct link connection feature minimizes the use of row and column interconnects, providing higher performance and flexibility. Adjacent LABs/MLABs, memory blocks, or DSP blocks from the left or right can also drive the LAB’s local interconnect through the direct link connection. Each LAB can drive 30 ALMs through fast local and direct link interconnects. Ten ALMs are in any given LAB and ten ALMs are in each of the adjacent LABs. Figure 2–3 shows the direct link connection, which connects adjacent LABs, memory blocks, DSP blocks, or I/O element (IOE) outputs. Figure 2–3. Direct Link Connection Direct link interconnect from left LAB, memory block, DSP block, or IOE output Direct link interconnect from right LAB, memory block, DSP block, or IOE output ALMs ALMs Direct link interconnect to right Direct link interconnect to left Local Interconnect MLAB December 2010 Altera Corporation LAB Arria II Device Handbook Volume 1: Device Interfaces and Integration 2–4 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Logic Array Blocks LAB Control Signals Each LAB contains dedicated logic for driving a maximum of 10 control signals to its ALMs at a time. Control signals include three clocks, three clock enables, two asynchronous clears, a synchronous clear, and synchronous load control signals. Although you generally use synchronous-load and clear signals when implementing counters, you can also use them with other functions. Each LAB has two unique clock sources and three clock enable signals, as shown in Figure 2–4. The LAB control block can generate up to three clocks using two clock sources and three clock enable signals. Each clock and clock enable signals are linked. For example, any ALM in a particular LAB using the labclk1 signal also uses the labclkena1 signal. If the LAB uses both the rising and falling edges of a clock, it also uses two LAB-wide clock signals. De-asserting the clock enable signal turns off the corresponding LAB-wide clock. The LAB row clocks [5..0] and LAB local interconnects generate the LAB-wide control signals. In addition to data, the inherent low skew of the MultiTrack interconnect allows clock and control signal distribution. Figure 2–4. LAB-Wide Control Signals There are two unique clock signals per LAB. 6 Dedicated Row LAB Clocks 6 6 Local Interconnect Local Interconnect Local Interconnect Local Interconnect Local Interconnect Local Interconnect labclk0 labclk1 labclkena0 or asyncload or labpreset Arria II Device Handbook Volume 1: Device Interfaces and Integration labclk2 labclkena1 labclkena2 labclr1 syncload labclr0 December 2010 synclr Altera Corporation Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Adaptive Logic Modules 2–5 Adaptive Logic Modules The ALM is the basic building block of logic in the Arria II device architecture. Each ALM contains a variety of LUT-based resources that can be divided between two combinational adaptive LUTs (ALUTs) and two registers. With up to eight inputs for the two combinational ALUTs, one ALM can implement various combinations of two functions. This adaptability allows an ALM to be completely backward-compatible with 4-input LUT architectures. One ALM can also implement any function with up to 6-input and certain 7-input functions. In addition to the ALUT-based resources, each ALM contains two programmable registers, two dedicated full adders, a carry chain, a shared arithmetic chain, and a register chain. Through these dedicated resources, an ALM can efficiently implement various arithmetic functions and shift registers. Each ALM drives all types of interconnects: local, row, column, carry chain, shared arithmetic chain, register chain, and direct link. Figure 2–5 shows a high-level block diagram of the Arria II ALM. Figure 2–5. High-Level Block Diagram of the Arria II ALM shared_arith_in carry_in Combinational/Memory ALUT0 reg_chain_in labclk To general or local routing dataf0 datae0 6-Input LUT adder0 D Q dataa To general or local routing reg0 datab datac datad datae1 adder1 D Q 6-Input LUT To general or local routing reg1 dataf1 To general or local routing Combinational/Memory ALUT1 reg_chain_out shared_arith_out December 2010 Altera Corporation carry_out Arria II Device Handbook Volume 1: Device Interfaces and Integration 2–6 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Adaptive Logic Modules Figure 2–6 shows a detailed view of all the connections in an ALM. Figure 2–6. Connection Details of the Arria II ALM syncload aclr[1:0] shared_arith_in carry_in clk[2:0] sclr reg_chain_in dataf0 datae0 dataa datab datac0 GND 4-INPUT LUT + CLR D local interconnect Q 3-INPUT LUT row, column direct link routing row, column direct link routing 3-INPUT LUT datac1 4-INPUT LUT + CLR D local interconnect Q 3-INPUT LUT row, column direct link routing row, column direct link routing 3-INPUT LUT VCC datae1 dataf1 shared_arith_out carry_out reg_chain_out One ALM contains two programmable registers. Each register has data, clock, clock enable, synchronous and asynchronous clear, and synchronous load and clear inputs. Global signals, general purpose I/O (GPIO) pins, or any internal logic can drive the register’s clock and clear-control signals. Either GPIO pins or internal logic can drive the clock enable. For combinational functions, the register is bypassed and the output of the LUT drives directly to the outputs of an ALM. Each ALM has two sets of outputs that drive the local, row, and column routing resources. The LUT, adder, or register output can drive the ALM outputs (refer to Figure 2–6). For each set of output drivers, two ALM outputs can drive column, row, or direct link routing connections, and one of these ALM outputs can also drive local interconnect resources. The LUT or adder can drive one output while the register drives another output. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Adaptive Logic Modules 2–7 This feature is called register packing. It improves device utilization by allowing the device to use the register and combinational logic for unrelated functions. Another mechanism to improve fitting is to allow the register output to feed back into the LUT of the same ALM so that the register is packed with its own fan-out LUT. The ALM can also drive out registered and unregistered versions of the LUT or adder output. The Quartus II software automatically configures the ALMs for optimized performance. ALM Operating Modes The Arria II ALM can operate in any of the following modes: ■ Normal ■ Extended LUT ■ Arithmetic ■ Shared Arithmetic ■ LUT-Register The Quartus II software and other supported third-party synthesis tools, in conjunction with parameterized functions such as the library of parameterized modules (LPM) functions, automatically choose the appropriate mode for common functions such as counters, adders, subtractors, and arithmetic functions. Each mode uses the ALM resources differently. In each mode, eleven available inputs to an ALM—the eight data inputs from the LAB local interconnect, carry-in from the previous ALM or LAB, the shared arithmetic chain connection from the previous ALM or LAB, and the register chain connection—are directed to different destinations to implement the desired logic function. LAB-wide signals provide clock, asynchronous clear, synchronous clear, synchronous load, and clock enable control for the register. These LAB-wide signals are available in all ALM modes. For more information on the LAB-wide control signals, refer to “LAB Control Signals” on page 2–4. December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 2–8 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Adaptive Logic Modules Normal Mode Normal mode is suitable for general logic applications and combinational functions. In this mode, up to eight data inputs from the LAB local interconnect are inputs to the combinational logic. Normal mode allows two functions to be implemented in one Arria II ALM, or a single function of up to six inputs. The ALM can support certain combinations of completely independent functions and various combinations of functions that have common inputs. Figure 2–7 shows the supported LUT combinations in normal mode. Figure 2–7. ALM in Normal Mode (Note 1) dataf0 datae0 datac dataa 4-Input LUT combout0 datab datad datae1 dataf1 4-Input LUT combout1 dataf0 datae0 datac dataa datab 5-Input LUT combout0 datad datae1 dataf1 dataf0 datae0 datac dataa datab datad datae1 dataf1 3-Input LUT 5-Input LUT 4-Input LUT dataf0 datae0 datac dataa datab 5-Input LUT combout0 5-Input LUT combout1 dataf0 datae0 dataa datab datac datad 6-Input LUT combout0 dataf0 datae0 dataa datab datac datad 6-Input LUT combout0 6-Input LUT combout1 datad datae1 dataf1 combout1 combout0 combout1 datae1 dataf1 Note to Figure 2–7: (1) Combinations of functions with fewer inputs than those shown are also supported. For example, combinations of functions with the following number of inputs are supported: 4 and 3, 3 and 3, 3 and 2, and 5 and 2. Normal mode provides complete backward-compatibility with 4-input LUT architectures. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Adaptive Logic Modules 2–9 For the packing of two 5-input functions into one ALM, the functions must have at least two common inputs. The common inputs are dataa and datab. The combination of a 4-input function with a 5-input function requires one common input (either dataa or datab). In the case of implementing two 6-input functions in one ALM, four inputs must be shared and the combinational function must be the same. In a sparsely used device, functions that could be placed in one ALM may be implemented in separate ALMs by the Quartus II software to achieve the best possible performance. As a device begins to fill up, the Quartus II software automatically utilizes the full potential of the Arria II ALM. The Quartus II Compiler automatically searches for functions using common inputs or completely independent functions to be placed in one ALM to make efficient use of device resources. In addition, you can manually control resource usage by setting location assignments. Any 6-input function can be implemented using inputs dataa, datab, datac, datad, and either datae0 and dataf0 or datae1 and dataf1. If datae0 and dataf0 are utilized, the output is driven to register0, and/or register0 is bypassed and the data drives out to the interconnect using the top set of output drivers (refer to Figure 2–8). If datae1 and dataf1 are used, the output either drives to register1 or bypasses register1 and drives to the interconnect using the bottom set of output drivers. The Quartus II Compiler automatically selects the inputs to the LUT. ALMs in normal mode support register packing. Figure 2–8. Input Function in Normal Mode (Note 1) dataf0 datae0 dataa datab datac datad To general or local routing 6-Input LUT D Q To general or local routing reg0 datae1 dataf1 (2) D labclk Q To general or local routing reg1 Notes to Figure 2–8: (1) If datae1 and dataf1 are used as inputs to a 6-input function, datae0 and dataf0 are available for register packing. (2) The dataf1 input is available for register packing only if the 6-input function is unregistered. December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 2–10 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Adaptive Logic Modules Extended LUT Mode Use extended LUT mode to implement a specific set of 7-input functions. The set must be a 2-to-1 multiplexer fed by two arbitrary 5-input functions sharing four inputs. Figure 2–9 shows the template of supported 7-input functions using extended LUT mode. In this mode, if the 7-input function is unregistered, the unused eighth input is available for register packing. Functions that fit into the template, as shown in Figure 2–9, often appear in designs as “if-else” statements in Verilog HDL or VHDL code. Figure 2–9. Template for Supported 7-Input Functions in Extended LUT Mode datae0 datac dataa datab datad dataf0 5-Input LUT To general or local routing combout0 D 5-Input LUT Q To general or local routing reg0 datae1 dataf1 (1) This input is available for register packing. Note to Figure 2–9: (1) If the 7-input function is unregistered, the unused eighth input is available for register packing. The second register, reg1, is not available. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Adaptive Logic Modules 2–11 Arithmetic Mode Arithmetic mode is ideal for implementing adders, counters, accumulators, wide parity functions, and comparators. The ALM in arithmetic mode uses two sets of two 4-input LUTs along with two dedicated full adders. The dedicated adders allow the LUTs to be available to perform pre-adder logic; therefore, each adder can add the output of two 4-input functions. The four LUTs share dataa and datab inputs. As shown in Figure 2–10, the carry-in signal feeds to adder0 and the carry-out from adder0 feeds to the carry-in of adder1. The carry-out from adder1 drives to adder0 of the next ALM in the LAB. ALMs in arithmetic mode can drive out registered and unregistered versions of the adder outputs. Figure 2–10. ALM in Arithmetic Mode carry_in datae0 adder0 4-Input LUT To general or local routing D dataf0 datac datab dataa datad datae1 Q To general or local routing reg0 4-Input LUT adder1 4-Input LUT To general or local routing D 4-Input LUT Q To general or local routing reg1 dataf1 carry_out In arithmetic mode, the ALM supports simultaneous use of the adder’s carry output along with combinational logic outputs. The adder output is ignored in this operation. Using the adder with combinational logic output provides resource savings of up to 50% for functions that can use this mode. Arithmetic mode also offers clock enable, counter enable, synchronous up and down control, add and subtract control, synchronous clear, and synchronous load. The LAB local interconnect data inputs generate the clock enable, counter enable, synchronous up and down, and add and subtract control signals. These control signals are good candidates for the inputs that share the four LUTs in the ALM. The synchronous clear and synchronous load options are LAB-wide signals that affect all registers in the LAB. These signals can also be individually disabled or enabled per register. The Quartus II software automatically places any registers that are not used by the counter into other LABs. December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 2–12 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Adaptive Logic Modules Carry Chain The carry chain provides a fast carry function between the dedicated adders in arithmetic or shared arithmetic mode. The two-bit carry select feature in Arria II devices halves the propagation delay of carry chains within the ALM. Carry chains can begin in either the first ALM or the fifth ALM in a LAB. The final carry-out signal is routed to an ALM, where it is fed to local, row, or column interconnects. The Quartus II Compiler automatically creates carry chain logic during design processing, or you can create it manually during design entry. Parameterized functions such as LPM automatically take advantage of carry chains for the appropriate functions. The Quartus II Compiler creates carry chains longer than 20 ALMs (10 ALMs in arithmetic or shared arithmetic mode) by linking LABs together automatically. To enhance fitting, a long carry chain runs vertically, allowing fast horizontal connections to TriMatrix memory and DSP blocks. A carry chain can continue as far as a full column. To avoid routing congestion in one small area of the device when a high fan-in arithmetic function is implemented, the LAB can support carry chains that only use either the top half or bottom half of the LAB before connecting to the next LAB. This leaves the other half of the ALMs in the LAB available for implementing narrower fan-in functions in normal mode. Carry chains that use the top five ALMs in the first LAB carry into the top half of the ALMs in the next LAB in the column. Carry chains that use the bottom five ALMs in the first LAB carry into the bottom half of the ALMs in the next LAB within the column. In every alternate LAB column, the top half can be bypassed; in the other MLAB columns, the bottom half can be bypassed. 1 For more information on carry chain interconnect, refer to “ALM Interconnects” on page 2–17. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Adaptive Logic Modules 2–13 Shared Arithmetic Mode In shared arithmetic mode, the ALM can implement a 3-input add in an ALM. In this mode, the ALM is configured with four 4-input LUTs. Each LUT either computes the sum of three inputs or the carry of three inputs. The output of the carry computation is fed to the next adder using a dedicated connection called the shared arithmetic chain. This shared arithmetic chain can significantly improve the performance of an adder tree by reducing the number of summation stages required to implement an adder tree. Figure 2–11 shows the ALM using this feature. Figure 2–11. ALM in Shared Arithmetic Mode shared_arith_in carry_in labclk 4-Input LUT To general or local routing D datae0 datac datab dataa datad datae1 Q To general or local routing reg0 4-Input LUT 4-Input LUT To general or local routing D 4-Input LUT Q To general or local routing reg1 carry_out shared_arith_out You can find adder trees in many different applications. For example, the summation of the partial products in a logic-based multiplier can be implemented in a tree structure. Another example is a correlator function that can use a large adder tree to sum filtered data samples in a given time frame to recover or de-spread data that was transmitted using spread-spectrum technology. December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 2–14 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Adaptive Logic Modules Shared Arithmetic Chain The shared arithmetic chain available in enhanced arithmetic mode allows the ALM to implement a 3-input add. This significantly reduces the resources necessary to implement large adder trees or correlator functions. The shared arithmetic chains can begin in either the first or sixth ALM in an LAB. The Quartus II Compiler creates shared arithmetic chains longer than 20 ALMs (10 ALMs in arithmetic or shared arithmetic mode) by linking LABs together automatically. To enhance fitting, a long shared arithmetic chain runs vertically, allowing fast horizontal connections to the TriMatrix memory and DSP blocks. A shared arithmetic chain can continue as far as a full column. Similar to the carry chains, the top and bottom half of shared arithmetic chains in alternate LAB columns can be bypassed. This capability allows the shared arithmetic chain to cascade through half of the ALMs in an LAB while leaving the other half available for narrower fan-in functionality. Every other LAB column is top-half bypassable, while the other LAB columns are bottom-half bypassable. 1 For more information on shared arithmetic chain interconnect, refer to “ALM Interconnects” on page 2–17. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Adaptive Logic Modules 2–15 LUT-Register Mode LUT-Register mode allows third register capability in an ALM. Two internal feedback loops allow combinational ALUT1 to implement the master latch and combinational ALUT0 to implement the slave latch needed for the third register. The LUT register shares its clock, clock enable, and asynchronous clear sources with the top dedicated register. Figure 2–12 shows the register constructed using two combinational blocks in the ALM. Figure 2–12. LUT Register from Two Combinational Blocks sumout clk LUT regout 4-input LUT aclr combout Master latch sumout 5-input LUT datain(datac) combout sclr Slave latch Figure 2–13 shows the ALM in LUT-Register mode. Figure 2–13. ALM in LUT-Register Mode with 3-Register Capability clk [2..0] aclr [1..0] reg_chain_in Third register DC1 datain lelocal 0 aclr aclr sclr regout latchout datain sdata regout leout 0 a leout 0 b E0 F1 lelocal 1 aclr datain E1 F0 sdata regout leout 1 a leout 1 b reg_chain_out December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 2–16 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Adaptive Logic Modules Register Chain In addition to general routing outputs, the ALMs in any given LAB have register chain outputs to allow registers in the same LAB to be cascaded together. The register chain interconnect allows a LAB to use LUTs for a single combinational function and the registers to be used for an unrelated shift register implementation. These resources speed up connections between ALMs while saving local interconnect resources (refer to Figure 2–14). The Quartus II Compiler automatically takes advantage of these resources to improve utilization and performance. Figure 2–14. Register Chain in an LAB (Note 1) From previous ALM in the LAB reg_chain_in labclk To general or local routing adder0 D Q To general or local routing reg0 Combinational Logic adder1 D Q To general or local routing reg1 To general or local routing To general or local routing adder0 D Q To general or local routing reg0 Combinational Logic adder1 D Q To general or local routing reg1 To general or local routing reg_chain_out To next ALM in the LAB Note to Figure 2–14: (1) You can use the combinational or adder logic to implement an unrelated, un-registered function. 1 For more information about register chain interconnect, refer to “ALM Interconnects” on page 2–17. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Adaptive Logic Modules 2–17 ALM Interconnects There are three dedicated paths between ALMs: Register Cascade, Carry-chain, and Shared Arithmetic chain. Arria II devices include an enhanced interconnect structure in LABs for routing shared arithmetic chains and carry chains for efficient arithmetic functions. The register chain connection allows the register output of one ALM to connect directly to the register input of the next ALM in the LAB for fast shift registers. These ALM-to-ALM connections bypass the local interconnect. Figure 2–15 shows the shared arithmetic chain, carry chain, and register chain interconnects. Figure 2–15. Shared Arithmetic Chain, Carry Chain, and Register Chain Interconnects Local interconnect routing among ALMs in the LAB ALM 1 Carry chain & shared arithmetic chain routing to adjacent ALM Register chain routing to adjacent ALM's register input ALM 2 Local interconnect ... ... ALM 3 ALM 10 Clear and Preset Logic Control LAB-wide signals control the logic for the register‘s clear signal. The ALM directly supports an asynchronous clear function. You can achieve the register preset through the Quartus II software’s NOT-gate push-back logic option. Each LAB supports up to two clears. Arria II devices provide a device-wide reset pin (DEV_CLRn) that resets all registers in the device. An option set before compilation in the Quartus II software enables this pin. This device-wide reset overrides all other control signals. LAB Power Management Techniques The following techniques are used to manage static and dynamic power consumption within the LAB: December 2010 ■ 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. Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 2–18 Chapter 2: Logic Array Blocks and Adaptive Logic Modules in Arria II Devices Document Revision History ■ Clocks represent a significant portion of dynamic power consumption due to their high switching activity and long paths. The LAB clock that distributes a clock signal to registers within an LAB is a significant contributor to overall clock power consumption. Each LAB’s clock and clock enable signal are linked. For example, a combinational ALUT or register in a particular LAB using the labclk1 signal also uses the labclkena1 signal. To disable an LAB-wide clock power consumption without disabling the entire clock tree, use the LAB-wide clock enable to gate the LAB-wide clock. The Quartus II software automatically promotes register-level clock enable signals to the LAB-level. All registers within the LAB that share a common clock and clock enable are controlled by a shared, gated clock. To take advantage of these clock enables, use a clock-enable construct in your HDL code for the registered logic. f For more information about implementing static and dynamic power consumption within the LAB, refer to the Power Optimization chapter in volume 2 of the Quartus II Handbook. Document Revision History Table 2–1 lists the revision history for this document. Table 2–1. Document Revision History Date Version Changes Updated for the Quartus II software version 10.1 release: December 2010 2.0 ■ 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 2010 Altera Corporation 3. Memory Blocks in Arria II Devices December 2011 AIIGX51003-3.2 AIIGX51003-3.2 This chapter describes the Arria® II device memory blocks that include 640-bit memory logic array blocks (MLABs), 9-Kbit M9K blocks, and 144-Kbit M144K blocks. MLABs are optimized to implement filter delay lines, small FIFO buffers, and shift registers. You can use the M9K blocks for general purpose memory applications and the M144K blocks for processor code storage, packet buffering, and video frame buffering. 1 M144K block is only available for Arria II GZ devices. You can configure each embedded memory block independently with the Quartus® II MegaWizard™ Plug-In Manager to be a single- or dual-port RAM, FIFO, ROM, or shift register. You can stitch together multiple blocks of the same type to produce larger memories with a minimal timing penalty. This chapter contains the following sections: ■ “Memory Features” on page 3–2 ■ “Memory Modes” on page 3–10 ■ “Clocking Modes” on page 3–19 ■ “Design Considerations” on page 3–20 © 2011 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Subscribe 3–2 Chapter 3: Memory Blocks in Arria II Devices Memory Features Memory Features Table 3–1 lists the features supported by the embedded memory blocks. Table 3–1. Summary of Memory Features in Arria II Devices (Part 1 of 2) MLABs M9K Blocks M144K Blocks Feature Maximum performance Total RAM bits (including parity bits) Configurations (depth × width) Arria II GX Arria II GZ Arria II GX Arria II GZ Arria II GZ 500 MHz 500 MHz 390 MHz 540 MHz 500 MHz 640 640 9,216 9,216 147,456 8K × 1 8K × 1 4K × 2 4K × 2 2K × 4 2K × 4 1K × 8 1K × 8 1K × 9 1K × 9 512 × 16 512 × 16 512 × 18 512 × 18 256 × 32 256 × 32 256 × 36 256 × 36 64 × 8 64 × 8 64 × 9 64 × 9 64 × 10 64 × 10 32 × 16 32 × 16 32 × 18 32 × 18 32 × 20 32 × 20 16K × 8 16K × 9 8K × 16 8K × 18 4K × 32 4K × 36 2K × 64 2K × 72 Parity bits v v v v v Byte enable v v v v v Packed mode — — v v v Address clock enable v v v v v Single-port memory v v v v v Simple dual-port memory v v v v v True dual-port memory — — v v v Embedded shift register v v v v v ROM v v v v v FIFO buffer v v v v v Simple dual-port mixed width support — — v v v True dual-port mixed width support — — v v v Memory initialization file (.mif) v v v v v Mixed-clock mode v v v v v Power-up condition Register clears Write/Read operation triggering Same-port read-during-write Outputs cleared if registered, otherwise reads memory contents. Outputs cleared Outputs cleared Output registers Output registers Output registers Write: Falling clock edges. Read: Rising clock edges Write and Read: Rising clock edges Write and Read: Rising clock edges Outputs set to old data or new data Outputs set to old data or new data Outputs set to old data Outputs set to don’t care Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 3: Memory Blocks in Arria II Devices Memory Features 3–3 Table 3–1. Summary of Memory Features in Arria II Devices (Part 2 of 2) MLABs M9K Blocks M144K Blocks Feature Arria II GX Mixed-port read-during-write Arria II GZ Arria II GX Outputs set to old data, new data, or don’t care Soft IP support using the Quartus II software ECC Support Arria II GZ Arria II GZ Outputs set to old data or don’t care Outputs set to old data or don’t care 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–2 lists the capacity and distribution of the memory blocks in each Arria II device. Table 3–2. Memory Capacity and Distribution in Arria II Devices Device MLABs M9K Blocks M144K Total RAM Bits (including MLABs) (Kbits) EP2AGX45 903 319 — 3,435 EP2AGX65 1,265 495 — 5,246 EP2AGX95 1,874 612 — 6,679 EP2AGX125 2,482 730 — 8,121 EP2AGX190 3,806 840 — 9,939 EP2AGX260 5,130 950 — 11,756 EP2AGZ225 4,480 1,235 — 13,915 EP2AGZ300 5,960 1,248 24 18,413 EP2AGZ350 6,970 1,248 36 20,772 Memory Block Types M9K and M144K memory blocks are dedicated resources. MLABs are dual-purpose blocks. You can configure the MLABs as regular logic array blocks (LABs) or as MLABs. Ten ALMs make up one MLAB. You can configure each ALM in an MLAB as either a 64 × 1 or a 32 × 2 block, resulting in a 64 × 10 or 32 × 20 simple dual-port SRAM block in a single MLAB. Parity Bit Support All memory blocks have built-in parity bit support. The ninth bit associated with each byte can store a parity bit or serve as an additional data bit. No parity function is actually performed on the ninth bit. Byte Enable Support All memory blocks support byte enables that mask the input data so that only specific bytes of data are written. The unwritten bytes retain the previous written value. The write enable (wren) signals, along with the byte enable (byteena) signals, control the write operations of the RAM blocks. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 3–4 Chapter 3: Memory Blocks in Arria II Devices Memory Features The default value for the byte enable signals is high (enabled), in which case writing is controlled only by the write enable signals. The byte enable registers have no clear port. When using parity bits on the M9K and M144K blocks, the byte enable controls all 9 bits (8 bits of data plus 1 parity bit). When using parity bits on the MLAB, the byte-enable controls all 10 bits in the widest mode. Byte enables are only supported for true dual-port memory configurations when both the PortA and PortB data widths of the individual M9K memory blocks are multiples of 8 or 9 bits. For example, you cannot use byte enable for a mixed data width memory configured with portA=32 and portB=8 because the mixed data width memory is implemented as 2 separate 16 x 4 bit memories. Byte enables operate in a one-hot fashion, with the LSB of the byteena signal corresponding to the LSB of the data bus. For example, if you use a RAM block in ×18 mode, byteena = 01, data[8..0] is enabled and data[17..9] is disabled. Similarly, if byteena = 11, both data[8..0] and data[17..9] are enabled. Byte enables are active high. 1 You cannot use the byte enable feature when using the error correction coding (ECC) feature on M144K blocks. Figure 3–1 shows how the write enable (wren) and byte enable (byteena) signals control the operations of the M9K and M144K memory blocks. When a byte-enable bit is deasserted during a write cycle, the corresponding data byte output can appear as either a “don’t care” value or the current data at that location. The output value for the masked byte is controllable using the Quartus II software. When a byte-enable bit is asserted during a write cycle, the corresponding data byte output also depends on the setting chosen in the Quartus II software. Figure 3–1. Byte Enable Functional Waveform for M9K and M144K inclock wren address data byteena contents at a0 contents at a1 a0 an a1 a2 a0 a1 ABCD XXXX 10 XX a2 XXXX 01 XX 11 FFFF ABFF FFFF FFCD FFFF contents at a2 ABCD don't care: q (asynch) doutn ABXX XXCD ABCD ABFF FFCD ABCD current data: q (asynch) doutn ABFF FFCD ABCD ABFF FFCD ABCD Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 3: Memory Blocks in Arria II Devices Memory Features 3–5 Figure 3–2 shows how the wren and byteena signals control the operations of the MLABs. Falling clock edges triggers the write operation in MLABs. Figure 3–2. Byte Enable Functional Waveform for MLABs inclock wren address data byteena contents at a0 an XXXX a1 a2 a0 a1 ABCD XX 10 01 FFFF 11 XX ABFF FFCD FFFF contents at a2 doutn a2 XXXX FFFF contents at a1 current data: q (asynch) a0 FFFF ABFF ABCD FFFF FFCD FFFF ABCD ABFF FFCD FFCD Packed Mode Support Arria II M9K and M144K blocks support packed mode. The packed mode feature packs two independent single-port RAMs into one memory block. The Quartus II software automatically implements the packed mode where appropriate by placing the physical RAM block into true dual-port mode and using the MSB of the address to distinguish between the two logical RAMs. The size of each independent single-port RAM must not exceed half of the target block size. Address Clock Enable Support Arria II memory blocks support address clock enable, which holds the previous address value for as long as the signal is enabled (addressstall = 1). When you configure the memory blocks in dual-port mode, each port has its own independent address clock enable. The default value for the address clock enable signal is low (disabled). December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 3–6 Chapter 3: Memory Blocks in Arria II Devices Memory Features Figure 3–3 shows an address clock enable block diagram. The port name addressstall refers to the address clock enable. Figure 3–3. Address Clock Enable address[0] 1 0 address[0] register address[0] address[N] 1 0 address[N] register address[N] addressstall clock Figure 3–4 shows the address clock enable waveform during the read cycle. Figure 3–4. Address Clock Enable During Read Cycle Waveform inclock rdaddress a0 a1 a2 a3 a4 a5 a6 rden addressstall latched address (inside memory) q (synch) q (asynch) an a0 doutn-1 doutn doutn dout0 dout0 Arria II Device Handbook Volume 1: Device Interfaces and Integration a5 a4 a1 dout4 dout1 dout1 dout4 dout5 December 2011 Altera Corporation Chapter 3: Memory Blocks in Arria II Devices Memory Features 3–7 Figure 3–5 shows the address clock enable waveform during write cycle for M9K and M144K blocks. Figure 3–5. Address Clock Enable During Write Cycle Waveform for M9K and M144K Blocks inclock wraddress a0 a1 a2 data 00 01 02 a3 03 a4 a5 a6 04 05 06 wren addressstall latched address (inside memory) an a1 a0 a4 00 XX contents at a0 01 XX contents at a1 a5 contents at a2 XX contents at a3 XX contents at a4 03 02 04 XX XX contents at a5 05 Figure 3–6 shows the address clock enable waveform during the write cycle for MLABs. Figure 3–6. Address Clock Enable During Write Cycle Waveform for MLABs inclock wraddress a0 a1 a2 a3 a4 a5 a6 data 00 01 02 03 04 05 06 wren addressstall latched address (inside memory) contents at a0 contents at a1 a4 XX 01 02 XX contents at a3 XX contents at a5 Altera Corporation a5 00 XX contents at a2 contents at a4 December 2011 a1 a0 an 03 04 XX XX 05 Arria II Device Handbook Volume 1: Device Interfaces and Integration 3–8 Chapter 3: Memory Blocks in Arria II Devices Memory Features Mixed Width Support M9K and M144K blocks support mixed data widths inherently. MLABs can support mixed data widths through emulation with the Quartus II software. When using simple dual-port, true dual-port, or FIFO modes, mixed width support allows you to read and write different data widths to a memory block. For more information about the different widths supported per memory mode, refer to “Memory Modes” on page 3–10. 1 MLABs do not support mixed-width FIFO mode. Asynchronous Clear Arria II memory blocks support asynchronous clears on the output latches and output registers. Therefore, if your RAM is not using output registers, you can still clear the RAM outputs using the output latch asynchronous clear. Figure 3–7 shows a functional waveform showing this functionality. Figure 3–7. Output Latch Asynchronous Clear Waveform outclk aclr aclr at latch q You can selectively enable asynchronous clears per logical memory using the RAM MegaWizard Plug-In Manager. f For more information about the RAM MegaWizard Plug-In Manager, refer to the Internal Memory (RAM and ROM) Megafunction User Guide. Error Correction Code Support Arria II GZ M144K blocks have built-in support for ECC when in ×64-wide simple dual-port mode. ECC allows you to detect and correct data errors in the memory array. The M144K blocks have a single-error-correction double-error-detection (SECDED) implementation. SECDED can detect and fix a single bit error in a 64-bit word, or detect two bit errors in a 64-bit word. It cannot detect three or more errors. The M144K ECC status is communicated using a three-bit status flag (eccstatus[2..0]). The status flag can be either registered or unregistered. When registered, it uses the same clock and asynchronous clear signals as the output registers. When unregistered, it cannot be asynchronously cleared. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 3: Memory Blocks in Arria II Devices Memory Features 3–9 Table 3–3 lists the truth table for the ECC status flags. Table 3–3. Truth Table for ECC Status Flags in Arria II Devices Status eccstatus[2] eccstatus[1] eccstatus[0] No error 0 0 0 Single error and fixed 0 1 1 Double error and no fix 1 0 1 Illegal 0 0 1 Illegal 0 1 0 Illegal 1 0 0 Illegal 1 1 X 1 You cannot use the byte enable feature when ECC is engaged. 1 Read-during-write old data mode is not supported when ECC is engaged. Figure 3–8 shows a diagram of the ECC block of the M144K block. Figure 3–8. ECC Block Diagram of the M144K Block 8 Data Input 64 64 SECDED 8 Encoder 72 RAM Array 72 64 SECDED Encoder Comparator 8 64 8 8 8 64 Error Locator 64 Error Correction Block Flag Generator 3 Status Flags 64 Data Output December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 3–10 Chapter 3: Memory Blocks in Arria II Devices Memory Modes Memory Modes Arria II memory blocks allow you to implement fully synchronous SRAM memory in multiple modes of operation. M9K and M144K blocks do not support asynchronous memory (unregistered inputs). MLABs support asynchronous (flow-through) read operations. Depending on which memory block you target, you can use the following modes: ■ “Single-Port RAM Mode” on page 3–10 ■ “Simple Dual-Port Mode” on page 3–12 ■ “True Dual-Port Mode” on page 3–15 ■ “Shift-Register Mode” on page 3–17 ■ “ROM Mode” on page 3–18 ■ “FIFO Mode” on page 3–18 1 To choose the desired read-during-write behavior, set the read-during-write behavior to either new data, old data, or don't care in the RAM MegaWizard Plug-In Manager in the Quartus II software. For more information about this behavior, refer to “Read-During-Write Behavior” on page 3–21. 1 When using the memory blocks in ROM, single-port, simple dual-port, or true dual-port mode, you can corrupt the memory contents if you violate the setup or hold time on any of the memory block input registers. This applies to both read and write operations. Single-Port RAM Mode All memory blocks support single-port mode. Single-port mode allows you to do either a one-read or a one-write operation at a time. Simultaneous reads and writes are not supported in single-port mode. Figure 3–9 shows the single-port RAM configuration. Figure 3–9. Single-Port Memory (Note 1) data[ ] address[ ] wren byteena[] addressstall inclock clockena rden aclr q[] outclock Note to Figure 3–9: (1) You can implement two single-port memory blocks in a single M9K and M144K blocks. For more information, refer to “Packed Mode Support” on page 3–5. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 3: Memory Blocks in Arria II Devices Memory Modes 3–11 During a write operation, the RAM output behavior is configurable. If you use the read-enable signal and perform a write operation with the read enable deactivated, the RAM outputs retain the values they held during the most recent active read enable. If you activate read enable during a write operation, or if you do not use the read-enable signal at all, the RAM outputs show the “new data” being written, the “old data” at that address, or a “don’t care” value. Table 3–4 lists the possible port width configurations for memory blocks in single-port mode. Table 3–4. Port Width Configurations for MLABs, M9K, and M144K Blocks (Single-Port Mode) Port Width Configurations MLABs M9K Blocks M144K Blocks 8K × 1 16K × 8 4K × 2 64 × 8 16K × 9 2K × 4 64 × 9 8K × 16 1K × 8 64 × 10 8K × 18 1K × 9 32 × 16 4K × 32 512 × 16 32 × 18 4K × 36 512 × 18 32 × 20 2K × 64 256 × 32 2K × 72 256 × 36 Figure 3–10 shows timing waveforms for read and write operations in single-port mode with unregistered outputs for M9K and M144K blocks. Registering the M9K and M144K block outputs delay the q output by one clock cycle. Figure 3–10. Timing Waveform for Read-Write Operations for M9K and M144K Blocks (Single-Port Mode) clk_a wrena rdena address_a data_a q_a (asynch) December 2011 Altera Corporation a0 A a1 B a0(old data) C A D B E a1(old data) F D E Arria II Device Handbook Volume 1: Device Interfaces and Integration 3–12 Chapter 3: Memory Blocks in Arria II Devices Memory Modes Figure 3–11 shows the timing waveforms for read and write operations in single-port mode with unregistered outputs for the MLAB. The rising clock edges trigger the read operation whereas the falling clock edges triggers the write operation. Figure 3–11. Timing Waveform for Read-Write Operations for MLABs (Single-Port Mode) clk_a wrena rdena address_a data_a q_a (asynch) a0 A a0 (old data) a1 B C A B D E a1 C (old data) D F E Simple Dual-Port Mode All memory blocks support simple dual-port mode. Simple dual-port mode allows you to perform one-read and one-write operation to different locations at the same time. The write operation occurs on port A; the read operation occurs on port B. Figure 3–12 shows a simple dual-port configuration. Simple dual-port RAM supports input and output clock mode in addition to the read and write clock mode. Figure 3–12. Arria II Simple Dual-Port Memory data[ ] wraddress[ ] wren byteena[] wr_addressstall wrclock wrclocken aclr rdaddress[ ] rden q[ ] rd_addressstall rdclock rdclocken ecc_status (1) Note to Figure 3–12: (1) Only available for Arria II GZ devices. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 3: Memory Blocks in Arria II Devices Memory Modes 3–13 Simple dual-port mode supports different read and write data widths (mixed width support). Table 3–5 lists the mixed width configurations for the M9K blocks in simple dual-port mode. MLABs do not have native support for mixed width operations. The Quartus II software can implement mixed width memories in MLABs with more than one MLAB. Table 3–5. M9K Block Mixed-Width Configurations (Simple Dual-Port Mode) Write Port Read Port 8K × 1 4K × 2 2K × 4 1K × 8 512 × 16 256 × 32 1K × 9 512 × 18 256 × 36 8K × 1 v v v v v v — — — 4K × 2 v v v v v v — — — 2K × 4 v v v v v v — — — 1K × 8 v v v v v v — — — 512 × 16 v v v v v v — — — 256 × 32 v v v v v v — — — 1K × 9 — — — — — — v v v 512 × 18 — — — — — — v v v 256 × 36 — — — — — — v v v Table 3–6 lists the mixed-width configurations for M144K blocks in simple dual-port mode. Table 3–6. M144K Block Mixed-Width Configurations (Simple Dual-Port Mode) Write Port Read Port 16K × 8 8K × 16 4K × 32 2K × 64 16K × 9 8K × 18 4K × 36 2K × 72 16K × 8 v v v v — — — — 8K × 16 v v v v — — — — 4K × 32 v v v v — — — — 2K × 64 v v v v — — — — 16K × 9 — — — — v v v v 8K × 18 — — — — v v v v 4K × 36 — — — — v v v v 2K × 72 — — — — v v v v In simple dual-port mode, M9K and M144K blocks support separate write-enable and read-enable signals. Read-during-write operations to the same address can either output a “don’t care” or “old data” value. MLABs only support a write-enable signal. Read-during-write behavior for the MLABs can be either a “don’t care” or “old data” value. The available choices depend on the configuration of the MLAB. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 3–14 Chapter 3: Memory Blocks in Arria II Devices Memory Modes Figure 3–13 shows timing waveforms for read and write operations in simple dual-port mode with unregistered outputs for M9K and M144K blocks. Registering the M9K and M144K block outputs delay the q output by one clock cycle. Figure 3–13. Simple Dual-Port Timing Waveforms for M9K and M144K Blocks wrclock wren wraddress an-1 data din-1 an a0 a1 a2 a3 din a4 a5 a6 din4 din5 din6 rdclock rden rdaddress bn q (asynch) doutn-1 b1 b0 b2 b3 dout0 doutn Figure 3–14 shows the timing waveforms for read and write operations in simple dual-port mode with unregistered outputs in the MLAB. The write operation is triggered by the falling clock edges. Figure 3–14. Simple Dual-Port Timing Waveforms for MLABs wrclock wren wraddress data an-1 an din-1 din a0 a1 a2 a3 a4 a5 din4 din5 a6 din6 rdclock rden rdaddress bn q (asynch) doutn-1 b0 doutn Arria II Device Handbook Volume 1: Device Interfaces and Integration b1 b2 b3 dout0 December 2011 Altera Corporation Chapter 3: Memory Blocks in Arria II Devices Memory Modes 3–15 Figure 3–15 shows timing waveforms for read and write operations in mixed-port mode with unregistered outputs. Figure 3–15. Mixed-Port Read-During-Write Timing Waveforms clk_a A0 address A1 rdena wrena byteena 01 10 00 data_a A123 B456 C789 q_a (asynch) A0 (old data) DoldDold23 11 B423 DDDD EEEE A1(old data) DDDD FFFF EEEE True Dual-Port Mode Arria II M9K and M144K blocks support true dual-port mode. Sometimes called bidirectional dual-port, this mode allows you to perform any combination of two-port operations: two reads, two writes, or one read and one write at two different clock frequencies. True dual-port memory supports input and output clock mode in addition to the independent clock mode. Figure 3–16 shows the true dual-port RAM configuration. Figure 3–16. Arria II True Dual-Port Memory data_a[ ] 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[] The widest bit configuration of the M9K and M144K blocks in true dual-port mode are: ■ M9K: 512 × 16-bit (or 512 × 18-bit with parity) ■ M144K: 4K × 32-bit (or 4K × 36-bit with parity) Wider configurations are unavailable because the number of output drivers is equivalent to the maximum bit width of the respective memory block. Because true dual-port RAM has outputs on two ports, its maximum width equals half of the total number of output drivers. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 3–16 Chapter 3: Memory Blocks in Arria II Devices Memory Modes Table 3–7 lists the possible M9K block mixed-port width configurations in true dual-port mode. Table 3–7. M9K Block Mixed-Width Configuration (True-Dual Port Mode) Write Port Read Port 8K × 1 4K × 2 2K × 4 1K × 8 512 × 16 1K × 9 512 × 18 8K × 1 v v v v v — — 4K × 2 v v v v v — — 2K × 4 v v v v v — — 1K × 8 v v v v v — — 512 × 16 v v v v v — — 1K × 9 — — — — — v v 512 × 18 — — — — — v v Table 3–8 lists the possible M144K block mixed-port width configurations in true dual-port mode. Table 3–8. M144K Block Mixed-Width Configurations (True Dual-Port Mode) Write Port Read Port 16K × 8 8K × 16 4K × 32 16K × 9 8K × 18 4K × 36 16K × 8 v v v — — — 8K × 16 v v v — — — 4K × 32 v v v — — — 16K × 9 — — — v v v 8K × 18 — — — v v v 4K × 36 — — — v v v In true dual-port mode, M9K and M144K blocks support separate write-enable and read-enable signals. You can save power by keeping the read-enable signal low (inactive) when not reading. Read-during-write operations to the same address can either output “new data” at that location or “old data”. In true dual-port mode, you can access any memory location at any time from either port. When accessing the same memory location from both ports, you must avoid possible write conflicts. A write conflict happens when you attempt to write to the same address location from both ports at the same time. This results in unknown data being stored to that address location. Conflict resolution circuitry is not built into the Arria II memory blocks. You must handle address conflicts external to the RAM block. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 3: Memory Blocks in Arria II Devices Memory Modes 3–17 Figure 3–17 shows true dual-port timing waveforms for the write operation at port A and the read operation at port B with the read-during-write behavior set to new data. Registering the RAM outputs delay the q outputs by one clock cycle. Figure 3–17. True Dual-Port Timing Waveform clk_a wren_a address_a an-1 an data_a din-1 din q_a (asynch) din-1 a0 din a1 dout0 a2 dout1 a3 dout2 a4 a5 a6 din4 din5 din6 dout3 din4 din5 clk_b wren_b address_b q_b (asynch) bn doutn-1 b0 b1 doutn dout0 b2 b3 dout1 dout2 Shift-Register Mode All Arria II memory blocks support shift register mode. Embedded memory block configurations can implement shift registers for digital signal processing (DSP) applications, such as finite impulse response (FIR) filters, pseudo-random number generators, multi-channel filtering, and auto- and cross-correlation functions. These and other DSP applications require local data storage, traditionally implemented with standard flipflops that quickly exhaust many logic cells for large shift registers. A more efficient alternative is to use embedded memory as a shift-register block, which saves logic cell and routing resources. The size of a shift register (w × m × n) is determined by the input data width (w), the length of the taps (m), and the number of taps (n). You can cascade memory blocks to implement larger shift registers. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 3–18 Chapter 3: Memory Blocks in Arria II Devices Memory Modes Figure 3–18 shows the memory block in shift-register mode. Figure 3–18. Shift-Register Memory Configuration w × m × n Shift Register m-Bit Shift Register W W m-Bit Shift Register W W n Number of Taps m-Bit Shift Register W W m-Bit Shift Register W W ROM Mode All Arria II memory blocks support ROM mode. A .mif initializes the ROM contents of these blocks. The address lines of the ROM are registered on M9K and M144K blocks; however, they can be unregistered on MLABs. The outputs can be registered or unregistered. Output registers can be asynchronously cleared. The ROM read operation is identical to the read operation in the single-port RAM configuration. FIFO Mode All memory blocks support FIFO mode. MLABs are ideal for designs with many small, shallow FIFO buffers. To implement FIFO buffers in your design, you can use the FIFO MegaWizard Plug-In Manager in the Quartus II software. Both single- and dual-clock (asynchronous) FIFOs are supported. f For more information about implementing FIFO buffers, refer to the SCFIFO and DCFIFO Megafunctions User Guide. 1 MLABs do not support mixed-width FIFO mode. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 3: Memory Blocks in Arria II Devices Clocking Modes 3–19 Clocking Modes Arria II memory blocks support the following clocking modes: ■ “Independent Clock Mode” on page 3–19 ■ “Input and Output Clock Mode” on page 3–19 ■ “Read and Write Clock Mode” on page 3–19 ■ “Single Clock Mode” on page 3–20 c Violating the setup or hold time on the memory block address registers could corrupt the memory contents. This applies to both read and write operations. Table 3–9 lists the supported clocking mode/memory mode combinations. Table 3–9. Internal Memory Clock Modes for Arria II Devices Clocking Mode True Dual-Port Mode Simple Dual-Port Mode Single-Port Mode ROM Mode FIFO Mode Independent v — — v — Input and output v v v v — Read and write — v — — v Single clock v v v v v Independent Clock Mode Arria II memory blocks can implement independent clock mode for true dual-port memories. In this mode, a separate clock is available for each port (clock A and clock B). Clock A controls all registers on the port A side; clock B controls all registers on the port B side. Each port also supports independent clock enables for both port A and port B registers, respectively. Asynchronous clears are supported only for output latches and output registers on both ports. Input and Output Clock Mode Arria II memory blocks can implement input and output clock mode for true and simple dual-port memories. In this mode, an input clock controls all registers related to the data input to the memory block including data, address, byte enables, read enables, and write enables. An output clock controls the data output registers. Asynchronous clears are available on output latches and output registers only. Read and Write Clock Mode Arria II memory blocks can implement read and write clock mode for simple dual-port memories. In this mode, a write clock controls the data-input, write-address, and write-enable registers. Similarly, a read clock controls the data-output, read-address, and read-enable registers. The memory blocks support independent clock enables for both the read and write clocks. Asynchronous clears are available on data output latches and registers only. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 3–20 Chapter 3: Memory Blocks in Arria II Devices Design Considerations When using read and write clock mode, the output read data is unknown if you perform a simultaneous read and write to the same address location. If you require the output data to be a known value, use either single clock mode or input and output clock mode, and choose the appropriate read-during-write behavior in the MegaWizard Plug-In Manager. Single Clock Mode Arria II memory blocks can implement single clock mode for true dual-port, simple dual-port, and single-port memories. In this mode, a single clock, together with a clock enable, is used to control all registers of the memory block. Asynchronous clears are available on output latches and output registers only. Design Considerations This section describes guidelines for designing with memory blocks. Selecting Memory Block The Quartus II software automatically partitions user-defined memory into embedded memory blocks by taking into account both speed and size constraints placed on your design. For example, the Quartus II software may spread out memory across multiple memory blocks when resources are available to increase the performance of your design. You can manually assign memory to a specific block size using the RAM MegaWizard Plug-In Manager. MLABs can implement single-port SRAM through emulation with the Quartus II software. Emulation results in minimal additional logic resources used. Because of the dual-purpose architecture of the MLAB, it only has data input registers and output registers in the block. MLABs gain input address registers and additional optional data output registers from adjacent ALMs with register packing. f For more information about register packing, refer to the Logic Array Blocks and Adaptive Logic Modules in Arria II Devices chapter. Conflict Resolution When using the memory blocks in true dual-port mode, it is possible to attempt two write operations to the same memory location (address). Because there is no conflict resolution circuitry built into the memory blocks, this results in unknown data being written to that location. Therefore, you must implement conflict resolution logic, external to the memory block, to avoid address conflicts. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 3: Memory Blocks in Arria II Devices Design Considerations 3–21 Read-During-Write Behavior You can customize the read-during-write behavior of the Arria II memory blocks to suit your design requirements. The two types of read-during-write operations are same port and mixed port. Figure 3–19 shows the difference between the same port and mixed port. Figure 3–19. Read-During-Write Data Flow Port A data in Port B data in Mixed-port data flow Same-port data flow Port A data out Port B data out Same-Port Read-During-Write Mode This mode applies to either a single-port RAM or the same port of a true dual-port RAM. In same-port read-during-write mode, three output choices are available: new data mode (or flow-through), old data mode, or don’t care mode. In new data mode, the new data is available on the rising edge of the same clock cycle on which it was written. In old data mode, the RAM outputs reflect the old data at that address before the write operation proceeds. In don’t care mode, the RAM outputs “don’t care” values for a read-during-write operation. Figure 3–20 shows sample functional waveforms of same-port read-during-write behavior in don’t care mode for MLABs. Figure 3–20. MLABs Blocks Same Port Read-During Write: Don’t Care Mode clk_a address XX A0 data_in XX FFFF A1 A2 AAAA XXXX wrena q(unregistered) q(registered) December 2011 Altera Corporation XX A0(old data) XX FFFF A1(old data) FFFF AAAA A2(old data) AAAA Arria II Device Handbook Volume 1: Device Interfaces and Integration 3–22 Chapter 3: Memory Blocks in Arria II Devices Design Considerations Figure 3–21 shows sample functional waveforms of same-port read-during-write behavior in new data mode. Figure 3–21. M9K and M144K Blocks Same Port Read-During Write: New Data Mode clk_a 0A address 0B rdena wrena byteena 01 10 00 data_a A123 B456 C789 XX23 q_a (asynch) B4XX 11 XXXX DDDD EEEE DDDD FFFF EEEE FFFF Figure 3–22 shows sample functional waveforms of same-port read-during-write behavior in old data mode. Figure 3–22. M9K and M144K Blocks Same Port Read-During-Write: Old Data Mode clk_a A0 address A1 rdena wrena byteena 01 10 00 data_a A123 B456 C789 q_a (asynch) A0 (old data) DoldDold23 11 B423 DDDD EEEE A1(old data) FFFF DDDD EEEE For MLABs, the output of the MLABs can only be set to don’t care in same-port read-during-write mode. In this mode, the output of the MLABs is unknown during a write cycle. There is a window near the falling edge of the clock during which the output is unknown. Prior to that window, “old data” is read out; after that window, “new data” is seen at the output. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 3: Memory Blocks in Arria II Devices Design Considerations 3–23 Mixed-Port Read-During-Write Mode This mode applies to a RAM in simple or true dual-port mode that has one port reading from and the other port writing to the same address location with the same clock. In this mode, you can choose “old data”, “new data” or “don’t care” values as the output. For old data mode, a read-during-write operation to different ports causes the RAM outputs to reflect the “old data” value at that address location. For new data mode, a read-during-write operation to different ports causes the MLAB registered output to reflect the “new data” value on the next rising edge after the data is written to the MLAB memory. For don’t care mode, the same operation results in a “don’t care” or “unknown” value on the RAM outputs. 1 Read-during-write behavior is controlled using the RAM MegaWizard Plug-In Manager. For more information about how to implement the desired behavior, refer to the Internal Memory (RAM and ROM) Megafunction User Guide. Figure 3–23 shows a sample functional waveform of mixed-port read-during-write behavior for old data mode in MLABs. Figure 3–23. MLABs Mixed-Port Read-During-Write: Old Data Mode clk_a wraddress A0 A1 rdaddress A0 A1 data_in AAAA BBBB CCCC DDDD EEEE FFFF 01 10 11 01 10 A0 (old data) AAAA AABB A1(old data) DDDD wrena byteena_a q_b(registered) December 2011 Altera Corporation 11 DDEE Arria II Device Handbook Volume 1: Device Interfaces and Integration 3–24 Chapter 3: Memory Blocks in Arria II Devices Design Considerations Figure 3–24 shows a sample functional waveform of mixed-port read-during-write behavior for new data mode in MLABs. Figure 3–24. MLABs Mixed-Port Read-During-Write: New Data Mode clk_a wren_a A0 address_a data_a AAAA A1 BBBB CCCC EEEE FFFF 11 byteena_a q_b (registered) DDDD XXXX AAAA BBBB CCCC DDDD EEEE FFFF Figure 3–25 shows a sample functional waveform of mixed-port read-during-write behavior for don’t care mode in MLABs. Figure 3–25. MLABs Mixed-Port Read-During-Write: Don’t Care Mode clk_a wraddress A0 A1 rdaddress A0 A1 data_in AAAA BBBB CCCC DDDD EEEE FFFF 01 10 11 01 10 AAAA AABB CCBB DDDD DDEE wrena byteena_a q_b(registered) 11 Arria II Device Handbook Volume 1: Device Interfaces and Integration FFEE December 2011 Altera Corporation Chapter 3: Memory Blocks in Arria II Devices Design Considerations 3–25 Figure 3–26 shows a sample functional waveform of mixed-port read-during-write behavior in old data mode. Figure 3–26. M9K and M144K Mixed Port Read During Write: Old Data Mode clk_a&b wrena A0 address_a A1 data_a AAAA BBBB CCCC byteena 11 01 10 DDDD EEEE FFFF 11 rdenb A0 address_b q_b_(asynch) A1 AAAA A0 (old data) AABB DDDD A1(old data) EEEE Figure 3–27 shows a sample functional waveform of mixed-port read-during-write behavior for don’t care mode in M9K and M144K blocks. Figure 3–27. M9K and M144K Mixed-Port Read-During-Write: Don’t Care Mode clk_a&b wrena A0 address_a A1 data_a AAAA BBBB CCCC byteena 11 01 10 DDDD EEEE FFFF 11 rdenb address_b q_b_(asynch) A0 A1 XXXX (unknown data) Mixed-port read-during-write is not supported when two different clocks are used in a dual-port RAM. The output value is unknown during a dual-clock mixed-port read-during-write operation. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 3–26 Chapter 3: Memory Blocks in Arria II Devices Design Considerations Power-Up Conditions and Memory Initialization M9K and M144K block outputs power up to zero (cleared), regardless of whether the output registers are used or bypassed. MLABs power up to zero if the output registers are used and power up reading the memory contents if the output registers are not used. You must take this into consideration when designing logic that might evaluate the initial power-up values of the MLAB memory block. For Arria II devices, the Quartus II software initializes the RAM cells to zero unless there is a .mif file specified. All memory blocks support initialization using a .mif. You can create .mif files in the Quartus II software and specify their use with the RAM MegaWizard Plug-In Manager when instantiating a memory in your design. Even if a memory is pre-initialized (for example, using a .mif), it still powers up with its outputs cleared. f For more information about .mif files, refer to the Internal Memory (RAM and ROM) Megafunction User Guide and the Quartus II Handbook. Power Management Arria II memory block clock enables allow you to control clocking of each memory block to reduce AC-power consumption. Use the read-enable signal to ensure that read operations only occur when you need them to. If your design does not require read-during-write, you can reduce your power consumption by deasserting the read-enable signal during write operations or any period when no memory operations occur. The Quartus II software automatically places any unused memory block in low power mode to reduce static power. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 3: Memory Blocks in Arria II Devices Document Revision History 3–27 Document Revision History Table 3–10 lists the revision history for this chapter. Table 3–10. Document Revision History Date Version December 2011 June 2011 3.2 3.1 December 2010 3.0 Changes ■ Updated Table 3–1. ■ Updated “Byte Enable Support” and “Mixed-Port Read-During-Write Mode” sections. ■ Updated Table 3–1. ■ Updated the “Mixed-Port Read-During-Write Mode” section. ■ Minor text edits. ■ Updated for the Quartus II software version 10.1 release. ■ Added Arria II GZ devices information. ■ Updated Table 3–1 and Table 3–2. ■ Updated Figure 3–10, Figure 3–12, and Figure 3–16. ■ Added Table 3–6 and Table 3–8. ■ Added Figure 3–10, Figure 3–15, Figure 3–21, Figure 3–23, and Figure 3–24. ■ Added “Error Correction Code Support” section. ■ Minor text edit. Updated for Arria II GX v9.1 release: November 2009 June 2009 1.1 February 2009 December 2011 2.0 1.0 Altera Corporation ■ Updated Table 3–2 ■ Updated Figure 3–16 ■ Minor text edit ■ Updated Table 3–1 ■ Updated “Byte Enable Support”, “Simple Dual-Port Mode”, and “Read and Write Clock 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 Initial release Arria II Device Handbook Volume 1: Device Interfaces and Integration 3–28 Arria II Device Handbook Volume 1: Device Interfaces and Integration Chapter 3: Memory Blocks in Arria II Devices Document Revision History December 2011 Altera Corporation 4. DSP Blocks in Arria II Devices December 2010 AIIGX51004-4.0 AIIGX51004-4.0 This chapter describes how the dedicated high-performance digital signal processing (DSP) blocks in Arria II device are optimized to support DSP applications requiring high data throughput, such as finite impulse response (FIR) filters, infinite impulse response (IIR) filters, fast Fourier transform (FFT) functions, and encoders. You can configure the DSP blocks to implement one of several operational modes to suit your application. The built-in shift register chain, multipliers, and adders/subtractors minimize the amount of external logic to implement these functions, resulting in efficient resource utilization and improved performance and data throughput for DSP applications. These DSP blocks are the fourth generation of hardwired, fixed-function silicon blocks dedicated to maximizing signal processing capability and ease-of-use at the lowest silicon cost. Many complex systems, such as WiMAX, 3GPP WCDMA, high-performance computing (HPC), voice over Internet protocol (VoIP), H.264 video compression, medical imaging, and HDTV, use sophisticated DSP techniques. Arria II devices are ideally suited for these systems because the DSP blocks consist of a combination of dedicated elements that perform multiplication, addition, subtraction, accumulation, summation, and dynamic shift operations. Along with the high-performance Arria II soft logic fabric and memory structures, you can configure DSP blocks to build sophisticated fixed-point and floating-point arithmetic functions. These can be manipulated easily to implement common, larger computationally intensive subsystems such as FIR filters, complex FIR filters, IIR filters, FFT functions, and discrete cosine transform (DCT) functions. This chapter contains the following sections: ■ “DSP Block Overview” on page 4–2 ■ “Simplified DSP Operation” on page 4–4 ■ “Operational Modes Overview” on page 4–7 ■ “DSP Block Resource Descriptions” on page 4–8 ■ “Arria II Operational Mode Descriptions” on page 4–14 ■ “Software Support for Arria II Devices” on page 4–31 © 2010 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Subscribe 4–2 Chapter 4: DSP Blocks in Arria II Devices DSP Block Overview DSP Block Overview Arria II GX devices have two to four columns of DSP blocks, while Arria II GZ devices have two to seven columns of DSP blocks. These DSP blocks implement multiplication, multiply-add, multiply-accumulate (MAC), and dynamic shift functions. Architectural highlights of the Arria II DSP block include: ■ High-performance, power-optimized, fully registered, and pipelined multiplication operations ■ Natively supported 9-bit, 12-bit, 18-bit, and 36-bit word lengths ■ Natively supported 18-bit complex multiplications ■ Efficiently supported floating-point arithmetic formats (24 bits for single precision and 53 bits for double precision) ■ Signed and unsigned input support ■ Built-in addition, subtraction, and accumulation units to efficiently combine multiplication results ■ Cascading 18-bit input bus to form tap-delay line for filtering applications ■ Cascading 44-bit output bus to propagate output results from one block to the next block without external logic support ■ Rich and flexible arithmetic rounding and saturation units ■ Efficient barrel shifter support ■ Loopback capability to support adaptive filtering Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 4: DSP Blocks in Arria II Devices DSP Block Overview 4–3 Table 4–1 lists the number of DSP blocks in Arria II devices. Family DSP Blocks Table 4–1. Number of DSP Blocks in Arria II Devices (Note 1) Device Independent Input and Output Multiplication Operators 9×9 12 × 12 18 × 18 Multipliers Multipliers Multipliers Arria II GX Arria II GZ 18 × 18 Complex High Precision Multiplier Adder Mode Four Multiplier Adder Mode 36 × 36 18 × 36 18 × 18 Multipliers Multipliers Multipliers 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 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. Each DSP block occupies four logic array blocks (LABs) in height and you can divide further into two half blocks that share some common clocks signals, but are for all common purposes identical in functionality. Figure 4–1 shows the layout of each block. Figure 4–1. Overview of DSP Block Signals 34 Control 144 Input Data Half-DSP Block 72 Output Data 72 Output Data 288 144 Half-DSP Block Full-DSP Block December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 4–4 Chapter 4: DSP Blocks in Arria II Devices Simplified DSP Operation Simplified DSP Operation In Arria II devices, the fundamental building block is a pair of 18 × 18-bit multipliers followed by a first-stage 37-bit addition and subtraction unit shown in Equation 4–1 and Figure 4–2. For all signed numbers, input and output data is represented in 2’s-complement format only. Equation 4–1. Multiplier Equation P[36..0] = A0[17..0] × B0[17..0] ± A1[17..0] × B1[17..0] Figure 4–2. Basic Two-Multiplier Adder Building Block A0[17..0] B0[17..0] +/- A1[17..0] D Q B1[17..0] D Q P[36..0] The structure shown in Figure 4–2 is useful for building more complex structures, such as complex multipliers and 36 × 36 multipliers, as described in later sections. Each Arria II DSP block contains four two-multiplier adder units (2 two-multiplier adder units per half block). Therefore, there are eight 18 × 18 multiplier functionalities per DSP block. For a detailed diagram of the DSP block, refer to Figure 4–5 on page 4–8. Following the two-multiplier adder units are the pipeline registers, the second-stage adders, and an output register stage. You can configure the second-stage adders to provide the alternative functions shown in Equation 4–1 and Equation 4–2 per half block. Equation 4–2. Four-Multiplier Adder Equation Z[37..0] = P0[36..0] + P1[36..0] Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 4: DSP Blocks in Arria II Devices Simplified DSP Operation 4–5 Equation 4–3. Four-Multiplier Adder Equation (44-Bit Accumulation) Wn[43..0] = Wn-1[43..0] ± Zn[37..0] In these equations, n denotes sample time and P[36..0] are the results from the two-multiplier adder units. Equation 4–2 provides a sum of four 18 × 18-bit multiplication operations (four-multiplier adder), and Equation 4–3 provides a four 18 × 18-bit multiplication operation, but with a maximum of a 44-bit accumulation capability by feeding the output from the output register bank back to the adder/accumulator block, as shown in Figure 4–3. You can bypass all register stages depending on which mode you select, except accumulation and loopback mode. In these two modes, you must enable at least one set of the registers. If the register is not enabled, an infinite loop occurs. Output Register Bank Adder/ Accumulator 44 Result[] + 144 Input Register Bank Input Data Pipeline Register Bank + Figure 4–3. Four-Multiplier Adder and Accumulation Capability Half-DSP Block To support FIR-like structures efficiently, a major addition to the DSP block in Arria II devices is the ability to propagate the result of one half block to the next half block completely in the DSP block without additional soft logic overhead. This is achieved by the inclusion of a dedicated addition unit and routing that adds the 44-bit result of a previous half block with the 44-bit result of the current block. The 44-bit result is either fed to the next half block or out of the DSP block with the output register stage shown in Figure 4–4. Detailed examples are described in later sections. December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 4–6 Chapter 4: DSP Blocks in Arria II Devices Simplified DSP Operation The combination of a fast, low-latency four-multiplier adder unit and the “chained cascade” capability of the output chaining adder provides the optimal FIR and vector multiplication capability. To support single-channel type FIR filters efficiently, you can configure one of the multiplier input registers to form a tap delay line input, saving resources and providing higher system performance. Figure 4–4. Output Cascading Feature for FIR Structures From Previous Half-DSP Block Output Register Bank Round/Saturate + Adder/ Accumulator 44 Result[] + 144 Input Register Bank Input Data Pipeline Register Bank + 44 Half-DSP Block 44 To Next Half-DSP Block Figure 4–4 shows the optional rounding and saturation unit. This unit provides a set of commonly found arithmetic rounding and saturation functions in signal processing. In addition to the independent multipliers and sum modes, you can use DSP blocks to perform shift operations. DSP blocks can dynamically switch between logical shift left/right, arithmetic shift left/right, and rotation operation in one clock cycle. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 4: DSP Blocks in Arria II Devices Operational Modes Overview 4–7 Operational Modes Overview You can use each Arria II DSP block in one of six basic operational modes. Table 4–2 lists the six basic operational modes and the number of multipliers that you can implement in a single DSP block. Table 4–2. DSP Block Operational Modes for Arria II Devices Mode Multiplier 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 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) 1 2 Both No No — — — High Precision Multiplier Adder 18 36 2 2 Both No No No — Add Only Independent Multiplier Notes to Table 4–2: (1) This mode also supports loopback mode. In loopback mode, the number of loopback multipliers per DSP block is two. You can use the remaining multipliers in regular two-multiplier adder mode. (2) Unsigned value is also supported, but you must ensure that the result can be contained in 36 bits. (3) Dynamic shift mode supports arithmetic shift left, arithmetic shift right, logical shift left, logical shift right, and rotation operation. (4) Dynamic shift mode operates on a 32-bit input vector, but the multiplier width is configured as 36 bits. The DSP block consists of two identical halves (top-half and bottom-half). Each half has four 18 × 18 multipliers. The Quartus® II software includes megafunctions that control the mode of operation of the multipliers. After making the appropriate parameter settings with the megafunction’s MegaWizard Plug-In Manager, the Quartus II software automatically configures the DSP block. Arria II DSP blocks can operate in different modes simultaneously. Each half block is fully independent except for the sharing of the clock, ena, and the aclr signals. For example, you can break down a single DSP block to operate a 9 × 9 multiplier in one half block and an 18 × 18 two-multiplier adder in the other half block. This increases DSP block resource efficiency and allows you to implement more multipliers in an Arria II device. The Quartus II software automatically places multipliers that can share the same DSP block resources in the same block. December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 4–8 Chapter 4: DSP Blocks in Arria II Devices DSP Block Resource Descriptions DSP Block Resource Descriptions The DSP block consists of the following elements: ■ Input register bank ■ Four two-multiplier adders ■ Pipeline register bank ■ Second-stage adders ■ Four rounding and saturation logic units ■ Second adder register and output register bank Figure 4–5 shows a detailed illustration of the overall architecture of the top half of the DSP block. Table 4–9 on page 4–30 lists the DSP block dynamic signals. Figure 4–5. Half-DSP Block Architecture chainin[ ] (4) scanina[ ] 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) datab_3[ ] Multiplexer Shift/Rotate Output Register Bank Second Round/Saturate Chainout Adder dataa_3[ ] (3) Second Adder Register Bank datab_2[ ] First Round/Saturate dataa_2[ ] First Stage Adder datab_1[ ] Input Register Bank datab_0[ ] dataa_1[ ] Second Stage Adder/Accumulator loopback Pipeline Register Bank First Stage Adder dataa_0[ ] result[ ] Half-DSP Block scanouta chainout Notes to Figure 4–5: (1) Block output for accumulator overflow and saturate overflow. (2) Block output for saturation overflow of chainout. (3) When the chainout adder is not in use, the second adder register banks are known as output register banks. (4) You must connect the chainin port to the chainout port of the previous DSP blocks; it must not be connected to general routings. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 4: DSP Blocks in Arria II Devices DSP Block Resource Descriptions 4–9 Input Registers Figure 4–6 shows the input register of a half-DSP block. Figure 4–6. Input Register of Half-DSP Block (Note 1) clock[3..0] ena[3..0] aclr[3..0] signa signb scanina[17..0] dataa_0[17..0] loopback datab_0[17..0] +/- dataa_1[17..0] datab_1[17..0] dataa_2[17..0] datab_2[17..0] +/- dataa_3[17..0] datab_3[17..0] Delay Register scanouta Note to Figure 4–6: (1) The scanina signal originates from the previous DSP block, while the scanouta signal goes to the next DSP block. December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 4–10 Chapter 4: DSP Blocks in Arria II Devices DSP Block Resource Descriptions All DSP block registers are triggered by the positive edge of the clock signal and are cleared after power up. Each multiplier operand can feed an input register or feed directly to the multiplier, bypassing the input registers. The clock[3..0], ena[3..0], and aclr[3..0]DSP block signals control the input registers in the DSP block. Every DSP block has nine 18-bit data input register banks per half-DSP block. Every half-DSP block has the option to use the eight data register banks as inputs to the four multipliers. The special ninth register bank is a delay register required by modes that use both the cascade and chainout features of the DSP block to balance the latency requirements when using the chained cascade feature. A feature of the input register bank is to support a tap delay line. Therefore, you can drive the top leg of the multiplier input (A) from general routing or from the cascade chain, as shown in Figure 4–6. At compile time, you must select the incoming data for multiplier input (A) from either general routing or from the cascade chain. In cascade mode, the dedicated shift outputs from one multiplier block directly feeds input registers of the adjacent multiplier below it (in the same half-DSP block) or the first multiplier in the next half-DSP block, to form an 8-tap shift register chain per DSP block. The DSP block can increase the length of the shift register chain by cascading to the lower DSP blocks. The dedicated shift register chain spans a single column, but you can implement longer shift register chains requiring multiple columns with the regular FPGA routing resources. Shift registers are useful in DSP functions such as FIR filters. When implementing an 18 × 18 or smaller width multiplier, you do not require external logic to create the shift register chain because the input shift registers are internal to the DSP block. This implementation significantly reduces the logical element (LE) resources required, avoids routing congestion, and results in predictable timing. The first multiplier in every half-DSP block (top- and bottom-half) has a multiplexer for the first multiplier B-input (lower-leg input) register to select between general routing and loopback, as shown in Figure 4–5 on page 4–8. In loopback mode, the most significant 18-bit registered outputs are connected as feedback to the multiplier input of the first top multiplier in each half-DSP block. Loopback modes are used by recursive filters where the previous output is required to compute the current output. Loopback mode is described in detail in “Two-Multiplier Adder Sum Mode” on page 4–20. Table 4–3 lists the summary of input register modes for the DSP block. Table 4–3. Input Register Modes for Arria II Devices Register Input Mode (1) 9×9 12 × 12 18 × 18 36 × 36 Double Parallel input v v v v v Shift register input (2) — — v — — Loopback input (3) — — v — — Notes to Table 4–3: (1) The multiplier operand input word lengths are statically configured at compile time. (2) Available only on the A-operand. (3) Only one loopback input is allowed per half block. For details, refer to Figure 4–14 on page 4–21. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 4: DSP Blocks in Arria II Devices DSP Block Resource Descriptions 4–11 Multiplier and First-Stage Adder The multiplier stage supports 9 × 9, 12 × 12, 18 × 18, or 36 × 36 multipliers. Other word lengths are padded up to the nearest appropriate native wordlength; for example, 16 × 16 is padded up to use 18 × 18. For more information, refer to “Independent Multiplier Modes” on page 4–14. Depending on the data width of the multiplier, a single DSP block can perform many multiplications in parallel. Each multiplier operand can be a unique signed or unsigned number. Two dynamic signals, signa and signb, control the representation of each operand, respectively. A logic 1 value on the signa/signb signal indicates that data A/data B is a signed number; a logic 0 value indicates an unsigned number. Table 4–4 lists the sign of the multiplication result for the various operand sign representations. If any one of the operands is a signed value, the result of the multiplication is signed. Table 4–4. Multiplier Sign Representation for Arria II Devices Data A (signa Value) Data B (signb Value) Result Unsigned (logic 0) Unsigned (logic 0) Unsigned Unsigned (logic 0) Signed (logic 1) Signed Signed (logic 1) Unsigned (logic 0) Signed Signed (logic 1) Signed (logic 1) Signed Each half block has its own signa and signb signal. Therefore, all data A inputs feeding the same half-DSP block must have the same sign representation. Similarly, all data B inputs feeding the same half-DSP block must have the same sign representation. The multiplier offers full precision regardless of the sign representation in all operational modes except for full precision 18 × 18 loopback and two-multiplier adder modes. For more information, refer to “Two-Multiplier Adder Sum Mode” on page 4–20. 1 By default, when the signa and signb signals are unused, the Quartus II software sets the multiplier to perform unsigned multiplication. Figure 4–5 on page 4–8 shows that the outputs of the multipliers are the only outputs that can feed into the first-stage adder. There are four first-stage adders in a DSP block (two adders per half-DSP block). The first-stage adder block has the ability to perform addition and subtraction. The control signal for addition or subtraction is static and you must configure after compilation. The first-stage adders are used by the sum modes to compute the sum of two multipliers, 18 × 18-complex multipliers, and to perform the first stage of a 36 × 36 multiply and shift operation. Depending on your specifications, the output of the first-stage adder has the option to feed into the pipeline registers, second-stage adder, rounding and saturation unit, or the output registers. December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 4–12 Chapter 4: DSP Blocks in Arria II Devices DSP Block Resource Descriptions Pipeline Register Stage Figure 4–5 on page 4–8 shows that the output from the first-stage adder can either feed or bypass the pipeline registers. Pipeline registers increase the maximum performance (at the expense of extra cycles of latency) of the DSP block, especially when using the subsequent DSP block stages. Pipeline registers split up the long signal path between the input-registers/multiplier/first-stage adder and the second-stage adder/round-and-saturation/output-registers, creating two shorter paths. Second-Stage Adder There are four individual 44-bit second-stage adders per DSP block (two adders per half-DSP block). You can configure the second-stage adders as either: 1 ■ 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) You can use the chained-output adder at the same time as a second-level adder in chained output summation mode. The output of the second-stage adder has the option to go into the rounding and saturation logic unit or the output register. 1 You cannot use the second-stage adder independently from the multiplier and first-stage adder. Rounding and Saturation Stage Rounding and saturation logic units are located at the output of the 44-bit second-stage adder (the rounding logic unit followed by the saturation logic unit). There are two rounding and saturation logic units per half-DSP block. The input to the rounding and saturation logic unit can come from one of the following stages: ■ Output of the multiplier (independent multiply mode in 18 × 18) ■ Output of the first-stage adder (two-multiplier adder) ■ Output of the pipeline registers ■ Output of the second-stage adder (four-multiplier adder, multiply-accumulate mode in 18 × 18) These stages are described in “Arria II Operational Mode Descriptions” on page 4–14. The dynamic rounding and saturation signals control the rounding and saturation logic unit, respectively. A logic 1 value on the round signal, saturate signal, or both enables the round logic unit, saturate logic unit, or both. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 4: DSP Blocks in Arria II Devices DSP Block Resource Descriptions 1 4–13 You can use the rounding and saturation logic units together or independently. Second Adder and Output Registers The second adder register and output register banks are two banks of 44-bit registers that you can combine to form larger 72-bit banks to support 36 × 36 output results. The outputs of the different stages in the Arria II devices are routed to the output registers through an output selection unit. Depending on the operational mode of the DSP block, the output selection unit selects whether the outputs of the DSP blocks come from the outputs of the multiplier block, first-stage adder, pipeline registers, second-stage adder, or the rounding and saturation logic unit. Based on the DSP block operational mode you specify, the output selection unit is automatically set by the software, and has the option to either drive or bypass the output registers. The exception is when the block is used in shift mode, where you dynamically control the output-select multiplexer directly. When the DSP block is configured in chained cascaded output mode, both of the second-stage adders are used. The first adder is for performing a four-multiplier adder and the second is for the chainout adder. The outputs of the four-multiplier adder are routed to the second-stage adder registers before enters the chainout adder. The output of the chainout adder goes to the regular output register bank. Depending on the configuration, you can route the chainout results to the input of the next half block’s chainout adder input or to the general fabric (functioning as regular output registers). You can only connect the chainin port to the chainout port of the previous DSP block and must not be connected to general routings. The second-stage and output registers are triggered by the positive edge of the clock signal and are cleared on power up. The clock[3..0], ena[3..0], and aclr[3..0] DSP block signals control the output registers in the DSP block. December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 4–14 Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions Arria II Operational Mode Descriptions This section describes the operation modes of Arria II devices. Independent Multiplier Modes In the independent input and output multiplier mode, the DSP block performs individual multiplication operations for general-purpose multipliers. 9-Bit, 12-Bit, and 18-Bit Multiplier You can configure each DSP block multiplier for 9-bit, 12-bit, or 18-bit multiplication. A single DSP block can support up to eight individual 9 × 9 multipliers, six 12 × 12 multipliers, or up to four individual 18 × 18 multipliers. For operand widths up to 9 bits, a 9 × 9 multiplier is implemented. For operand widths from 10 to 12 bits, a 12 × 12 multiplier is implemented and for operand widths from 13 to 18 bits, an 18 × 18 multiplier is implemented. This is done by the Quartus II software by zero padding the LSBs. Figure 4–7, Figure 4–8, and Figure 4–9 show the DSP block in the independent multiplier operation mode. Table 4–9 on page 4–30 lists the DSP block dynamic signals. Figure 4–7. 18-Bit Independent Multiplier Mode Shown for Half-DSP Block signa clock[3..0] signb overflow (1) 18 datab_1[17..0] Pipeline Register Bank 18 dataa_1[17..0] Input Register Bank 18 datab_0[17..0] 36 result_0[ ] Output Register Bank 18 dataa_0[17..0] Round/Saturate output_round output_saturate Round/Saturate ena[3..0] aclr[3..0] 36 result_1[ ] Half-DSP Block Note to Figure 4–7: (1) Block output for accumulator overflow and saturate overflow. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions 4–15 Figure 4–8. 12-Bit Independent Multiplier Mode Shown for Half-DSP Block clock[3..0] ena[3..0] aclr[3..0] signa signb 12 dataa_0[11..0] 24 result_0[ ] 12 Output Register Bank 12 datab_1[11..0] Pipeline Register Bank 12 dataa_1[11..0] Input Register Bank datab_0[11..0] 24 result_1[ ] 12 dataa_2[11..0] 24 result_2[ ] 12 datab_2[11..0] Half-DSP Block December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 4–16 Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions Figure 4–9. 9-Bit Independent Multiplier Mode Shown for Half-DSP Block clock[3..0] ena[3..0] aclr[3..0] signa signb 9 dataa_0[8..0] 18 result_0[ ] 9 datab_0[8..0] 9 dataa_1[8..0] Output Register Bank 9 dataa_2[8..0] Pipeline Register Bank 9 datab_1[8..0] Input Register Bank 18 result_1[ ] 18 result_2[ ] 9 datab_2[8..0] 9 dataa_3[8..0] 18 result_3[ ] 9 datab_3[8..0] Half-DSP Block The multiplier operands can accept signed integers, unsigned integers, or a combination of both. You can change the signa and signb signals dynamically and register these signals in the DSP block. Additionally, you can register the multiplier inputs and results independently. You can use the pipeline registers in the DSP block to pipeline the multiplier result, increasing the performance of the DSP block. 1 The rounding and saturation logic unit is supported for 18-bit independent multiplier mode only. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions 4–17 36-Bit Multiplier You can construct a 36 × 36 multiplier with four 18 × 18 multipliers. This simplification fits into one half-DSP block and is implemented in the DSP block automatically by selecting 36 × 36 mode. Arria II devices can have up to two 36-bit multipliers per DSP block (one 36-bit multiplier per half DSP block). The 36-bit multiplier is also under the independent multiplier mode but uses the entire half-DSP block, including the dedicated hardware logic after the pipeline registers to implement the 36 × 36-bit multiplication operation, as shown in Figure 4–10. The 36-bit multiplier is useful for applications requiring more than 18-bit precision; for example, for the mantissa multiplication portion of single precision and extended single precision floating-point arithmetic applications. Figure 4–10. 36-Bit Independent Multiplier Mode Shown for Half-DSP Block clock[3..0] ena[3..0] aclr[3..0] signa signb dataa_0[35..18] datab_0[35..18] datab_0[17..0] + Output Register Bank dataa_0[35..18] Input Register Bank datab_0[35..18] Pipeline Register Bank + dataa_0[17..0] 72 result[ ] + dataa_0[17..0] datab_0[17..0] Half-DSP Block Double Multiplier You can configure the Arria II DSP block to support an unsigned 54 × 54-bit multiplier that is required to compute the mantissa portion of an IEEE double precision floating point multiplication. You can build a 54 × 54-bit multiplier with basic 18 × 18 multipliers, shifters, and adders. To efficiently use built-in shifters and adders in the Arria II DSP block, a special double mode (partial 54 × 54 multiplier) is available that December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 4–18 Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions is a slight modification to the basic 36 × 36 multiplier mode, as shown in Figure 4–11 and Figure 4–12. Figure 4–11. Double Mode Shown for a Half DSP Block clock[3..0] ena[3..0] aclr[3..0] signa signb dataa_0[35..18] datab_0[35..18] datab_0[17..0] + Output Register Bank dataa_0[35..18] Input Register Bank datab_0[35..18] Pipeline Register Bank + dataa_0[17..0] 72 result[ ] + dataa_0[17..0] datab_0[17..0] Half-DSP Block Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions 4–19 Figure 4–12. Unsigned 54 × 54-Bit Multiplier clock[3..0] ena[3..0] aclr[3..0] "0" "0" dataa[53..36] signa signb Two Multiplier Adder Mode 36 + datab[53..36] datab[53..36] dataa[53..36] 55 datab[35..18] dataa[53..36] datab[17..0] datab[35..18] dataa[17..0] datab[35..18] dataa[35..18] 36 × 36 Mode Shifters and Adders dataa[35..18] Final Adder (implemented with ALUT logic) datab[53..36] dataa[17..0] Double Mode Shifters and Adders dataa[35..18] 108 result[ ] 72 datab[17..0] dataa[17..0] datab[17..0] Unsigned 54 × 54 Multiplier December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 4–20 Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions Two-Multiplier Adder Sum Mode In the two-multiplier adder configuration, the DSP block can implement four 18-bit two-multiplier adders (2 two-multiplier adders per half-DSP block). You can configure the adders to take the sum or difference of two multiplier outputs. Summation or subtraction must be selected at compile time. The two-multiplier adder function is useful for applications such as FFTs, complex FIR, and IIR filters. Figure 4–13 shows the DSP block configured in the two-multiplier adder mode. Figure 4–13. Two-Multiplier Adder Mode Shown for Half-DSP Block (Note 1) signa signb output_round output_saturate clock[3..0] ena[3..0] aclr[3..0] overflow (2) Output Register Bank Round/Saturate dataa_1[17..0] + Pipeline Register Bank datab_0[17..0] Input Register Bank dataa_0[17..0] result[ ] datab_1[17..0] Half-DSP Block Notes to Figure 4–13: (1) In a half-DSP block, you can implement 2 two-multiplier adders. (2) Block output for accumulator overflow and saturate overflow. The loopback mode is a sub-feature of the two-multiplier adder mode. Figure 4–14 shows the DSP block configured in the loopback mode. This mode takes the 36-bit summation result of the two multipliers and feeds back the most significant 18-bits to the input. The lower 18-bits are discarded. You have the option to disable or zero-out the loopback data with the dynamic zero_loopback signal. A logic 1 value on the zero_loopback signal selects the zeroed data or disables the looped back data, and a logic 0 selects the looped back data. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions 1 4–21 At compile time, you must select the option to use the loopback mode or the general two-multiplier adder mode. Figure 4–14. Loopback Mode for Half-DSP Block signa signb output_round output_saturate clock[3..0] ena[3..0] aclr[3..0] zero_loopback overflow (1) Output Register Bank dataa_1[17..0] + Round/Saturate datab_0[17..0] Pipeline Register Bank loopback Input Register Bank dataa_0[17..0] result[ ] datab_1[17..0] Half-DSP Block Note to Figure 4–14: (1) Block output for accumulator overflow and saturate overflow. If all the inputs are full 18 bits and unsigned, the result requires 37 bits for two-muliplier adder mode. Because the output data width in two-multiplier adder mode is limited to 36 bits, this 37-bit output requirement is not allowed. Any other combination that does not violate the 36-bit maximum result is permitted; for example, two 16 × 16 signed two-multiplier adders is valid. 1 December 2010 Two-multiplier adder mode supports the rounding and saturation logic unit. You can use pipeline registers and output registers in the DSP block to pipeline the multiplier-adder result, increasing the performance of the DSP block. Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 4–22 Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions 18 × 18 Complex Multiplier You can configure the DSP block to implement complex multipliers with the two-multiplier adder mode. A single half-DSP block can implement one 18-bit complex multiplier. Equation 4–4 shows how you can write a complex multiplication. Equation 4–4. Complex Multiplication Equation (a + jb) × (c + jd) = [(a × c) – (b × d)] + j[(a × d) + (b × c)] To implement this complex multiplication in the DSP block, the real part [(a × c) – (b × d)] is implemented with two multipliers feeding one subtractor block, and the imaginary part [(a × d) + (b × c)] is implemented with another two multipliers feeding an adder block. This mode automatically assumes all inputs are using signed numbers. Figure 4–15 shows an 18-bit complex multiplication. This mode automatically assumes all inputs are using signed numbers. Figure 4–15. Complex Multiplier Using Two-Multiplier Adder Mode clock[3..0] ena[3..0] aclr[3..0] signa signb A C - 36 (A × C) - (B × D) (Real Part) 36 (A × D) + (B × C) (Imaginary Part) + Output Register Bank Input Register Bank D Pipeline Register Bank B Half-DSP Block Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions 4–23 Four-Multiplier Adder In the four-multiplier adder configuration shown in Figure 4–16, the DSP block can implement 2 four-multiplier adders (1 four-multiplier adder per half-DSP block). These modes are useful for implementing one-dimensional and two-dimensional filtering applications. The four-multiplier adder is performed in two addition stages. The outputs of two of the four multipliers are initially summed in the two first-stage adder blocks. The results of these two adder blocks are then summed in the second-stage adder block to produce the final four-multiplier adder result, as shown in Equation 4–2 on page 4–4 and Equation 4–3 on page 4–5. Figure 4–16. Four-Multiplier Adder Mode Shown for Half-DSP Block signa signb output_round output_saturate clock[3..0] ena[3..0] aclr[3..0] overflow (1) dataa_0[ ] datab_0[ ] + Output Register Bank + Round/Saturate dataa_2[ ] Input Register Bank datab_1[ ] Pipeline Register Bank dataa_1[ ] result[ ] datab_2[ ] + dataa_3[ ] datab_3[ ] Half-DSP Block Note to Figure 4–16: (1) Block output for accumulator overflow and saturate overflow. Four-multiplier adder mode supports the rounding and saturation logic unit. You can use the pipeline registers and output registers within the DSP block to pipeline the multiplier-adder result, increasing the performance of the DSP block. December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 4–24 Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions High-Precision Multiplier Adder Mode In the high-precision multiplier adder, the DSP block can implement 2 two-multiplier adders, with a multiplier precision of 18 × 36 (one two-multiplier adder per half-DSP block). This mode is useful in filtering or FFT applications where a datapath greater than 18 bits is required, yet 18 bits is sufficient for coefficient precision. This can occur if data has a high dynamic range. If the coefficients are fixed, as in FFT and most filter applications, the precision of 18 bits provides a dynamic range over 100 dB, if the largest coefficient is normalized to the maximum 18-bit representation. In these situations, the datapath can be up to 36 bits, allowing sufficient capacity for bit growth or gain changes in the signal source without loss of precision, which is useful in single precision block floating point applications. Figure 4–17 shows the high-precision multiplier is performed in two stages. The sum of the results of the two adders produce the final result: Z[54..0] = P0[53..0] + P1[53..0] where P0 = A[17..0] × B[35..0] and P1 = C[17..0] × D[35..0] Figure 4–17. High-Precision Multiplier Adder Configuration for Half-DSP Block signa signb clock[3..0] ena[3..0] aclr[3..0] overflow (1) dataA[0:17] dataB[0:17] + Pipeline Register Bank dataC[0:17] Input Register Bank dataB[18:35] <<18 + Output Register Bank P0 dataA[0:17] result[ ] dataD[0:17] + P1 dataC[0:17] <<18 dataD[18:35] Half-DSP Block Note to Figure 4–17: (1) Block output for accumulator overflow and saturate overflow. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions 4–25 Multiply Accumulate Mode In multiply accumulate mode, the second-stage adder is configured as a 44-bit accumulator or subtractor. The output of the DSP block is looped back to the second-stage adder and added or subtracted with the two outputs of the first-stage adder block according to Equation 4–3 on page 4–5. Figure 4–18 shows the DSP block configured to operate in multiply accumulate mode. Figure 4–18. Multiply Accumulate Mode Shown for Half-DSP Block clock[3..0] ena[3..0] aclr[3..0] signa signb output_round output_saturate chainout_sat_overflow (1) accum_sload dataa_0[ ] datab_0[ ] + Output Register Bank dataa_2[ ] + Round/Saturate datab_1[ ] Second Register Bank Input Register Bank Pipeline Register Bank dataa_1[ ] 44 result[ ] datab_2[ ] + dataa_3[ ] datab_3[ ] Half-DSP Block Note to Figure 4–18: (1) Block output for saturation overflow of chainout. A single DSP block can implement up to two independent 44-bit accumulators. Use the dynamic accum_sload control signal to clear the accumulation. A logic 1 value on the accum_sload signal synchronously loads the accumulator with the multiplier result only, and a logic 0 enables accumulation by adding or subtracting the output of the DSP block (accumulator feedback) to the output of the multiplier and first-stage adder. December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 4–26 Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions 1 The control signal for the accumulator and subtractor is static and therefore you can configure it at compilation. The multiply accumulate mode supports the rounding and saturation logic unit because it is configured as an 18-bit multiplier accumulator. You can use the pipeline registers and output registers within the DSP block to increase the performance of the DSP block. Shift Modes Arria II devices support the following shift modes for 32-bit input only: 1 ■ 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] You can switch the shift mode between these modes with the dynamic rotate and shift control signals. You can easily use the shift mode in an Arria II device with a soft embedded processor such as the Nios® II processor to perform the dynamic shift and rotate operation. Shift mode makes use of the available multipliers to logically or arithmetically shift left, right, or rotate the desired 32-bit data. The DSP block is configured like the independent 36-bit multiplier mode to perform the shift mode operations. Arithmetic shift right requires a signed input vector. During arithmetic shift right, the sign is extended to fill the MSB of the 32-bit vector. The logical shift right uses an unsigned input vector. During logical shift right, zeros are padded in the most significant bits shifting the 32-bit vector to the right. The barrel shifter uses an unsigned input vector and implements a rotation function on a 32-bit word length. Two control signals, rotate and shift_right, together with the signa and signb signals, determine the shifting operation. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions 4–27 Figure 4–19 shows the shift mode configuration. Figure 4–19. Shift Operation Mode Shown for Half-DSP Block signa signb rotate shift_right clock[3..0] ena[3..0] aclr[3..0] dataa_0[35..18] datab_0[35..18] + dataa_0[35..18] + Shift/Rotate datab_0[35..18] Output Register Bank Input Register Bank Pipeline Register Bank dataa_0[17..0] 32 result[ ] datab_0[17..0] + dataa_0[17..0] datab_0[17..0] Half-DSP Block Table 4–5 lists examples of shift operations. Table 4–5. Examples of Shift Operations Example Signa Signb Shift Rotate A-input B-input Result Logical Shift Left 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 December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 4–28 Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions Rounding and Saturation Mode Rounding and saturation functions are often required in DSP arithmetic. Rounding is to limit bit growth and its side effects; saturation is to reduce overflow and underflow side effects. Two rounding modes are supported in Arria II devices: ■ Round-to-nearest-integer mode ■ Round-to-nearest-even mode You must select one of the two options at compile time. The round-to-nearest-integer provides the biased rounding support and is the simplest form of rounding commonly used in DSP arithmetic. The round-to-nearest-even mode provides unbiased rounding support and is used where DC offsets are a concern. Table 4–6 lists an example of how round-to-nearest-even mode. Examples of the difference between the two modes are shown in Table 4–7. In this example, a 6-bit input is rounded to 4 bits. You can observe from Table 4–7 that the main difference between the two rounding options is when the residue bits are exactly half way between its nearest two integers and the LSB is zero (even). Table 4–6. Example of Round-To-Nearest-Even Mode 6- to 4-bits Rounding Odd/Even (Integer) Fractional Add to Integer Result 010111 × > 0.5 (11) 1 0110 001101 × < 0.5 (01) 0 0011 001010 Even (0010) = 0.5 (10) 0 0010 001110 Odd (0011) = 0.5 (10) 1 0100 110111 × > 0.5 (11) 1 1110 101101 × < 0.5 (01) 0 1011 110110 Odd (1101) = 0.5 (10) 1 1110 110010 Even (1100) = 0.5 (10) 0 1100 Table 4–7. Comparison of Round-to-Nearest-Integer and Round-to-Nearest-Even Round-To-Nearest-Integer Round-To-Nearest-Even 010111 ➱ 0110 010111 ➱ 0110 001101 ➱ 0011 001101 ➱ 0011 001010 ➱ 0011 001010 ➱ 0010 001110 ➱ 0100 001110 ➱ 0100 110111 ➱ 1110 110111 ➱ 1110 101101 ➱ 1011 101101 ➱ 1011 110110 ➱ 1110 110110 ➱ 1110 110010 ➱ 1101 110010 ➱ 1100 Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions 4–29 Two saturation modes are supported in Arria II devices: ■ Asymmetric saturation mode ■ Symmetric saturation mode You must select one of the two options at compile time. In 2’s complement format, the maximum negative number that can be represented is –2 (n-1), and the maximum positive number is 2(n-1) – 1. Symmetrical saturation limits the maximum negative number to –2 (n-1) + 1. For example, for 32 bits: ■ Asymmetric 32-bit saturation: Max = 0×7FFFFFFF, Min = 0×80000000 ■ Symmetric 32-bit saturation: Max = 0×7FFFFFFF, Min = 0×80000001 Table 4–8 lists how the saturation works. In this example, a 44-bit input is saturated to 36-bits. Table 4–8. Examples of Saturation 44 to 36 Bits Saturation Symmetric SAT Result Asymmetric SAT Result 5926AC01342h 7FFFFFFFFh 7FFFFFFFFh ADA38D2210h 800000001h 800000000h Arria II devices have up to 16 configurable bit positions out of the 44-bit bus ([43:0]) for the rounding and saturate logic unit, providing higher flexibility. You must select the 16 configurable bit positions at compile time. These 16-bit positions are located at bits [21:6] for rounding and [43:28] for saturation, as shown in Figure 4–20. Figure 4–20. Rounding and Saturation Locations 16 User defined SAT Positions (bit 43-28) 43 42 29 28 1 0 16 User defined RND Positions (bit 21-6) 43 1 42 21 20 7 6 0 For symmetric saturation, the RND bit position is to determine where the LSP for the saturated data is located. You can use the rounding and saturation function as described in regular supported multiplication operations shown in Table 4–2 on page 4–7. However, for accumulation type operations, the following convention is used. The functionality of the rounding logic unit is in the format of: Result = RND[∑(A × B)], when used for an accumulation type of operation. Likewise, the functionality of the saturation logic unit is in the format of: Result = SAT[∑(A × B)], when used for an accumulation type of operation. December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 4–30 Chapter 4: DSP Blocks in Arria II Devices Arria II Operational Mode Descriptions If both the rounding and saturation logic units are used for an accumulation type of operation, the format is: Result = SAT[RND[∑(A × B)]] DSP Block Control Signals You can configure the Arria II DSP block with a set of static and dynamic signals. At run time, you can configure the DSP block dynamic signals to toggle or not. Table 4–9 shows a list of dynamic signals for the DSP block. Table 4–9 lists the DSP block dynamic signals. Table 4–9. DSP Block Dynamic Signals for DSP Block in Arria II Devices (Part 1 of 2) Signal Name Function Count DSP Block Dynamic Signals per Half-DSP Block Signed/unsigned control for all multipliers and adders. signa for “multiplicand” input bus to dataa[17:0] each multiplier. signb for “multiplier” input bus datab[17:0] to each multiplier. signa signb 2 ■ 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 Round control for first stage round/saturation block. output_round ■ output_round = 1 for rounding on multiply output ■ output_round = 0 for normal multiply output 1 Round control for second stage round/saturation block. chainout_round output_saturate chainout_saturate ■ chainout_round = 1 for rounding on multiply output ■ chainout_round = 0 for normal multiply output 1 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 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 1 Dynamically specifies whether the accumulator value is zero. accum_sload ■ 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 Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation Chapter 4: DSP Blocks in Arria II Devices Software Support for Arria II Devices 4–31 Table 4–9. DSP Block Dynamic Signals for DSP Block in Arria II Devices (Part 2 of 2) Signal Name Function Count shift_right = 1, shift right feature is enabled shift_right 1 DSP Block Dynamic Signals per Full-DSP Block clock0 clock1 DSP-block-wide clock signals 4 Input and Pipeline Register enable signals 4 DSP block-wide asynchronous clear signals (active low) 4 clock2 clock3 ena0 ena1 ena2 ena3 aclr0 aclr1 aclr2 aclr3 Total Count per Half- and Full-DSP Blocks 33 Software Support for Arria II Devices Altera provides two distinct methods for implementing various modes of the DSP block in a design: instantiation and inference. Both methods use the following Quartus II megafunctions: ■ LPM_MULT ■ ALTMULT_ADD ■ ALTMULT_ACCUM ■ ALTFP_MULT You can instantiate the megafunctions in the Quartus II software to use the DSP block. Alternatively, with inference, you can create an HDL design and synthesize it with a third-party synthesis tool (such as LeonardoSpectrum, Synplify, or Quartus II Native Synthesis) that infers the appropriate megafunction by recognizing multipliers, multiplier adders, multiplier accumulators, and shift functions. With either method, the Quartus II software maps the functionality to the DSP blocks during compilation. f For instructions about using the megafunctions and the MegaWizard Plug-In Manager, refer to the Quartus II Software Help. f For more information, refer to Section III: Synthesis in volume 1 of the Quartus II Handbook. December 2010 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 4–32 Chapter 4: DSP Blocks in Arria II Devices Document Revision History Document Revision History Table 4–10 shows the revision history for this document. Table 4–10. Document Revision History Date December 2010 Version Changes ■ Updated for the Quartus II software version 10.1 release. ■ Added Arria II GZ devices information. ■ Updated “DSP Block Overview”, “Operational Modes Overview”, and “DSP Block Resource Descriptions” sections. ■ Updated Table 4–1 ■ Added Figure 4–3, Figure 4–7, Figure 4–11, and Figure 4–15 ■ Minor text edits 4.0 Updated for the Arria II GX v10.0 release: July 2010 3.0 ■ Updated “DSP Block Resource Descriptions” and “Second-Stage Adder” sections ■ Minor text edits Updated for Arria II GX v9.1 release: November 2009 2.0 ■ Updated Table 4–1 and Table 4–9 ■ Updated Figure 4–9 ■ Minor text edit June 2009 1.1 Updated Table 4–1 February 2009 1.0 Initial release Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2010 Altera Corporation 5. Clock Networks and PLLs in Arria II Devices July 2012 AIIGX51005-4.2 AIIGX51005-4.2 This chapter describes the hierarchical clock networks and phase-locked loops (PLLs) which have advanced features in Arria® II devices that provide dedicated global clock networks (GCLKs), regional clock networks (RCLKs), and periphery clock networks (PCLKs). This chapter also includes details reconfiguring the PLL counter clock frequency and phase shift in real time, allowing you to sweep PLL output frequencies and dynamically adjust the output clock phase shift. This chapter contains the following sections: ■ “Clock Networks in Arria II Devices” on page 5–1 ■ “PLLs in Arria II Devices” on page 5–22 Clock Networks in Arria II Devices The GCLKs, RCLKs, and PCLKs available in Arria II devices are organized into hierarchical clock structures that provide up to 192 unique clock domains (16 GCLK + 88 RCLK + 88 PCLK) and allow up to 60 unique GCLK, RCLK, and PCLK clock sources (16 GCLK + 22 RCLK + 22 PCLK) per device quadrant. © 2012 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Subscribe 5–2 Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices Table 5–1 lists the clock resources available in Arria II devices. Table 5–1. Clock Resources in Arria II Devices Clock Resource and Device Clock input pins GCLK networks Number of Resources Available Source of Clock Resource Arria II GX Arria II GZ Arria II GX Arria II GZ 12 Single-ended (6 Differential) 32 Single-ended (16 Differential) CLK[4..15], DIFFCLK_[0..5]p/n pins CLK[0..15]p andCLK[0..15] n pins 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 CLK[0..15]p and CLK[0..15]n pins, PLL clock outputs, and logic array 16 RCLK networks 48 64/88 (1) CLK[4..15] pins, PLL clock outputs, PLD-transceiver interface clocks, 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. Arria II GX devices have up to 12 dedicated single-ended clock pins or six dedicated differential clock pins (DIFFCLK_[0..5]p and DIFFCLK_[0..5]n) that can drive either the GCLK or RCLK networks. These clock pins are arranged on the three sides (top, bottom, and right sides) of the Arria II GX device, as shown in Figure 5–1 on page 5–4 and Figure 5–3 on page 5–6. Arria II GZ devices have up to 32 dedicated single-ended clock pins or 16 dedicated differential clock pins (CLK[0..15]p and CLK[0..15]n) that can drive either the GCLK or RCLK networks. These clock pins are arranged on the four sides of the Arria II GZ device, as shown in Figure 5–2 on page 5–5 and Figure 5–4 on page 5–6. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices 5–3 Global Clock Networks Arria II devices provide up to 16 GCLKs that can drive throughout the device, serving as low-skew clock sources for functional blocks such as adaptive logic modules (ALMs), digital signal processing (DSP) blocks, embedded memory blocks, and PLLs. Arria II I/O elements (IOEs) and internal logic can drive GCLKs to create internally generated GCLKs and other high fan-out control signals; for example, synchronous or asynchronous clears and clock enables. Figure 5–1 and Figure 5–2 show CLK pins and PLLs that can drive GCLK networks in Arria II devices. Figure 5–1. GCLK Networks in Arria II GX Devices CLK[12..15] Top Left PLL Top Right PLL PLL_1 PLL_2 GCLK[12..15] GCLK[0..3] (2) GCLK[8..11] PLL_5 (1) Center PLLs PLL_6 (1) CLK[8..11] GCLK[4..7] PLL_3 PLL_4 CLK[4..7] Bottom Left PLL Bottom Right PLL Notes to Figure 5–1: (1) PLL_5 and PLL_6 are only available in EP2AGX95, EP2AGX125, EP2AGX190, and EP2AGX260 devices. (2) Because there are no dedicated clock pins on the left side of an Arria II GX device, GCLK[0..3] are not driven by any clock pins. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–4 Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices Figure 5–2. GCLK Networks in Arria II GZ Devices C LK[12..15] T1 T2 GCLK[12..15] CLK[0..3] L2 L3 GCLK[0..3] GCLK[8..11] R2 R3 CLK[8..11] GCLK[4..7] B1 B2 CLK[4..7] Regional Clock Networks For Arria II devices, the RCLK networks only pertain to the quadrant they drive into. RCLK networks provide the lowest clock delay and skew for logic contained in a single device quadrant. Arria II IOEs and internal logic in a given quadrant can also drive RCLKs to create internally generated RCLKs and other high fan-out control signals; for example, synchronous or asynchronous clears and clock enables. Figure 5–3 and Figure 5–4 show CLK pins and PLLs that can drive RCLK networks in Arria II devices. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices 5–5 Figure 5–3. RCLK Networks in Arria II GX Devices Top Left PLL CLK[12..15] Top Right PLL PLL_1 PLL_2 RCLK[36..41] RCLK[42..47] RCLK[0..5] (2) RCLK[30..35] Q1 Q2 Q4 Q3 RCLK[6..11] (2) PLL_5 (1) Center PLLs PLL_6 (1) CLK[8..11] RCLK[24..29] RCLK[12..17] RCLK[18..23] PLL_4 PLL_3 Bottom Left PLL CLK[4..7] Bottom Right PLL Notes to Figure 5–3: (1) PLL_5 and PLL_6 are only available in EP2AGX95, EP2AGX125, EP2AGX190, and EP2AGX260 devices. (2) RCLK[0..5] is not driven by any clock pins because there are no dedicated clock pins on the left side of the Arria II GX devices. Figure 5–4. RCLK Networks in Arria II GZ Devices (Note 1) CLK[12..15] T1 T2 RCLK[54..63] RCLK[44..53] RCLK[0..5] CLK[0..3] RCLK[38..43] L2 Q1 Q2 R2 L3 Q4 Q3 R3 CLK[8..11] RCLK[32..37] RCLK[6..11] RCLK[12..21] RCLK[22..31] B1 B2 CLK[4..7] Note to Figure 5–4: (1) A maximum of four signals from the core can drive into each group of RCLKs. For example, only four core signals can drive into RCLK[0..5] and another four core signals can drive into RCLK[54..63] at any one time. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–6 Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices Periphery Clock Networks PCLK networks are a collection of individual clock networks driven from the periphery of the Arria II device. Clock outputs from the DPA block, PLD-transceiver interface clocks, I/O pins, and internal logic can drive the PCLK networks. Figure 5–5 through Figure 5–8 show CLK pins and PLLs that can drive PCLK networks in Arria II devices. The number of PCLKs for each Arria II device are as follows: ■ EP2AGX45 and EP2AGX65 devices contain 50 PCLKs ■ EP2AGX95 and EP2AGX125 devices contain 59 PCLKs ■ EP2AGX190 and EP2AGX260 devices contain 84 PCLKs ■ EP2AGZ225, EP2AGZ300, and EP2AGZ350 devices contain 88 PCLKs PCLKs have higher skew when compared with the GCLK and RCLK networks. You can use PCLKs instead of general purpose routing to drive signals into the Arria II device. Figure 5–5. PCLK Networks (EP2AGX45 and EP2AGX65 Devices) Top Left PLL CLK[12..15] Top Right PLL PLL_1 PLL_2 PCLK[34..49] PCLK[0..8] Q1 Q2 Q4 Q3 PCLK[9..17] PLL_6 Center PLLs CLK[8..11] PCLK[18..33] PLL_4 Bottom Left PLL PLL_5 PLL_3 CLK[4..7] Arria II Device Handbook Volume 1: Device Interfaces and Integration Bottom Right PLL July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices 5–7 Figure 5–6. PCLK Networks in (EP2AGX95 and EP2AGX125 Devices) Top Left PLL CLK[12..15] Top Right PLL PLL_1 PLL_2 PCLK[43..58] PCLK[0..12] Q1 Q2 Q4 Q3 PLL_5 PLL_6 PCLK[13..26] Center PLLs CLK[8..11] PCLK[27..42] PLL_4 PLL_3 Bottom Left PLL CLK[4..7] Bottom Right PLL Figure 5–7. PCLK Networks in (EP2AGX190 and EP2AGX260 Devices) Top Left PLL CLK[12..15] Top Right PLL PLL_1 PLL_2 PCLK[0..8] PCLK[72..83] PCLK[60..71] PCLK[9..17] Q1 Q2 Q4 Q3 July 2012 Altera Corporation PLL_6 PCLK[18..26] PCLK[48..59] PCLK[27..35] PCLK[36..47] PLL_4 Bottom Left PLL PLL_5 Center PLLs CLK[8..11] PLL_3 CLK[4..7] Bottom Right PLL Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–8 Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices Figure 5–8. PCLK Networks in Arria II GZ Devices CLK[12..15] T1 T2 PCLK[0..10] PCLK[77..87] PCLK[66..76] PCLK[11..21] L2 Q1 Q2 Q4 Q3 R2 CLK[0..3] CLK[8..11] L3 R3 PCLK[22..32] PCLK[55..65] PCLK[33..43] PCLK[44..54] B1 B2 CLK[4..7] [ Clock Sources Per Quadrant There are 26 section clock (SCLK) networks available in each spine clock that can drive six row clocks in each logic array block (LAB) row, nine column I/O clocks, and three core reference clocks. SCLKs are the clock resources to the core functional blocks, PLLs, and I/O interfaces of the device. Figure 5–9 shows that the GCLK, RCLK, PCLK, or PLL feedback clock networks in each spine clock can drive the SCLKs. Figure 5–9. Hierarchical Clock Networks per Spine Clock in Arria II Devices (Note 1) 9 Column I/O clock (5) 16 GCLK 3 PLL feedback clock (2) 16 (3) SCLK 26 2 PCLK Core reference clock (6) 22 (4) RCLK 6 Row clock (7) Notes to Figure 5–9: (1) The GCLK, RCLK, PCLK, and PLL feedback clocks share the same routing to the SCLKs. The total number of clock resources must not exceed the SCLK limits in each region to ensure successful design fitting in the Quartus® II software. (2) There are up to three PLL feedback clocks which are from the PLL that drives into the SCLKs. (3) There are up to 16 PCLKs that can drive the SCLKs in each spine clock in the largest device. (4) There are up to 22 RCLKs (Arria II GZ) or 12 RCLKs (Arria II GX) that can drive the SCLKs in each spine clock in the largest device. (5) The column I/O clock drives the column I/O core registers and I/O interfaces. (6) The core reference clock feeds into the PLL as the PLL reference clock. (7) The row clock is the clock source to the LAB, memory blocks, and row I/O interfaces in the core row. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices 1 5–9 A spine clock is another layer of routing below the GCLKs, RCLKs, and PCLKs before each clock is connected to the clock routing for each LAB row. The settings for spine clocks are transparent. The Quartus II software automatically routes the spine clock based on the GCLK, RCLK, and PCLKs. Clock Regions Arria II GX devices provide up to 64 distinct clock domains (16 GCLKs + 48 RCLKs) in the entire device, while Arria II GZ devices provide up to 104 distinct clock domains (16 GCLKs + 88 RCLKs). Use these clock resources to form the following three types of clock regions: ■ Entire device ■ Regional ■ Dual regional To form the entire device clock region, a source (not necessarily a clock signal) drives a GCLK network that can be routed through the entire device. This clock region has a higher skew when compared with other clock regions, but allows the signal to reach every destination in the device. This is a good option for routing global reset and clear signals or routing clocks throughout the device. To form a regional clock region, a source drives a single-quadrant of the device. This clock region provides the lowest skew in a quadrant and is a good option if all destinations are in a single device quadrant. To form a dual-regional region, a single source (a clock pin or PLL output) generates a dual-regional clock by driving two regional clock networks (one from each quadrant). This technique allows destinations across two device quadrants to use the same low-skew clock. The routing of this signal on an entire side has approximately the same delay as in a regional clock region. Internal logic can also drive a dual-regional clock network. For Arria II GX devices, corner PLL outputs generate a dual-regional clock network through clock multiplexers that serve the two immediate quadrants of the device. For Arria II GZ devices, corner PLL outputs only span one quadrant, they cannot generate a dual-regional clock network. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–10 Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices Figure 5–10 and Figure 5–11 show the dual-regional clock region for Arria II devices. Figure 5–10. Device Dual-Regional Clock Region for Arria II GX Devices Regional clock multiplexers PLL_1 PLL_2 PLL_4 PLL_3 Clock pins or PLL outputs can drive half of the device to create side-wide clocking regions for improved interface timing. Figure 5–11. Device Dual-Regional Clock Region for Arria II GZ Devices Regional clock multiplexer T1 T2 L2 R2 L3 R3 Clock pins or PLL outputs can drive half of the device to create side-wide clocking regions for improved interface timing. B1 B2 Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices 5–11 Clock Network Sources In Arria II GX devices, clock input pins, internal logic, transceiver clocks, and PLL outputs can drive the GCLK and RCLK networks, while in Arria II GZ devices, clock input pins, PLL outputs, and internal logic can drive the GCLK and RCLK networks. Table 5–2 through Table 5–5 on page 5–13 list the connectivity between the dedicated clock pins and the GCLK and RCLK networks. Dedicated Clock Inputs Pins CLK pins can either be differential clocks or single-ended clocks. Arria II GX devices support six differential clock inputs or 12 single-ended clock inputs, while Arria II GZ devices support 16 differential clock inputs or 32 single-ended clock inputs. You can also use the dedicated clock input pins CLK[4..15] (for Arria II GX devices) and CLK[15..0] (for Arria II GZ devices) for high fan-out control signals such as asynchronous clears, presets, and clock enables for protocol signals such as 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. 1 You cannot drive Arria II PLLs by internally generated GCLKs or RCLKs. The input clock to the PLL has to come from dedicated clock input pins or PLL-fed GCLKs and RCLKs only. PLL Clock Outputs Table 5–2 and Table 5–3 list the connection between the dedicated clock input pins and GCLKs. Table 5–2. Clock Input Pin Connectivity to GCLK Networks for Arria II GX Devices CLK (p/n Pins) Clock Resources 4 5 6 7 8 9 10 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) CLK (p/n Pins) Clock Resources 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 GCLK[0..3] v v v v — — — — — — — — — — — — GCLK[4..7] — — — — v v v v — — — — — — — — July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–12 Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices Table 5–3. Clock Input Pin Connectivity to the GCLK Networks for Arria II GZ Devices (Part 2 of 2) CLK (p/n Pins) Clock Resources 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 GCLK[8..11] — — — — — — — — v v v v — — — — GCLK[12..15] — — — — — — — — — — — — v v v v Table 5–4 and Table 5–5 list the connectivity between the dedicated clock input pins and RCLKs in Arria II devices. A given clock input pin can drive two adjacent RCLK networks to create a dual-RCLK network. Table 5–4. Clock Input Pin Connectivity to RCLK Networks for Arria II GX Devices CLK (p/n Pins) Clock Resource 4 5 6 7 8 9 10 11 12 13 14 15 RCLK [12, 14, 16, 18, 20, 22] 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) CLK (p/n Pins) Clock Resource 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 RCLK [0, 4, 6, 10] 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 — — Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices 5–13 Table 5–5. Clock Input Pin Connectivity to the RCLK Networks for Arria II GZ Devices (Part 2 of 2) CLK (p/n Pins) Clock Resource 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 RCLK [45, 49, 53, 55, 59, 63] — — — — — — — — — — — — — — v — RCLK [44, 48, 52, 54, 58, 62] — — — — — — — — — — — — — — — v Clock Input Connections to PLLs Table 5–6 and Table 5–7 list dedicated clock input pin connectivity to Arria II PLLs. Table 5–6. PLLs and PLL Clock Pin Drivers for Arria II GX Devices (Note 1) PLL Number Dedicated Clock Input Pin CLK (p/n Pins) 1 2 3 4 5 6 CLK[4..7] — — v v — — 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] — — — — — — v v 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–14 Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices Clock Output Connections PLLs in Arria II GX devices can drive up to 24 RCLK networks and eight GCLK networks, while PLLs in Arria II GZ devices can drive up to 20 RCLK networks and four GCLK networks. The Quartus II software automatically assigns PLL clock outputs to RCLK or GCLK networks. Table 5–8 and Table 5–9 list the Arria II PLL connectivity to GCLK networks. Table 5–8. PLL Connectivity to GCLKs for Arria II GX Devices PLL Number Clock Network 1 2 3 4 5 6 GCLK[0..3] 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) PLL Number Clock Network L2 L3 B1 B2 R2 R3 T1 T2 GCLK[0..3] v v — — — — — — GCLK[4..7] — — v v — — — — GCLK[8..11] — — — — v v — — GCLK[12..15] — — — — — — v v Note to Table 5–9: (1) Only PLL counter outputs C0 - C3 can drive the GCLK networks. Table 5–10 and Table 5–11 list how the PLL clock outputs connect to RCLK networks. Table 5–10. RCLK Outputs from PLLs for Arria II GX Devices PLL Number Clock Resource 1 2 3 4 5 6 RCLK[0..11] v — — v — — RCLK[12..23] — — v v — — RCLK[24..35] — v v — v v RCLK[36..47] v v — — — — Table 5–11. RCLK Outputs From the PLL Clock Outputs for Arria II GZ Device (Part 1 of 2) PLL Number Clock Resource L2 L3 B1 B2 R2 R3 T1 T2 RCLK[0..11] v v — — — — — — RCLK[12..31] — — v v — — — — Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices 5–15 Table 5–11. RCLK Outputs From the PLL Clock Outputs for Arria II GZ Device (Part 2 of 2) PLL Number Clock Resource L2 L3 B1 B2 R2 R3 T1 T2 RCLK[32..43] — — — — v v — — RCLK[44..63] — — — — — — v v Clock Control Block Every GCLK and RCLK network has its own clock control block. The control block provides the following features: ■ Clock source selection (dynamic selection for GCLKs) ■ GCLK multiplexing ■ Clock power down (static or dynamic clock enable or disable) Figure 5–12 shows the GCLK select blocks for Arria II devices. Figure 5–12. GCLK Control Block for Arria II Devices CLK Pin PLL Counter Outputs (3) CLKSELECT[1..0] (1) 2 2 CLK Pin Inter-Transceiver Block Clock Lines (4) Internal Logic 2 Static Clock Select (2) This multiplexer supports user-controllable dynamic switching Enable/ Disable Internal Logic GCLK Notes to Figure 5–12: (1) You can only dynamically control these clock select signals through internal logic when the device is operating in user mode. (2) These clock select signals can only be set through a configuration file (.sof or .pof) and cannot be dynamically controlled during user mode operation. (3) The left side of the Arria II GX device only allows PLL counter outputs as the dynamic clock source selection to the GCLK network. (4) This is only available on the left side of the Arria II GX device. Select the clock source for the GCLK control block either statically with a setting in the Quartus II software or dynamically with an internal logic to drive the multiplexer select inputs. When selecting the clock source dynamically, you can either select two PLL outputs (such as C0 or C1), or a combination of clock pins or PLL outputs. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–16 Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices Table 5–12 lists the mapping between the input clock pins, PLL counter outputs, and clock control block inputs. Table 5–12. Mapping Between Input Clock Pins, PLL Counter Outputs, and Clock Control Block Inputs for Arria II Devices Clock Control Block Inputs inclk[0], inclk[1] (1) Description Can be fed by any of the four dedicated clock pins on the same side. ■ For Arria II GX device—can be fed by PLL counters 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. ■ 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. inclk[2] inclk[3] 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. 1 When combining the PLL outputs and clock pins in the same clock control block, ensure that these clock sources are implemented on the same side of the device. For all possible legal inclk sources for each GCLK and RCLK network, refer to Table 5–2 on page 5–12 through Table 5–10 on page 5–15. You can statically control the clock source selection for the RCLK select block with configuration bit settings in the configuration file generated by the Quartus II software. You can power down the Arria II clock networks both statically and dynamically. When a clock network is powered down, all the logic fed by the clock network is in an off-state, thereby reducing the overall power consumption of the device. The unused GCLK and RCLK networks are automatically powered down through configuration bit settings in the configuration file generated by the Quartus II software. The dynamic clock enable or disable feature allows the internal logic to control power-up or power-down synchronously on GCLK and RCLK networks. This function is independent of the PLL and is applied directly on the clock network, as shown in Figure 5–12 on page 5–16 through Figure 5–14 on page 5–18. You can set the input clock sources and the 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. 1 When you use the ALTCLKCTRL megafunction to implement dynamic clock source selection in Arria II devices, the inputs from the clock pins, except for the left side of the Arria II GX device, feed the inclk[0..1] ports of the multiplexer, and the PLL outputs feed the inclk[2..3] ports. You can choose from among these inputs with the CLKSELECT[1..0]signal. For the connections between the PLL counter outputs to the clock control block, refer to Table 5–12 on page 5–17. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices 5–17 f For more information, refer to the Clock Control Block (ALTCLKCTRL) Megafunction User Guide. Figure 5–13 and Figure 5–14 show the RCLK select blocks. Figure 5–13. RCLK Control Block for Arria II GX Devices CLK Pin PLL Counter Outputs 2 Internal Logic Static Clock Select (1) Enable/ Disable Internal Logic RCLK Note to Figure 5–13: (1) This clock select signal can only be statically controlled through a configuration file (.sof or .pof) and cannot be dynamically controlled during user mode operation. Figure 5–14. RCLK Control Block for Arria II GZ Devices CLKp Pin PLL Counter Outputs CLKn Pin (2) 2 Internal Logic Static Clock Select (1) Enable/ Disable Internal Logic RCLK Notes to Figure 5–14: (1) When the device is in user mode, you can only set the clock select signals through a configuration file (.sof or .pof). You cannot dynamically control the clock. (2) The CLKn pin is not a dedicated clock input when used as a single-ended PLL clock input. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–18 Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices Figure 5–15 shows the external PLL output clock control block. Figure 5–15. External PLL Output Clock Control Block Arria II Devices PLL Counter Outputs and m Counter n (1) Static Clock Select (2) Enable/ Disable Internal Logic IOE (3) Internal Logic Static Clock Select (2) PLL<#>_CLKOUT pin Notes to Figure 5–15: (1) For Arria II GX devices, n = 8; for Arria II GZ devices, n = 8 or 11. (2) When the device is in user mode, you can only set the clock select signals through a configuration file (.sof or .pof). You cannot dynamically control the clock. (3) The clock control block feeds a multiplexer in the PLL<#>_CLKOUT pin’s IOE. The PLL<#>_CLKOUT pin is a dual-purpose pin. Therefore, this multiplexer selects either an internal signal or the output of the clock control block. Clock Enable Signals Figure 5–16 shows how the clock enable/disable circuit of the clock control block is implemented in Arria II devices. Figure 5–16. clkena Implementation for Arria II Devices (1) (1) clkena output of clock select multiplexer Q D R1 (2) Q D R2 GCLK/ RCLK/ PLL_<#>_CLKOUT (1) Notes to Figure 5–16: (1) The R1 and R2 bypass paths are not available for PLL external clock outputs. (2) The select line is statically controlled by a bit setting in the configuration file (.sof or .pof). Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices 5–19 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. Figure 5–17. clkena Signals for Arria II Devices output of clock select multiplexer clkena output of AND gate with R2 bypassed output of AND gate with R2 not bypassed Note to Figure 5–17: (1) You can use the clkena signals to enable or disable the GCLK and RCLK networks or the PLL<#>_CLKOUT pins. The PLL can remain locked independent of the 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–20 Chapter 5: Clock Networks and PLLs in Arria II Devices Clock Networks in Arria II Devices f For more information about the clock control block and its supported features in the Quartus II software, refer to the Clock Control Block (ALTCLKCTRL) Megafunction User Guide. Figure 5–18. Clock Input Multiplexer Logic for Arria II GX PLLs (1) CLK[n+3..n] (2) GCLK / RCLK input (3) 4 inclk0 To the clock switchover block Adjacent PLL output (1) inclk1 4 Notes to Figure 5–18: (1) Input clock multiplexing is controlled through a configuration file (.sof or .pof) only; it cannot be dynamically controlled when the device is operating in user mode. (2) Dedicated clock input pins to the PLLs: n = 4 for PLL_4; n = 4 or 8 for PLL_3; n = 8 or 12 for PLL_2; and n = 12 for PLL_1. (3) You can drive the GCLK or RCLK clock input with an output from another PLL, a pin-driven GCLK or RCLK, or through a clock control block, provided the clock control block is fed by an output from another PLL or a pin-driven dedicated GCLK or RCLK. An internally generated global signal or general purpose I/O pin cannot drive the PLL. Figure 5–19. Clock Input Multiplexer Logic for Arria II GZ devices (1) clk[n+3..n] (2) 4 inclk0 GCLK / RCLK input (3) To the clock switchover block Adjacent PLL output (1) 4 inclk1 Notes to Figure 5–19: (1) When the device is operating in user mode, input clock multiplexing is controlled through a configuration file (.sof or .pof) only and cannot be dynamically controlled. (2) n = 0 for L2 and L3 PLLs; n = 4 for B1 and B2 PLLs; n = 8 for R2 and R3 PLLs, and n = 12 for T1 and T2 PLLs. (3) You can drive the GCLK or RCLK input using an output from another PLL, a pin-driven GCLK or RCLK, or through a clock control block provided the clock control block is fed by an output from another PLL or a pin-driven dedicated GCLK or RCLK. An internally generated global signal or general purpose I/O pin cannot drive the PLL. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–21 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. f For more information, refer to the “FPGA Fabric PLLs-Transceiver PLLs Cascading” section in the Transceiver Clocking in Arria II Devices chapter. f For more information about PLL cascading in external memory interfaces designs, refer to the External Memory PHY Interface (ALTMEMPHY) (nonAFI) Megafunction User Guide. PLLs in Arria II Devices Arria II GX devices offer up to six PLLs per device and seven outputs per PLL, while Arria II GZ devices offer up to eight PLLs that provide robust clock management and synthesis for device clock management, external system clock management, and high-speed I/O interfaces. The nomenclature for the PLLs follows their geographical location in the device floor plan. For the location and number of PLLs in Arria II devices, refer to Figure 5–1 on page 5–4 through Figure 5–4 on page 5–6. 1 Depending on the package, Arria II GX devices offer up to eight transceiver transmitter (TX) PLLs per device that can be used by the FPGA fabric if they are not used by the transceiver. f For more information about the number of general-purpose and transceiver TX PLLs in each device density, refer to the Overview for Arria II Device Family chapter. For more information about using the transceiver TX PLLs in the transceiver block, refer to the Transceiver Clocking in Arria II Devices chapter. All Arria II PLLs have the same core analog structure and support features with minor differences in the features that are supported for Arria II GZ devices. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–22 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices Table 5–13 lists the PLL features in Arria II devices. Table 5–13. PLL Features in Arria II Devices Arria II GZ PLLs Feature Arria II GX PLLs Top/Bottom PLLs Left/Right PLLs C (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 No Single-ended or differential Single-ended only Yes (3) Yes (3) Yes (3) Through GCLK and RCLK and dedicated path between adjacent PLLs. Cascading between the general-purpose PLL and transceiver PLL is supported in PLL_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) 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 Down to 96.125 ps (5) Down to 96.125 ps (5) Down to 96.125 ps (5) Yes Yes Yes External feedback input pin Spread-spectrum input clock tracking PLL cascading Compensation modes Phase shift resolution Programmable duty cycle 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–23 PLL Hardware Overview in Arria II Devices Figure 5–20 shows a simplified block diagram of the major components of the Arria II PLL. Figure 5–20. PLL Block Diagram for Arria II Devices To DPA block on Left/Right PLLs Lock Circuit pfdena Casade output to adjacent PLL locked /2, /4 ÷C0 GCLKs ÷n inclk0 inclk1 GCLK/RCLK Clock Switchover Block PFD CP LF 8 VCO ÷2 (2) 8 ÷C1 RCLKs 8 PLL Output Mux 4 Dedicated clock inputs ÷C2 clkswitch clkbad0 ÷C3 clkbad1 activeclock Cascade input from adjacent PLL ÷Cn (1) ÷m External clock outputs DIFFIOCLK from Left/Right PLLs LOAD_EN from Left/Right PLLs FBOUT (3) External memory interface DLL no compensation mode ZDB, External feedback modes LVDS Compensation mode Source Synchronous, normal modes FBIN DIFFIOCLK network GCLK/RCLK network Notes to Figure 5–20: (1) The number of post-scale counters is seven for left and right PLLs and ten for top and bottom PLLs. (2) This is the VCO post-scale counter 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. 1 You can drive the GCLK or RCLK clock input with an output from another PLL, a pin-driven GCLK or RCLK, or through a clock control block, provided the clock control block is fed by an output from another PLL, or a pin driven dedicated GCLK or RCLK. An internally-generated global signal or general purpose I/O (GPIO) pin cannot drive the PLL. PLL Clock I/O Pins For Arria II GX devices, each PLL supports one of the following clock I/O pin configurations: July 2012 ■ 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. Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–24 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices Figure 5–21 shows the clock I/O pins associated with Arria II GX PLLs. Figure 5–21. External Clock Outputs for Arria II GX PLLs Internal Logic C0 C1 C2 Arria II GX PLLs C3 C4 C5 C6 m clkena0 (3) clkena1 (3) PLL<#>_CLKOUT<#>p (1), (2) PLL<#>_CLKOUT<#>n (1), (2) Notes to Figure 5–21: (1) You can feed these clock output pins with any one of the C[6..0],or m counters. (2) The PLL<#>_CLKOUT<#>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. 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 Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–25 Figure 5–22 shows the clock I/O pins associated with the top and bottom PLLs. Figure 5–22. External Clock Outputs for Top and Bottom PLLs in Arria II GZ Devices Notes to Figure 5–22: (1) You can feed these clock output pins using any one of the C[9..0], or 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. 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–26 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices Figure 5–23. External Clock Outputs for Left and Right PLLs in Arria II GZ Devices Internal Logic C0 C1 C2 Left/Right PLLs C3 C4 C5 C6 m(fbout) clkena0 (3) clkena1 (3) PLL_<L2, L3, R2, R3>_CLKOUT0n/FB_CLKOUT0p (1), (2) PLL_<L2, L3, R2, R3>_FB_CLKOUT0p/CLKOUT0n (1), (2) Notes to Figure 5–23: (1) You can feed these clock output pins using any one of the C[6..0], or m counters. (2) The CLKOUT0p and CLKOUT0n pins are dual-purpose I/O pins that you can use as two single-ended outputs or one single-ended output and one external feedback input pin. (3) These external clock enable signals are available only when using the ALTCLKCTRL megafunction. Each pin of a single-ended output pair can either be in-phase or 180° out-of-phase. The Quartus II software places the NOT gate in your design into the IOE to implement a 180° phase with respect to the other pin in the pair. The clock output pin pairs support the same I/O standards as standard output pins, as well as LVDS_E_3R, LVPECL, differential high-speed transceiver logic (HSTL), and differential SSTL. f To determine which I/O standards are supported by the PLL clock input and output pins, refer to the I/O Features in Arria II Devices chapter. Arria II PLLs can also drive out to any regular I/O pin through the GCLK or RCLK network. You can also use the external clock output pins as user I/O pins if you do not require external PLL clocking. However, external clock output pins can support a differential I/O standard that is only driven by a PLL. 1 Regular I/O pins cannot drive the PLL clock input pins. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–27 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: 1 ■ 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. If 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. 1 Altera recommends using the areset and locked signals in your designs to control and observe the status of your PLL. f For more information about the PLL control signals, refer to the ALTPLL Megafunction User Guide. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–28 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices Clock Feedback Modes Arria II PLLs support up to six different clock feedback modes. Each mode allows clock multiplication and division, phase shifting, and programmable duty cycle. Table 5–14 lists the clock feedback modes supported by the Arria II PLLs. Table 5–14. Clock Feedback Mode Availability for Arria II Devices Availability in Arria II GZ Devices Clock Feedback Mode Availability in Arria II GX Devices Top/Bottom PLLs Left/Right PLLs Source-synchronous mode 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) Yes (4) No Yes LVDS compensation 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. 1 Input and output delays are fully compensated by a PLL only when you use the dedicated clock input pins associated with a given PLL as clock sources. For example, when you use PLL_1 (Arria II GX devices) or PLL_T1 (Arria II GZ devices) in normal mode, the clock delays from the input pin to the PLL clock output-to-destination register are fully compensated, provided the clock input pin is one of the following four pins: CLK12, 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–29 Source-Synchronous Mode If data and clock arrive at the same time on the input pins, the same phase relationship is maintained at the clock and data ports of any IOE input register. Figure 5–24 shows an example waveform of the clock and data in source-synchronous mode. This mode is recommended for source-synchronous data transfers. Data and clock signals at the IOE experience similar buffer delays as long as you use the same I/O standard. Figure 5–24. Phase Relationship Between Clock and Data in Source-Synchronous Mode in Arria II Devices Data pin PLL reference clock at input pin Data at register Clock at register Source-synchronous mode compensates for the delay of the clock network used plus any difference in the delay between these two paths: ■ Data pin-to-IOE register input ■ Clock input pin-to-the PLL PFD input You can use the PLL Compensation assignment in the Quartus II software Assignment Editor to select which input pins are used as the PLL compensation targets. You can include your entire data bus, provided the input registers are clocked by the same output of a source-synchronous compensated PLL. All input pins must be on the same side of the device for the clock delay to be properly compensated. The PLL compensates for the input pin with the longest pad-to-register delay among all input pins in the compensated bus. If you do not assign the PLL Compensation assignment, the Quartus II software automatically selects all pins driven by the compensated output of the PLL as the compensation target. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–30 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices Source-Synchronous Mode for LVDS Compensation The goal of source-synchronous mode for LVDS compensation is to maintain the same data and clock timing relationship seen at the pins at the internal serializer/deserializer (SERDES) capture register, except that the clock is inverted (180° phase shift), as shown in Figure 5–25. Thus, this mode ideally compensates for the delay of the LVDS clock network plus any difference in the delay between these two paths: ■ Data pin-to-SERDES capture register ■ Clock input pin-to-SERDES capture register. In addition, the output counter must provide the 180° phase shift. Figure 5–25. Source-Synchronous Mode for LVDS Compensation for Arria II Devices Data pin PLL reference clock at input pin Data at register Clock at register No-Compensation Mode In no-compensation mode, the PLL does not compensate for the clock networks. This mode provides better jitter performance because the clock feedback into the PFD passes through less circuitry. Both the PLL internal and external clock outputs are phase-shifted with respect to the PLL clock input. Figure 5–26 shows an example waveform of the PLL clocks’ phase relationship in no-compensation mode. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–31 Figure 5–26. Phase Relationship Between PLL Clocks in No-Compensation Mode for Arria II Devices Phase Aligned PLL Reference Clock at the Input Pin PLL Clock at the Register Clock Port (1) External PLL Clock Outputs (1) Note to Figure 5–26: (1) The PLL clock outputs can lag the PLL input clocks depending on routine delays. Normal Mode An internal clock in normal mode is phase-aligned to the input clock pin. The external clock output pin has a phase delay relative to the clock input pin if connected in this mode. The Quartus II software TimeQuest Timing Analyzer reports any phase difference between the two. In normal mode, the delay introduced by the GCLK or RCLK network is fully compensated. Figure 5–27 shows an example waveform of the phase relationship of the PLL clocks in normal mode. Figure 5–27. Phase Relationship Between PLL Clocks in Normal Mode for Arria II Devices Phase Aligned PLL Reference Clock at the Input Pin PLL Clock at the Register Clock Port Dedicated PLL Clock Outputs (1) Note to Figure 5–27: (1) The external clock output can lead or lag the PLL internal clock signals. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–32 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices Zero-Delay Buffer Mode In ZDB mode, the external clock output pin is phase-aligned with the clock input pin for zero delay through the device. You must use the same I/O standard on the input and output clocks to guarantee clock alignment at the input and output pins. Zero-delay buffer mode is supported on all Arria II PLLs. You must instantiate a bidirectional I/O pin in the design to serve as the feedback path connecting the 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. 1 The bidirectional I/O pin that you instantiate in your design must always be assigned a single-ended I/O standard. 1 Do not place board traces on the bidirectional I/O pin when using ZDB mode, to avoid signal reflection. Figure 5–28 shows ZDB mode in Arria II GZ PLLs. You cannot use differential I/O standards on the PLL clock input or output pins. Figure 5–28. ZDB Mode in PLLs for Arria II GZ Devices inclk ÷n PFD CP/LF VCO ÷C0 PLL_<#>_CLKOUT# ÷C1 PLL_<#>_CLKOUT# ÷m fbout fbin Arria II Device Handbook Volume 1: Device Interfaces and Integration bidirectional I/O pin July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–33 Figure 5–29 shows an example waveform of the PLL clocks’ phase relationship in ZDB mode. Figure 5–29. Phase Relationship Between PLL Clocks in Zero Delay Buffer Mode for Arria II Devices Phase Aligned PLL Reference Clock at the Input Pin PLL Clock at the Register Clock Port Dedicated PLL Clock Outputs (1) Note to Figure 5–29: (1) The internal PLL clock output can lead or lag the external PLL clock outputs. External Feedback Mode In external feedback mode, the external feedback input pin (fbin) is phase-aligned with the clock input pin, as shown in Figure 5–30. Aligning these clocks allows you to remove clock delay and skew between devices. This mode is supported on all Arria II GZ PLLs. In external feedback mode, the output of the 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–34 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices Figure 5–30 shows an example waveform of the phase relationship between the PLL clocks in external feedback mode. Figure 5–30. Phase Relationship Between the PLL Clocks in External Feedback Mode for Arria II Devices Phase Aligned PLL Reference Clock at the Input Pin PLL Clock at the Register Clock Port (1) Dedicated PLL Clock Outputs (1) fbin Clock Input Pin Note to Figure 5–30: (1) The PLL clock outputs can lead or lag the fbin clock input. Figure 5–31 shows external feedback mode implementation in Arria II GZ devices. Figure 5–31. External Feedback Mode in Arria II GZ Devices inclk ÷n PFD CP/LF VCO PLL_<#>_CLKOUT# ÷C0 PLL_<#>_CLKOUT# ÷C1 ÷m fbout fbin external board trace Clock Multiplication and Division Each Arria II PLL provides clock synthesis for PLL output ports with M/(N post-scale counter) scaling factors. The input clock is divided by a pre-scale factor (n) and is then multiplied by the m feedback factor. The control loop drives the VCO to match fin (M/N). Each output port has a unique post-scale counter that divides down the high-frequency VCO. For multiple PLL outputs with different frequencies, the VCO is set to the least common multiple of the output frequencies that meets its frequency specifications. For example, if output frequencies required from one PLL are 33 and 66 MHz, the Quartus II software sets the VCO to 660 MHz (the least common multiple of 33 and 66 MHz in the VCO range). Then the post-scale counters scale down the VCO frequency for each output port. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–35 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. Figure 5–32. Counter Cascading for Arria II Devices VCO Output C0 VCO Output C1 VCO Output C2 VCO Output C3 VCO Output C4 from preceding post-scale counter VCO Output Cn (1) Note to Figure 5–32: (1) For Arria II GX devices, n = 6. For Arria II GZ devices, n = 6 or 9. When cascading post-scale counters to implement a larger division of the high-frequency VCO clock, the cascaded counters behave as one counter with the product of the individual counter settings. For example, if C0 = 40 and C1 = 20, the cascaded value is C0 C1 = 800. 1 July 2012 Post-scale counter cascading is set in the configuration file. You cannot accomplish post-scale counter cascading with PLL reconfiguration. Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–36 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices Programmable Duty Cycle The programmable duty cycle allows the PLLs to generate clock outputs with a variable duty cycle. This feature is supported on the PLL post-scale counters. The duty-cycle setting is achieved by a low and high time-count setting for the post-scale counters. The Quartus II software uses the frequency input and the required multiply or divide rate to determine the duty cycle choices. The post-scale counter value determines the precision of the duty cycle. The precision is defined by 50% divided by the post-scale counter value. For example, if the 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. Equation 5–1. Fine-Resolution Phase Shifts for Arria II Devices Φfine = 1 T = 8 VCO N 1 = 8fVCO 8MfREF where fREF is the input reference clock frequency. For example, if fREF is 100 MHz, n is 1, and m is 8, then fVCO is 800 MHz and fine equals 156.25 ps. The PLL operating frequency, which is governed by the reference clock frequency and the counter settings, defines this phase shift. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–37 Equation 5–2 shows the coarse-resolution phase shifts are implemented by delaying the start of the counters for a predetermined number of counter clocks. Equation 5–2. Coarse-Resolution Phase Shifts for Arria II Devices Φcoarse = C − 1 (C − 1)N = fVco MfREF 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). Figure 5–33. Delay Insertion with VCO Phase Output and Counter Delay Time for Arria II Devices 1/8 tVCO tVCO 0 45 90 135 180 225 270 315 CLK0 td0-1 CLK1 td0-2 CLK2 Use the coarse- and fine-phase shifts to implement clock delays in Arria II devices. The ALTPLL megafunction allows you to enter the desired VCO phase taps and initial counter value settings through the MegaWizard™ Plug-In Manager in the Quartus II software. Arria II devices support dynamic phase-shifting of VCO phase taps only. The phase shift is reconfigurable any number of times and each phase shift takes about one SCANCLK cycle, allowing you to implement large phase shifts quickly. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–38 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices Programmable Bandwidth PLL bandwidth is the measure of the ability of the PLL to track the input clock and its associated jitter. Arria II PLLs provide advanced control of the PLL bandwidth with the PLL loop’s programmable characteristics, including loop filter and charge pump. The closed-loop gain 3-dB frequency in the PLL determines the PLL bandwidth. The bandwidth is approximately the unity gain point for open loop PLL response. Spread-Spectrum Tracking Arria II devices can accept a spread-spectrum input with typical modulation frequencies. However, the device cannot automatically detect that the input is a spread-spectrum signal. Instead, the input signal looks like deterministic jitter at the input of the PLL. Arria II PLLs can track a spread-spectrum input clock as long as the input jitter is in the PLL input jitter tolerance specification. Arria II devices cannot internally generate spread-spectrum clocks. Clock Switchover The clock switchover feature allows the PLL to switch between two reference input clocks. Use this feature for clock redundancy or for a dual-clock domain application such as in a system that turns on the redundant clock if the previous clock stops running. Your design can perform clock switchover automatically, when the clock is no longer toggling or based on a user control signal (clkswitch). The following clock switchover modes are supported in Arria II PLLs: ■ Automatic switchover—The clock sense circuit monitors the current reference clock and if it stops toggling, automatically switches to the other clock (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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–39 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. Figure 5–34. Automatic Clock Switchover Circuit Block Diagram for Arria II Devices clkbad0 clkbad1 activeclock Switchover State Machine Clock Sense clksw Clock Switch Control Logic clkswitch inclk0 n Counter inclk1 muxout PFD refclk fbclk 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. 1 July 2012 Altera 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. Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–40 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices When you use automatic switchover mode, the clkbad[0] and clkbad[1] signals indicate the status of the two clock inputs. When they are asserted, the clock sense block has detected that the corresponding clock input has stopped toggling. These two signals are not valid if the frequency difference between 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. Figure 5–35. Automatic Switchover Upon Loss of Clock Detection for Arria II Devices inclk0 inclk1 (1) muxout clkbad0 clkbad1 activeclock Note to Figure 5–35: (1) Switchover is enabled on the falling edge of inclk0 or inclk1, depending on which clock is available. In this figure, switchover is enabled on the falling edge of inclk1. Manual Override Mode In automatic switchover with manual override mode, you can use the clkswitch input for user- or system-controlled switch conditions. You can use this mode for same-frequency switchover or to switch between inputs of different frequencies. For example, if 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 Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–41 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. Figure 5–36. Clock Switchover with the clkswitch (Manual) Control for Arria II Devices (Note 1) inclk0 inclk1 muxout clkswitch activeclock clkbad0 clkbad1 Note to Figure 5–36: (1) To start a manual clock switchover event, both inclk0 and inclk1 must be running when the clkswitch signal goes high. 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–42 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices Manual Clock Switchover Mode In manual clock switchover mode, the 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. Figure 5–37. Manual Clock Switchover Circuitry in PLLs for Arria II Devices clkswitch Clock Switch Control Logic inclk0 n Counter PFD inclk1 muxout refclk fbclk f For more information about PLL software support in the Quartus II software, refer to the Phase-Locked Loops (ALTPLL) Megafunction User Guide. Clock Switchover Guidelines Use the following guidelines when implementing clock switchover in Arria II PLLs. ■ Automatic clock switchover requires that the 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. 1 ■ Both 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–43 ■ 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. Figure 5–38. VCO Switchover Operating Frequency for Arria II Devices Primary Clock Stops Running Switchover Occurs VCO Tracks Secondary Clock DFvco ■ Disable the system during clock switchover if it is not tolerant of frequency variations during the PLL resynchronization period. You can use the clkbad[0] and clkbad[1] status signals to turn off the PFD (PFDENA = 0) so the VCO maintains its most recent frequency. You can also use the state machine to switch over to the secondary clock. When the PFD is re-enabled, the output clock-enable signals (clkena) can disable the clock outputs during the switchover and resynchronization period. After the lock indication is stable, the system can re-enable the output clocks. PLL Reconfiguration PLLs use several divide counters and different VCO phase taps to perform frequency synthesis and phase shifts. In Arria II PLLs, you can reconfigure both the counter settings and phase-shift the PLL output clock in real time. You can also change the charge pump and loop filter components, which dynamically affect the PLL bandwidth. You can use these PLL components to update the output-clock frequency and the PLL bandwidth and to phase shift in real time, without reconfiguring the entire Arria II device. The ability to reconfigure the PLL in real time is useful in applications that operate at multiple frequencies. It is also useful in prototyping environments, allowing you to sweep PLL output frequencies and adjust the output-clock phase dynamically. For instance, a system generating test patterns is required to generate and transmit patterns at 75 or 150 MHz, depending on the requirements of the device under test. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–44 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices Reconfiguring the PLL components in real time allows you to switch between two such output frequencies in a few microseconds. You can also use this feature to adjust the clock-to-out (tCO) delays in real time by changing the PLL output clock phase shift. This approach eliminates the requirement to regenerate a configuration file with the new PLL settings. PLL Reconfiguration Hardware Implementation The following PLL components are reconfigurable in real time: ■ Pre-scale counter (N) ■ Feedback counter (M) ■ Post-scale output counters (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) from m counter from n counter LF/K/CP (3) PFD VCO scandata scanclkena configupdate /Ci (2) inclk scandataout /Ci-1 /C2 /C1 /C0 /m /n scandone scanclk Notes to Figure 5–39: (1) The Arria II GX PLLs and Arria II GZ left and right PLLs support C0 to C6 counters. (2) For Arria II GX devices, i = 6. For Arria II GZ devices, i = 6 or 9. (3) This figure shows the corresponding scan register for the K counter in between the scan registers for the charge pump and loop filter. The K counter is physically located after the VCO. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–45 f For more information about the PLL reconfiguration port signals, refer to the Phase Locked-Loops Reconfiguration (ALTPLL_RECONFIG) Megafunction User Guide. 1 The counter settings are updated synchronously to the clock frequency of the individual counters. Therefore, all counters are not simultaneously updated. To reconfigure the PLL counters, follow these steps: 1. Assert the 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 Dn SCANDATA D0 SCANCLK SCANCLKENA SCANDATAOUT Dn_old D0_old Dn CONFIGUPDATE SCANDONE ARESET July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–46 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 1 When you reconfigure the counter clock frequency, you cannot reconfigure the corresponding counter phase shift settings with the same interface. Instead, reconfigure the phase shifts in real time with the dynamic phase shift reconfiguration interface. If you reconfigure the counter frequency, but want to keep the same non-zero phase shift setting (for example, 90°) on the clock output, you must reconfigure the phase shift immediately after reconfiguring the counter clock frequency. Post-Scale Counters (C0 to C9) You can configure the multiply or divide values and duty cycle of post-scale counters in real time. Each counter has an 8-bit high-time setting and an 8-bit low-time setting. The duty cycle is the ratio of output high- or low-time to the total cycle time, which is the sum of the two. Additionally, these counters have two control bits, 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 Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–47 Scan Chain Description Arria II GX PLLs have a 180-bit scan chain. Table 5–15 lists the number of bits for each component of an Arria II GX PLL. Table 5–15. PLL Reprogramming Bits for Arria II GX Devices Number of Bits Block Name Total Counter 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 M 16 2 18 N 16 2 18 Charge Pump Current 0 3 3 VCO Post-Scale divider (K) 1 0 1 Loop Filter Capacitor (3) 0 2 2 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. The length of the scan chain varies for different Arria II GZ PLLs. The top and bottom PLLs have ten post-scale counters and a 234-bit scan chain, while the left and right PLLs have seven post-scale counters and a 180-bit scan chain. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–48 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices Table 5–16 lists the number of bits for each component of a Arria II GZ PLL. Table 5–16 also lists the scan chain order of PLL components for the top and bottom PLLs, which have 10 post-scale counters. The order of bits is the same for the left and right PLLs, but the reconfiguration bits start with the C6 post-scale counter. Table 5–16. Top and Bottom PLL Reprogramming Bits for Arria II GZ Devices Number of Bits Block Name Total Counter 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 M 16 2 18 N 16 2 18 Charge Pump Current 0 3 3 VCO Post-Scale divider (K) 1 0 1 Loop Filter Capacitor (4) 0 2 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–49 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–41. Scan Chain Order of PLL Components for Arria II GX PLLs DATAIN K LF CP LSB MSB C6 C4 C5 N M C0 C3 C2 C1 DATAOUT Figure 5–42 shows the scan chain order of PLL components for the top and bottom Arria II GZ PLLs. Figure 5–42. Scan Chain Order of PLL Components for Top and Bottom of Arria II GZ PLLs (Note 1) DATAIN LF K CP LSB MSB C6 C4 C5 C7 C8 N M C0 C3 C2 C1 DATAOUT C9 Note to Figure 5–43: (1) The left and right PLLs have the same scan chain order. The post-scale counters end at C6. Figure 5–43 shows the scan chain bit-order sequence for post-scale counters in all Arria II PLLs. Figure 5–43. Scan Chain Bit-Order Sequence for Post-Scale Counters in Arria II PLLs DATAOUT July 2012 HB HB HB HB HB HB HB HB 0 1 2 3 4 5 6 7 LB LB LB LB LB LB LB LB 0 1 2 3 4 5 6 7 Altera Corporation rbypass DATAIN rselodd Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–50 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices Charge Pump and Loop Filter You can reconfigure the charge pump and loop filter settings to update the PLL bandwidth in real time. Table 5–17 through Table 5–19 show the possible settings for charge pump current (Icp), loop filter resistor (R), and capacitor (C) values for Arria II PLLs. Table 5–17. charge_pump_current Bit Settings for Arria II Devices CP[2] CP[1] CP[0] Decimal Value for Setting 0 0 0 0 0 0 1 1 0 1 1 3 1 1 1 7 Table 5–18. loop_filter_r Bit Settings for Arria II Devices LFR[4] LFR[3] LFR[2] LFR[1] LFR[0] Decimal Value for Setting 0 0 0 0 0 0 0 0 0 1 1 3 0 0 1 0 0 4 0 1 0 0 0 8 1 0 0 0 0 16 1 0 0 1 1 19 1 0 1 0 0 20 1 1 0 0 0 24 1 1 0 1 1 27 1 1 1 0 0 28 1 1 1 1 0 30 Table 5–19. loop_filter_c Bit Settings for Arria II Devices LFC[1] LFC[0] Decimal Value for Setting 0 0 0 0 1 1 1 1 3 Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–51 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 5–20 lists the settings for bypassing the counters in Arria II PLLs. Table 5–20. PLL Counter Settings for Arria II Devices PLL Scan Chain Bits [0..8] Settings LSB MSB Description 0 (1), X (2) X X X X X X X 1 (3) PLL counter bypassed X X X X X X X X 0 (3) PLL counter not bypassed because bit 8 (MSB) is set to 0 Notes to Table 5–20: (1) For Arria II GX devices. (2) For Arria II GZ devices (3) Counter-bypass bit. f For more information about how to use the PLL scan chain bit settings, refer to the Phase Locked-Loops Reconfiguration (ALTPLL_RECONFIG) Megafunction User Guide. 1 To bypass any of the PLL counters, set the bypass bit to 1, causing the values on the other bits to be ignored. To bypass the VCO post-scale counter (K), set the corresponding bit to 0. Dynamic Phase-Shifting The dynamic phase-shifting feature allows the output phases of individual PLL outputs to be dynamically adjusted relative to each other and to the reference clock without having to send serial data through the scan chain of the corresponding PLL. This feature simplifies the interface and allows you to quickly adjust clock-to-out (tCO) delays by changing the output clock phase-shift in real time. This adjustment is achieved by incrementing or decrementing the VCO phase-tap selection to a given C counter or to the 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 5–21 lists the control signals that are used for dynamic phase-shifting. Table 5–21. Dynamic Phase-Shifting Control Signals for Arria II Devices (Part 1 of 2) Signal Name Description Source Destination 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 July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–52 Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices Table 5–21. Dynamic Phase-Shifting Control Signals for Arria II Devices (Part 2 of 2) Signal Name Description Source Destination 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–22 lists the PLL counter selection based on the corresponding PHASECOUNTERSELECT setting. Table 5–22. Phase Counter Select Mapping for Arria II Devices (Note 1) PHASECOUNTERSELECT[3] [2] 0 0 0 0 0 0 0 [1] [0] Selects 0 0 All Output Counters 0 1 M Counter 1 0 C0 Counter 0 1 1 C1 Counter 0 1 0 0 C2 Counter 0 1 0 1 C3 Counter 0 1 1 0 C4 Counter 0 1 1 1 C5 Counter 1 0 0 0 C6 Counter 1 0 0 1 C7 Counter 1 0 1 0 C8 Counter 1 0 1 1 C9 Counter Note to Table 5–22: (1) C7 to C9 counter are only available for Arria II GZ devices. 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 5: Clock Networks and PLLs in Arria II Devices PLLs in Arria II Devices 5–53 PHASEUPDOWN and PHASECOUNTERSELECT signals are synchronous to SCANCLK and must meet the tsu and th requirements with respect to the SCANCLK edges. 1 You can repeat dynamic phase-shifting indefinitely. For example, in a design where the VCO frequency is set to 1,000 MHz and the output clock frequency is set to 100 MHz, performing 40 dynamic phase shifts (each one yields 125 ps phase shift) results in shifting the output clock by 180°, in other words, a phase shift of 5 ns. The 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. Figure 5–44. Dynamic Phase Shifting Waveform for Arria II Devices SCANCLK PHASESTEP PHASEUPDOWN PHASECOUNTERSELECT PHASEDONE a b c d PHASEDONE goes low synchronous with SCANCLK t CONFIGPHASE f For more information about the ALTPLL_RECONFIG MegaWizard Plug-In Manager interface, refer to the Phase Locked-Loops Reconfiguration (ALTPLL_RECONFIG) Megafunction User Guide. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 5–54 Chapter 5: Clock Networks and PLLs in Arria II Devices Document Revision History PLL Specifications f For more information about PLL timing specifications, refer to the Device Datasheet for Arria II Devices. Document Revision History Table 5–23 lists the revision history for this chapter. Table 5–23. Document Revision History Date July 2012 June 2011 December 2010 Version 4.2 4.1 Changes Updated “Periphery Clock Networks” section. ■ 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. ■ 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. 4.0 Updated for Arria II GX v10.0 release: July 2010 3.0 ■ Updated “Clock Regions” and “Arria II PLL Hardware Overview” sections. ■ Updated Figure 5–44. ■ Removed sub-regional clock references. ■ Minor text edit. Updated for Arria II GX v9.1 release: November 2009 June 2009 February 2009 2.0 1.1 1.0 ■ Updated Table 5–1. ■ Updated Figure 5–14. ■ Updated the “Periphery Clock (PCLK) Networks” and “Cascading PLLs” sections. ■ Minor text edit. ■ Updated Table 5–8. ■ Updated Figure 5–13 and Figure 5–14. ■ Updated the “PLL Clock I/O Pins” and “PLL Reconfiguration Hardware Implementation” sections. Initial release Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Section II. I/O Interfaces for Arria II Devices This section provides information on Arria® II device I/O features, external memory interfaces, and high-speed differential interfaces with DPA. This section includes the following chapters: ■ Chapter 6, I/O Features in Arria II Devices ■ Chapter 7, External Memory Interfaces in Arria II Devices ■ Chapter 8, High-Speed Differential I/O Interfaces and DPA in Arria II Devices Revision History Refer to each chapter for its own specific revision history. For information on when each chapter was updated, refer to the Chapter Revision Dates section, which appears in this volume. December 2013 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration II–2 Arria II Device Handbook Volume 1: Device Interfaces and Integration Section II: I/O Interfaces for Arria II Devices Revision History December 2013 Altera Corporation 6. I/O Features in Arria II Devices December 2011 AIIGX51006-4.2 AIIGX51006-4.2 This chapter describes how Arria® II devices provide I/O capabilities that allow you to work in compliance with current and emerging I/O standards and requirements. With these device features, you can reduce board design interface costs and increase development flexibility. Package and die enhancements with dynamic termination and output control provide best-in-class signal integrity. Numerous I/O features assist high-speed data transfer into and out of the device, including: ■ Single-ended, non-voltage-referenced, and voltage-referenced I/O standards ■ Low-voltage differential signaling (LVDS), reduced swing differential signal (RSDS), mini-LVDS, high-speed transceiver logic (HSTL), and SSTL ■ Bus LVDS (BLVDS) for Arria II GX devices ■ Programmable output current strength ■ Programmable slew rate ■ Programmable bus-hold ■ Programmable pull-up resistor ■ Open-drain output ■ On-chip series termination (RS OCT) ■ On-chip differential termination (RD OCT) ■ On-chip parallel termination (RT OCT) for Arria II GZ devices ■ Dynamic OCT for Arria II GZ devices ■ Programmable pre-emphasis ■ Programmable voltage output differential (V OD) This chapter includes the following sections: ■ “I/O Standards Support” on page 6–2 ■ “I/O Banks” on page 6–5 ■ “I/O Structure” on page 6–10 ■ “OCT Support” on page 6–19 ■ “Arria II OCT Calibration” on page 6–26 ■ “Termination Schemes for I/O Standards” on page 6–28 ■ “I/O Bank Restrictions” on page 6–36 © 2011 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Subscribe 6–2 Chapter 6: I/O Features in Arria II Devices I/O Standards Support I/O Standards Support Table 6–1 lists the supported I/O standards for Arria II GX devices and the typical values for input and output VCCIO, VCCPD, VREF, and board VTT. Table 6–1. I/O Standards and Voltage Levels for Arria II GX Devices I/O Standard Standard Support VCCIO (V) Input Operation Output Operation VCCPD (V) VREF (V) VTT (V) 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 — (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 SSTL-15 Class I 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 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 — — LVDS Notes to Table 6–1: (1) PCI-X does not meet the PCI-X I-V curve requirement at the linear region. (2) Single-ended SSTL/HSTL, differential SSTL/HSTL, LVDS, LVPECL, and BLVDS input buffers are powered by VCCPD. (3) Differential SSTL/HSTL inputs use LVDS differential input buffers without RD OCT support. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices I/O Standards Support 6–3 Table 6–2 lists the supported I/O standards for Arria II GZ devices and the typical values for input and output VCCIO, VCCPD, VREF, and board VTT. Table 6–2. I/O Standards and Voltage Levels for Arria II GZ Devices (Note 1) (Part 1 of 2) VCCIO (V) I/O Standard Standard Support Input Operation Output Operation Column I/O Banks Row I/O Banks Column I/O Banks Row I/O Banks VCCPD (V) (PreDriver Voltage) (Input Ref Voltage) VTT (V) (Board Termination Voltage) VREF (V) 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 — — 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 3.0-V PCI December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–4 Chapter 6: I/O Features in Arria II Devices I/O Standards Support Table 6–2. I/O Standards and Voltage Levels for Arria II GZ Devices (Note 1) (Part 2 of 2) VCCIO (V) I/O Standard Standard Support Input Operation Output Operation Column I/O Banks Row I/O Banks Column I/O Banks Row I/O Banks VCCPD (V) (PreDriver Voltage) VREF (V) (Input Ref Voltage) VTT (V) (Board Termination Voltage) 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. f For detailed electrical characteristics of each I/O standard, refer to the Device Datasheet for Arria II Devices. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices I/O Banks 6–5 I/O Banks Arria II GX devices contain up to 16 I/O banks as shown in Figure 6–1. The left I/O banks are dedicated for high-speed transceivers. Bank 3C and 8C are dedicated for configuration pins. The rest of the banks are user I/O banks that support all single-ended and differential I/O standards. Figure 6–1. I/0 Banks in Arria II GX Devices (Note 1), (2), (3), (4), (5), (6), (7) Bank 8B Bank 8A Bank 7A Bank 7B GXB3 Bank 6B Bank 8C Bank 6A Bank 5A GXB0 Bank 5B GXB1 GXB2 These I/O Banks Support: 3.3-V LVTTL/LVCMOS, 3.0-V LVTTL/LVCMOS, 2.5-V LVTTL/LVCMOS, 1.8-V LVTTL/LVCMOS, 1.5-V LVCMOS, 1.2-V LVCMOS, True LVDS, Emulated LVDS, BLVDS, RSDS, mini-LVDS, SSTL-2, SSTL-18, SSTL-15, HSTL-18, HSTL-15, HSTL-12, Differential SSTL-2, Differenital SSTL-18, Differential SSTL-15, Differential HSTL-18, Differential HSTL-15, and Differential HSTL-12 Bank 3C Bank 3B Bank 3A Bank 4A Bank 4B Notes to Figure 6–1: (1) Banks GXB0, GXB1, GXB2, and GXB3 are dedicated banks for high-speed transceiver I/Os. (2) Banks 3C and 8C are dedicated configuration banks and do not have user I/O pins. (3) LVDS with DPA is supported at banks 5A, 5B, 6A, and 6B. (4) Differential HSTL and SSTL inputs use LVDS differential input buffers without RD OCT support. (5) Differential HSTL and SSTL outputs are not true differential outputs. They use two single-ended outputs with the second output programmed as inverted. (6) Figure 6–1 is a top view of the silicon die that corresponds to a reverse view for flip chip packages. It is a graphical representation only. (7) The PLL_CLKOUT pin supports only emulated differential I/O standard but not true differential I/O standard. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–6 Chapter 6: I/O Features in Arria II Devices I/O Banks Arria II GZ devices contain up to 20 I/O banks as shown in Figure 6–2. Each I/O bank can support high-performance external memory interfaces with dedicated circuitry. The I/O pins are organized in pairs to support differential standards. Each I/O pin pair can support both differential input and output buffers except the clk[1,3,8,10], PLL_L[1,4]_clk, and PLL_R[1,4]_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) Bank 3B Bank5C I/O banks 4A, 4B & 4C support all single-ended and differential input and output operation. I/O banks 3A, 3B & 3C support all single-ended and differential input and output operation. Bank 3A Bank 5A Bank 2C Row I/O banks support LVTTL, LVCMOS, 2.5-V, 1.8V, 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 3C Bank 4C Bank 4B Bank 4A Notes to Figure 6–2: (1) Differential HSTL and SSTL outputs are not true differential outputs. They use two single-ended outputs with the second output programmed as inverted. (2) Column I/O differential HSTL and SSTL inputs use LVDS differential input buffers without RD OCT support. (3) Column I/O supports LVDS outputs using single-ended buffers and external resistor networks. (4) Column I/O supports PCI/PCI-X with an on-chip clamp diode. Row I/O supports PCI/PCI-X with an external clamp diode. (5) Clock inputs on column I/Os are powered by VCCCLKIN when configured as differential clock inputs. They are powered by VCCIO when configured as single-ended clock inputs. All outputs use the corresponding bank VCCIO. (6) Row I/O supports the true LVDS output buffer. (7) Column and row I/O banks support LVPECL standards for input clock operation. (8) Figure 6–2 is a top view of the silicon die that corresponds to a reverse view for flip chip packages. It is a graphical representation only. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Transceiver Bank GXBR2 I/O banks 7A, 7B & 7C support all single-ended and differential input and output operation. Transceiver Bank GXBR1 Bank 6A Bank 7A Transceiver Bank GXBR0 Bank 1C Bank 7B Bank 7C Bank 6C Bank 1A Bank 8C Bank 8B I/O banks 8A, 8B & 8C support all single-ended and differential input and output operation. Bank 2A Transceiver Bank GXBL0 Transceiver Bank GXBL1 Transceiver Bank GXBL2 Bank 8A Chapter 6: I/O Features in Arria II Devices I/O Banks 6–7 Modular I/O Banks The I/O pins in Arria II devices are arranged in groups called modular I/O banks. Depending on the device densities, the number of I/O banks range from 6 to 20. Table 6–3 and Table 6–4 show the number of I/O pins available in each I/O bank. Table 6–3. Available I/O Pins in Each Arria II GX I/O Bank (Note 1) Bank Package 358-pin Flip Chip UBGA 572-pin Flip Chip FBGA 780-pin Flip Chip FBGA 1152-pin Flip Chip FBGA Device Total 3A 3B 4A 4B 5A 5B 6A 6B 7A 7B 8A 8B EP2AGX45 22 — 38 — 18 — 18 — 38 — 22 — 156 EP2AGX65 22 — 38 — 18 — 18 — 38 — 22 — 156 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 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 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. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–8 Arria II Device Handbook Volume 1: Device Interfaces and Integration Table 6–4. Available I/O Pins in Each Arria II GZ I/O Bank (Note 1) Bank Package Device Total 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 — 28 40 — 30 — — — — 40 — 30 40 — 32 281 EP2AGZ350 — 1 — — 40 — 28 40 — 30 — — — — 40 — 30 40 — 32 281 1152-pin Flip Chip FBGA EP2AGZ225 46 42 — — 40 24 30 40 24 30 — — 46 42 40 24 30 40 24 32 554 EP2AGZ300 46 42 — — 40 24 30 40 24 30 — — 46 42 40 24 30 40 24 32 554 EP2AGZ350 46 42 — — 40 24 30 40 24 30 — — 46 42 40 24 30 40 24 32 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 46 42 48 42 40 24 30 40 24 30 48 42 46 42 40 24 30 40 24 32 734 EP2AGZ350 46 42 48 42 40 24 30 40 24 30 48 42 46 42 40 24 30 40 24 32 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. Altera Corporation Chapter 6: I/O Features in Arria II Devices I/O Banks December 2011 Chapter 6: I/O Features in Arria II Devices I/O Banks 6–9 In Arria II devices, the maximum number of I/O banks per side, excluding the configuration banks, is either four or six, depending on the device density. All Arria II devices support migration across device densities and packages. When migrating between devices with a different number of I/O banks per side, it is the "B" bank that is removed or inserted. For example, when moving from a 12-bank device to an 8-bank device, the banks that are dropped are "B" banks, namely: 3B, 5B, 6B, and 8B. Similarly, when moving from an 8-bank device to a 12-bank device, the banks that are added are "B" banks, namely: 3B, 5B, 6B, and 8B. During migration from a smaller device to a larger device, the bank size increases or remains the same but never decreases. Table 6–5 and Table 6–6 list the pin migration across device densities and packages. Table 6–5. Pin Migration Across Densities in Arria II GX Devices (Note 1) Device Package Pin Type EP2AGX45 EP2AGX65 EP2AGX95 EP2AGX125 EP2AGX190 EP2AGX260 358-pin Flip Chip UBGA I/O 144 144 — — — — Clock 12 12 — — — — XCVR channel 4 4 — — — — 572-pin Flip Chip FBGA I/O 240 240 248 248 — — Clock 12 12 12 12 — — XCVR channel 8 8 8 8 — — 780-pin Flip Chip FBGA I/O 352 352 360 360 360 360 Clock 12 12 12 12 12 12 XCVR channel 8 8 12 12 12 12 1152-pin Flip Chip FBGA I/O — — 440 440 600 600 Clock — — 12 12 12 12 XCVR channel — — 12 12 16 16 Note to Table 6–5: (1) Each transceiver channel consists of two transmit (Tx) pins, two receive (Rx) pins and a transceiver clock pin. Table 6–6. Pin Migration Across Densities in Arria II GZ Devices (Note 1) (Part 1 of 2) Device Package 780-pin Flip Chip FBGA 1152-pin Flip Chip FBGA December 2011 Altera Corporation Pin Type EP2AGZ225 EP2AGZ300 EP2AGZ350 I/O — 280 280 Clock — 1 1 XVCR channel — 16 16 I/O 550 550 550 Clock 4 4 4 XVCR channel 16 16 16 Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–10 Chapter 6: I/O Features in Arria II Devices I/O Structure Table 6–6. Pin Migration Across Densities in Arria II GZ Devices (Note 1) (Part 2 of 2) Device Package Pin Type EP2AGZ225 EP2AGZ300 EP2AGZ350 726 726 726 Clock 8 8 8 XVCR channel 24 24 24 I/O 1517-pin Flip Chip FBGA Note to Table 6–6: (1) Each transceiver channel consists of two Tx pins, two Rx pins and a transceiver clock pin. I/O Structure The I/O element (IOE) in the Arria II devices contains a bidirectional I/O buffer and I/O registers to support a completely embedded bidirectional single data rate (SDR) or double data rate (DDR) transfer. The IOEs are located in I/O blocks around the periphery of the Arria II device. There are up to four IOEs per row I/O block and four IOEs per column I/O block. The row IOEs drive row, column, or direct link interconnects. The column IOEs drive column interconnects. The Arria II bidirectional IOE supports the following features: ■ Programmable input delay ■ Programmable output-current strength ■ Programmable slew rate ■ Programmable bus-hold ■ Programmable pull-up resistor ■ Programmable output delay ■ Open-drain output ■ RS OCT ■ RD OCT ■ RT OCT for Arria II GZ devices ■ Dynamic OCT for Arria II GZ devices ■ PCI clamping diode Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices I/O Structure 6–11 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 OE Register PRN Q D OE from Core Output Enable Pin Delay OE Register D PRN VCCIO Q VCCIO PCI Clamp Output Register D Write Data form Core PRN Q PRN From OCT Calobration Block Output Buffer Output Pin Delay Output Register D Programmable Pull-Up Resistor Programmable Current Strength and Slew Rate Control On-Chip Termination Open Drain Q Input Buffer Input Pin Delay to Input Register To Core To Core Input Pin Delay to internal Cells Input Register D Read Data to Core Bus-Hold Circuit PRN Q Synchronization Registers Input Register D PRN Q Input Register D PRN Q DQS CQn DQS Bus to Input Register Delay clkin December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–12 Chapter 6: I/O Features in Arria II Devices I/O Structure Figure 6–4. IOE Structure for Arria II GZ Devices (Note 1), (2) Firm Core DQS Logic Block OE Register OE from Core 2 Half Data Rate Block D Dynamic OCT Control (2) OE Register D D6_OCT D5_OCT PRN Q VCCIO D5, D6 Delay PRN Q VCCIO PCI Clamp Programmable Pull-Up Resistor Programmable Current Strength and Slew Rate Control Output Register Write Data from Core 4 D Half Data Rate Block PRN Q From OCT Calibration Block Output Buffer D5, D6 Delay On-Chip Termination Output Register D Open Drain PRN Q D2 Delay Input Buffer D3_0 Delay clkout To Core D3_1 Delay To Core Read Data to Core 4 D1 Delay Bus-Hold Circuit Input Register PRN D Q Half Data Rate Block Input Register Input Register PRN D DQS CQn PRN Q D Q D4 Delay clkin Notes to Figure 6–4: (1) The D3_0 and D3_1 delays have the same available settings in the Quartus® II software. (2) One dynamic OCT control is available per DQ/DQS group. f For more information about I/O registers and how they are used for memory applications, refer to the External Memory Interfaces in Arria II Devices chapter. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices I/O Structure 6–13 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 (V CCIO) 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 V CCIO to 3.0 V reduces power consumption. f For more information about the absolute maximum rating and maximum allowed overshoot during transitions, refer to the Devices Datasheet for Arria II Devices chapter. External Memory Interfaces In addition to I/O registers in each IOE, Arria II devices also have dedicated registers and phase-shift circuitry on all I/O banks for interfacing with external memory interfaces. f For more information about external memory interfaces, refer to the External Memory Interfaces in Arria II Devices chapter. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–14 Chapter 6: I/O Features in Arria II Devices I/O Structure High-Speed Differential I/O with DPA Support Arria II devices have the following dedicated circuitry for high-speed differential I/O support: ■ Differential I/O buffer ■ Transmitter serializer ■ Receiver deserializer ■ Data realignment circuitry ■ Dynamic phase aligner (DPA) ■ Synchronizer (FIFO buffer) ■ Phase-locked loops (PLLs) f For more information about DPA support, refer to the High-Speed Differential I/O Interfaces and DPA in Arria II Devices chapter. Programmable Current Strength The output buffer for each Arria II I/O pin has a programmable current-strength control for certain I/O standards. You can use programmable current strength to mitigate the effects of high signal attenuation due to a long transmission line or a legacy backplane. The LVTTL, LVCMOS, SSTL, and HSTL standards have several levels of current strength that you can control. Table 6–7 and Table 6–8 list the programmable current strength settings for Arria II devices. Table 6–7. Programmable Current Strength for Arria II GX Devices (Note 1) (Part 1 of 2) I/O Standard 3.3-V LVTTL (2) 3.3-V LVCMOS (2) IOL / IOH Current Strength Setting (mA) for Top, Bottom, and Right I/O Pins [12], 8, 4 [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 Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices I/O Structure 6–15 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 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 3.3-V LVTTL IOH / IOL Current Strength Setting (mA) for Column I/O Pins IOH / IOL Current Strength Setting (mA) for Row I/O Pins 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. 1 December 2011 Altera recommends performing IBIS or SPICE simulations to determine the right current strength setting for your specific application. Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–16 Chapter 6: I/O Features in Arria II Devices I/O Structure Programmable Slew Rate Control The output buffer for each Arria II device regular- and dual-function I/O pin has a programmable output slew rate control that you can configure for low-noise or high-speed performance. A faster slew rate provides high-speed transitions for high-performance systems. A slow slew rate can help reduce system noise, but adds a nominal delay to the rising and falling edges. Each I/O pin has an individual slew rate control, allowing you to specify the slew rate on a pin-by-pin basis. 1 You cannot use the programmable slew rate feature with RS OCT. Table 6–9 lists the default slew rate settings from the Quartus II software. Table 6–9. Default Slew Rate Settings for Arria II Devices Arria II GX Device Arria II GZ Device Slew Rate Option Default Slew Rate (Fast) Slew Rate Option Default Slew Rate (Fast) 0, 1 1 0, 1, 2, 3 3 1 1 0, 1, 2, 3 3 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 I/O Standard 1.2-V, 1.5-V, 1.8-V, 2.5-V LVCMOS, and 3.3-V LVTTL/LVCMOS (1) SSTL-2, SSTL-18, SSTL-15, HSTL-18, HSTL-15, and HSTL-12 3.0-V PCI/PCI-X Notes to Table 6–9: (1) Programmable slew rate is not supported for 3.3-V LVTTL/LVCMOS in Arria II GX devices. (2) LVDS_E_1R and mini-LVDS_E_1R is not supported in Arria II GX devices. You can use faster slew rates to improve the available timing margin in memory-interface applications or when the output pin has high-capacitive loading. 1 Altera recommends performing IBIS or SPICE simulations to determine the right slew rate setting for your specific application. Open-Drain Output Arria II devices provide an optional open-drain output (equivalent to an open collector output) for each I/O pin. When configured as open drain, the logic value of the output is either high-Z or 0. You must use an external pull-up resistor to pull the high-Z output to logic high. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices I/O Structure 6–17 Bus Hold Each Arria II device I/O pin provides an optional bus-hold feature. Bus-hold circuitry can weakly hold the signal on an I/O pin at its last-driven state. Because the bus-hold feature holds the last-driven state of the pin until the next input signal is present, an external pull-up or pull-down resistor is not required to hold a signal level when the bus is tri-stated. Bus-hold circuitry also pulls non-driven pins away from the input threshold voltage where noise can cause unintended high-frequency switching. You can select this feature individually for each I/O pin. The bus-hold output drives no higher than VCCIO to prevent over-driving signals. If you enable the bus-hold feature, you cannot use the programmable pull-up option. The bus-hold feature is disabled if the I/O pin is configured for differential signals. Bus-hold circuitry uses a resistor with a nominal resistance to weakly pull the last-driven state and is active only after configuration. When going into user mode, the bus-hold circuit captures the value on the pin present at the end of configuration. f For more information about the specific sustaining current driven through this resistor and the overdrive current used to identify the next-driven input level, refer to Device Datasheet for Arria II Devices chapter. Programmable Pull-Up Resistor Each Arria II device I/O pin provides an optional programmable pull-up resistor during user mode. If you enable this feature for an I/O pin, the pull-up resistor weakly holds the I/O to the VCCIO level. Programmable pull-up resistors are only supported on user I/O pins and are not supported on dedicated configuration pins, JTAG pins, or dedicated clock pins. If you enable the programmable pull-up option, you cannot use the bus-hold feature. Programmable Pre-Emphasis Arria II LVDS transmitters support programmable pre-emphasis to compensate the frequency dependent attenuation of the transmission line. For programmable pre-emphasis control, the Quartus II software allows two settings for Arria II GX devices and four settings for Arria II GZ devices. f For more information about programmable pre-emphasis, refer to the High-Speed Differential I/O Interfaces and DPA in Arria II Devices chapter. Programmable Differential Output Voltage Arria II LVDS transmitters support programmable VOD. Programmable V OD settings allow you to adjust output eye height to optimize trace length and power consumption. A higher VOD swing improves voltage margins at the receiver end, while a smaller VOD swing reduces power consumption. f For more information about programmable VOD, refer to the High-Speed Differential I/O Interfaces and DPA in Arria II Devices chapter. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–18 Chapter 6: I/O Features in Arria II Devices I/O Structure MultiVolt I/O Interface Arria II architecture supports the MultiVolt I/O interface feature that allows Arria II devices in all packages to interface with systems of different supply voltages. You can connect the 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 6–10 lists the Arria II MultiVolt I/O support. Table 6–10. MultiVolt I/O Support for Arria II Devices (Note 1) Input Signal (V) Output Signal (V) VCCIO (V) (2) 1.2 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 — v v — — — — v — — — — 1.8 — v v — — — — — v — — — 2.5 — — — v v (3) (4) v (3) (4) — — — v — — 3.0 — — — v v (4) v (4) — — — — v — 3.3 (5) — — — v v (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. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices OCT Support 6–19 OCT Support Arria II devices feature OCT to provide I/O impedance matching and termination capabilities. OCT maintains signal quality, saves board space, and reduces external component costs. Arria II devices support the following features: ■ “RS OCT Without Calibration for Arria II Devices” ■ “RS OCT with Calibration for Arria II Devices” ■ “Left-Shift RS OCT Control for Arria II GZ Devices” ■ “Expanded RS OCT with Calibration for Arria II GZ Devices” ■ “RD OCT for Arria II LVDS Input I/O Standard” ■ “RT OCT with Calibration for Arria II GZ Devices” ■ “Dynamic RS and RT OCT for Single-Ended I/O Standard for Arria II GZ Devices” Arria II devices support OCT in all user I/O banks by selecting one of the OCT I/O standards. Arria II devices support OCT in the same I/O bank with different I/O standards if they use the same VCCIO supply voltage. You can independently configure each I/O buffer in an I/O bank to support OCT or programmable current strength. However, you cannot configure both RS OCT and programmable current strength for the same I/O buffer. A pair of 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. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–20 Chapter 6: I/O Features in Arria II Devices OCT Support The RS shown in Figure 6–5 is the intrinsic impedance of output transistors. The typical RS values are 25 and 50 . Figure 6–5. RS OCT without Calibration for Arria II Devices Arria II GX Driver Series Termination Receiving Device VCCIO RS ZO = 50 RS GND To use OCT for: ■ SSTL Class I standard—select the 50-on-chip series termination setting, thus eliminating the external 25- RS (to match the 50- transmission line). ■ SSTL Class II standard—select the 25- on-chip series termination setting (to match the 50- transmission line and the near-end external 50- pull-up to V TT). 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–6. RS OCT with Calibration for Arria II Devices Arria II Driver Series Termination Receiving Device VCCIO RS ZO = 50 RS GND Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices OCT Support 6–21 Table 6–11 lists the I/O standards that support RS OCT with and without calibration. Table 6–11. RS OCT Selectable I/O Standards With and Without Calibration for Arria II Devices RS OCT Termination Setting I/O Standard 3.3-V LVTTL/LVCMOS (1), (2) 3.0-V LVTTL/LVCMOS 2.5-V LVTTL/LVCMOS 1.8-V LVTTL/LVCMOS 1.5-V LVCMOS Row I/O () Column I/O () 50 50 25 25 50 50 25 25 50 50 25 25 50 50 25 25 50 50 25 (3) 25 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 1.2-V LVCMOS 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. 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 V CCIO. For example, if your application requires 25- and 50- calibrated RS OCT for SSTL-2 Class I and Class II I/O standards, you only need one OCT calibration block with 50- external reference resistors. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–22 Chapter 6: I/O Features in Arria II Devices OCT Support You can enable the left-shift series termination control feature in the ALTIOBUF megafunction in the Quartus II software. The Quartus II software only allows left-shift series termination control for 25- calibrated RS OCT with 50- external reference resistors connected to the RUP and RDN pins. You can only use left-shift series termination control for the I/O standards that support 25- calibrated RS OCT. 1 This feature is automatically enabled if you are using a bidirectional I/O with 25- calibrated RS OCT and 50- RT OCT. f For more information about how to enable the left-shift series termination feature in the ALTIOBUF megafunction, refer to the I/O Buffer (ALTIOBUF) Megafunction User Guide. Expanded RS OCT with Calibration for Arria II GZ Devices OCT calibration circuits always adjust RS OCT to match the external resistors connected to the RUP and RDN pin; however, it is possible to achieve RS OCT values other than the 25- and 50- resistors. Theoretically, if you need a different RS OCT value, you can change the resistance connected to the RUP and RDN pins accordingly. Practically, the RS OCT range that Arria II GZ devices support is limited because of output buffer size and granularity limitations. The Quartus II software only allows discrete RS OCT calibration settings of 25, 40, 50, and 60 . You can select the closest discrete value of RS OCT with calibration settings in the Quartus II software to your system to achieve the closest timing. For example, if you are using 20- RS OCT with calibration in your system, you can select the 25- RS OCT with calibration setting in the Quartus II software to achieve the closest timing. Table 6–12 lists expanded RS OCT with calibration supported in Arria II devices. Use expanded RS OCT with calibration of SSTL and HSTL for impedance matching to improve signal integrity but do not use it to meet the JEDEC standard. Table 6–12. Selectable I/O Standards with Expanded RS OCT with Calibration Range for Arria II GZ Devices Expanded RS OCT Range I/O Standard Row I/O () 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 Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices OCT Support 6–23 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 V CCIO and VCCPD is set to 2.5 V. Arria II GZ column I/O banks and dedicated clock input pairs on the row I/O banks do not support RD OCT. You can enable the Arria II GZ RD OCT in row I/O banks when both the VCCIO and VCCPD is set to 2.5 V. Figure 6–7. Differential Input On-Chip Termination for Arria II Devices Transmitter Receiver ZO = 50 Ω 100 Ω ZO = 50 Ω f For more information about RD OCT, refer to the High-Speed Differential I/O Interfaces and DPA in Arria II Devices chapter. RT OCT with Calibration for Arria II GZ Devices Arria II GZ devices support RT OCT with calibration in all banks. RT OCT with calibration is only supported for input configuration of input and bidirectional pins. Output pin configurations do not support RT OCT with calibration. Figure 6–8 shows RT OCT with calibration. When you use RT OCT, the V CCIO of the bank must match the I/O standard of the pin where the RT OCT is enabled. Figure 6–8. RT OCT with Calibration for Arria II GZ Devices Arria II GZ OCT VCCIO 100 ZO = 50 VREF 100 Transmitter December 2011 Altera Corporation GND Receiver Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–24 Chapter 6: I/O Features in Arria II Devices OCT Support The RT OCT calibration circuit compares the total impedance of the I/O buffer to the external 50- ± 1% resistors connected to the 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. Table 6–13. Selectable I/O Standards with RT OCT with Calibration for Arria II GZ Devices 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 I/O Standard Dynamic RS and RT OCT for Single-Ended I/O Standard for Arria II GZ Devices Arria II GZ devices support on and off dynamic termination, both series and parallel, for a bidirectional I/O in all I/O banks. Figure 6–9 shows the termination schemes supported in Arria II GZ devices. Dynamic parallel termination is enabled only when the bidirectional I/O acts as a receiver and is disabled when it acts as a driver. Similarly, dynamic series termination is enabled only when the bidirectional I/O acts as a driver and is disabled when it acts as a receiver. This feature is useful for terminating any high-performance bidirectional path because signal integrity is optimized depending on the direction of the data. Using dynamic OCT helps save power because device termination is internal instead of external. Termination only switches on during input operation, thus drawing less static power. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices OCT Support 6–25 Figure 6–9. Dynamic RT OCT in Arria II GZ Devices VCCIO VCCIO Transmitter 50 Receiver 100 100 ZO = 50 100 100 50 GND GND Arria II GZ OCT Arria II GZ OCT VCCIO VCCIO 100 100 50 ZO = 50 100 100 50 GND GND Transmitter Receiver Arria II GZ OCT Arria II GZ OCT f For more information about tolerance specifications for OCT with calibration, refer to the Device Datasheet for Arria II Devices chapter. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–26 Chapter 6: I/O Features in Arria II Devices Arria II OCT Calibration Arria II OCT Calibration Arria II GX devices support calibrated RS OCT and Arria II GZ devices support calibrated RS and RT OCT on all I/O pins. You can calibrate the I/O banks with any of the OCT calibration blocks available in the device provided the VCCIO of the I/O bank with the pins using calibrated OCT matches the VCCIO of the I/O bank with the calibration block and its associated RUP and RDN pins. f For more information about the location of the OCT calibration blocks in Arria II devices, refer to the Arria II Device Family Connection Guidelines and Arria II Device Pin-Outs. OCT Calibration Block An OCT calibration block has the same VCCIO as the I/O bank that contains the block. RS OCT calibration is supported on all user I/O banks with different VCCIO voltage standards, up to the number of available OCT calibration blocks. You can configure I/O banks to receive calibrated codes from any OCT calibration block with the same VCCIO. All I/O banks with the same VCCIO can share one OCT calibration block, even if that particular I/O bank has an OCT calibration block. For example, Figure 6–10 shows a group of I/O banks that has the same VCCIO voltage. If a group of I/O banks has the same VCCIO voltage, you can use one OCT calibration block to calibrate the group of I/O banks placed around the periphery. Because banks 3B, 4C, 6C, and 7B have the same VCCIO as bank 7A, you can calibrate all four I/O banks (3B, 4C, 6C, and 7B) with the OCT calibration block (CB7) located in bank 7A. You can enable this by serially shifting out RS OCT calibration codes from the OCT calibration block located in bank 7A to the I/O banks located around the periphery. 1 I/O banks that do not contain calibration blocks share calibration blocks with I/O banks that do contain calibration blocks. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices Arria II OCT Calibration 6–27 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. Bank 7A Bank 7B Bank 7C Bank 8C Bank 8B Bank 8A CB 7 Figure 6–10. Example of Calibrating Multiple I/O Banks with One Shared OCT Calibration Block in Arria II GZ Devices Bank 1A Bank 6A Bank 1C Bank 6C I/O bank with the same VCCIO Arria II GZ Device I/O bank with different VCCIO Bank 4A Bank 4B Bank 4C Bank 5A Bank 3C Bank 2A Bank 3B Bank 5C Bank 3A Bank 2C f For more information about the OCT calibration block, refer to the ALT_OCT Megafunction User Guide. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–28 Chapter 6: I/O Features in Arria II Devices Termination Schemes for I/O Standards Termination Schemes for I/O Standards The following section describes the different termination schemes for I/O standards used in Arria II devices. Single-Ended I/O Standards Termination Voltage-referenced I/O standards require both an input reference voltage (VREF) and a termination voltage (VTT). The reference voltage of the receiving device tracks the termination voltage of the transmitting device. Figure 6–11 shows the details of SSTL I/O termination on Arria II devices. Figure 6–11. SSTL I/O Standard Termination for Arria II Devices Termination SSTL Class I SSTL Class II External On-Board Termination 50 25 50 25 50 VREF Receiver Transmitter Receiver Transmitter VTT VTT VTT 50 OCT Transmit Series OCT 25 50 50 50 50 50 8 VREF VREF Transmitter Receiver VTT Parallel OCT 25 OCT Receive (1) Receiver Transmitter VCCIO 100 25 50 VREF Transmitter Series OCT 25 100 100 Receiver VCCIO 100 100 50 50 100 50 Transmitter VCCIO VCCIO 100 Parallel OCT 100 VREF Receiver VCCIO Series OCT 50 VCCIO 50 100 OCT in BiDirectional Pins (1) 50 50 VREF Series OCT VTT VTT VTT 100 100 100 Series OCT 50 Transmitter Receiver Series OCT 25 Receiver Transmitter Note to Figure 6–11: (1) Applicable to Arria II GZ devices only. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices Termination Schemes for I/O Standards 6–29 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 Termination HSTL Class II HSTL Class I VTT VTT 50 50 50 External On-Board Termination VTT 50 50 VREF VREF Transmitter Receiver Receiver VTT VTT Series OCT 50 Transmitter Series OCT 25 50 50 VREF 50 VREF OCT Transmit Receiver Transmitter Transmitter Receiver VTT VCCIO 100 50 VREF OCT Receive (1) Series OCT 50 Parallel OCT VCCIO 100 50 Series OCT 25 100 Transmitter Parallel OCT 100 Transmitter Receiver VCCIO VCCIO 100 50 100 100 100 Receiver VCCIO VCCIO 50 VREF Transmitter OCT in BiDirectional Pins (1) VTT 50 50 100 50 8 100 100 Series OCT 50 Receiver Transmitter 100 Series OCT 25 Receiver Note to Figure 6–12: (1) Applicable to Arria II GZ devices only. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–30 Chapter 6: I/O Features in Arria II Devices Termination Schemes for I/O Standards Differential I/O Standards Termination Arria II devices support differential SSTL-2 and SSTL-18, differential HSTL-18, HSTL-15, HSTL-12, LVDS, LVPECL, RSDS, and mini-LVDS. Figure 6–13 through Figure 6–14 show the details of various differential I/O terminations on Arria II devices. 1 Differential HSTL and SSTL outputs are not true differential outputs. They use two single-ended outputs with the second output programmed as inverted. Figure 6–13 shows the details of differential SSTL I/O standard termination on Arria II devices. Figure 6–13. Differential SSTL I/O Standard Termination for Arria II Devices Termination Differential SSTL Class II Differential SSTL Class I VTT VTT 50 Ω External On-Board Termination 25 Ω 25 Ω VTT VTT 25 Ω 50 Ω 50 Ω Receiver Differential SSTL Class I R S OCT for Arria II GX Devices Series OCT 25 Ω 50 Ω Z0= 50 Ω Receiver VTT VTT 50 Ω 50 Ω Z0= 50 Ω VTT VTT 50 Ω VTT 50 Ω Z0= 50 Ω 50 Ω Z0= 50 Ω Transmitter Receiver Differential SSTL Class I Receiver Transmitter Differential SSTL Class II Series OCT 50 Ω Parallel OCT 100 VCCIO Z0= 50 R S OCT and R T OCT for Arria II GZ Devices 50 Ω Transmitter Differential SSTL Class II VTT Series OCT 50 Ω 50 Ω 50 Ω 50 Ω 25 Ω Transmitter VTT VTT 50 Ω 50 Ω 50 Ω Z0= 50 100 Series OCT 25 Ω VTT Z0= 50 100 VCCIO GND 100 VTT 50 Z0= 50 100 Parallel OCT 100 VCCIO 50 100 100 VCCIO GND 100 100 GND Transmitter Receiver Arria II Device Handbook Volume 1: Device Interfaces and Integration GND Transmitter Receiver December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices Termination Schemes for I/O Standards 6–31 Figure 6–14 shows the details of differential HSTL I/O standard termination on Arria II devices. Figure 6–14. Differential HSTL I/O Standard Termination for Arria II Devices Termination HSTL Class II HSTL Class I VTT VTT 50 Ω External On-Board Termination VTT VTT 50 Ω 50 Ω 50 Ω 50 Ω 50 Ω 50 Ω Receiver HSTL Class I Series OCT 25 50 Ω Z0= 50 Ω VTT 50 Ω Receiver Differential HSTL Class I 50 Ω Receiver Transmitter Differential HSTL Class II Series OCT 50 Ω Parallel OCT 100 VCCIO Z0= 50 Z0= 50 100 Series OCT 25 Ω VTT Z0= 50 100 VCCIO GND 100 Parallel OCT 100 VCCIO 50 VTT 50 Z0= 50 100 100 100 VCCIO GND 100 100 GND Altera Corporation 50 Ω Z0= 50 Ω Transmitter December 2011 VTT 50 Ω VTT Z0= 50 Ω Transmitter VTT Z0= 50 Ω VTT 50 Ω R S OCT and R T OCT for Arria II GZ Devices Receiver Transmitter HSTL Class II VTT Series OCT 50 Ω 50 Ω 50 Ω 50 Ω Transmitter R S OCT for Arria II GX Devices VTT VTT Receiver GND Transmitter Receiver Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–32 Chapter 6: I/O Features in Arria II Devices Termination Schemes for I/O Standards LVDS The LVDS I/O standard is a differential high-speed, low-voltage swing, low-power, general-purpose I/O (GPIO) interface standard. Arria II LVDS I/O standard requires a 2.5-V V CCIO level. The LVDS input buffer requires 2.5-V VCCPD. LVDS requires a 100- termination resistor between the two signals at the input buffer. Arria II devices provide an optional 100- differential termination resistor in the device with RD OCT. Figure 6–15 shows the details of LVDS termination in Arria II devices. The Arria II GZ RD OCT is only available in the row I/O banks. Figure 6–15. LVDS I/O Standard Termination for Arria II Devices (Note 1) Termination LVDS Differential Outputs Differential Inputs External On-Board Termination 50 Ω 100 Ω 50 Ω Differential Inputs Differential Outputs 50 Ω OCT Receive (True LVDS Output) 100 Ω 50 Ω Arria II OCT OCT Receive (Single-Ended LVDS Output with One-Resistor Network, LVDS_E_1R) (1), (2) Differential Inputs Single-Ended Outputs ≤ 1 inch 50 Ω 100 Ω Rp 50 Ω External Resistor Arria II OCT OCT Receive (Single-Ended LVDS Output with Three Resistor Network, LVDS_E_3R) (1) Single-Ended Outputs Differential Inputs 50 Ω Rs 100 Ω Rp Rs External Resistor 50 Ω Arria II OCT Notes to Figure 6–15: (1) For LVDS output with a three-resistor network, the RS and RP values are 120 and 170 , respectively. For LVDS output with a one-resistor network, the RP value is 120 (2) LVDS_E_1R is available for Arria II GZ devices only. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices Termination Schemes for I/O Standards 6–33 Differential LVPECL Arria II devices support the LVPECL I/O standard on input clock pins only. LVPECL output operation is not supported. LVDS input buffers are used to support LVPECL input operation. AC-coupling is required when the LVPECL common mode voltage of the output buffer is higher than Arria II LVPECL input common mode voltage. Figure 6–16 shows the AC-coupled termination scheme. The 50- resistors used at the receiver end are external to the device. Figure 6–16. LVPECL AC-Coupled Termination LVPECL Output Buffer Arria II LVPECL Input Buffer 0.1 μF 0.1 μF ZO VICM ZO Arria II devices support DC-coupled LVPECL if the LVPECL output common mode voltage is within the Arria II LVPECL input buffer specification (Figure 6–17). Figure 6–17. LVPECL DC-Coupled Termination Arria II LVPECL Input Buffer LVPECL Output Buffer ZO = 50 Ω ZO = 50 Ω 100 Ω RSDS Arria II devices supports true RSDS, RSDS with a one-resistor network, and RSDS with a three-resistor network. Two single-ended output buffers are used for external one- or three-resistor networks, as shown in Figure 6–18. Only Arria II GZ row I/O banks support RSDS output using true LVDS output buffers without an external resistor network. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–34 Chapter 6: I/O Features in Arria II Devices Termination Schemes for I/O Standards mini-LVDS Arria II GX devices support true mini-LVDS with a three-resistor network using two single-ended output buffers for external three-resistor networks. For Arria II GZ devices, use two single-ended output buffers with external one- or three-resistor networks (mini-LVDS_E_1R or mini-LVDS_E_3R). Arria II GZ row I/O banks support mini-LVDS output using true LVDS output buffers without an external resistor network. Figure 6–18 shows the one-resistor and three-resistor topology for RSDS and mini-LVDS I/O standard termination. Figure 6–18. RSDS and mini-LVDS I/O Standard Termination for Arria II Devices (Note 1) Termination One-Resistor Network (RSDS_E_1R and mini-LVDS_E_1R) (2) Three-Resistor Network (RSDS_E_3R and mini-LVDS_E_3R) ≤1 inch External On-Board Termination RP ≤1 inch 50Ω 50Ω RS 100 Ω RP RS Receiver Transmitter RP OCT 50 Ω 50 Ω ≤ 1 inch RS RP RS Transmitter Receiver 100 Ω Receiver 100 Ω Transmitter 50 Ω Transmitter Arria II OCT ≤1 inch 50 Ω Arria II OCT 50 Ω 50 Ω 100 Ω Receiver Notes to Figure 6–18: (1) Rp = 170 and Rs= 120 (2) mini-LVDS_E_1R is applicable for Arria II GZ devices only. A resistor network is required to attenuate the LVDS output-voltage swing to meet RSDS and mini-LVDS specifications. You can modify the three-resistor network values to reduce power or improve the noise margin. The resistor values chosen should satisfy the equation shown in Equation 6–1. Equation 6–1. Resistor Network R RS x P 2 R RS + 1 = 50 Ω P 2 To validate that custom resistor values meet the RSDS requirements, Altera recommends performing additional simulations with IBIS models. f For more information about the RSDS I/O standard, refer to the RSDS Specification from the National Semiconductor website at www.national.com. f For more information about the mini-LVDS I/O standard, see the mini-LVDS Specification from the Texas Instruments website at www.ti.com. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices Design Considerations 6–35 Design Considerations Although Arria II devices feature various I/O capabilities for high-performance and high-speed system designs, there are several other design considerations that require your attention to ensure the success of your designs. I/O Termination This section describes I/O termination requirements for single-ended and differential I/O standards. Single-Ended I/O Standards Although single-ended, non-voltage-referenced I/O standards do not require termination, impedance matching is necessary to reduce reflections and improve signal integrity. Voltage-referenced I/O standards require both an input reference voltage (VREF) and a termination voltage (VTT). The reference voltage of the receiving device tracks the termination voltage of the transmitting device. Each voltage-referenced I/O standard requires a specific termination setup. For example, a proper resistive signal termination scheme is critical in SSTL2 standards to produce a reliable DDR memory system with a superior noise margin. Arria II RS OCT provides the convenience of not using external components. When optimizing OCT for use in typical transmission line environments, the RS OCT impedance must be equal to or less than the transmission line impedance for optimal performance. In ideal applications, setting the RS OCT impedance to match the transmission line impedance avoids reflections. You can also use external pull-up resistors to terminate the voltage-referenced I/O standards such as SSTL and HSTL I/O standards. Differential I/O Standards Differential I/O standards typically require a termination resistor between the two signals at the receiver. The termination resistor must match the differential load impedance of the signal line. Arria II devices provide an optional differential on-chip resistor when you use LVDS. December 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–36 Chapter 6: I/O Features in Arria II Devices Design Considerations I/O Bank Restrictions Each I/O bank can simultaneously support multiple I/O standards. The following sections provide guidelines for mixing non-voltage-referenced and voltage-referenced I/O standards in Arria II devices. Non-Voltage-Referenced Standards Each Arria II device I/O bank has its own 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 V CCIO. 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 V CCIO 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 V CCIO or GND. Each bank can only have a single VCCIO voltage level and a single V REF 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 V CCPD level as the power source. This feature allows you to place voltage-referenced input signals in an I/O bank with a V CCIO 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 V CCIO 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 V REF . Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation Chapter 6: I/O Features in Arria II Devices Document Revision History 6–37 I/O Placement Guidelines This section provides I/O placement guidelines for the programmable I/O standards supported by Arria II devices and includes essential information for designing systems with an Arria II device’s selectable I/O capabilities. 3.3-V, 3.0-V, and 2.5-V LVTTL/LVCMOS Tolerance Guidelines Altera recommends the following techniques when you use 3.3-, 3.0-, and 2.5-V I/O standards to limit overshoot and undershoot at I/O pins: ■ Low drive strength or series termination—the impedance of the I/O driver must be equal to or greater than the board trace impedance to minimize overshoot and undershoot at the un-terminated receiver end. If high driver strength (lower driver impedance) is required, Altera recommends series termination at the driver end (on-chip or off-chip). ■ Output slew rate—Arria II GX devices have two levels and Arria II GZ devices have four levels of slew rate control for single-ended output buffers. Slow slew rate can significantly reduce the overshoot and undershoot in the system at the cost of slightly slower performance. ■ Input clamping diodes—Arria II I/Os have on-chip clamping diodes. These clamping diodes are required for PCI/PCI-X standards and recommended for 3.3-V LVTTL/CMOS standards. ■ When you use clamping diodes, the floating well of the I/O is clamped to VCCIO. As a result, the Arria II device might draw extra input leakage current from the external input driver. This may violate the hot-socket DC- and AC-current specification and increase power consumption. With the clamping diode enabled, the Arria II device supports a maximum DC current of 8 mA. Pin Placement Guideline To validate your pin placement, Altera recommends creating a Quartus II design, entering in your device I/O assignments, and compiling your design. The Quartus II software checks your pin connections with respect to I/O assignment and placement rules to ensure proper device operation. These rules are dependent on device density, package, I/O assignments, voltage assignments, and other factors that are not described in this chapter. Document Revision History Table 6–14 lists the revision history for this chapter. Table 6–14. Document Revision History (Part 1 of 2) Date Version December 2011 June 2011 December 2011 4.2 4.1 Altera Corporation Changes ■ Updated Table 6–2 and Table 6–11. ■ Minor text edits. ■ Updated Table 6–9 and Table 6–10. ■ Updated Figure 6–3 and Figure 6–4. ■ Minor text edits. Arria II Device Handbook Volume 1: Device Interfaces and Integration 6–38 Chapter 6: I/O Features in Arria II Devices Document Revision History Table 6–14. Document Revision History (Part 2 of 2) Date Version Changes Updated for the Quartus II software version 10.1 release: December 2010 4.0 ■ 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. Updated for Arria II GX v10.0 release: July 2010 3.0 ■ Updated Table 6–4, Table 6–5, and Table 6–6. ■ Updated Figure 6–1. ■ Updated “Overview” section. Updated for Arria II GX v9.1 release: October 2009 June 2009 February 2009 2.0 ■ Updated Table 6–2 and Table 6–3. ■ Updated Figure 6–2, Figure 6–13, and Figure 6–14 ■ Minor text edits. ■ 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. 1.1 1.0 Initial release. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2011 Altera Corporation 7. External Memory Interfaces in Arria II Devices June 2011 AIIGX51007-4.1 AIIGX51007-4.1 This chapter describes the hardware features in Arria® II devices that facilitate high-speed memory interfacing for the double data rate (DDR) memory standard including delay-locked loops (DLLs). Memory interfaces also use I/O features such as on-chip termination (OCT), programmable input delay chains, programmable output delay, slew rate adjustment, and programmable drive strength. Arria II devices provide an efficient architecture to quickly and easily fit wide external memory interfaces with their small modular I/O bank structure. The I/Os are designed to provide flexible and high-performance support for existing and emerging external DDR memory standards, such as DDR3, DDR2, DDR SDRAM, QDR II, QDR II+ SRAM, and RLDRAM II. The Arria II FPGA supports DDR external memory on the top, bottom, left, and right I/O banks. The high-performance memory interface solution includes the self-calibrating ALTMEMPHY megafunction and UniPHY Intellectual Property (IP) core, optimized to take advantage of the Arria II I/O structure and the Quartus® II TimeQuest Timing Analyzer. The ALTMEMPHY megafunction and UniPHY IP core provide the total solution for the highest reliable frequency of operation across process, voltage, and temperature (PVT) variations. The ALTMEMPHY megafunction and UniPHY IP core instantiate a phase-locked loop (PLL) and PLL reconfiguration logic to adjust the resynchronization phase shift based on PVT variation. This chapter includes the following sections: ■ “Memory Interfaces Pin Support for Arria II Devices” on page 7–3 ■ “Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface” on page 7–21 ■ “Arria II External Memory Interface Features” on page 7–24 1 Arria II GZ devices only support the UniPHY IP core. Arria II GX devices support the QDR II and QDR II + SRAM controller with the UniPHY IP core, and DDR3, DDR2, and the DDR SDRAM controller with the ALTMEMPHY megafunction. 1 RLDRAM II is only available in Arria II GZ devices. f For more information about any of the above-mentioned features, refer to the I/O Features in Arria II Devices or the Clock Networks and PLLs in Arria II Devices chapter. f For more information about external memory system specifications, implementation, board guidelines, timing analysis, simulation, debug information, ALTMEMPHY megafunction and UniPHY IP core support for Arria II devices, refer to the External Memory Interface Handbook. © 2011 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Subscribe 7–2 Chapter 7: External Memory Interfaces in Arria II Devices Figure 7–1 and Figure 7–2 show the memory interface datapath overview for Arria II GX and Arria II GZ devices, respectively. Figure 7–1. External Memory Interface Datapath Overview for Arria II GX Devices (Note 1) , (2) Memory Arria II GX FPGA DQS Logic Block DLL Postamble Control Circuit Postamble Enable Postamble Clock DQS Enable Circuit 2n Internal Memory (3) 2n Synchronization Registers DDR Input Registers DDR Output and Output Enable Registers 2 Resynchronization Clock DQ Write Clock DQS Write Clock n DQ (Read) (4) n 2n Clock Management and Reset DQS (Read) (4) DDR Output and Output Enable Registers DQ (Write) (4) DQS (Write) (4) Notes to Figure 7–1: (1) You can bypass each register block. (2) Shaded blocks are implemented in the I/O element (IOE). (3) The memory blocks used for each memory interface may differ slightly. (4) These signals may be bidirectional or unidirectional, depending on the memory standard. When bidirectional, the signal is active during both read and write operations. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices 7–3 Figure 7–2. External Memory Interface Datapath Overview for Arria II GZ Devices (Note 1), (2) Memory Arria II GZ FPGA DQS Logic Block DLL Postamble Enable Postamble Control Circuit Postamble Clock 4n DQS Enable Circuit 2n 2n Synchronization Registers Half Data Rate Input Registers DPRAM DQS (Read) (3) DDR Input Registers n DQ (Read) (3) Resynchronization Clock 4n 4 Clock Management and Reset Half-Rate Resynchronization Clock DQ Write Clock n 2n Half Data Rate Output Registers 2 Half Data Rate Output Registers DQ (Write) (3) DDR Output and Output Enable Registers DQS (Write) (3) DDR Output and Output Enable Registers Half-Rate Clock DQS Write Clock Notes to Figure 7–2: (1) You can bypass each register block. (2) The blocks used for each memory interface may differ slightly. The shaded blocks are part of the Arria II GZ IOE. (3) These signals may be bidirectional or unidirectional, depending on the memory standard. When bidirectional, the signal is active during both read and write operations. Memory Interfaces Pin Support for Arria II Devices A typical memory interface requires data (D, Q, or DQ), data strobe (DQS/CQ and DQSn/CQn), address, command, and clock pins. Some memory interfaces use data mask (DM or BWSn) pins to enable write masking. This section describes how Arria II devices support all these pins. 1 If you have more than one clock pair, you must place them in the same DQ group. For example, if you have two clock pairs, you must place both of them in the same ×4 DQS group. f For more information about pin connections, refer to the Arria II Device Family Pin Connection Guidelines. The DDR3, DDR2, DDR SDRAM, and RLDRAM II devices use CK and CK# signals to capture the address and command signals. You can generate these signals to mimic the write-data strobe with Arria II DDR I/O registers (DDIOs) to ensure that timing relationships between the CK/CK# and DQS signals (tDQSS, tDSS, and tDSH in DDR3, DDR2, and DDR SDRAM devices) are met. The QDR II+/QDR II SRAM devices use the same clock (K/K#) to capture the write data, address, and command signals. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–4 Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices f For more information about pin location requirements, which pins to use as memory clock pins, and pin connections between an Arria II device and an external memory device, refer to Section I. Device and Pin Planning in volume 2 of the External Memory Interface Handbook. Memory clock pins in Arria II devices are generated with a DDIO register going to differential output pins (refer to Figure 7–3), marked in the pin table with 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. Figure 7–3. Memory Clock Generation for Arria II Devices (Note 1) FPGA LEs I/O Elements VCC D Q D Q 1 0 mem_clk (2) mem_clk_n (2) System Clock Notes to Figure 7–3: (1) Global or regional clock networks are required for memory output clock generation to minimize jitter. (2) The mem_clk[0] and mem_clk_n[0] pins for DDR3, DDR2, and DDR SDRAM interfaces use the I/O input buffer for feedback; therefore, bidirectional I/O buffers are used for these pins. For memory interfaces with a differential DQS input, the input feedback buffer is configured as differential input; for memory interfaces using a single-ended DQS input, the input buffer is configured as a single-ended input. Using a single-ended input feedback buffer requires that the I/O standard’s VREF voltage is provided to that I/O bank’s VREF 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. 1 Use differential DQS signaling for DDR2 SDRAM interfaces running at 333 MHz. DQ pins can be bidirectional signals, as in DDR3, DDR2, and DDR SDRAM, and RLDRAM II common I/O (CIO) interfaces or unidirectional signals, as in QDR II+, QDR II SRAM, and RLDRAM II separate I/O (SIO) devices. Connect the unidirectional read-data signals to Arria II DQ pins and the unidirectional write-data signals to a different DQ/DQS group than the read DQ/DQS group. The write clocks must be assigned to the DQS/DQSn pins associated to this write DQ/DQS group. Do not use the CQ/CQn pin-pair for write clocks. 1 Using a DQ/DQS group for the write-data signals minimizes output skew and allows vertical migration. Arria II GX devices do not support vertical migration with Arria II GZ devices. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices 7–5 The DQ and DQS pin locations are fixed in the pin table. Memory interface circuitry is available in every Arria II I/O bank that does not support transceivers. All memory interface pins support the I/O standards required to support DDR3, DDR2, DDR SDRAM, QDR II+ and QDR II SRAM, and RLDRAM II devices. Arria II devices support DQ and DQS signals with DQ bus modes of ×4, ×8/×9, ×16/×18, or ×32/×36, although not all devices support DQS bus mode in ×32/×36. The DDR, DDR2, and DDR3 SDRAM interfaces use one DQS pin for each ×8 group; for example, an interface with a ×72 wide interface requires nine DQS pins. When any of these pins are not used for memory interfacing, you can use these pins as user I/Os. Additionally, you can use any DQSn or CQn pins not used for clocking as DQ (data) pins. Table 7–1 lists pin support per DQ/DQS bus mode, including the DQS/CQ and DQSn/CQn pin pair, for Arria II devices. Table 7–1. DQ/DQS Bus Mode Pins for Arria II Devices QVLD (Optional) (1) Typical Number of Data Pins per Group Maximum Number of Data Pins per Group (2) DQSn Support CQn Support Parity or DM (Optional) ×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 Mode 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. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–6 Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices Table 7–2 lists the number of I/O modules and DQ/DQS groups per side of the Arria II GX device. For a more detailed listing of the number of DQ/DQS groups available per bank in each Arria II GX device, refer to Figure 7–4 on page 7–7 through Figure 7–10 on page 7–13. These figures represent the die top view of the Arria II GX device. f For more information about DQ/DQS groups pin-out restriction format, refer to the Arria II Device Family Pin Connection Guidelines. Table 7–2. Number of DQ/DQS Groups and I/O Modules per Side in Arria II GX Devices Device EP2AGX45 EP2AGX65 EP2AGX45 EP2AGX65 EP2AGX95 EP2AGX125 Package 358-Pin Ultra FineLine BGA 572-Pin FineLine BGA Number of DQ/DQS Groups Number of I/O Module (1) ×4 ×8/×9 ×16/×18 ×32/×36 Top/Bottom 3 6 3 1 0 Right 2 4 2 0 0 Top/Bottom 4 8 4 2 0 Figure 7–5 on page 7–8 Right 6 12 6 2 0 Figure 7–6 on page 7–9 Side Refer to Figure 7–4 on page 7–7 Figure 7–7 on page 7–10 EP2AGX45 EP2AGX65 EP2AGX95 EP2AGX125 EP2AGX190 EP2AGX260 780-Pin FineLine BGA Top/Bottom/ Right 7 14 7 3 1 EP2AGX95 EP2AGX125 1152-Pin FineLine BGA Top/Bottom 9 18 9 4 2 Right 8 16 8 4 2 EP2AGX190 EP2AGX260 1152-Pin FineLine BGA Top/Bottom/ Right 12 24 12 6 2 Figure 7–8 on page 7–11 Figure 7–9 on page 7–12 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 lists the number of DQ/DQS groups available per side in each Arria II GZ device. For a more detailed listing of the number of DQ/DQS groups available per bank in each Arria II GZ device, refer to Figure 7–11 through Figure 7–15. These figures represent the die top view of the Arria II GZ device. Table 7–3. Number of DQ/DQS Groups per Side in Arria II GZ Devices (Part 1 of 2) Number of DQ/DQS Groups Device Package Side Refer to ×4 (1) ×8/×9 ×16/×18 ×32/×36 (2) EP2AGZ300 EP2AGZ350 780-pin FineLine BGA Left/Right 0 0 0 0 Top/Bottom 18 8 2 0 EPAGZ225 1152-pin FineLine BGA Left/Right 13 6 2 0 Top/Bottom 26 12 4 0 EP2AGZ300 EP2AGZ350 1152-pin FineLine BGA Left/Right 13 6 2 0 Top/Bottom 26 12 4 2 (3) Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Figure 7–11 on page 7–14 Figure 7–12 on page 7–15 Figure 7–13 on page 7–16 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices 7–7 Table 7–3. Number of DQ/DQS Groups per Side in Arria II GZ Devices (Part 2 of 2) Number of DQ/DQS Groups Device Package EP2AGZ225 1517-pin FineLine BGA EP2AGZ300 EP2AGZ350 1517-pin FineLine BGA Side Refer to ×4 (1) ×8/×9 ×16/×18 ×32/×36 (2) All sides 26 12 4 0 Left/Right 26 12 4 0 Top/Bottom 26 12 4 2 (3) Figure 7–14 on page 7–17 Figure 7–15 on page 7–18 Notes to Table 7–3: (1) Some of the ×4 groups may use RUP and RDN pins. You cannot use these groups if you use the Arria II GZ calibrated OCT feature. (2) To interface with a ×36 QDR II+/QDR II SRAM device in a Arria II GZ FPGA that does not support the ×32/×36 DQ/DQS group, refer to “Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface” on page 7–21. (3) These ×32/×36 DQ/DQS groups have 40 pins instead of 48 pins per group. You cannot place BWSn pins within the same DQ/DQS group as the write data pins because of insufficient pins available. Figure 7–4 through Figure 7–10 show the maximum number of DQ/DQS groups per side of the Arria II GX device. These figures represent the die-top view of the Arria II GX device. Figure 7–4 shows the number of DQ/DQS groups per bank in EP2AGX45 and EP2AGX65 devices in the 358-pin Ultra FineLine BGA (UBGA) package. Figure 7–4. Number of DQ/DQS Groups per Bank in EP2AGX45 and EP2AGX65 Devices in the 358-Pin Ultra Fineline BGA Package (Note 1), (2) I/O Bank 8A 22 User I/Os ×4=2 ×8/×9=1 ×16/×18=0 ×32/×36=0 I/O Bank 7A 38 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 I/O Bank 6A (3) 18 User I/Os ×4=2 ×8/×9=1 ×16/×18=0 ×32/×36=0 EP2AGX45 and EP2AGX65 Devices in the 358-Pin Ultra FineLine BGA I/O Bank 3A 22 User I/Os ×4=2 ×8/×9=1 ×16/×18=0 ×32/×36=0 I/O Bank 5A 18 User I/Os ×4=2 ×8/×9=1 ×16/×18=0 ×32/×36=0 I/O Bank 4A 38 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 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. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–8 Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices Figure 7–5 shows the number of DQ/DQS groups per bank in Arria II GX EP2AGX45 and EP2AGX65 devices in the 572-pin FineLine BGA package. Figure 7–5. Number of DQ/DQS Groups per Bank in EP2AGX45 and EP2AGX65 Devices in the 572-Pin FineLine BGA Package (Note 1), (2) I/O Bank 8A 38 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 I/O Bank 7A 38 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 EP2AGX45 and EP2AGX65 Devices in the 572-Pin FineLine BGA I/O Bank 6A (3) 50 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 ×32/×36=0 I/O Bank 5A 50 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 ×32/×36=0 I/O Bank 3A 38 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 I/O Bank 4A 38 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices 7–9 Figure 7–6 shows the number of DQ/DQS groups per bank in Arria II GX EP2AGX95 and EP2AGX125 devices in the 572-pin FineLine BGA package. Figure 7–6. Number of DQ/DQS Groups per Bank in EP2AGX95 and EP2AGX125 Devices in the 572-Pin FineLine BGA Package (Note 1), (2) I/O Bank 8A 42 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 I/O Bank 7A 38 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 I/O Bank 6A (3) EP2AGX95 and EP2AGX125 Devices in the 572-Pin FineLine BGA 50 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 ×32/×36=0 I/O Bank 5A 50 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 ×32/×36=0 I/O Bank 3A 38 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 I/O Bank 4A 42 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 Notes to Figure 7–6: (1) All I/O pin counts include 12 dedicated clock inputs (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. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–10 Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices Figure 7–7 shows the number of DQ/DQS groups per bank in Arria II GX EP2AGX45 and EP2AGX65 devices in the 780-pin FineLine BGA package. Figure 7–7. Number of DQ/DQS Groups per Bank in EP2AGX45 and EP2AGX65 Devices in the 780-Pin FineLine BGA Package (Note 1) I/O Bank 8A 54 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 ×32/×36=0 I/O Bank 7A 70 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 I/O Bank 6A (2) EP2AGX45 and EP2AGX65 Devices in the 780-Pin FineLine BGA 50 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 ×32/×36=0 I/O Bank 5A 66 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 I/O Bank 3A 54 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 ×32/×36=0 I/O Bank 4A 70 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=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. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices 7–11 Figure 7–8 shows the number of DQ/DQS groups per bank in Arria II GX EP2AGX95, EP2AGX125, EP2AGX190, and EP2AGX260 devices in the 780-pin FineLine BGA package. Figure 7–8. Number of DQ/DQS Groups per Bank in EP2AGX95, EP2AGX125, EP2AGX190 and EP2AGX260 Devices in the 780-Pin FineLine BGA Package (Note 1) I/O Bank 8A 58 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 ×32/×36=0 I/O Bank 7A 70 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 I/O Bank 6A (2) EP2AGX95, EP2AGX125, EP2AGX190, and EP2AGX260 Devices in the 780-Pin FineLine BGA 50 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 ×32/×36=0 I/O Bank 5A 66 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 I/O Bank 3A 54 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 ×32/×36=0 I/O Bank 4A 74 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=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. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–12 Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices Figure 7–9 shows the number of DQ/DQS groups per bank in Arria II GX EP2AGX95 and EP2AGX125 devices in the 1152-pin FineLine BGA package. Figure 7–9. Number of DQ/DQS Groups per Bank in EP2AGX95 and EP2AGX125 Devices in the 1152-Pin FineLine BGA Package (Note 1) I/O Bank 8A 74 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 I/O Bank 7A 70 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 I/O Bank 7B 16 User I/Os ×4=2 ×8/×9=1 ×16/×18=0 ×32/×36=0 I/O Bank 6A (2) EP2AGX95 and EP2AGX125 Devices in the 1152-Pin FineLine BGA 66 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 I/O Bank 5A 66 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 I/O Bank 3A 70 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 I/O Bank 4A 74 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 I/O Bank 4B 16 User I/Os ×4=2 ×8/×9=1 ×16/×18=0 ×32/×36=0 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices 7–13 Figure 7–10 shows the number of DQ/DQS groups per bank in Arria II GX EP2AGX190 and EP2AGX260 devices in the 1152-pin FineLine BGA package. Figure 7–10. Number of DQ/DQS Groups per Bank in EP2AGX190 and EP2AGX260 Devices in the 1152-Pin FineLine BGA Package (Note 1) I/O Bank 8B 32 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 I/O Bank 8A 74 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 I/O Bank 7A 70 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 I/O Bank 7B 32 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 I/O Bank 6B 32 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 I/O Bank 6A (2) 66 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 EP2AGX190 and EP2AGX260 Devices in the 1152-Pin FineLine BGA I/O Bank 5A 66 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 I/O Bank 5B 32 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 I/O Bank 3B 32 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 I/O Bank 3A 70 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 I/O Bank 4A 74 User I/Os ×4=8 ×8/×9=4 ×16/×18=2 ×32/×36=1 I/O Bank 4B 32 User I/Os ×4=4 ×8/×9=2 ×16/×18=1 ×32/×36=0 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. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–14 Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices Figure 7–11 shows the number of DQ/DQS groups per bank in Arria II GZ EP2AGZ300 and EP2AGZ350 devices in the 780-pin FineLine BGA package. Figure 7–11. Number of DQ/DQS Groups per Bank in EP2AGZ300 and EP2AGZ350 Devices in the 780-Pin FineLine BGA Package, (Note 1) DLL0 I/O Bank 8A 40 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 I/O Bank 8C 32 User I/Os ×4=3 ×8/×9=1 ×16/×18=0 I/O Bank 7C 32 User I/Os ×4=3 ×8/×9=1 ×16/×18=0 I/O Bank 7A 40 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 DLL3 EP2AGZ300 and EP2AGZ350 Devices in the 780-Pin FineLine BGA DLL1 I/O Bank 3A I/O Bank 3C 40 User I/Os 32 User I/Os ×4=6 ×4=3 ×8/×9=3 ×8/×9=1 ×16/×18=1 ×16/×18=0 I/O Bank 4C 32 User I/Os ×4=3 ×8/×9=1 ×16/×18=0 I/O Bank 4A 40 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 DLL2 Note to Figure 7–11: (1) EP2AGZ300 and EP2AGZ350 devices do not support ×32/×36 mode. To interface with a ×36 QDR II+/QDR II SRAM device, refer to “Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface” on page 7–21. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices 7–15 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) DLL0 I/O Bank 8A 40 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 I/O Bank 1A 48 User I/Os ×4=7 ×8/×9=3 ×16/×18=1 I/O Bank 8B I/O Bank 8C I/O Bank 7C 24 User I/Os 32 User I/Os 32 User I/Os ×4=3 ×4=3 ×4=4 ×8/×9=1 ×8/×9=1 ×8/×9=2 ×16/×18=0 ×16/×18=0 ×16/×18=1 I/O Bank 7B I/O Bank 7A 24 User I/Os 40 User I/Os ×4=6 ×4=4 ×8/×9=3 ×8/×9=2 ×16/×18=1 ×16/×18=1 EP2AGZ225 Devices in the 1152-Pin FineLine BGA I/O Bank 1C 42 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 DLL1 DLL3 I/O Bank 6A 48 User I/Os ×4=7 ×8/×9=3 ×16/×18=1 I/O Bank 6C 42 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 I/O Bank 3A 40 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 I/O Bank 3B I/O Bank 3C 24 User I/Os 32 User I/Os ×4=3 ×4=4 ×8/×9=1 ×8/×9=2 ×16/×18=0 ×16/×18=1 I/O Bank 4C 32 User I/Os ×4=3 ×8/×9=1 ×16/×18=0 I/O Bank 4B I/O Bank 4A 24 User I/Os 40 User I/Os ×4=6 ×4=4 ×8/×9=3 ×8/×9=2 ×16/×18=1 ×16/×18=1 DLL2 Notes to Figure 7–12: (1) EP2AGZ225 devices do not support the ×32/×36 mode. To interface with a ×36 QDR II+/QDR II SRAM device, refer to “Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface” on page 7–21. (2) You can also use DQS/DQSn pins in some of the ×4 groups as RUP and RDN pins, but you cannot use a ×4 group for memory interfaces if two pins of the ×4 group are used as RUP and RDN pins for OCT calibration. If two pins of a ×4 group are used as RUP and RDN pins for OCT calibration, you can use the ×16/×18 or ×32/×36 groups that include that ×4 group; however, there are restrictions on using ×8/×9 groups that include that ×4 group. (3) All I/O pin counts include dedicated clock inputs that you can use for data inputs. (4) You can also use some of the DQ/DQS pins in I/O Bank 1C as configuration pins. You cannot use a ×4 DQ/DQS group with any of its pin members used for configuration purposes. Ensure that the DQ/DQS groups that you have chosen are not also used for configuration because you may lose up to four ×4 DQ/DQS groups, depending on your configuration scheme. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–16 Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices Figure 7–13 shows the number of DQ/DQS groups per bank in Arria II GZ EP2AGZ300 and EP2AGZ350 devices in the 1152-pin FineLine BGA package. Figure 7–13. Number of DQ/DQS Groups per Bank in EP2AGZ300 and EP2AGZ350 Devices in the 1152-Pin FineLine BGA Package (Note 1), (2), (3) DLL0 I/O Bank 1A 48 User I/Os ×4=7 ×8/×9=3 ×16/×18=1 I/O Bank 1C 42 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 DLL1 I/O Bank 8A I/O Bank 8B 40 User I/Os 24 User I/Os ×4=6 ×4=4 ×8/×9=3 ×8/×9=2 ×16/×18=1 ×16/×18=1 ×32/×36=1 (5) I/O Bank 8C 32 User I/Os I/O Bank 7C 32 User I/Os ×4=3 ×8/×9=1 ×16/×18=0 ×4=3 ×8/×9=1 ×16/×18=0 I/O Bank 7B 24 User I/Os I/O Bank 7A 40 User I/Os ×4=6 ×4=4 ×8/×9=3 ×8/×9=2 ×16/×18=1 ×16/×18=1 ×32/×36=1 (5) I/O Bank 6A 48 User I/Os ×4=7 ×8/×9=3 ×16/×18=1 EP2AGZ300 and EP2AGZ350 Devices in the 1152-Pin FineLine BGA I/O Bank 3A I/O Bank 3B 40 User I/Os 24 User I/Os ×4=6 ×4=4 ×8/×9=3 ×8/×9=2 ×16/×18=1 ×16/×18=1 ×32/×36=1 (5) I/O Bank 3C 32 User I/Os ×4=3 ×8/×9=1 ×16/×18=0 I/O Bank 4C I/O Bank 4B 32 User I/Os 24 User I/Os ×4=4 ×4=3 ×8/×9=2 ×8/×9=1 ×16/×18=1 ×16/×18=0 DLL3 I/O Bank 6C 42 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 I/O Bank 4A 40 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 ×32/×36=1 (5) DLL2 Notes to Figure 7–13: (1) You can also use DQS/DQSn pins in some of the ×4 groups as RUP and RDN pins, but you cannot use a ×4 group for memory interfaces if two pins of the ×4 group are used as RUP and RDN pins for OCT calibration. If two pins of a ×4 group are used as RUP and RDN pins for OCT calibration, you can use the ×16/×18 or ×32/×36 groups that include that ×4 group; however, there are restrictions on using ×8/×9 groups that include that ×4 group. (2) All I/O pin counts include dedicated clock inputs that you can use for data inputs. (3) You can also use some of the DQ/DQS pins in I/O Bank 1C as configuration pins. You cannot use a ×4 DQ/DQS group with any of its pin members used for configuration purposes. Ensure that the DQ/DQS groups that you have chosen are not also used for configuration because you may lose up to four ×4 DQ/DQS groups, depending on your configuration scheme. (4) These ×32/×36 DQ/DQS groups have 40 pins instead of 48 pins per group. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices 7–17 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) DLL0 I/O Bank 8A I/O Bank 8B 40 User I/Os 24 User I/Os ×4=4 ×4=6 ×8/×9=2 ×8/×9=3 ×16/×18=1 ×16/×18=1 I/O Bank 8C 32 User I/Os ×4=3 ×8/×9=1 ×16/×18=0 I/O Bank 7C 32 User I/Os ×4=3 ×8/×9=1 ×16/×18=0 I/O Bank 7B I/O Bank 7A 24 User I/Os 40 User I/Os ×4=6 ×4=4 ×8/×9=3 ×8/×9=2 ×16/×18=1 ×16/×18=1 DLL3 I/O Bank 1A 48 User I/Os ×4=7 ×8/×9=3 ×16/×18=1 I/O Bank 6A 48 User I/Os ×4=7 ×8/×9=3 ×6/×18=1 I/O Bank 1C 42 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 I/O Bank 6C 42 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 EP2AGZ225 Devices in the 1517-Pin FineLine BGA I/O Bank 2C 42 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 I/O Bank 5C 42 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 I/O Bank 2A 48 User I/Os ×4=7 ×8/×9=3 ×16/×18=1 I/O Bank 5A 48 User I/Os ×4=7 ×8/×9=3 ×6/×18=1 DLL1 I/O Bank 3A I/O Bank 3B 40 User I/Os 24 User I/Os ×4=4 ×4=6 ×8/×9=2 ×8/×9=3 ×16/×18=1 ×16/×18=1 I/O Bank 3C I/O Bank 4C I/O Bank 4B I/O Bank 4A 32 User I/Os 32 User I/Os 24 User I/Os 40 User I/Os ×4=4 ×4=6 ×4=3 ×4=3 ×8/×9=2 ×8/×9=3 ×8/×9=1 ×8/×9=1 ×16/×18=1 ×16/×18=1 ×16/×18=0 ×16/×18=0 DLL2 Notes to Figure 7–14: (1) EP2AGZ225 devices do not support ×32/×36 mode. To interface with a ×36 QDR II+/QDR II SRAM device, refer to “Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface” on page 7–21. (2) You can also use DQS/DQSn pins in some of the ×4 groups as RUP and RDN pins, but you cannot use a ×4 group for memory interfaces if two pins of the ×4 group are used as RUP and RDN pins for OCT calibration. If two pins of a ×4 group are used as RUP and RDN pins for OCT calibration, you can use the ×16/×18 or ×32/×36 groups that include that ×4 group, however there are restrictions on using ×8/×9 groups that include that ×4 group. (3) All I/O pin counts include dedicated clock inputs that you can use for data inputs. (4) You can also use some of the DQ/DQS pins in I/O Bank 1C as configuration pins. You cannot use a ×4 DQ/DQS group with any of its pin members used for configuration purposes. Ensure that the DQ/DQS groups that you have chosen are not also used for configuration because you may lose up to four ×4 DQ/DQS groups, depending on your configuration scheme. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–18 Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices Figure 7–15. Number of DQ/DQS Groups per Bank in EP2AGZ300 and EP2AGZ350 Devices in the 1517-Pin FineLine BGA Package (Note 1), (2), (3) I/O Bank 8A I/O Bank 8B 40 User I/Os 24 User I/Os ×4=6 ×4=4 ×8/×9=3 ×8/×9=2 ×16/×18=1 ×32/×36=1 (5) ×16/×18=1 DLL0 I/O Bank 8C I/O Bank 7C 32 User I/Os ×4=3 ×8/×9=1 ×16/×18=0 32 User I/Os ×4=3 ×8/×9=1 ×16//×18=0 I/O Bank 7B I/O Bank 7A 40 User I/Os ×4=6 24 User I/Os ×8/×9=3 ×4=4 ×16/×18=1 ×8/×9=2 ×16/×18=1 ×32/×36=1 (5) DLL3 I/O Bank 1A 48 User I/Os ×4=7 ×8/×9=3 ×16/×18=1 I/O Bank 6A 48 User I/Os ×4=7 ×8/×9=3 ×6/×18=1 I/O Bank 1C 42 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 I/O Bank 6C 42 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 EP2AGZ300 and EP2AGZ350 Devices in the 1517-Pin FineLine BGA I/O Bank 2C 42 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 I/O Bank 5C 42 User I/Os ×4=6 ×8/×9=3 ×16/×18=1 I/O Bank 2A 48 User I/Os ×4=7 ×8/×9=3 ×16/×18=1 I/O Bank 5A 48 User I/Os ×4=7 ×8/×9=3 ×6/×18=1 DLL1 I/O Bank 3A I/O Bank 3B 40 User I/Os 24 User I/Os ×4=6 ×4=4 ×8/×9=3 ×8/×9=2 ×16/×18=1 ×32/×36=1 (5) ×16/×18=1 I/O Bank 3C I/O Bank 4C 32 User I/Os 32 User I/Os ×4=3 ×4=3 ×8/×9=1 ×8/×9=1 ×16/×18=0 ×16/×18=0 I/O Bank 4B I/O Bank 4A 40 User I/Os 24 User I/Os ×4=6 ×4=4 ×8/×9=3 ×8/×9=2 ×16/×18=1 ×16/×18=1 ×32/×36=1 (5) DLL2 Notes to Figure 7–15: (1) You can also use DQS/DQSn pins in some of the ×4 groups as RUP and RDN pins, but you cannot use a ×4 group for memory interfaces if two pins of the ×4 group are used as RUP and RDN pins for OCT calibration. If two pins of a ×4 group are used as RUP and RDN pins for OCT calibration, you can use the ×16/×18 or ×32/×36 groups that include that ×4 group, however there are restrictions on using ×8/×9 groups that include that ×4 group. (2) All I/O pin counts include dedicated clock inputs that you can use for data inputs. (3) You can also use some of the DQ/DQS pins in I/O Bank 1C as configuration pins. You cannot use a ×4 DQ/DQS group with any of its pin members used for configuration purposes. Ensure that the DQ/DQS groups that you have chosen are not also used for configuration because you may lose up to four ×4 DQ/DQS groups, depending on your configuration scheme. (4) These ×32/×36 DQ/DQS groups have 40 pins instead of 48 pins per group. The DQS and DQSn pins are listed in the Arria II pin tables as 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. 1 The parity, DM, BWSn, NWSn, QVLD, and ECC pins are shown as DQ pins in the pin table. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices 7–19 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 DQS24T DQS1T DLL0 PLL1 PLL2 8B 8A 7A 7B DQS1R 6B 6A PLL5 Arria II GX Device PLL6 5A 5B DQS24R 3B 3A 4A 4B PLL3 PLL4 DLL1 DQS24B June 2011 Altera Corporation DQS1B Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–20 Chapter 7: External Memory Interfaces in Arria II Devices Memory Interfaces Pin Support for Arria II Devices The numbering scheme starts from the top-left corner of the device going counter-clockwise in a die top view. Figure 7–17 shows how the DQ/DQS groups are numbered in a die top view of the device. Figure 7–17. DQS Pins in Arria II GZ I/O Banks DQS38T DQS20T DQS19T 8A 8B 8C DLL3 PLL_T2 PLL_L1 PLL_T1 DLL0 DQS1T 7C 7B 7A PLL_R1 DQS34R DQS1L 1A 6A 1B 6B 1C 6C DQS17L DQS18R PLL_R2 PLL_L2 Arria II GZ Device PLL_R3 PLL_L3 DQS18L DQS17R 2C 5C 2B 5B 2A 5A DQS34L DQS1R DLL1 DQS1B 3B 3C DQS19B Arria II Device Handbook Volume 1: Device Interfaces and Integration PLL_B2 3A PLL_B1 PLL_L4 4C 4B PLL_R4 4A DLL2 DQS20B DQS38B June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface 7–21 Using the RUP and RDN Pins in a DQ/DQS Group Used for Memory Interfaces in Arria II GZ Devices You can use the DQS/DQSn pins in some of the ×4 groups as RUP and RDN pins (listed in the pin table). You cannot use a ×4 DQ/DQS group for memory interfaces if any of its pin members are used as RUP and RDN pins for OCT calibration. You may be able to use the ×8/×9 group that includes this ×4 DQ/DQS group, if either of the following applies: ■ You are not using DM pins with your differential DQS pins ■ You are not using complementary or differential DQS pins You can use the ×8/×9 group because a DQ/DQS ×8/×9 group actually comprises 12 pins, because the groups are formed by stitching two DQ/DQS groups in ×4 mode with six pins each (refer to Table 7–1 on page 7–5). A typical ×8 memory interface consists of one DQS, one DM, and eight DQ pins that add up to 10 pins. If you choose your pin assignment carefully, you can use the two extra pins for RUP and RDN. In a DDR3 SDRAM interface, you must use differential DQS, which means that you only have one extra pin. In this case, pick different pin locations for the RUP and RDN pins (for example, in the bank that contains the address and command pins). You cannot use the RUP and RDN pins shared with DQ/DQS group pins when using ×9 QDR II+/QDR II SRAM devices, because the RUP and RDN pins are dual purpose with the CQn pins. In this case, pick different pin locations for RUP and RDN pins to avoid conflict with memory interface pin placement. You have the choice of placing the RUP and RDN pins in the data-write group or in the same bank as the address and command pins. There is no restriction on using ×16/×18 or ×32/×36 DQ/DQS groups that include the ×4 groups whose pins are being used as RUP and RDN pins, because there are enough extra pins that can be used as DQS pins. 1 For ×8, ×16/×18, or ×32/×36 DQ/DQS groups whose members are used for RUP and RDN, you must assign DQS and DQ pins manually. The Quartus® II software might not be able to place DQS and DQ pins without manual pin assignments, resulting in a “no-fit”. Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface This implementation combines ×16/×18 DQ/DQS groups to interface with a ×36 QDR II+/QDR II SRAM device. The ×36 read data bus uses two ×16/×18 groups, and the ×36 write data uses another two ×16/×18 or four ×8/×9 groups. The CQ/CQn signal traces are split on the board trace to connect to two pairs of CQ/CQn pins in the FPGA. This is the only connection on the board that you must change for this implementation. Other QDR II+/QDR II SRAM interface rules for Arria II devices also apply for this implementation. 1 June 2011 The ALTMEMPHY megafunction and UniPHY IP core do not use the QVLD signal, so you can leave the QVLD signal unconnected as in any QDR II+/QDR II SRAM interfaces in Arria II devices. Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–22 Chapter 7: External Memory Interfaces in Arria II Devices Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface f For more information about the ALTMEMPHY megafunction and UniPHY IP core, refer to the External Memory Interface Handbook. 1 Use one side of the device with the ×36 mode emulation interface whenever possible, even though the ×36 group formed by a combination of DQ/DQS groups from the top and bottom I/O banks, or top/bottom I/O bank and left/right I/O banks is supported. Rules to Combine Groups In 572-, 780-, 1152-, and some 1517-pin package devices, there is at most one ×16/×18 group per I/O bank. You can combine two ×16/×18 groups from a single side of the device for a ×36 interface. 358-pin package devices have only one ×16/×18 group in each bank 4A and 7A. You can only form a ×36 interface with these two banks. For devices that do not have four ×16/×18 groups in a single side of the device to form two ×36 groups for read and write data, you can form one ×36 group on one side of the device and another ×36 group on the other side of the device. Altera recommends forming two ×36 groups on column I/O banks (top and bottom) only, although forming a ×36 group from column I/O banks and another ×36 group from row I/O banks for the read and write data buses is supported. For vertical migration with the ×36 emulation implementation, you must check if migration is possible by enabling device migration in the Quartus II project. The Quartus II software also supports the use of four ×8/×9 DQ groups for write data pins and the migration of these groups across device density. 358-pin package devices can only form a ×36 group for write data pin with four ×8/×9 groups. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Combining ×16/×18 DQ/DQS Groups for ×36 QDR II+/QDR II SRAM Interface 7–23 Table 7–4 lists the possible combinations to use two ×16/×18 DQ/DQS groups to form a ×32/×36 group on Arria II devices lacking a native ×32/×36 DQ/DQS group. Table 7–4. Possible Group Combinations in Arria II Devices Device Package 358-Pin Ultra FineLine BGA 572-Pin FineLine BGA Arria II GX 780-Pin FineLine BGA (2) Device Density I/O Bank Combinations ■ EP2AGX45 ■ EP2AGX65 ■ EP2AGX45 ■ EP2AGX65 ■ EP2AGX95 ■ EP2AGX125 ■ EP2AGX45 ■ EP2AGX65 ■ EP2AGX95 ■ EP2AGX125 ■ EP2AGX190 ■ EP2AGX260 ■ EP2AGX95 ■ EP2AGX125 ■ EP2AGX190 ■ EP2AGX260 ■ EP2AGZ300 ■ EP2AGZ350 ■ EP2AGZ225 ■ EP2AGZ300 (4) ■ EP2AGZ350 (4) ■ EP2AGZ225 ■ EP2AGZ300 (4) ■ EP2AGZ350 (4) 4A and 7A (Top and Bottom I/O banks) (1) 7A and 8A (Top I/O banks) 5A and 6A (Right I/O banks) 3A and 4A (Bottom I/O banks) 7A and 8A (Top I/O banks) 5A and 6A (Right I/O banks) 3A and 4A (Bottom I/O banks) 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) 780-Pin FineLine BGA 1152-Pin FineLine BGA Arria II GZ 1517-Pin FineLine BGA Combine any two banks from each side of I/O banks 3A and 4A, 7A and 8A (bottom and top I/O banks) (3) 1A and 1C, 6A and 6C (left and right I/O banks) 3A and 3B, 4A and 4B (bottom I/O banks) 7A and 7B, 8A and 8B (top I/O banks) 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. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–24 Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features Arria II External Memory Interface Features Arria II devices are rich with features that allow robust high-performance external memory interfacing. The Altera® Memory IPs allow you to use these external memory interface features and helps set up the physical interface (PHY) best suited for your system. This section describes each Arria II devices feature that is used in external memory interfaces from the DQS phase-shift circuitry, dynamic OCT control block, and DQS logic block. 1 If you use the Altera memory controller MegaCore® functions, the ALTMEMPHY megafunction and UniPHY IP core are instantiated for you. f For more information about supported external memory IPs, refer to Section III: External Memory Interface System Specification in volume 1 of the External Memory Handbook. DQS Phase-Shift Circuitry Arria II phase-shift circuitry provides phase shift to the DQS/CQ and CQn pins on read transactions when the DQS/CQ and CQn pins are acting as input clocks or strobes to the FPGA. DQS phase-shift circuitry consists of DLLs that are shared between the multiple DQS pins and the phase-offset control module to further fine-tune the DQS phase shift for different sides of the device. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features 7–25 Figure 7–18 and Figure 7–19 show how the DQS phase-shift circuitry is connected to the DQS/CQ and CQn pins in the device where memory interfaces are supported on the top, bottom, and right sides of the Arria II GX device and all sides of the Arria II GZ device. Figure 7–18. DQS/CQ and CQn Pins and DQS Phase-Shift Circuitry for Arria II GX Devices (Note 1) DQS/CQ Pin DLL Reference Clock (2) CQn Pin DQS/CQ Pin CQn Pin DQS Logic Blocks DQS Phase-Shift Circuitry Δt Δt Δt Δt to IOE to IOE to IOE to IOE 6 DQS Logic Blocks 6 to IOE Δt to IOE Δt to IOE Δt to IOE Δt CQn Pin DQS/CQ Pin CQn Pin DQS/CQ Pin 6 6 to IOE Δt CQn Pin to IOE Δt DQS/CQ Pin to IOE to IOE Δt Δt CQn Pin DQS/CQ Pin DQS Phase-Shift Circuitry DLL Reference Clock (2) Notes to Figure 7–18: (1) For possible reference input clock pins for each DLL, refer to “DLL” on page 7–27. (2) You can configure each DQS/CQ and CQn pin with a phase shift based on one of two possible DLL output settings. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–26 Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features Figure 7–19. DQS/CQ and CQn Pins and DQS Phase-Shift Circuitry for Arria II GZ Devices (Note 1) DLL Reference Clock (2) DQS/CQ Pin CQn Pin DQS/CQ Pin CQn Pin DQS Logic Blocks Δt DQS Phase-Shift Circuitry Δt Δt Δt to IOE to IOE to IOE DLL Reference Clock (2) to IOE DQS Phase-Shift Circuitry DQS Logic Blocks DQS/CQ Pin Δt CQn Pin Δt DQS/CQ Pin CQn Pin Δt Δt to IOE to IOE Δt CQn Pin to IOE Δt DQS/CQ Pin to IOE Δt CQn Pin to IOE Δt DQS/CQ Pin to IOE to IOE to IOE DQS Phase-Shift Circuitry to IOE Δt DLL Reference Clock (2) CQn Pin to IOE Δt DQS/CQ Pin to IOE to IOE Δt Δt CQn Pin DQS/CQ Pin DQS Phase-Shift Circuitry DLL Reference Clock (2) Notes to Figure 7–19: (1) For possible reference input clock pins for each DLL, refer to “DLL” on page 7–27. (2) You can configure each DQS/CQ and CQn pin with a phase shift based on one of two possible DLL output settings. DQS phase-shift circuitry is connected to DQS logic blocks that control each DQS/CQ or CQn pin. The DQS logic blocks allow the DQS delay settings to be updated concurrently at every DQS/CQ or CQn pin. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features 7–27 DLL DQS phase-shift circuitry uses a DLL to dynamically control the clock delay required by the DQS/CQ and CQn pins. The DLL, in turn, uses a frequency reference to dynamically generate control signals for the delay chains in each of the DQS/CQ and CQn pins, allowing it to compensate for PVT variations. The DQS delay settings are Gray-coded to reduce jitter when the DLL updates the settings. Phase-shift circuitry requires a maximum of 1,280 clock cycles to lock and calculate the correct input clock period when the DLL is in low jitter mode. Otherwise, only 256 clock cycles are required. Do not send data during these clock cycles because there is no guarantee that the data is properly captured. As the settings from the DLL may not be stable until this lock period has elapsed, be aware that anything with these settings may be unstable during this period. 1 You can still use the DQS phase-shift circuitry for any memory interfaces that are operating at less than 100 MHz. However, the DQS signal may not shift over 2.5 ns. At less than 100 MHz, while the DQS phase shift may not be exactly centered to the data valid window, sufficient margin must still exist for reliable operation. There are two DLLs in an Arria II GX device and four DLLs in Arria II GZ device, located in the top-left and bottom-right corners of the Arria II GX device and each corner of the Arria II GZ device. These DLLs can support a maximum of two unique frequencies (Arria II GX devices) or four unique frequencies (Arria II GZ devices), with each DLL running at one frequency. Each DLL can have two outputs with different phase offsets, which allows one Arria II GX device to have four different DLL phase shift settings and Arria II GZ device to have eight different DLL phase shift settings. For Arria II GX devices, each DLL can access the top, bottom, and right side of the device. This means that each I/O bank is accessible by two DLLs, giving more flexibility to create multiple frequencies and multiple-type interfaces. The DLL outputs the same DQS delay settings for the different sides of the device. For Arria II GZ devices, each DLL can access the two adjacent sides from its location within the device. For example, DLL0 on the top left of the device can access the top side (I/O banks 7A, 7B, 7C, 8A, 8B, and 8C) and the left side of the device (I/O banks 1A, 1B, 1C, 2A, 2B, and 2C). This means that each I/O bank is accessible by two DLLs, giving more flexibility to create multiple frequencies and multiple-type interfaces. You can have two different interfaces with the same frequency on the two sides adjacent to a DLL, where the DLL controls the DQS delay settings for both interfaces. 1 Interfaces that span across two sides of the device are not recommended for high-performance memory interface applications. However, Arria II GX devices support split interfaces (top and bottom I/O banks) and interfaces with multiple DQ/DQS groups wrapping over column and row I/Os from adjacent sides of the devices. Interfaces spanning “top and bottom I/O banks”, “right and bottom I/O banks”, or “top, bottom, and right I/O banks” are supported. For Arria II GX devices, each bank can use settings from either one or both DLLs. For example, DQS1R can get its phase-shift settings from DLL0, and DQS2R can get its phase-shift settings from DLL1. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–28 Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features For Arria II GZ devices, each bank can use settings from either or both adjacent DLLs the bank. For example, DQS1L can get its phase-shift settings from DLL0, while DQS2L can get its phase-shift settings from DLL1. 1 If you have a dedicated PLL that only generates the DLL input reference clock, set the PLL mode to No Compensation or the Quartus II software automatically changes it. Because the PLL does not use any other outputs, it does not have to compensate for any clock paths. 1 Arria II devices support PLL cascading. If you cascade PLLs, you must use PLLs adjacent to each other (for example, PLL5 and PLL6 for Arria II GX devices) so that the dedicated path between the two PLLs is used instead of using a global clock (GCLK) or regional clock (RCLK) network that might be subjected to core noise. The TimeQuest Timing Analyzer takes PLL cascading into consideration for timing analysis. Table 7–5 lists the DLL location and supported I/O banks for Arria II GZ devices. Table 7–5. DLL Location and Supported I/O Banks for Arria II GZ Devices DLL 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 7–5: (1) The DLL can access these I/O banks if they are available for memory interfacing. Table 7–6 lists the reference clock for each DLL might come from PLL output clocks or dedicated clock input pins for Arria II GX devices. Table 7–6. DLL Reference Clock Input for Arria II GX Devices (Note 1) CLKIN (Top/Bottom) CLKIN (Right) PLL DLL0 CLK12 CLK13 CLK14 CLK15 — PLL1 DLL1 CLK4 CLK5 CLK6 CLK7 CLK8 CLK9 CLK10 CLK11 PLL3 DLL Note to Table 7–6: (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. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features 7–29 For Arria II GZ devices, the reference clock for each DLL may come from PLL output clocks or any of the two dedicated clock input pins located in either side of the DLL. Table 7–7 through Table 7–9 show the available DLL reference clock input resources for the Arria II GZ devices. Table 7–7. DLL Reference Clock Input for EP2AGZ300 and EP2AGZ350 Devices in the 780-Pin FineLine BGA Package DLL CLKIN (Top/Bottom) CLKIN (Left/Right) PLL (Top/Bottom) PLL (Left/Right) PLL (Corner) — PLL_T1 — — — PLL_B1 — — — PLL_B2 — — — PLL_T2 — — CLK12P DLL0 CLK13P CLK14P CLK15P CLK4P DLL1 CLK5P CLK6P CLK7P CLK4P DLL2 CLK5P CLK6P CLK7P CLK12P DLL3 CLK13P CLK14P CLK15P Table 7–8. DLL Reference Clock Input for EP2AGZ225, EP2AGZ300, and EP2AGZ350 Devices in the 1152-Pin FineLine BGA Package (Part 1 of 2) DLL CLKIN (Top/Bottom) CLKIN (Left/Right) PLL (Top/Bottom) PLL (Left/Right) PLL (Corner) PLL_T1 PLL_L2 — PLL_B1 — — CLK12P DLL0 CLK13P CLK0P CLK14P CLK1P CLK15P CLK4P DLL1 CLK5P CLK0P CLK6P CLK1P CLK7P June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–30 Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features Table 7–8. DLL Reference Clock Input for EP2AGZ225, EP2AGZ300, and EP2AGZ350 Devices in the 1152-Pin FineLine BGA Package (Part 2 of 2) DLL CLKIN (Top/Bottom) CLKIN (Left/Right) PLL (Top/Bottom) PLL (Left/Right) PLL (Corner) PLL_B2 — — PLL_T2 PLL_R2 — CLK4P DLL2 CLK5P CLK10P CLK6P CLK11P CLK7P CLK12P DLL3 CLK13P CLK10P CLK14P CLK11P CLK15P 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) CLK12P CLK0P CLK13P CLK1P CLK14P CLK2P CLK15P CLK3P CLK4P CLK0P CLK5P CLK1P CLK6P CLK2P CLK7P CLK3P CLK4P CLK8P CLK5P CLK9P CLK6P CLK10P CLK7P CLK11P CLK12P CLK8P CLK13P CLK9P CLK14P CLK10P CLK15P CLK11P DLL0 DLL1 DLL2 DLL3 1 PLL (Top/Bottom) PLL (Left/Right) PLL (Corner) PLL_T1 PLL_L2 — PLL_B1 PLL_L3 — PLL_B2 PLL_R3 — PLL_T2 PLL_R2 — If you use the ALTMEMPHY megafunction or UniPHY IP core, Altera recommends using the dedicated PLL input pin for the PLL reference clock. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features 7–31 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. Figure 7–20. Simplified Diagram of the DQS Phase-Shift Circuitry for Arria II Devices (Note 1) addnsub Phase offset settings from the logic array ( offset [5:0] ) 6 offsetdelayctrlout [5:0] DLL offsetdelayctrlin [5:0] aload Input Reference Clock (2) Phase Comparator 6 (offsetctrlout [5:0]) DLL0 phase offset settings to top and right side, DLL1 phase offset settings to bottom side of the device (3) (dll_offset_ctrl_a) addnsub Phase offset settings from the logic array ( offset [5:0] ) upndnin clk Phase Offset Control A upndninclkena Up/Down Counter 6 Phase Offset Control B offsetdelayctrlout [5:0] offsetdelayctrlin [5:0] 6 Delay Chains delayctrlout [5:0] 6 6 6 (dll_offset_ctrl_b) (offsetctrlout [5:0]) DLL0 phase offset settings to bottom side, DLL1 phase offset settings to right and top side of the device (3) DQS Delay Settings (4) dqsupdate Notes to Figure 7–20: (1) All features of the DQS phase-shift circuitry are accessible from the UniPHY IP core and ALTMEMPHY megafunction in the Quartus II software. (2) The input reference clock for the DQS phase-shift circuitry can come from a PLL output clock or an input clock pin. For the exact PLL and input clock pin, refer to Table 7–6 and Table 7–10. (3) Phase offset settings can only go to the DQS logic blocks. (4) DQS delay settings can go to the logic array and DQS logic block. You can reset the DLL from either the logic array or a user I/O pin. Each time the DLL is reset, you must wait for 1,280 clock cycles for the DLL to lock before you can capture the data properly. Depending on the DLL frequency mode, the DLL can shift the incoming DQS signals by 0°, 22.5°, 30°, 36°, 45°, 60°, 67.5°, 72°, 90°, 108°, 120°, 135°, 144°, 180°, or 240°. The shifted DQS signal is then used as the clock for the DQ IOE input registers. All DQS/CQ and CQn pins, referenced to the same DLL, can have their input signal phase shifted by a different degree amount but all must be referenced at one particular frequency. For example, you can have a 90° phase shift on 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°), 45° (up to 180°), or 60° (up to 240°). June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–32 Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features There are seven different frequency modes for Arria II GX DLLs, and eight different frequency modes for Arria II GZ DLLs as shown in Table 7–10. Each frequency mode provides different phase-shift selections. In frequency mode 0, 1, 2, and 3, the 6-bit DQS delay settings vary with PVT to implement the phase-shift delay. In frequency modes 4, 5, 6, and 7 only 5 bits of the DQS delay settings vary with PVT to implement the phase-shift delay; the MSB of the DQS delay setting is set to 0. Table 7–10. DLL Frequency Modes for Arria II Devices Frequency Mode Available Phase Shift 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 7–10: (1) Frequency mode 7 is only available for Arria II GZ devices only. f For the frequency range of each mode, refer to the Device Datasheet for Arria II Devices. For a 0° shift, the DQS/CQ signal bypasses both the DLL and DQS logic blocks. The Quartus II software automatically sets the DQ input delay chains so that the skew between the DQ and DQS/CQ pin at the DQ IOE registers is negligible when the 0° shift is implemented. You can feed the DQS delay settings to the DQS logic block and the logic array. The shifted DQS/CQ signal goes to the DQS bus to clock the IOE input registers of the DQ pins. The signal can also go into the logic array for resynchronization if you do not use the IOE resynchronization registers. The shifted CQn signal can go to the negative-edge input register in the DQ IOE or the logic array and is only used for QDR II+/QDR II SRAM interfaces. Phase Offset Control Each DLL has two phase offset modules and can provide two separate DQS delay settings with independent offset; for Arria II GX devices, one offset goes clockwise half-way around the chip and the other goes counter-clockwise half-way around the chip and for Arria II GZ devices, one for the top and bottom I/O bank and one for the left and right I/O bank. Even though you have independent phase offset control, the frequency of the interface with the same DLL must be the same. Use the phase offset control module for making small shifts to the input signal and use the DQS phase-shift circuitry for larger signal shifts. For example, if the DLL only offers a multiple of 30° phase shift, but your interface must have a 67.5° phase shift on the DQS signal, you can use two delay chains in the DQS logic blocks to give you a 60° phase shift and use the phase offset control feature to implement the extra 7.5° phase shift. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features 7–33 You can either use a static phase offset or a dynamic phase offset to implement the additional phase shift. The available additional phase shift is implemented in 2s: complement in Gray-code between the –64 to +63 settings for frequency mode 0, 1, 2, and 3, and between the –32 to +31 settings for frequency modes 4, 5, 6, and 7. An additional bit indicates whether the setting has a positive or negative value. The settings are linear and each phase offset setting adds a delay amount. f For more information about the specified phase-shift settings, refer to the Device Datasheet for Arria II Devices. The DQS phase shift is the sum of the DLL delay settings and the user-selected phase offset settings whose top setting is 64 for frequency modes 0, 1, 2, and 3; 32 for frequency modes 4, 5, 6, and 7. Therefore, the actual physical offset setting range is 64 or 32 subtracted by the DQS delay settings from the DLL. 1 If you use this feature, monitor the DQS delay settings to know how many offsets you can add and subtract in the system. The DQS delay settings output by the DLL are also Gray-coded. For example, if the DLL determines that DQS delay settings of 28 are required to achieve a 30° phase shift in DLL frequency mode 1, you can subtract up to 28 phase offset settings and add up to 35 phase offset settings to achieve the optimal delay required. However, if the same DQS delay settings of 28 is required to achieve a 30° phase shift in DLL frequency mode 4, subtract up to 28 phase offset settings, but only add up to 3 phase offset settings before the DQS delay settings reach their maximum settings because DLL frequency mode 4 only uses 5-bit DLL delay settings. f For more information about the value for each step, refer to the Device Datasheet for Arria II Devices. When using static phase offset, specify the phase offset amount in the ALTMEMPHY megafunction as a positive number for addition or a negative number for subtraction. You can also have a dynamic phase offset that is always added to, subtracted from, or both added to and subtracted from the DLL phase shift. When you always add or subtract, you can dynamically input the phase offset amount into the dll_offset[5..0] port. When you want to both add and subtract dynamically, you control the addnsub signal in addition to the dll_offset[5..0] signals. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–34 Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features DQS Logic Block Each DQS/CQ and CQn pin is connected to a separate DQS logic block, which consists of DQS delay chains, update enable circuitry, and DQS postamble circuitry (refer to Figure 7–21). Figure 7–21. DQS Logic Block for Arria II Devices dqsenable (2) DQS Enable DQS Delay Chain PRE Q D dqsin dqsbusout Bypass DQS bus DQS/CQ or CQn Pin dqsin <phase_setting> 6 6 0 1 6 offsetctrlin [5:0] 6 Phase offset 0 settings from DQS phase-shift 1 circuitry DQS delay settings from the DQS phase-shift circuitry 0 1 6 6 6 <dqs_ctrl_latches_enable> DQS Enable Control D Q D Q dqsupdateen Update Enable Circuitry <dqs_offsetctrl_enable> 6 Postamble Enable Resynchronization Clock dqsenablein D Q clk 0 dqsenableout 1 delayctrlin [5:0] Input Reference Clock (1) D Q <delay_dqs_enable_by_half_cycle> Notes to Figure 7–21: (1) The input reference clock for the DQS phase-shift circuitry can come from a PLL output clock or an input clock pin. For the exact PLL and input clock pin, refer to Table 7–6 on page 7–28 and Table 7–10 on page 7–32. (2) The dqsenable signal can also come from the Arria II GX FPGA fabric. DQS Delay Chains DQS delay chains consist of a set of variable delay elements to allow the DQS/CQ and CQn in out signals to be shifted by the amount specified by the DQS phase-shift circuitry or the logic array. There are four delay elements in the DQS delay chain; the first delay chain closest to the DQS/CQ or CQn pin can either be shifted by the DQS delay settings or by the sum of DQS delay setting and the phase-offset setting. The number of delay chains required is transparent because the ALTMEMPHY megafunction and UniPHY IP core automatically set it when you choose the operating frequency. The DQS delay settings can come from the DQS phase-shift circuitry on either end of the I/O banks or from the logic array. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features 7–35 The delay elements in the DQS logic block have the same characteristics as the delay elements in the DLL. When the DLL is not used to control the DQS delay chains, you can input your own Gray-coded 6-bit or 5-bit settings with the dqs_delayctrlin[5..0] signals available in the ALTMEMPHY megafunction and UniPHY IP core. These settings control 1, 2, 3, or all 4 delay elements in the DQS delay chains. The ALTMEMPHY megafunction and UniPHY IP core can also dynamically choose the number of DQS delay chains required for the system. The amount of delay is equal to the sum of the delay element’s intrinsic delay and the product of the number of delay steps and the value of the delay steps. You can also bypass the DQS delay chain to achieve a 0° phase shift. Update Enable Circuitry Both the DQS delay settings and the phase-offset settings pass through a register before going into the DQS delay chains. The registers are controlled by the update enable circuitry to allow enough time for any changes in the DQS delay setting bits to arrive at all the delay elements. This allows them to be adjusted at the same time. The update enable circuitry enables the registers to allow enough time for the DQS delay settings to travel from the DQS phase-shift circuitry or core logic to all the DQS logic blocks before the next change. It uses the input reference clock or a user clock from the core to generate the update enable output. The ALTMEMPHY megafunction and UniPHY IP core use this circuit by default. Figure 7–22 shows an example waveform of the update enable circuitry output. Figure 7–22. DQS Update Enable Waveform DLL Counter Update (Every 8 cycles) DLL Counter Update (Every 8 cycles) System Clock DQS Delay Settings (Updated every 8 cycles) 6 bit Update Enable Circuitry Output DQS Postamble Circuitry For external memory interfaces that use a bidirectional read strobe such as in DDR3, DDR2, and DDR SDRAM, the DQS signal is low before going to or coming from a high-impedance state. The state in which DQS is low, just after a high-impedance state, is called the preamble; the state in which DQS is low, just before it returns to a high-impedance state, is called the postamble. There are preamble and postamble specifications for both read and write operations in DDR3, DDR2, and DDR SDRAM. The DQS postamble circuitry ensures that data is not lost if there is noise on the DQS line at the end of a read postamble time. Arria II devices have dedicated postamble registers that you can control to ground the shifted DQS signal used to clock the DQ input registers at the end of a read operation. This ensures that any glitches on the DQS input signals at the end of the read postamble time do not affect the DQ IOE registers. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–36 Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features In addition to the dedicated postamble register, Arria II GZ devices also have a half-data rate (HDR) block inside the postamble enable circuitry. Use these registers if the controller is running at half the frequency of the I/Os. Using the HDR block as the first stage capture register in the postamble enable circuitry block is optional. The HDR block is clocked by the half-rate resynchronization clock, which is the output of the I/O clock divider circuit (shown in Figure 7–26 on page 7–39). There is an AND gate after the postamble register outputs that is used to avoid postamble glitches from a previous read burst on a non-consecutive read burst. This scheme allows a half-a-clock cycle latency for 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 Postamble glitch Postamble Preamble DQS Postamble Enable dqsenable Delayed by 1/2T logic Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features 7–37 Arria II GZ Dynamic On-Chip Termination Control Figure 7–24 shows the dynamic OCT control block. The block includes all the registers required to dynamically turn on the on-chip parallel termination (RT OCT) during a read and turn RT OCT off during a write. f For more information about the dynamic OCT control block, refer to the I/O Features in Arria II Devices chapter. Figure 7–24. Dynamic OCT Control Block for Arria II GZ Devices OCT Enable OCT Control DFF 2 OCT Half-Rate Clock DFF Resynchronization HDR Registers Block Write Clock (1) OCT Control Path Note to Figure 7–24: (1) The write clock comes from the PLL. I/O Element Registers IOE registers are expanded to allow source-synchronous systems to have faster register-to-register transfers and resynchronization. For Arria II GX devices, both top, bottom, and right IOEs have the same capability. Right IOEs have extra features to support LVDS data transfer. For Arria II GZ devices, both top and bottom, and left and right IOEs have the same capability. Left and right IOEs have extra features to support LVDS data transfer. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–38 Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features Figure 7–25 shows the registers available in the Arria II GX input path. The input path consists of DDR input registers and resynchronization registers. You can bypass each block of the input path. Figure 7–25. IOE Input Registers for Arria II GX Devices (Note 1) Synchronization Registers Double Data Rate Input Registers DQ datain D To Core (rdata0) regouthi Q D Q DFF DFF Input Reg A I To Core (rdata1) D Q DFF Input Reg B Differential Input DQS (2), (4) Buffer neg_reg_out D regoutlo Q I Q DFF DFF Input Reg C D I DQSn 1 CQn (3) 0 Resynchronization Clock (resync_clk_2x) (3) Notes to Figure 7–25: (1) You can bypass each register block in this path. (2) The input clock can be from the DQS logic block (whether the postamble circuitry is bypassed or not) or from a global clock line. (3) This input clock comes from the CQn logic block. (4) The DQS signal must be inverted for DDR interfaces except for the QDR II+/QDR II SRAM interfaces. This inversion is done automatically if you use the Altera external memory interface IPs. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features 7–39 Figure 7–26 shows the registers available in the Arria II GZ input path. The input path consists of the DDR input registers, resynchronization registers, and HDR block. You can bypass each block of the input path. Figure 7–26. IOE Input Registers for Arria II GZ Devices (Note 1) Double Data Rate Input Registers DQ Q D DFF Input Reg AI D DQS/CQ (3), (9) Differential Input Buffer Q neg_reg_out DFF Input Reg B I D Q DFF Input Reg CI Half Data Rate Registers DQSn (9) 0 D 0 1 CQn (4) directin Alignment and Synchronization Registers dataout datain [0] D To Core dataout[2] (7) 1 Q DFF Q DFF D Q D Q dataoutbypass (8) To Core dataout [0] (7) DFF DFF <bypass_output_register>(10) 0 D 1 Q To Core dataout [3] (7) datain [1] DFF dataout D Resynchronization Clock (resync_clk_2×) (5) Q (2) D DFF Q DFF I/O Clock Divider (6) D Q To Core dataout [1] (7) DFF to core (7) Half-Rate Resynchronization Clock (resync_clk_1×) Notes to Figure 7–26: (1) You can bypass each register block in this path. (2) This is the 0-phase resynchronization clock. (3) The input clock can be from the DQS logic block (whether the postamble circuitry is bypassed or not) or from a GCLK line. (4) This input clock comes from the CQn logic block. (5) This resynchronization clock comes from a PLL through the clock network (resync_ck_2). (6) The I/O clock divider resides adjacent to the DQS logic block. In addition to the PLL, the I/O clock divider can also be fed by the DQS bus or CQn bus. (7) The half-rate data and clock signals feed into a dual-port RAM in the FPGA core. (8) You can dynamically change the 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. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–40 Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features There are three registers in the DDR input registers block. Two registers capture data on the positive and negative edges of the clock, and the third register aligns the captured data. You can choose to use the same clock for the positive edge and negative edge registers, or two complementary clocks (DQS/CQ for positive-edge register and DQSn/CQn for negative-edge register). The third register that aligns the captured data uses the same clock as the positive edge registers. For Arria II GX devices, the resynchronization registers resynchronize the data to the resynchronization clock domain. These registers are clocked by the resynchronization clock that is generated by the PLL. The outputs of the resynchronization registers go straight to the core. For Arria II GZ devices, the resynchronization registers resynchronize the data to the system clock domain. These registers are clocked by the resynchronization clock that is generated by the PLL. The outputs of the resynchronization registers can go straight to the core or to the HDR blocks, which are clocked by the divided-down resynchronization clock. Figure 7–27 shows the registers available in the Arria II GX output and output enable paths. The device can bypass each block of the output and output enable path. Figure 7–27. IOE Output and Output Enable Path Registers for Arria II GX Devices (Note 1) Double Data Rate Output-Enable Registers OE From core D Q DFF OE Reg A OE OR2 dataout D Q DFF OE Reg B OE Double Data Rate Output Registers datahi From core D Q TRI DFF Output Reg Ao datainlo From core D 1 0 DQ or DQS dataout Q DFF Output Reg Bo Write Clock (2) Notes to Figure 7–27: (1) You can bypass each register block of the output and output-enable paths. (2) The write clock comes from the PLL. The DQ write clock and DQS write clock have a 90° offset between them. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Arria II External Memory Interface Features 7–41 For Arria II GX devices, the output path is designed to route combinatorial or registered single data rate (SDR) outputs and DDR outputs from the FPGA core. The output enable path has a structure similar to the output path. You can have a combinatorial or registered output in SDR applications. Figure 7–28 shows the registers available in the Arria II GZ output and output-enable paths. The path is divided into the HDR block, resynchronization registers, and output and output-enable registers. The device can bypass each block of the output and output-enable path. Figure 7–28. IOE Output and Output-Enable Path Registers for Arria II GZ Devices (Note 1) Half Data Rate to Single Data Rate Output-Enable Registers From Core (2) DFF From Core (2) Double Data Rate Output-Enable Registers D Q D Q DFF 0 1 D D Q DFF OE Reg A OE Q DFF OR2 1 0 D Q Half Data Rate to Single Data Rate Output Registers From Core (wdata2) (2) D Q DFF From Core (wdata0) (2) D Q DFF From Core (wdata3) (2) D D Double Data Rate Output Registers 0 1 D D Q DFF Output Reg Ao Q DFF Q DFF 1 0 TRI DQ or DQS D Q DFF Output Reg Bo Q 0 1 DFF From Core (wdata1) (2) DFF OE Reg B OE D Q DFF Half-Rate Clock (3) Write Clock (4) Notes to Figure 7–28: (1) You can bypass each register block of the output and output-enable paths. (2) Data coming from the FPGA core are at half the frequency of the memory interface clock frequency in half-rate mode. (3) The half-rate clock comes from the PLL. (4) The write clock comes from the PLL. The DQ write clock and DQS write clock have a 90° offset between them. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–42 Chapter 7: External Memory Interfaces in Arria II Devices Document Revision History For Arria II GZ devices, the output path is designed to route combinatorial or registered SDR outputs and full-rate or half-rate DDR outputs from the FPGA core. Half-rate data is converted to full-rate using the HDR block, clocked by the half-rate clock from the PLL. The output-enable path has a structure similar to the output path. You can have a combinatorial or registered output in SDR applications and you can use half-rate or full-rate operation in DDR applications. Also, the ouput-enable path’s resynchronization registers have a structure similar to the output path registers, ensuring that the output-enable path goes through the same delay and latency as the output path. Document Revision History Table 7–11 shows the revision history for this document. Table 7–11. Document Revision History (Part 1 of 2) Date June 2011 December 2010 Version 4.1 4.0 Changes ■ Updated Table 7–3. ■ Updated Figure 7–11, Figure 7–12, Figure 7–13, Figure 7–14, and Figure 7–15. ■ Minor text edits. ■ Updated for the Quartus II software version 10.1 release. ■ Added Arria II GZ devices information. ■ Added Figure 7–2, Figure 7–10, Figure 7–11, Figure 7–12, Figure 7–13, Figure 7–14, Figure 7–15, Figure 7–17, Figure 7–19, Figure 7–24, Figure 7–26, and Figure 7–26. ■ Added Table 7–1, Table 7–3, Table 7–4, Table 7–5, Table 7–3, Table 7–4, Table 7–6, Table 7–7, Table 7–8, and Table 7–9. ■ Updated Table 7–10. ■ Added “Using the RUP and RDN Pins in a DQ/DQS Group Used for Memory Interfaces in Arria II GZ Devices” and “Arria II GZ Dynamic On-Chip Termination Control” sections. ■ Minor text edits. Updated for Arria II GX v10.0 release: July 2010 ■ 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. 3.0 Updated for Arria II GX v9.1 release: November 2009 2.0 ■ 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 7: External Memory Interfaces in Arria II Devices Document Revision History 7–43 Table 7–11. Document Revision History (Part 2 of 2) Date June 2009 Version 1.2 Changes ■ 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. June 2011 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 7–44 Arria II Device Handbook Volume 1: Device Interfaces and Integration Chapter 7: External Memory Interfaces in Arria II Devices Document Revision History June 2011 Altera Corporation 8. High-Speed Differential I/O Interfaces and DPA in Arria II Devices July 2012 AIIGX51008-4.3 AIIGX51008-4.3 This chapter describes the high-speed differential I/O features and resources, the functionality of the serializer/deserializer (SERDES), and the dynamic phase alignment (DPA) circuitry in Arria® II devices. This chapter contains the following sections: ■ “LVDS Channels” on page 8–2 ■ “LVDS SERDES and DPA Block Diagram” on page 8–7 ■ “Differential Transmitter” on page 8–8 ■ “Differential Receiver” on page 8–11 ■ “Programmable Pre-Emphasis and Programmable VOD.” on page 8–10 ■ “Differential I/O Termination” on page 8–20 ■ “PLLs” on page 8–21 ■ “LVDS and DPA Clock Networks” on page 8–21 ■ “Source-Synchronous Timing Budget” on page 8–23 ■ “Differential Pin Placement Guidelines” on page 8–27 ■ “Setting Up an LVDS Transmitter or Receiver Channel” on page 8–36 Arria II devices have the following dedicated circuitry for high-speed differential I/O support: ■ Differential I/O buffer ■ Transmitter serializer ■ Receiver deserializer ■ Data realignment block (bit slip) ■ DPA block ■ Synchronizer (FIFO buffer) Arria II devices support the following high-speed differential I/O standards: 1 ■ LVDS ■ mini-LVDS ■ RSDS ■ LVPECL ■ Bus LVDS (BLVDS) for Arria II GX devices True mini-LVDS and RSDS inputs are not supported. The LVPECL I/O standard is only used for phase-locked loop (PLL) clock inputs in differential mode. © 2012 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Subscribe 8–2 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices LVDS Channels f For specifications and features of the differential I/O standards supported in Arria II devices, refer to the I/O Features in Arria II Devices and Arria II Devices Data Sheet chapters. LVDS Channels In Arria II GX devices, there are true LVDS input buffers and LVDS I/O buffers at the top, bottom, and right side of the device. The LVDS input buffers have 100- on-chip differential termination (RD OCT) support. You can configure the LVDS I/O buffers as either LVDS input (without RD OCT) or true LVDS output buffers. You can also configure the LVDS pins on the top, bottom, and right sides of the device, as emulated LVDS output buffers, which use two single-ended output buffers with an external resistor network to support LVDS, mini-LVDS, and RSDS standards. The Arria II GZ devices support LVDS on both row and column I/O banks. Row I/Os support true LVDS input with 100- RD OCT and true LVDS output buffers. Column I/Os supports true LVDS input buffers without RD OCT. You can also configure the row and column LVDS pins as emulated LVDS output buffers that use two single-ended output buffers with an external resistor network to support LVDS, mini-LVDS, and RSDS standards. Arria II GZ devices offer single-ended I/O refclk support for the LVDS. Dedicated SERDES and DPA circuitries are implemented on the right I/O banks of Arria II GX devices and row I/O banks of Arria II GZ devices to further enhance the LVDS interface performance in the device. For column I/O banks in Arria II devices, SERDES is implemented in the core logic because there is no dedicated SERDES circuitry. 1 When you configure the I/O buffers as LVDS input with RD OCT enabled, you must set both VCCIO and VCCPD to 2.5 V. f For more information about I/O banks, refer to the I/O Features in Arria II Devices chapter. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Locations of the I/O Banks 8–3 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) Configuration pins 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 High-Speed Differential I/O with DPA, General Purpose I/O, and Memory Interface Transceiver Blocks FPGA Fabric PLL (Logic Elements, DSP, Embedded Memory, and Clock Networks) PLL High-Speed Differential I/O with DPA, General Purpose I/O, and Memory Interface PLL PLL Configuration pins High-Speed Differential I/O, General Purpose I/O, and Memory Interface High-Speed Differential I/O, General Purpose I/O, and Memory Interface Notes to Figure 8–1: (1) This figure is a top view of the silicon die, which corresponds to a reverse view for flip chip packages. It is a graphical representation only. (2) Applicable to EP2AGX95, EP2AGX125, EP2AGX190, and EP2AGX260 devices. (3) There are no center PLLs on the right I/O banks for EP2AGX45 and EP2AGX65 devices. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–4 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Locations of the I/O Banks Figure 8–2 shows a high-level chip overview of the Arria II GZ devices. Figure 8–2. High-Speed Differential I/Os with DPA Block Locations in Arria II GZ Devices General Purpose I/O and Memory Interface PLL (2) PLL PLL Transceiver Block Transceiver Block PLL (1) Transceiver Block PLL (2) FPGA Fabric (Logic Elements, DSP, Embedded Memory, Clock Networks) General Purpose I/O and High-Speed LVDS I/O with DPA and Soft CDR PLL (1) General Purpose I/O and Memory Interface General Purpose I/O and High-Speed LVDS I/O with DPA and Soft CDR PLL General Purpose I/O and High-Speed LVDS I/O with DPA and Soft CDR PLL General Purpose I/O and High-Speed LVDS I/O with DPA and Soft CDR PCIe hard IP Block (3) Transceiver Block Transceiver Block Transceiver Block General Purpose I/O and Memory Interface General Purpose I/O and Memory Interface Notes to Figure 8–2: (1) Not available for F780 device package. (2) Not available for F780 and F1152 device packages. (3) The PCIe hard IP block is located on the left side of the device only (IOBANK_QL). Table 8–1 to Table 8–4 list the maximum number of row and column LVDS I/Os supported in Arria II devices. You can design the LVDS I/Os as true LVDS input, output buffers, or emulated LVDS output buffers, if the combination does not exceed the maximum count. For example, there are a total of 56 LVDS pairs of I/Os in 780-pin EP2AGX45 device row (refer to Table 8–1). You can design up to a maximum of either: ■ 28 true LVDS input buffers with RD OCT and 28 true LVDS output buffers ■ 56 LVDS input buffers of which 28 are true LVDS input buffers with RD OCT and 28 requires external 100-termination ■ 28 true LVDS output buffers and 28 emulated LVDS output buffers ■ 56 emulated LVDS output buffers Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Locations of the I/O Banks 1 8–5 Dedicated SERDES and DPA circuitry are only available on the right side of the device in row I/O banks. SERDES with DPA receivers are only available on differential pins in the row I/O banks and SERDES transmitters are only available on transmit (Tx) pins in the row I/O banks. The receive (Rx) pins in row I/O banks are receiver channels without dedicated SERDES and DPA circuitry. Table 8–1. LVDS Channels Supported in Arria II GX Device Row I/O Banks (Note 1), (2), (3), (4), (5), (6) Device 358-Pin FlipChip UBGA 572-Pin FlipChip FBGA 780-Pin FlipChip FBGA 1152-Pin FlipChip FBGA 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(R D 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(R D or eTx) + 56(Rx, Tx, or eTx) 97(RD or eTx) + 96(Rx, Tx, or eTx) July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–6 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Locations of the I/O Banks Table 8–2. LVDS Channels Supported in Arria II GX Device Column I/O Banks (Note 1), (2), (3), (4), (5), (6) (Part 2 of 2) Device 358-Pin FlipChip UBGA 572-Pin FlipChip FBGA 780-Pin FlipChip FBGA 1152-Pin FlipChip FBGA EP2AGX260 — — 57(R D 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–3 and Table 8–4 list the maximum number of row and column LVDS I/Os supported in Arria II GZ devices. Table 8–3. LVDS Channels Supported in Arria II GZ Device Row I/O Banks (Note 1), (2), (3) Device 780-Pin FineLine BGA 1152-Pin FineLine BGA 1517-Pin FineLine BGA 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices LVDS SERDES and DPA Block Diagram 8–7 LVDS SERDES and DPA Block Diagram The Arria II GX devices have dedicated SERDES and DPA circuitry for LVDS transmitters and receivers on the right side. The Arria II GZ devices have dedicated SERDES and DPA circuitry for LVDS transmitters and receivers on the row I/O banks. Figure 8–3 shows the LVDS SERDES and DPA block diagram. This diagram shows the interface signals for the transmitter and receiver datapaths. For more information, refer to “Differential Transmitter” on page 8–8 and “Differential Receiver” on page 8–11. Figure 8–3. LVDS SERDES and DPA Block Diagram (Note 1), (2), (3) Serializer tx_in 2 IOE Supports SDR, DDR, or Non-Registered Datapath IOE tx_out + - 10 DIN DOUT tx_coreclock LVDS Transmitter 3 (LVDS_LOAD_EN, diffioclk, tx_coreclock) IOE Supports SDR, DDR, or Non-Registered Datapath rx_out 10 2 + - IOE rx_in Synchronizer FPGA Fabric Deserializer Bit Slip DOUT DIN DOUT DIN DPA Circuitry Retimed Data DOUT DIN DIN diffioclk 2 (LOAD_EN, diffioclk) Clock Multiplexer DPA_diffioclk LVDS_diffioclk DPA Clock 3 (DPA_LOAD_EN, DPA_diffioclk, rx_divfwdclk) rx_divfwdclk rx_outclock LVDS Receiver 3 (LVDS_LOAD_EN, LVDS_diffioclk, rx_outclock LVDS Clock Domain DPA Clock Domain 8 Serial LVDS Clock Phases PLL (4) rx_inclock/tx_inclock Notes to Figure 8–3: (1) This diagram shows a shared PLL between the transmitter and receiver. If the transmitter and receiver are not sharing the same PLL, two PLLs on the right side of the device are required. (2) In SDR and DDR modes, the data width is 1 and 2 bits, respectively. (3) The tx_in and rx_out ports have a maximum data width of 10 bits. (4) Arria II GX center/corner PLL or Arria II GZ left/right PLL. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–8 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Transmitter Differential Transmitter The Arria II transmitter has a dedicated circuitry to provide support for LVDS signaling. The dedicated circuitry consists of a differential buffer, a serializer, and PLLs that can be shared between the transmitter and receiver. The differential buffer can drive out LVDS, mini-LVDS, and RSDS signaling levels. The differential output buffer supports programmable pre-emphasis and programmable voltage output differential (VOD) controls, and can drive out mini-LVDS and RSDS signaling levels. Figure 8–4 is a block diagram of the LVDS transmitter. 1 When using emulated LVDS I/O standards at the differential transmitter, the SERDES circuitry must be implemented in logic cells but not hard SERDES. Figure 8–4. LVDS Transmitter Block Diagram (Note 1), (2) Serializer tx_in 10 DIN 2 IOE IOE supports SDR, DDR, or Non-Registered Datapath + - DOUT FPGA Fabric tx_out LVDS Transmitter tx_coreclock 3 (LVDS_LOAD_EN, diffioclk, tx_coreclock) PLL (3) tx_inclock LVDS Clock Domain Notes to Figure 8–4: (1) In SDR and DDR modes, the data width is 1 and 2 bits, respectively. (2) The tx_in port has a maximum data width of 10 bits. (3) Arria II GX center/corner PLL or Arria II GZ left/right PLL. Serializer The serializer takes parallel data from the FPGA fabric, clocks it into the parallel load registers, and serializes it using the shift registers before sending the data to the differential output buffer. The MSB of the parallel data is transmitted first. The parallel load and shift registers are clocked by the high-speed clock running at the serial data rate (diffioclk) and controlled by the load enable signal (LVDS_LOAD_EN) generated from the PLL. You can statically set the serialization factor to x4, x6, x7, x8, or x10 using the ALTLVDS megafunction. The load enable signal is derived from the serialization factor setting. You can bypass the serializer to support DDR (x2) and SDR (x1) operations to achieve a serialization factor of 2 and 1, respectively. The I/O element (IOE) contains two data output registers that can each operate in either DDR or SDR mode. Figure 8–5 shows the serializer bypass path. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Transmitter 8–9 Figure 8–5. Serializer Bypass Path (Note 1), (2), (3) 2 Serializer tx_in 10 DIN IOE supports SDR, DDR, or Non-Registered Datapath IOE + - DOUT tx_out FPGA Fabric LVDS Transmitter tx_coreclock 3 (LVDS_LOAD_EN, diffioclk, tx_coreclock) tx_inclock PLL (4) LVDS Clock Domain 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. Differential applications often require specific clock-to-data alignments or a specific data rate to clock rate factors. You can configure any Arria II LVDS transmitter to generate a source-synchronous transmitter clock output. This flexibility allows the placement of the output clock near the data outputs to simplify board layout and reduce clock-to-data skew. The output clock can also be divided by a factor of 1, 2, 4, 6, 8, or 10, depending on the serialization factor. The phase of the clock in relation to the data can be set at 0° or 180° (edge or center aligned). The PLLs provide additional support for other phase shifts in 45° increments. These settings are made statically in the Quartus® II MegaWizard™ Plug-In Manager software. Figure 8–6 shows the Arria II LVDS transmitter in clock output mode. In clock output mode, you can use an LVDS data channel as a clock output channel. Figure 8–6. LVDS Transmitter in Clock Output Mode Transmitter Circuit Parallel Series txclkout+ txclkout– FPGA Fabric PLL (1) diffioclk LVDS_LOAD_EN Note to Figure 8–6: (1) Arria II GX center/corner PLL or Arria II GZ left/right PLL. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–10 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Transmitter Programmable Pre-Emphasis and Programmable VOD. Pre-emphasis increases the amplitude of the high frequency component of the output signal, which helps to compensate for the frequency-dependent attenuation along the transmission line. Figure 8–7 shows the LVDS output single-ended waveform with and without pre-emphasis. The definition of VOD is also shown. Figure 8–7. LVDS Output Single-Ended Waveform with and without Programmable Pre-Emphasis (Note 1) OUT VOD OUT Without Programmable Pre-emphasis VP OUT VOD OUT VP With Programmable Pre-emphasis Note to Figure 8–7: (1) VP– voltage boost from pre-emphasis. Pre-emphasis is an important feature for high-speed transmission. Without pre-emphasis, the output current is limited by the VOD setting and the output impedance of the driver. At high frequency, the slew rate may not be fast enough to reach the full VOD before the next edge, producing a pattern-dependent jitter. With pre-emphasis, the output current is boosted momentarily during switching to increase the output slew rate. The overshoot introduced by the extra current happens only during switching and does not ring, unlike the overshoot caused by signal reflection. This overshoot must not be included in the VOD voltage. Table 8–5 lists the assignment name and its possible values for programmable pre-emphasis in the Quartus II software Assignment Editor. Table 8–5. Programmable Pre-Emphasis Settings in Quartus II Software Assignment Editor Assignment Value Assignment Name Programmable Pre-Emphasis Arria II Device Handbook Volume 1: Device Interfaces and Integration Arria II GX Device Arria II GZ Device 0 (off), 1 (default on) 0 (default zero), 1 (medium low), 2 (medium high), 3 (high) July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Receiver 8–11 You can statically assign the VOD settings from the Assignment Editor. Table 8–6 lists the assignment name for programmable VOD and its possible values in the Quartus II software Assignment Editor. Table 8–6. Programmable VOD Settings in Quartus II Software Assignment Editor Assignment Value Assignment Name Arria II GX Device Arria II GZ Device 2 0, 1, 2, 3 Programmable Differential Output Voltage (VOD) Differential Receiver The Arria II device family has a dedicated circuitry to receive high-speed differential signals in side or row I/Os. Figure 8–8 shows the hardware blocks of the Arria II receiver. The receiver has a differential buffer and PLLs that can be shared between the transmitter and receiver, a DPA block, a synchronizer, a data realignment block, and a deserializer. The differential buffer can receive LVDS signal levels, which are statically set in the Quartus II software Assignment Editor. Figure 8–8 shows a block diagram of an LVDS receiver in the right I/O bank. Figure 8–8. LVDS Receiver Block Diagram (Note 1), (2) LVDS Receiver IOE Supports SDR, DDR, or Non-Registered Datapath 2 rx_out + IOE 10 rx_in Synchronizer Deserializer Bit Slip DOUT DIN DOUT DIN DPA Circuitry Retimed Data DOUT DIN DIN FPGA Fabric 2 DPA Clock Clock Multiplexer rx_divfwdclk DPA_diffioclk LVDS_diffiioclk diffioclk (LOAD_EN, diffioclk) 3 (DPA_LOAD_EN, DPA_diffioclk, rx_divfwdclk) rx_outclock 3 (LVDS_LOAD_EN, LVDS_diffioclk, rx_outclk) 8 Serial LVDS Clock Phases LVDS Clock Domain DPA Clock Domain PLL (3) rx_inclock Notes to Figure 8–8: (1) In SDR and DDR modes, the data width from the IOE is 1 and 2 bits, respectively. (2) The rx_out port has a maximum data width of 10 bits. (3) Arria II GX center/corner PLL or Arria II GZ left/right PLL. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–12 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Receiver The Arria II PLL receives the external reference clock input (rx_inclock) and generates eight different phases of the same clock. The DPA block chooses one of the eight clock phases from the center/corner PLL and aligns to the incoming data to maximize receiver skew margin. The synchronizer circuit is a 1-bit wide by 6-bit deep FIFO buffer that compensates for any phase difference between the DPA block and the deserializer. If necessary, the user-controlled data realignment circuitry inserts a single bit of latency in the serial bit stream to align to the word boundary. The deserializer converts the serial data to parallel data and sends the parallel data to the FPGA fabric. The physical medium connecting the LVDS transmitter and the receiver channels may introduce skew between the serial data and the source synchronous clock. The instantaneous skew between each LVDS channel and the clock also varies with the jitter on the data and clock signals, as seen by the receiver. 1 Only non-DPA mode requires manual skew adjustment. Arria II devices support the following receiver modes to overcome skew between the source-synchronous or reference clock and the received serial data: 1 ■ Non-DPA mode ■ DPA mode ■ Soft clock data recovery (CDR) mode Dedicated SERDES and DPA circuitry only exist on the right side of the device. Top and bottom I/O banks only support non-DPA mode, in which the SERDES are implemented in the core logic. Receiver Hardware Blocks The differential receiver has the following hardware blocks: ■ “DPA” on page 8–12 ■ “Synchronizer” on page 8–13 ■ “Data Realignment Block (Bit Slip)” on page 8–14 ■ “Deserializer” on page 8–15 DPA The DPA block takes in high-speed serial data from the differential input buffer and selects the optimal phase from one of the eight clock phases generated by the PLL to sample the data. The eight phases of the clock are equally divided, giving a 45° resolution. The maximum phase offset between the received data and the selected phase is 1/8 unit interval (UI), which is the maximum quantization error of the DPA block. The optimal clock phase selected by the DPA block (DPA_diffioclk) is also used to write data into the FIFO buffer or to clock the SERDES for soft-CDR operation. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Receiver 8–13 Figure 8–9 shows the possible phase relationships between the DPA clocks and the incoming serial data. Figure 8–9. DPA Clock Phase to Serial Data Timing Relationship (Note 1) rx_in D0 D1 D2 D3 D4 Dn 0˚ 45˚ 90˚ 135˚ 180˚ 225˚ 270˚ 315˚ Tvco 0.125Tvco Note to Figure 8–9: (1) TVCO is defined as the PLL serial clock period. The DPA block requires a training pattern and sequence of at least 256 repetitions. The training pattern is not fixed, so you can use any training pattern with at least one transition. An optional user controlled signal (rx_dpll_hold) freezes the DPA clock on its current phase when asserted. This signal is useful if you do not want the DPA circuitry to continuously adjust the phase after initial phase selection. The DPA circuitry loses lock when it switches phases to maintain an optimal sampling phase. After it is locked, the DPA circuitry can lose the lock status under either of the following conditions: ■ One phase change (adjacent to the current phase) ■ Two phase changes in the same direction An independent reset signal (rx_reset) is routed from the FPGA fabric to reset the DPA circuitry while in the user mode. The DPA circuitry must be retrained after reset. Synchronizer The synchronizer is a 1-bit wide and 6-bit deep FIFO buffer that compensates for the phase difference between DPA_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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–14 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Receiver Data Realignment Block (Bit Slip) Skew in the transmitted data along with skew added by the link causes channel-to-channel skew on the received serial data streams. If you enabled the DPA block, the received data is captured with different clock phases on each channel and might cause the received data to be misaligned from channel to channel. To compensate for the channel-to-channel skew and establish the correct received word boundary at each channel, each receiver channel has a dedicated data realignment circuit that realigns the data by inserting bit latencies into the serial stream. An optional signal (rx_channel_data_align) controls the bit insertion of each receiver independently controlled from the internal logic. The data slips one bit on the rising edge of rx_channel_data_align. The following are requirements for the rx_channel_data_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. Figure 8–10. Data Realignment Timing rx_inclock rx_in 3 2 1 0 3 2 1 0 3 2 1 0 rx_outclock rx_channel_data_align rx_out 3210 321x xx21 0321 The data realignment circuit can have up to 11 bit-times of insertion before a rollover occurs. The programmable bit rollover point can be from 1 to 11 bit-times, independent of the deserialization factor. The programmable bit rollover point must be set to equal to or greater than the deserialization factor, allowing enough depth in the word alignment circuit to slip through a full word. You can set the value of the bit rollover point using the ALTLVDS megafunction. An optional status signal (rx_cda_max) is available to the FPGA fabric from each channel to indicate when the preset rollover point is reached. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Receiver 8–15 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. Figure 8–11. Receiver Data Re-Alignment Rollover rx_inclock rx_channel_data_align rx_outclock rx_cda_max Deserializer The deserializer, which includes shift registers and parallel load registers, converts the serial data from the bit slip to parallel data before sending the data to the FPGA fabric. The deserialization factor supported is 4, 6, 7, 8, or 10. You can bypass the deserializer to support DDR (x2) and SDR (x1) operations, as shown in Figure 8–12. You cannot use the DPA and data realignment circuit when the deserializer is bypassed. The IOE contains two data input registers that can operate in DDR or SDR mode. Figure 8–12. Deserializer Bypass (Note 1), (2), (3) LVDS Receiver IOE Supports SDR, DDR, or Non-Registered Datapath 2 rx_out + IOE 2 rx_in Synchronizer Deserializ Deser Deserializer ializer er Bit Slip DOUT DIN DOUT DIN DPA P Circuitry Retimed Data DOUT DIN DIN FPGA Fabric 2 DPA P Clock Clock Multiplexer p rx_divfwdclk DPA_diffioclk P L LVDS_diffiioclk diffioclk (LOAD_EN, diffioclk) 3 (DPA_LOAD_EN, DPA_diffioclk, rx_divfwdclk) rx_outclock 3 (LVDS_LOAD_EN, LVDS_diffioclk, rx_outclk) 8 Serial LVDS L Clock Phases PLL (4) Notes to Figure 8–12: (1) All disabled blocks and signals are grayed out. (2) In DDR mode, rx_inclock clocks the IOE register. In SDR mode, data is directly passed through the IOE. (3) In SDR and DDR modes, the data width from the IOE is 1 and 2 bits, respectively. (4) Arria II GX center/corner PLL or Arria II GZ left/right PLL. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–16 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Receiver Receiver Datapath Modes Arria II devices support the following three receiver datapath modes: ■ “Non-DPA” ■ “DPA Mode” ■ “Soft CDR Mode” Non-DPA Non-DPA mode allows you to statically select the optimal phase between the source-synchronous reference clock and the input serial data to compensate for any skew between the two signals. The reference clock must be a differential signal. Figure 8–13 shows the non-DPA datapath block diagram. Input serial data is registered at the rising or falling edge of the LVDS_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. 1 For more information about the LVDS Transmitter/Receiver Package Skew Compensation report panel, refer to the “Arria II GX LVDS Package Skew Compensation Report Panel“ section in the SERDES Transmitter/Receiver (ALTLVDS) Megafunction User Guide. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Receiver 8–17 Figure 8–13. Receiver Datapath in Non-DPA Mode (Note 1), (2), (3) LVDS Receiver IOE Supports SDR, DDR, or Non-Registered Datapath 2 rx_out + IOE 10 rx_in Synchronizer Deserializer Bit Slip DOUT DIN DOUT DIN DPA P Circuitry DOUT DIN N Retimed Data DIN FPGA Fabric 2 DPA P Clock Clock Multiplexer rx_divfwdclk DPA_diffioclk P L LVDS_diffiioclk diffioclk (LOAD_EN, diffioclk) 3 (DPA_LOAD_EN, DPA_diffioclk, rx_divfwdclk) rx_outclock 3 (LVDS_LOAD_EN, LVDS_diffioclk, rx_outclk) 8 Serial LVDS L Clock Phases PLL (4) rx_inclock LVDS Clock Domain Notes to Figure 8–13: (1) All disabled blocks and signals are grayed out. (2) In SDR and DDR modes, the data width from the IOE is 1 and 2 bits, respectively. (3) The rx_out port has a maximum data width of 10 bits. (4) Arria II GX center/corner PLL or Arria II GZ left/right PLL. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–18 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Receiver DPA Mode In DPA mode, the DPA circuitry automatically chooses the optimal phase between the source-synchronous reference clock and the input serial data to compensate for the skew between the two signals. The reference clock must be a differential signal. Figure 8–14 shows the DPA mode datapath. Use the DPA_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) LVDS Receiver IOE Supports SDR, DDR, or Non-Registered Datapath 2 rx_out + IOE 10 rx_in Synchronizer Deserializer Bit Slip DOUT DIN DOUT DIN DPA Circuitry Retimed Data DOUT DIN DIN FPGA Fabric 2 DPA Clock Clock Multiplier rx_divfwdclk DPA_diffioclk LVDS_diffiioclk diffioclk (LOAD_EN, diffioclk) 3 (DPA_LOAD_EN, DPA_diffioclk, rx_divfwdclk) rx_outclock 3 (LVDS_LOAD_EN, LVDS_diffioclk, rx_outclk) LVDS Clock Domain DPA Clock Domain 8 Serial LVDS Clock Phases PLL (4) rx_inclock Notes to Figure 8–14: (1) All disabled blocks and signals are grayed out. (2) In SDR and DDR modes, the data width from the IOE is 1 and 2 bits, respectively. (3) The rx_out port has a maximum data width of 10 bits. (4) Arria II GX center/corner PLL or Arria II GZ left/right PLL. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Receiver 8–19 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) LVDS Receiver IOE Supports SDR, DDR, or Non-Registered Datapath 2 + IOE 10 rx_out rx_in Synchronizer Deserializer Bit Slip DOUT DIN DOUT DIN DPA Circuitry Retimed Data DOUT DIN DIN FPGA Fabric 2 DPA Clock Clock Multiplexer rx_divfwdclk DPA_diffioclk LVDS_diffiioclk diffioclk (LOAD_EN, diffioclk) 3 (DPA_LOAD_EN, DPA_diffioclk, rx_divfwdclk) rx_outclock 3 (LVDS_LOAD_EN, LVDS_diffioclk, rx_outclk) 8 Serial LVDS Clock Phases LVDS Clock Domain DPA Clock Domain PLL (4) rx_inclock Notes to Figure 8–15: (1) All disabled blocks and signals are grayed out. (2) In SDR and DDR modes, the data width from the IOE is 1 and 2 bits, respectively. (3) The rx_out port has a maximum data width of 10 bits. (4) Arria II GX center/corner PLL or Arria II GZ left/right PLL. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–20 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Receiver Differential I/O Termination The Arria II device family provides a 100- RD OCT option on each differential receiver channel for LVDS standards. OCT saves board space by eliminating the need to add external resistors on the board. You can enable OCT in the Quartus II software Assignment Editor. For Arria II GX devices, OCT is supported in the top, right, and bottom I/O banks. Arria II GX clock input pins (CLK[4..15]) do not support OCT. For Arria II GZ devices, RD OCT is supported on all row I/O pins and dedicated clock input pins (CLK[0,2,9,11]). It is not supported for column I/O pins and dedicated clock input pins (CLK[1,3,8,10]). Figure 8–16 shows LVDS input OCT. Figure 8–16. LVDS Input Buffer I/O R D OCT Arria II Differential Receiver with RD = 100 Ω OCT LVDS Transmitter Z0 = 50 Ω RD Z0 = 50 Ω Table 8–7 lists the assignment name and its value for differential input OCT in the Quartus II software Assignment Editor. Table 8–7. Differential Input OCT in Quartus II Software Assignment Editor Assignment Name Input Termination (Accepts wildcards/groups) Assignment Value Differential f For more information, refer to I/O Features in Arria II Devices chapter. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices PLLs 8–21 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. f For more information about PLLs, refer to the Clock Network and PLLs in Arria II Devices chapter. LVDS and DPA Clock Networks Arria II GX devices only have LVDS and DPA clock networks on the right side of the device. The center/corner PLLs feed into the differential transmitter and receiver channels through the LVDS and DPA clock networks. Figure 8–17 and Figure 8–18 show the LVDS clock tree for family members without center PLLs and with center PLLs, respectively. The center PLLs can drive the LVDS clock tree above and below them. In Arria II GX devices with or without center PLLs, the corner PLLs can drive both top and bottom LVDS clock tree. Figure 8–17. LVDS and DPA Clock Networks in the Arria II GX Devices without Center PLLs Corner PLL Quadrant 4 Quadrant No LVDS and DPA clock networks on the left side of the device 4 DPA Clock LVDS 8 Clock 4 Quadrant Quadrant Corner PLL July 2012 Altera Corporation 4 Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–22 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices LVDS and DPA Clock Networks Figure 8–18. LVDS and DPA Clock Networks in the Arria II GX Devices with Center PLLs 4 Corner PLL 4 Quadrant DPA Clock Quadrant LVDS 8 Clock Center PLL No LVDS and DPA clock networks on the left side of the device 4 4 Center PLL Quadrant Quadrant DPA Clock LVDS 8 Clock 4 4 Corner PLL Arria II GZ devices have left and right PLLs that feed into the differential transmitter and receive channels through the LVDS and DPA clock network. The center left and right PLLs can clock the transmitter and receive channels above and below them. Figure 8–19 shows center PLL clocking in Arria II GZ devices. Figure 8–19. LVDS/DPA Clocks in the Arria II GZ Devices with Center PLLs 4 LVDS Clock DPA Clock Quadrant Quadrant DPA Clock LVDS 4 Clock 4 4 2 Center PLL_L2 Center PLL_R2 Center PLL_L3 Center PLL_R3 2 2 2 4 4 4 LVDS Clock DPA Clock Quadrant Quadrant DPA Clock LVDS 4 Clock For more information about Arria II devices PLL clocking restrictions, refer to “Differential Pin Placement Guidelines” on page 8–27. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Source-Synchronous Timing Budget 8–23 Source-Synchronous Timing Budget This section describes the timing budget, waveforms, and specifications for source-synchronous signaling in Arria II devices. Timing analysis for the differential block is different from traditional synchronous timing analysis techniques. Therefore, it is important to understand how to analyze timing for high-speed differential signals. This section defines the source-synchronous differential data orientation timing parameters, timing budget definitions, and how to use these timing parameters to determine your design’s maximum performance. Differential Data Orientation There is a set relationship between an external clock and the incoming data. For operation at 1 Gbps and a serialization factor of 10, the external clock is multiplied by 10. You can set the phase-alignment in the PLL to coincide with the sampling window of each data bit. The data is sampled on the falling edge of the multiplied clock. Figure 8–20 shows the data bit orientation of x10 mode. Figure 8–20. Bit Orientation inclock/outclock 10 LVDS Bits MSB data in 9 8 7 6 5 4 3 LSB 2 1 0 Differential I/O Bit Position Data synchronization is necessary for successful data transmission at high frequencies. Figure 8–21 shows data bit orientation for a channel operation. These figures are based on the following: ■ serialization factor equals clock multiplication factor ■ edge alignment is selected for phase alignment ■ implemented in hard SERDES For other serialization factors, use the Quartus II software tools to find the bit position in the word. The bit positions after deserialization are listed in Table 8–8. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–24 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Source-Synchronous Timing Budget Figure 8–21. Bit Order and Word Boundary for One Differential Channel (Note 1) Transmitter Channel Operation (x8 Mode) tx_outclock tx_out X Current Cycle Next Cycle Previous Cycle X X X X X X X 7 6 5 4 3 2 1 0 X X X X X X X X MSB LSB Receiver Channel Operation (x8 Mode) rx_inclock rx_in 7 6 5 4 3 2 1 0 X X X X X X X X X X X X X X X X X X X X X X X X rx_outclock rx_out [7..0] XXXXXXXX XXXXXXXX XXXX7654 3210XXXX Note to Figure 8–21: (1) These waveforms are only functional waveforms and are not intended to convey timing information. Table 8–8 lists the conventions for differential bit naming for 18 differential channels. The MSB and LSB positions increase with the number of channels used in a system. Table 8–8. Differential Bit Naming Internal 8-Bit Parallel Data Receiver Channel Data Number MSB Position LSB Position 1 7 0 2 15 8 3 23 16 4 31 24 5 39 32 6 47 40 7 55 48 8 63 56 9 71 64 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 Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Source-Synchronous Timing Budget 8–25 Transmitter Channel-to-Channel Skew Transmitter channel-to-channel skew (TCCS) is an important parameter based on the Arria II transmitter in a source synchronous differential interface. This parameter is used in receiver skew margin calculation. TCCS is the difference between the fastest and slowest data output transitions, including the TCO variation and clock skew. For LVDS transmitters, the TimeQuest Timing Analyzer provides a TCCS report, which shows TCCS values for serial output ports. f You can get the TCCS value from the TCCS report (report_TCCS) in the Quartus II compilation report under the TimeQuest analyzer or from the Arria II Device Data Sheet chapter. Receiver Skew Margin for Non-DPA Mode Changes in system environment, such as temperature, media (cable, connector, or PCB), and loading, effect the receiver’s setup and hold times; internal skew affects the sampling ability of the receiver. Different modes of LVDS receivers use different specifications, which can help in deciding the ability to sample the received serial data correctly. In DPA mode, use DPA jitter tolerance instead of receiver skew margin (RSKM). In non-DPA mode, use RSKM, TCCS, and sampling window (SW) specifications for high-speed source-synchronous differential signals in the receiver datapath. The relationship between RSKM, TCCS, and SW is expressed by the RSKM equation shown in Equation 8–1: Equation 8–1. TUI – SW – TCCS RSKM = ---------------------------------------------2 Where: ■ TUI—the time period of the serial data. ■ RSKM—the timing margin between the receiver’s clock input and the data input SW. ■ SW—the period of time that the input data must be stable to ensure that the data is successfully sampled by the LVDS receiver. The sampling window is the device property and varies with the device speed grade. ■ TCCS—the difference between the fastest and slowest data output transitions, including the tCO variation and clock skew. You must calculate the RSKM value to decide whether or not the data can be sampled properly by the LVDS receiver with the given data rate and device. A positive RSKM value indicates the LVDS receiver can sample the data properly; a negative RSKM indicates the receiver cannot sample the data properly. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–26 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Source-Synchronous Timing Budget Figure 8–22 shows the relationship between the RSKM, TCCS, and SW. Figure 8–22. Differential High-Speed Timing Diagram and Timing Budget for Non-DPA Mode Timing Diagram External Input Clock Time Unit Interval (TUI) Internal Clock TCCS TCCS Receiver Input Data RSKM SW RSKM Internal Clock Falling Edge Timing Budget TUI External Clock Clock Placement Internal Clock Synchronization Transmitter Output Data RSKM RSKM TCCS TCCS 2 Receiver Input Data SW For LVDS receivers, the Quartus II software provides the RSKM report showing SW, TUI, and RSKM values for non-DPA mode. You can generate the RSKM by executing the report_RSKM command in the TimeQuest analyzer. You can find the RSKM report in the Quartus II Compilation report under TimeQuest Timing Analyzer section. 1 To obtain the RSKM value, assign an appropriate input delay to the LVDS receiver through the TimeQuest analyzer constraints menu. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Pin Placement Guidelines 8–27 Differential Pin Placement Guidelines To ensure proper high-speed operation, differential pin placement guidelines are established. The Quartus II Compiler automatically checks that these guidelines are followed and issues an error message if they are not adhered to. 1 DPA-enabled differential channels refer to DPA mode or soft CDR mode; DPA-disabled channels refer to non-DPA mode. DPA-Enabled Channels and Single-Ended I/Os When single-ended I/Os and LVDS I/Os share the same I/O bank, the placement of single-ended I/O pins with respect to LVDS I/O pins is restricted. The constraints on single-ended I/Os placement with respect to DPA-enabled or DPA-disabled LVDS I/Os are the same. ■ Single-ended I/Os are allowed in the same I/O bank, if the single-ended I/O standard uses the same VCCIO as the DPA-enabled differential I/O bank. ■ Single-ended inputs can be in the same logic array block (LAB) row as a differential channel using the SERDES circuitry. ■ Double data rate I/O (DDIO) can be placed within the same LAB row as a SERDES differential channel but half rate DDIO or single data rate (SDR) output pins cannot be placed within the same LAB row as a receiver SERDES differential channel. The input register must be implemented within the FPGA fabric logic. Guidelines for DPA-Enabled Differential Channels When you use DPA-enabled channels, you must adhere to the guidelines listed in the following sections. DPA-Enabled Channel Driving Distance If the number of DPA-enabled channels driven by each center or corner PLL exceeds 25 LAB rows, Altera recommends implementing data realignment (bit slip) circuitry for all the DPA channels. Using Center and Corner Left and Right PLLs in Arria II GX Devices If the DPA-enabled channels in a bank are being driven by two PLLs, where the corner PLL is driving one group and the center PLL is driving another group, there must be at least one row of separation between the two groups of DPA-enabled channels, as shown in Figure 8–23. This separation prevents noise mixing because the two groups can operate at independent frequencies. No separation is necessary if a single PLL is driving both the DPA-enabled channels and DPA-disabled channels. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–28 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Pin Placement Guidelines Figure 8–23. Center and Corner PLLs Driving DPA-Enabled Differential I/Os in the Same Bank Corner PLL Reference CLK DPA -enabled Diff I/O DPA - enabled Diff I/O DPA - enabled Diff I/O Channels driven by Corner PLL DPA - enabled Diff I/O DPA - enabled Diff I/O Diff I/O One Unused Channel for Buffer DPA-enabled Diff I/O DPA-enabled Diff I/O DPA -enabled Diff I/O Channels driven by Center PLL DPA- enabled Diff I/O Reference CLK Center PLL Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Pin Placement Guidelines 8–29 Using Both Center PLLs You can use center PLLs to drive DPA-enabled channels simultaneously, if they drive these channels in their adjacent banks only, as shown in Figure 8–23. 1 Center PLLs are available at the right I/O banks of Arria II GX devices and the right and left I/O banks of Arria II GZ devices. If one of the center PLLs drives the DPA-enabled channels in the upper and lower I/O banks, you cannot use the other center PLL for DPA-enabled channels, as shown in Figure 8–24. Figure 8–24. Center PLLs Driving DPA-Enabled Differential I/Os July 2012 DPA-enabled Diff I/O DPA-enabled Diff I/O DPA-enabled Diff I/O DPA-enabled Diff I/O DPA-enabled Diff I/O Reference CLK DPA-enabled Diff I/O DPA-enabled Diff I/O DPA-enabled Diff I/O Reference CLK Center PLL Center PLL Center PLL Center PLL Reference CLK DPA-enabled Diff I/O DPA-enabled Diff I/O DPA-enabled Diff I/O 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 Altera Corporation Unused PLL Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–30 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Pin Placement Guidelines If the upper center PLL drives DPA-enabled channels in the lower I/O bank, the lower center PLL cannot drive DPA-enabled channels in the upper I/O bank, and vice versa. In other words, the center PLLs cannot drive cross-banks simultaneously, as shown in Figure 8–25. Figure 8–25. Invalid Placement of DPA-Disabled Differential I/Os Driven by Both Center PLLs DPA-enabled Diff I/O DPA-enabled Diff I/O DPA-enabled Diff I/O DPA-enabled Diff I/O Reference CLK Center PLL Center PLL Reference CLK DPA-enabled Diff I/O DPA-enabled Diff I/O DPA-enabled Diff I/O DPA-enabled Diff I/O Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Pin Placement Guidelines 8–31 Using Both Corner PLLs in Arria II GX Devices You can use both corner PLLs to drive DPA-enabled channels simultaneously, if they drive the channels in their adjacent banks only. There must be at least one row of separation between the two groups of DPA-enabled channels. If one of the corner PLLs drives DPA-enabled channels in the upper and lower I/O banks, you cannot use the center PLLs. You can use the other corner PLL to drive DPA-enabled channels in their adjacent bank only. There must be at least one row of separation between the two groups of DPA-enabled channels. If the upper corner PLL drives DPA-enabled channels in the lower I/O bank, the lower corner PLL cannot drive DPA-enabled channels in the upper I/O bank, and vice versa. In other words, the corner PLLs cannot drive cross-banks simultaneously, as shown in Figure 8–26. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–32 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Pin Placement Guidelines Figure 8–26. Corner PLLs Driving DPA-Enabled Differential I/Os Upper Corner PLL Reference CLK DPA -enabled Diff I/O DPA - enabled Diff I/O Upper I/O Bank Diff I/O DPA - enabled Diff I/O DPA - enabled Diff I/O Center PLL Center PLL Unused PLLs DPA-enabled Diff I/O DPA -enabled Diff I/O Lower I/O Bank DPA- enabled Diff I/O Reference CLK Lower Corner PLL Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Pin Placement Guidelines 8–33 Guidelines for DPA-Disabled Differential Channels When you use DPA-disabled channels, you must adhere to the guidelines in the following sections. DPA-Disabled Channel Driving Distance Each PLL can drive all the DPA-disabled channels in the entire bank. Using Corner and Center PLLs in Arria II GX Devices You can use a corner PLL to drive all transmitter channels and you can use a center PLL to drive all DPA-disabled receiver channels in the same I/O bank. In other words, you can drive a transmitter channel and a receiver channel in the same LAB row by two different PLLs, as shown in Figure 8–27. Figure 8–27. Corner and Center PLLs Driving DPA-Disabled Differential I/Os in the Same Bank Corner PLL Reference CLK Reference CLK Diff RX Diff TX Diff RX Diff TX Diff RX Diff TX Diff RX Diff TX Diff RX Diff TX Diff RX Diff TX Diff RX Diff TX Diff RX Diff TX Diff RX Diff TX DPA-disabled Diff I/O Diff RX Diff TX DPA -disabled Diff I /O Reference CLK Center PLL July 2012 Corner PLL Altera Corporation 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 Channels driven by Corner PLL No separation buffer needed Channels driven by Center PLL Reference CLK Center PLL Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–34 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Pin Placement Guidelines A corner PLL and a center PLL can drive duplex channels in the same I/O bank, if the channels driven by each PLL are not interleaved. No separation is necessary between the group of channels driven by the corner and center left and right PLLs. Refer to Figure 8–27 and Figure 8–28. Figure 8–28. Invalid Placement of DPA-Disabled Differential I/Os Due to Interleaving of Channels Driven by the Corner and Center PLLs Center PLL Reference CLK DPA-disabled Diff I/O DPA-disabled Diff I/O DPA-disabled Diff I/O DPA-disabled Diff I/O DPA-disabled Diff I/O DPA-disabled Diff I/O DPA-disabled Diff I/O DPA-disabled Diff I/O DPA-disabled Diff I/O DPA-disabled Diff I/O Reference CLK Center PLL Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Differential Pin Placement Guidelines 8–35 Using Both Center PLLs You can use both center PLLs simultaneously to drive DPA-disabled channels on upper and lower I/O banks. Unlike DPA-enabled channels, the center PLLs can drive DPA-disabled channels cross-banks. For example, the upper center PLL can drive the lower I/O bank at the same time the lower center PLL is driving the upper I/O bank, and vice versa, as shown in Figure 8–29. 1 Center PLLs are available at the right I/O banks of Arria II GX devices and the right and left I/O banks of Arria II GZ devices. Figure 8–29. Both Center PLLs Driving Cross-Bank DPA-Disabled Channels Simultaneously DPA-disabled Diff I/O DPA-disabled Diff I/O DPA-disabled Diff I/O DPA-disabled Diff I/O Reference CLK Center PLL Center PLL Reference CLK DPA-disabled Diff I/O DPA-disabled Diff I/O DPA-disabled Diff I/O DPA-disabled Diff I/O July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–36 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Setting Up an LVDS Transmitter or Receiver Channel Using Both Corner PLLs in Arria II GX Devices You can use both corner PLLs to drive DPA-disabled channels simultaneously. Both corner PLLs can drive cross-banks. You can use a corner PLL to drive all the transmitter channels and you can use the other corner PLL to drive all DPA-disabled receiver channels in the same I/O bank. Both corner PLLs can drive duplex channels in the same I/O bank if the channels driven by each PLL are not interleaved. No separation is necessary between the group of channels driven by both corner PLLs. Setting Up an LVDS Transmitter or Receiver Channel The ALTLVDS megafunction offers you the ease of setting up an LVDS transmitter or receiver channel. You can control the settings of SERDES and DPA circuitry in the ALTLVDS megafunction. When you instantiate an ALTLVDS megafunction, the PLL is instantiated automatically and you can set the parameters of the PLL. This megafunction simplifies the clocking setup for the LVDS transmitter or receiver channels. However, the drawback is reduced flexibility when using the PLL. The ALTLVDS megafunction provides an option for implementing the LVDS transmitter or receiver interfaces with external PLLs. With this option enabled, you can control the PLL settings, such as dynamically reconfiguring the PLLs to support different data rates, dynamic phase shift, and other settings. You also must instantiate an ALTPLL megafunction to generate the various clock and load enable signals. f For more information about how to control the PLL, SERDES, and DPA block settings, and detailed descriptions of the LVDS transmitter and receiver interface signals, refer to the SERDES Transmitter/Receiver (ALTLVDS) Megafunction User Guide. f For more information about the ALTPLL megafunction, refer to the Phase Locked-Loops (ALTPLL) Megafunction User Guide. Document Revision History Table 8–9 lists the revision history for this chapter. Table 8–9. Document Revision History (Part 1 of 2) Date Version July 2012 4.3 December 2011 4.2 June 2011 4.1 Changes Made Updated Figure 8–23. ■ Updated “Differential Receiver” section. ■ Minor text edits. ■ Updated Figure 8–2. ■ Minor text edits. Updated for the Quartus II software version 10.1 release: December 2010 4.0 ■ Added Arria II GZ device information. ■ Updated Table 8–3 and Table 8–4. ■ Updated Figure 8–2. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Document Revision History 8–37 Table 8–9. Document Revision History (Part 2 of 2) Date Version Changes Made Updated for Arria II GX v10.0 release: July 2010 3.0 ■ 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. Updated for Arria II GX v9.1 release: November 2009 2.0 ■ Updated Table 8–1 and Table 8–2. ■ Updated Figure 8–1. ■ Updated “LVDS Channels” and “Non-DPA Mode” sections. ■ Minor text edit. ■ Updated Table 8–2 and Table 8–3. Updated “Programmable Pre-Emphasis and Programmable VOD.” and “LVDS Channels” sections. June 2009 1.1 ■ February 2009 1.0 Initial release July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 8–38 Chapter 8: High-Speed Differential I/O Interfaces and DPA in Arria II Devices Document Revision History Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Section III. System Integration for Arria II Devices This section provides information about Arria® II device configuration, design security, remote system upgrades, SEU mitigation, JTAG, and power requirements. This section includes the following chapters: ■ Chapter 9, Configuration, Design Security, and Remote System Upgrades in Arria II Devices ■ Chapter 10, SEU Mitigation in Arria II Devices ■ Chapter 11, JTAG Boundary-Scan Testing in Arria II Devices ■ Chapter 12, Power Management in Arria II Devices Revision History Refer to each chapter for its own specific revision history. For information on when each chapter was updated, refer to the Chapter Revision Dates section, which appears in this volume. February 2014 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration III–2 Arria II Device Handbook Volume 1: Device Interfaces and Integration Section III: System Integration for Arria II Devices Revision History February 2014 Altera Corporation 9. Configuration, Design Security, and Remote System Upgrades in Arria II Devices July 2012 AIIGX51009-4.3 AIIGX51009-4.3 This chapter describes the supported configuration schemes for Arria® II devices, instructions for executing the required configuration schemes, and the necessary option pin settings. This chapter also reviews the different ways you can configure your device and explains the design security and remote system upgrade features for Arria II devices. Arria II devices use SRAM cells to store configuration data. Because SRAM memory is volatile, you must download configuration data to the Arria II device each time the device powers up. All configuration schemes use either an external controller (for example, a MAX® II device or microprocessor), a configuration device, or a download cable. This chapter includes the following sections: ■ “Configuration Features” ■ “Power-On Reset Circuit and Configuration Pins Power Supply” on page 9–4 ■ “Configuration Process” on page 9–7 ■ “Configuration Schemes” on page 9–9 ■ “Fast Passive Parallel Configuration” on page 9–11 ■ “AS and Fast AS Configuration (Serial Configuration Devices)” on page 9–19 ■ “PS Configuration” on page 9–26 ■ “JTAG Configuration” on page 9–33 ■ “Device Configuration Pins” on page 9–39 ■ “Configuration Data Decompression” on page 9–46 ■ “Remote System Upgrades” on page 9–48 ■ “Remote System Upgrade Mode” on page 9–52 ■ “Dedicated Remote System Upgrade Circuitry” on page 9–55 ■ “Quartus II Software Support” on page 9–60 ■ “Design Security” on page 9–61 © 2012 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Subscribe 9–2 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Configuration Features Configuration Devices Altera® serial configuration devices support single- and multi-device configuration solutions for Arria II devices. Arria II GX devices use the active serial (AS) configuration scheme while Arria II GZ devices use the fast AS configuration scheme. Serial configuration devices offer a low-cost, low pin-count configuration solution. f For more information about serial configuration devices, refer to the Serial Configuration Devices (EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Datasheet in volume 2 of the Configuration Handbook. 1 All minimum timing information stated in this chapter covers the entire Arria II device family. Some devices may work at less than the minimum timing stated in this chapter due to process variations. Configuration Features Arria II devices offer decompression, design security, and remote system upgrade features. Arria II devices can receive a compressed configuration bitstream and decompress this data in real-time, reducing storage requirements and configuration time. Design security using configuration bitstream encryption protects your designs. You can make real-time system upgrades from remote locations of your Arria II designs with the remote system upgrade feature. Table 9–1 lists the configuration features you can use in each configuration scheme for Arria II GX devices. Table 9–1. Configuration Features for Arria II GX Devices Configuration Scheme 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 v v v (2) MAX II device or a microprocessor with flash memory v v — Download cable v v — MAX II device or a microprocessor with flash memory — — — Download cable — — — PS JTAG 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Configuration Features 9–3 Table 9–2 lists the configuration features you can use in each configuration scheme for Arria II GZ devices. Table 9–2. Configuration Features for Arria II GZ Devices Configuration Scheme 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 v v v (2) MAX II device or a microprocessor with flash memory v v — Download cable v v — MAX II device or a microprocessor with flash memory — — — Download cable — — — PS JTAG 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. Refer to the following for the configuration features supported in Arria II devices: ■ For more information about the configuration data decompression feature, refer to “Configuration Data Decompression” on page 9–46. ■ For more information about the remote system upgrade feature, refer to “Remote System Upgrades” on page 9–48. ■ For more information about the design security feature, refer to the “Design Security” on page 9–61. ■ For more information about the parallel flash loader (PFL), refer to Parallel Flash Loader Megafunction User Guide. If your system already contains a common flash interface (CFI) flash memory device, you can also use it for the Arria II device configuration storage. The PFL feature in MAX II devices provides an efficient method to program CFI flash memory devices through the JTAG interface and provides the logic to control configuration from the flash memory device to the Arria II device. Both passive serial (PS) and fast passive parallel (FPP) configuration modes are supported using this PFL feature. For more information about programming Altera serial configuration devices, refer to “Programming Serial Configuration Devices” on page 9–24. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–4 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Power-On Reset Circuit and Configuration Pins Power Supply Power-On Reset Circuit and Configuration Pins Power Supply The following sections describe the power-on reset (POR) circuit and the power supply for the configuration pins. Power-On Reset Circuit The POR circuit keeps the entire system in reset mode until the power supply voltage levels have stabilized on power-up. After power-up, the device does not release nSTATUS until the voltage levels are above the POR trip point of the device. Table 9–3 lists the voltages required for power-up in Arria II devices. Table 9–3. Required Voltages for Arria II Devices Devices 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 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, V CCPGM, 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 4 ms < TPOR < 12 ms for a fast configuration time. Standard POR time is 100 ms < TPOR < 300 ms for a lower power-ramp rate. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Power-On Reset Circuit and Configuration Pins Power Supply 9–5 Configuration Pins Power Supply Table 9–4 lists the configuration pins for Arria II devices. Table 9–4. Configuration pins for Arria II Devices Devices Arria II GX Configuration Pins All dedicated configuration pins are supplied by VCCIO for I/O banks 3C and 8C in which they reside. The supported configuration voltages are 1.8, 2.5, 3.0, and 3.3 V. Use the VCCIO pin for I/O banks 3C and 8C to power all the dedicated configuration inputs, dedicated configuration outputs, and dedicated configuration bidirectional pins that you used for configuration. With VCCIO for I/O banks 3C and 8C, the configuration input buffers do not have to the share power lines with the regular I/O buffer. 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. 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 V CCIO. f For more information, refer to the Power Management in Arria II Devices chapter. f For more information about the configuration pins connection recommendations, refer to the Arria II Device Family Pin Connection Guidelines. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–6 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Power-On Reset Circuit and Configuration Pins Power Supply VCCPD Pins Arria II devices have a dedicated programming power supply, the V CCPD pins. Table 9–5 lists the power supply for Arria II devices. Table 9–5. Power Supply for Arria II Devices Devices Programming Power Supply VCCPD must be connected to 3.3, 3.0, or 2.5 V to power the I/O pre-drivers, HSTL/SSTL input buffers, and MSEL[3..0] pins. Arria II GX 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 V CCPD according to the I/O standard used in the same bank: ■ For 3.3-V I/O standards, connect VCCPD to 3.3 V. ■ For 3.0-V I/O standards, connect VCCPD to 3.0 V. ■ For 2.5-V and below I/O standards, connect VCCPD to 2.5 V. VCCPD must be connected to 3.0 or 2.5 V to power the I/O pre-drivers and JTAG I/O pins (TCK, TMS, TDI, TDO, and TRST). Arria II GZ 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 V CCIO of the bank is powered to 3.0 V, VCCPD must be powered up to 3.0 V. ■ If the V CCIO of the bank is powered to 2.5 V or lower, VCCPD must be powered up to 2.5 V. For more information about configuration pins power supply, refer to “Device Configuration Pins” on page 9–39. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Configuration Process 9–7 Configuration Process The following sections describe the general configuration process for FPP, standard AS, fast AS, and PS schemes. Power Up To begin the configuration process, you must fully power the relevant voltage supply to the appropriate voltage levels. 1 For an FPP configuration in Arria II GX devices, the DATA[7..1] pins are supplied by VCCIO for I/O bank 6A. You must power up this bank when you use the FPP configuration. For Arria II GZ devices, the DATA[7..1] pins are powered up by VCCPGM during configuration or by VCCIO if they are used as regular I/Os in user mode. Reset After power up, the Arria II device goes through a POR. The POR delay depends on the 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–8 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Configuration Process A reconfiguration is initiated by toggling the 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. 1 Altera 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. 1 Two 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Configuration Schemes 9–9 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 9–6 and Table 9–7. The MSEL input buffers are powered by the VCCPD and VCCPGM power supplies for Arria II GX and GZ devices, respectively. Altera recommends hardwiring the MSEL[] pins to VCCPD/VCCPGM or GND. The MSEL[3..0] pins have 5-k internal pull-down resistors that are always active. During POR and during reconfiguration, the MSEL pins must be at LVTTL VIL and VIH levels to be considered logic low and logic high, respectively. 1 To avoid problems with detecting an incorrect configuration scheme, hardwire the MSEL[] pins to V CCPD/VCCPGM or GND without pull-up or pull-down resistors. Do not drive the MSEL[] pins by a microprocessor or another device. 1 For Figure 9–1 on page 9–12 through Figure 9–30 on page 9–66, MSEL[n..0] represents MSEL[3..0] for Arria II GX devices and MSEL[2..0] for Arria II GZ devices as listed in Table 9–6 and Table 9–7, respectively. Table 9–6. Configuration Schemes for Arria II GX Devices (Part 1 of 2) Configuration Scheme FPP FPP with design security feature, decompression, or both enabled (2) PS July 2012 Altera Corporation MSEL3 MSEL2 MSEL1 MSEL0 POR Delay Configuration Voltage Standard (V) (1) 0 0 0 0 Fast 3.3, 3.0, 2.5 0 1 1 1 Fast 1.8 0 0 0 1 Fast 3.3, 3.0, 2.5 1 0 0 0 Fast 1.8 0 0 1 0 Fast 3.3, 3.0, 2.5 1 0 0 1 Fast 1.8 1 0 1 0 Standard 3.3, 3.0, 2.5 1 0 1 1 Standard 1.8 Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–10 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Configuration Schemes Table 9–6. Configuration Schemes for Arria II GX Devices (Part 2 of 2) Configuration Scheme AS with or without remote system upgrade JTAG-based configuration (3) MSEL3 MSEL2 MSEL1 MSEL0 POR Delay Configuration Voltage Standard (V) (1) 0 0 1 1 Fast 3.3 1 1 0 1 Fast 3.0, 2.5 1 1 1 0 Standard 3.3 1 1 1 1 Standard 3.0, 2.5 (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–7 lists the configuration schemes for Arria II GZ devices. Table 9–7. Configuration Schemes for Arria II GZ Devices 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) — — Configuration Scheme 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Fast Passive Parallel Configuration 9–11 Raw Binary File Size Table 9–8 lists the uncompressed raw binary file (.rbf) configuration file sizes for Arria II devices. Table 9–8. Uncompressed .rbf Sizes for Arria II Devices Device Data Size (bits) 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 Use the data in Table 9–8 to estimate the file size before design compilation. Different configuration file formats, such as a hexidecimal (.hex) or tabular text file (.ttf) format, have different file sizes. For the different types of configuration file and file sizes, refer to the Quartus II software. However, for a specific version of the Quartus II software, any design targeted for the same device has the same uncompressed configuration file size. If you are using compression, the file size can vary after each compilation because the compression ratio depends on your design. f For more information about setting device configuration options or creating configuration files, refer to the Device Configuration Options and Configuration File Formats chapters in volume 2 of the Configuration Handbook. Fast Passive Parallel Configuration FPP configuration in Arria II devices is designed to meet the continuously increasing demand for faster configuration times. Arria II devices are designed with the capability of receiving byte-wide configuration data per clock cycle. You can perform FPP configuration of Arria II devices using an intelligent host such as a MAX II device or microprocessor. FPP Configuration Using a MAX II Device as an External Host FPP configuration using an external host provides the fastest method to configure Arria II devices. In this configuration scheme, you can use a MAX II device or microprocessor as an intelligent host that controls the transfer of configuration data from a storage device, such as flash memory, to the target Arria II device. You can store configuration data in .rbf, .hex, or .ttf format. When using the MAX II device or microprocessor as an intelligent host, a design that controls the configuration process, such as fetching the data from flash memory and sending it to the device, must be stored in the MAX II device or microprocessor. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–12 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Fast Passive Parallel Configuration 1 If you use the Arria II decompression and/or design security features, the external host must send a 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. Figure 9–1. Single Device FPP Configuration Using an External Host Memory (1) (1) ADDR DATA[7..0] 10 kΩ 10 kΩ (2) 10 kΩ Arria II Device MSEL[n..0] (4) CONF_DONE nSTATUS External Host (MAX II Device or Microprocessor) nCE GND nCEO N.C. (3) DATA[7..0] nCONFIG DCLK Notes to Figure 9–1: (1) Connect the pull-up resistor to a supply that provides an acceptable input signal for the Arria II device. For Arria II GX devices, use the VCCIO pin. For Arria II GZ devices, use the VCCPGM pin. VCCIO/VCCPGM must be high enough to meet the VIH specification of the I/O on both the device and the external host. Altera recommends powering up the configuration system I/Os with VCCIO/VCCPGM . (2) A pull-up resistor to VCCIO/VCCPGM or a pull-down resistor keeps the 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. 1 Arria 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Fast Passive Parallel Configuration 9–13 You also have the flexibility to synchronize initialization of multiple devices or to delay initialization with the CLKUSR option. You can turn on the Enable user-supplied start-up clock (CLKUSR) option in the Quartus II software from the General tab of the Device and Pin Options dialog box. If you supply a clock on CLKUSR, it does not affect the configuration process. Arria II devices support an fMAX of 125 MHz. Figure 9–2 shows how to configure multiple Arria II devices using a MAX II device. This circuit is similar to the FPP configuration circuit for a single device, except the Arria II devices are cascaded for multi-device configuration. Figure 9–2. Multi-Device FPP Configuration Using an External Host Memory ADDR DATA[7..0] (1) (1) (2) 10 kΩ 10 kΩ MSEL[n..0] CONF_DONE nCE (3) Arria II Device 2 10 kΩ MSEL[n..0] (3) CONF_DONE nSTATUS External Host (MAX II Device or Microprocessor) (1) Arria II Device 1 10 kΩ nSTATUS nCEO nCE nCEO N.C. GND DATA[7..0] DATA[7..0] nCONFIG nCONFIG DCLK DCLK Notes to Figure 9–2: (1) Connect the pull-up resistor to a supply that provides an acceptable input signal for the Arria II device. For Arria II GX devices, use the VCCIO pin. For Arria II GZ devices, use the VCCPGM pin. VCCIO/VCCPGM must be high enough to meet the VIH specification of the I/O on both the device and the external host. Altera recommends powering up the configuration system I/Os with VCCIO/VCCPGM . (2) A pull-up resistor to VCCIO/VCCPGM or a pull-down resistor keeps the 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. 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–14 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Fast Passive Parallel Configuration If a system has multiple devices that contain the same configuration data, tie all device 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. Figure 9–3. Multiple-Device FPP Configuration Using an External Host When Both Devices Receive the Same Data Memory ADDR DATA[7..0] (1) (1) (2) Arria II Device 1 10 kΩ 10 kΩ 10 kΩ MSEL[n..0] Arria II Device 2 (3) MSEL[n..0] CONF_DONE External Host (MAX II Device or Microprocessor) nSTATUS nCE GND (3) CONF_DONE nCEO nSTATUS nCE N.C. nCEO N.C. GND DATA[7..0] DATA[7..0] nCONFIG nCONFIG DCLK DCLK Notes to Figure 9–3: (1) Connect the pull-up resistor to a supply that provides an acceptable input signal for the Arria II device. For Arria II GX devices, use the VCCIO pin. For Arria II GZ devices, use the VCCPGM pin. VCCIO/VCCPGM must be high enough to meet the VIH specification of the I/O on both the device and the external host. Altera recommends powering up the configuration system I/Os with VCCIO/VCCPGM . (2) A pull-up resistor to VCCIO/VCCPGM or a pull-down resistor keeps the 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. 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. f For more information about configuring multiple Altera devices in the same configuration chain, refer to the Configuring Mixed Altera FPGA Chains chapter in volume 2 of the Configuration Handbook. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Fast Passive Parallel Configuration 9–15 FPP Configuration Timing Figure 9–4 shows the timing waveform for an FPP configuration when using a MAX II device as an external host. This waveform shows timing when the decompression and design security features are not enabled. Figure 9–4. FPP Configuration Timing Waveform with Decompression and Design Security not Enabled (Note 1), (2) tCF2ST1 tCFG tCF2CK nCONFIG nSTATUS (3) tSTATUS tCF2ST0 t (5) CLK CONF_DONE (4) tCF2CD tST2CK tCH tCL (6) DCLK tDH DATA[7..0] Byte 0 Byte 1 Byte 2 Byte 3 (7) Byte n-2 Byte n-1 User Mode Byte n tDSU User I/O High-Z User Mode INIT_DONE tCD2UM Notes to Figure 9–4: (1) Use this timing waveform when you do not use the decompression and design security features. (2) The beginning of this waveform shows the device in user mode. In user mode, nCONFIG, 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 Arria II GX devices, DATA[0] is a dedicated pin that is used for both the PS and AS configuration modes and is not available as a user I/O pin after configuration. For Arria II GZ devices, DATA[0] is available as a user I/O pin after configuration. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–16 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Fast Passive Parallel Configuration Table 9–9 lists the timing parameters for Arria II devices for an FPP configuration when you do not enable the decompression and design security features. Table 9–9. FPP Timing Parameters for Arria II Devices with Decompression and Design Security not Enabled (Note 1) Symbol Parameter Minimum Maximum Units ns tCF2CD nCONFIG low to CONF_DONE low — 800 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 tR Input 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 = 1 ns, tCH = 3.6 ns, and tCL = 3.6 ns, respectively. (5) The minimum and maximum numbers apply only if you chose the internal oscillator as the clock source for initializing the device. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Fast Passive Parallel Configuration 9–17 Figure 9–5 shows the timing waveform for an FPP configuration when using a MAX II device or microprocessor as an external host. This waveform shows timing when you enable the decompression, the design security features, or both. Figure 9–5. FPP Configuration Timing Waveform with Decompression or Design Security Enabled (Note 1), (2) tCF2ST1 tCFG tCF2CK nCONFIG nSTATUS (3) CONF_DONE (4) tSTATUS tCF2ST0 tCF2CD (5) tCL tST2CK DCLK tCH 1 2 3 4 1 2 3 4 (6) 1 3 (7) 4 tCLK DATA[7..0] tDSU User I/O Byte 0 Byte 1 tDH tDH Byte 2 Byte (n-1) Byte n (8) User Mode User Mode High-Z INIT_DONE tCD2UM Notes to Figure 9–5: (1) Use this timing waveform when you use the decompression and/or design security features. (2) The beginning of this waveform shows the device in user-mode. In user-mode, nCONFIG, nSTATUS, and CONF_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 Arria II GX devices, DATA[0] is a dedicated pin that is used for both the PS and AS configuration modes and is not available as a user I/O pin after configuration. For Arria II GZ devices, DATA[0] is available as a user I/O pin after configuration. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–18 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Fast Passive Parallel Configuration Table 9–10 lists the timing parameters for Arria II devices for an FPP configuration when you enable the decompression, the design security features, or both. Table 9–10. FPP Timing Parameters for Arria II GX Devices with the Decompression or Design Security Features Enabled (Note 1) Symbol Parameter Minimum Maximum Units ns tCF2CD nCONFIG low to CONF_DONE low — 800 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 tR Input 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. f For more information about setting device configuration options or creating configuration files, refer to the Device Configuration Options and Configuration File Formats chapters in volume 2 of the Configuration Handbook. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices AS and Fast AS Configuration (Serial Configuration Devices) 9–19 AS and Fast AS Configuration (Serial Configuration Devices) Arria II GX and GZ devices are configured using a serial configuration device in the AS configuration scheme and the fast AS configuration scheme, respectively. These configuration devices are low-cost devices with non-volatile memory that feature a simple four-pin interface and a small form factor. These features make serial configuration devices an ideal low-cost configuration solution. f For more information about serial configuration devices, refer to the Serial Configuration Devices (EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Data Sheet chapter in volume 2 of the Configuration Handbook. Serial configuration devices provide a serial interface to access configuration data. During device configuration, Arria II devices read configuration data using the serial interface, decompress data if necessary, and configure their SRAM cells. This scheme is referred to as the AS configuration scheme because the Arria II device controls the configuration interface. This scheme contrasts with the PS configuration scheme, where the configuration device controls the interface. 1 The Arria II decompression and design security features are available when configuring your Arria II GX device using AS mode and when configuring your Arria II GZ device using fast AS mode. Serial configuration devices have a four-pin interface—serial clock input (DCLK), serial data output (DATA), AS data input (ASDI), and an active-low chip select (nCS). This four-pin interface connects to the Arria II device pins, as shown in Figure 9–6. Figure 9–6. Single Device AS Configuration VCCIO/VCCPGM VCCIO/VCCPGM VCCIO/VCCPGM (1) (1) (1) 10 kΩ 10 kΩ Serial Configuration Device 10 kΩ Arria II Device nSTATUS CONF_DONE nCONFIG nCE nCEO N.C. GND DATA DATA0 DCLK DCLK nCS nCSO CLKUSR ASDI ASDO MSEL [n..0] (2) (3) (4) 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–20 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices AS and Fast AS Configuration (Serial Configuration Devices) The serial clock (DCLK) generated by the Arria II device controls the entire configuration cycle and provides timing for the serial interface. During the configuration, Arria II devices use an internal oscillator or an external clock source to generate DCLK. At the initial stage of the configuration cycle, the Arria II device generates a default DCLK (40 MHz maximum) from the internal oscillator to read the header information of the programming data stored in the EPCS. After the header information is read from the EPCS, depending on the clock source being selected, the configuration cycle continues with a slow clock (20 MHz maximum) or a fast clock (40 MHz maximum) from the internal oscillator or an external clock from CLKUSR (40 MHz maximum). You can change the clock source option in the Quartus II software from the Configuration tab of the Device and Pin Options dialog box. 1 Arria II GZ devices only support fast AS configuration (40 MHz maximum) and do not support a slow clock. In AS and fast AS configuration schemes, Arria II devices drive out control signals on the falling edge of DCLK. The serial configuration device responds to the instructions by driving out configuration data on the falling edge of DCLK. Then the data is latched into the Arria II device on the following falling edge of DCLK. In configuration mode, Arria II devices enable the serial configuration device by driving the 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices AS and Fast AS Configuration (Serial Configuration Devices) 9–21 Figure 9–7 shows the pin connections for the multi-device AS configuration. Figure 9–7. Multi-Device AS Configuration VCCIO/VCCPGM VCCIO/VCCPGM VCCIO/VCCPGM (1) (1) (1) 10 kΩ 10 kΩ 10 kΩ Serial Configuration Device Arria II Device Master nSTATUS CONF_DONE nCONFIG nCE Arria II Device Slave nSTATUS CONF_DONE nCONFIG nCEO N.C. VCCIO/VCCPGM (1) GND 10 kΩ DATA DATA[0] DCLK DCLK nCS nCSO ASDI ASDO nCEO CLKUSR MSEL [n..0] (2) (3) nCE DATA[0] DCLK MSEL [n..0] (3) Buffers (4) Notes to Figure 9–7: (1) Connect the pull-up resistors to the VCCIO power supply of the I/O bank 3C for Arria II GX devices and to VCCPGM at a 3.0-V power supply for Arria II GZ devices. (2) Arria II devices have an option to select CLKUSR (40 MHz maximum) as the external clock source for DCLK. (3) The 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. 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. 1 July 2012 While you can cascade Arria II devices, you cannot cascade or chain together serial configuration devices. Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–22 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices AS and Fast AS Configuration (Serial Configuration Devices) If the configuration bitstream size exceeds the capacity of a serial configuration device, you must select a larger configuration device, enable the compression feature, or both. When configuring multiple devices, the size of the bitstream is the sum of the configuration bitstreams of the individual devices. A system may have multiple devices that contain the same configuration data. In AS chains, you can implement this by storing one copy of the SRAM object file (.sof) in the serial configuration device. The same copy of the .sof configures the master Arria II device and all remaining slave devices concurrently. All Arria II devices must be the same density and package. To configure four identical Arria II devices with the same .sof, you can set up the chain similar to the example shown in Figure 9–8. The first device is the master device and its 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 Arria II Device Slave nSTATUS CONF_DONE nCONFIG nCE VCCIO/VCCPGM VCCIO/VCCPGM VCCIO/VCCPGM (1) (1) 10 kΩ nCEO N.C. (1) 10 kΩ 10 kΩ DATA[0] MSEL[n..0] DCLK Arria II Device Master Serial Configuration Device nSTATUS CONF_DONE nCONFIG nCEO nCE (2) Arria II Device Slave nSTATUS CONF_DONE nCONFIG nCE N.C. nCEO N.C. GND GND DATA DATA0 DCLK DCLK nCS nCSO ASDI ASDO DATA[0] CLKUSR MSEL[n..0] (3) DCLK (2) MSEL[n..0] (2) Arria II Device Slave nSTATUS CONF_DONE nCONFIG nCE Buffers (4) nCEO N.C. DATA[0] DCLK MSEL[n..0] (2) 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices AS and Fast AS Configuration (Serial Configuration Devices) 9–23 Guidelines for Connecting Serial Configuration Device to Arria II Devices on an AS Interface For single- and multi-device AS configurations, the board trace length and loading between the supported serial configuration device and the Arria II devices must follow the recommendations listed in Table 9–11. Table 9–11. Maximum Trace Length and Loading for the AS Configuration in Arria II Devices 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 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–24 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices AS and Fast AS Configuration (Serial Configuration Devices) Programming Serial Configuration Devices Serial configuration devices are non-volatile, flash-memory-based devices. You can program these devices in-system using an USB-Blaster™, EthernetBlaster, EthernetBlaster II, or ByteBlaster™ II download cables. Alternatively, you can program them using a microprocessor with the SRunner software driver. 1 To gain control of the serial configuration device pins, hold the 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. f For more information about SFL, refer to AN 370: Using the Serial FlashLoader with Quartus II Software. f For more information, refer to the following: ■ ByteBlaster II Download Cable User Guide ■ EthernetBlaster Communications Cable User Guide ■ EthernetBlaster II Communications Cable User Guide ■ USB-Blaster Download Cable User Guide Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices AS and Fast AS Configuration (Serial Configuration Devices) 9–25 Figure 9–9 shows the download cable connections to the serial configuration device. Figure 9–9. In-System Programming of Serial Configuration Devices VCCIO/VCCPGM VCCIO/VCCPGM VCCIO/VCCPGM (1) 10 kΩ (1) (1) 10 kΩ 10 kΩ Arria II Device CONF_DONE nSTATUS Serial Configuration Device nCEO N.C. nCONFIG nCE 10 kΩ DATA DATA0 DCLK DCLK nCS nCSO CLKUSR (2) ASDI ASDO MSEL[n..0] (3) Pin 1 3.3 V (4) USB-Blaster or ByteBlaser II (AS Mode) 10-Pin Male Header Notes to Figure 9–9: (1) Connect the pull-up resistors to the VCCIO power supply of the I/O bank 3C for Arria II GX devices and to VCCPGM at a 3.0-V power supply for Arria II GZ devices. (2) Arria II devices have an option to select CLKUSR (40 MHz maximum) as the external clock source for DCLK. (3) The 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. You can program serial configuration devices with the Quartus II software using the Altera programming hardware and the appropriate configuration device programming adapter. In production environments, you can program serial configuration devices using multiple methods. You can use Altera programming hardware or other third-party programming hardware to program blank serial configuration devices before they are mounted onto PCBs. Alternatively, you can use an on-board microprocessor to program the serial configuration device in-system using C-based SRunner software drivers provided by Altera. You can program a serial configuration device in-system by an external microprocessor using SRunner. SRunner is a software driver developed for embedded serial configuration device programming, which can be easily customized to fit in different embedded systems. SRunner is able to read a raw programming data file (.rpd) and write to serial configuration devices. The serial configuration device programming time using SRunner is comparable to the programming time with the Quartus II software. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–26 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices PS Configuration f For more information about SRunner, refer to AN 418: SRunner: An Embedded Solution for EPCS Programming and the source code on the Altera website. f For more information about programming serial configuration devices, refer to the Serial Configuration Devices (EPCS1, EPCS4, EPCS16, EPCS64, and EPCS128) Data Sheet chapter in volume 2 of the Configuration Handbook. PS Configuration You can program a PS configuration of Arria II devices using an intelligent host, such as a MAX II device or microprocessor with flash memory, or a download cable. In the PS scheme, an external host (a MAX II device, embedded processor, or host PC) controls configuration. Configuration data is clocked into the target Arria II device using the DATA0 pin at each rising edge of DCLK. 1 The Arria II decompression and design security features are available when configuring your Arria II device using PS mode. PS Configuration Using a MAX II Device as an External Host In this configuration scheme, you can use a MAX II device as an intelligent host that controls the transfer of configuration data from a storage device, such as flash memory, to the target Arria II device. You can store configuration data in .rbf, .hex, or .ttf format. Figure 9–10 shows the configuration interface connections between an Arria II device and a MAX II device for single device configuration. Figure 9–10. Single Device PS Configuration Using an External Host Memory ADDR DATA[0] (1) (1) (2) Arria II Device 10 kΩ 10 kΩ 10 kΩ MSEL[n..0] (3) CONF_DONE nSTATUS External Host (MAX II Device or Microprocessor) nCE nCEO GND N.C. (4) DATA[0] nCONFIG DCLK Notes to Figure 9–10: (1) Connect the pull-up resistor to a supply that provides an acceptable input signal for the Arria II device. For Arria II GX devices, use the VCCIO pin. For Arria II GZ devices, use the VCCPGM pin. VCCIO/VCCPGM must be high enough to meet the VIH specification of the I/O on both the device and the external host. Altera recommends powering the configuration system I/Os with VCCIO/VCCPGM . (2) A pull-up resistor to VCCIO/VCCPGM or a pull-down resistor keeps the 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices PS Configuration 9–27 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. Figure 9–11. Multi-Device PS Configuration Using an External Host Memory ADDR DATA[0] (1) (1) (2) Arria II Device 1 10 kΩ 10 kΩ 10 kΩ MSEL[n..0] nSTATUS External Host (MAX II Device or Microprocessor) Arria II Device 2 MSEL[n..0] 10 kΩ CONF_DONE nCE (1) (3) CONF_DONE nSTATUS nCEO (3) nCEO N.C. nCE GND DATA[0] DATA[0] nCONFIG nCONFIG DCLK DCLK Notes to Figure 9–11: (1) Connect the pull-up resistor to a supply that provides an acceptable input signal for the Arria II device. For Arria II GX devices, use the VCCIO pin. For Arria II GZ devices, use the VCCPGM pin. VCCIO/VCCPGM must be high enough to meet the VIH specification of the I/O on both the device and the external host. Altera recommends powering up the configuration system I/Os with VCCIO/VCCPGM . (2) A pull-up resistor to VCCIO/VCCPGM or a pull-down resistor keeps the 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. 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–28 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices PS Configuration After the first device completes configuration in a multi-device configuration chain, its 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 Memory ADDR DATA[0] (1) (1) (2) Arria II Device 10 kΩ 10 kΩ 10 kΩ External Host (MAX II Device or Microprocessor) MSEL[n..0] Arria II Device MSEL[n..0] (3) CONF_DONE CONF_DONE nSTATUS nSTATUS nCE GND nCEO (3) nCE N.C. nCEO N.C. GND DATA[0] DATA[0] nCONFIG nCONFIG DCLK DCLK Notes to Figure 9–12: (1) Connect the pull-up resistor to a supply that provides an acceptable input signal for the Arria II device. For Arria II GX devices, use the VCCIO pin. For Arria II GZ devices, use the VCCPGM pin. VCCIO/VCCPGM must be high enough to meet the VIH specification of the I/O on both the device and the external host. Altera recommends powering up the configuration system I/Os with VCCIO/VCCPGM . (2) A pull-up resistor to VCCIO/VCCPGM or a pull-down resistor keeps the 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices PS Configuration 9–29 PS Configuration Timing Figure 9–13 shows the timing waveform for a PS configuration when using a MAX II device or microprocessor as an external host. Figure 9–13. PS Configuration Timing Waveform (Note 1) tCF2ST1 tCFG tCF2CK nCONFIG nSTATUS (2) tSTATUS tCF2ST0 t (4) CLK CONF_DONE (3) tCF2CD tST2CK tCH tCL (5) DCLK tDH (6) Bit 0 Bit 1 Bit 2 Bit 3 DATA Bit n tDSU High-Z User I/O User Mode INIT_DONE tCD2UM Notes to Figure 9–13: (1) The beginning of this waveform shows the device in user mode. In user mode, nCONFIG, 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. Table 9–12 lists the timing parameters for Arria II devices for PS configuration. Table 9–12. PS Timing Parameters for Arria II Devices (Part 1 of 2) Symbol 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 July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–30 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices PS Configuration Table 9–12. PS Timing Parameters for Arria II Devices (Part 2 of 2) Symbol Parameter Minimum Maximum Units fMAX DCLK frequency — 125 MHz tR Input 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. f For more information about device configuration options and how to create configuration files, refer to the Device Configuration Options and Configuration File Formats chapters in volume 2 of the Configuration Handbook. PS Configuration Using a Download Cable 1 In this section, the generic term “download cable” includes the Altera USB-Blaster USB port download cable, ByteBlaster II parallel port download cable, EthernetBlaster download cable, and EthernetBlaster II download cable. In a PS configuration with a download cable, an intelligent host (such as a PC) transfers data from a storage device to the Arria II device using the download cable. During configuration, the programming hardware or download cable places the configuration data one bit at a time on the device’s 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices PS Configuration 9–31 Figure 9–14 shows a PS configuration for Arria II devices using a USB-Blaster, EthernetBlaster, EthernetBlaster II, or ByteBlaster II cable. Figure 9–14. PS Configuration Using a USB-Blaster, EthernetBlaster, EthernetBlaster II, or ByteBlaster II Cable VCCIO/VCCPGM (1) VCCIO/VCCPGM (1) VCCIO/VCCPGM VCCIO/VCCPGM (1) (1) 10 kΩ 10 kΩ (2) VCCIO/VCCPGM (1) Arria II Device 10 kΩ 10 kΩ CONF_DONE nSTATUS 10 kΩ (2) (3) MSEL[n..0] nCE GND DCLK DATA0 nCONFIG nCEO N.C. Download Cable 10-Pin Male Header (PS Mode) Pin 1 VCCIO/VCCPGM (1) GND VIO (4) Shield GND Notes to Figure 9–14: (1) Connect the pull-up resistor to the same supply voltage, VCCIO for Arria II GX devices or VCCPGM for Arria II GZ devices as the USB-Blaster, EthernetBlaster, EthernetBlaster II, or ByteBlaster II cable. (2) You only need the pull-up resistors on 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. 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–32 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices PS Configuration Figure 9–15 shows how to configure multiple Arria II devices with a download cable. Figure 9–15. Multi-Device PS Configuration Using a USB-Blaster, EthernetBlaster, EthernetBlaster II, or ByteBlaster II Cable VCCIO/VCCPGM (1) VCCIO/VCCPGM (1) 10 kΩ 10 kΩ VCCIO/VCCPGM (1) (2) 10 kΩ Arria II Device 1 VCCIO/VCCPGM (1) (3) GND 10 kΩ CONF_DONE nSTATUS DCLK MSEL[n..0] nCE 10 kΩ VCCIO/VCCPGM (1) (2) Download Cable 10-Pin Male Header (PS Mode) Pin 1 VCCIO/VCCPGM (1) GND VIO (4) nCEO DATA0 nCONFIG GND Arria II Device 2 CONF_DONE (3) MSEL[n..0] nSTATUS VCCIO/ DCLK VCCPGM(1) 10 kΩ nCEO N.C. nCE DATA0 nCONFIG Notes to Figure 9–15: (1) Connect the pull-up resistor to the same supply voltage, VCCIO for Arria II GX devices or VCCPGM for Arria II GZ devices as the USB-Blaster, EthernetBlaster, EthernetBlaster II, or ByteBlaster II cable. (2) You only need the pull-up resistors on 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. f For more information about how to use the USB-Blaster, ByteBlaster II, EthernetBlaster, or EthernetBlaster II cables, refer to the following user guides: ■ ByteBlaster II Download Cable User Guide ■ EthernetBlaster Communications Cable User Guide ■ EthernetBlaster II Communications Cable User Guide ■ USB-Blaster Download Cable User Guide Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices JTAG Configuration 9–33 JTAG Configuration JTAG has developed a specification for boundary-scan testing. This boundary-scan test (BST) architecture offers the capability to efficiently test components on PCBs with tight lead spacing. The BST architecture can test pin connections without using physical test probes and capture functional data while a device is operating normally. You can also use JTAG circuitry to shift configuration data into the device. The Quartus II software automatically generates .sofs that you can use for JTAG configuration with a download cable in the Quartus II software programmer. f For more information about JTAG boundary-scan testing and commands available using Arria II devices, refer to the following documents: ■ JTAG Boundary-Scan Testing in Arria II Devices chapter ■ Programming Support for Jam STAPL Language Arria II devices are designed such that JTAG instructions have precedence over any device configuration modes. Therefore, JTAG configuration can take place without waiting for other configuration modes to complete. For example, if you attempt JTAG configuration of Arria II devices during PS configuration, PS configuration is terminated and JTAG configuration begins. 1 You cannot use the Arria II decompression or design security features if you are configuring your Arria II device using JTAG-based configuration. 1 A 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. f For more information about how to connect a JTAG chain with multiple voltages across the devices in the chain, refer to the JTAG Boundary-Scan Testing in Arria II Devices chapter. Table 9–13. JTAG Pins Signals (Part 1 of 2) Pin 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–34 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices JTAG Configuration Table 9–13. JTAG Pins Signals (Part 2 of 2) Pin Name Pin Type Description 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. During JTAG configuration, you can download data to the device on the PCB through the USB-Blaster, ByteBlaster II, EthernetBlaster, or EthernetBlaster II download cable. Figure 9–16 shows the JTAG configuration of a single Arria II device. Figure 9–16. JTAG Configuration of a Single Device Using a Download Cable VCCIO/VCCPD (2) VCCIO/VCCPGM (1) VCCIO/VCCPGM (1) (3) 10 kΩ VCCIO/VCCPD (2) Arria II Device 10 kΩ nCE (4) GND N.C. (5) (5) (5) nCE0 nSTATUS CONF_DONE nCONFIG MSEL[n..0] DCLK (3) TCK TDO TMS TDI Download Cable 10-Pin Male Header (JTAG Mode) (Top View) Pin 1 VCCIO/VCCPD (2) GND VIO (6) 1 kΩ GND GND Notes to Figure 9–16: (1) Connect the pull-up resistors to the VCCIO power supply of I/O bank 3C for Arria II GX devices and to VCCPGM (1.8-V, 2.5-V or 3.0-V) power supply for Arria II GZ devices. (2) Connect the pull-up resistor to the same supply voltage, VCCIO for Arria II GX devices or VCCPD for Arria II GZ devices as the USB-Blaster, ByteBlaster II, EthernetBlaster, or EthernetBlaster II cable. (3) The resistor value can vary from 1 K to 10 K. (4) You must connect 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices JTAG Configuration 9–35 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–36 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices JTAG Configuration Table 9–14. Dedicated Configuration Pin Connections During JTAG Configuration (Part 2 of 2) Signal Description 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. 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. Figure 9–17. JTAG Configuration of Multiple Devices Using a Download Cable Arria II Device VCCIO/VCCPGM (1) Download Cable 10-Pin Male Header (JTAG Mode) VCCIO/ VCCPD(2) (3) VCCIO/ VCCPD(2) (3) (5) nSTATUS nCONFIG (5) 10 kΩ 10 kΩ (5) nSTATUS nCONFIG DCLK (5) MSEL[n..0] (5) nCE (6) VIO (4) 10 kΩ TDI TMS TDO 10 kΩ nSTATUS nCONFIG DCLK (5) DCLK MSEL[n..0] (5) MSEL[n..0] CONF_DONE CONF_DONE nCE (6) TCK (1) 10 kΩ (5) CONF_DONE (5) Arria DeviceII GX Stratix II orIIStratix Device VCCIO/VCCPGM VCCIO/VCCPGM VCCIO/VCCPGM (1) (1) 10 kΩ VCCIO/VCCPD (2) Pin 1 Arria II Device VCCIO/VCCPGM VCCIO/VCCPGM (1) (1) TDI TMS nCE (6) TDO TCK TDI TMS TDO TCK 1 kΩ Notes to Figure 9–17: (1) Connect the pull-up resistors to the VCCIO power supply of I/O bank 3C for Arria II GX devices and to VCCPGM (1.8-V, 2.5-V or 3.0-V) power supply for Arria II GZ devices. (2) You must connect the pull-up resistor to the same supply voltage, VCCIO for Arria II GX devices or VCCPD for Arria II GZ devices as the USB-Blaster, ByteBlaster II, EthernetBlaster, or EthernetBlaster II cable. (3) The resistor value can vary from 1 K to 10 K. (4) In the USB-Blaster and ByteBlaster II cables, pin 6 is a no connect. (5) You must connect the 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices JTAG Configuration 9–37 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. 1 If 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. 1 JTAG configuration support is enhanced and allows more than 17 Arria II devices to be cascaded in a JTAG chain. f For more information about configuring multiple Altera devices in the same configuration chain, refer to the Configuring Mixed Altera Device Chains chapter in volume 2 of the Configuration Handbook. You can configure Arria II devices using multiple configuration schemes on the same board. Combining JTAG configuration with a PS or AS configuration on your board is useful in the prototyping environment because it allows multiple methods to configure your FPGA. f For more information about combining JTAG configuration with other configuration schemes, refer to the Combining Different Configuration Schemes chapter in volume 2 of the Configuration Handbook. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–38 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices JTAG Configuration Figure 9–18 shows a JTAG configuration of an Arria II device using a microprocessor. Figure 9–18. JTAG Configuration of a Single Device Using a Microprocessor VCCIO/ VCCPGM (1) VCCIO/ VCCPGM (1) Memory ADDR Arria II Device 10 kΩ 10 kΩ DATA nSTATUS CONF_DONE Microprocessor TDI (2) TCK (2) TMS (2) TDO (2) DCLK nCONFIG MSEL[n..0] nCEO (3) nCE (4) (4) (4) N.C. GND Notes to Figure 9–18: (1) Connect the pull-up resistor to a supply that provides an acceptable input signal for all Arria II devices in the chain. The VCCIO power supply for Arria II GX devices or the VCCPGM power supply for Arria II GZ devices must be high enough to meet the VIH specification of the I/O on the device. (2) To drive the JTAG pins, the microprocessor must use the same I/O standard as VCCIO for Arria II GX devices or VCCPD for Arria II GZ devices. (3) You must connect 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. Jam STAPL Jam standard test and programming language (STAPL), JEDEC standard JESD-71, is a standard file format for in-system programmability (ISP) purposes. Jam STAPL supports programming or configuration of programmable devices and testing of electronic systems, using the IEEE 1149.1 JTAG interface. Jam STAPL is a freely licensed open standard. The Jam Player provides an interface for manipulating the IEEE Std. 1149.1 JTAG TAP state machine. f For more information about JTAG and Jam STAPL in embedded environments, refer to AN 425: Using Command-Line Jam STAPL Solution for Device Programming. To download the Jam Player, visit the Altera website. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Device Configuration Pins 9–39 Device Configuration Pins Table 9–15 through Table 9–18 list the connections and functionality of all the configuration-related pins on the Arria II devices. Table 9–15 lists the Arria II configuration pins and their power supply. Table 9–15. Configuration Pin Summary for Arria II Devices Description Input/Output 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 Input — VCCPGM/VCCIO (2) All modes except JTAG DATA0 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 Input Yes VCCPGM/VCCIO All modes Bidirectional Yes VCCPGM/Pull-up All modes Input Yes VCCPGM/VCCIO All modes ASDO Output Yes VCCPGM/VCCIO AS nCSO Output Yes VCCPGM/VCCIO AS Input Yes VCCPGM/VCCIO PS, FPP Output Yes VCCPGM/VCCIO AS Input Yes VCC (3) All modes 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 nCE CONF_DONE nCONFIG DCLK nIO_PULLUP nCEO 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–40 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Device Configuration Pins Table 9–16 lists the dedicated configuration pins. You must connect these pins properly on your board for successful configuration. Some of these pins may not be required for your configuration schemes. Table 9–16. Dedicated Configuration Pins on the Arria II Device (Part 1 of 4) Pin Name User Mode Configuration Scheme Pin Type Description 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: VCCPD N/A All Power (1) ■ 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 V CCPD 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 V CCIO power supply for Arria II GX devices, or GND. Three-bit configuration input that sets the Arria II GZ device configuration scheme. For more information about the appropriate connections, refer to Table 9–7 on page 9–10. MSEL[2..0] N/A All Input You must hardwire these pins to VCCPGM or GND. The MSEL[2..0] pins have internal 5-k pull-down resistors that are always active. Four-bit configuration input that sets the Arria II GX device configuration scheme. For more information about the appropriate connections, refer to Table 9–6 on page 9–9. MSEL[3..0] N/A All Input You must hardwire these pins to VCCPD or GND. The MSEL[3..0] pins have internal 5-k pull-down resistors that are always active. 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Device Configuration Pins 9–41 Table 9–16. Dedicated Configuration Pins on the Arria II Device (Part 2 of 4) Pin Name User Mode Configuration Scheme Pin Type Description 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. N/A nSTATUS All ■ 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 Bidirectional because the device ignores transitions on nSTATUS in user open-drain mode, the device does not reconfigure. To begin a reconfiguration, nCONFIG must be pulled low. If VCCIO for Arria II GX devices or V CCPGM 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. 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. CONF_DONE N/A All Bidirectional Status input. After all data is received and CONF_DONE goes open-drain 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–42 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Device Configuration Pins Table 9–16. Dedicated Configuration Pins on the Arria II Device (Part 3 of 4) Pin Name nCE User Mode N/A Configuration Scheme All Pin Type Input Description 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. 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. DCLK (2) N/A Synchronous configuration schemes (PS, FPP, AS) Input (PS, FPP) Output (AS) Arria II Device Handbook Volume 1: Device Interfaces and Integration 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. July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Device Configuration Pins 9–43 Table 9–16. Dedicated Configuration Pins on the Arria II Device (Part 4 of 4) Pin Name User Mode Configuration Scheme Pin Type Description 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. DATA0 (2) N/A PS, FPP, AS Input 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 inputs. Byte-wide configuration data is presented to the target device on DATA[7..0]. DATA[7..1] I/O Parallel configuration schemes (FPP) Inputs 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–44 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Device Configuration Pins Table 9–17 lists the optional configuration pins. If these optional configuration pins are not enabled in the Quartus II software, they are available as general-purpose user I/O pins. Therefore, during configuration, these pins function as user I/O pins and are tri-stated with weak pull-up resistors. Table 9–17. Optional Configuration Pins Pin Name CLKUSR User Mode N/A if option is on. I/O if option is off. Pin Type Description 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. 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. INIT_DONE DEV_OE DEV_CLRn N/A if option is on. I/O if option is off. N/A if option is on. I/O if option is off. N/A if option is on. I/O if option is off. Output open-drain 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. 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. 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Device Configuration Pins 9–45 Table 9–18 lists the dedicated JTAG pins. JTAG pins must be kept stable before and during configuration to prevent accidental loading of JTAG instructions. The TDI, TMS, and 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 N/A TDI Pin Type Description 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. N/A 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. 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. N/A 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 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. N/A TCK 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. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–46 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Configuration Data Decompression Configuration Data Decompression Arria II devices support configuration data decompression, which saves configuration memory space and time. This feature allows you to store compressed configuration data in configuration devices or other memory and transmit this compressed bitstream to Arria II devices. During configuration, the Arria II device decompresses the bitstream in real time and programs its SRAM cells. 1 Data indicates that compression typically reduces the configuration bitstream size by 35 to 55% based on the designs used. Arria II devices support decompression in the FPP (when using a MAX II device or microprocessor + flash), AS or fast AS, and PS configuration schemes. The Arria II device decompression feature is not available in the JTAG configuration scheme. 1 When 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). Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Configuration Data Decompression 9–47 To enable compression in the project’s Compiler Settings menu, follow these steps: 1. On the Assignments menu, click Device. The Settings dialog box appears. 2. After selecting your Arria II device, open the Device and Pin Options window. 3. In the Configuration settings tab, turn on Generate compressed bitstreams (as shown in Figure 9–19). Figure 9–19. Enabling Compression for Arria II Bitstreams in Compiler Settings You can also enable compression when creating programming files from the Convert Programming Files window. To do this, follow these steps: 1. On the File menu, click Convert Programming Files. 2. Select the programming file type (.pof, .sram, .hex, .rbf, or .ttf). 3. For .pof output files, select a configuration device. 4. In the Input files to convert box, select SOF Data. 5. Select Add File and add an Arria II device .sof. 6. Select the name of the file you added to the SOF Data area and click Properties. 7. Check the Compression check box. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–48 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Remote System Upgrades When multiple Arria II devices are cascaded, you can selectively enable the compression feature for each device in the chain if you are using a serial configuration scheme. Figure 9–20 shows a chain of two Arria II devices. The first Arria II device has compression enabled; therefore, receives a compressed bitstream from the configuration device. The second Arria II device has the compression feature disabled and receives uncompressed data. In a multi-device FPP configuration chain (with a MAX II device or microprocessor + flash), all Arria II devices in the chain must either enable or disable the decompression feature. You cannot selectively enable the compression feature for each device in the chain because of the DATA and DCLK relationship. Figure 9–20. Compressed and Uncompressed Serial Configuration Data in the Same Configuration File Serial Configuration Data Serial Configuration Device Uncompressed Configuration Data Compressed Configuration Data Decompression Controller Arria II Device nCE nCEO Arria II Device nCE nCEO N.C. GND You can generate programming files for this setup by clicking Convert Programming Files on the File menu in the Quartus II software. Remote System Upgrades This section describes the functionality and implementation of the dedicated remote system upgrade circuitry. It also defines several concepts related to remote system upgrades, including factory configuration, application configuration, remote update mode, and user watchdog timer. Additionally, this section provides design guidelines for implementing remote system upgrades with the supported configuration schemes. System designers sometimes face challenges such as shortened design cycles, evolving standards, and system deployments in remote locations. Arria II devices help overcome these challenges with their inherent reprogrammability and dedicated circuitry to perform remote system upgrades. Remote system upgrades help deliver feature enhancements and bug fixes without costly recalls, reduce time-to-market, extend product life, and help to avoid system downtime. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Remote System Upgrades 9–49 Arria II devices feature dedicated remote system upgrade circuitry. Soft logic (either the Nios® II embedded processor or user logic) implemented in an Arria II device can download a new configuration image from a remote location, store it in configuration memory, and direct the dedicated remote system upgrade circuitry to start a reconfiguration cycle. The dedicated circuitry performs error detection during and after the configuration process, recovers from any error condition by reverting back to a safe configuration image, and provides error status information. Remote system upgrades are supported in AS configuration schemes for Arria II GX devices and in fast AS configuration schemes for Arria II GZ devices. You can also implement remote system upgrades in conjunction with advanced Arria II features such as real-time decompression of configuration data and design security using the advanced encryption standard (AES) for secure and efficient field upgrades. The largest serial configuration device currently supports 128 megabits (Mb) of configuration bitstream. 1 Arria II devices only support remote system upgrade in the single device fast AS configuration scheme. Because the largest serial configuration device currently supports 128 Mb of configuration bitstream, the remote system upgrade feature is not supported in EP2AGZ300, EP2AGZ350, and larger devices. 1 The remote system upgrade feature is not supported in a multi-device chain. Functional Description The dedicated remote system upgrade circuitry in Arria II devices manages remote configuration and provides error detection, recovery, and status information. User logic or a Nios II processor implemented in the Arria II device logic array provides access to the remote configuration data source and an interface to the system’s configuration memory. Arria II devices have remote system upgrade processes that involve the following steps: 1. A Nios II processor (or user logic) implemented in the Arria II device logic array receives new configuration data from a remote location. The connection to the remote source uses a communication protocol such as TCP/IP, PCI, user datagram protocol (UDP), UART, or a proprietary interface. 2. The Nios II processor (or user logic) stores this new configuration data in non-volatile configuration memory. 3. The Nios II processor (or user logic) starts a reconfiguration cycle with the new or updated configuration data. 4. The dedicated remote system upgrade circuitry detects and recovers from any error(s) that might occur during or after the reconfiguration cycle and provides error status information to the user design. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–50 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Remote System Upgrades Figure 9–21 shows the steps required for performing remote configuration updates. (The numbers in Figure 9–21 coincide with the steps just mentioned.) Figure 9–21. Functional Diagram of Arria II Remote System Upgrade 2 1 Development Location 3 Data Configuration Memory Arria II Device Control Module Data Data Arria II Configuration 4 1 Arria II devices only support remote system upgrade in the single device AS configuration scheme. Figure 9–22 shows a block diagram for implementing a remote system upgrade with the Arria II configuration scheme. Figure 9–22. Remote System Upgrade Block Diagram for Arria II Configuration Scheme (Note 1) Arria II Device Nios II Processor or User Logic Serial Configuration Device Note to Figure 9–22: (1) Arria II GX devices use the AS configuration scheme while Arria II GZ devices use the fast AS configuration scheme. You must set the mode select MSEL[3..0] pins to AS mode to use the remote system upgrade feature for Arria II GX devices and the MSEL[2..0] pins to fast AS mode to use the remote system upgrade feature for Arria II GZ devices. 1 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. 1 When using AS mode, you must select remote update mode in the Quartus II software and insert the ALTREMOTE_UPDATE megafunction to access the circuitry. For more information, refer to “ALTREMOTE_UPDATE Megafunction” on page 9–60. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Remote System Upgrades 9–51 Enabling Remote Update You can enable remote update for Arria II devices in the Quartus II software before design compilation (in the Compiler Settings menu). In remote update mode, the auto-restart configuration after error option is always enabled. To enable remote update in the project’s compiler settings, follow these steps: 1. On the Assignment menu, click Device. The Settings dialog box appears. 2. Click Device and Pin Options. The Device and Pin Options dialog box appears. 3. Click the Configuration tab. 4. From the Configuration scheme list, select Active Serial (you can also use Configuration Device) (Figure 9–23). 5. From the Configuration Mode list, select Remote (Figure 9–23). 6. Click OK. 7. In the Settings dialog box, click OK. Figure 9–23. Enabling Remote Update in the Compiler Settings Menu for Arria II Devices July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–52 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Remote System Upgrade Mode Configuration Image Types When performing a remote system upgrade, Arria II device configuration bitstreams are classified as factory configuration images or application configuration images. An image, also referred to as a configuration, is a design loaded into the Arria II device that performs certain user-defined functions. Each Arria II device in your system requires one factory image or the addition of one or more application images. The factory image is a user-defined fall-back, or safe configuration, and is responsible for administering remote updates in conjunction with the dedicated circuitry. Application images implement user-defined functionality in the target Arria II device. You may include the default application image functionality in the factory image. A remote system upgrade involves storing a new application configuration image or updating an existing one using the remote communication interface. After an application configuration image is stored or updated remotely, the user design in the Arria II device starts a reconfiguration cycle with the new image. Any errors during or after this cycle are detected by the dedicated remote system upgrade circuitry and cause the device to automatically revert to the factory image. The factory image then performs error processing and recovery. The factory configuration is written to the serial configuration device only once by the system manufacturer and must not be remotely updated. On the other hand, application configurations may be remotely updated in the system. Both images can begin system reconfiguration. Remote System Upgrade Mode Remote system upgrade has only one mode of operation—remote update mode. Remote update mode allows you to determine the functionality of your system after power-up and offers several features. Remote Update Mode In remote update mode, Arria II devices load the factory configuration image after power up. The user-defined factory configuration determines which application configuration is to be loaded and triggers a reconfiguration cycle. The factory configuration may also contain application logic. When used with serial configuration devices, remote update mode allows an application configuration to start at any flash sector boundary. For example, this translates to a maximum of 128 sectors in the EPCS64 device and 32 sectors in the EPCS16 device. Altera recommends not using the same page in the serial configuration devices for two images. Additionally, remote update mode features a user watchdog timer that determines the validity of an application configuration. When an Arria II device is first powered up in remote update mode, it loads the factory configuration located at page zero (page registers PGM[23..0] = 24'b0). Always store the factory configuration image for your system at page address zero. This corresponds to the start address location 0×000000 in the serial configuration device. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Remote System Upgrade Mode 9–53 The factory image is user-designed and contains soft logic to: ■ Process any errors based on status information from the dedicated remote system upgrade circuitry ■ Communicate with the remote host and receive new application configurations and store this new configuration data in the local non-volatile memory device ■ Determine which application configuration is to be loaded into the Arria II device ■ Enable or disable the user watchdog timer and load its time-out value (optional) ■ Instruct the dedicated remote system upgrade circuitry to start a reconfiguration cycle Figure 9–24 shows the transitions between the factory and the application configurations in remote update mode. Figure 9–24. Transitions between Configurations in Remote Update Mode Configuration Error Set Control Register and Reconfigure Power Up Configuration Error Factory Configuration (page 0) Application 1 Configuration Reload a Different Application Reload a Different Application Set Control Register and Reconfigure Application n Configuration Configuration Error After power up or a configuration error, the factory configuration logic is loaded automatically. The factory configuration also specifies whether to enable the user watchdog timer for the application configuration and if enabled, to include the timer setting information. The user watchdog timer ensures that the application configuration is valid and functional. The timer must be continually reset in a specific amount of time during user mode operation of an application configuration. Only valid application configurations contain the logic to reset the timer in user mode. This timer reset logic must be part of a user-designed hardware and/or software health monitoring signal that indicates error-free system operation. If the timer is not reset in a specific amount of time; for example, the user application configuration detects a functional problem or if the system hangs, the dedicated circuitry updates the remote system upgrade status register, triggering the loading of the factory configuration. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–54 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Remote System Upgrade Mode 1 The user watchdog timer is automatically disabled for factory configurations. For more information about the user watchdog timer, refer to “User Watchdog Timer” on page 9–59. If there is an error while loading the application configuration, the cause of the reconfiguration is written by the dedicated circuitry to the remote system upgrade status register. Actions that cause the remote system upgrade status register to be written are: ■ 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Dedicated Remote System Upgrade Circuitry 9–55 Dedicated Remote System Upgrade Circuitry This section describes the implementation of the Arria II remote system upgrade dedicated circuitry. The remote system upgrade circuitry is implemented in hard logic. This dedicated circuitry interfaces with the user-defined factory and application configurations implemented in the Arria II device logic array to provide the complete remote configuration solution. The remote system upgrade circuitry contains the remote system upgrade registers, a watchdog timer, and a state machine that controls those components. Figure 9–25 shows the datapath of the remote system upgrade block. Figure 9–25. Remote System Upgrade Circuit Data Path (Note 1) Internal Oscillator Status Register (SR) [4..0] Control Register [37..0] Logic Array Update Register [37..0] update Shift Register dout Bit [4..0] din dout capture RSU State Machine din Bit [37..0] capture time-out User Watchdog Timer clkout capture update Logic Array clkin RU_DOUT RU_SHIFTnLD RU_CAPTnUPDT RU_CLK RU_DIN RU_nCONFIG RU_nRSTIMER Logic Array Note to Figure 9–25: (1) The RU_DOUT, RU_SHIFTnLD, RU_CAPTnUPDT, RU_CLK, RU_DIN, RU_nCONFIG, and RU_nRSTIMER signals are internally controlled by the ALTREMOTE_UPDATE megafunction. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–56 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Dedicated Remote System Upgrade Circuitry Remote System Upgrade Registers The remote system upgrade block contains a series of registers that store the page addresses, watchdog timer settings, and status information. Table 9–19 lists these registers. Table 9–19. Remote System Upgrade Registers Register Description 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. The remote system upgrade control and status registers are clocked by the 10-MHz internal oscillator (the same oscillator that controls the user watchdog timer). However, the remote system upgrade shift and update registers are clocked by the user clock input (RU_CLK). Remote System Upgrade Control Register The remote system upgrade control register stores the application configuration page address and user watchdog timer settings. The control register functionality depends on the remote system upgrade mode selection. In remote update mode, the control register page address bits are set to all zeros (24'b0 = 0×000000) at power up to load the factory configuration. A factory configuration in remote update mode has write access to this register. The control register bit positions are shown in Figure 9–26 and listed in Table 9–20. In the figure, the numbers show the bit position of a setting within a register. For example, bit number 25 is the enable bit for the watchdog timer. Figure 9–26. Remote System Upgrade Control Register 37 36 35 34 33 32 31 30 29 28 27 26 Wd_timer[11..0] Arria II Device Handbook Volume 1: Device Interfaces and Integration 25 Wd_en 24 23 22 .. 3 2 1 PGM[23..0] July 2012 0 AnF Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Dedicated Remote System Upgrade Circuitry 9–57 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 9–20 lists the remote system upgrade control register contents. Table 9–20. Remote System Upgrade Control Register Contents Remote System Upgrade Mode Value (1) AnF (2) Remote update 1'b0 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 Control Register Bit Remote update Wd_timer[11..0] Definition Application not factory User watchdog time-out value (most significant 12 bits of 29-bit count value: {Wd_timer[11..0], 17'b0}) 12'b000000000000 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). 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. Figure 9–27. Remote System Upgrade Status Register 4 Wd July 2012 Altera Corporation 3 2 1 nCONFIG Core_nCONFIG nSTATUS 0 CRC Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–58 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Dedicated Remote System Upgrade Circuitry Table 9–21 lists the status register contents for remote system upgrade. Table 9–21. Remote System Upgrade Status Register Contents Status Register Bit 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 9–21: (1) Logic array reconfiguration forces the system to load the application configuration data into the Arria II device. This occurs after the factory configuration specifies the appropriate application configuration page address by updating the update register. Remote System Upgrade State Machine The remote system upgrade control and update registers have identical bit definitions, but serve different roles (refer to Figure 9–26 on page 9–56). While both registers can only be updated when the device is loaded with a factory configuration image, the update register writes are controlled by the user logic; the control register writes are controlled by the remote system upgrade state machine. In factory configurations, the user logic sends the 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. 1 To 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 9–22 lists the contents of the control register after such an event occurs for all possible error or trigger conditions. The remote system upgrade status register is updated by the dedicated error monitoring circuitry after an error condition but before the factory configuration is loaded. Table 9–22. Control Register Contents after an Error or Reconfiguration Trigger Condition (Part 1 of 2) Reconfiguration Error/Trigger Control Register Setting Remote Update nCONFIG reset All bits are 0 nSTATUS error All bits are 0 CORE triggered reconfiguration Arria II Device Handbook Volume 1: Device Interfaces and Integration Update register July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Dedicated Remote System Upgrade Circuitry 9–59 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 CRC error All bits are 0 Wd time out All bits are 0 Capture operations during factory configuration access the contents of the update register. This feature is used by the user logic to verify that the page address and watchdog timer settings were written correctly. Read operations in application configurations access the contents of the control register. This information is used by the user logic in the application configuration. User Watchdog Timer The user watchdog timer prevents a faulty application configuration from stalling the device indefinitely. The system uses the timer to detect functional errors after an application configuration is successfully loaded into the Arria II device. 1 To allow the remote system upgrade dedicated circuitry to reset the watchdog timer, you must assert the RU_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 9–23 lists the operating range of the 10-MHz internal oscillator. Table 9–23. 10-MHz Internal Oscillator Specifications Minimum Typical Maximum Units 4.3 5.3 10 MHz The user watchdog timer begins counting after the application configuration enters device user mode. This timer must be periodically reloaded or reset by the application configuration before the timer expires by asserting RU_nRSTIMER. If the application configuration does not reload the user watchdog timer before the count expires, a time-out signal is generated by the remote system upgrade dedicated circuitry. The time-out signal tells the remote system upgrade circuitry to set the user watchdog timer status bit (Wd) in the remote system upgrade status register and reconfigures the device by loading the factory configuration. During the configuration cycle of the device, the user watchdog timer is not enabled. Errors during configuration are detected by the CRC engine. Also, the timer is disabled for factory configurations. Functional errors should not exist in the factory configuration because it is stored and validated during production and is never updated remotely. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–60 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Quartus II Software Support 1 The user watchdog timer is disabled in factory configurations and during the configuration cycle of the application configuration. It is enabled after the application configuration enters user mode. Quartus II Software Support The Quartus II software provides the flexibility to include the remote system upgrade interface between the Arria II device logic array and the dedicated circuitry, generates configuration files for production, and allows remote programming of the system configuration memory. Use the ALTREMOTE_UPDATE megafunction option in the Quartus II software as the interface between the remote system upgrade circuitry and the device logic array interface. Using the megafunction block instead of creating your own logic saves design time and offers more efficient logic synthesis and device implementation. ALTREMOTE_UPDATE Megafunction The ALTREMOTE_UPDATE megafunction provides a memory-like interface to the remote system upgrade circuitry and handles the shift register read and write protocol in the Arria II device logic. This implementation is suitable for designs that implement the factory configuration functions using a Nios II processor or user logic in the device. Figure 9–28 shows the interface signals between the ALTREMOTE_UPDATE megafunction and Nios II processor or user logic. Figure 9–28. Interface Signals between the ALTREMOTE_UPDATE Megafunction and the Nios II Processor ALTREMOTE_UPDATE read_param write_param param[2..0] data_in[23..0] Nios II Processor or User Logic reconfig reset_timer clock reset busy data_out[23..0] f For more information about the ALTREMOTE_UPDATE megafunction and the description of ports listed in Figure 9–28, refer to the Remote Update Circuitry (ALTREMOTE_UPDATE) Megafunction User Guide. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Design Security 9–61 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. July 2012 1 The design security feature is not available when you are configuring your Arria II device using JTAG-based configuration. For more information, refer to “Supported Configuration Schemes” on page 9–66. 1 When using a serial configuration scheme such as AS, fast AS, or PS, configuration time is the same whether or not you enable the design security feature. If you use the FPP scheme with the design security or decompression feature, a x4 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. Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–62 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Design Security Arria II Security Protection Arria II device designs are protected from copying, reverse engineering, and tampering using configuration bitstream encryption. Security Against Copying The security key is securely stored in the Arria II device and cannot be read out through any interface. In addition, as configuration file read-back is not supported in Arria II devices, your design information cannot be copied. Security Against Reverse Engineering Reverse engineering from an encrypted configuration file is very difficult and time consuming because the Arria II configuration file formats are proprietary and the file contains millions of bits which require specific decryption. Reverse engineering the Arria II device is just as difficult because the device is manufactured on the most advanced 40-nm process technology. Security Against Tampering After the Tamper Protection bit is set in the key programming file generated by the Quartus II software, the Arria II device can only be configured with configuration files encrypted with the same key. Tampering is prevented using both volatile and non-volatile keys. AES Decryption Block The main purpose of the AES decryption block is to decrypt the configuration bitstream prior to entering data decompression or configuration. Prior to receiving encrypted data, you must enter and store the 256-bit security key in the device. You can choose between a non-volatile security key and a volatile security key with battery backup. The security key is scrambled prior to storing it in the key storage to make it more difficult for anyone to retrieve the stored key using de-capsulation of the device. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Design Security 9–63 Flexible Security Key Storage Arria II devices support two types of security key programming—volatile and non-volatile keys. Table 9–24 lists the differences between volatile keys and non-volatile keys. Table 9–24. Security Key Options Options 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 Secure against copying and reverse engineering. Secure against copying and reverse engineering. Design protection Tamper resistant if volatile Tamper resistant if tamper tamper protection bit is set. (2) protection bit is set. Notes to Table 9–24: (1) Key programming is carried out using the JTAG interface. (2) Arria II GZ devices do not support this feature. You can program the non-volatile key to the Arria II device without an external battery. Also, there are no additional requirements of any of the Arria II power supply inputs. VCCBAT is a dedicated power supply for volatile key storage and not shared with other on-chip power supplies, such as VCCIO or VCC. VCCBAT continuously supplies power to the volatile register regardless of the on-chip supply condition. 1 For Arria II GX devices, after power up, wait 100 ms (standard POR delay) or 4 ms (fast POR delay) before beginning key programming to ensure that VCCBAT is at full rail. For Arria II GZ devices, after power up, wait 300 ms (PORSEL = 0) or 12 ms (PORSEL = 1) before beginning key programming to ensure that VCCBAT is at full rail. f For more information about how to calculate the key retention time of the battery used for volatile key storage, refer to the Arria II GX PowerPlay Early Power Estimator. f For more information about battery specifications, refer to the Device Datasheet for Arria II Devices chapter. f For more information about the VCCBAT pin connection recommendations, refer to Arria II Device Family Pin Connection Guidelines. July 2012 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–64 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Design Security Arria II Design Security Solution Arria II devices are SRAM-based devices. To provide design security, Arria II devices require a 256-bit security key for configuration bitstream encryption. To carry out secure configuration, follow these steps (refer to Figure 9–29): 1. Program the security key into the Arria II device. Program the user-defined 256-bit AES keys to the Arria II device through the JTAG interface. 2. Encrypt the configuration file and store it in the external memory. Encrypt the configuration file with the same 256-bit keys used to program the Arria II device. Encryption of the configuration file is done using the Quartus II software. The encrypted configuration file is then loaded into the external memory, such as a configuration or flash device. 3. Configure the Arria II device. At system power-up, the external memory device sends the encrypted configuration file to the Arria II device. Figure 9–29. Design Security (Note 1) Arria II FPGA User-Defined Step 1 Key Storage AES Key AES Decryption Step 3 Encrypted Step 2 Memory or Configuration Configuration File Device Note to Figure 9–29: (1) Step 1, Step 2, and Step 3 correspond to the procedure described in “Design Security” on page 9–61. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Design Security 9–65 Security Modes Available The following security modes are available on the Arria II device: Volatile Key Secure operation with volatile key programmed and required external battery—this mode accepts both encrypted and unencrypted configuration bitstreams. Use the unencrypted configuration bitstream support for board-level testing only. Non-Volatile Key Secure operation with one-time-programmable (OTP) security key programmed—this mode accepts both encrypted and unencrypted configuration bitstreams. Use the unencrypted configuration bitstream support for board-level testing only. Volatile Key with Tamper Protection Bit Set 1 Arria II GZ devices do not support this feature. Secure operation in tamper resistant mode with volatile security key programmed—only encrypted configuration bitstreams are allowed to configure the device. Tamper protection disables JTAG configuration with unencrypted configuration bitstream. 1 Enabling the Tamper Protection bit disables the test mode in Arria II devices. This process is irreversible and prevents Altera from carry-out failure analysis. Contact Altera Technical Support to enable the tamper protection bit. Non-Volatile Key with Tamper Protection Bit Set Secure operation in tamper resistant mode with OTP security key programmed—only encrypted configuration bitstreams are allowed to configure the device. Tamper protection disables JTAG configuration with unencrypted configuration bitstream. 1 July 2012 Enabling the Tamper Protection bit disables the test mode in Arria II devices. This process is irreversible and prevents Altera from carry-out failure analysis. Contact Altera Technical Support to enable the tamper protection bit. Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–66 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Design Security No Key Operation Only unencrypted configuration bitstreams are allowed to configure the device. Table 9–25 lists the different security modes and configuration bitstream supported for each mode. Table 9–25. Security Modes Supported Mode (1) Function Configuration File Secure Encrypted Board-level testing Unencrypted 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 Volatile key Non-volatile key Notes to Table 9–25: (1) In No key operation, only the unencrypted configuration file is supported. (2) Arria II GZ devices do not support this feature. (3) The tamper protection bit setting does not prevent the device from being reconfigured. Supported Configuration Schemes The Arria II device supports only selected configuration schemes, depending on the security mode you select when you encrypt the Arria II device. Figure 9–30 shows the restrictions of each security mode when encrypting Arria II devices. Figure 9–30. Arria II Security Modes—Sequence and Restrictions No Key Volatile Key Unencrypted or Encrypted Unencrypted Configuration File Configuration File Volatile Key with Tamper-Protection Bit Set (1) Encrypted Encrypted Configuration File Configuration File (2) Non-Volatile Key Unencrypted or Encrypted Configuration File Non-Volatile Key with Tamper-Protection Bit Set Encrypted Configuration File Notes to Figure 9–30: (1) Arria II GZ devices do not support this feature. (2) Arria II devices do not accept encrypted configuration files if the volatile key is erased. If the volatile key is erased, you must use the volatile key without the tamper-protection bit set to reprogram the key. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Design Security 9–67 Table 9–26 lists the configuration modes allowed in each of the security modes. Table 9–26. Allowed Configuration Modes for Various Security Modes (Note 1) Configuration File Security Mode No key Unencrypted Secure with volatile key Board-level testing with volatile key Secure with non-volatile key Board-level testing with non-volatile key Secure in tamper resistant mode using volatile or non-volatile key with tamper protection set Encrypted Unencrypted Encrypted Unencrypted Encrypted Allowed Configuration Modes All configuration modes that do not engage the design security feature. ■ PS with AES (and/or with decompression) ■ FPP with AES (and/or with decompression) ■ Remote update AS or fast AS with AES (and/or with decompression) ■ AS or fast AS (and/or with decompression) All configuration modes that do not engage the design security feature. ■ PS with AES (and/or with decompression) ■ FPP with AES (and/or with decompression) ■ Remote update AS or fast AS with AES (and/or with decompression) ■ AS or fast AS (and/or with decompression) All configuration modes that do not engage the design security feature. ■ PS with AES (and/or with decompression) ■ FPP with AES (and/or with decompression) ■ 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. 1 July 2012 The design security feature is available in all configuration methods except JTAG. Therefore, you can use the design security feature in FPP mode (when using an external controller, such as a MAX II device or a microprocessor and flash memory), or in AS, fast AS, and PS configuration schemes. Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–68 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Design Security Table 9–27 lists the configuration schemes that support the design security feature both for volatile key and non-volatile key programming. Table 9–27. Design Security Configuration Schemes Availability Configuration Scheme FPP Design Security Configuration Method MAX II device or microprocessor and flash memory v (1) AS Serial configuration device v Fast AS Serial configuration device v MAX II device or microprocessor and flash memory v Download cable v MAX II device or microprocessor and flash memory — Download cable — PS JTAG (2) 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. You can use the design security feature with other configuration features, such as the compression and remote system upgrade features. When you use compression with the design security feature, the configuration file is first compressed and then encrypted using the Quartus II software. During configuration, the Arria II device first decrypts and then decompresses the configuration file. Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Document Revision History 9–69 Document Revision History Table 9–28 lists the revision history for this chapter. Table 9–28. Document Revision History Date July 2012 December 2011 June 2011 December 2010 Version 4.3 4.2 4.1 4.0 Changes Made ■ 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. ■ 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. ■ 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. ■ Updated for the Quartus II software version 10.1 release. ■ Added Arria II GZ devices information. ■ Minor text edits. Updated for Arria II GX v10.0 release: July 2010 3.0 ■ 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. Updated for Arria II GX v9.1 release: November 2009 June 2009 February 2009 July 2012 2.0 1.1 1.0 Altera Corporation ■ 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. ■ 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. Initial release. Arria II Device Handbook Volume 1: Device Interfaces and Integration 9–70 Chapter 9: Configuration, Design Security, and Remote System Upgrades in Arria II Devices Document Revision History Arria II Device Handbook Volume 1: Device Interfaces and Integration July 2012 Altera Corporation 10. SEU Mitigation in Arria II Devices February 2014 AIIGX51010-4.3 AIIGX51010-4.3 This chapter describes how to activate and use the error detection cyclic redundancy check (CRC) feature when your Arria® II device is in user mode and how to recover from configuration errors caused by CRC errors. In critical applications such as avionics, telecommunications, system control, and military applications, it is important to be able to do the following: 1 ■ Confirm that the configuration data stored in an Arria II device is correct. ■ Alert the system to the occurrence of a configuration error. The error detection CRC feature is provided in the Quartus® II software starting with version 9.1 for Arria II GX devices and version 10.1 for Arria II GZ devices. Using the error detection CRC feature on Arria II devices has no impact on fitting or performance. f For more information about the CRC feature, refer to AN 539: Test Methodology of Error Detection and Recovery using CRC in Altera FPGA Devices. This chapter contains the following sections: ■ “Error Detection Fundamentals” ■ “Configuration Error Detection” on page 10–2 ■ “User Mode Error Detection” on page 10–2 ■ “Error Detection Pin Description” on page 10–5 ■ “Error Detection Block” on page 10–5 ■ “Error Detection Timing” on page 10–7 ■ “Software Support” on page 10–9 ■ “Recovering From CRC Errors” on page 10–10 Error Detection Fundamentals Error detection determines if the data received through a medium is corrupted during transmission. To accomplish this, the transmitter uses a function to calculate a checksum value for the data and appends the checksum to the original data frame. The receiver uses the function to calculate a checksum for the received data frame and compares the received checksum to the transmitted checksum. If the two checksum values are equal, the received data frame is correct and no data corruption occurred during transmission or storage. The error detection CRC feature uses the same concept. When Arria II devices are successfully configured and in user mode, the error detection CRC feature ensures the integrity of the configuration data. © 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Arria II Device Handbook Volume 1: Device Interfaces and Integration February 2014 Subscribe 10–2 Chapter 10: SEU Mitigation in Arria II Devices Configuration Error Detection Configuration Error Detection In configuration mode, a frame-based CRC is stored in the configuration data and contains the CRC value for each data frame. During configuration, the Arria II device calculates the CRC value based on the frame of data that is received and compares it against the frame CRC value in the data stream. Configuration continues until either the device detects an error or configuration is complete. In Arria II devices, the CRC value is calculated during the configuration stage. A parallel CRC engine generates 16 CRC check bits per frame and then stores them into the configuration RAM. The configuration RAM chain used for storing CRC check bits is 16 bits wide and its length is equal to the number of frames in the device. User Mode Error Detection Arria II devices have built-in error detection circuitry to detect data corruption by soft errors in the configuration RAM cells. This feature allows all configuration RAM contents to be read and verified to match a configuration-computed CRC value. Soft errors are changes in a configuration RAM’s bit state due to an ionizing particle. The error detection capability continuously calculates the CRC of the configured configuration RAM bits and compares it with the pre-calculated CRC. If the CRCs match, there is no error in the current configuration RAM bits. The process of error detection continues until the device is reset by setting nCONFIG low. To enable the error detection process when the device transitions into user mode, turn on the Enable Error Detection CRC option on the Error Detection CRC page of the Device and Pin Options dialog box in the Quartus II software. A single 16-bit error detection CRC calculation is done on a per-frame basis. After the error detection circuitry has finished the CRC calculation for a frame, the resulting 16-bit signature is hex 0000. If the error detection circuitry detects no configuration RAM bit errors in a frame, the output signal CRC_ERROR is 0. If the circuitry detects a configuration RAM bit error in a frame in the device, the resulting signature is non-zero and the error detection circuitry starts searching for the error bit location. The error detection circuitry in Arria II devices calculates CRC check bits for each frame and pulls the CRC_ERROR pin high when it detects bit errors in the chip. Within a frame, it can detect all single-bit, double-bit, and triple-bit errors. The probability of more than three configuration RAM bits being flipped by a single event upset (SEU) is very low. In general, the probability of detection for all error patterns is 99.998%. The error detection circuitry reports the bit location and determines the type of error for all single-bit errors and over 99.641% of double-adjacent errors. The probability of other error patterns is very low and the reporting of bit location is not guaranteed. You can also read the error bit location through the JTAG and the core interface. Before the error detection circuitry detects the next error in another frame, you must shift erroneous bits out from the error message register (EMR) with either the JTAG instruction, SHIFT_EDERROR_REG, or the core interface. The CRC circuitry continues to run, and if an error is detected, you must decide whether to complete the reconfiguration or to ignore the CRC error. Arria II Device Handbook Volume 1: Device Interfaces and Integration February 2014 Altera Corporation Chapter 10: SEU Mitigation in Arria II Devices User Mode Error Detection 1 10–3 For more information about the timing requirement to shift out error information from the EMR, refer to “Error Detection Timing” on page 10–7. The error detection circuitry continues to calculate the CRC_ERROR and 16-bit signatures for the next frame of data regardless of whether an error has occurred in the current frame or not. You must monitor the CRC_ERROR signal and take the appropriate actions if a CRC error occurs. The error detection circuitry in Arria II devices uses a 16-bit CRC-ANSI standard (16-bit polynomial) as the CRC generator. The computed 16-bit CRC signature for each frame is stored in the configuration RAM. The total storage size is 16 (number of bits per frame) × the number of frames. The CRC_ERROR signal is asserted if the error detection circuitry verification does not match with the configuration-computed CRC value. However, the Arria II device error detection CRC feature does not check the memory blocks and I/O buffers. Therefore, the CRC_ERROR signal may stay solid high or low, depending on the error status of the previously checked configuration RAM frame. The I/O buffers are not verified during error detection because these bits use flipflops as storage elements that are more resistant to soft errors when compared with configuration RAM cells. MLAB and M9K memory blocks support parity bits that are used to check the contents of the memory blocks for any error in Arria II GX devices. In addition to MLAB and M9K memory blocks, M144K memory blocks are used to check the contents of the memory blocks for any error in Arria II GZ devices. f For more information about error detection in Arria II memory blocks, refer to the Memory Blocks in Arria II Devices chapter. To provide testing capability of the error detection block, a JTAG instruction, EDERROR_INJECT, is provided. This instruction is able to change the content of the 21-bit JTAG fault injection register used for error injection in Arria II devices, thereby enabling the testing of the error detection block. 1 You can only execute the EDERROR_INJECT JTAG instruction when the device is in user mode. Table 10–1 lists the EDERROR_INJECT JTAG instruction for Arria II devices. Table 10–1. EDERROR_INJECT JTAG Instruction for Arria II Devices JTAG Instruction Instruction Code Description EDERROR_INJECT 00 0001 0101 This instruction controls the 21-bit JTAG fault injection register used for error injection. You can create a Jam™ file (.jam) to automate the testing and verification process. This allows you to verify the CRC functionality in-system and on-the-fly, without having to reconfigure the device. f For more information about .jam, refer to AN 539: Test Methodology of Error Detection and Recovery using CRC in Altera FPGA Devices. February 2014 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 10–4 Chapter 10: SEU Mitigation in Arria II Devices User Mode Error Detection You can introduce a single error or double errors adjacent to each other to the configuration memory. This provides an extra way to facilitate design verification and system fault tolerance characterization. Use the JTAG fault injection register with the EDERROR_INJECT JTAG instruction to flip the readback bits. The Arria II device is then forced into error test mode. Altera recommends reconfiguring the device after the test completes. 1 You can only introduce error injection in the first data frame, but you can monitor the error information at any time. For more information about the JTAG fault injection register and fault injection register, refer to “Error Detection Registers” on page 10–6. Table 10–2 lists how the fault injection register is implemented and describes error injection for Arria II devices. Table 10–2. Fault Injection Register for Arria II Devices Bit[20..19] Description Error Type (1) Error Injection Type Bit[20] Bit[19] Content 0 1 Single error injection 1 0 Double-adjacent error injection 0 0 No error injection Bit[18..8] Bit[7..0] Byte Location of the Injected Error Error Byte Value 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. Note to Table 10–2: (1) Bit[20] and Bit[19] cannot both be set to 1, as this is not a valid selection. The error detection circuitry decodes this as no error injection. Automated Single Event Upset Detection Arria II devices offer on-chip circuitry for automated SEU detection. Some applications require the device to operate error-free in high-neutron flux environments require periodic checks to ensure continued data integrity. The error detection CRC feature ensures data reliability and is one of the best options for mitigating SEU. You can implement the error detection CRC feature with existing circuitry in Arria II devices, eliminating the need for external logic. The CRC_ERROR pin reports a CRC error when configuration RAM data is corrupted; you must decide whether to reconfigure the device or to ignore the error. Arria II Device Handbook Volume 1: Device Interfaces and Integration February 2014 Altera Corporation Chapter 10: SEU Mitigation in Arria II Devices Error Detection Pin Description 10–5 Error Detection Pin Description Table 10–3 lists the CRC_ERROR pin description for Arria II devices. Table 10–3. CRC_ERROR Pin Description for Arria II Devices Pin Name CRC_ERROR Pin Type I/O or output open-drain Description Active high signal indicating that the error detection circuit has detected errors in the configuration RAM bits. This is an optional pin and is used when you enable the error detection CRC circuit. When you disable the error detection CRC circuit, it is a user I/O pin. When using the WYSIWYG function, the CRC error output is a dedicated path to the CRC_ERROR pin. To use the CRC_ERROR pin, you can tie this pin to VCCIO through a 10-k resistor. Alternatively, depending on the input voltage specification of the system receiving the signal, tie this pin to a different pull-up voltage. Error Detection Block The error detection block contains the logic necessary to calculate the 16-bit error detection CRC signature for the configuration RAM bits in the Arria II device. The CRC circuit continues running even if an error occurs. When a CRC error occurs, the device sets the CRC_ERROR pin high. Table 10–4 lists the two types of CRC detection that check the configuration bits for Arria II devices. Table 10–4. Two Types of CRC Detection for Arria II Devices User Mode CRC Detection ■ 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. 1 February 2014 Configuration CRC Detection ■ 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. The “Error Detection Block” section focuses on the first type, the 16-bit CRC only, when the device is in user mode. Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 10–6 Chapter 10: SEU Mitigation in Arria II Devices Error Detection Block Error Detection Registers There is one set of 16-bit registers in the error detection circuitry that stores the computed CRC signature. A non-zero value on the syndrome register causes the CRC_ERROR pin to be set high. Figure 10–1 shows the block diagram of the error detection circuitry, syndrome registers, and error injection block for Arria II devices. Figure 10–1. Error Detection Circuitry, Syndrome Registers, and Error Injection Block for Arria II Devices 16-Bit CRC Readback bitstream with expected CRC included Syndrome Calculation and Error Register Search Engine Error Detection State Machine 8 Control Signals 30 16 Error Message CRC_ERROR Register 46 Error Injection Block Fault Injection Register JTAG Update User Update Register Register JTAG Shift User Shift Register Register JTAG Fault Injection Register JTAG TDO Arria II Device Handbook Volume 1: Device Interfaces and Integration General Routing February 2014 Altera Corporation Chapter 10: SEU Mitigation in Arria II Devices Error Detection Timing 10–7 Table 10–5 lists the registers shown in Figure 10–1. 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. Error Detection Timing When you enable the error detection CRC feature through the Quartus II software, the device automatically activates the CRC error detection process after entering user mode, after configuration, and after initialization is complete. If an error is detected within a frame, CRC_ERROR is driven high at the end of the error location search, after the EMR is updated. At the end of this cycle, the CRC_ERROR pin is pulled low for a minimum of 32 clock cycles. If the next frame contains an error, CRC_ERROR is driven high again after the EMR is overwritten by the new value. You can start to unload the error message on each rising edge of the CRC_ERROR pin. Error detection runs until the device is reset. The error detection circuitry runs off an internal configuration oscillator with a divisor that sets the maximum frequency. Table 10–6 lists the minimum and maximum error detection frequencies for Arria II devices. Table 10–6. Minimum and Maximum Error Detection Frequencies for Arria II Devices Device Type Error Detection Frequency Maximum Error Detection Frequency Minimum Error Detection Frequency Valid Divisors (n) Arria II 100 MHz / 2n 50 MHz 390 kHz 1, 2, 3, 4, 5, 6, 7, 8 February 2014 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 10–8 Chapter 10: SEU Mitigation in Arria II Devices Error Detection Timing You can set a lower clock frequency by specifying a division factor in the Quartus II software (refer to “Software Support” on page 10–9). The divisor is a power of two (2), where n is between 1 and 8. The divisor ranges from 2 through 256 (refer to Equation 10–1). Equation 10–1. 100MHz error detection frequency = ---------------------n 2 1 The error detection frequency reflects the frequency of the error detection process for a frame because the CRC calculation in Arria II devices is done on a per-frame basis. The EMR is updated whenever an error occurs. If the error location and message are not shifted out before the next error location is found, the previous error location and message are overwritten by the new information. To avoid this, you must shift these bits out within one frame CRC verification. The minimum interval time between each update for the EMR depends on the device and the error detection clock frequency. However, slowing down the error detection clock frequency slows down the error recovery time for the SEU event. Table 10–7 lists the estimated minimum interval time between each update for the EMR in Arria II devices. Table 10–7. Minimum Update Interval for Error Message Register in Arria II Devices Device Timing Interval (s) EP2AGX45 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 The CRC calculation time for the error detection circuitry to check from the first until the last frame depends on the device and the error detection clock frequency. Arria II Device Handbook Volume 1: Device Interfaces and Integration February 2014 Altera Corporation Chapter 10: SEU Mitigation in Arria II Devices Software Support 10–9 Table 10–8 lists the minimum and maximum estimated clock frequency time for each CRC calculation for Arria II devices. The minimum CRC calculation time is calculated using the maximum error detection frequency with a divisor factor 1. The maximum CRC calculation time is calculated using the minimum error detection frequency with a divisor factor 8. Table 10–8. CRC Calculation Time for Arria II Devices Device Minimum Time (ms) Maximum Time (s) EP2AGX45 73.80 20.40 EP2AGX65 73.80 20.40 EP2AGX95 125.80 34.80 EP2AGX125 125.80 34.80 EP2AGX190 216.00 59.90 EP2AGX260 216.00 59.90 EP2AGZ225 225 62.44 EP2AGZ300 296 82.05 EP2AGZ350 296 82.05 Software Support The Quartus II software, starting with version 9.1 supports the error detection CRC feature for Arria II GX devices and starting with version 10.1 supports the error detection CRC feature for Arria II GZ devices. Enabling this feature in the Device and Pin Options dialog box generates the CRC_ERROR output to the optional dual-purpose CRC_ERROR pin. To enable the error detection feature using the CRC, follow these steps: 1. Open the Quartus II software and load a project using an Arria II device. 2. On the Assignments menu, click Device. The Device dialog box appears. 3. Click Device and Pin Options. The Device and Pin Options dialog box appears. 4. In the Category list, select Error Detection CRC tab. 5. Turn on Enable Error Detection CRC. 6. In the Divide error check frequency by pull-down list, enter a valid divisor as listed in Table 10–6 on page 10–7. 7. Click OK. February 2014 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 10–10 Chapter 10: SEU Mitigation in Arria II Devices Recovering From CRC Errors Recovering From CRC Errors The system that the Arria II device resides in must control device reconfiguration. After detecting an error on the CRC_ERROR pin, strobing the nCONFIG signal low directs the system to perform the reconfiguration at a time when it is safe for the system to reconfigure the device. When the data bit is rewritten with the correct value by reconfiguring the device, the device functions correctly. While soft errors are uncommon in Altera® devices, certain high-reliability applications require a design to account for these errors. Document Revision History Table 10–9 lists the revision history for this chapter. Table 10–9. Document Revision History Date Version Changes February 2014 4.3 Updated the minimum CRC calculation time for EP2AGX45, EP2AGX65, EP2AGX95, EP2AGX125, EP2AGX190, and EP2AGX260 in Table 10–8. July 2012 4.2 Removed repeated paragraph in the “User Mode Error Detection” section. June 2011 4.1 December 2010 4.0 July 2010 3.0 ■ Updated “User Mode Error Detection” section. ■ Minor text edits. ■ Updated for the Quartus II software version 10.1 release. ■ Added Arria II GZ devices information. ■ Minor text edits. Updated for Arria II GX v10.0 release: ■ Updated Table 10–3, Table 10–6, Table 10–7, and Table 10–8. Updated for Arria II GX v9.1 release: November 2009 February 2009 2.0 1.0 ■ Updated Table 10–7 and Table 10–8. ■ Minor text edits. Initial release. Arria II Device Handbook Volume 1: Device Interfaces and Integration February 2014 Altera Corporation 11. JTAG Boundary-Scan Testing in Arria II Devices December 2013 AIIGX51011-4.1 AIIGX51011-4.1 This chapter describes the boundary-scan test (BST) features that are supported in Arria® II devices and how to use the IEEE Std. 1149.1 and Std. 1149.6 BST circuitries in Arria II devices. The features are similar to Arria GX devices, unless stated in this chapter. This chapter includes the following sections: ■ “BST Architecture for Arria II Devices” on page 11–1 ■ “BST Operation Control” on page 11–3 ■ “I/O Voltage Support in a JTAG Chain” on page 11–5 ■ “Disabling IEEE Std. 1149.1 BST Circuitry” on page 11–6 ■ “Boundary-Scan Description Language Support” on page 11–7 Arria II GX devices support IEEE Std. 1149.1 and IEEE Std. 1149.6, while Arria II GZ devices support IEEE Std. 1149.1 only. The IEEE Std. 1149.6 is only supported on the high-speed serial interface (HSSI) transceivers in Arria II GX devices. The IEEE Std. 1149.6 enables board-level connectivity checking between transmitters and receivers that are AC coupled (connected with a capacitor in series between the source and destination). BST Architecture for Arria II Devices For Arria II GX devices, the TDO output pin and all JTAG input pins are powered by the V CCIO 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. f For more information about the IEEE Std. 1149.1 BST architecture, BST circuitry, and boundary-scan register for Arria II devices, refer to the IEEE 1149.1 (JTAG) Boundary-Scan Testing for Arria GX Devices chapter in volume 2 of the Arria GX Device Handbook. IEEE Std. 1149.6 Boundary-Scan Register for Arria II GX Devices The boundary-scan cell (BSC) for HSSI transmitters (GXB_TX[p,n]) and receivers/input clock buffer (GXB_RX[p,n])/(REFCLK[0..7]) in Arria II GX devices are different from the BSCs for I/O pins. © 2013 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2013 Subscribe 11–2 Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices BST Architecture for Arria II Devices Figure 11–1 shows the Arria II GX HSSI transmitter boundary-scan cell. Figure 11–1. HSSI Transmitter BSC with IEEE Std. 1149.6 BST Circuitry for Arria II GX Devices BSCAN PMA SDOUT 0 0 D Q D AC JTAG Output Buffer BSTX1 OE Q 1 1 0 Pad Mission (DATAOUT) D D Q Q Tx Output Buffer 0 1 TX_BUF_OE BS0EB 1 nOE Pad OE Logic MORHZ ACJTAG_BUF_OE 0 0 D Q Q SDIN SHIFT CLK UPDATE HIGHZ AC JTAG Output Buffer 1 1 MEM_INIT OE BSTX0 D AC_TEST AC_MODE MODE Capture Update Registers Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2013 Altera Corporation Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices BST Operation Control 11–3 Figure 11–2 shows the Arria II GX HSSI receiver/input clock buffer BSC. Figure 11–2. HSSI Receiver/Input Clock Buffer BSC with IEEE Std. 1149.6 BST Circuitry for Arria II GX Devices BSCAN SDOUT PMA BSRX1 AC JTAG Test Receiver Hysteretic Memory 0 1 BSOUT1 D Q D 1 HIGHZ SDIN SHIFT CLK Pad Hysteretic Memory BSOUT0 Q Rx Input Buffer AC JTAG Test Receiver BSRX0 0 Pad Mission (DATAIN) Optional INTEST/RUNBIST not supported UPDATE AC_TEST MEM_INIT MODE AC_MODE Capture Update Registers BST Operation Control Table 11–1 lists the boundary-scan register length for Arria II devices. Table 11–1. Boundary-Scan Register Length for Arria II Devices December 2013 Altera Corporation 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 Arria II Device Handbook Volume 1: Device Interfaces and Integration 11–4 Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices BST Operation Control Table 11–2 lists the IDCODE information for Arria II devices. Table 11–2. 32-Bit IDCODE for Arria II Devices IDCODE (32 Bits) (1) Device 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. 1 If 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. f For information about JTAG instructions, TAP controller state machine, timing requirements, and how to select the instruction mode, refer to “IEEE Std. 1149.1 BST Operation Control” in the IEEE 1149.1 (JTAG) Boundary-Scan Testing for Arria GX Devices chapter in volume 2 of the Arria GX Device Handbook. For Arria II GX devices, IEEE Std.1149.6 mandates the addition of two new instructions: EXTEST_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: 1 ■ 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. If 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. AC-coupled and DC-coupled HSSI are only supported in post-configuration mode. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2013 Altera Corporation Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices I/O Voltage Support in a JTAG Chain 11–5 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. 1 These two instruction codes are only supported in post-configuration mode for Arria II GX devices. 1 You must not use the following private instructions as invoking such instructions potentially damage the device, rendering the device useless: ■ 1100010000 ■ 0011100101 ■ 0011001001 ■ 1100010011 ■ 0011100110 ■ 0000101010 You must take precaution not to invoke such instructions at any instance. Altera recommends that you avoid toggling the JTAG pins when the device is not in used. I/O Voltage Support in a JTAG Chain The JTAG chain can support several different devices. However, use caution if the chain contains devices that have different V CCIO 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 Arria II GX December 2013 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 VCCIO = 3.3 V v v v v (3) Level shifter required VCCIO = 3.0 V v v v v (3) Level shifter required VCCIO = 2.5 V v v v v (3) Level shifter required VCCIO = 1.8 V v v v v (3) Level shifter required VCCIO = 1.5 V v v v v (3) v Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 11–6 Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices Disabling IEEE Std. 1149.1 BST Circuitry Table 11–3. Supported TDO/TDI Voltage Combinations for Arria II GX Devices (Part 2 of 2) TDI Input Buffer Power Device Non-Arria II GX 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 VCC = 3.3 V v v v v (3) Level shifter required VCC = 2.5 V v (4) v (4) v v (3) Level shifter required VCC = 1.8 V v (4) v (4) v (5) v Level 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 Arria II GZ Non-Arria II GZ TDI Input Buffer Power Arria II GZ TDO V CCPD Voltage Level in I/O Bank 1A VCCPD = 3.0 V (1) VCCPD = 2.5 V (2) VCCPD = 3.0 V v v VCCPD = 2.5 V v v 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. f For more information about I/O voltage support in the JTAG chain, refer to the “I/O Voltage Support in JTAG Chain” in the IEEE 1149.1 (JTAG) Boundary-Scan Testing for Arria GX Devices chapter in volume 2 of the Arria GX Device Handbook. Disabling IEEE Std. 1149.1 BST Circuitry The IEEE Std. 1149.1 BST circuitry for Arria II devices is enabled after device power up. Because the IEEE Std. 1149.1 BST circuitry is used for BST or in-circuit reconfiguration, you must enable the circuitry only at specific times as mentioned in “IEEE Std. 1149.1 BST Circuitry” in the IEEE 1149.1 (JTAG) Boundary-Scan Testing for Arria GX Devices chapter in volume 2 of the Arria GX Device Handbook. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2013 Altera Corporation Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices Boundary-Scan Description Language Support 1 11–7 If you do not use the IEEE Std. 1149.1 circuitry in Arria II devices, permanently disable the circuitry to ensure that you do not inadvertently enable it when it is not required. Table 11–5 lists the pin connections necessary for disabling the IEEE Std. 1149.1 circuitry in Arria II devices. Table 11–5. Pin Connections Necessary for Disabling IEEE Std. 1149.1 Circuitry for Arria II Devices Connection for Disabling JTAG Pins TMS Arria II GX Devices Arria II GZ Devices VCC supply of Bank 8C VCCPD supply of Bank 1A TCK TDI GND VCC supply of Bank 8C TDO TRST VCCPD supply of Bank 1A Leave Open Not available GND Boundary-Scan Description Language Support The boundary-scan description language (BSDL), a subset of VHDL, provides a syntax that allows you to describe the features of an IEEE Std. 1149.6 BST-capable device that can be tested. You can test software development systems, then use the BSDL files for test generation, analysis, and failure diagnostics. f For more information about BSDL files for IEEE Std. 1149.6-compliant Arria II GX devices, refer to the IEEE 1149.6 BSDL Files page on the Altera® website. f For more information about BSDL files for IEEE Std. 1149.1-compliant Arria II GZ devices, refer to the IEEE 1149.1 BSDL Files page on the Altera website. f You can also generate BSDL files (pre-configuration and post-configuration) for Arria II devices with the Quartus® II software version 9.1 and later. For the procedure to generate BSDL files using the Quartus II software, refer to Generating BSDL Files in Quartus II. December 2013 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 11–8 Chapter 11: JTAG Boundary-Scan Testing in Arria II Devices Document Revision History Document Revision History Table 11–6 lists the revision history for this document. Table 11–6. Document Revision History Date December 2013 December 2010 Version 4.1 Changes Updated the “EXTEST_PULSE Instruction Mode” section. ■ Updated for the Quartus II software version 10.1 release. ■ Added Arria II GZ devices information. ■ Added “BST Architecture for Arria II Devices” and “Disabling IEEE Std. 1149.1 BST Circuitry” sections. ■ Added Table 11–3 and Table 11–5. ■ Updated Table 11–1 and Table 11–2. ■ Minor text edits. 4.0 Updated for Arria II GX v10.0 release: July 2010 3.0 ■ Updated “BST Operation Control” section. ■ Minor text edits. Updated for Arria II GX v9.1 release: November 2009 February 2009 2.0 1.0 ■ Updated Table 11–1 and Table 11–2. ■ Updated “I/O Voltage Support in a JTAG Chain” section. ■ Minor text edits. Initial release. Arria II Device Handbook Volume 1: Device Interfaces and Integration December 2013 Altera Corporation 12. Power Management in Arria II Devices June 2011 AIIGX51012-3.1 AIIGX51012-3.1 This chapter describes the static and dynamic power of Arria® II devices. Static power is the power consumed by the FPGA when it is configured, but no clocks are operating. Dynamic power is composed of switching power when the device is configured and running. The PowerPlay Power Analyzer in the Quartus® II software optimizes all designs with Arria II power technology to ensure performance is met at the lowest power consumption. This automatic process allows you to concentrate on the functionality of your design instead of the power consumption of your design. f For more information about using the PowerPlay Power Analyzer in the Quartus II software, refer to the Power Estimation and Power Analysis section in volume 3 of the Quartus II Handbook. This chapter includes the following sections: ■ “External Power Supply Requirements” on page 12–1 ■ “Power-On Reset Circuitry” on page 12–1 ■ “Hot Socketing” on page 12–2 External Power Supply Requirements f For more information about the Arria II external power supply requirements and the power supply pin connections, refer to the following: ■ For more information about Altera-recommended power supply operating conditions, refer to the Device Datasheet for Arria II Devices chapter. ■ For more information about power supply pin connection guidelines and power regulator sharing, refer to the Arria II Device Family Pin Connection Guidelines. Power-On Reset Circuitry The Arria II power-on reset (POR) circuitry generates a POR signal to keep the device in the reset state until the power supply’s voltage levels have stabilized during power-up. The POR circuitry monitors V CC, VCCA_PLL, VCCCB, VCCPD, and VCCIO supplies for I/O banks 3C and 8C in Arria II GX devices, where the configuration pins are located. The POR circuitry tri-states all user I/O pins until the power supplies reach the recommended operating levels. These power supplies are required to monotonically reach their full-rail values without plateaus and within the maximum power supply ramp time (tRAMP.). The POR circuitry de-asserts the POR signal after the power supplies reach their full-rail values to release the device from the reset state. © 2011 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Subscribe 12–2 Chapter 12: Power Management in Arria II Devices Hot Socketing The POR circuitry monitors V CC, VCCAUX, V CCCB, 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 V CC 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. f For more information about the POR specification, refer to the Device Datasheet for Arria II Devices chapter. f For more information about MSEL pin settings, refer to the Configuration, Design Security, and Remote System Upgrades in Arria II Devices chapter. Hot Socketing Arria II I/O pins are hot-socketing compliant without the need for external components or special design requirements. Hot-socketing support in Arria II devices has the following advantages: ■ You can drive the device before power up without damaging the device. ■ I/O pins remain tri-stated during power up. The device does not drive out before or during power-up. Therefore, it does not affect other buses in operation. ■ You can insert or remove an Arria II device from a powered-up system board without damaging or interfering with normal system and board operation. Devices Can Be Driven Before Power-Up You can drive signals into regular Arria II I/O pins and transceiver before or during power up or power down without damaging the device. Arria II devices support any power-up or power-down sequence to simplify the system-level designs. I/O Pins Remain Tri-Stated During Power-Up A device that does not support hot socketing may interrupt system operation or cause contention by driving out before or during power up. In a hot-socketing situation, the Arria II output buffers are turned off during system power up or power down. Also, the Arria II device does not drive out until the device is configured and working within recommended operating conditions. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Chapter 12: Power Management in Arria II Devices Hot Socketing 12–3 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, V CC, 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 V CC, V CCIO, VCCPD, and VCCPGM supplies in any sequence (provided that the VCC powers up fully before VCCAUX). f For more information about the hot-socketing specification, refer to the Device Datasheet for Arria II Devices chapter and the Hot-Socketing and Power-Sequencing Feature and Testing for Altera Devices white paper. Hot-Socketing Feature Implementation Arria II devices are immune to latch-up when using the hot-socketing feature. The hot-socketing feature turns off the output buffer during power up and power down of the VCC, VCCIO, or VCCPD power supplies for Arria II GX devices. Hot-socketing circuitry generates an internal 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 V CCCB 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. 1 June 2011 Altera uses GND as reference for the hot-socketing operation and I/O buffer designs. To ensure proper operation, Altera recommends connecting the GND between boards before connecting to the power supplies. This prevents the GND on your board from being pulled up inadvertently by a path to power through other components on your board. A pulled up GND can otherwise cause an out-of-specification I/O voltage or current condition with the Altera® device. Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration 12–4 Chapter 12: Power Management in Arria II Devices Document Revision History Document Revision History Table 12–1 lists the revision history for this chapter. Table 12–1. Document Revision History Date June 2011 December 2010 Version 3.1 3.0 Changes ■ 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. ■ 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration June 2011 Altera Corporation Additional Information This chapter provides additional information about the document and Altera. About this Handbook This handbook provides comprehensive information about the Arria® II devices. How to Contact Altera To locate the most up-to-date information about Altera products, refer to the following table. Contact (1) Technical support Technical training Product literature Contact Method Address Website www.altera.com/support Website www.altera.com/training Email [email protected] Website www.altera.com/literature Non-technical support (General) Email [email protected] (Software Licensing) Email [email protected] Note to Table: (1) You can also contact your local Altera sales office or sales representative. Typographic Conventions The following table shows the typographic conventions this document uses. Visual Cue Meaning 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. Indicates variables. For example, n + 1. italic type 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.” February 2014 Altera Corporation Arria II Device Handbook Volume 1: Device Interfaces and Integration Info–2 Additional Information Typographic Conventions Visual Cue Meaning Indicates signal, port, register, bit, block, and primitive names. For example, data1, tdi, and input. The suffix n denotes an active-low signal. For example, resetn. Courier type 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. 1 The 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. c A 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. Arria II Device Handbook Volume 1: Device Interfaces and Integration February 2014 Altera Corporation