Cyclone IV Device Handbook, Volume 1
101 Innovation Drive
San Jose, CA 95134
www.altera.com
CYIV-5V1-1.0
Copyright © 2009 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device designations, and all other
words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other
countries. RSDS and PPDS are registered trademarks of National Semiconductor. All other product or service names are the property of their respective holders. Altera products
are protected under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. 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
Corporation. 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.
Contents
Chapter Revision Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Additional Information
About this Handbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-xi
How to Contact Altera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-xi
Typographic Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-xi
Section 1. Device Core
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Chapter 1. Cyclone IV FPGA Device Family Overview
Cyclone IV Device Family Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Device Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Package Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cyclone IV Device Family Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FPGA Core Fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Clock Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
External Memory Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
High-Speed Transceivers (Cyclone IV GX Devices Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hard IP for PCI Express (Cyclone IV GX Devices Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reference and Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-1
1-3
1-4
1-6
1-6
1-6
1-7
1-7
1-7
1-8
1-9
1-9
1-9
Chapter 2. Logic Elements and Logic Array Blocks in Cyclone IV Devices
Logic Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LE Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LE Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Normal Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arithmetic Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Logic Array Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LAB Interconnects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LAB Control Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-1
2-2
2-3
2-3
2-4
2-4
2-4
2-5
2-6
2-7
Chapter 3. Memory Blocks in Cyclone IV Devices
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Control Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Parity Bit Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Byte Enable Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Packed Mode Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Address Clock Enable Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mixed-Width Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Asynchronous Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
© November 2009 Altera Corporation
3-1
3-3
3-3
3-3
3-4
3-4
3-6
3-6
3-7
Cyclone IV Device Handbook, Volume 1
iv
Contents
Single-Port Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
Simple Dual-Port Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
True Dual-Port Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10
Shift Register Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
ROM Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13
FIFO Buffer Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13
Clocking Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14
Independent Clock Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14
Input or Output Clock Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14
Read or Write Clock Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
Single-Clock Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
Read-During-Write Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
Same-Port Read-During-Write Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16
Mixed-Port Read-During-Write Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17
Conflict Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17
Power-Up Conditions and Memory Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18
Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18
Chapter Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18
Chapter 4. Embedded Multipliers in Cyclone IV Devices
Embedded Multiplier Block Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Input Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Multiplier Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Output Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operational Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18-Bit Multipliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9-Bit Multipliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-1
4-2
4-3
4-3
4-4
4-4
4-5
4-5
4-7
Chapter 5. Clock Networks and PLLs in Cyclone IV Devices
Clock Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
GCLK Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
Clock Control Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
GCLK Network Clock Source Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
GCLK Network Power Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
clkena Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
PLLs in Cyclone IV Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13
Cyclone IV PLL Hardware Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
External Clock Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
Clock Feedback Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17
Source-Synchronous Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17
No Compensation Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18
Normal Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Zero Delay Buffer Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20
Deterministic Latency Compensation Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20
Hardware Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21
Clock Multiplication and Division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21
Post-Scale Counter Cascading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22
Programmable Duty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22
PLL Control Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Contents
v
Clock Switchover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Automatic Clock Switchover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Manual Override . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Manual Clock Switchover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programmable Bandwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Phase Shift Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLL Cascading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLL Reconfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLL Reconfiguration Hardware Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Post-Scale Counters (C0 to C4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scan Chain Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Charge Pump and Loop Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bypassing a PLL Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dynamic Phase Shifting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Spread-Spectrum Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLL Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5-23
5-23
5-25
5-25
5-26
5-27
5-27
5-29
5-29
5-29
5-31
5-32
5-33
5-34
5-34
5-36
5-36
5-37
Section 2. I/O Interfaces
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Chapter 6. I/O Features in Cyclone IV Devices
Cyclone IV I/O Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
I/O Element Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Programmable Current Strength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Slew Rate Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Open-Drain Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Bus Hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
Programmable Pull-Up Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
Programmable Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
PCI-Clamp Diode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6
OCT Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6
On-Chip Series Termination with Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
On-Chip Series Termination Without Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
I/O Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11
Termination Scheme for I/O Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13
Voltage-Referenced I/O Standard Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13
Differential I/O Standard Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
I/O Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15
High-Speed Differential Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19
External Memory Interfacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20
Pad Placement and DC Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20
Pad Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20
DC Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20
High-Speed I/O Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21
High-Speed I/O Standards Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22
High Speed Serial Interface (HSSI) Input Reference Clock Support . . . . . . . . . . . . . . . . . . . . . . . . . 6-22
LVDS I/O Standard Support in Cyclone IV Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23
Designing with LVDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24
BLVDS I/O Standard Support in Cyclone IV Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-25
Designing with BLVDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-25
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
vi
Contents
RSDS, Mini-LVDS, and PPDS I/O Standard Support in Cyclone IV Devices . . . . . . . . . . . . . . . . . .
Designing with RSDS, Mini-LVDS, and PPDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LVPECL I/O Support in Cyclone IV Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Differential SSTL I/O Standard Support in Cyclone IV Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Differential HSTL I/O Standard Support in Cyclone IV Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . .
True Output Buffer Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programmable Pre-Emphasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
High-Speed I/O Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Design Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Differential Pad Placement Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Board Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Software Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-26
6-26
6-28
6-29
6-29
6-30
6-30
6-31
6-32
6-32
6-32
6-33
6-34
Chapter 7. External Memory Interfaces in Cyclone IV Devices
Cyclone IV Devices Memory Interfaces Pin Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Data and Data Clock/Strobe Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Optional Parity, DM, and Error Correction Coding Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
Address and Control/Command Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
Memory Clock Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
Cyclone IV Devices Memory Interfaces Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8
DDR Input Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8
DDR Output Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9
OCT with Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10
PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10
Chapter Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11
Section 3. System Integration
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
Chapter 8. Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
Configuration Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
Configuration Data Decompression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
Configuration Requirement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
Power-On Reset (POR) Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
Configuration File Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
Configuration and JTAG Pin I/O Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
Configuration Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
Power Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
Configuration Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6
Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6
User Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6
Configuration Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7
AS Configuration (Serial Configuration Devices) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8
Single-Device AS Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8
Multi-Device AS Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-10
Configuring Multiple Cyclone IV Devices with the Same Design . . . . . . . . . . . . . . . . . . . . . . . . . 8-12
Guidelines for Connecting Serial Configuration Device to Cyclone IV Devices on a AS Interface .
8-15
Programming Serial Configuration Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Contents
vii
PS Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PS Configuration Using an External Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PS Configuration Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PS Configuration Using a Download Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FPP Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FPP Configuration Using an External Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FPP Configuration Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JTAG Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring Cyclone IV Devices with Jam STAPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring Cyclone IV Devices with the JRunner Software Driver . . . . . . . . . . . . . . . . . . . . . .
Combining JTAG and AS Configuration Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programming Serial Configuration Devices In-System with the JTAG Interface . . . . . . . . . . . .
JTAG Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Device Configuration Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Remote System Upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enabling Remote Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration Image Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Remote System Upgrade Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Remote Update Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dedicated Remote System Upgrade Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Remote System Upgrade Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Remote System Upgrade State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Quartus II Software Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-18
8-19
8-22
8-23
8-26
8-26
8-30
8-31
8-38
8-38
8-39
8-41
8-43
8-46
8-51
8-51
8-52
8-52
8-52
8-53
8-54
8-55
8-59
8-59
8-60
8-60
Chapter 9. SEU Mitigation in Cyclone IV Devices
Configuration Error Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1
User Mode Error Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
Automated SEU Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3
CRC_ERROR Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3
Error Detection Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4
Error Detection Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4
Error Detection Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5
Software Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7
Accessing Error Detection Block Through User Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8
Recovering from CRC Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10
Chapter Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10
Chapter 10. JTAG Boundary-Scan Testing for Cyclone IV Devices
IEEE Std. 1149.6 Boundary-Scan Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BST Operation Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EXTEST_PULSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EXTEST_TRAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O Voltage Support in a JTAG Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Boundary-Scan Description Language Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10-2
10-3
10-4
10-4
10-5
10-6
10-6
Chapter 11. Power Requirements for Cyclone IV Devices
External Power Supply Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1
Hot-Socketing Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
Devices Driven Before Power-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
viii
Contents
I/O Pins Remain Tri-stated During Power-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hot-socketing Feature Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power-On Reset Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cyclone IV Device Handbook, Volume 1
11-3
11-3
11-3
11-4
© November 2009 Altera Corporation
Chapter Revision Dates
The chapters in this book, Cyclone IV Device Handbook, Volume 1, were revised on the
following dates. Where chapters or groups of chapters are available separately, part
numbers are listed.
Chapter 1
Cyclone IV FPGA Device Family Overview
Revised:
November 2009
Part Number: CYIV-51001-1.0
Chapter 2
Logic Elements and Logic Array Blocks in Cyclone IV Devices
Revised:
November 2009
Part Number: CYIV-51002-1.0
Chapter 3
Memory Blocks in Cyclone IV Devices
Revised:
November 2009
Part Number: CYIV-51003-1.0
Chapter 4
Embedded Multipliers in Cyclone IV Devices
Revised:
November 2009
Part Number: CYIV-51004-1.0
Chapter 5
Clock Networks and PLLs in Cyclone IV Devices
Revised:
November 2009
Part Number: CYIV-51005-1.0
Chapter 6
I/O Features in Cyclone IV Devices
Revised:
November 2009
Part Number: CYIV-51006-1.0
Chapter 7
External Memory Interfaces in Cyclone IV Devices
Revised:
November 2009
Part Number: CYIV-51007-1.0
Chapter 8
Configuration and Remote System Upgrades in Cyclone IV Devices
Revised:
November 2009
Part Number: CYIV-51008-1.0
Chapter 9
SEU Mitigation in Cyclone IV Devices
Revised:
November 2009
Part Number: CYIV-51009-1.0
Chapter 10 JTAG Boundary-Scan Testing for Cyclone IV Devices
Revised:
November 2009
Part Number: CYIV-51010-1.0
Chapter 11 Power Requirements for Cyclone IV Devices
Revised:
November 2009
Part Number: CYIV-51011-1.0
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
x
Cyclone IV Device Handbook, Volume 1
Chapter Revision Dates
© November 2009
Altera Corporation
Additional Information
About this Handbook
This handbook provides comprehensive information about the Altera® Cyclone® IV
family of devices.
How to Contact Altera
For the most up-to-date information about Altera products, see the following table.
Contact (Note 1)
Contact
Method
Address
Technical support
Website
www.altera.com/support
Technical training
Website
www.altera.com/training
Email
custrain@altera.com
Non-technical support (General)
Email
nacomp@altera.com
(Software Licensing)
Email
authorization@altera.com
Note:
(1) You can also contact your local Altera sales office or sales representative.
Typographic Conventions
The following table shows the typographic conventions that this document uses.
Visual Cue
Meaning
Bold Type with Initial Capital
Letters
Indicates 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, dialog box options, software utility names, and other GUI labels. For
example, \qdesigns directory, d: drive, and chiptrip.gdf.
Italic Type with Initial Capital Letters
Indicates document titles. For example, AN 519: Stratix IV Design Guidelines.
Italic type
Indicates variables. For example, n + 1.
Variable names are enclosed in angle brackets (< >). For example, <file name> and
<project name>.pof.
Initial Capital Letters
Indicates keyboard keys and menu names. For example, 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.”
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 2
Info–xii
Additional Information
Visual Cue
Courier type
Meaning
Indicates signal, port, register, bit, block, and primitive names. For example, data1,
tdi, and input. Active-low signals are denoted by suffix n. For example,
resetn.
Indicates command line commands and anything that must be typed exactly as it
appears. For example, c:\qdesigns\tutorial\chiptrip.gdf.
Also indicates sections of an actual file, such as a Report File, references to parts of
files (for example, the AHDL keyword SUBDESIGN), and logic function names (for
example, TRI).
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.
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.
r
The angled arrow instructs you to press Enter.
f
The feet direct you to more information about a particular topic.
Cyclone IV Device Handbook, Volume 2
© November 2009
Altera Corporation
Section 1. Device Core
This section provides a complete overview of all features relating to the Cyclone® IV
device family, which is the most architecturally advanced, high-performance,
low-power FPGA in the market place. This section includes the following chapters:
■
Chapter 1, Cyclone IV FPGA Device Family Overview
■
Chapter 2, Logic Elements and Logic Array Blocks in Cyclone IV Devices
■
Chapter 3, Memory Blocks in Cyclone IV Devices
■
Chapter 4, Embedded Multipliers in Cyclone IV Devices
■
Chapter 5, Clock Networks and PLLs in Cyclone IV Devices
Revision History
Refer to each chapter for its own specific revision history. For information about when
each chapter was updated, refer to the Chapter Revision Dates section, which appears
in the complete handbook.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
1. Cyclone IV FPGA Device Family
Overview
CYIV-51001-1.0
Altera’s new Cyclone® IV FPGA device family extends the Cyclone FPGA series
leadership in providing the market’s lowest-cost, lowest-power FPGAs, now with a
transceiver variant. Cyclone IV devices are targeted to high-volume, cost-sensitive
applications, enabling system designers to meet increasing bandwidth requirements
while lowering costs.
Built on an optimized low-power process, the Cyclone IV device family offers the
following two variants:
■
Cyclone IV E—lowest power, high functionality with the lowest cost
■
Cyclone IV GX—lowest power and lowest cost FPGAs with 3.125 Gbps
transceivers
Providing power and cost savings without sacrificing performance, along with a
low-cost integrated transceiver option, Cyclone IV devices are ideal for low-cost,
small-form-factor applications in the wireless, wireline, broadcast, industrial,
consumer, and communications industries.
Cyclone IV Device Family Features
The Cyclone IV device family offers the following features:
■
© November 2009
Low cost, low power FPGA fabric:
■
6K to 155K logic elements
■
Up to 6 Mb of embedded memory
■
Up to 360 18 × 18 multipliers for DSP processing intensive applications
■
Protocol bridging applications for under 1.5 W total power
Altera Corporation
Cyclone IV Device Handbook, Volume 1
1–2
Chapter 1: Cyclone IV FPGA Device Family Overview
Cyclone IV Device Family Features
■
■
■
Cyclone IV GX devices offer up to eight high-speed transceivers that provide:
■
Data rates up to 3.125 Gbps
■
8B10B encoder/decoder
■
8-bit or 10-bit PMA to PCS interface
■
Byte serializer/deserializer
■
Word aligner
■
Rate matching FIFO
■
TX bit slipper for CPRI
■
Electrical idle
■
Dynamic channel reconfiguration allowing you to change data rates and
protocols on-the-fly
■
Static equalization and pre-emphasis for superior signal integrity
■
150 mW per channel power consumption
■
Flexible clocking structure to support multiple protocols in a single transceiver
block
Cyclone IV GX devices offer dedicated Hard IP for PCI Express Gen 1:
■
×1, ×2, and ×4 lane configurations
■
End point and root port configurations
■
Up to 256-byte payload
■
One virtual channel
■
2 KB retry buffer
■
4 KB RX buffer
Cyclone IV GX devices offer a wide range of protocol support:
■
PCI Express Gen 1 ×1, ×2, and ×4 (2.5 Gbps)
■
Gigabit Ethernet (1.25 Gbps)
■
Common Public Radio Interface (CPRI) (up to 3.072 Gbps)
■
XAUI (3.125 Gbps)
■
Triple rate Serial Digital Interface (SDI) (up to 2.97 Gbps)
■
Serial RapidIO (3.125 Gbps)
■
Basic mode (up to 3.125 Gbps)
■
V-by-One (up to 3.0 Gbps)
■
DisplayPort (2.7 Gbps)
■
SATA (up to 3.0 Gbps)
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 1: Cyclone IV FPGA Device Family Overview
Device Resources
■
1–3
Up to 535 user I/Os
■
LVDS interfaces up to 840 Mbps TX, 875 Mbps RX
■
Support for DDR2 SDRAM interfaces up to 200 MHz
■
Support for QDRII SRAM and DDR SDRAM up to 167 MHz
■
Up to eight PLLs per device
■
Offered in commercial and industrial temperature grades
Device Resources
Table 1–1 shows Cyclone IV E device resources.
Table 1–1. Cyclone IV E Device Resources
Resources
EP4CE6 EP4CE10
Logic elements (LEs)
EP4CE15
EP4CE30 EP4CE40 EP4CE55 EP4CE75 EP4CE115
6,272
10,320
15,408
28,848
39,600
55,856
75,408
114,480
Embedded memory (Kbits)
270
414
504
594
1,134
2,340
2,745
3,888
Embedded 18 × 18 multipliers
15
23
56
66
116
154
200
266
General-purpose PLLs
2
2
4
4
4
4
4
4
182
182
346
535
535
377
429
531
Maximum user I/O
Table 1–2 shows Cyclone IV GX device resources.
Table 1–2. Cyclone IV GX Device Resources
Resources
Logic elements (LEs)
EP4CGX15
EP4CGX22 EP4CGX30 EP4CGX50 EP4CGX75 EP4CGX110 EP4CGX150
14,400
21,280
29,440
49,888
73,920
109,424
149,760
540
756
1,080
2,502
4,158
5,490
6,480
Embedded 18 × 18 multipliers
0
40
80
140
198
280
360
General-purpose PLLs (GPLLs)
1
2
2
4 (2)
4 (2)
4 (2)
4 (2)
Embedded memory (Kbits)
2 (1)
2 (1)
2 (1)
4 (1)
4 (1)
4 (1)
4 (1)
Global clock networks
Multi-purpose PLLs (MPLLs)
20
20
20
30
30
30
30
High-speed transceivers (5)
2
4
4
8
8
8
8
2.5
2.5
2.5
3.125
3.125
3.125
3.125
1
1
1
1
1
1
1
9 (3)
9 (3)
9 (3)
11 (4)
11 (4)
11 (4)
11 (4)
72
150
150
310
310
475
475
Transceiver maximum data rate
(Gbps)
PCI Express Hard IP blocks
User I/O banks
Maximum user I/O
Notes to Table 1–2:
(1) The MPLLs can be used for general purpose clocking when not used to clock the transceivers. For more information, refer to the Clock Networks
and PLLs in Cyclone IV Devices chapter.
(2) Two of the GPLLs are able to support the transceiver clocking. For more information, refer to the Clock Networks and PLLs in Cyclone IV Devices
chapter.
(3) Including one Configuration I/O bank and two dedicated Clock input I/O banks for HSSI reference Clock input.
(4) Including one Configuration I/O bank and four dedicated Clock input I/O banks for HSSI reference Clock input.
(5) If PCIe X1 is implemented, the remaining transceivers in a quad can be used for other protocols at the same or different data rates.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
1–4
Cyclone IV Device Handbook, Volume 1
Package Matrix
Table 1–3 shows Cyclone IV E device package offerings.
Table 1–3. Cyclone IV E Device Package Offerings
Package
E144
F256
F484
F780
Size (mm)
22 × 22
17 × 17
23 × 23
29 × 29
Pitch (mm)
0.5
1.0
1.0
1.0
Device
User I/O
LVDS
User I/O
LVDS
User I/O
LVDS
User I/O
LVDS
EP4CE6
94
22
182
68
—
—
—
—
EP4CE10
94
22
182
68
—
—
—
—
EP4CE15
—
—
168
55
346
140
—
—
EP4CE30
—
—
—
—
331
127
535
227
EP4CE40
—
—
—
—
331
127
535
227
EP4CE55
—
—
—
—
327
135
377
163
EP4CE75
—
—
—
—
295
113
429
181
EP4CE115
—
—
—
—
283
106
531
233
Altera Corporation
Chapter 1: Cyclone IV FPGA Device Family Overview
Package Matrix
© November 2009
Table 1–4. Cyclone IV GX Device Package Offerings
Altera Corporation
Package
N148
F169
F324
F484
F672
F896
Size (mm)
11 × 11
14 × 14
19 × 19
23 × 23
27 × 27
31 × 31
Pitch (mm)
0.5
1.0
1.0
1.0
1.0
1.0
LVDS XCVRs User I/O
LVDS XCVRs
Device
User I/O LVDS XCVRs User I/O LVDS XCVRs User I/O LVDS XCVRs User I/O LVDS XCVRs User I/O
EP4CGX15
72
25
2
72
25
2
—
—
—
—
—
—
—
—
—
—
—
—
EP4CGX22
—
—
—
72
25
2
150
64
4
—
—
—
—
—
—
—
—
—
EP4CGX30
—
—
—
72
25
2
150
64
4
—
—
—
—
—
—
—
—
—
EP4CGX50
—
—
—
—
—
—
—
—
—
290
109
4
310
140
8
—
—
—
EP4CGX75
—
—
—
—
—
—
—
—
—
290
109
4
310
140
8
—
—
—
EP4CGX110
—
—
—
—
—
—
—
—
—
270
93
4
393
152
8
475
216
8
EP4CGX150
—
—
—
—
—
—
—
—
—
270
93
4
393
152
8
475
216
8
Chapter 1: Cyclone IV FPGA Device Family Overview
Package Matrix
© November 2009
Table 1–4 shows Cyclone IV GX device package offerings, including I/O and transceiver counts.
1–5
Cyclone IV Device Handbook, Volume 1
1–6
Chapter 1: Cyclone IV FPGA Device Family Overview
Cyclone IV Device Family Architecture
Cyclone IV Device Family Architecture
This section discusses Cyclone IV device architecture and contains the following
topics:
■
“FPGA Core Fabric”
■
“I/O Features”
■
“Clock Management”
■
“External Memory Interfaces”
■
“Configuration”
■
“High-Speed Transceivers (Cyclone IV GX Devices Only)”
■
“Hard IP for PCI Express (Cyclone IV GX Devices Only)”
FPGA Core Fabric
Cyclone IV devices leverage the same core fabric as the very successful Cyclone series
devices. The fabric consists of LEs, made of 4-input look up tables (LUTs), memory
blocks, and multipliers.
Each Cyclone IV device M9K memory block provides 9 Kbits of embedded SRAM
memory. The M9K blocks can be configured as single port, simple dual port, or true
dual port RAM, as well as FIFO buffers or ROM. They can also be configured to
implement any of the data widths in Table 1–5.
Table 1–5. Cyclone IV Device M9K Block Data Widths
Mode
Data Width Configurations
Single port or simple dual port
×1, ×2, ×4, ×8/9, ×16/18, and ×32/36
True dual port
×1, ×2, ×4, ×8/9, and ×16/18
The multiplier architecture in Cyclone IV devices is the same as in existing Cyclone
series devices. The embedded multiplier blocks can implement an 18 × 18 or two 9 × 9
multipliers in a single block. Altera offers a complete suite of DSP IP including FIR,
FFT, and NCO functions for use with the multiplier blocks. The Quartus® II design
software’s DSP Builder tool integrates MathWorks Simulink and MATLAB design
environments for a streamlined DSP design flow.
I/O Features
Cyclone IV device I/O supports programmable bus hold, programmable pull-up
resistors, programmable delay, programmable drive strength, programmable
slew-rate control to optimize signal integrity, and hot socketing. Cyclone IV devices
support calibrated on-chip series termination (RS OCT) or driver impedance
matching (Rs) for single-ended I/O standards. In Cyclone IV GX devices, the
high-speed transceiver I/Os are located on the left side of the device. The top, bottom,
and right sides can implement general-purpose user I/Os.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 1: Cyclone IV FPGA Device Family Overview
Cyclone IV Device Family Architecture
1–7
Table 1–6 lists the I/O standards that Cyclone IV devices support.
Table 1–6. Cyclone IV Device I/O Standards Support
Type
I/O Standard
Single-Ended I/O
LVTTL, LVCMOS, SSTL, HSTL, PCI, and PCI-X
Differential I/O
SSTL, HSTL, LVPECL, BLVDS, LVDS, mini-LVDS, RSDS, and PPDS
The LVDS SERDES is implemented in the core of the device using logic elements.
Clock Management
Cyclone IV devices include up to 30 global clock networks and up to eight PLLs with
five outputs per PLL to provide robust clock management and synthesis. Cyclone IV
device PLLs can be dynamically reconfigured in user mode to change the clock
frequency or phase.
Cyclone IV GX devices support two types of PLLs: Multi-purpose PLLs (MPLLs) and
General-purpose PLLs (GPLLs):
■
MPLLs are used for clocking the transceiver blocks. They can also be used for
general-purpose clocking when not used for transceiver clocking.
■
GPLLs can be used for general-purpose applications in the fabric and periphery,
such as external memory interfaces. Some of the GPLLs can support the
transceiver clocking. For more information, refer to the Clock Networks and PLLs in
Cyclone IV Devices chapter.
External Memory Interfaces
Cyclone IV devices support SDR, DDR, DDR2 SDRAM, and QDRII SRAM interfaces
on the top, bottom, and right sides of the device. Cyclone IV E devices also support
these interfaces on the left side of the device. Interfaces may span two or more sides of
the device to allow more flexible board design. The Altera® DDR SDRAM memory
interface solution consists of a PHY interface and a memory controller. The PHY IP is
provided by Altera and can be used in conjunction with your own custom memory
controller or an Altera-provided memory controller. Cyclone IV devices support use
of ECC bits on DDR and DDR2 SDRAM interfaces.
Configuration
Cyclone IV devices use SRAM cells to store configuration data. Configuration data is
downloaded to the Cyclone IV device each time the device powers up. Low-cost
configuration options include the Altera EPCS family serial flash devices and
commodity parallel flash configuration options. These options provide the flexibility
for general-purpose applications and the ability to meet specific configuration and
wake-up time requirements of the applications.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
1–8
Chapter 1: Cyclone IV FPGA Device Family Overview
Cyclone IV Device Family Architecture
Table 1–7 shows which configuration schemes are supported by Cyclone IV devices.
Table 1–7. Cyclone IV Device Configuration Schemes
Devices
Supported Configuration Scheme
Cyclone IV GX
AS, PS, JTAG, PP (1)
Cyclone IV E
AS, AP, PS, FPP, JTAG
Note to Table 1–7:
(1) The PP configuration scheme is only supported by EP4CGX50/75/110/150 devices
IEEE 1149.6 (AC JTAG) is supported on all transceiver I/O pins. All other pins
support IEEE 1149.1 (JTAG) for boundary scan testing.
For Cyclone IV GX devices to meet the PCIe 100 ms wake-up time requirement, you
must use the PS configuration mode for EP4CGX15/22/30 devices and the PP
configuration mode for EP4CGX50/75/110/150 devices.
High-Speed Transceivers (Cyclone IV GX Devices Only)
Cyclone IV GX devices contain up to eight full duplex high-speed transceivers that
can operate independently. These blocks support multiple industry-standard
communication protocols, as well as Basic mode, which can be used to implement
your own proprietary protocols. Each transceiver channel has its own pre-emphasis
and equalization circuitry, which can be set at compile time to optimize signal
integrity and reduce bit error rates. Transceiver blocks also support dynamic
reconfiguration, allowing you to change data rates and protocols on-the-fly.
The block diagram in Figure 1–1 shows the structure of the Cyclone IV GX transceiver.
Figure 1–1. Cyclone IV GX Transceiver Channel
Transmitter Channel PCS
tx_dataout
Serializer
© November 2009
rx_datain
CDR
Word Aligner
Receiver Channel
PMA
Rate Match FIFO
8B10B Decoder
Byte Deserializer
Byte Ordering
Receiver Channel PCS
RX Phase
Compensation
FIFO
Cyclone IV Device Handbook, Volume 1
8B10B Encoder
Byte Serializer
PIPE Interface
PCI Express Hard IP
TX Phase
Compensation
FIFO
Transceiver Channel
PMA
Deserializer
FPGA
Fabric
Altera Corporation
Chapter 1: Cyclone IV FPGA Device Family Overview
Reference and Ordering Information
1–9
Hard IP for PCI Express (Cyclone IV GX Devices Only)
Cyclone IV GX devices incorporate a single hard IP block for ×1, ×2, or ×4 PCI Express
(PIPE) in each device. This hard IP block is a complete PCI Express (PIPE) protocol
solution that implements PHY-MAC layer, Data Link Layer, and Transaction Layer
functionality. The hard IP for the PCI Express block supports root port and end point
configurations. This pre-verified hard IP block reduces risk, design time, timing
closure, and verification. You can configure the block with the Quartus II software’s
PCI Express Compiler, which guides you through the process step by step.
Reference and Ordering Information
Figure 1–2 describes the ordering codes for Cyclone IV GX devices.
Figure 1–2. Cyclone IV GX Device Packaging Ordering Information
EP4CGX 30
C
F
19
C
7
N
Family Signature
Optional Suffix
EP4CGX
Indicates specific device
shipment method
ES: Engineering sample
N: Lead-free devices
Device Density
15, 22, 30, 50, 75
110, 150
Speed Grade
6, 7, or 8 with 6
being the fastest
Transceiver Count
B: 2
C: 4
D: 8
Operating Temperature
C: Commercial temperature
(tJ = 0° C to 85° C)
Package Type
N: Quad Flat Pack
No Lead (QFN)
F: FineLine BGA
(FBGA)
Package
I: Industrial temperature
(tJ = -40° C to 100° C)
11 = 148 pins
14 = 169 pins
19 = 324 pins
23 = 484 pins
27 = 672 pins
31 = 896 pins
Chapter Revision History
Table 1–8 shows the revision history for this chapter.
Table 1–8. Chapter Revision History
Date
November 2009
© November 2009
Version
1.0
Altera Corporation
Changes Made
Initial release.
Cyclone IV Device Handbook, Volume 1
1–10
Cyclone IV Device Handbook, Volume 1
Chapter 1: Cyclone IV FPGA Device Family Overview
Chapter Revision History
© November 2009
Altera Corporation
2. Logic Elements and Logic Array Blocks
in Cyclone IV Devices
CYIV-51002-1.0
This chapter contains feature definitions for logic elements (LEs) and logic array
blocks (LABs). Details are provided on how LEs work, how LABs contain groups of
LEs, and how LABs interface with the other blocks in Cyclone ® IV devices.
Logic Elements
Logic elements (LEs) are the smallest units of logic in the Cyclone IV device
architecture. LEs are compact and provide advanced features with efficient logic
usage. Each LE has the following features:
© November 2009
■
A four-input look-up table (LUT), which can implement any function of four
variables
■
A programmable register
■
A carry chain connection
■
A register chain connection
■
The ability to drive the following interconnects:
■
Local
■
Row
■
Column
■
Register chain
■
Direct link
■
Register packing support
■
Register feedback support
Altera Corporation
Cyclone IV Device Handbook, Volume 1
2–2
Chapter 2: Logic Elements and Logic Array Blocks in Cyclone IV Devices
Logic Elements
Figure 2–1 shows the LEs for Cyclone IV devices.
Figure 2–1. Cyclone IV Device LEs
Register Chain
Routing from
previous LE
LE Carry-In
data 1
data 2
data 3
Register Bypass
LAB-Wide
Synchronous LAB-Wide
Programmable
Synchronous
Load
Register
Clear
Synchronous
Load and
Clear Logic
Look-Up Table Carry
Chain
(LUT)
data 4
D
Q
ENA
CLRN
labclr1
labclr2
Chip-Wide
Reset
Register Feedback
Asynchronous
Clear Logic
Row, Column,
And Direct Link
Routing
Row, Column,
And Direct Link
Routing
Local
Routing
(DEV_CLRn)
Clock &
Clock Enable
Select
LE Carry-Out
Register Chain
Output
labclk1
labclk2
labclkena1
labclkena2
LE Features
You can configure the programmable register of each LE for D, T, JK, or SR flipflop
operation. Each register has data, clock, clock enable, and clear inputs. Signals that
use the global clock network, general-purpose I/O pins, or any internal logic can
drive the clock and clear control signals of the register. Either general-purpose I/O
pins or the internal logic can drive the clock enable. For combinational functions, the
LUT output bypasses the register and drives directly to the LE outputs.
Each LE has three outputs that drive the local, row, and column routing resources.
The LUT or register output independently drives these three outputs. Two LE outputs
drive the column or row and direct link routing connections, while one LE drives the
local interconnect resources. This allows the LUT to drive one output while the
register drives another output. This feature, called register packing, improves device
utilization because the device can use the register and the LUT for unrelated
functions. The LAB-wide synchronous load control signal is not available when using
register packing. For more information about the synchronous load control signal,
refer to “LAB Control Signals” on page 2–6.
The register feedback mode allows the register output to feed back into the LUT of the
same LE to ensure that the register is packed with its own fan-out LUT, providing
another mechanism for improved fitting. The LE can also drive out registered and
unregistered versions of the LUT output.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 2: Logic Elements and Logic Array Blocks in Cyclone IV Devices
LE Operating Modes
2–3
In addition to the three general routing outputs, LEs in an LAB have register chain
outputs, which allows registers in the same LAB to cascade together. The register
chain output allows the LUTs to be used for combinational functions and the registers
to be used for an unrelated shift register implementation. These resources speed up
connections between LABs while saving local interconnect resources.
LE Operating Modes
Cyclone IV LEs operate in the following modes:
■
Normal mode
■
Arithmetic mode
The Quartus® II software automatically chooses the appropriate mode for common
functions, such as counters, adders, subtractors, and arithmetic functions, in
conjunction with parameterized functions such as the library of parameterized
modules (LPM) functions. You can also create special-purpose functions that specify
which LE operating mode to use for optimal performance, if required.
Normal Mode
Normal mode is suitable for general logic applications and combinational functions.
In normal mode, four data inputs from the LAB local interconnect are inputs to a
four-input LUT (Figure 2–2). The Quartus II Compiler automatically selects the
carry-in (cin) or the data3 signal as one of the inputs to the LUT. LEs in normal
mode support packed registers and register feedback.
Figure 2–2 shows LEs in normal mode.
Figure 2–2. Cyclone IV Device LEs in Normal Mode
Register Chain
Connection sload
sclear
(LAB Wide) (LAB Wide)
Packed Register Input
D
Row, Column, and
Direct Link Routing
ENA
CLRN
Row, Column, and
Direct Link Routing
Q
data1
data2
data3
cin (from cout
of previous LE)
data4
Four-Input
LUT
clock (LAB Wide)
ena (LAB Wide)
Local Routing
aclr (LAB Wide)
Register Bypass
© November 2009
Altera Corporation
Register Feedback
Register
Chain Output
Cyclone IV Device Handbook, Volume 1
2–4
Chapter 2: Logic Elements and Logic Array Blocks in Cyclone IV Devices
Logic Array Blocks
Arithmetic Mode
Arithmetic mode is ideal for implementing adders, counters, accumulators, and
comparators. An LE in arithmetic mode implements a 2-bit full adder and basic carry
chain (Figure 2–3). LEs in arithmetic mode can drive out registered and unregistered
versions of the LUT output. Register feedback and register packing are supported
when LEs are used in arithmetic mode.
Figure 2–3 shows LEs in arithmetic mode.
Figure 2–3. Cyclone IV Device LEs in Arithmetic Mode
Packed Register Input
Register Chain
Connection
sload
sclear
(LAB Wide)
(LAB Wide)
data4
data1
data2
Three-Input
LUT
cin (from cout
of previous LE)
Row, Column, and
Direct link routing
ENA
CLRN
Row, Column, and
Direct link routing
Q
data3
Three-Input
LUT
D
clock (LAB Wide)
ena (LAB Wide)
Local Routing
aclr (LAB Wide)
cout
Register
Chain Output
Register Bypass
Register Feedback
The Quartus II Compiler automatically creates carry chain logic during design
processing. You can also manually create the carry chain logic during design entry.
Parameterized functions, such as LPM functions, automatically take advantage of
carry chains for the appropriate functions.
The Quartus II Compiler creates carry chains longer than 16 LEs by automatically
linking LABs in the same column. For enhanced fitting, a long carry chain runs
vertically, which allows fast horizontal connections to M9K memory blocks or
embedded multipliers through direct link interconnects. For example, if a design has
a long carry chain in an LAB column next to a column of M9K memory blocks, any LE
output can feed an adjacent M9K memory block through the direct link interconnect.
If the carry chains run horizontally, any LAB which is not next to the column of M9K
memory blocks uses other row or column interconnects to drive a M9K memory
block. A carry chain continues as far as a full column.
Logic Array Blocks
Logic array blocks (LABs) contain groups of LEs.
Topology
Each LAB consists of the following features:
■
16 LEs
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 2: Logic Elements and Logic Array Blocks in Cyclone IV Devices
Logic Array Blocks
■
LAB control signals
■
LE carry chains
■
Register chains
■
Local interconnect
2–5
The local interconnect transfers signals between LEs in the same LAB. Register chain
connections transfer the output of one LE register to the adjacent LE register in an
LAB. The Quartus II Compiler places associated logic in an LAB or adjacent LABs,
allowing the use of local and register chain connections for performance and area
efficiency.
Figure 2–4 shows the LAB structure for Cyclone IV devices.
Figure 2–4. Cyclone IV Device LAB Structure
Row Interconnect
Column
Interconnect
Direct link
interconnect
from adjacent
block
Direct link
interconnect
from adjacent
block
Direct link
interconnect
to adjacent
block
Direct link
interconnect
to adjacent
block
LAB
Local Interconnect
LAB Interconnects
The LAB local interconnect is driven by column and row interconnects and LE
outputs in the same LAB. Neighboring LABs, phase-locked loops (PLLs), M9K RAM
blocks, and embedded multipliers from the left and right can also drive the local
interconnect of a LAB through the direct link connection. The direct link connection
feature minimizes the use of row and column interconnects, providing higher
performance and flexibility. Each LE can drive up to 48 LEs through fast local and
direct link interconnects.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
2–6
Chapter 2: Logic Elements and Logic Array Blocks in Cyclone IV Devices
LAB Control Signals
Figure 2–5 shows the direct link connection.
Figure 2–5. Cyclone IV Device Direct Link Connection
Direct link interconnect from
left LAB, M9K memory
block, embedded multiplier,
PLL, or IOE output
Direct link interconnect from
right LAB, M9K memory
block, embedded multiplier,
PLL, or IOE output
Direct link
interconnect
to right
Direct link
interconnect
to left
Local
Interconnect
LAB
LAB Control Signals
Each LAB contains dedicated logic for driving control signals to its LEs. The control
signals include:
■
Two clocks
■
Two clock enables
■
Two asynchronous clears
■
One synchronous clear
■
One synchronous load
You can use up to eight control signals at a time. Register packing and synchronous
load cannot be used simultaneously.
Each LAB can have up to four non-global control signals. You can use additional LAB
control signals as long as they are global signals.
Synchronous clear and load signals are useful for implementing counters and other
functions. The synchronous clear and synchronous load signals are LAB-wide signals
that affect all registers in the LAB.
Each LAB can use two clocks and two clock enable signals. The clock and clock enable
signals of each LAB are linked. For example, any LE in a particular LAB using the
labclk1 signal also uses the labclkena1. If the LAB uses both the rising and falling
edges of a clock, it also uses both LAB-wide clock signals. Deasserting the clock
enable signal turns off the LAB-wide clock.
The LAB row clocks [5..0] and LAB local interconnect generate the LAB-wide
control signals. The MultiTrack interconnect inherent low skew allows clock and
control signal distribution in addition to data distribution.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 2: Logic Elements and Logic Array Blocks in Cyclone IV Devices
Chapter Revision History
2–7
Figure 2–6 shows the LAB control signal generation circuit.
Figure 2–6. Cyclone IV Device LAB-Wide Control Signals
Dedicated
LAB Row
Clocks
6
Local
Interconnect
Local
Interconnect
Local
Interconnect
Local
Interconnect
labclkena2
labclkena1
labclk1
labclk2
synclr
labclr1
syncload
labclr2
LAB-wide signals control the logic for the clear signal of the register. The LE directly
supports an asynchronous clear function. Each LAB supports up to two asynchronous
clear signals (labclr1 and labclr2).
A LAB-wide asynchronous load signal to control the logic for the preset signal of the
register is not available. The register preset is achieved with a NOT gate push-back
technique. Cyclone IV devices only support either a preset or asynchronous clear
signal.
In addition to the clear port, Cyclone IV devices provide a chip-wide reset pin
(DEV_CLRn) that resets all registers in the device. An option set before compilation in
the Quartus II software controls this pin. This chip-wide reset overrides all other
control signals.
Chapter Revision History
Table 2–1 shows the revision history for this chapter.
Table 2–1. Chapter Revision History
Date
November 2009
© November 2009
Version
1.0
Altera Corporation
Changes Made
Initial release.
Cyclone IV Device Handbook, Volume 1
2–8
Cyclone IV Device Handbook, Volume 1
Chapter 2: Logic Elements and Logic Array Blocks in Cyclone IV Devices
Chapter Revision History
© November 2009
Altera Corporation
3. Memory Blocks in Cyclone IV Devices
CYIV-51003-1.0
Cyclone® IV devices feature embedded memory structures to address the on-chip
memory needs of Altera® Cyclone IV device designs. The embedded memory
structure consists of columns of M9K memory blocks that you can configure to
provide various memory functions, such as RAM, shift registers, ROM, and FIFO
buffers.
This chapter contains the following sections:
■
“Memory Modes” on page 3–7
■
“Clocking Modes” on page 3–14
■
“Design Considerations” on page 3–15
Overview
M9K blocks support the following features:
© November 2009
■
8,192 memory bits per block (9,216 bits per block including parity)
■
Independent read-enable (rden) and write-enable (wren) signals for each port
■
Packed mode in which the M9K memory block is split into two 4.5 K single-port
RAMs
■
Variable port configurations
■
Single-port and simple dual-port modes support for all port widths
■
True dual-port (one read and one write, two reads, or two writes) operation
■
Byte enables for data input masking during writes
■
Two clock-enable control signals for each port (port A and port B)
■
Initialization file to pre-load memory content in RAM and ROM modes
Altera Corporation
Cyclone IV Device Handbook, Volume 1
3–2
Chapter 3: Memory Blocks in Cyclone IV Devices
Overview
Table 3–1 lists the features supported by the M9K memory.
Table 3–1. Summary of M9K Memory Features
Feature
M9K Blocks
8192 × 1
4096 × 2
2048 × 4
1024 × 8
Configurations (depth × width)
1024 × 9
512 × 16
512 × 18
256 × 32
256 × 36
Parity bits
v
Byte enable
v
Packed mode
v
Address clock enable
v
Single-port mode
v
Simple dual-port mode
v
True dual-port mode
v
Embedded shift register mode (1)
v
ROM mode
v
FIFO buffer (1)
v
Simple dual-port mixed width support
v
True dual-port mixed width support (2)
v
Memory initialization file (.mif)
v
Mixed-clock mode
v
Power-up condition
Outputs cleared
Register asynchronous clears
Latch asynchronous clears
Write or read operation triggering
Read address registers and output registers only
Output latches only
Write and read: Rising clock edges
Same-port read-during-write
Outputs set to Old Data or New Data
Mixed-port read-during-write
Outputs set to Old Data or Don’t Care
Notes to Table 3–1:
(1) FIFO buffers and embedded shift registers that require external logic elements (LEs) for implementing control
logic.
(2) Width modes of ×32 and ×36 are not available.
f
For information about the number of M9K memory blocks for Cyclone IV devices,
refer to the Cyclone IV Device Family Overview chapter in volume 1 of the Cyclone IV
Device Handbook.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 3: Memory Blocks in Cyclone IV Devices
Overview
3–3
Control Signals
The clock-enable control signal controls the clock entering the input and output
registers and the entire M9K memory block. This signal disables the clock so that the
M9K memory block does not see any clock edges and does not perform any
operations.
The rden and wren control signals control the read and write operations for each
port of M9K memory blocks. You can disable the rden or wren signals independently
to save power whenever the operation is not required.
Parity Bit Support
Parity checking for error detection is possible with the parity bit along with internal
logic resources. Cyclone IV devices M9K memory blocks support a parity bit for each
storage byte. You can use this bit as either a parity bit or as an additional data bit. No
parity function is actually performed on this bit.
Byte Enable Support
Cyclone IV devices M9K 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 wren signals, along with the byte-enable (byteena)
signals, control the write operations of the RAM block. The default value of the
byteena signals is high (enabled), in which case writing is controlled only by the
wren signals. There is no clear port to the byteena registers. M9K blocks support
byte enables when the write port has a data width of ×16, ×18, ×32, or ×36 bits.
Byte enables operate in one-hot manner, with the LSB of the byteena signal
corresponding to the least significant byte of the data bus. For example, if
byteena = 01 and you are using a RAM block in ×18 mode, 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.
Table 3–2 lists the byte selection.
Table 3–2. byteena for Cyclone IV Devices M9K Blocks
(Note 1)
Affected Bytes
byteena[3..0]
datain ×16
datain ×18
datain ×32
datain ×36
[0] = 1
[7..0]
[8..0]
[7..0]
[8..0]
[1] = 1
[15..8]
[17..9]
[15..8]
[17..9]
[2] = 1
—
—
[23..16]
[26..18]
[3] = 1
—
—
[31..24]
[35..27]
Note to Table 3–2:
(1) Any combination of byte enables is possible.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
3–4
Chapter 3: Memory Blocks in Cyclone IV Devices
Overview
Figure 3–1 shows how the wren and byteena signals control the RAM operations.
Figure 3–1. Cyclone IV Devices byteena Functional Waveform
(Note 1)
inclock
wren
rden
an
address
data
a0
a1
XXXX
byteena
contents at a1
10
a1
01
a2
XXXX
11
FFFF
XX
ABFF
FFFF
FFCD
FFFF
contents at a2
q (asynch)
a0
ABCD
XX
contents at a0
a2
doutn
ABFF
ABCD
FFCD
ABCD
ABFF
FFCD
ABCD
Note to Figure 3–1:
(1) For this functional waveform, New Data mode is selected.
When a byteena bit is deasserted during a write cycle, the old data in the memory
appears in the corresponding data-byte output. When a byteena bit is asserted
during a write cycle, the corresponding data-byte output depends on the setting
chosen in the Quartus® II software. The setting can either be the newly written data or
the old data at that location.
Packed Mode Support
Cyclone IV devices M9K memory blocks support packed mode. You can implement
two single-port memory blocks in a single block under the following conditions:
■
Each of the two independent block sizes is less than or equal to half of the M9K
block size. The maximum data width for each independent block is 18 bits wide.
■
Each of the single-port memory blocks is configured in single-clock mode. For
more information about packed mode support, refer to “Single-Port Mode” on
page 3–7 and “Single-Clock Mode” on page 3–15.
Address Clock Enable Support
Cyclone IV devices M9K memory blocks support an active-low address clock enable,
which holds the previous address value for as long as the addressstall signal is
high (addressstall = '1'). When you configure M9K memory blocks in dual-port
mode, each port has its own independent address clock enable.
Figure 3–2 shows an address clock enable block diagram. The address register output
feeds back to its input using a multiplexer. The multiplexer output is selected by the
address clock enable (addressstall) signal.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 3: Memory Blocks in Cyclone IV Devices
Overview
3–5
Figure 3–2. Cyclone IV Devices Address Clock Enable Block Diagram
address[0]
address[0]
register
address[0]
address[N]
address[N]
register
address[N]
addressstall
clock
The address clock enable is typically used to improve the effectiveness of cache
memory applications during a cache-miss. The default value for the address clock
enable signals is low.
Figure 3–3 and Figure 3–4 show the address clock enable waveform during read and
write cycles, respectively.
Figure 3–3. Cyclone IV Devices Address Clock Enable During Read Cycle Waveform
inclock
rdaddress
a0
a1
a2
a3
a4
a5
a6
rden
addressstall
latched address
(inside memory)
an
q (synch) doutn-1
q (asynch)
© November 2009
Altera Corporation
doutn
a1
a0
doutn
dout0
dout0
dout1
dout1
dout1
dout1
dout1
a4
a5
dout1
dout4
dout4
dout5
Cyclone IV Device Handbook, Volume 1
3–6
Chapter 3: Memory Blocks in Cyclone IV Devices
Overview
Figure 3–4. Cyclone IV Devices Address Clock Enable During Write Cycle Waveform
inclock
wraddress
a0
a1
a2
a3
a4
a5
a6
00
01
02
03
04
05
06
data
wren
addressstall
latched address
(inside memory)
contents at a0
contents at a1
an
a1
a0
a4
a5
00
XX
XX
01
contents at a2
XX
contents at a3
XX
contents at a4
03
02
04
XX
XX
contents at a5
05
Mixed-Width Support
M9K memory blocks support mixed data widths. When using simple dual-port, true
dual-port, or FIFO modes, mixed width support allows you to read and write
different data widths to an M9K memory block. For more information about the
different widths supported per memory mode, refer to “Memory Modes” on
page 3–7.
Asynchronous Clear
Cyclone IV devices support asynchronous clears for read address registers, output
registers, and output latches only. Input registers other than read address registers are
not supported. When applied to output registers, the asynchronous clear signal clears
the output registers and the effects are immediately seen. If your RAM does not use
output registers, you can still clear the RAM outputs using the output latch
asynchronous clear feature.
1
Asserting asynchronous clear to the read address register during a read operation
may corrupt the memory content.
Figure 3–5 shows the functional waveform for the asynchronous clear feature.
Figure 3–5. Output Latch Asynchronous Clear Waveform
clk
aclr
aclr at latch
q
Cyclone IV Device Handbook, Volume 1
a1
a2
a0
a1
© November 2009
Altera Corporation
Chapter 3: Memory Blocks in Cyclone IV Devices
Memory Modes
1
f
3–7
You can selectively enable asynchronous clears per logical memory using the
Quartus II RAM MegaWizard™ Plug-In Manager.
For more information, refer to the RAM Megafunction User Guide.
There are three ways to reset registers in the M9K blocks:
■
Power up the device
■
Use the aclr signal for output register only
■
Assert the device-wide reset signal using the DEV_CLRn option
Memory Modes
Cyclone IV devices M9K memory blocks allow you to implement fully-synchronous
SRAM memory in multiple modes of operation. Cyclone IV devices M9K memory
blocks do not support asynchronous (unregistered) memory inputs.
M9K memory blocks support the following modes:
1
■
Single-port
■
Simple dual-port
■
True dual-port
■
Shift-register
■
ROM
■
FIFO
Violating the setup or hold time on the M9K memory block input registers may
corrupt memory contents. This applies to both read and write operations.
Single-Port Mode
Single-port mode supports non-simultaneous read and write operations from a single
address. Figure 3–6 shows the single-port memory configuration for Cyclone IV
devices M9K memory blocks.
Figure 3–6. Single-Port Memory (Note 1), (2)
data[ ]
address[ ]
wren
byteena[]
addressstall
inclock
inclocken
rden
aclr
q[]
outclock
outclocken
Notes to Figure 3–6:
(1) You can implement two single-port memory blocks in a single M9K block.
(2) For more information, refer to “Packed Mode Support” on page 3–4.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
3–8
Chapter 3: Memory Blocks in Cyclone IV Devices
Memory Modes
During a write operation, the behavior of the RAM outputs is configurable. If you
activate rden during a write operation, the RAM outputs show either the new data
being written or the old data at that address. If you perform a write operation with
rden deactivated, the RAM outputs retain the values they held during the most
recent active rden signal.
To choose the desired behavior, set the Read-During-Write option to either New Data
or Old Data in the RAM MegaWizard Plug-In Manager in the Quartus II software.
For more information about read-during-write mode, refer to “Read-During-Write
Operations” on page 3–15.
The port width configurations for M9K blocks in single-port mode are as follow:
■
8192 × 1
■
4096 × 2
■
2048 × 4
■
1024 × 8
■
1024 × 9
■
512 × 16
■
512 × 18
■
256 × 32
■
256 × 36
Figure 3–7 shows a timing waveform for read and write operations in single-port
mode with unregistered outputs. Registering the outputs of the RAM simply delays
the q output by one clock cycle.
Figure 3–7. Cyclone IV Devices Single-Port Mode Timing Waveform
clk_a
wren_a
rden_a
address_a
data_a
q_a (old data)
q_a (new data)
Cyclone IV Device Handbook, Volume 1
a0
A
a1
B
C
D
E
F
a0(old data)
A
B
a1(old data)
D
E
A
B
C
D
E
F
© November 2009
Altera Corporation
Chapter 3: Memory Blocks in Cyclone IV Devices
Memory Modes
3–9
Simple Dual-Port Mode
Simple dual-port mode supports simultaneous read and write operations to different
locations. Figure 3–8 shows the simple dual-port memory configuration.
Figure 3–8. Cyclone IV Devices Simple Dual-Port Memory
data[ ]
wraddress[ ]
wren
byteena[]
wr_addressstall
wrclock
wrclocken
aclr
(Note 1)
rdaddress[ ]
rden
q[ ]
rd_addressstall
rdclock
rdclocken
Note to Figure 3–8:
(1) Simple dual-port RAM supports input or output clock mode in addition to the read or write clock mode shown.
Cyclone IV devices M9K memory blocks support mixed-width configurations,
allowing different read and write port widths. Table 3–3 lists mixed-width
configurations.
Table 3–3. Cyclone IV Devices M9K Block Mixed-Width Configurations (Simple Dual-Port Mode)
Write Port
8192 × 1
4096 × 2
2048 × 4
1024 × 8
512 × 16
256 × 32
1024 × 9
512 × 18
256 × 36
8192 × 1
v
v
v
v
v
v
—
—
—
4096 × 2
v
v
v
v
v
v
—
—
—
2048 × 4
v
v
v
v
v
v
—
—
—
1024 × 8
v
v
v
v
v
v
—
—
—
512 × 16
v
v
v
v
v
v
—
—
—
256 × 32
v
v
v
v
v
v
—
—
—
1024 × 9
—
—
—
—
—
—
v
v
v
512 × 18
—
—
—
—
—
—
v
v
v
256 × 36
—
—
—
—
—
—
v
v
v
Read Port
In simple dual-port mode, M9K memory blocks support separate wren and rden
signals. You can save power by keeping the rden signal low (inactive) when not
reading. Read-during-write operations to the same address can either output “Don’t
Care” data at that location or output “Old Data”. To choose the desired behavior, set
the Read-During-Write option to either Don’t Care or Old Data in the RAM
MegaWizard Plug-In Manager in the Quartus II software. For more information about
this behavior, refer to “Read-During-Write Operations” on page 3–15.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
3–10
Chapter 3: Memory Blocks in Cyclone IV Devices
Memory Modes
Figure 3–9 shows the timing waveform for read and write operations in simple
dual-port mode with unregistered outputs. Registering the outputs of the RAM
simply delays the q output by one clock cycle.
Figure 3–9. Cyclone IV Devices Simple Dual-Port Timing Waveform
wrclock
wren
wraddress
an-1
data
din-1
a0
an
a1
a2
a3
din
a4
a5
din4
din5
a6
din6
rdclock
rden
rdaddress
q (asynch)
bn
doutn-1
b0
doutn
b1
b2
b3
dout0
True Dual-Port Mode
True dual-port mode supports any combination of two-port operations: two reads,
two writes, or one read and one write, at two different clock frequencies. Figure 3–10
shows Cyclone IV devices true dual-port memory configuration.
Figure 3–10. Cyclone IV Devices True Dual-Port Memory
data_a[ ]
address_a[ ]
wren_a
byteena_a[]
addressstall_a
clock_a
clocken_a
rden_a
aclr_a
q_a[]
(Note 1)
data_b[ ]
address_b[]
wren_b
byteena_b[]
addressstall_b
clock_b
clocken_b
rden_b
aclr_b
q_b[]
Note to Figure 3–10:
(1) True dual-port memory supports input or output clock mode in addition to the independent clock mode shown.
1
The widest bit configuration of the M9K blocks in true dual-port mode is 512 × 16-bit
(18-bit with parity).
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 3: Memory Blocks in Cyclone IV Devices
Memory Modes
3–11
Table 3–4 lists the possible M9K block mixed-port width configurations.
Table 3–4. Cyclone IV Devices M9K Block Mixed-Width Configurations (True Dual-Port Mode)
Write Port
8192 × 1
4096 × 2
2048 × 4
1024 × 8
512 × 16
1024 × 9
512 × 18
8192 × 1
v
v
v
v
v
—
—
4096 × 2
v
v
v
v
v
—
—
2048 × 4
v
v
v
v
v
—
—
Read Port
1024 × 8
v
v
v
v
v
—
—
512 × 16
v
v
v
v
v
—
—
1024 × 9
—
—
—
—
—
v
v
512 × 18
—
—
—
—
—
v
v
In true dual-port mode, M9K memory blocks support separate wren and rden
signals. You can save power by keeping the rden 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”. To choose the desired behavior, set the
Read-During-Write option to either New Data or Old Data in the RAM MegaWizard
Plug-In Manager in the Quartus II software. For more information about this
behavior, refer to “Read-During-Write Operations” on page 3–15.
In true dual-port mode, you can access any memory location at any time from either
port A or port B. However, when accessing the same memory location from both
ports, you must avoid possible write conflicts. When you attempt to write to the same
address location from both ports at the same time, a write conflict happens. This
results in unknown data being stored to that address location. There is no conflict
resolution circuitry built into the Cyclone IV devices M9K memory blocks. You must
handle address conflicts external to the RAM block.
Figure 3–11 shows true dual-port timing waveforms for the write operation at port A
and read operation at port B. Registering the outputs of the RAM simply delays the q
outputs by one clock cycle.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
3–12
Chapter 3: Memory Blocks in Cyclone IV Devices
Memory Modes
Figure 3–11. Cyclone IV Devices True Dual-Port Timing Waveform
clk_a
wren_a
address_a
data_a
an-1
an
din-1
din
a0
a1
a2
a3
a4
a5
a6
din4
din5
din6
rden_a
q_a (asynch)
din-1
din
dout0
dout1
dout2
dout3
din5
din4
clk_b
wren_b
address_b
bn
b0
b1
b2
b3
doutn
dout0
dout1
dout2
rden_b
q_b (asynch)
doutn-1
Shift Register Mode
Cyclone IV devices M9K memory blocks 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-correlation 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 (w × m × n) shift register is determined by the input data width (w), the
length of the taps (m), and the number of taps (n), and must be less than or equal to
the maximum number of memory bits, which is 9,216 bits. In addition, the size of
(w × n) must be less than or equal to the maximum width of the block, which is 36 bits.
If you need a larger shift register, you can cascade the M9K memory blocks.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 3: Memory Blocks in Cyclone IV Devices
Memory Modes
3–13
Figure 3–12 shows the Cyclone IV devices M9K memory block in shift register mode.
Figure 3–12. Cyclone IV Devices Shift Register Mode 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
Cyclone IV devices M9K memory blocks support ROM mode. A .mif initializes the
ROM contents of these blocks. The address lines of the ROM are registered. The
outputs can be registered or unregistered. The ROM read operation is identical to the
read operation in the single-port RAM configuration.
FIFO Buffer Mode
Cyclone IV devices M9K memory blocks support single-clock or dual-clock FIFO
buffers. Dual clock FIFO buffers are useful when transferring data from one clock
domain to another clock domain. Cyclone IV devices M9K memory blocks do not
support simultaneous read and write from an empty FIFO buffer.
f
© November 2009
For more information about FIFO buffers, refer to the Single- and Dual-Clock FIFO
Megafunction User Guide.
Altera Corporation
Cyclone IV Device Handbook, Volume 1
3–14
Chapter 3: Memory Blocks in Cyclone IV Devices
Clocking Modes
Clocking Modes
Cyclone IV devices M9K memory blocks support the following clocking modes:
■
Independent
■
Input or output
■
Read or write
■
Single-clock
When using read or write clock mode, if you perform a simultaneous read or write to
the same address location, the output read data is unknown. If you require the output
data to be a known value, use either single-clock mode or I/O clock mode and choose
the appropriate read-during-write behavior in the MegaWizard Plug-In Manager.
1
Violating the setup or hold time on the memory block input registers might corrupt
the memory contents. This applies to both read and write operations.
1
Asynchronous clears are available on read address registers, output registers, and
output latches only.
Table 3–5 lists the clocking mode versus memory mode support matrix.
Table 3–5. Cyclone IV Devices Memory Clock Modes
True Dual-Port
Mode
Simple
Dual-Port
Mode
Single-Port
Mode
ROM Mode
FIFO Mode
Independent
v
—
—
v
—
Input or output
v
v
v
v
—
Read or write
—
v
—
—
v
Single-clock
v
v
v
v
v
Clocking Mode
Independent Clock Mode
Cyclone IV devices M9K memory blocks can implement independent clock mode for
true dual-port memories. In this mode, a separate clock is available for each port
(port A and port B). clock A controls all registers on the port A side, while clock B
controls all registers on the port B side. Each port also supports independent clock
enables for port A and B registers.
Input or Output Clock Mode
Cyclone IV devices M9K memory blocks can implement input or output clock mode
for FIFO, single-port, true, and simple dual-port memories. In this mode, an input
clock controls all input registers to the memory block including data, address,
byteena, wren, and rden registers. An output clock controls the data-output
registers. Each memory block port also supports independent clock enables for input
and output registers.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 3: Memory Blocks in Cyclone IV Devices
Design Considerations
3–15
Read or Write Clock Mode
Cyclone IV devices M9K memory blocks can implement read or write clock mode for
FIFO and simple dual-port memories. In this mode, a write clock controls the data
inputs, write address, and wren registers. Similarly, a read clock controls the data
outputs, read address, and rden registers. M9K memory blocks support independent
clock enables for both the read and write clocks.
When using read or write mode, if you perform a simultaneous read or write to the
same address location, the output read data is unknown. If you require the output
data to be a known value, use either single-clock mode, input clock mode, or output
clock mode and choose the appropriate read-during-write behavior in the
MegaWizard Plug-In Manager.
Single-Clock Mode
Cyclone IV devices M9K memory blocks can implement single-clock mode for FIFO,
ROM, true dual-port, simple dual-port, and single-port memories. In this mode, you
can control all registers of the M9K memory block with a single clock together with
clock enable.
Design Considerations
This section describes designing with M9K memory blocks.
Read-During-Write Operations
“Same-Port Read-During-Write Mode” on page 3–16 and “Mixed-Port Read-DuringWrite Mode” on page 3–17 describe the functionality of the various RAM
configurations when reading from an address during a write operation at that same
address.
There are two read-during-write data flows: same-port and mixed-port. Figure 3–13
shows the difference between these flows.
Figure 3–13. Cyclone IV Devices Read-During-Write Data Flow
write_a
Port A
data in
Port B
data in
write_b
Mixed-port
data flow
Same-port
data flow
read_a
© November 2009
Altera Corporation
Port A
data out
Port B
data out
read_b
Cyclone IV Device Handbook, Volume 1
3–16
Chapter 3: Memory Blocks in Cyclone IV Devices
Design Considerations
Same-Port Read-During-Write Mode
This mode applies to a single-port RAM or the same port of a true dual-port RAM. In
the same port read-during-write mode, there are two output choices: New Data mode
(or flow-through) and Old Data mode. In New Data mode, 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.
When using New Data mode together with byteena, you can control the output of
the RAM. When byteena is high, the data written into the memory passes to the
output (flow-through). When byteena is low, the masked-off data is not written into
the memory and the old data in the memory appears on the outputs. Therefore, the
output can be a combination of new and old data determined by byteena.
Figure 3–14 and Figure 3–15 show sample functional waveforms of same port
read-during-write behavior with both New Data and Old Data modes, respectively.
Figure 3–14. Same Port Read-During Write: New Data Mode
clk_a
wren_a
rden_a
address_a
data_a
a0
A
q_a (asynch)
a1
B
A
C
B
D
C
E
D
F
E
F
Figure 3–15. Same Port Read-During-Write: Old Data Mode
clk_a
wren_a
rden_a
address_a
data_a
q_a (asynch)
Cyclone IV Device Handbook, Volume 1
a0
A
a0(old data)
a1
B
C
A
D
B
E
a1(old data)
F
D
© November 2009
E
Altera Corporation
Chapter 3: Memory Blocks in Cyclone IV Devices
Design Considerations
3–17
Mixed-Port Read-During-Write Mode
This mode applies to a RAM in simple or true dual-port mode, which has one port
reading and the other port writing to the same address location with the same clock.
In this mode, you also have two output choices: Old Data mode or Don't Care mode.
In Old Data mode, a read-during-write operation to different ports causes the RAM
outputs to reflect the old data at that address location. In Don't Care mode, the same
operation results in a “Don't Care” or unknown value on the RAM outputs.
f
For more information about how to implement the desired behavior, refer to the RAM
Megafunction User Guide.
Figure 3–16 shows a sample functional waveform of mixed port read-during-write
behavior for Old Data mode. In Don't Care mode, the old data is replaced with
“Don't Care”.
Figure 3–16. Mixed Port Read-During-Write: Old Data Mode
clk_a&b
wren_a
address_a
data_a
a
b
A
B
C
D
E
F
rden_b
address_b
q_b (asynch)
1
a
a (old data)
b
A
B
b (old data)
D
E
For mixed-port read-during-write operation with dual clocks, the relationship
between the clocks determines the output behavior of the memory. If you use the
same clock for the two clocks, the output is the old data from the address location.
However, if you use different clocks, the output is unknown during the mixed-port
read-during-write operation. This unknown value may be the old or new data at the
address location, depending on whether the read happens before or after the write.
Conflict Resolution
When you are using M9K 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 M9K memory blocks, this results in
unknown data being written to that location. Therefore, you must implement
conflict-resolution logic external to the M9K memory block.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
3–18
Chapter 3: Memory Blocks in Cyclone IV Devices
Chapter Revision History
Power-Up Conditions and Memory Initialization
The M9K memory block outputs of Cyclone IV devices power up to zero (cleared)
regardless of whether the output registers are used or bypassed. All M9K memory
blocks support initialization using a .mif. You can create .mifs in the Quartus II
software and specify their use using the RAM MegaWizard Plug-In Manager when
instantiating memory in your design. Even if memory is pre-initialized (for example,
using a .mif), it still powers up with its outputs cleared. Only the subsequent read
after power up outputs the pre-initialized values.
f
For more information about .mifs, refer to the RAM Megafunction User Guide and the
Quartus II Handbook.
Power Management
The M9K memory block clock enables of Cyclone IV devices allow you to control
clocking of each M9K memory block to reduce AC power consumption. Use the rden
signal to ensure that read operations only occur when necessary. If your design does
not require read-during-write, reduce power consumption by deasserting the rden
signal during write operations or any period when there are no memory operations.
The Quartus II software automatically powers down any unused M9K memory
blocks to save static power.
Chapter Revision History
Table 3–6 shows the revision history for this chapter.
Table 3–6. Chapter Revision History
Date
November 2009
Version
1.0
Cyclone IV Device Handbook, Volume 1
Changes Made
Initial release.
© November 2009
Altera Corporation
4. Embedded Multipliers in
Cyclone IV Devices
CYIV-51004-1.0
Cyclone® IV devices include a combination of on-chip resources and external
interfaces that help to increase performance, reduce system cost, and lower the power
consumption of digital signal processing (DSP) systems. Cyclone IV devices, either
alone or as DSP device co-processors, are used to improve price-to-performance ratios
of DSP systems. Particular focus is placed on optimizing Cyclone IV devices for
applications that benefit from an abundance of parallel processing resources, which
include video and image processing, intermediate frequency (IF) modems used in
wireless communications systems, and multi-channel communications and video
systems.
1
References to Cyclone IV devices in this chapter refer only to Cyclone IV GX devices.
Information about Cyclone IV E devices will be included in a future revision of this
chapter.
This chapter contains the following sections:
■
“Embedded Multiplier Block Overview” on page 4–1
■
“Architecture” on page 4–2
■
“Operational Modes” on page 4–4
Embedded Multiplier Block Overview
Figure 4–1 shows one of the embedded multiplier columns with the surrounding logic
array blocks (LABs). The embedded multiplier is configured as either one 18 × 18
multiplier or two 9 × 9 multipliers. For multiplications greater than 18 × 18, the
Quartus® II software cascades multiple embedded multiplier blocks together. There
are no restrictions on the data width of the multiplier, but the greater the data width,
the slower the multiplication process.
Figure 4–1. Embedded Multipliers Arranged in Columns with Adjacent LABs
Embedded
Multiplier
Column
1 LAB
Row
© November 2009
Altera Corporation
Embedded
Multiplier
Cyclone IV Device Handbook, Volume 1
4–2
Chapter 4: Embedded Multipliers in Cyclone IV Devices
Architecture
Table 4–1 shows the number of embedded multipliers and the multiplier modes that
can be implemented in each Cyclone IV device.
Table 4–1. Number of Embedded Multipliers in Cyclone IV Devices
Device
Embedded
Multipliers
9×9
Multipliers (1)
18 × 18
Multipliers (1)
Software
Multipliers (2)
Total
Multipliers (3)
EP4CGX15
0
0
0
60
60
EP4CGX22
40
80
40
84
124
EP4CGX30
80
160
80
120
200
EP4CGX50
140
280
140
278
418
EP4CGX75
198
396
198
462
660
EP4CGX110
280
560
280
610
890
EP4CGX150
360
720
360
720
1080
Device Family
Cyclone IV
Notes to Table 4–1:
(1) These columns show the number of 9 × 9 or 18 × 18 multipliers for each device.
(2) Soft multipliers are implemented in sum of multiplication mode. M9K memory blocks are configured with 18-bit data widths to support 16-bit
coefficients. The sum of the coefficients requires 18 bits of resolution to account for overflow.
(3) The total number of multipliers may vary, depending on the multiplier mode used.
In addition to the embedded multipliers in Cyclone IV devices, you can implement
soft multipliers by using the M9K memory blocks as look-up tables (LUTs). The LUTs
contain partial results from the multiplication of input data with coefficients that
implement variable depth and width high-performance soft multipliers for low-cost,
high-volume DSP applications. The availability of soft multipliers increases the
number of available multipliers in the device.
f
For more information about M9K memory blocks, refer to the Memory Blocks in
Cyclone IV Devices chapter in volume 1 of the Cyclone IV Device Handbook.
f
For more information about soft multipliers, refer to AN 306: Implementing Multipliers
in FPGA Devices.
Architecture
Each embedded multiplier consists of the following elements:
■
Multiplier stage
■
Input and output registers
■
Input and output interfaces
Figure 4–2 shows the multiplier block architecture.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 4: Embedded Multipliers in Cyclone IV Devices
Architecture
4–3
Figure 4–2. Multiplier Block Architecture
signa
signb
aclr
clock
ena
Data A
D
Q
ENA
Data Out
D
Q
ENA
CLRN
CLRN
Data B
D
Q
ENA
CLRN
Input
Register
Output
Register
Embedded Multiplier Block
Input Registers
You can send each multiplier input signal into an input register or directly into the
multiplier in 9- or 18-bit sections, depending on the operational mode of the
multiplier. Each multiplier input signal can be sent through a register independently
of other input signals. For example, you can send the multiplier Data A signal
through a register and send the Data B signal directly to the multiplier.
The following control signals are available for each input register in the embedded
multiplier:
■
clock
■
clock enable
■
asynchronous clear
All input and output registers in a single embedded multiplier are fed by the same
clock, clock enable, and asynchronous clear signals.
Multiplier Stage
The multiplier stage of an embedded multiplier block supports 9 × 9 or 18 × 18
multipliers as well as other multipliers between these configurations. Depending on
the data width or operational mode of the multiplier, a single embedded multiplier
can perform one or two multiplications in parallel. For multiplier information, refer to
“Operational Modes” on page 4–4.
Each multiplier operand is a unique signed or unsigned number. Two signals, signa
and signb, control an input of a multiplier and determine if the value is signed or
unsigned. If the signa signal is high, the Data A operand is a signed number. If the
signa signal is low, the Data A operand is an unsigned number.
Table 4–2 shows the sign of the multiplication results for the various operand sign
representations. The results of the multiplication are signed if any one of the operands
is a signed value.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
4–4
Chapter 4: Embedded Multipliers in Cyclone IV Devices
Operational Modes
Table 4–2. Multiplier Sign Representation
Data A
Data B
signa Value
Logic Level
signb Value
Logic Level
Result
Unsigned
Low
Unsigned
Low
Unsigned
Unsigned
Low
Signed
High
Signed
Signed
High
Unsigned
Low
Signed
Signed
High
Signed
High
Signed
Each embedded multiplier block has only one signa and one signb signal to control
the sign representation of the input data to the block. If the embedded multiplier
block has two 9 × 9 multipliers, the Data A input of both multipliers share the same
signa signal, and the Data B input of both multipliers share the same signb signal.
You can dynamically change the signa and signb signals to modify the sign
representation of the input operands at run time. You can send the signa and signb
signals through a dedicated input register. The multiplier offers full precision,
regardless of the sign representation.
1
When the signa and signb signals are unused, the Quartus II software sets the
multiplier to perform unsigned multiplication by default.
Output Registers
You can register the embedded multiplier output using output registers in either
18- or 36-bit sections, depending on the operational mode of the multiplier. The
following control signals are available for each output register in the embedded
multiplier:
■
clock
■
clock enable
■
asynchronous clear
All input and output registers in a single embedded multiplier are fed by the same
clock, clock enable, and asynchronous clear signals.
Operational Modes
You can use an embedded multiplier block in one of two operational modes,
depending on the application needs:
1
■
One 18-bit × 18-bit multiplier
■
Up to two 9-bit × 9-bit independent multipliers
You can also use embedded multipliers of Cyclone IV devices to implement multiplier
adder and multiplier accumulator functions, in which the multiplier portion of the
function is implemented using embedded multipliers, and the adder or accumulator
function is implemented in logic elements (LEs).
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 4: Embedded Multipliers in Cyclone IV Devices
Operational Modes
4–5
18-Bit Multipliers
You can configure each embedded multiplier to support a single 18 × 18 multiplier for
input widths of 10 to 18 bits.
Figure 4–3 shows the embedded multiplier configured to support an 18-bit multiplier.
Figure 4–3. 18-Bit Multiplier Mode
signa
signb
aclr
clock
ena
Data A [17..0]
D
Q
ENA
Data Out [35..0]
CLRN
D
Q
ENA
CLRN
Data B [17..0]
D
Q
ENA
CLRN
18 × 18 Multiplier
Embedded Multiplier
All 18-bit multiplier inputs and results are independently sent through registers. The
multiplier inputs can accept signed integers, unsigned integers, or a combination of
both. Also, you can dynamically change the signa and signb signals and send these
signals through dedicated input registers.
9-Bit Multipliers
You can configure each embedded multiplier to support two 9 × 9 independent
multipliers for input widths of up to 9 bits.
Figure 4–4 shows the embedded multiplier configured to support two 9-bit
multipliers.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
4–6
Chapter 4: Embedded Multipliers in Cyclone IV Devices
Operational Modes
Figure 4–4. 9-Bit Multiplier Mode
signa
signb
aclr
clock
ena
Data A 0 [8..0]
D
Q
ENA
Data Out 0 [17..0]
CLRN
D
Q
ENA
CLRN
Data B 0 [8..0]
D
Q
ENA
CLRN
9 × 9 Multiplier
Data A 1 [8..0]
D
Q
ENA
Data Out 1 [17..0]
CLRN
D
Q
ENA
CLRN
Data B 1 [8..0]
D
Q
ENA
CLRN
9 × 9 Multiplier
Embedded Multiplier
All 9-bit multiplier inputs and results are independently sent through registers. The
multiplier inputs can accept signed integers, unsigned integers, or a combination of
both. Two 9 × 9 multipliers in the same embedded multiplier block share the same
signa and signb signal. Therefore, all the Data A inputs feeding the same
embedded multiplier must have the same sign representation. Similarly, all the
Data B inputs feeding the same embedded multiplier must have the same sign
representation.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 4: Embedded Multipliers in Cyclone IV Devices
Chapter Revision History
4–7
Chapter Revision History
Table 4–3 shows the revision history for this chapter.
Table 4–3. Chapter Revision History
Date
November 2009
© November 2009
Version
1.0
Altera Corporation
Changes Made
Initial release.
Cyclone IV Device Handbook, Volume 1
4–8
Cyclone IV Device Handbook, Volume 1
Chapter 4: Embedded Multipliers in Cyclone IV Devices
Chapter Revision History
© November 2009
Altera Corporation
5. Clock Networks and PLLs in
Cyclone IV Devices
CYIV-51005-1.0
This chapter describes the hierarchical clock networks and phase-locked loops (PLLs)
with advanced features in Cyclone® IV devices.
1
References to Cyclone IV devices in this chapter refer only to Cyclone IV GX devices.
Information about Cyclone IV E devices will be included in a future revision of this
chapter.
This chapter includes the following sections:
■
“Clock Networks” on page 5–1
■
“PLLs in Cyclone IV Devices” on page 5–13
■
“Cyclone IV PLL Hardware Overview” on page 5–15
■
“Clock Feedback Modes” on page 5–17
■
“Hardware Features” on page 5–21
■
“Programmable Bandwidth” on page 5–27
■
“Phase Shift Implementation” on page 5–27
■
“PLL Cascading” on page 5–29
■
“PLL Reconfiguration” on page 5–29
■
“Spread-Spectrum Clocking” on page 5–36
■
“PLL Specifications” on page 5–36
Clock Networks
Cyclone IV devices provide up to 12 dedicated clock pins (CLK[15..4]) that can
drive the global clocks (GCLKs). Cyclone IV devices support four dedicated clock
pins on each side of the device except the left side. These clock pins can drive up to 30
GCLKs.
f
For more information about the number of GCLK networks in each device density,
refer to the Cyclone IV FPGA Device Family Overview chapter in volume 1.
GCLK Network
GCLKs drive throughout the entire device, feeding all device quadrants. All resources
in the device (I/O elements, logic array blocks (LABs), dedicated multiplier blocks,
and M9K memory blocks) can use GCLKs as clock sources. Use these clock network
resources for control signals, such as clock enables and clears fed by an external pin.
Internal logic can also drive GCLKs for internally generated GCLKs and
asynchronous clears, clock enables, or other control signals with high fan-out.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–2
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Clock Networks
Table 5–1 and Table 5–2 on page 5–4 list the connectivity of the clock sources to the
GCLK networks.
Table 5–1. GCLK Network Connections for EP4CGX15, EP4CGX22, and EP4CGX30 (Part 1 of 2)
GCLK Network Clock
Sources
GCLK Networks
0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19
CLK4/DIFFCLK_2n
— — — — — v — v — v — — — — — — — — — —
CLK5/DIFFCLK_2p
— — — — — — v v — — — — — — — — — — — —
CLK6/DIFFCLK_3n
— — — — — — v — v v — — — — — — — — — —
CLK7/DIFFCLK_3p
— — — — — v — — v — — — — — — — — — — —
CLK8/DIFFCLK_5n
— — — — — — — — — — v — v — v — — — — —
CLK9/DIFFCLK_5p
— — — — — — — — — — — v v — — — — — — —
CLK10/DIFFCLK_4n — — — — — — — — — — — v — v v — — — — —
/REFCLK1n
CLK11/DIFFCLK_4p — — — — — — — — — — v — — v — — — — — —
/REFCLK1p
CLK12/DIFFCLK_7p — — — — — — — — — — — — — — — v — v — v
/REFCLK0p
CLK13/DIFFCLK_7n — — — — — — — — — — — — — — — — v v — —
/REFCLK0n
CLK14/DIFFCLK_6p — — — — — — — — — — — — — — — — v — v v
CLK15/DIFFCLK_6n — — — — — — — — — — — — — — — v — — v —
MPLL1_C0
v — — v — — — — — — — — — — — v — — v —
MPLL1_C1
— v — — v — — — — — — — — — — — v — — v
MPLL1_C2
v — v — — — — — — — — — — — — v — v — —
MPLL1_C3
— v — v — — — — — — — — — — — — v — v —
MPLL1_C4
— — v — v — — — — — — — — — — — — v — v
MPLL2_C0
v — — v — — — — — — v — — v — — — — — —
MPLL2_C1
— v — — v — — — — — — v — — v — — — — —
MPLL2_C2
v — v — — — — — — — v — v — — — — — — —
MPLL2_C3
— v — v — — — — — — — v — v — — — — — —
MPLL2_C4
— — v — v — — — — — — — v — v — — — — —
GPLL3_C0
— — — — — v — — v — — — — — — v — — v —
GPLL3_C1
— — — — — — v — — v — — — — — — v — — v
GPLL3_C2
— — — — — v — v — — — — — — — v — v — —
GPLL3_C3
— — — — — — v — v — — — — — — — v — v —
GPLL3_C4
— — — — — — — v — v — — — — — — — v — v
GPLL4_C0 (1)
— — — — — v — — v — v — — v — — — — — —
GPLL4_C1 (1)
— — — — — — v — — v — v — — v — — — — —
GPLL4_C2 (1)
— — — — — v — v — — v — v — — — — — — —
GPLL4_C3 (1)
— — — — — — v — v — — v — v — — — — — —
GPLL4_C4 (1)
— — — — — — — v — v — — v — v — — — — —
DPCLK2
─
Cyclone IV Device Handbook, Volume 1
─
─
─
─
─
─
─
─
─
─
─
─
─
─
─ v ─
© November 2009
─
─
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Clock Networks
5–3
Table 5–1. GCLK Network Connections for EP4CGX15, EP4CGX22, and EP4CGX30 (Part 2 of 2)
GCLK Network Clock
Sources
GCLK Networks
0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19
DPCLK3 (2)
— — — — — — — — — — — — — — — — — — v —
DPCLK4 (2)
— — — — — — — — — — — — — — — — — v — —
DPCLK5
— — — — — — — — — — — — — — — — — — — v
DPCLK6 (2)
— — — — — — — — v — — — — — — — — — — —
DPCLK7
— — — — — — v — — — — — — — — — — — — —
DPCLK8
— — — — — — — — — v — — — — — — — — — —
DPCLK9 (2)
— — — — — — — v — — — — — — — — — — — —
DPCLK10
— — — — — — — — — — — — — — v — — — — —
DPCLK11 (2)
— — — — — — — — — — — — v — — — — — — —
DPCLK12 (2)
— — — — — — — — — — — — — v — — — — — —
DPCLK13
— — — — — — — — — — — v — — — — — — — —
Notes to Table 5–1:
(1) GPLL4 is only available in EP4CGX22 and EP4CGX30 devices.
(2) This pin applies to EP4CGX22 and EP4CGX30 devices.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–4
Cyclone IV Device Handbook, Volume 1
Table 5–2. GCLK Network Connections for EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150 Devices (Part 1 of 3)
GCLK Network Clock
Sources
GCLK Networks
0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
CLK4/DIFFCLK_2n
— — — — — — — — — — — — v — v — v — — — — — — — — — — — — —
CLK5/DIFFCLK_2p
— — — — — — — — — — — — — v v — — v — — — — — — — — — — — —
CLK6/DIFFCLK_3n
— — — — — — — — — — — — — v — v v — — — — — — — — — — — — —
CLK7/DIFFCLK_3p
— — — — — — — — — — — — v — — v — v — — — — — — — — — — — —
CLK8/DIFFCLK_5n
— — — — — — — — — — — — — — — — — — v — v — v — — — — — — —
CLK9/DIFFCLK_5p
— — — — — — — — — — — — — — — — — — — v v — — v — — — — — —
CLK10/DIFFCLK_4n — — — — — — — — — — — — — — — — — — — v — v v
/REFCLK3n
— — — — — —
CLK11/DIFFCLK_4p — — — — — — — — — — — — — — — — — — v — — v — v — — — — — —
/REFCLK3p
CLK12/DIFFCLK_7p — — — — — — — — — — — — — — — — — — — — — — — — v — v — v —
/REFCLK2p
CLK13/DIFFCLK_7n — — — — — — — — — — — — — — — — — — — — — — — — — v v — — v
/REFCLK2n
CLK15/DIFFCLK_6n — — — — — — — — — — — — — — — — — — — — — — — — v — — v — v
© November 2009
Altera Corporation
GPLL1_C0
v — — v — v — — — — — — — — — — — — — — — — — — v — — v — v
GPLL1_C1
— v — — v — — — — — — — — — — — — — — — — — — — — v — — v —
GPLL1_C2
v — v — — — — — — — — — — — — — — — — — — — — — v — v — — —
GPLL1_C3
— v — v — — — — — — — — — — — — — — — — — — — — — v — v — —
GPLL1_C4
— — v — v v — — — — — — — — — — — — — — — — — — — — v — v v
GPLL2_C0
— — — — — — v — — v — v — — — — — — v — — v — v — — — — — —
GPLL2_C1
— — — — — — — v — — v — — — — — — — — v — — v — — — — — — —
GPLL2_C2
— — — — — — v — v — — — — — — — — — v — v — — — — — — — — —
GPLL2_C3
— — — — — — — v — v — — — — — — — — — v — v — — — — — — — —
GPLL2_C4
— — — — — — — — v — v v — — — — — — — — v — v v — — — — — —
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Clock Networks
CLK14/DIFFCLK_6p — — — — — — — — — — — — — — — — — — — — — — — — — v — v v —
GCLK Network Clock
Sources
GCLK Networks
0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Altera Corporation
— — — — — — — — — — — — v — — v — v — — — — — — v — — v — v
GPLL3_C1
— — — — — — — — — — — — — v — — v — — — — — — — — v — — v —
GPLL3_C2
— — — — — — — — — — — — v — v — — — — — — — — — v — v — — —
GPLL3_C3
— — — — — — — — — — — — — v — v — — — — — — — — — v — v — —
GPLL3_C4
— — — — — — — — — — — — — — v — v v — — — — — — — — v — v v
GPLL4_C0
— — — — — — — — — — — — v — — v — v v — — v — v — — — — — —
GPLL4_C1
— — — — — — — — — — — — — v — — v — — v — — v — — — — — — —
GPLL4_C2
— — — — — — — — — — — — v — v — — — v — v — — — — — — — — —
GPLL4_C3
— — — — — — — — — — — — — v — v — — — v — v — — — — — — — —
GPLL4_C4
— — — — — — — — — — — — — — v — v v — — v — v v — — — — — —
MPLL5_C0
v — — v — v — — — — — — — — — — — — — — — — — — — — — — — —
MPLL5_C1
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL5_C2
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL5_C3
— v — v — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL5_C4
— — v — v v — — — — — — — — — — — — — — — — — — — — — — — —
MPLL6_C0
— v — — v — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL6_C1
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL6_C2
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL6_C3
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL6_C4
v — v — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL7_C0
— — — — — — — v — — v — — — — — — — — — — — — — — — — — — —
MPLL7_C1
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL7_C2
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL7_C3
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL7_C4
— — — — — — v — v — — — — — — — — — — — — — — — — — — — — —
5–5
Cyclone IV Device Handbook, Volume 1
GPLL3_C0
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Clock Networks
© November 2009
Table 5–2. GCLK Network Connections for EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150 Devices (Part 2 of 3)
GCLK Network Clock
Sources
5–6
Cyclone IV Device Handbook, Volume 1
Table 5–2. GCLK Network Connections for EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150 Devices (Part 3 of 3)
GCLK Networks
0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Altera Corporation
— — — — — — v — — v — v — — — — — — — — — — — — — — — — — —
MPLL8_C1
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL8_C2
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL8_C3
— — — — — — — v — v — — — — — — — — — — — — — — — — — — — —
MPLL8_C4
— — — — — — — — v — v v — — — — — — — — — — — — — — — — — —
DPCLK0
— — — — — — — — — — — — — — — — — — — — — — — — — v — — — —
DPCLK1
— — — — — — — — — — — — — — — — — — — — — — — — — — — v — —
DPCLK2
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — v
DPCLK3
— — — — — — — — — — — — — — — — — — — — — — — — v — — — — —
DPCLK4
— — — — — — — — — — — — — — — — — — — — — — — — — — v — — —
DPCLK5
— — — — — — — — — — — — — — — — — — — — — — — — — — — — v —
DPCLK6
— — — — — — — — — — — — — — — — — v — — — — — — — — — — — —
DPCLK7
— — — — — — — — — — — — — — — v — — — — — — — — — — — — — —
DPCLK8
— — — — — — — — — — — — — v — — — — — — — — — — — — — — — —
DPCLK9
— — — — — — — — — — — — — — — — v — — — — — — — — — — — — —
DPCLK10
— — — — — — — — — — — — — — v — — — — — — — — — — — — — — —
DPCLK11
— — — — — — — — — — — — v — — — — — — — — — — — — — — — — —
DPCLK12
— — — — — — — — — — — — — — — — — — — — — — v — — — — — — —
DPCLK13
— — — — — — — — — — — — — — — — — — — — v — — — — — — — — —
DPCLK14
— — — — — — — — — — — — — — — — — — v — — — — — — — — — — —
DPCLK15
— — — — — — — — — — — — — — — — — — — — — — — v — — — — — —
DPCLK16
— — — — — — — — — — — — — — — — — — — — — v — — — — — — — —
DPCLK17
— — — — — — — — — — — — — — — — — — — v — — — — — — — — — —
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Clock Networks
© November 2009
MPLL8_C0
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Clock Networks
5–7
If you do not use dedicated clock pins to feed the GCLKs, you can use them as
general-purpose input pins to feed the logic array. However, when using them as
general-purpose input pins, they do not have support for an I/O register and must
use LE-based registers in place of an I/O register.
Clock Control Block
The clock control block drives GCLKs. Clock control blocks are located on each side of
the device, close to the dedicated clock input pins. GCLKs are optimized for
minimum clock skew and delay.
Table 5–3 lists the sources that can feed the clock control block, that in turn feeds the
GCLKs.
Table 5–3. Clock Control Block Inputs
Input
Description
Dedicated clock inputs
Dedicated clock input pins can drive clocks or global signals, such as
synchronous and asynchronous clears, presets, or clock enables onto
given GCLKs.
Dual -purpose clock
(DPCLK)
I/O input
DPCLK I/O pins are bidirectional dual function pins that are used for
high fan-out control signals, such as protocol signals, TRDY and
IRDY signals for PCI, via the GCLK. Clock control blocks that have
inputs driven by dual -purpose clock I/O pins are not able to drive PLL
inputs.
PLL outputs
PLL counter outputs can drive the GCLK.
Internal logic
You can drive the GCLK through logic array routing to enable internal
logic elements (LEs) to drive a high fan-out, low-skew signal path.
Clock control blocks that have inputs driven by internal logic are not
able to drive PLL inputs.
In Cyclone IV devices, dedicated clock input pins, PLL counter outputs, dual-purpose
clock I/O inputs, and internal logic can all feed the clock control block for each GCLK.
The output from the clock control block in turn feeds the corresponding GCLK. The
GCLK can drive the PLL input if the clock control block inputs are outputs of another
PLL or dedicated clock input pins. There are five or six clock control blocks on each
side of the device periphery—depending on device density; providing up to 30 clock
control blocks in each Cyclone IV device. For the clock control block locations, refer to
Figure 5–2 on page 5–9 and Figure 5–3 on page 5–10.
1
The clock control blocks on the left side of the Cyclone IV device do not support any
clock inputs.
The control block has two functions:
© November 2009
■
Dynamic GCLK clock source selection (not applicable for DPCLK and internal logic
input)
■
GCLK network power down (dynamic enable and disable)
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–8
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Clock Networks
Figure 5–1 shows the clock control block.
Figure 5–1. Clock Control Block
Clock Control Block
Internal Logic
Static Clock
Select (3)
C0
C1
CLK[n + 3]
CLK[n + 2]
CLK[n + 1]
CLK[n]
inclk1
inclk0
fIN
PLL
Global
Clock
Enable/
Disable
DPCLK
Static Clock Select (3)
C2
C3
C4
CLKSWITCH (1)
(4)
CLKSELECT[1..0] (2)
Internal Logic (5)
C0
C1
inclk1
inclk0
fIN
PLL
C2
C3
C4
CLKSWITCH (1)
Notes to Figure 5–1:
(1) The clkswitch signal can either be set through the configuration file or dynamically set when using the manual PLL switchover feature. The
output of the multiplexer is the input clock (fIN) for the PLL.
(2) The clkselect[1..0] signals are fed by internal logic and are used to dynamically select the clock source for the GCLK when the device is
in user mode.
(3) The static clock select signals are set in the configuration file. Therefore, dynamic control when the device is in user mode is not feasible.
(4) Two out of four PLL clock outputs are selected from adjacent PLLs to drive into the clock control block.
(5) You can use internal logic to enable or disable the GCLK in user mode.
Each PLL generates five clock outputs through the c[4..0] counters. Two of these
clocks can drive the GCLK through a clock control block, as shown in Figure 5–1.
f
For more information about how to use the clock control block in the Quartus® II
software, refer to the ALTCLKCTRL Megafunction User Guide.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Clock Networks
5–9
GCLK Network Clock Source Generation
Figure 5–2 and Figure 5–3 show the Cyclone IV PLLs, clock inputs, and clock control
block location for different Cyclone IV device densities.
Figure 5–2. Clock Networks and Clock Control Block Locations in EP4CGX15, EP4CGX22, and EP4CGX30 Devices
DPCLK[13..12] (3)
DPCLK[11..10] (3)
CLK[11..8]
2
MPLL
2
2
4
4
GPLL (2)
4
4
5
5
Clock
Control
Block (1)
4
5
5
GCLK[19..0]
20
Clock
Control
Block (1)
HSSI
DPCLK[9..8] (3)
2
20
Clock
Control
Block (1)
20
20
4
GCLK[19..0]
2
CLK[7..4]
DPCLK[7..6] (3)
4
5
5
Clock
Control
Block (1)
5
MPLL
1
5
4
4
2
4
GPLL
3
2
CLK[15..12]
DPCLK[3..2] (3)
DPCLK[5..4] (3)
Notes to Figure 5–2:
(1) There are five clock control blocks on each side.
(2) GPLL4 is only available in EP4CGX22 and EP4CGX30 devices.
(3) The EP4CGX15 device has two DPCLK pins on each side of the device: DPCLK2 and DPCLK5 on bottom side, DPCLK7 and DPCLK8 on the
right side, DPCLK10 and DPCLK13 on the top side of device.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–10
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Clock Networks
Figure 5–3. Clock Networks and Clock Control Block Locations in EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150
Devices
DPCLK[17..15]
DPCLK[14..12]
CLK[19..16] (2)
CLK[11..8]
3
4
MPLL
8
GPLL
2
4
GPLL
4
4
5
HSSI
3
4
5
Clock
Control
Block (1)
4
3
5
5
GCLK[29..0]
MPLL
7
Clock
Control
Block (1)
2
MPLL
6
30
30
Clock
Control
Block (1)
30
Clock
Control
Block (1)
2
3
30
4
3
GCLK[29..0]
DPCLK[11..9]
CLK[7..4]
DPCLK[8..6]
4
HSSI
5
3
5
Clock
Control
Block (1)
5
MPLL
5
GPLL
1
5
4
4
4
3
CLK[23..20] (2)
4
GPLL
3
3
CLK[15..12]
DPCLK[2..0]
DPCLK[5..3]
Notes to Figure 5–3:
(1) There are 6 clock control blocks on the top, right and bottom sides of the device and 12 clock control blocks on the left side of the device.
(2) CLK[19..16] and CLK[23..20] can only drive the general -purpose PLLs (GPLLs) and multi-purpose PLLs (MPLLs) on the left side of the
device. These clock pins do not have access to the clock control blocks and GCLK networks.
The inputs to the clock control blocks on each side must be chosen from among the
following clock sources:
■
Four clock input pins
■
Ten PLL counter outputs (five from each adjacent PLLs)
■
Two, four, or six DPCLK pins from the top, bottom, and right sides of the device
■
Five signals from internal logic
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Clock Networks
5–11
From the clock sources listed above, only two clock input pins, two out of four PLL
clock outputs (two clock outputs from either adjacent PLLs), one DPCLK pin, and one
source from internal logic can drive into any given clock control block, as shown in
Figure 5–1 on page 5–8.
Out of these six inputs to any clock control block, the two clock input pins and two
PLL outputs are dynamically selected to feed a GCLK. The clock control block
supports static selection of the signal from internal logic.
Figure 5–4 shows a simplified version of the five clock control blocks on each side of
the Cyclone IV devices periphery.
Figure 5–4. Clock Control Blocks on Each Side of Cyclone IV Devices
Clock Input Pins
PLL Outputs
DPCLK (1)
Internal Logic
4
10
2, 4, or 6
Clock
Control
Block
5 or 6 (2)
GCLK
5
Five or six clock control
blocks on each side
of the device
Notes to Figure 5–4:
(1) The EP4CGX15 device has two DPCLK pins; the EP4CGX22 and EP4CGX30 devices have four DPCLK pins; the
EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150 devices have six DPCLK pins.
(2) Each clock control block in the EP4CGX15, EP4CGX22, and EP4CGX30 devices can drive five GCLK networks while
each clock control block in the EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150 devices can drive six GCLK
networks.
GCLK Network Power Down
You can disable a Cyclone IV device’s GCLK (power down) using both static and
dynamic approaches. In the static approach, configuration bits are set in the
configuration file generated by the Quartus II software, that automatically disables
unused GCLKs. The dynamic clock enable or disable feature allows internal logic to
control clock enable or disable of the GCLKs in Cyclone IV devices.
When a clock network is disabled, all the logic fed by the clock network is in an
off-state, thereby reducing the overall power consumption of the device. This function
is independent of the PLL and is applied directly on the clock network, as shown in
Figure 5–1 on page 5–8.
You can set the input clock sources and the clkena signals for the GCLK multiplexers
through the Quartus II software using the ALTCLKCTRL megafunction.
f
© November 2009
For more information, refer to the ALTCLKCTRL Megafunction User Guide.
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–12
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Clock Networks
clkena Signals
Cyclone IV devices support clkena signals at the GCLK network level. This allows
you to gate-off the clock even when a PLL is used. Upon re-enabling the output clock,
the PLL does not need a resynchronization or re-lock period because the circuit gates
off the clock at the clock network level. In addition, the PLL can remain locked
independent of the clkena signals because the loop-related counters are not affected.
Figure 5–5 shows how to implement the clkena signal.
Figure 5–5. clkena Implementation
clkena
D
Q
clkena_out
clkin
clk_out
1
The clkena circuitry controlling the output C0 of the PLL to an output pin is
implemented with two registers instead of a single register, as shown in Figure 5–5.
Figure 5–6 shows the waveform example for a clock output enable. The clkena
signal is sampled on the falling edge of the clock (clkin).
1
This feature is useful for applications that require low power or sleep mode.
Figure 5–6. clkena Implementation: Output Enable
clkin
clkena
clk_out
The clkena signal can also disable clock outputs if the system is not tolerant to
frequency overshoot during PLL resynchronization.
Altera recommends using the clkena signals when switching the clock source to the
PLLs or the GCLK. The recommended sequence is:
1. Disable the primary output clock by de-asserting the clkena signal.
2. Switch to the secondary clock using the dynamic select signals of the clock control
block.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
PLLs in Cyclone IV Devices
5–13
3. Allow some clock cycles of the secondary clock to pass before reasserting the
clkena signal. The exact number of clock cycles you must wait before enabling
the secondary clock is design-dependent. You can build custom logic to ensure
glitch-free transition when switching between different clock sources.
PLLs in Cyclone IV Devices
Cyclone IV devices offer two variations of PLLs: the GPLLs and the MPLLs.
The GPLLs are used for general-purpose applications in the FPGA fabric and
periphery such as external memory interfaces. The MPLLs are used for clocking the
transceiver blocks. When the MPLLs are not used for transceiver clocking, they can be
used for general-purpose clocking.
f
For more details about the MPLLs used for transceiver clocking, refer to the Cyclone IV
Transceivers chapter in volume 2.
Cyclone IV devices contain up to eight GPLLs and MPLLs that provide robust clock
management and synthesis for device clock management, external system clock
management, and high-speed I/O interfaces.
f
For more information about the number of GPLLs and MPLLs in each device density,
refer to the Cyclone IV Device Family Overview chapter in volume 1.
Table 5–4 lists the features available in Cyclone IV PLLs.
Table 5–4. Cyclone IV PLL Features (Part 1 of 2)
Availability
General-purpose PLLs
Features
GPLL1
(1)
GPLL2
(1)
GPLL3
(2)
Multi-purpose PLLs
GPLL4 MPLL1 MPLL2 MPLL5 MPLL6 MPLL7 MPLL8
(3)
(4)
(4)
(1)
(1)
(1)
(1)
C (output counters)
5
M, N, C counter sizes
1 to 512 (5)
Dedicated clock outputs
1 single-ended or 1 differential pair
Clock input pins
12 single-ended or 6 differential pairs(6)
and 4 differential pairs(7)
v (8)
Spread-spectrum input clock
tracking
PLL cascading
Through GCLK
Source-Synchronous Mode
v
v
v
v
v
v
v
—
—
v
No Compensation Mode
v
v
v
v
v
v
v
v
v
v
Normal Mode
v
v
v
v
v
v
v
—
—
v
Zero Delay Buffer Mode
v
v
v
v
v
v
v
—
—
v
Deterministic Latency
Compensation Mode
v
v
—
—
v
v
v
v
v
v
Phase shift resolution (9)
Programmable duty cycle
© November 2009
Altera Corporation
Down to 96 ps increments
Down to 78 ps increments (10)
v
Cyclone IV Device Handbook, Volume 1
5–14
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
PLLs in Cyclone IV Devices
Table 5–4. Cyclone IV PLL Features (Part 2 of 2)
Availability
General-purpose PLLs
Features
GPLL1
(1)
GPLL2
(1)
GPLL3
(2)
Multi-purpose PLLs
GPLL4 MPLL1 MPLL2 MPLL5 MPLL6 MPLL7 MPLL8
(3)
(4)
(4)
(1)
(1)
(1)
(1)
Output counter cascading
v
Input clock switchover
v
User mode reconfiguration
v
Loss of lock detection
v
PLL drives TX Serial Clock, TX
Load Enable, and TX Parallel
Clock
v
v
VCO output drives RX clock
data recovery (CDR) clock
PLL drives FREF for ppm
detect
v
—
—
v
—
v
v
—
—
v
Notes to Table 5–4:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
This is only applicable to EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150 devices.
This is applicable to all Cyclone IV devices.
This is applicable to all Cyclone IV devices except EP4CGX15 devices.
This is only applicable to EP4CGX15, EP4CGX22, and EP4CGX30 devices.
C counters range from 1 through 512 if the output clock uses a 50% duty cycle. For any output clocks using a non-50% duty cycle, the
post -scale counters range from 1 through 256.
These clock pins can access the GCLK networks.
These clock pins are only available in EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150 devices and cannot access the GCLK networks.
Only applicable if the input clock jitter is in the input jitter tolerance specifications.
The smallest phase shift is determined by the voltage-controlled oscillator (VCO) period divided by eight. For degree increments, Cyclone IV
devices can shift all output frequencies in increments of at least 45°. Smaller degree increments are possible depending on the frequency and
divide parameters.
Applicable only when MPLLs are used for transceiver clocking.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Cyclone IV PLL Hardware Overview
5–15
Cyclone IV PLL Hardware Overview
This section gives a hardware overview of the Cyclone IV PLL.
Figure 5–7 shows a simplified block diagram of the major components of the PLL of
Cyclone IV devices.
Figure 5–7. Cyclone IV PLL Block Diagram
(Note 1)
To RX CDR clocks
(MPLLs only)
lock
FREF for ppm detect
(MPLLs only)
LOCK
circuit
÷2, ÷4
÷C0
8
Clock inputs
from pins
4 (2)
inclk0
Clock
Switchover
inclk1
Block
GCLK (4)
÷n
clkswitch
clkbad0
clkbad1
activeclock
PFD
CP
LF
VCO
8
÷2 (3)
GCLKs (5)
÷C1
8
÷C2
VCO
Range
Detector
÷C3
VCOOVRR
÷C4
VCOUNDR
TX serial clock (MPLLs only) (6)
TX load enable (MPLLs only) (7)
TX parallel clock (MPLLs only) (8)
Deterministic Latency
compensation (MPLLs only)
pfdena
External clock output
PLL
output
mux
÷M
no compensation;
ZDB mode
source-synchronous;
normal mode
GCLK networks
Notes to Figure 5–7:
(1) Each clock source can come from any of the four clock pins located on the same side of the device as the PLL.
(2) There are additional 4 pairs of dedicated differential clock inputs in EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150 devices that can only
drive GPLLs and MPLLs on the left side of the device. CLK[19..16] can access GPLL2, MPLL6, MPLL7, and MPLL8 while CLK[23..20]
can access GPLL1, MPLL5, MPLL6, and MPLL7. For the location of these clock input pins, refer to Figure 5–3 on page 5–10 .
(3) This is the VCO post -scale counter K.
(4) This input port is fed by a pin-driven dedicated GCLK, or through a clock control block if the clock control block is fed by an output from another
PLL or a pin-driven dedicated GCLK. An internally generated global signal cannot drive the PLL.
(5) For the GPLL and MPLL counter outputs connectivity to the GCLKs, refer to Table 5–1 on page 5–2 and Table 5–2 on page 5–4.
(6) Only the CI output counter can drive the TX serial clock.
(7) Only the C2 output counter can drive the TX load enable.
(8) Only the C3 output counter can drive the TX parallel clock.
1
The VCO post-scale counter K is used to divide the supported VCO range by two. The
VCO frequency reported by the Quartus II software in the PLL summary section of
the compilation report takes into consideration the VCO post-scale counter value.
Therefore, if the VCO post-scale counter has a value of 2, the frequency reported is
lower than the fVCO specification specified in the Cyclone IV Device Data Sheet chapter in
volume 3.
External Clock Outputs
Each PLL of Cyclone IV devices supports one single-ended clock output or one
differential clock output. Only the C0 output counter can feed the dedicated external
clock outputs, as shown in Figure 5–8, without going through the GCLK. Other
output counters can feed other I/O pins through the GCLK.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–16
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Cyclone IV PLL Hardware Overview
Figure 5–8 shows the external clock outputs for PLLs.
Figure 5–8. External Clock Outputs for PLLs
C0
C1
C2
PLL#
C3
C4
clkena 0 (1)
clkena 1 (1)
PLL#_CLKOUTp (2)
PLL#_CLKOUTn (2)
Notes to Figure 5–8:
(1) These external clock enable signals are available only when using the ALTCLKCTRL megafunction.
(2) PLL#_CLKOUTp and PLL#_CLKOUTn pins are dual-purpose I/O pins that you can use as one single-ended clock
output or one differential clock output. When using both pins as single-ended I/Os, one of them can be the clock
output while the other pin is configured as a regular user I/O.
Each pin of a differential output pair is 180° out of phase. The Quartus II software
places the NOT gate in your design into the I/O element to implement 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.
f
To determine which I/O standards are supported by the PLL clock input and output
pins, refer to the Cyclone IV Device I/O Features chapter in volume 1.
Cyclone IV PLLs can drive out to any regular I/O pin through the GCLK. You can also
use the external clock output pins as general-purpose I/O pins if external PLL
clocking is not required.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Clock Feedback Modes
5–17
Clock Feedback Modes
Cyclone IV PLLs support up to five different clock feedback modes. Each mode
allows clock multiplication and division, phase shifting, and programmable duty
cycle. Refer to Table 5–4 on page 5–13 for the feedback modes supported by the
various PLLs.
1
Input and output delays are fully compensated by the PLL only if you are using the
dedicated clock input pins associated with a given PLL as the clock sources.
When driving the PLL using the GCLK network, the input and output delays may not
be fully compensated in the Quartus II software.
Source-Synchronous Mode
If the data and clock arrive at the same time at the input pins, the phase relationship
between the data and clock remains the same at the data and clock ports of any I/O
element input register.
Figure 5–9 shows an example waveform of the data and clock in this mode. Use this
mode for source-synchronous data transfers. Data and clock signals at the I/O
element experience similar buffer delays as long as the same I/O standard is used.
Figure 5–9. Phase Relationship Between Data and Clock in Source-Synchronous Mode
Data pin
PLL reference
clock at input pin
Data at register
Clock at register
Source-synchronous mode compensates for delay of the clock network used,
including any difference in the delay between the following two paths:
1
© November 2009
■
Data pin to I/O element register input
■
Clock input pin to the PLL phase frequency detector (PFD) input
Set the input pin to the register delay chain in the I/O element to zero in the
Quartus II software for all data pins clocked by a source-synchronous mode PLL.
Also, all data pins must use the PLL COMPENSATED logic option in the Quartus II
software.
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–18
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Clock Feedback Modes
No Compensation Mode
In no compensation mode, the PLL does not compensate for any clock networks. This
provides better jitter performance because clock feedback into the PFD does not pass
through as much circuitry. Both the PLL internal and external clock outputs are phase
shifted with respect to the PLL clock input.
Figure 5–10 shows a waveform example of the phase relationship of the PLL clock in
this mode.
Figure 5–10. Phase Relationship Between PLL Clocks in No Compensation Mode
Phase Aligned
PLL Reference
Clock at the Input Pin
PLL Clock at the
Register Clock Port
(1), (2)
External PLL Clock
Outputs (2)
Notes to Figure 5–10:
(1) Internal clocks fed by the PLL are phase -aligned to each other.
(2) The PLL clock outputs can lead or lag the PLL input clocks.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Clock Feedback Modes
5–19
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 timing analyzer reports any phase difference between
the two. In normal mode, the PLL fully compensates the delay introduced by the
GCLK network.
Figure 5–11 shows a waveform example of the phase relationship of the PLL clocks in
this mode.
Figure 5–11. Phase Relationship Between PLL Clocks in Normal Mode
Phase Aligned
PLL Reference
Clock at the Input pin
PLL Clock at the
Register Clock Port
External PLL Clock
Outputs (1)
Note to Figure 5–11:
(1) The external clock output can lead or lag the PLL internal clock signals.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–20
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Clock Feedback Modes
Zero Delay Buffer Mode
In zero delay buffer (ZDB) mode, the external clock output pin is phase-aligned with
the clock input pin for zero delay through the device. When using this mode, use the
same I/O standard on the input clock and output clocks to guarantee clock alignment
at the input and output pins.
Figure 5–12 shows an example waveform of the phase relationship of the PLL clocks
in ZDB mode.
Figure 5–12. Phase Relationship Between PLL Clocks in ZDB Mode
Phase Aligned
PLL Reference Clock
at the Input Pin
PLL Clock
at the Register Clock Port
External PLL Clock Output
at the Output Pin
Deterministic Latency Compensation Mode
The deterministic latency mode compensates for the delay of the MPLLs through the
clock network and serializer in Common Public Radio Interface (CPRI) applications.
In this mode, the PLL PFD feedback path compensates the latency uncertainty in
Tx dataout and Tx clkout paths relative to the reference clock.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Hardware Features
5–21
Hardware Features
Cyclone IV PLLs support several features for general-purpose clock management.
This section discusses clock multiplication and division implementation,
phase shifting implementations, and programmable duty cycles.
Clock Multiplication and Division
Each Cyclone IV PLL provides clock synthesis for PLL output ports using
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 value is 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.
There is one pre-scale counter, N, and one multiply counter, M, per PLL, with a range
of 1 to 512 for both M and N. The N counter does not use duty cycle control because
the purpose of this counter is only to calculate frequency division. There are five
generic post-scale counters per PLL that can feed GCLKs or external clock outputs.
These post-scale counters range from 1 to 512 with a 50% duty cycle setting. The
post-scale counters range from 1 to 256 with any non-50% duty cycle setting. The sum
of the high/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.
1
© November 2009
Phase alignment between output counters are determined using the tPLL_PSERR
specification.
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–22
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Hardware Features
Post-Scale Counter Cascading
PLLs of Cyclone IV devices support post-scale counter cascading to create counters
larger than 512. This is implemented by feeding the output of one C counter into the
input of the next C counter, as shown in Figure 5–13.
Figure 5–13. Counter Cascading
VCO Output
VCO Output
VCO Output
C0
C1
C2
VCO Output
C3
VCO Output
C4
VCO Output
When cascading 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 = 4 and C1 = 2, the cascaded value is C0 × C1 = 8.
1
Post-scale counter cascading is automatically set by the Quartus II software in the
configuration file. Post-scale counter cascading cannot be performed using the PLL
reconfiguration.
Programmable Duty Cycle
The programmable duty cycle allows PLLs to generate clock outputs with a variable
duty cycle. This feature is supported on the PLL post-scale counters. You can achieve
the duty cycle setting 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.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Hardware Features
5–23
PLL Control Signals
You can use the pfdena, areset, and locked signals to observe and control the PLL
operation and resynchronization.
f
For more information about the PLL control signals, refer to the ALTPLL Megafunction
User Guide.
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 a system that turns on the redundant clock if the previous clock stops running.
Your design can automatically perform clock switchover when the clock is no longer
toggling, or based on the user control signal, clkswitch.
Automatic Clock Switchover
PLLs of Cyclone IV devices support a fully configurable clock switchover capability.
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. You can select a clock source at the
backup clock by connecting it to the inclk1 port of the PLL in your design.
Figure 5–14 shows the block diagram of the switchover circuit built into the PLL.
Figure 5–14. Automatic Clock Switchover Circuit
clkbad0
clkbad1
Activeclock
Switchover
State
Machine
Clock
Sense
clksw
clkswitch
(provides manua
switchover suppo
inclk0
n Counter
inclk1
muxout
PFD
refclk
fbclk
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–24
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Hardware Features
There are two ways to use the clock switchover feature:
■
Use the switchover circuitry for switching from inclk0 to inclk1 running at the
same frequency. For example, in applications that require a redundant clock with
the same frequency as the reference clock, the switchover state machine generates
a signal that controls the multiplexer select input shown in Figure 5–14. In this
case, inclk1 becomes the reference clock for the PLL. This automatic switchover
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
■
Use the clkswitch input for user- or system-controlled switch conditions. This is
possible 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 because the automatic clock-sense circuitry cannot monitor
primary and secondary clock frequencies with a frequency difference of more than
20%. This feature is useful when clock sources can originate from multiple cards
on the backplane, requiring a system-controlled switchover between frequencies
of operation. Choose the secondary clock frequency so the VCO operates in the
recommended frequency range. Also, set the M, N, and C counters accordingly to
keep the VCO operating frequency in the recommended range
Figure 5–15 shows a waveform example of the switchover feature when using
automatic loss of clock detection. Here, the inclk0 signal remains low. After the
inclk0 signal remains 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 inclk1.
Figure 5–15. Automatic Switchover Upon Clock Loss Detection
(Note 1)
inclk0
inclk1
(1)
muxout
clkbad0
clkbad1
activeclock
Note to Figure 5–15:
(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.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Hardware Features
5–25
Manual Override
If you are using the automatic switchover, you must switch input clocks with the
manual override feature with the clkswitch input.
Figure 5–16 shows an example of a waveform illustrating the switchover feature
when controlled by clkswitch. In this case, both clock sources are functional and
inclk0 is selected as the reference clock. A low-to-high transition of the clkswitch
signal starts the switchover sequence. The clkswitch signal must be high for at least
three clock cycles (at least three of the longer clock period if inclk0 and inclk1
have different frequencies). On the falling edge of inclk0, the reference clock of the
counter, muxout, is gated off to prevent any clock glitching. On the falling edge of
inclk1, the reference clock multiplexer switches from inclk0 to inclk1 as the PLL
reference. On the falling edge of inclk1, the reference clock multiplexer switches
from inclk0 to inclk1 as the PLL reference, and the activeclock signal changes
to indicate which clock is currently feeding the PLL.
In this mode, the activeclock signal mirrors the clkswitch signal. As both blocks
are still functional during the manual switch, neither clkbad signals go 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
the automatic switch only works depending on the availability of the clock that is
switched to. If the clock is unavailable, the state machine waits until the clock is
available.
Figure 5–16. Clock Switchover Using the clkswitch Control (1)
inclk0
inclk1
muxout
clkswitch
activeclock
clkbad0
clkbad1
Note to Figure 5–16:
(1) Both inclk0 and inclk1 must be running when the clkswitch signal goes high to start a manual clock
switchover event.
Manual Clock Switchover
PLLs of Cyclone IV devices support manual switchover, in which the clkswitch
signal controls whether inclk0 or inclk1 is the input clock to the PLL. The
characteristics of a manual switchover is similar to the manual override feature in an
automatic clock switchover, in which the switchover circuit is edge-sensitive. When
the clkswitch signal goes high, the switchover sequence starts. The falling edge of
the clkswitch signal does not cause the circuit to switch back to the previous input
clock.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–26
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Hardware Features
f
For more information about PLL software support in the Quartus II software, refer to
the ALTPLL Megafunction User Guide.
Guidelines
Use the following guidelines to design with clock switchover in PLLs:
1
■
Clock loss detection and automatic clock switchover requires that the inclk0 and
inclk1 frequencies be within 20% of each other. Failing to meet this requirement
causes the clkbad[0] and clkbad[1] signals to function improperly.
■
When using manual clock switchover, the difference between inclk0 and
inclk1 can be more than 20%. However, differences between the two clock
sources (frequency, phase, or both) can cause the PLL to lose lock. Resetting the
PLL ensures that the correct phase relationships are maintained between the input
and output clocks.
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 malfunction.
■
Applications that require a clock switchover feature and a small frequency drift
must use a low-bandwidth PLL. When referencing input clock changes, the
low-bandwidth PLL reacts slower than a high-bandwidth PLL. When the
switchover happens, the low-bandwidth PLL propagates the stopping of the clock
to the output slower than the high-bandwidth PLL. The low-bandwidth PLL
filters out jitter on the reference clock. However, you must be aware that the
low-bandwidth PLL also increases lock time.
■
After a switchover 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
re-lock is dependent on the PLL configuration.
■
If the phase relationship between the input clock to the PLL and output clock from
the PLL is important in your design, assert areset for 10 ns after performing a
clock switchover. Wait for the locked signal (or gated lock) to go high before
re-enabling the output clocks from the PLL.
■
Figure 5–17 shows how the VCO frequency gradually decreases when the primary
clock is lost and then increases as the VCO locks on to the secondary clock. After
the VCO locks on to the secondary clock, some overshoot can occur (an
over-frequency condition) in the VCO frequency.
Figure 5–17. VCO Switchover Operating Frequency
Primary Clock Stops Running
Frequency Overshoo
Switchover Occurs
VCO Tracks Secondary Cl
Fvco
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Programmable Bandwidth
■
5–27
Disable the system during switchover if the system is not tolerant to 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 last frequency. You can also use the switchover state machine to
switch over to the secondary clock. Upon enabling the PFD, output clock enable
signals (clkena) can disable clock outputs during the switchover and
resynchronization period. After the lock indication is stable, the system can
re-enable the output clock or clocks.
Programmable Bandwidth
The PLL bandwidth is the measure of the PLL’s ability to track the input clock and its
associated jitter. PLLs of Cyclone IV devices provide advanced control of the PLL
bandwidth using the programmable characteristics of the PLL loop, 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.
Phase Shift Implementation
Phase shift is used to implement a robust solution for clock delays in Cyclone IV
devices. Phase shift is implemented with a combination of the VCO phase output and
the counter starting time. The VCO phase output and counter starting time are the
most accurate methods of inserting delays, because they are purely based on counter
settings, that are independent of process, voltage, and temperature.
You can phase shift the output clocks from the PLLs of Cyclone IV devices in one of
two ways:
■
Fine resolution using VCO phase taps
■
Coarse resolution using counter starting time
Fine resolution phase shifts are implemented by allowing any of the output counters
(C[4..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. Equation 5–1
shows the minimum delay time that you can insert using this method.
Equation 5–1. Fine Resolution Phase Shift
T VCO
N
1
Φfine = ----------= -------------- = ----------------8Mf R EF
8
8f VCO
in which fREF is the input reference clock frequency.
For example, if fREF is 100 MHz, N = 1, and M = 8, then fVCO = 800 MHz, and
Φfine = 156.25 ps. The PLL operating frequency defines this phase shift, a value that
depends on reference clock frequency and counter settings.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–28
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Phase Shift Implementation
Coarse resolution phase shifts are implemented by delaying the start of the counters
for a predetermined number of counter clocks. Equation 5–2 shows the coarse phase
shift.
Equation 5–2. Coarse Resolution Phase Shift
C – 1- = -------------------( C – 1 ) NΦcoarse = ----------fVCO
MfR EF
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–18 shows an example of phase shift insertion using fine resolution through
VCO phase taps method. The eight phases from the VCO are shown and labeled for
reference. For this example, CLK0 is based on 0° phase 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 on the 135° phase tap
from the VCO and 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 on the
0° phase from the VCO but has the C value for the counter set to three. This creates a
delay of two Φcoarse (two complete VCO periods).
Figure 5–18. Delay Insertion Using VCO Phase Output and Counter Delay Time
1/8 tVCO
tVCO
0
45
90
135
180
225
270
315
CLK0
td0-1
CLK1
td0-2
CLK2
You can use the coarse and fine phase shifts to implement clock delays in
Cyclone IV devices.
Cyclone IV devices support dynamic phase shifting of VCO phase taps only. The
phase shift is configurable for any number of times. Each phase shift takes about one
scanclk cycle, allowing you to implement large phase shifts quickly.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
PLL Cascading
5–29
PLL Cascading
Cyclone IV devices allow cascading between GPLLs and MPLLs in normal or direct
mode through the GCLK network. 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.
PLL Reconfiguration
PLLs use several divide counters and different VCO phase taps to perform frequency
synthesis and phase shifts. In PLLs of Cyclone IV devices, you can reconfigure both
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 affects PLL
bandwidth. You can use these PLL components to update the output clock frequency,
PLL bandwidth, and phase shift in real time, without reconfiguring the entire FPGA.
The ability to reconfigure the PLL in real time is useful in applications that might
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 send patterns at 75 or 150 MHz, depending on the requirements of the device
under test. Reconfiguring 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 clock-to-out (t CO) delays in real time by
changing the PLL output clock phase shift. This approach eliminates the need to
regenerate a configuration file with the new PLL settings.
PLL Reconfiguration Hardware Implementation
The following PLL components are configurable in real time:
■
Pre-scale counter (N)
■
Feedback counter (M)
■
Post-scale output counters (C0–C4)
■
Dynamically adjust the charge pump current (ICP) and loop filter components
(R, C) to facilitate on-the-fly reconfiguration of the PLL bandwidth
Figure 5–19 shows how to adjust PLL counter settings dynamically by shifting their
new settings into a serial shift register chain or scan chain. Serial data shifts to the scan
chain via the scandataport, and shift registers are clocked by scanclk. The
maximum scanclk frequency is 100 MHz. After shifting the last bit of data, asserting
the configupdate signal for at least one scanclk clock cycle synchronously
updates the PLL configuration bits with the data in the scan registers.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–30
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
PLL Reconfiguration
Figure 5–19. PLL Reconfiguration Scan Chain
FVCO
from M counter
from N counter
PFD
LF/K/CP
VCO
scandata
scanclkena
configupdate
/C4
inclk
/C3
/C2
/C1
/C0
/M
/N
scandataout
scandone
scanclk
1
The counter settings are updated synchronously to the clock frequency of the
individual counters. Therefore, not all counters update simultaneously.
To reconfigure the PLL counters, perform the following steps:
1. The scanclkena signal is asserted at least one scanclk cycle prior to shifting in
the first bit of scandata (D0).
2. Serial data (scandata) is shifted into the scan chain on the second rising edge of
scanclk.
3. After all 144 bits have been scanned into the scan chain, the scanclkena signal is
de-asserted 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 that the PLL is being reconfigured. A
falling edge indicates that the PLL counters have been updated with new settings.
6. Reset the PLL using the areset signal if you make any changes to the M, N,
post-scale output C counters, or the ICP , R, C settings.
7. You can repeat steps 1 through 5 to reconfigure the PLL any number of times.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
PLL Reconfiguration
5–31
Figure 5–20 shows a functional simulation of the PLL reconfiguration feature.
Figure 5–20. PLL Reconfiguration Scan Chain
scandata
D0 (LSB)
Dn (MSB)
scanclk
scanclkena
scandataout
D0_old
Dn_old
Dn
configupdate
scandone
areset
1
When reconfiguring the counter clock frequency, the corresponding counter phase
shift settings cannot be reconfigured using the same interface. You can reconfigure
phase shifts in real time using the dynamic phase shift reconfiguration interface. If
you reconfigure the counter frequency, but wish to keep the same non-zero phase shift
setting (for example, 90°) on the clock output, you must reconfigure the phase shift
after reconfiguring the counter clock frequency.
Post-Scale Counters (C0 to C4)
You can configure 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, that 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 one.
When this bit is set to 0, the PLL computes the effective division of the VCO output
frequency based on the high and low time counters. For example, if the post-scale
divide factor is 10, the high and low count values is 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 40–60% duty cycle.
The rselodd bit indicates an odd divide factor for the VCO output frequency with a
50% duty cycle. For example, if the post-scale divide factor is three, the high and low
time count values are 2 and 1, respectively, to achieve this division. This implies a
67%–33% duty cycle. If you need a 50%–50% duty cycle, you must 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, subtract 0.5 cycles
from the high time and add 0.5 cycles to the low time.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–32
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
PLL Reconfiguration
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
Scan Chain Description
Cyclone IV PLLs have a 144-bit scan chain.
Table 5–5 lists the number of bits for each component of the PLL.
Table 5–5. Cyclone IV PLL Reprogramming Bits
Number of Bits
Block Name
Counter
Other
Total
C4 (1)
16
2 (2)
18
C3
16
2 (2)
18
C2
16
2 (2)
18
C1
16
2 (2)
18
C0
16
2 (2)
18
M
16
2 (2)
18
N
16
2 (2)
18
Charge Pump
9
0
9
Loop Filter (3)
9
0
9
Total number of bits:
144
Notes to Table 5–5:
(1) LSB bit for C4 low-count value is the first bit shifted into the scan chain.
(2) These two control bits include rbypass, for bypassing the counter, and rselodd, to select the output clock
duty cycle.
(3) MSB bit for loop filter is the last bit shifted into the scan chain.
Figure 5–21 shows the scan chain order of the PLL components.
Figure 5–21. PLL Component Scan Chain Order
DATAIN
LF
MSB
DATAOUT
Cyclone IV Device Handbook, Volume 1
CP
LSB
C4
N
M
C0
C3
C2
C1
© November 2009
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
PLL Reconfiguration
5–33
Figure 5–22 shows the scan chain bit order sequence for one PLL post-scale counter in
PLLs of Cyclone IV devices.
Figure 5–22. Scan Chain Bit Order
DATAOUT
HB
HB
HB
HB
HB
HB
HB
HB
HB
HB
0
1
2
3
4
5
6
7
8
9
LB
LB
LB
LB
LB
LB
LB
LB
LB
LB
0
1
2
3
4
5
6
7
8
9
rbypass
DATAIN
rselodd
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–6 through Table 5–8 list the possible settings for
charge pump (ICP), loop filter resistor (R), and capacitor (C) values for PLLs of
Cyclone IV devices.
Table 5–6. Charge Pump Bit Control
CP[2]
CP[1]
CP[0]
Setting (Decimal)
0
0
0
0
1
0
0
1
1
1
0
3
1
1
1
7
Table 5–7. Loop Filter Resistor Value Control
© November 2009
LFR[4]
LFR[3]
LFR[2]
LFR[1]
LFR[0]
Setting
(Decimal)
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
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–34
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
PLL Reconfiguration
Table 5–8. Loop Filter Control of High Frequency Capacitor
LFC[1]
LFC[0]
Setting (Decimal)
0
0
0
0
1
1
1
1
3
Bypassing a PLL Counter
Bypassing a PLL counter results in a divide (N, C0 to C4 counters) factor of one.
Table 5–9 lists the settings for bypassing the counters in PLLs of Cyclone IV devices.
Table 5–9. PLL Counter Settings
PLL Scan Chain Bits [0..8] Settings
Description
LSB
MSB
X
X
X
X
X
X
X
X
1 (1)
PLL counter bypassed
X
X
X
X
X
X
X
X
0 (1)
PLL counter not bypassed
Note to Table 5–9:
(1) Bypass bit.
To bypass any of the PLL counters, set the bypass bit to 1. The values on the other bits
are then ignored.
Dynamic Phase Shifting
The dynamic phase shifting feature allows the output phase of individual PLL
outputs to be dynamically adjusted relative to each other and the reference clock
without sending serial data through the scan chain of the corresponding PLL. This
feature simplifies the interface and allows you to quickly adjust tCO delays by
changing output clock phase shift in real time. This 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 the VCO frequency at a time. The output clocks are active
during this phase reconfiguration process.
Table 5–10 lists the control signals that are used for dynamic phase shifting.
Table 5–10. Dynamic Phase Shifting Control Signals (Part 1 of 2)
Signal Name
Description
Source
Destination
PHASECOUNTERSELECT[2:0]
Counter Select. Three bits decoded to select
either the M or one of the C counters for
phase adjustment. One address map 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
pins
PLL
reconfiguration
circuit
PHASESTEP
Logic high enables dynamic phase shifting.
Logic array or I/O
pins
PLL
reconfiguration
circuit
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
PLL Reconfiguration
5–35
Table 5–10. Dynamic Phase Shifting Control Signals (Part 2 of 2)
Signal Name
Description
Source
Destination
SCANCLK
Free running clock from core used in
combination with PHASESTEP to enable or
disable dynamic phase shifting. Shared with
SCANCLK for dynamic reconfiguration.
GCLK or I/O pins
PLL
reconfiguration
circuit
PHASEDONE
When asserted, it indicates to core logic that
the phase adjustment is complete and PLL is
ready to act on a possible second adjustment
pulse. Asserts based on internal PLL timing.
De-asserts on the rising edge of SCANCLK.
PLL reconfiguration Logic array or
circuit
I/O pins
Table 5–11 lists the PLL counter selection based on the corresponding
PHASECOUNTERSELECT setting.
Table 5–11. Phase Counter Select Mapping
PHASECOUNTERSELECT [2]
[1]
[0]
Selects
0
0
0
All Output Counters
0
0
1
M Counter
0
1
0
C0 Counter
0
1
1
C1 Counter
1
0
0
C2 Counter
1
0
1
C3 Counter
1
1
0
C4 Counter
To perform one dynamic phase shift step, you must perform the following
procedures:
1. Set phaseupdown and phasecounterselect as required.
2. Assert phasestep for at least two scanclk cycles. Each phasestep pulse
enables one phase shift.
3. De-assert phasestep.
4. Wait for phasedone to go high.
5. You can repeat steps 1 through 4 as many times as required to get multiple phase
shifts.
All signals are synchronous to scanclk, so they are latched on the scanclk edges
and must meet tSU or tH requirements (with respect to the scanclk edges).
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
5–36
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Spread-Spectrum Clocking
Figure 5–23. PLL Dynamic Phase Shift
phaseupdown
phasecounterselect
scanclk
phasestep
phasedone
Dynamic phase shifting can be repeated indefinitely. All signals are synchronous to
scanclk, so they must meet tSU or tH requirements (with respect to scanclk edges).
The phasestep signal is latched on the negative edge of scanclk. In Figure 5–23,
this is shown by the second scanclk falling edge. phasestep must stay high for at
least two scanclk cycles. On the second scanclk rising edge after phasestep is
latched (indicated by the fourth rising edge), the values of phaseupdown and
phasecounterselect are latched and the PLL starts dynamic phase shifting for the
specified counter or counters and in the indicated direction. On the fourth scanclk
rising edge, phasedone goes high to low and remains low until the PLL finishes
dynamic phase shifting. You can perform another dynamic phase shift after the
phasedone signal goes from low to high.
Depending on the VCO and scanclk frequencies, phasedone low time may be
greater than or less than one scanclk cycle.
After phasedone goes from low to high, you can perform another dynamic phase
shift. phasestep pulses must be at least one scanclk cycle apart.
f
For information about the ALTPLL_RECONFIG MegaWizard™ Plug-In Manager,
refer to the ALTPLL_RECONFIG Megafunction User Guide.
Spread-Spectrum Clocking
Cyclone IV 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. PLLs of Cyclone IV devices can track a spread-spectrum input clock
as long as it is in the input jitter tolerance specifications and the modulation frequency
of the input clock is below the PLL bandwidth, that is specified in the fitter report.
Cyclone IV devices cannot generate spread-spectrum signals internally.
PLL Specifications
f
For information about PLL specifications, refer to the Cyclone IV Device Data Sheet
chapter in volume 3.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Chapter Revision History
5–37
Chapter Revision History
Table 5–12 lists the revision history for this chapter.
Table 5–12. Chapter Revision History
Date
Version
November 2009
1.0
© November 2009
Altera Corporation
Changes Made
Initial release.
Cyclone IV Device Handbook, Volume 1
5–38
Cyclone IV Device Handbook, Volume 1
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
Chapter Revision History
© November 2009
Altera Corporation
Section 2. I/O Interfaces
This section provides information about Cyclone® IV device family I/O features and
high-speed differential and external memory interfaces.
This section includes the following chapters:
■
Chapter 6, I/O Features in Cyclone IV Devices
■
Chapter 7, External Memory Interfaces in Cyclone IV Devices
Revision History
Refer to each chapter for its own specific revision history. For information about when
each chapter was updated, refer to the Chapter Revision Dates section, which appears
in the complete handbook.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
6. I/O Features in Cyclone IV Devices
CYIV-51006-1.0
This chapter describes the I/O and high speed I/O capabilities and features offered in
Cyclone® IV devices.
1
References to Cyclone IV devices in this chapter refer only to Cyclone IV GX devices.
Information about Cyclone IV E devices will be included in a future revision of this
chapter.
The I/O capabilities of Cyclone IV devices are driven by the diversification of I/O
standards in many low-cost applications, and the significant increase in required I/O
performance. Altera’s objective is to create a device that accommodates your key
board design needs with ease and flexibility.
The I/O flexibility of Cyclone IV devices is increased from the previous generation
low-cost FPGAs by allowing all I/O standards to be selected on all I/O banks.
Improvements to on-chip termination (OCT) support and the addition of true
differential buffers have eliminated the need for external resistors in many
applications, such as display system interfaces.
High-speed differential I/O standards have become popular in high-speed interfaces
because of their significant advantages over single-ended I/O standards. The
Cyclone IV devices support LVDS, BLVDS, reduced swing differential signaling
(RSDS), mini-LVDS, and point-to-point differential signaling (PPDS). The LVDS I/O
standards also support the transceiver reference clocks on top of the existing general
purpose I/O clock input features.
The Quartus® II software completes the solution with powerful pin planning features
that allow you to plan and optimize I/O system designs even before the design files
are available.
This chapter includes the following sections:
© November 2009
■
“Cyclone IV I/O Elements” on page 6–2
■
“I/O Element Features” on page 6–3
■
“OCT Support” on page 6–6
■
“I/O Standards” on page 6–11
■
“Termination Scheme for I/O Standards” on page 6–13
■
“I/O Banks” on page 6–15
■
“Pad Placement and DC Guidelines” on page 6–20
■
“High-Speed I/O Interface” on page 6–21
■
“High-Speed I/O Standards Support” on page 6–22
■
“True Output Buffer Feature” on page 6–30
■
“High-Speed I/O Timing” on page 6–31
■
“Design Guidelines” on page 6–32
■
“Software Overview” on page 6–33
Altera Corporation
Cyclone IV Device Handbook, Volume 1
6–2
Chapter 6: I/O Features in Cyclone IV Devices
Cyclone IV I/O Elements
Cyclone IV I/O Elements
Cyclone IV I/O elements (IOEs) contain a bidirectional I/O buffer and five registers
for registering input, output, output-enable signals, and complete embedded
bidirectional single-data rate transfer. I/O pins support various single-ended and
differential I/O standards.
The IOE contains one input register, two output registers, and two output-enable (OE)
registers. The two output registers and two OE registers are used for DDR
applications. You can use input registers for fast setup times and output registers for
fast clock-to-output times. Additionally, you can use OE registers for fast
clock-to-output enable timing. You can use IOEs for input, output, or bidirectional
data paths.
Figure 6–1 shows Cyclone IV devices IOE structure.
Figure 6–1. Cyclone IV IOEs in a Bidirectional I/O Configuration for SDR Mode
io_clk[5..0]
Column
or Row
Interconnect
OE
OE Register
clkout
D
VCCIO
Q
Optional
PCI Clamp
ENA
ACLR
/PRN
VCCIO
oe_out
Programmable
Pull-Up
Resistor
aclr/prn
Chip-Wide Reset
Output
Pin Delay
Output Register
D
sclr/
preset
Current Strength Control
Open-Drain Out
Slew Rate Control
Q
ENA
ACLR
/PRN
data_in1
data_in0
D
clkin
oe_in
Cyclone IV Device Handbook, Volume 1
Q
Bus Hold
Input Pin to
Input Register
Delay
or Input Pin to
Logic Array
Delay
ENA
ACLR
/PRN
Input Register
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
I/O Element Features
6–3
I/O Element Features
The Cyclone IV IOE offers a range of programmable features for an I/O pin. These
features increase the flexibility of I/O utilization and provide an alternative to reduce
the usage of external discrete components to on-chip, such as a pull-up resistors and
diodes.
Programmable Current Strength
The output buffer for each Cyclone IV I/O pin has a programmable current strength
control for certain I/O standards.
The LVTTL, LVCMOS, SSTL-2 Class I and II, SSTL-18 Class I and II, HSTL-18 Class I
and II, HSTL-15 Class I and II, and HSTL-12 Class I and II I/O standards have several
levels of current strength that you can control.
Table 6–2 on page 6–7 shows the possible settings for I/O standards with current
strength control. These programmable current strength settings are a valuable tool in
helping decrease the effects of simultaneously switching outputs (SSO) in conjunction
with reducing system noise. The supported settings ensure that the device driver
meets the specifications for IOH and IOL of the corresponding I/O standard.
1
When you use programmable current strength, on-chip series termination is not
available.
Slew Rate Control
The output buffer for each Cyclone IV devices I/O pin provides optional
programmable output slew-rate control. Table 6–2 on page 6–7 shows the possible
slew rate option and the Quartus II default slew rate setting. However, these fast
transitions may introduce noise transients in the system. A slower slew rate reduces
system noise, but adds a nominal delay to rising and falling edges. Because each I/O
pin has an individual slew-rate control, you can specify the slew rate on a pin-by-pin
basis. The slew-rate control affects both the rising and falling edges. Slew rate control
is available for single-ended I/O standards with current strength of 8 mA or higher.
1
You cannot use the programmable slew rate feature when using OCT with calibration.
1
You cannot use the programmable slew rate feature when using the 3.0-V PCI,
3.0-V PCI-X, 3.3-V LVTTL, and 3.3-V LVCMOS I/O standards. Only the fast slew rate
(default) setting is available.
Open-Drain Output
Cyclone IV devices provide an optional open-drain (equivalent to an open-collector)
output for each I/O pin. This open-drain output enables the device to provide
system-level control signals (for example, interrupt and write enable signals) that are
asserted by multiple devices in your system.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
6–4
Chapter 6: I/O Features in Cyclone IV Devices
I/O Element Features
Bus Hold
Each Cyclone IV device user I/O pin provides an optional bus-hold feature. The
bus-hold circuitry holds 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 necessary to hold a signal
level when the bus is tri-stated.
The bus-hold circuitry also pulls undriven pins away from the input threshold
voltage in which 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 overdriving signals.
1
If you enable the bus-hold feature, the device cannot use the programmable pull-up
option. Disable the bus-hold feature when the I/O pin is configured for differential
signals. Bus-hold circuitry is not available on dedicated clock pins.
Bus-hold circuitry is only active 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 the specific sustaining current for each VCCIO voltage level driven through the
resistor and for the overdrive current used to identify the next driven input level, refer
to the Cyclone IV Device Data Sheet chapter in volume 3.
Programmable Pull-Up Resistor
Each Cyclone IV device I/O pin provides an optional programmable pull-up resistor
while in user mode. If you enable this feature for an I/O pin, the pull-up resistor
holds the output to the VCCIO level of the output pin’s bank.
1
If you enable the programmable pull-up, the device cannot use the bus-hold feature.
Programmable pull-up resistors are not supported on the dedicated configuration,
JTAG, and dedicated clock pins.
Programmable Delay
The Cyclone IV IOE includes programmable delays to ensure zero hold times,
minimize setup times, increase clock-to-output times, or delay the clock input signal.
A path in which a pin directly drives a register may require a programmable delay to
ensure zero hold time, whereas a path in which a pin drives a register through
combinational logic may not require the delay. Programmable delays minimize setup
time. The Quartus II Compiler can program these delays to automatically minimize
setup time while providing a zero hold time. Programmable delays can increase the
register-to-pin delays for output registers. Each dual-purpose clock input pin
provides a programmable delay to the global clock networks.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
I/O Element Features
6–5
Table 6–1 shows the programmable delays for Cyclone IV devices.
Table 6–1. Cyclone IV Devices Programmable Delay Chain
Programmable Delay
Quartus II Logic Option
Input pin-to-logic array delay
Input delay from pin to internal cells
Input pin-to-input register delay
Input delay from pin to input register
Output pin delay
Delay from output register to output pin
Dual-purpose clock input pin
delay
Input delay from dual-purpose clock pin to fan-out destinations
There are two paths in the IOE for an input to reach the logic array. Each of the two
paths can have a different delay. This allows you to adjust delays from the pin to the
internal logic element (LE) registers that reside in two different areas of the device.
You must set the two combinational input delays with the input delay from pin to
internal cells logic option in the Quartus II software for each path. If the pin uses the
input register, one of the delays is disregarded and the delay is set with the input
delay from pin to input register logic option in the Quartus II software.
The IOE registers in each I/O block share the same source for the preset or clear
features. You can program preset or clear for each individual IOE, but you cannot use
both features simultaneously. You can also program the registers to power-up high or
low after configuration is complete. If programmed to power-up low, an
asynchronous clear can control the registers. If programmed to power-up high, an
asynchronous preset can control the registers. This feature prevents the inadvertent
activation of the active-low input of another device upon power-up. If one register in
an IOE uses a preset or clear signal, all registers in the IOE must use that same signal if
they require preset or clear. Additionally, a synchronous reset signal is available for
the IOE registers.
f
© November 2009
For more information about the input and output pin delay settings, refer to the Area
and Timing Optimization chapter in volume 2 of the Quartus II Handbook.
Altera Corporation
Cyclone IV Device Handbook, Volume 1
6–6
Chapter 6: I/O Features in Cyclone IV Devices
OCT Support
PCI-Clamp Diode
Cyclone IV devices provide an optional PCI-clamp diode enabled input and output
for each I/O pin. Dual-purpose configuration pins support the diode in user mode if
the specific pins are not used as configuration pins for the selected configuration
scheme. For example, if you are using the active serial (AS) configuration scheme, you
cannot use the clamp diode on the ASDO and nCSO pins in user mode. Dedicated
configuration pins do not support the on-chip diode.
The PCI-clamp diode is available for the following I/O standards:
■
3.3-V LVTTL
■
3.3-V LVCMOS
■
3.0-V LVTTL
■
3.0-V LVCMOS
■
2.5-V LVTTL/LVCMOS
■
PCI
■
PCI-X
If the input I/O standard is 3.3-V LVTTL, 3.3-V LVCMOS, 3.0-V LVTTL, 3.0-V
LVCMOS, 2.5-V LVTTL/LVCMOS, PCI, or PCI-X, the PCI-clamp diode is enabled by
default in the Quartus II software.
OCT Support
Cyclone IV devices feature OCT to provide I/O impedance matching and termination
capabilities. OCT helps to prevent reflections and maintain signal integrity while
minimizing the need for external resistors in high pin-count ball grid array (BGA)
packages. Cyclone IV devices provide I/O driver on-chip impedance matching and
on-chip series termination for single-ended outputs and bidirectional pins.
1
When using on-chip series termination, programmable current strength is not
available.
There are two ways to implement OCT in Cyclone IV devices:
■
OCT with calibration
■
OCT without calibration
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
OCT Support
6–7
Table 6–2 lists the I/O standards that support impedance matching and series
termination.
Table 6–2. Cyclone IV Device I/O Features Support (Part 1 of 2)
IOH/IOL Current Strength Setting
(mA) (1)
I/O Standard
3.3-V LVTTL
3.0-V LVCMOS
I/O Banks
Slew
Rate
Option
(6)
PCIclamp
Diode
Support
Right I/O Pins
Row I/O
Column
I/O
Row I/O
Column
I/O
4,8
4,8
—
—
—
—
—
v
2
2
—
—
—
—
—
v
4,8,12,16
4,8,12,16
50,25
50,25
50,25
50,25
4,8,12,16
3.0-V PCI/PCI-X
On-Chip Series
Termination
Without Calibration
Setting, Ohm (Ω)
Top and Bottom
I/O Pins
3.3-V LVCMOS
3.0-V LVTTL
On-Chip Series
Termination with
Calibration
Setting, Ohm (Ω)
4,8,12,16
50,25
50,25
50,25
50,25
0,1,2
3,4,5,6,7,
8,9
—
v
v
v
—
—
—
—
—
—
2.5-V LVTTL/LVCMOS
4,8,12,16
4,8,12,16
50,25
50,25
50,25
50,25
v
1.8-V LVTTL/LVCMOS
2,4,6,8,10,12,16
2,4,6,8,10,12,16
50,25
50,25
50,25
50,25
—
1.5-V LVCMOS
2,4,6,8,10,12,16
2,4,6,8,10,12,16
50,25
50,25
50,25
50,25
—
1.2-V LVCMOS
2,4,6,8,10,12
2,4,6,8,10
50
50,25
50
50,25
SSTL-2 Class I
8,12
8,12
50
50
50
50
—
SSTL-2 Class II
16
16
25
25
25
25
—
SSTL-18 Class I
8,10,12
8,10,12
50
50
50
50
—
SSTL-18 Class II
12,16
12,16
25
25
25
25
HSTL-18 Class I
8,10,12
8,10,12
50
50
50
50
—
4,5,6,7,8
—
3,4,5,6,7,
8,9
—
HSTL-18 Class II
16
16
25
25
25
25
—
HSTL-15 Class I
8,10,12
8,10,12
50
50
50
50
—
HSTL-15 Class II
16
16
25
25
25
25
—
0,1,2
HSTL-12 Class I
8,10,12
8,10
50
50
50
50
4,5,6,7,8
—
HSTL-12 Class II
4,7,8
—
14
—
—
25
—
25
Differential SSTL-2 Class
I (2), (7)
8,12
8,12
50
50
50
50
—
Differential SSTL-2 Class
II (2), (7)
16
16
25
25
25
25
—
Differential SSTL-18 (2),
(7)
8,10,12
8,10,12
—
50
—
50
Differential HSTL-18 (2),
(7)
8,10,12
8,10,12
—
50
—
50
—
Differential HSTL-15 (2),
(7)
8,10,12
8,10,12
—
50
—
50
—
Differential HSTL-12 (2),
(8)
8,10,12
8,10,12
—
50
—
50
4,7,8
BLVDS
8,12,16
8,12,16
—
—
—
—
3,4,5,6,7,
8
LVDS (3)
—
—
—
—
—
—
PPDS (3), (4)
—
—
—
—
—
—
RSDS and mini-LVDS (3),
(4)
—
—
—
—
—
—
© November 2009
Altera Corporation
3,4,5,6,7,
8
5,6
—
—
0,1,2
—
—
—
—
—
—
—
Cyclone IV Device Handbook, Volume 1
6–8
Chapter 6: I/O Features in Cyclone IV Devices
OCT Support
Table 6–2. Cyclone IV Device I/O Features Support (Part 2 of 2)
On-Chip Series
Termination with
Calibration
Setting, Ohm (Ω)
IOH/IOL Current Strength Setting
(mA) (1)
I/O Standard
Differential LVPECL (5)
On-Chip Series
Termination
Without Calibration
Setting, Ohm (Ω)
Top and Bottom
I/O Pins
Right I/O Pins
Row I/O
Column
I/O
Row I/O
Column
I/O
—
—
—
—
—
—
I/O Banks
Slew
Rate
Option
(6)
PCIclamp
Diode
Support
3,4,5,6,7,
8
—
—
Notes to Table 6–2:
(1) The default current strength setting in the Quartus II software is 50-Ω OCT without calibration for all non-voltage reference and HSTL/SSTL Class I I/O
standards. The default setting is 25-Ω OCT without calibration for HSTL/SSTL Class II I/O standards.
(2) These differential I/O standards are supported only for clock inputs and dedicated PLL_OUT outputs.
(3) True differential (PPDS, LVDS, mini-LVDS, and RSDS I/O standards) outputs are supported in row I/O banks only. Differential outputs in column I/O banks
require an external resistor network.
(4) This I/O standard is supported for outputs only.
(5) This I/O standard is supported for clock inputs only
(6) The default Quartus II slew rate setting is in bold; 2 for all I/O standards that supports slew rate option.
(7) The differential SSTL-18 and SSTL-2, differential HSTL-18, and HSTL-15 I/O standards are supported only on clock input pins and PLL output clock pins.
Differential SSTL-18, differential HSTL-18, and HSTL-15 I/O standards do not support Class II output.
(8) The differential HSTL-12 I/O standard is only supported on clock input pins and PLL output clock pins. Differential HSTL-12 Class II is supported only in
column I/O Banks 4, 7, and 8.
1
For more details about the differential I/O standards supported in Cyclone IV
Devices I/O Banks, refer to Table 6–5 on page 6–21 in “High-Speed I/O Interface” on
page 6–21.
On-Chip Series Termination with Calibration
Cyclone IV devices support on-chip series termination with calibration in the top,
bottom, and right I/O banks. The on-chip series termination 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 adjusts the I/O buffer
impedance until they match (as shown in Figure 6–2).
The R S shown in Figure 6–2 is the intrinsic impedance of the transistors that make up
the I/O buffer.
Figure 6–2. Cyclone IV Devices On-Chip Series Termination with Calibration
Cyclone IV Device Family
Driver Series Termination
Receiving
Device
VCCIO
RS
ZO
RS
GND
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
OCT Support
6–9
OCT with calibration is achieved using the OCT calibration block circuitry. There is
one OCT calibration block in each I/O Bank 4, 5, and 7. Each calibration block
supports each side of the I/O banks. Because there are two I/O banks sharing the
same calibration block, both banks must have the same VCCIO if both banks enable
OCT calibration. If two related banks have different V CCIO, only the bank in which the
calibration block resides can enable OCT calibration.
Figure 6–9 on page 6–16 shows the top-level view of the OCT calibration blocks
placement.
Each calibration block comes with a pair of RUP and RDN pins. When used for
calibration, 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 on-chip series termination value of 25 Ω or 50 Ω, respectively. The external
resistors are compared with the internal resistance using comparators. The resultant
outputs of the comparators are used by the OCT calibration block to dynamically
adjust buffer impedance.
1
During calibration, the resistance of the RUP and RDN pins varies.
Figure 6–3 shows the external calibration resistors setup on the RUP and RDN pins and
the associated OCT calibration circuitry.
Figure 6–3. Cyclone IV Devices On-Chip Series Termination with Calibration Setup
Cyclone IV Device Family OCT with
Calibration with RUP and RDN pins
VCCIO
External
Calibration
Resistor
RUP
OCT
Calibration
Circuitry
VCCIO
RDN
External
Calibration
Resistor
GND
RUP and RDN pins go to a tri-state condition when calibration is completed or not
running. These two pins are dual-purpose I/Os and function as regular I/Os if you
do not use the calibration circuit.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
6–10
Chapter 6: I/O Features in Cyclone IV Devices
OCT Support
On-Chip Series Termination Without Calibration
Cyclone IV devices support driver impedance matching to match the impedance of
the transmission line, that is typically 25 or 50 Ω. When used with the output drivers,
OCT sets the output driver impedance to 25 or 50 Ω. Cyclone IV devices also support
I/O driver series termination (RS = 50 Ω) for SSTL-2 and SSTL-18.
Figure 6–4 shows the single-ended I/O standards for OCT without calibration. The R S
shown is the intrinsic transistor impedance.
Figure 6–4. Cyclone IV Devices On-Chip Series Termination Without Calibration
Cyclone IV Device
Driver Series Termination
Receiving
Device
VCCIO
RS
ZO
RS
GND
All I/O banks and I/O pins support impedance matching and series termination.
Dedicated configuration pins and JTAG pins do not support impedance matching or
series termination.
On-chip series termination is supported on any I/O bank. VCCIO and VREF must be
compatible for all I/O pins to enable on-chip series termination in a given I/O bank.
I/O standards that support different RS values can reside in the same I/O bank as
long as their V CCIO and VREF are not conflicting.
Impedance matching is implemented using the capabilities of the output driver and is
subject to a certain degree of variation, depending on the process, voltage, and
temperature.
f
For more information about tolerance specification, refer to the Cyclone IV Device Data
Sheet chapter in volume 3.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
I/O Standards
6–11
I/O Standards
Cyclone IV devices support multiple single-ended and differential I/O standards.
Cyclone IV devices support 3.3-, 3.0-, 2.5-, 1.8-, 1.5-, and 1.2-V I/O standards.
Table 6–3 summarizes I/O standards supported by Cyclone IV devices and which
I/O pins support them.
Table 6–3. Cyclone IV Devices Supported I/O Standards and Constraints (Part 1 of 2)
VC CIO Level (in V)
I/O Standard
Type
Standard
Support
Top and Bottom I/O Pins
Right I/O Pins
Input
Output
CLK,
DQS
PLL_OUT
User
I/O
Pins
CLK,
DQS
User I/O
Pins
3.3-V LVTTL,
3.3-V LVCMOS (1)
Single-ended
JESD8-B
3.3/3.0/2.5
(2)
3.3
v
v
v
v
v
3.0-V LVTTL,
3.0-V LVCMOS (1)
Single-ended
JESD8-B
3.3/3.0/2.5
(2)
3.0
v
v
v
v
v
2.5-V LVTTL /
LVCMOS
Single-ended
JESD8-5
3.3/3.0/2.5
(2)
2.5
v
v
v
v
v
1.8-V LVTTL /
LVCMOS
Single-ended
JESD8-7
1.8/1.5(2)
1.8
v
v
v
v
v
1.5-V LVCMOS
Single-ended
JESD8-11
1.8/1.5(2)
1.5
v
v
v
v
v
1.2-V LVCMOS (3)
Single-ended
JESD8-12A
1.2
1.2
v
v
v
v
v
SSTL-2 Class I,
SSTL-2 Class II
voltagereferenced
JESD8-9A
2.5
2.5
v
v
v
v
v
SSTL-18 Class I,
SSTL-18 Class II
voltagereferenced
JESD815
1.8
1.8
v
v
v
v
v
HSTL-18 Class I,
HSTL-18 Class II
voltagereferenced
JESD8-6
1.8
1.8
v
v
v
v
v
HSTL-15 Class I,
HSTL-15 Class II
voltagereferenced
JESD8-6
1.5
1.5
v
v
v
v
v
HSTL-12 Class I
voltagereferenced
JESD8-16A
1.2
1.2
v
v
v
v
v
HSTL-12 Class II (8)
voltagereferenced
JESD8-16A
1.2
1.2
v
v
v
—
—
PCI and PCI-X
Single-ended
3.0
3.0
v
v
v
v
v
Differential SSTL-2
Class I or Class II
Differential
(4)
JESD8-9A
—
2.5
—
v
—
—
—
2.5
—
v
—
—
v
—
Differential SSTL-18
Class I or Class II
Differential
(4)
JESD815
—
1.8
—
v
—
—
—
1.8
—
v
—
—
v
—
—
1.8
—
v
—
—
—
1.8
—
v
—
—
v
—
—
1.5
—
v
—
—
—
1.5
—
v
—
—
v
—
—
1.2
—
v
—
—
—
1.2
—
v
—
—
v
—
—
Differential HSTL-18
Class I or Class II
Differential
(4)
JESD8-6
Differential HSTL-15
Class I or Class II
Differential
(4)
JESD8-6
Differential HSTL-12
Class I or Class II
Differential
(4)
JESD8-16A
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
6–12
Chapter 6: I/O Features in Cyclone IV Devices
I/O Standards
Table 6–3. Cyclone IV Devices Supported I/O Standards and Constraints (Part 2 of 2)
VC CIO Level (in V)
I/O Standard
Type
Top and Bottom I/O Pins
Right I/O Pins
Standard
Support
Input
Output
CLK,
DQS
PLL_OUT
User
I/O
Pins
CLK,
DQS
User I/O
Pins
PPDS (5)
Differential
—
—
2.5
—
v
v
—
v
LVDS (9)
Differential
ANSI/TIA/
EIA-644
2.5
2.5
v
v
v
v
v
RSDS and
mini-LVDS (5)
Differential
—
—
2.5
—
v
v
—
v
BLVDS (7)
Differential
—
2.5
2.5
—
—
v
—
v
LVPECL (6)
Differential
—
2.5
—
v
—
—
v
—
Notes to Table 6–3:
(1) The PCI-clamp diode must be enabled for 3.3-V/3.0-V LVTTL/LVCMOS.
(2) The Cyclone IV architecture supports the MultiVolt I/O interface feature that allows Cyclone IV devices in all packages to interface with I/O systems
that have different supply voltages.
(3) 1.2-V VCCIO is not supported in Banks 3 and 9. I/O pins in Bank 9 are dual-purpose I/O pins that are used as configuration or general-purpose I/O
(GPIO) pins. Configuration scheme is not support at 1.2 V, therefore Bank 9 can not be powered up at 1.2-V V CCIO.
(4) Differential HSTL and SSTL outputs use two single-ended outputs with the second output programmed as inverted. Differential HSTL and SSTL
inputs treat differential inputs as two single-ended HSTL and SSTL inputs and only decode one of them. Differential HSTL and SSTL are only
supported on CLK pins.
(5) PPDS, mini-LVDS, and RSDS are only supported on output pins.
(6) LVPECL is only supported on clock inputs.
(7) Bus LVDS (BLVDS) output uses two single-ended outputs with the second output programmed as inverted. BLVDS input uses LVDS input buffer.
(8) 1.2-V HSTL input is supported at both column and row I/Os regardless of Class I or Class II.
(9) True LVDS, RSDS, and mini-LVDS I/O standards are supported in right I/O pins, while emulated LVDS, RSDS, and mini-LVDS I/O standards are
supported in the top, bottom, and right I/O pins.
Cyclone IV devices support PCI and PCI-X I/O standards at 3.0-V VCCIO. The 3.0-V
PCI and PCI-X I/O are fully compatible for direct interfacing with 3.3-V PCI systems
without requiring any additional components. The 3.0-V PCI and PCI-X outputs meet
the VIH and VIL requirements of 3.3-V PCI and PCI-X inputs with sufficient noise
margin.
f
For more information about the 3.3/3.0/2.5-V LVTTL & LVCMOS multivolt I/O
support, refer to the AN 447: Interfacing Cyclone III and Cyclone IV Devices with
3.3/3.0/2.5-V LVTTL/LVCMOS I/O Systems.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
Termination Scheme for I/O Standards
6–13
Termination Scheme for I/O Standards
This section describes recommended termination schemes for voltage-referenced and
differential I/O standards.
The 3.3-V LVTTL, 3.0-V LVTTL and LVCMOS, 2.5-V LVTTL and LVCMOS, 1.8-V
LVTTL and LVCMOS, 1.5-V LVCMOS, 1.2-V LVCMOS, 3.0-V PCI, and PCI-X
I/O standards do not specify a recommended termination scheme per the JEDEC
standard
Voltage-Referenced I/O Standard Termination
Voltage-referenced I/O standards require an input reference voltage (V REF) and a
termination voltage (VTT). The reference voltage of the receiving device tracks the
termination voltage of the transmitting device, as shown in Figure 6–5 and Figure 6–6.
Figure 6–5. Cyclone IV Devices HSTL I/O Standard Termination
HSTL Class I
Termination
HSTL Class II
VTT
External
On-Board
Termination
Cyclone IV Device
Family Series OCT
50 Ω
© November 2009
Altera Corporation
50 Ω
50 Ω
VREF
Receiver
VTT
Transmitter
Cyclone IV Device
Family Series OCT
25 Ω
50 Ω
50 Ω
VREF
Transmitter
VTT
50 Ω
50 Ω
VREF
Transmitter
OCT with
and without
Calibration
VTT
50 Ω
Receiver
VTT
VTT
50 Ω
50 Ω
50 Ω
VREF
Receiver
Transmitter
Receiver
Cyclone IV Device Handbook, Volume 1
6–14
Chapter 6: I/O Features in Cyclone IV Devices
Termination Scheme for I/O Standards
Figure 6–6. Cyclone IV Devices SSTL I/O Standard Termination
Termination
SSTL Class I
SSTL Class II
VTT
25 Ω
External
On-Board
Termination
VTT
50 Ω
50 Ω
25 Ω
50 Ω
VREF
Transmitter
Receiver
Cyclone IV Device
Family Series OCT
50 Ω
50 Ω
50 Ω
VREF
Transmitter
Receiver
Cyclone IV Device
Family Series OCT
25 Ω
VTT
VTT
VTT
50 Ω
50 Ω
OCT with
and without
Calibration
VTT
50 Ω
50 Ω
50 Ω
VREF
Transmitter
VREF
Receiver
Transmitter
Receiver
Differential I/O Standard Termination
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 bus (refer to Figure 6–7 and Figure 6–8).
Cyclone IV devices support differential SSTL-2 and SSTL-18, differential HSTL-18,
HSTL-15, and HSTL-12, PPDS, LVDS, RSDS, mini-LVDS, and differential LVPECL.
Figure 6–7. Cyclone IV Devices Differential HSTL I/O Standard Class I and Class II Interface and Termination
Termination
Differential HSTL Class I
VTT
50 Ω
External
On-Board
Termination
VTT
Transmitter
Cyclone IV Device Handbook, Volume 1
50 Ω
VTT VTT
50 Ω
50 Ω
50 Ω
50 Ω
50 Ω
50 Ω
Receiver
VTT
OCT
VTT VTT
50 Ω
Transmitter
Cyclone IV Device
Family Series OCT
50 Ω
Differential HSTL Class II
50 Ω
Transmitter
Receiver
VTT
VTT
Cyclone IV Device
Family Series OCT
25 Ω
50 Ω
VTT
50 Ω
VTT
50 Ω
50 Ω
50 Ω
50 Ω
50 Ω
50 Ω
Receiver
50 Ω
VTT
50 Ω
Transmitter
Receiver
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
I/O Banks
6–15
Figure 6–8. Cyclone IV Devices Differential SSTL I/O Standard Class I and Class II Interface and Termination (Note 1)
Termination
Differential SSTL Class I
VTT
50 Ω
25 Ω
External
On-Board
Termination
25 Ω
Transmitter
50 Ω
50 Ω
VTT VTT
50 Ω
25 Ω
25 Ω
50 Ω
Transmitter
VTT
Receiver
VTT
Cyclone IV Device
Family Series OCT
25 Ω
50 Ω
VTT
50 Ω
VTT
50 Ω
50 Ω
50 Ω
50 Ω
50 Ω
50 Ω
Receiver
50 Ω
50 Ω
50 Ω
Receiver
50 Ω
50 Ω
50 Ω
VTT
OCT
VTT VTT
VTT
Transmitter
Cyclone IV Device
Family Series OCT
50 Ω
Differential SSTL Class II
Transmitter
VTT
50 Ω
Receiver
Note to Figure 6–8:
(1) Only Differential SSTL-2 I/O standard supports Class II output.
I/O Banks
I/O pins on Cyclone IV devices are grouped together into I/O banks, and each bank
has a separate power bus. Cyclone IV devices have up to ten I/O banks and one
configuration bank, as shown in Figure 6–9 and Figure 6–10. The configuration I/O
bank contains three user I/O pins with secondary configuration programming
functions. They can be used as normal user I/O pins if they are not used in
configuration modes. Each device I/O pin is associated with one I/O bank. All singleended I/O standards are supported except HSTL-12 Class II, which is only supported
in column I/O banks. All differential I/O standards are supported in top, bottom, and
right I/O banks. The only exception is HSTL-12 Class II, which is only supported in
column I/O banks.
The entire left side of the Cyclone IV devices contain dedicated high-speed transceiver
blocks for high speed serial interface applications. There are a total of 2, 4 and 8
channels for Cyclone IV devices depending on the density and package of the device.
For more information about the transceiver channels supported, refer to Figure 6–9
and Figure 6–10 on page 6–17.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
6–16
Chapter 6: I/O Features in Cyclone IV Devices
I/O Banks
Figure 6–9 and Figure 6–10 show the overview of Cyclone IV I/O banks.
Figure 6–9. Cyclone IV Devices I/O Banks for EP4CGX15, EP4CGX22, and EP4CGX30 (Note 1), (2), (9)
Configuration pins
VCCIO8
VCCIO9
I/O Bank 9
(11)
I/O Bank 8
(10)
I/O Bank 7
I/O Bank 3
(10)
VCCIO3
Configuration pins
I/O Bank
3A
VCC_CLKIN3A
I/O Bank 6
VCCIO6
I/O bank with
calibration block
I/O bank without
calibration block
I/O Bank 5
PCIe hard IP x1, x2, and x4
Channel 2
I/O Bank
8A
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
PPDS
LVDS
RSDS
mini-LVDS
Bus LVDS (7)
LVPECL (3)
SSTL-2 class I and II
SSTL-18 CLass I and II
HSTL-18 Class I and II
HSTL-15 Class I and II
HSTL-12 Class I and II (4)
Differential SSTL-2 (5)
Differential SSTL-18 (5)
Differential HSTL-18 (5)
Differential HSTL-15 (5)
Differential HSTL-12 (6)
3.0-V PCI/PCI-X (8)
Channel 0
Channel 1
VCCIO7
Right, Top, and Bottom Banks Support:
Channel 3
Configuration
pins
VCC_CLKIN8A
Calibration block
coverage
VCCIO5
I/O Bank 4
VCCIO4
Notes to Figure 6–9:
(1) This is a top view of the silicon die. For exact pin locations, refer to the pin list and the Quartus II software. Channels 2 and 3 are not available in
EP4CGX15 and F169 package type in EP4CGX22 and EP4CGX30 devices.
(2) True differential (PPDS, LVDS, mini-LVDS, and RSDS I/O standards) outputs are supported in row I/O Banks 5 and 6 only. External resistors are
needed for the differential outputs in column I/O banks.
(3) The LVPECL I/O standard is only supported on clock input pins. This I/O standard is not supported on output pins.
(4) The HSTL-12 Class II is supported in column I/O Banks 4, 7, and 8.
(5) The differential SSTL-18 and SSTL-2, differential HSTL-18, and HSTL-15 I/O standards are supported only on clock input pins and phase-locked
loops (PLLs) output clock pins. PLL output clock pins do not support Class II interface type of differential SSTL-18, HSTL-18, HSTL-15, and
HSTL-12 I/O standards.
(6) The differential HSTL-12 I/O standard is only supported on clock input pins and PLL output clock pins. Differential HSTL-12 Class II is supported
only in column I/O Banks 4, 7, and 8.
(7) BLVDS output uses two single-ended outputs with the second output programmed as inverted. BLVDS input uses the LVDS input buffer.
(8) The PCI-X I/O standard does not meet the IV curve requirement at the linear region.
(9) The OCT block is located in the shaded Banks 4,5, and 7.
(10) There are two dedicated clock input I/O banks (I/O Bank 3A and I/O Bank 8A) for high-speed serial interface (HSSI) input reference clock pin.
(11) There are dual-purpose I/O pins in Bank 9. If input pins with VREF I/O standards are used on these dual-purpose I/O pins during user mode, it
will share the VREF pin in Bank 8.These dual-purpose IO pins in Bank 9 when used in user mode also support series OCT without calibration and
it share the OCT block with Bank 8.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
I/O Banks
6–17
Figure 6–10. Cyclone IV Devices I/O Banks for EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150 (Note 1), (2), (9)
Configuration pins
VCCIO9
I/O Bank 9
I/O Bank
8B
I/O Bank 8
(10)
I/O Bank 7
Ch3
PCIe hard IP x1, x2, and x4
I/O Bank
3B
I/O Bank 3
(10)
VCC_CLKIN3B
I/O Bank
3A
VCCIO3 VCC_CLKIN3A
I/O Bank 6
Ch2
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
PPDS
LVDS
RSDS
mini-LVDS
Bus LVDS (7)
LVPECL (3)
SSTL-2 class I and II
SSTL-18 CLass I and II
HSTL-18 Class I and II
HSTL-15 Class I and II
HSTL-12 Class I and II (4)
Differential SSTL-2 (5)
Differential SSTL-18 (5)
Differential HSTL-18 (5)
Differential HSTL-15 (5)
Differential HSTL-12 (6)
3.0-V PCI/PCI-X (8)
Ch1
GXBL1
I/O Bank
8A
VCCIO7
Right, Top, and Bottom Banks Support:
Ch0
Ch3
Ch2
GXBL0
Ch1
Ch0
VCCIO8 VCC_CLKIN8A
VCCIO6
I/O bank with
calibration block
I/O bank without
calibration block
I/O Bank 5
Configuration
pins
VCC_CLKIN8B
Calibration block
coverage
VCCIO5
I/O Bank 4
VCCIO4
Configuration pins
Notes to Figure 6–10:
(1) This is a top view of the silicon die. For exact pin locations, refer to the pin list and the Quartus II software.
(2) True differential (PPDS, LVDS, mini-LVDS, and RSDS I/O standards) outputs are supported in row I/O Banks 5 and 6 only. External resistors are
needed for the differential outputs in column I/O banks.
(3) The LVPECL I/O standard is only supported on clock input pins. This I/O standard is not supported on output pins.
(4) The HSTL-12 Class II is supported in column I/O Banks 4, 7, and 8.
(5) The differential SSTL-18 and SSTL-2, differential HSTL-18, and HSTL-15 I/O standards are supported only on clock input pins and phase-locked
loops (PLLs) output clock pins. PLL output clock pins do not support Class II interface type of differential SSTL-18, HSTL-18, HSTL-15, and
HSTL-12 I/O standards.
(6) The differential HSTL-12 I/O standard is only supported on clock input pins and PLL output clock pins. Differential HSTL-12 Class II is supported
only in column I/O Banks 4, 7, and 8.
(7) BLVDS output uses two single-ended outputs with the second output programmed as inverted. BLVDS input uses the LVDS input buffer.
(8) The PCI-X I/O standard does not meet the IV curve requirement at the linear region.
(9) The OCT block is located in the shaded Banks 4,5, and 7.
(10) There are four dedicated clock input I/O banks (I/O Bank 3A, I/O Bank 3B, I/O Bank 8A, and I/O Bank 8B) for HSSI input reference clock pin.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
6–18
Chapter 6: I/O Features in Cyclone IV Devices
I/O Banks
Each Cyclone IV I/O bank has a VREF bus to accommodate voltage-referenced I/O
standards. Each VREF pin is the reference source for its VREF group. If you use a VREF
group for voltage-referenced I/O standards, connect the VREF pin for that group to
the appropriate voltage level. If you do not use all the V REF groups in the I/O bank for
voltage-referenced I/O standards, you can use the VREF pin in the unused
voltage-referenced groups as regular I/O pins. For example, if you have
SSTL-2 Class I input pins in I/O Bank 3 and they are all placed in the VREFB1N[0]
group, VREFB1N[0] must be powered with 1.25 V, and the remaining
VREFB1N[1..3] pins (if available) are used as I/O pins. If multiple VREF groups are
used in the same I/O bank, the VREF pins must all be powered by the same voltage
level because the VREF pins are shorted together within the same I/O bank.
1
When VREF pins are used as regular I/Os, they have higher pin capacitance than
regular user I/O pins. This has an impact on the timing if the pins are used as inputs
and outputs.
f
For more information about VREF pin capacitance, refer to the pin capacitance section
in the Cyclone IV Device Data Sheet chapter in volume 3.
f
For information about how to identify VREF groups, refer to the Cyclone IV Device PinOut files or the Quartus II Pin Planner tool.
Table 6–4 summarizes the number of VREF pins in each I/O bank for Cyclone IV
devices.
Table 6–4. Number of VREF Pins Per I/O Bank for Cyclone IV Devices
Device
I/O Bank
(1)
4CGX15
148QFN
169FBGA
4CGX22
169FBGA
4CGX30
324- 169- 324FBGA FBGA FBGA
4CGX50
484FBGA
672FBGA
4CGX75
484- 672- 484FBGA FBGA FBGA
4CGX110
672FBGA
4CGX150
896- 484- 672FBGA FBGA FBGA
3
1
1
1
3
3
3
3
4
1
1
1
3
3
3
3
5
1
1
1
3
3
3
3
6
1
1
1
3
3
3
3
7
1
1
1
3
3
3
3
8(2)
1
1
1
3
3
3
3
896FBGA
Notes to Table 6–4:
(1) User I/O pins are used as inputs or outputs; clock input pins are used as inputs only; clock output pins are used as output only.
(2) Bank 9 does not have VREF pin. If input pins with VREF I/O standards are used in Bank 9 during user mode, it will share the VREF pin in
Bank 8.
Each Cyclone IV I/O bank has its own VCCIO pins. Each I/O bank can support only
one VCCIO setting from among 1.2, 1.5, 1.8, 3.0, or 3.3 V. Any number of supported
single-ended or differential standards can be simultaneously supported in a single
I/O bank, as long as they use the same VCCIO levels for input and output pins.
When designing LVTTL/LVCMOS inputs with Cyclone IV devices, refer to the
following guidelines:
■
All pins accept input voltage (VI) up to a maximum limit (3.6 V), as stated in the
recommended operating conditions provided in the Cyclone IV Device Data Sheet
chapter in volume 3.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
I/O Banks
6–19
■
Whenever the input level is higher than the bank V CCIO, expect higher leakage
current.
■
The LVTTL/LVCMOS I/O standard input pins can only meet the VIH and VIL
levels according to bank voltage level.
Voltage-referenced standards are supported in an I/O bank using any number of
single-ended or differential standards, as long as they use the same V REF and VCCIO
values. For example, if you choose to implement both SSTL-2 and SSTL-18 in your
Cyclone IV devices, I/O pins using these standards—because they require different
VREF values—must be in different banks from each other. However, the same I/O bank
can support SSTL-2 and 2.5-V LVCMOS with the VCCIO set to 2.5 V and the VREF set to
1.25 V.
1
When using Cyclone IV devices as a receiver in 3.3-, 3.0-, or 2.5-V LVTTL/LVCMOS
systems, you are responsible for managing overshoot or undershoot to stay in the
absolute maximum ratings and the recommended operating conditions, provided in
the Cyclone IV Device Data Sheet chapter in volume 3.
1
The PCI clamping diode is enabled by default in the Quartus II software for input
signals with bank VCCIO at 2.5, 3.0, or 3.3 V.
High-Speed Differential Interfaces
Cyclone IV devices can send and receive data through LVDS signals. For the LVDS
transmitter and receiver, the input and output pins of Cyclone IV devices support
serialization and deserialization through internal logic.
The BLVDS extends the benefits of LVDS to multipoint applications such as in
bidirectional backplanes. The loading effect and the need to terminate the bus at both
ends for multipoint applications require BLVDS to drive out a higher current than
LVDS to produce a comparable voltage swing. All the I/O banks of Cyclone IV
devices support BLVDS for user I/O pins.
The reduced swing differential signaling (RSDS) and mini-LVDS standards are
derivatives of the LVDS standard. The RSDS and mini-LVDS I/O standards are
similar in electrical characteristics to LVDS, but have a smaller voltage swing and
therefore provide increased power benefits and reduced electromagnetic interference
(EMI).
The point-to-point differential signaling (PPDS) standard is the next generation of the
RSDS standard introduced by National Semiconductor Corporation. Cyclone IV
devices meet the National Semiconductor Corporation PPDS Interface Specification
and support the PPDS standard for outputs only. All the I/O banks of Cyclone IV
devices support the PPDS standard for output pins only.
The LVDS standard does not require an input reference voltage, but it does require a
100-Ω termination resistor between the two signals at the input buffer. An external
resistor network is required on the transmitter side for top and bottom I/O banks.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
6–20
Chapter 6: I/O Features in Cyclone IV Devices
Pad Placement and DC Guidelines
External Memory Interfacing
Cyclone IV devices support I/O standards required to interface with a broad range of
external memory interfaces, such as DDR SDRAM, DDR2 SDRAM, and QDR II
SRAM.
f
For more information about Cyclone IV devices external memory interface support,
refer to the External Memory Interfaces in Cyclone IV Devices chapter in volume 1.
Pad Placement and DC Guidelines
Pad Placement
Altera recommends that you create a Quartus II design, enter your device I/O
assignments and compile your design to validate your pin placement. The Quartus II
software checks your pin connections with respect to the 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 fully described in this chapter.
f
For more information about how the Quartus II software checks I/O restrictions, refer
to the I/O Management chapter in volume 2 of the Quartus II Handbook.
DC Guidelines
For the Quartus II software to automatically check for illegally placed pads according
to the DC guidelines, set the DC current sink or source value to Electromigration
Current assignment on each of the output pins that are connected to the external
resistive load.
The programmable current strength setting has an impact on the amount of DC
current that an output pin can source or sink. Determine if the current strength setting
is sufficient for the external resistive load condition on the output pin.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
High-Speed I/O Interface
6–21
High-Speed I/O Interface
Cyclone IV devices I/Os are separated into six user I/O banks with the left side of the
device as the transceiver block, as shown in Figure 6–9 on page 6–16. Each bank has
an independent power supply. True output drivers for LVDS, RSDS, mini-LVDS, and
PPDS are on the right I/O banks. On the right I/O banks, some of the differential pin
pairs (p and n pins) of the true output drivers are not located on adjacent pins. In
these cases, a power pin is located between the p and n pins. These I/O standards are
also supported on all I/O banks using two single-ended output with the second
output programmed as inverted, and an external resistor network. True input buffers
for these I/O standards are supported on the top, bottom, and right I/O banks except
for I/O Bank 9.
Table 6–5 summarizes which I/O bank supports these I/O standards in Cyclone IV
devices.
Table 6–5. Differential I/O Standards Supported in Cyclone IV I/O Banks
Differential I/O Standards
LVDS
RSDS
I/O Bank Location
External Resistor
Network at
Transmitter
5,6
Not Required
3,4,5,6,7,8
Three Resistors
5,6
Not Required
Transmitter (TX)
Receiver (RX)
v
v
v
—
v
—
v
—
3,4,7,8
Three Resistors
3,4,5,6,7,8
Single Resistor
5,6
Not Required
3,4,5,6,7,8
Three Resistors
5,6
Not Required
3,4,5,6,7,8
Three Resistors
BLVDS (1)
3,4,5,6,7,8
Single Resistor
v
v
LVPECL (2)
3,4,5,6,7,8
—
—
v
Differential SSTL-2 (3)
3,4,5,6,7,8
—
v
v
Differential SSTL-18 (3)
3,4,5,6,7,8
—
v
v
Differential HSTL-18 (3)
3,4,5,6,7,8
—
v
v
Differential HSTL-15 (3)
3,4,5,6,7,8
—
v
v
Differential HSTL-12 (3)
4,5,6,7,8
—
v
v
mini-LVDS
PPDS
Notes to Table 6–5:
(1) Transmitter and Receiver fMAX depend on system topology and performance requirement.
(2) The LVPECL I/O standard is only supported on dedicated clock input pins.
(3) The differential SSTL-2, SSTL-18, HSTL-18, HSTL-15, and HSTL-12 I/O standards are only supported on clock input pins and PLL output clock
pins. PLL output clock pins do not support Class II interface type of differential SSTL-18, HSTL-18, HSTL-15, and HSTL-12 I/O standards.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
6–22
Chapter 6: I/O Features in Cyclone IV Devices
High-Speed I/O Standards Support
You can use I/O pins and internal logic to implement a high-speed differential
interface in Cyclone IV devices. Cyclone IV devices do not contain dedicated
serialization or deserialization circuitry. Therefore, shift registers, internal
phase-locked loops (PLLs), and I/O cells are used to perform serial-to-parallel
conversions on incoming data and parallel-to-serial conversion on outgoing data. The
differential interface data serializers and deserializers (SERDES) are automatically
constructed in the core logic elements (LEs) with the Quartus II software ALTLVDS
megafunction.
Table 6–6 shows the total number of supported row and column differential channels
in Cyclone IV devices.
Table 6–6. Cyclone IV Devices I/O, Differential and XCVRs Channel Count
Device
4CGX15
4CGX22
Numbers of
Differential
Channels
(1), (2)
148QFN
169FBGA
User I/O(3)
72
72
72
150
User I/O
banks
9(4)
9(4)
9(4)
LVDS (6)
25
25
XCVRs
2
2
4CGX30
169- 324- 169FBGA FBGA FBGA
4CGX50
4CGX75
4CGX110
4CGX150
324FBGA
484FBGA
672- 484FBGA FBGA
672FBGA
484FBGA
672- 896- 484FBGA FBGA FBGA
672FBGA
896FBGA
72
150
290
310
290
310
270
393
475
270
393
475
9(4)
9(4)
9(4)
11
(5)
11
(5)
11
(5)
11
(5)
11
(5)
11
(5)
11
(5)
11
(5)
11
(5)
11
(5)
25
64
25
64
109
140
109
140
93
152
216
93
152
216
2
4
2
4
4
8
4
8
4
8
8
4
8
8
Notes to Table 6–6:
(1) User I/O pins are used as inputs or outputs; clock input pins are used as inputs only; clock output pins are used as outputs only.
(2) For differential pad placement guidelines, refer to “Pad Placement” on page 6–20.
(3) The I/O pin count includes all GPIOs, dedicated clock pins, and dual-purpose configuration pins. Transceivers pins and dedicated configuration pins
are not included in the pin count.
(4) Includes one configuration I/O bank and two dedicated clock input I/O banks for HSSI input reference clock.
(5) Includes one configuration I/O bank and four dedicated clock input I/O banks for HSSI input reference clock.
(6) The LVDS true receivers are located on the top, bottom, and right I/O banks. True LVDS output transmitter only exists on the right I/O banks.
High-Speed I/O Standards Support
This section provides information about the high-speed I/O standards and the HSSI
input reference clock supported in Cyclone IV devices.
High Speed Serial Interface (HSSI) Input Reference Clock Support
Cyclone IV devices support the same I/O features for GPIOs with an additional new
feature where the current I/O Bank 3A, 3B, 8A, and 8B consist of dedicated
dual-purpose clock input pins (CLKIN) that can be used to support the high-speed
transceiver input reference clock (REFCLK) features on top of the general-purpose
clock input function.
The EP4CGX15, EP4CGX22, and EP4CGX30 devices contain two pairs of
CLKIN/REFCLK pins located in I/O Banks 3A and 8A. I/O Banks 3B and 8B are not
available in EP4CGX15, EP4CGX22, and EP4CGX30 devices. The EP4CGX50,
EP4CGX75, EP4CGX110, and EP4CGX150 devices have a total of four pairs of
CLKIN/REFCLK pins located in I/O Banks 3A, 3B, 8A, and 8B. For more information
about the CLKIN/REFCLK pin location, refer to Figure 6–9 on page 6–16 and
Figure 6–10 on page 6–17.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
High-Speed I/O Standards Support
6–23
The CLKIN/REFCLK pins will be powered by dedicated VCC_CLKIN3A, VCC_CLKIN3B,
VCC_CLKIN8A, and VCC_CLKIN8B power supplies separately in their respective I/O banks to
avoid the different power level requirements in the same bank for GPIO.
Table 6–7. Cyclone IV HSSI REFCLK I/O Standard Support Using GPIO CLKIN Pins (Note 1), (2)
VCC_CLKIN Level
I/O Standard
HSSI Protocol
LVDS
PCIe & GigE
LVPECL
PCIe & GigE
PCIe & GigE
1.2V, 1.5V,
3.3V PCML
PCIe & GigE
Coupling
Differential
AC (Need
off chip
resistor to
restore
VCM)
PCIe & GigE
HCSL
Differential
DC
PCIe
Termination
I/O Pin Type
Input
Output
Column
I/O
Row
I/O
Supported I/O
Banks
Off chip
2.5V
Not
supported
Yes
No
3A, 3B, 8A, 8B
Off chip
2.5V
Not
supported
Yes
No
3A, 3B, 8A, 8B
Off chip
2.5V
Not
supported
Yes
No
3A, 3B, 8A, 8B
Off chip
2.5V
Not
supported
Yes
No
3A, 3B, 8A, 8B
Off chip
2.5V
Not
supported
Yes
No
3A, 3B, 8A, 8B
Off chip
2.5V
Not
supported
Yes
No
3A, 3B, 8A, 8B
Notes to Table 6–7:
(1) The EP4CGX15, EP4CGX22, and EP4CGX30 devices have two pairs of dedicated clock input pins in Banks 3A and 8A for HSSI input reference
clock. I/O Banks 3B and 8B are not available in EP4CGX15, EP4CGX22, and EP4CGX30 devices.
(2) The EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150 devices have four pairs of dedicated clock input pins in Banks 3A, 3B, 8A, and 8B
for HSSI input.
f
For more information about the AC-coupled termination scheme for the HSSI
reference clock, refer to the Cyclone IV Transceivers chapter in volume 2.
LVDS I/O Standard Support in Cyclone IV Devices
The LVDS I/O standard is a high-speed, low-voltage swing, low power, and general
purpose I/O interface standard. Cyclone IV devices meet the ANSI/TIA/EIA-644
standard with the following exceptions:
f
© November 2009
■
The maximum differential output voltage (VOD) is increased to 600 mV. The
maximum VOD for ANSI specification is 450 mV.
■
The input voltage range is reduced to the range of 1.0 V to 1.6 V, 0.5 V to 1.85 V, or
0 V to 1.8 V based on different frequency ranges. The ANSI/TIA/EIA-644
specification supports an input voltage range of 0 V to 2.4 V.
For LVDS I/O standard electrical specifications in Cyclone IV devices, refer to the
Cyclone IV Device Data Sheet chapter in volume 3.
Altera Corporation
Cyclone IV Device Handbook, Volume 1
6–24
Chapter 6: I/O Features in Cyclone IV Devices
High-Speed I/O Standards Support
Designing with LVDS
Cyclone IV devices I/O banks support LVDS I/O standard. The right I/O banks
support true LVDS transmitters. On the top and bottom I/O banks, the emulated
LVDS transmitters are supported using two single-ended output buffers with external
resistors. One of the single-ended output buffers is programmed to have opposite
polarity. The LVDS receiver requires an external 100-Ω termination resistor between
the two signals at the input buffer.
Figure 6–11 shows a point-to-point LVDS interface using Cyclone IV devices true
LVDS output and input buffers.
Figure 6–11. Cyclone IV Devices LVDS Interface with True Output Buffer on the Right I/O Banks
Cyclone IV Device
Transmitting Device
txout +
txout +
rxin +
50 Ω
100 Ω
50 Ω
txout -
rxin -
100 Ω
50 Ω
txout -
Input Buffer
Receiving Device
rxin +
50 Ω
Cyclone IV
Device
Family Logic
Array
rxin -
Output Buffer
Figure 6–12 shows a point-to-point LVDS interface with Cyclone IV devices LVDS
using two single-ended output buffers and external resistors.
Figure 6–12. LVDS Interface with External Resistor Network on the Top and Bottom I/O
Banks (Note 1)
Cyclone IV Device
Emulated
LVDS Transmitter
LVDS Receiver
Resistor Network
RS
50 Ω
RP
100 Ω
50 Ω
RS
Note to Figure 6–12:
(1) RS and RP values are pending characterization.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
High-Speed I/O Standards Support
6–25
BLVDS I/O Standard Support in Cyclone IV Devices
The BLVDS I/O standard is a high-speed differential data transmission technology
that extends the benefits of standard point-to-point LVDS to multipoint configuration
that supports bidirectional half-duplex communication. BLVDS differs from standard
LVDS by providing a higher drive to achieve similar signal swings at the receiver
while loaded with two terminations at both ends of the bus.
Figure 6–13 shows a typical BLVDS topology with multiple transmitter and receiver
pairs.
Figure 6–13. BLVDS Topology with Cyclone IV Devices Transmitters and Receivers
VCC
VCC
100 kΩ
100 kΩ
50 Ω
50 Ω
50 Ω
50 Ω
50 Ω
50 Ω
50 Ω
50 Ω
RT
RT
100 k Ω
50 Ω
RS
50 Ω
Input
Data
OE
RS
50 Ω
OE
Output
Data
GND
Output
Data
Input
Data
Cyclone IV Device Family
Input
Data
Cyclone IV Device Family
Output
Data
Cyclone IV Device Family
RS
RS
OE
RS
GND
RS
50 Ω
50 Ω
50 Ω
100 kΩ
The BLVDS I/O standard is supported on the top, bottom, and right I/O banks of
Cyclone IV devices. The BLVDS transmitter uses two single-ended output buffers
with the second output buffer programmed as inverted, while the BLVDS receiver
uses a true LVDS input buffer. The transmitter and receiver share the same pins. An
output-enabled (OE) signal is required to tristate the output buffers when the LVDS
input buffer receives a signal.
f
For more information, refer to the Cyclone IV Device Data Sheet chapter in volume 3.
Designing with BLVDS
The BLVDS bidirectional communication requires termination at both ends of the bus
in BLVDS. The termination resistor (R T) must match the bus differential impedance,
which in turn depends on the loading on the bus. Increasing the load decreases the
bus differential impedance. With termination at both ends of the bus, termination is
not required between the two signals at the input buffer. A single series resistor (R S) is
required at the output buffer to match the output buffer impedance to the
transmission line impedance. However, this series resistor affects the voltage swing at
the input buffer. The maximum data rate achievable depends on many factors.
1
© November 2009
Altera recommends that you perform simulation using the IBIS model while
considering factors such as bus loading, termination values, and output and input
buffer location on the bus to ensure that the required performance is achieved.
Altera Corporation
Cyclone IV Device Handbook, Volume 1
6–26
Chapter 6: I/O Features in Cyclone IV Devices
High-Speed I/O Standards Support
RSDS, Mini-LVDS, and PPDS I/O Standard Support in Cyclone IV Devices
The RSDS, mini-LVDS, and PPDS I/O standards are used in chip-to-chip applications
between the timing controller and the column drivers on the display panels such as
LCD monitor panels and LCD televisions. Cyclone IV devices meet the National
Semiconductor Corporation RSDS Interface Specification, Texas Instruments
mini-LVDS Interface Specification, and National Semiconductor Corporation PPDS
Interface Specification to support RSDS, mini-LVDS and PPDS output standards,
respectively.
f
For Cyclone IV devices RSDS, mini-LVDS, and PPDS output electrical specifications,
refer to the Cyclone IV Device Data Sheet chapter in volume 3.
f
For more information about the RSDS I/O standard, refer to the RSDS specification
from the National Semiconductor website (www.national.com).
Designing with RSDS, Mini-LVDS, and PPDS
Cyclone IV devices I/O banks support RSDS, mini-LVDS, and PPDS output
standards. The right I/O banks support true RSDS, mini-LVDS, and PPDS
transmitters. On the top and bottom I/O banks, RSDS, mini-LVDS, and PPDS
transmitters are supported using two single-ended output buffers with external
resistors. The two-single ended output buffers are programmed to have opposite
polarity.
Figure 6–14 shows an RSDS, mini-LVDS, or PPDS interface with a true output buffer.
Figure 6–14. Cyclone IV Devices RSDS, Mini-LVDS, or PPDS Interface with True Output Buffer on
the Right I/O Banks
Cyclone IV Device
True RSDS, Mini-LVDS,
or PPDS Transmitter
RSDS, Mini-LVDS,
or PPDS Receiver
50 Ω
100 Ω
50 Ω
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
High-Speed I/O Standards Support
6–27
Figure 6–15 shows an RSDS, mini-LVDS, or PPDS interface with two singled-ended
output buffers and external resistors.
Figure 6–15. RSDS, Mini-LVDS, or PPDS Interface with External Resistor Network on the Top and
Bottom I/O Banks (Note 1)
Cyclone IV Device
Emulated RSDS,
Mini-LVDS, or PPDS
Transmitter
Resistor Network
RSDS, Mini-LVDS,
or PPDS Receiver
RS
50 Ω
100 Ω
RP
50 Ω
RS
Note to Figure 6–15:
(1) RS and RP values are pending characterization.
A resistor network is required to attenuate the output voltage swing to meet RSDS,
mini-LVDS, and PPDS specifications when using emulated transmitters. You can
modify the resistor network values to reduce power or improve the noise margin.
The resistor values chosen must satisfy Equation 6–1.
Equation 6–1. Resistor Network
R
R S × -----P2
-------------------- = 50 Ω
RP
R S + -----2
1
Altera recommends that you perform simulations using Cyclone IV devices IBIS
models to validate that custom resistor values meet the RSDS, mini-LVDS, or PPDS
requirements.
It is possible to use a single external resistor instead of using three resistors in the
resistor network for an RSDS interface, as shown in Figure 6–16. The external
single-resistor solution reduces the external resistor count while still achieving the
required signaling level for RSDS. However, the performance of the single-resistor
solution is lower than the performance with the three-resistor network.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
6–28
Chapter 6: I/O Features in Cyclone IV Devices
High-Speed I/O Standards Support
Figure 6–16 shows the RSDS interface with a single resistor network on the top and
bottom I/O banks.
Figure 6–16. RSDS Interface with Single Resistor Network on the Top and Bottom I/O Banks
Cyclone IV Device
Emulated
RSDS Transmitter
RSDS Receiver
Single Resistor Network
50 Ω
100 Ω
RP
50 Ω
Note to Figure 6–16:
(1) RP value is pending characterization.
LVPECL I/O Support in Cyclone IV Devices
The LVPECL I/O standard is a differential interface standard that requires a 2.5-V
VCCIO. This standard is used in applications involving video graphics,
telecommunications, data communications, and clock distribution. Cyclone IV
devices support the LVPECL input standard at the dedicated clock input pins only.
The LVPECL receiver requires an external 100-Ω termination resistor between the two
signals at the input buffer.
f
For the LVPECL I/O standard electrical specification, refer to the Cyclone IV Device
Data Sheet chapter in volume 3.
AC coupling is required when the LVPECL common mode voltage of the output
buffer is higher than the Cyclone IV devices LVPECL input common mode voltage.
Figure 6–17 shows the AC-coupled termination scheme. The 50-Ω resistors used at the
receiver are external to the device. DC-coupled LVPECL is supported if the LVPECL
output common mode voltage is in Cyclone IV devices LVPECL input buffer
specification (refer to Figure 6–18).
Figure 6–17. LVPECL AC-Coupled Termination (Note 1)
LVPECL
Transmitter
Cyclone IV Device
LVPECL Receiver
0.1 µF
Z0 = 50 Ω
Z0 = 50 Ω
VICM
50 Ω
50 Ω
0.1 µF
Note to Figure 6–17:
(1) The LVPECL AC/DC-coupled termination is applicable only when an Altera FPGA transmitter is used.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
High-Speed I/O Standards Support
6–29
Figure 6–18 shows the LVPECL DC-coupled termination.
Figure 6–18. LVPECL DC-Coupled Termination
Cyclone IV Device
LVPECL Receiver
LVPECL Transmitter
50 Ω
100 Ω
50 Ω
Differential SSTL I/O Standard Support in Cyclone IV Devices
The differential SSTL I/O standard is a memory-bus standard used for applications
such as high-speed DDR SDRAM interfaces. Cyclone IV devices support differential
SSTL-2 and SSTL-18 I/O standards. The differential SSTL I/O standard requires two
differential inputs with an external reference voltage (VREF) as well as an external
termination voltage (VTT) of 0.5 × VCCIO to which termination resistors are connected.
The differential SSTL output standard is only supported at PLL#_CLKOUT pins using
two single-ended SSTL output buffers (PLL#_CLKOUTp and PLL#_CLKOUTn), with
the second output programmed to have opposite polarity. The differential SSTL input
standard is supported on the GCLK pins only, treating differential inputs as two
single-ended SSTL and only decoding one of them.
f
For differential SSTL electrical specifications, refer to “Differential I/O Standard
Termination” on page 6–14 and the Cyclone IV Device Data Sheet chapter in volume 3.
Figure 6–8 on page 6–15 shows the differential SSTL Class I and Class II interface.
Differential HSTL I/O Standard Support in Cyclone IV Devices
The differential HSTL I/O standard is used for the applications designed to operate in
0 V to 1.2 V, 0 V to 1.5 V, or 0 V to 1.8 V HSTL logic switching range. Cyclone IV
devices support differential HSTL-18, HSTL-15, and HSTL-12 I/O standards. The
differential HSTL input standard is available on GCLK pins only, treating the
differential inputs as two single-ended HSTL and only decoding one of them. The
differential HSTL output standard is only supported at the PLL#_CLKOUT pins using
two single-ended HSTL output buffers (PLL#_CLKOUTp and PLL#_CLKOUTn), with
the second output programmed to have opposite polarity. The standard requires two
differential inputs with an external reference voltage (VREF), as well as an external
termination voltage (VTT) of 0.5 × VCCIO to which termination resistors are connected.
f
For differential HSTL signaling characteristics, refer to “Differential I/O Standard
Termination” on page 6–14 and the Cyclone IV Device Data Sheet chapter in volume 3.
Figure 6–7 on page 6–14 shows the differential HSTL Class I and Class II interface.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
6–30
Chapter 6: I/O Features in Cyclone IV Devices
True Output Buffer Feature
True Output Buffer Feature
Cyclone IV devices true differential transmitters offer programmable pre-emphasis—
you can choose to turn it on or off. The default setting is on.
Programmable Pre-Emphasis
The programmable pre-emphasis boosts the high frequencies of the output signal to
compensate the frequency-dependant attenuation of the transmission line to
maximize the data eye opening at the far-end receiver. Without pre-emphasis, the
output current is limited by the VOD specification and the output impedance of the
transmitter. At high frequency, the slew rate may not be fast enough to reach full VOD
before the next edge; this may lead to pattern dependent jitter. With pre-emphasis, the
output current is momentarily boosted during switching to increase the output slew
rate. The overshoot produced by this extra switching current is different from the
overshoot caused by signal reflection. This overshoot happens only during switching,
and does not produce ringing.
The Quartus II software allows two settings for programmable pre-emphasis
control—0 and 1, in which 0 is pre-emphasis off and 1 is pre-emphasis on. The default
setting is 1. The amount of pre-emphasis needed depends on the amplification of the
high-frequency components along the transmission line. You must adjust the setting
to suit your designs, as pre-emphasis decreases the amplitude of the low-frequency
component of the output signal.
Figure 6–19 shows the differential output signal with pre-emphasis.
Figure 6–19. The Output Signal with Pre-Emphasis
Overshoot
Positive channel (p)
VOD
Negative channel (n)
Undershoot
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
High-Speed I/O Timing
6–31
High-Speed I/O Timing
This section discusses the timing budget, waveforms, and specifications for
source-synchronous signaling in Cyclone IV devices. Timing for source-synchronous
signaling is based on skew between the data and clock signals.
High-speed differential data transmission requires timing parameters provided by IC
vendors and requires you to consider the board skew, cable skew, and clock jitter. This
section provides information about high-speed I/O standards timing parameters in
Cyclone IV devices.
Table 6–8 defines the parameters of the timing diagram shown in Figure 6–20.
Table 6–8. High-Speed I/O Timing Definitions
Parameter
Symbol
Description
Transmitter channel-to-channel skew (1)
TCCS
The timing difference between the fastest and slowest output
edges, including tCO variation and clock skew. The clock is
included in the TCCS measurement.
Sampling window
SW
The period of time during which the data must be valid in order
for you to capture it correctly. The setup and hold times
determine the ideal strobe position in the sampling window.
TSW = TSU + Thd + PLL jitter.
Receiver input skew margin
RSKM
RSKM is defined by the total margin left after accounting for the
sampling window and TCCS. The RSKM equation is:
( TUI – SW – TCCS )
RSKM = ---------------------------------------------2
Input jitter tolerance (peak-to-peak)
—
Allowed input jitter on the input clock to the PLL that is tolerable
while maintaining PLL lock.
Output jitter (peak-to-peak)
—
Peak-to-peak output jitter from the PLL.
Note to Table 6–8:
(1) The TCCS specification applies to the entire bank of differential I/O as long as the SERDES logic is placed in the logic array block (LAB) adjacent
to the output pins.
Figure 6–20. High-Speed I/O Timing Diagram
External
Input Clock
Time Unit Interval (TUI)
Internal Clock
Receiver
Input Data
© November 2009
Altera Corporation
TCCS
RSKM
RSKM
TCCS
Sampling Window (SW)
Cyclone IV Device Handbook, Volume 1
6–32
Chapter 6: I/O Features in Cyclone IV Devices
Design Guidelines
Figure 6–21 shows Cyclone IV devices high-speed I/O timing budget.
Figure 6–21. Cyclone IV Devices High-Speed I/O Timing Budget
(Note 1)
Internal Clock Period
0.5 × TCCS
RSKM
SW
RSKM
0.5 × TCCS
Note to Figure 6–21:
(1) The equation for the high-speed I/O timing budget is:
Period = 0.5 × TCCS + RSKM + SW + RSKM + 0.5 × TCCS.
f
For more information, refer to the Cyclone IV Device Data Sheet chapter in volume 3.
Design Guidelines
This section provides guidelines for designing with Cyclone IV devices.
Differential Pad Placement Guidelines
To maintain an acceptable noise level on the VCCIO supply, you must observe some
restrictions on the placement of single-ended I/O pins in relation to differential pads.
f
For guidelines on placing single-ended pads with respect to differential pads in
Cyclone IV devices, refer to the “Pad Placement and DC Guidelines” on page 6–20.
Board Design Considerations
This section explains how to achieve the optimal performance from a Cyclone IV I/O
interface and ensure first-time success in implementing a functional design with
optimal signal quality. You must consider the critical issues of controlled impedance
of traces and connectors, differential routing, and termination techniques to get the
best performance from Cyclone IV devices.
Use the following general guidelines for improved signal quality:
■
Base board designs on controlled differential impedance. Calculate and compare
all parameters, such as trace width, trace thickness, and the distance between two
differential traces.
■
Maintain equal distance between traces in differential I/O standard pairs as much
as possible. Routing the pair of traces close to each other maximizes the
common-mode rejection ratio (CMRR).
■
Longer traces have more inductance and capacitance. These traces must be as
short as possible to limit signal integrity issues.
■
Place termination resistors as close to receiver input pins as possible.
■
Use surface mount components.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 6: I/O Features in Cyclone IV Devices
Software Overview
f
6–33
■
Avoid 90° corners on board traces.
■
Use high-performance connectors.
■
Design backplane and card traces so that trace impedance matches the impedance
of the connector and termination.
■
Keep an equal number of vias for both signal traces.
■
Create equal trace lengths to avoid skew between signals. Unequal trace lengths
result in misplaced crossing points and decrease system margins as the
transmitter-channel-to-channel skew (TCCS) value increases.
■
Limit vias because they cause discontinuities.
■
Keep switching transistor-to-transistor logic (TTL) signals away from differential
signals to avoid possible noise coupling.
■
Do not route TTL clock signals to areas under or above the differential signals.
■
Analyze system-level signals.
For PCB layout guidelines, refer to AN 224: High-Speed Board Layout Guidelines and
AN 315: Guidelines for Designing High-Speed FPGA PCBs.
Software Overview
Cyclone IV devices high-speed I/O system interfaces are created in core logic by a
Quartus II software megafunction because they do not have a dedicated circuit for the
SERDES. Cyclone IV devices use the I/O registers and LE registers to improve the
timing performance and support the SERDES. The Quartus II software allows you to
design your high-speed interfaces using ALTLVDS megafunction. This megafunction
implements either a high-speed deserializer receiver or a high-speed serializer
transmitter. There is a list of parameters in the ALTLVDS megafunction that you can
set to customize your SERDES based on your design requirements. The megafunction
is optimized to use Cyclone IV devices resources to create high-speed I/O interfaces
in the most effective manner.
1
f
© November 2009
When you are using Cyclone IV devices with the ALTLVDS megafunction, the
interface always sends the MSB of your parallel data first.
For more details about designing your high-speed I/O systems interfaces using the
ALTLVDS megafunction, refer to the ALTLVDS Megafunction User Guide and the
Quartus II Handbook.
Altera Corporation
Cyclone IV Device Handbook, Volume 1
6–34
Chapter 6: I/O Features in Cyclone IV Devices
Chapter Revision History
Chapter Revision History
Table 6–9 lists the revision history for this chapter.
Table 6–9. Chapter Revision History
Date
Version
November 2009
1.0
Cyclone IV Device Handbook, Volume 1
Changes Made
Initial release.
© November 2009
Altera Corporation
7. External Memory Interfaces in
Cyclone IV Devices
CYIV-51007-1.0
This chapter describes the memory interface pin support and the external memory
interface features of Cyclone® IV devices.
1
References to Cyclone IV devices in this chapter refer only to Cyclone IV GX devices.
Information about Cyclone IV E devices will be included in a future revision of this
chapter.
In addition to an abundant supply of on-chip memory, Cyclone IV devices can easily
interface with a broad range of external memory devices, including DDR2 SDRAM,
DDR SDRAM, and QDR II SRAM. External memory devices are an important system
component of a wide range of image processing, storage, communications, and
general embedded applications.
1
Altera recommends that you construct all DDR2 or DDR SDRAM external memory
interfaces using the Altera® ALTMEMPHY megafunction. You can implement the
controller function using the Altera DDR2 or DDR SDRAM memory controllers,
third-party controllers, or a custom controller for unique application needs.
Cyclone IV devices support QDR II interfaces electrically, but Altera does not supply
controller or physical layer (PHY) megafunctions for QDR II interfaces.
This chapter includes the following sections:
f
© November 2009
■
“Cyclone IV Devices Memory Interfaces Pin Support” on page 7–2
■
“Cyclone IV Devices Memory Interfaces Features” on page 7–8
For more information about supported maximum clock rate, device and pin planning,
IP implementation, and device termination, refer to the External Memory Interface
Handbook.
Altera Corporation
Cyclone IV Device Handbook, Volume 1
7–2
Chapter 7: External Memory Interfaces in Cyclone IV Devices
Cyclone IV Devices Memory Interfaces Pin Support
Figure 7–1 shows the block diagram of a typical external memory interface data path
in Cyclone IV devices.
Figure 7–1. Cyclone IV Devices External Memory Data Path
(Note 1)
DQS/CQ/CQn
OE
IOE
Register
OE
IOE
Register
DQ
IOE
Register
IOE
Register
VCC
IOE
Register
DataA
IOE
Register
LE
Register
GND
IOE
Register
DataB
IOE
Register
LE
Register
LE
Register
System Clock
PLL
-90° Shifted Clock
Capture Clock
Note to Figure 7–1:
(1) All clocks shown here are global clocks.
f
For more information about implementing complete external memory interfaces, refer
to the External Memory Interface Handbook.
Cyclone IV Devices Memory Interfaces Pin Support
Cyclone IV devices use data (DQ), data strobe (DQS), clock, command, and address
pins to interface with external memory. Some memory interfaces use the data mask
(DM) or byte write select (BWS#) pins to enable data masking. This section describes
how Cyclone IV devices support all these different pins.
f
For more information about pin utilization, refer to Volume 2: Device, Pin, and Board
Layout Guidelines of the External Memory Interface Handbook.
Data and Data Clock/Strobe Pins
Cyclone IV data pins for external memory interfaces are called D for write data, Q for
read data, or DQ for shared read and write data pins. The read-data strobes or read
clocks are called DQS pins. Cyclone IV devices support both bidirectional data strobes
and unidirectional read clocks. Depending on the external memory standard, the DQ
and DQS are bidirectional signals (in DDR2 and DDR SDRAM) or unidirectional
signals (in QDR II SRAM). Connect the bidirectional DQ data signals to the same
Cyclone IV devices DQ pins. For unidirectional D or Q signals, connect the read-data
signals to a group of DQ pins and the write-data signals to a different group of DQ
pins.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 7: External Memory Interfaces in Cyclone IV Devices
Cyclone IV Devices Memory Interfaces Pin Support
1
7–3
In QDR II SRAM, the Q read-data group must be placed at a different VREF bank
location from the D write-data group, command, or address pins.
In Cyclone IV devices, DQS is used only during write mode in DDR2 and
DDR SDRAM interfaces. Cyclone IV devices ignore DQS as the read-data strobe
because the PHY internally generates the read capture clock for read mode. However,
you must connect the DQS pin to the DQS signal in DDR2 and DDR SDRAM
interfaces, or to the CQ signal in QDR II SRAM interfaces.
1
f
1
Cyclone IV devices do not support differential strobe pins, which is an optional
feature in the DDR2 SDRAM device.
When you use the Altera Memory Controller MegaCore ® function, the PHY is
instantiated for you. For more information about the memory interface data path,
refer to the External Memory Interface Handbook.
ALTMEMPHY is a self-calibrating megafunction, enhanced to simplify the
implementation of the read-data path in different memory interfaces. The
auto-calibration feature of ALTMEMPHY provides ease-of-use by optimizing clock
phases and frequencies across process, voltage, and temperature (PVT) variations.
You can save on the global clock resources in Cyclone IV devices through the
ALTMEMPHY megafunction because you are not required to route the DQS signals
on the global clock buses (because DQS is ignored for read capture).
Resynchronization issues do not arise because no transfer occurs from the memory
domain clock (DQS) to the system domain for capturing data DQ.
All I/O banks in Cyclone IV devices can support DQ and DQS signals with DQ-bus
modes of ×8, ×9, ×16, ×18, ×32, and ×36 except Cyclone IV GX devices that do not
support left I/O bank interface. DDR2 and DDR SDRAM interfaces use ×8 mode DQS
group regardless of the interface width. For a wider interface, you can use multiple ×8
DQ groups to achieve the desired width requirement.
In the ×9, ×18, and ×36 modes, a pair of complementary DQS pins (CQ and CQ#)
drives up to 9, 18, or 36 DQ pins, respectively, in the group, to support one, two, or
four parity bits and the corresponding data bits. The ×9, ×18, and ×36 modes support
the QDR II memory interface. CQ# is the inverted read-clock signal that is connected
to the complementary data strobe (DQS or CQ#) pin. You can use any unused DQ
pins as regular user I/O pins if they are not used as memory interface signals.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
7–4
Chapter 7: External Memory Interfaces in Cyclone IV Devices
Cyclone IV Devices Memory Interfaces Pin Support
Table 7–1 lists the number of DQS or DQ groups supported on each side of the
Cyclone IV device.
Table 7–1. Cyclone IV Device DQS and DQ Bus Mode Support for Each Side of the Device (Note 1)
Device
EP4CGX15
148-pin QFN
169-pin FBGA
EP4CGX22
169-pin FBGA
EP4CGX30
324-pin FBGA
EP4CGX50
484-pin FBGA
EP4CGX75
672-pin FBGA
EP4CGX110
Number
×8
Groups
Number
×9
Groups
Number
×16
Groups
Number
×18
Groups
Number
×32
Groups
Number
×36
Groups
Right
1
0
0
0
—
—
Top (2)
1
0
0
0
—
—
Bottom (3)
1
0
0
0
—
—
Right
1
0
0
0
—
—
Top (2)
1
0
0
0
—
—
Bottom (3)
1
0
0
0
—
—
Right
1
0
0
0
—
—
Top (2)
1
0
0
0
—
—
Bottom (3)
1
0
0
0
—
—
Right
2
2
1
1
—
—
Top
2
2
1
1
—
—
Bottom
2
2
1
1
—
—
Right
4
2
2
2
1
1
Top
4
2
2
2
1
1
Bottom
4
2
2
2
1
1
Package
484-pin FBGA
EP4CGX150
672-pin FBGA
896-pin FBGA
Side
Right
4
2
2
2
1
1
Top
4
2
2
2
1
1
Bottom
4
2
2
2
1
1
Right
4
2
2
2
1
1
Top
4
2
2
2
1
1
Bottom
4
2
2
2
1
1
Right
4
2
2
2
1
1
Top
4
2
2
2
1
1
Bottom
4
2
2
2
1
1
Right
6
2
2
2
1
1
Top
6
2
3
3
1
1
Bottom
6
2
3
3
1
1
Notes to Table 7–1:
(1) The number of the DQS/DQ group is still preliminary.
(2) Some of the DQ pins can be used as RUP and RDN pins. You cannot use these groups if you are using these pins as RUP and RDN pins for
OCT calibration.
(3) Some of the DQ pins can be used as RUP pins while the DM pins can be used as RDN pins. You cannot use these groups if you are using the
RUP and RDN pins for OCT calibration.
f
For more information about device package outline, refer to the Device Packaging
Specifications webpage.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 7: External Memory Interfaces in Cyclone IV Devices
Cyclone IV Devices Memory Interfaces Pin Support
7–5
DQS pins are listed in the Cyclone IV pin tables as DQSXY, in which X indicates the
DQS grouping number and Y indicates whether the group is located on the top (T),
bottom (B), or right (R) side of the device. Similarly, the corresponding DQ pins are
marked as DQXY, in which the X denotes the DQ grouping number and Y denotes
whether the group is located on the top (T), bottom (B), or right (R) side of the device.
For example, DQS2T indicates a DQS pin belonging to group 2, located on the top side
of the device. Similarly, the DQ pins belonging to that group is shown as DQ2T.
1
Each DQ group is associated with its corresponding DQS pins, as defined in the
Cyclone IV pin tables. For example:
■
For DDR2 or DDR SDRAM, ×8 DQ group DQ3B[7..0] pins are associated
with the DQS3B pin (same 3B group index)
■
For QDR II SRAM, ×9 Q read-data group DQ3T[8..0] pins are associated
with DQS0T/CQ0T and DQS1T/CQ0T# pins (same 0T group index)
The Quartus® II software issues an error message if a DQ group is not placed properly
with its associated DQS.
Figure 7–2 shows the location and numbering of the DQS, DQ, or CQ# pins in the
Cyclone IV I/O banks.
I/O Bank 8B
I/O Bank 8
I/O Bank 8A
DQS0T/CQ1T
DQS2T/CQ3T
DQS4T/CQ5T
DQS5T/CQ5T#
(Note 1)
I/O Bank 7
Transceiver Block (QL1)
I/O Bank 9
DQS3T/CQ3T#
DQS1T/CQ1T#
Figure 7–2. DQS, CQ, or CQ# Pins in Cyclone IV I/O Banks
I/O Bank 6
DQS4R/CQ5R
DQS2R/CQ3R
DQS0R/CQ1R
Transceiver Block (QL0)
Cyclone IV Device
I/O Bank 5
DQS1R/CQ1R#
DQS3R/CQ3R#
DQS5R/CQ5R#
DQS0B/CQ1B
DQS2B/CQ3B
I/O Bank 4
DQS4B/CQ5B
I/O Bank 3A
DQS5B/CQ5B#
DQS3B/CQ3B#
I/O Bank 3
DQS1B/CQ1B#
I/O Bank 3B
Note to Figure 7–2:
(1) The DQS, CQ, or CQ# pin locations in this diagram apply to all packages in Cyclone IV devices except devices in 148pin QFP, 169-pin FBGA, and 324-pin FBGA.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
7–6
Chapter 7: External Memory Interfaces in Cyclone IV Devices
Cyclone IV Devices Memory Interfaces Pin Support
Figure 7–3 shows the location and numbering of the DQS, DQ, or CQ# pins in I/O
banks of the Cyclone IV device in the 324-pin FBGA package only.
DQS0T/CQ0T
DQS2T/CQ1T
I/O Bank 7
I/O Bank 6
I/O Bank 8A
DQS2R/CQ1R
I/O Bank 5
I/O Bank 8
Transceiver Block (QL1)
I/O Bank 9
DQS3T/CQ1T#
DQS1T/CQ0T#
Figure 7–3. DQS, CQ, or CQ# Pins for Devices in the 324-Pin FBGA Package
DQS1R/CQ0R#
DQS0R/CQ0R
Cyclone IV Device
324-pin FBGA Package
DQS0B/CQ0B
I/O Bank 4
DQS2B/CQ1B
I/O Bank 3A
DQS3B/CQ1B#
DQS1B/CQ0B#
I/O Bank 3
DQS3R/CQ1R#
Figure 7–4 shows the location and numbering of the DQS, DQ, or CQ# pins in I/O
banks of the Cyclone IV device in the 148-pin QFP and 169-pin FBGA packages only.
I/O Bank 7
I/O Bank 6
I/O Bank 8A
DQS0R/CQ0R
DQS1R/CQ0R#
Cyclone IV Device
148- and 169-pin FBGA Packages
I/O Bank 3A
I/O Bank 4
DQS0B/CQ0B
DQS1B/CQ0B#
I/O Bank 3
Cyclone IV Device Handbook, Volume 1
I/O Bank 8
I/O Bank 5
Transceiver Block (QL1)
I/O Bank 9
DQS0T/CQ0T
DQS1T/CQ0T#
Figure 7–4. DQS, CQ, or CQ# Pins for Devices in the 148-Pin QFP and 169-Pin FBGA Packages
© November 2009
Altera Corporation
Chapter 7: External Memory Interfaces in Cyclone IV Devices
Cyclone IV Devices Memory Interfaces Pin Support
7–7
In Cyclone IV devices, the ×9 mode uses the same DQ and DQS pins as the ×8 mode,
and one additional DQ pin that serves as a regular I/O pin in the ×8 mode. The ×18
mode uses the same DQ and DQS pins as ×16 mode, with two additional DQ pins that
serve as regular I/O pins in the ×16 mode. Similarly, the ×36 mode uses the same DQ
and DQS pins as the ×32 mode, with four additional DQ pins that serve as regular I/O
pins in the ×32 mode. When not used as DQ or DQS pins, the memory interface pins
are available as regular I/O pins.
Optional Parity, DM, and Error Correction Coding Pins
Cyclone IV devices support parity in ×9, ×18, and ×36 modes. One parity bit is
available per eight bits of data pins. You can use any of the DQ pins for parity in
Cyclone IV devices because the parity pins are treated and configured similarly to DQ
pins.
DM pins are only required when writing to DDR2 and DDR SDRAM devices.
QDR II SRAM devices use the BWS# signal to select the byte to be written into
memory. A low signal on the DM or BWS# pin indicates the write is valid. Driving the
DM or BWS# pin high causes the memory to mask the DQ signals. Each group of DQS
and DQ signals has one DM pin. Similar to the DQ output signals, the DM signals are
clocked by the -90° shifted clock.
In Cyclone IV devices, the DM pins are preassigned in the device pinouts. The
Quartus II Fitter treats the DQ and DM pins in a DQS group equally for placement
purposes. The preassigned DQ and DM pins are the preferred pins to use.
Some DDR2 SDRAM and DDR SDRAM devices support error correction coding
(ECC), a method of detecting and automatically correcting errors in data
transmission. In 72-bit DDR2 or DDR SDRAM, there are eight ECC pins and 64 data
pins. Connect the DDR2 and DDR SDRAM ECC pins to a separate DQS or DQ group
in Cyclone IV devices. The memory controller needs additional logic to encode and
decode the ECC data.
Address and Control/Command Pins
The address signals and the control or command signals are typically sent at a single
data rate. You can use any of the user I/O pins on all I/O banks of Cyclone IV devices
to generate the address and control or command signals to the memory device.
1
Cyclone IV devices do not support QDR II SRAM in the burst length of two.
Memory Clock Pins
In DDR2 and DDR SDRAM memory interfaces, the memory clock signals (CK and
CK#) are used to capture the address signals and the control or command signals.
Similarly, QDR II SRAM devices use the write clocks (K and K#) to capture the
address and command signals. The CK/CK# and K/K# signals are generated to
resemble the write-data strobe using the DDIO registers in Cyclone IV devices.
1
© November 2009
CK/CK# pins must be placed on differential I/O pins (DIFFIO in Pin Planner) and in
the same bank or on the same side as the data pins. You can use either side of the
device for wraparound interfaces. As seen in the Pin Planner Pad View, CK0 cannot be
located in the same row and column pad group as any of the interfacing DQ pins.
Altera Corporation
Cyclone IV Device Handbook, Volume 1
7–8
Chapter 7: External Memory Interfaces in Cyclone IV Devices
Cyclone IV Devices Memory Interfaces Features
f
For more information about memory clock pin placement, refer to Volume 2: Device,
Pin, and Board Layout Guidelines of the External Memory Interface Handbook.
Cyclone IV Devices Memory Interfaces Features
This section discusses Cyclone IV memory interfaces, including DDR input registers,
DDR output registers, OCT, and phase-lock loops (PLLs).
DDR Input Registers
The DDR input registers are implemented with three internal logic element (LE)
registers for every DQ pin. These LE registers are located in the logic array block
(LAB) adjacent to the DDR input pin.
Figure 7–5 illustrates Cyclone IV DDR input registers.
Figure 7–5. Cyclone IV DDR Input Registers
DDR Input Registers in Cyclone IV Device
DQ
LE
Register
dataout_h
Input Register A I
neg_reg_out
dataout_l
LE
Register
LE
Register
Register C I
Input Register B I
Capture Clock
PLL
These DDR input registers are implemented in the core of devices. The DDR data is
first fed to two registers, input register AI and input register B I.
■
Input register AI captures the DDR data present during the rising edge of the clock
■
Input register B I captures the DDR data present during the falling edge of the clock
■
Register CI aligns the data before it is synchronized with the system clock
The data from the DDR input register is fed to two registers, sync_reg_h and
sync_reg_l, then the data is typically transferred to a FIFO block to synchronize the
two data streams to the rising edge of the system clock. Because the read-capture
clock is generated by the PLL, the read-data strobe signal (DQS or CQ) is not used
during read operation in Cyclone IV devices; hence, postamble is not a concern in this
case.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 7: External Memory Interfaces in Cyclone IV Devices
Cyclone IV Devices Memory Interfaces Features
7–9
DDR Output Registers
A dedicated write DDIO block is implemented in the DDR output and output enable
paths.
Figure 7–6 shows how a Cyclone IV dedicated write DDIO block is implemented in
the I/O element (IOE) registers.
Figure 7–6. Cyclone IV Dedicated Write DDIO
DDR Output Enable Registers
Output Enable
IOE
Register
Output Enable
Register AOE
data1
data0
IOE
Register
Output Enable
Register BOE
DDR Output Registers
datain_l
IOE
Register
data0
Output Register AO
DQ or DQS
data1
datain_h
IOE
Register
-90° Shifted Clock
®
Output Register BO
The two DDR output registers are located in the I/O element (IOE) block. Two serial
data streams routed through datain_l and datain_h, are fed into two registers,
output register Ao and output register Bo, respectively, on the same clock
edge. The output from output register Ao is captured on the falling edge of the
clock, while the output from output register Bo is captured on the rising edge of
the clock. The registered outputs are multiplexed by the common clock to drive the
DDR output pin at twice the data rate.
The DDR output enable path has a similar structure to the DDR output path in the
IOE block. The second output enable register provides the write preamble for the DQS
strobe in DDR external memory interfaces. This active-low output enable register
extends the high-impedance state of the pin by half a clock cycle to provide the
external memory’s DQS write preamble time specification.
f
© November 2009
For more information about Cyclone IV IOE registers, refer to the Cyclone IV Device
I/O Features chapter in volume 1.
Altera Corporation
Cyclone IV Device Handbook, Volume 1
7–10
Chapter 7: External Memory Interfaces in Cyclone IV Devices
Cyclone IV Devices Memory Interfaces Features
Figure 7–7 illustrates how the second output enable register extends the DQS
high-impedance state by half a clock cycle during a write operation.
Figure 7–7. Extending the OE Disable by Half a Clock Cycle for a Write Transaction
(Note 1)
System clock
(outclock for DQS)
OE for DQS
(from logic array)
DQS
Write Clock
(outclock for DQ,
o
-90 phase shifted
from System Clock)
datain_h
(from logic array)
datain_I
(from logic array)
90 o
Delay
by Half
a Clock
Cycle
Preamble
Postamble
D0
D2
D1
D3
OE for DQ
(from logic array)
DQ
D0
D1
D2
D3
Note to Figure 7–7:
(1) The waveform reflects the software simulation result. The OE signal is an active low on the device. However, the Quartus II software implements
the signal as an active high and automatically adds an inverter before the AOE register D input.
OCT with Calibration
Cyclone IV devices support calibrated on-chip series termination (R S OCT) in both
vertical and horizontal I/O banks. To use the calibrated OCT, you must use the RUP
and RDN pins for each R S OCT control block (one for each side). You can use each
OCT calibration block to calibrate one type of termination with the same V CCIO for that
given side.
f
For more information about the Cyclone IV devices OCT calibration block, refer to the
Cyclone IV Device I/O Features chapter in volume 1.
PLL
When interfacing with external memory, the PLL is used to generate the memory
system clock, the write clock, the capture clock and the logic-core clock. The system
clock generates the DQS write signals, commands, and addresses. The write-clock is
shifted by -90° from the system clock and generates the DQ signals during writes. You
can use the PLL reconfiguration feature to calibrate the read-capture phase shift to
balance the setup and hold margins.
1
f
The PLL is instantiated in the ALTMEMPHY megafunction. All outputs of the PLL are
used when the ALTMEMPHY megafunction is instantiated to interface with external
memories.
For more information about usage of PLL outputs by the ALTMEMPHY
megafunction, refer to the External Memory Interface Handbook.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 7: External Memory Interfaces in Cyclone IV Devices
Chapter Revision History
f
7–11
For more information about Cyclone IV PLL, refer to the Clock Networks and PLLs in
Cyclone IV Devices chapter in volume 1.
Chapter Revision History
Table 7–2 lists the revision history for this chapter.
Table 7–2. Chapter Revision History
Date
Version
November 2009
1.0
© November 2009
Altera Corporation
Changes Made
Initial release.
Cyclone IV Device Handbook, Volume 1
7–12
Cyclone IV Device Handbook, Volume 1
Chapter 7: External Memory Interfaces in Cyclone IV Devices
Chapter Revision History
© November 2009
Altera Corporation
Section 3. System Integration
This section includes the following chapters:
■
Chapter 8, Configuration and Remote System Upgrades in Cyclone IV Devices
■
Chapter 9, SEU Mitigation in Cyclone IV Devices
■
Chapter 10, JTAG Boundary-Scan Testing for Cyclone IV Devices
■
Chapter 11, Power Requirements for Cyclone IV Devices
Revision History
Refer to each chapter for its own specific revision history. For information on when
each chapter was updated, refer to the Chapter Revision Dates section, which appears
in the complete handbook.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
8. Configuration and Remote System
Upgrades in Cyclone IV Devices
CYIV-51008-1.0
Cyclone® IV devices use SRAM cells to store configuration data. Configuration data
must be downloaded to Cyclone IV devices each time the device powers up because
SRAM memory is volatile.
1
References to Cyclone IV devices in this chapter refer only to Cyclone IV GX devices.
Information about Cyclone IV E devices will be included in a future revision of this
chapter.
Cyclone IV devices are configured using one of the following configuration schemes:
1
■
Active serial (AS)
■
Passive serial (PS)
■
Fast passive parallel (FPP)
■
Joint Test Action Group (JTAG)
FPP configuration scheme is only supported in EP4CGX50, EP4CGX75, EP4CGX110
and EP4CGX150 devices.
Cyclone IV devices offer the following configuration features:
■
Configuration data decompression (“Configuration Data Decompression” on
page 8–2)
■
Remote system upgrade (“Remote System Upgrade” on page 8–51)
System designers face difficult challenges, such as shortened design cycles, evolving
standards, and system deployments in remote locations. Cyclone IV devices help
overcome these challenges with inherent re-programmability and dedicated circuitry
to perform remote system upgrades. Remote system upgrades help deliver feature
enhancements and bug fixes without costly recalls, reduced time-to-market, and
extended product life.
Configuration
This section describes Cyclone IV device configuration and includes the following
topics:
■
“Configuration Features” on page 8–2
■
“Configuration Requirement” on page 8–3
■
“Configuration Process” on page 8–5
■
“Configuration Scheme” on page 8–7
■
“AS Configuration (Serial Configuration Devices)” on page 8–8
■
“PS Configuration” on page 8–18
■
“FPP Configuration” on page 8–26
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–2
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
■
“JTAG Configuration” on page 8–31
■
“Device Configuration Pins” on page 8–46
Configuration Features
Table 8–1 summarizes the configuration methods you can use in each configuration
scheme.
Table 8–1. Cyclone IV Device Configuration Features
Configuration Scheme
Active Serial
Passive Serial
Fast Passive Parallel
JTAG based configuration
Decompression
Remote System
Upgrade (1)
Serial Configuration Device
v
v
External Host with Flash Memory
v
—
Download Cable
v
—
External Host with Flash Memory
—
—
External Host with Flash Memory
—
—
Download Cable
—
—
Configuration Method
Note to Table 8–1:
(1) Remote update mode is supported when you use the remote system upgrade feature. You can enable or disable the remote update mode with
an option setting in the Quartus ® II software.
Configuration Data Decompression
Cyclone IV 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 send the
compressed bitstream to Cyclone IV devices. During configuration, Cyclone IV
devices decompress the bitstream in real time and program the SRAM cells.
1
Preliminary data indicates that compression reduces configuration bitstream size by
35 to 55%.
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
required to send the bitstream to the Cyclone IV device. The time required by a
Cyclone IV device to decompress a configuration file is less than the time required to
send the configuration data to the device. There are two methods for enabling
compression for Cyclone IV device bitstreams in the Quartus II software:
■
Before design compilation (through the Compiler Settings menu).
■
After design compilation (through the Convert Programming Files dialog box).
To enable compression in the compiler settings of the project, perform the following
steps in the Quartus II software:
1. On the Assignments 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. Turn on Generate compressed bitstreams.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–3
5. Click OK.
6. In the Settings dialog box, click OK.
Compression can also be enabled when creating programming files from the Convert
Programming Files dialog box.
1. On the File menu, click Convert Programming Files.
2. Under Output programming file, select your desired file type from the
Programming file type list.
3. If you select Programmer Object File (.pof), you must specify the configuration
device in the Configuration device list.
4. Under Input files to convert, select SOF Data.
5. Click Add File to browse to the Cyclone IV device .sof files.
6. In the Convert Programming Files dialog box, select the .pof you added to SOF
Data and click Properties.
7. In the SOF File Properties dialog box, turn on the Compression option.
When multiple Cyclone IV devices are cascaded, you can selectively enable the
compression feature for each device in the chain. Figure 8–1 shows a chain of two
Cyclone IV devices. The first device has compression enabled and receives
compressed bitstream from the configuration device. The second device has the
compression feature disabled and receives uncompressed data. You can generate
programming files for this setup in the Convert Programming Files dialog box.
Figure 8–1. Compressed and Uncompressed Configuration Data in the Same Configuration File
Serial Data
Serial Configuration
Device
Compressed
Decompression
Controller
10 kΩ
Cyclone IV
Device Family
nCE
Uncompressed
VCC
nCEO
Decompression
Controller
Cyclone IV
Device Family
nCE
nCEO
Not Connected (N.C.)
GND
Configuration Requirement
Power-On Reset (POR) Circuit
The POR circuit keeps the device in reset state until the power supply voltage levels
have stabilized during device power-up. After device power-up, the device does not
release nSTATUS until VCCINT, VCCA , VCCIO are above the POR trip point of the device.
VCCINT and VCCA are monitored for brown-out conditions upon device power-up.
1
VCCA is the analog power to the PLL.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–4
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
In Cyclone IV devices, you can select either a fast POR time or a standard POR time,
depending on the MSEL pin settings.
f
For more information about the POR specifications, refer to the Cyclone IV Device Data
Sheet.
In some applications, it is necessary for a device to wake up very quickly to begin
operation. Cyclone IV devices offer the fast POR time option to support fast wake-up
time applications. The fast POR time option has stricter power-up requirements
compared to the standard POR time option. You can select either the fast POR option
or the standard POR option with the MSEL pin settings.
f
For more information on wake-up time and POR circuit, refer to the Power
Requirements for Cyclone IV Devices chapter in volume 1 of the Cyclone IV Device
Handbook.
Configuration File Size
Table 8–2 shows the approximate uncompressed configuration file sizes for
Cyclone IV devices. To calculate the amount of storage space required for multiple
device configurations, add the file size of each device together.
Table 8–2. Cyclone IV Device Uncompressed Raw Binary File (.rbf) Sizes (Note 1)
Device
Data Size (bits)
EP4CGX15
3,805,570
EP4CGX22
7,600,042
EP4CGX30
7,600,042
EP4CGX50
24,500,000
EP4CGX75
24,500,000
EP4CGX110
47,600,000
EP4CGX150
47,600,000
Note to Table 8–2:
(1) These values are preliminary.
Use the data in Table 8–2 to estimate the file size before design compilation. Different
configuration file formats, such as Hexadecimal (.hex) or Tabular Text File (.ttf)
formats, have different file sizes. However, for any specific version of the Quartus II
software, any design targeted for the same device has the same uncompressed
configuration file size. If you use compression, the file size varies after each
compilation, because the compression ratio is dependent on the design.
f
For more information about setting device configuration options or creating
configuration files, refer to the Software Settings section in volume 2 of the
Configuration Handbook.
Configuration and JTAG Pin I/O Requirements
Cyclone IV devices are manufactured using the TSMC 60-nm low-k dielectric process.
Although Cyclone IV devices use TSMC 2.5-V transistor technology in the I/O
buffers, the devices are compatible and able to interface with 2.5/3.0/3.3-V
configuration voltage standards by following specific requirements.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–5
All I/O inputs must maintain a maximum AC voltage of 4.1 V. When using a JTAG
configuration scheme or a serial configuration device in an AS configuration scheme,
you must connect a 25-Ω series resistor at the near end of the TDO and TDI pin or the
serial configuration device for the DATA[0]pin. When cascading Cyclone IV devices
in multi-device configuration, you must connect the repeater buffers between the
master and slave devices for DATA and DCLK.
The output resistance of the repeater buffers must fit the maximum overshoot
equation shown in Equation 8–1:
Equation 8–1. (Note 1)
0.8 Z O ≤R E ≤1.8Z O
Note to Equation 8–1:
(1) ZO is the transmission line impedance and RE is the equivalent resistance of the output buffer.
Configuration Process
This section describes the configuration process.
Power Up
If the device is powered up from the power-down state, the VCCINT, VCCA , and VCCIO for
I/O banks 3, 8, and 9 must be powered up to the appropriate level for the device to
exit from POR.
Reset
Upon power-up, Cyclone IV devices go through POR. The POR delay is dependent on
the MSEL pin settings, which correspond to your configuration scheme. During POR,
the device resets, holds nSTATUS and CONF_DONE low, and tri-states all user I/O
pins. The user I/O pins and dual-purpose I/O pins have weak pull-up resistors,
which are always enabled (after POR) before and during configuration. When the
device exits POR, all user I/O pins continue to tri-state. While nCONFIG is low, the
device is in reset. When nCONFIG goes high, the device exits reset and releases the
open-drain nSTATUS pin, which is then pulled high by an external 10 kΩ pull-up
resistor. After nSTATUS is released, the device is ready to receive configuration data
and the configuration stage begins.
f
For more information about the value of the weak pull-up resistors on the I/O pins
that are on before and during configuration, refer to the Cyclone IV Device Data Sheet
chapter in volume 2 of the Cyclone IV Device Handbook.
Configuration
Configuration data is latched into the Cyclone IV device at each DCLK cycle.
However, the width of the data bus and the configuration time taken for each scheme
are different. After the device receives all configuration data, the device releases the
open-drain CONF_DONE pin, which is pulled high by an external 10-kΩ pull-up
resistor. A low-to-high transition on the CONF_DONE pin indicates that the
configuration is complete and initialization of the device can begin.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–6
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
You can begin reconfiguration by pulling the nCONFIG pin low. The nCONFIG pin
must be low for at least 500 ns. When nCONFIG is pulled low, the Cyclone IV device is
reset. The Cyclone IV device also pulls nSTATUS and CONF_DONE low and all I/O
pins are tri-stated. When nCONFIG returns to a logic-high level and nSTATUS is
released by the Cyclone IV device, reconfiguration begins.
Configuration Error
If an error occurs during configuration, Cyclone IV devices assert the nSTATUS signal
low, indicating a data frame error, and the CONF_DONE signal stays low. If the
Auto-restart configuration after error option (available in the Quartus II software in
the General tab of the Device and Pin Options dialog box) is turned on, the
Cyclone IV device releases nSTATUS after a reset time-out period (maximum of
230 μs), and retries configuration. If this option is turned off, the system must monitor
nSTATUS for errors and then pulse nCONFIG low for at least 500 ns to restart
configuration.
Initialization
In Cyclone IV 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 the internal oscillator is used, the device provides itself with enough
clock cycles for proper initialization. When using the internal oscillator, you do not
have to send additional clock cycles from an external source to the CLKUSR pin during
the initialization stage. Additionally, you can use the CLKUSR pin as a user I/O pin.
You also have the flexibility to synchronize initialization of multiple devices or to
delay initialization with the CLKUSR option. The CLKUSR pin allows you to control
when your device enters user mode for an indefinite amount of time. You can turn on
the Enable user-supplied start-up clock (CLKUSR) option in the Quartus II software
in the General tab of the Device and Pin Options dialog box. When you turn on the
Enable user supplied start-up clock option (CLKUSR) option, the CLKUSR pin is the
initialization clock source. Supplying a clock on the CLKUSR pin does not affect the
configuration process. After the configuration data is accepted and CONF_DONE goes
high, Cyclone IV devices require 3,187 clock cycles to initialize properly and enter
user mode.
1
If you use the optional CLKUSR pin and the nCONFIG pin is pulled low to restart
configuration during device initialization, ensure that the CLKUSR pin continues to
toggle when nSTATUS is low (a maximum of 230 μs).
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 in the General tab of the Device and Pin
Options dialog box. If the INIT_DONE pin is used, it will be 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. This
low-to-high transition signals that the device has entered user mode. In user mode,
the user I/O pins function as assigned in your design and no longer have weak
pull-up resistors.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
f
8–7
For more information about the configuration cycle state machine of Altera® FPGAs,
refer to the Configuring Altera FPGAs chapter in volume 1 of the Configuration
Handbook.
Configuration Scheme
A configuration scheme with different configuration voltage standards is selected by
driving the MSEL pins either high or low as shown in Table 8–3 and Table 8–4.
The MSEL pins are powered by VCCINT.
1
Hardwire the MSEL pins to VCCA or GND without any pull-up or pull-down resistors
to avoid any problems detecting an incorrect configuration scheme. Do not drive the
MSEL pins with a microprocessor or another device.
Table 8–3. Cyclone IV Device (EP4CGX15, EP4CGX22, and EP4CGX30) Configuration Schemes
Configuration Scheme
MSEL2
MSEL2
MSEL2
POR Delay
Configuration Voltage Standard (V) (1)
1
0
1
Fast
3.3
0
1
1
Fast
3.0, 2.5
0
0
1
Standard
3.3
0
1
0
Standard
3.0, 2.5
1
0
0
Fast
3.3, 3.0, 2.5
1
1
0
Fast
1.8, 1.5
0
0
0
Standard
3.3, 3.0, 2.5
(3)
(3)
(3)
—
—
Active Serial Standard (AS)
Passive Serial (PS)
JTAG based configuration (2)
Notes to Table 8–3:
(1) Configuration voltage standard applied to VCCIO supply of the bank in which the configuration pins reside.
(2) JTAG-based configuration takes precedence over other configuration schemes, which means MSEL pin settings are ignored.
(3) Do not leave the MSEL pins floating. Connect them to VCCA or GND. These pins support the non-JTAG configuration scheme used in production.
Altera recommends connecting the MSEL pins to GND if your device is only using JTAG configuration.
Table 8–4. Cyclone IV Device (EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150) Configuration Schemes (Part 1 of 2)
Configuration Scheme
Active Serial Standard (AS)
Passive Serial (PS)
Fast Passive Parallel (FPP)
© November 2009 Altera Corporation
MSEL3
MSEL2
MSEL2
MSEL2 POR Delay Configuration Voltage Standard (V) (1)
1
1
0
1
Fast
3.3
1
0
1
1
Fast
3.0, 2.5
1
0
0
1
Standard
3.3
1
0
1
0
Standard
3.0, 2.5
1
1
0
0
Fast
3.3, 3.0, 2.5
1
1
1
0
Fast
1.8, 1.5
1
0
0
0
Standard
3.3, 3.0, 2.5
0
0
0
0
Standard
1.8, 1.5
0
0
1
1
Fast
3.3, 3.0, 2.5
0
1
0
0
Fast
1.8, 1.5
0
0
0
1
Standard
3.3, 3.0, 2.5
0
0
1
0
Standard
1.8, 1.5
Cyclone IV Device Handbook, Volume 1
8–8
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
Table 8–4. Cyclone IV Device (EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150) Configuration Schemes (Part 2 of 2)
Configuration Scheme
MSEL3
MSEL2
MSEL2
JTAG based configuration (2)
(3)
(3)
(3)
MSEL2 POR Delay Configuration Voltage Standard (V) (1)
(3)
—
—
Notes to Table 8–4:
(1) Configuration voltage standard applied to VCCIO supply of the bank in which the configuration pins reside.
(2) JTAG-based configuration takes precedence over other configuration schemes, which means MSEL pin settings are ignored.
(3) Do not leave the MSEL pins floating. Connect them to VCCA or GND. These pins support the non-JTAG configuration scheme used in
production. Altera recommends connecting the MSEL pins to GND if your device is only using JTAG configuration.
AS Configuration (Serial Configuration Devices)
In the AS configuration scheme, Cyclone IV devices are configured with a serial
configuration device. These configuration devices are low-cost devices with
non-volatile memories that feature a simple four-pin interface and a small form factor.
These features make serial configuration devices the 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 in the
Configuration Handbook.
Serial configuration devices provide a serial interface to access configuration data.
During device configuration, Cyclone IV devices read configuration data through the
serial interface, decompress data if necessary, and configure their SRAM cells. This
scheme is referred to as the AS configuration scheme because the device controls the
configuration interface.
Single-Device AS Configuration
The four-pin interface of serial configuration devices consists of the following pins:
■
Serial clock input (DCLK)
■
Serial data output (DATA)
■
AS data input (ASDI)
■
Active-low chip select (nCS)
This four-pin interface connects to Cyclone IV device pins, as shown in Figure 8–2.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–9
Figure 8–2. Single-Device AS Configuration
VCCIO (1)
VCCIO (1)
VCCIO (1)
10 kΩ
10 kΩ
Serial Configuration
Device
10 kΩ
Cyclone IV Device Family
nSTATUS
CONF_DONE
nCONFIG
nCE
nCEO
N.C. (3)
GND
25 Ω (5)
DATA
DCLK
nCS
ASDI
(2)
DATA[0]
DCLK
nCSO
ASDO
(6) MSEL[3..0]
(4)
Notes to Figure 8–2:
(1)
(2)
(3)
(4)
Connect the pull-up resistors to the VCCIO supply of the bank in which the pin resides.
Cyclone IV devices use the ASDO -to-ASDI path to control the configuration device.
The nCEO pin is left unconnected or used as a user I/O pin when it does not feed the nCE pin of another device.
The MSEL pin settings vary for different configuration voltage standards and POR time. To connect the MSEL pins,
refer to Table 8–3 on page 8–7 and Table 8–4 on page 8–7. Connect the MSEL pins directly to VCCA or GND.
(5) Connect the series resistor at the near end of the serial configuration device.
(6) MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
1
The 25-Ω resistor at the near end of the serial configuration device for DATA[0] works
to minimize the driver impedance mismatch with the board trace and reduce the
overshoot seen at the Cyclone IV device DATA[0] input pin.
In single-device AS configuration, the maximum board loading and board trace
length between the supported serial configuration device and the Cyclone IV device
must follow the recommendations in Table 8–5 on page 8–15.
The DCLK generated by the Cyclone IV device controls the entire configuration cycle
and provides timing for the serial interface. Cyclone IV devices use an internal
oscillator or an external clock source to generate the DCLK. You can use a slow clock
(20 MHz maximum) or a fast clock (40 MHz maximum) from the internal oscillator.
There are some variations in the internal oscillator frequency because of the process,
voltage, and temperature conditions in Cyclone IV devices. The internal oscillator is
designed to ensure that its maximum frequency is guaranteed to meet EPCS device
specifications. Cyclone IV devices offer the option to select CLKUSR (40 MHz
maximum) as the external clock source for DCLK. You can change the clock source
option in the Quartus II software in the Configuration tab of the Device and Pin
Options dialog box.
1
EPCS1 does not support any Cyclone IV devices because of its insufficient memory
capacity.
1
You must clock the CLKUSR pin at two times the expected DCLK frequency. The
CLKUSR pin allows a maximum frequency of 80 MHz (40 MHz DCLK).
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–10
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
In configuration mode, the Cyclone IV device enables the serial configuration device
by driving the nCSO output pin low, which connects to the nCS pin of the
configuration device. The Cyclone IV device uses the DCLK and DATA[1]pins to send
operation commands and read address signals to the serial configuration device. The
configuration device provides data on its DATA pin, which connects to the DATA[0]
input of the Cyclone IV device.
All AS configuration pins (DATA[0], DCLK, nCSO, and DATA[1]) have weak internal
pull-up resistors that are always active. After configuration, these pins are set as input
tri-stated and are driven high by the weak internal pull-up resistors.
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 shown in Table 8–6 on page 8–22.
Multi-Device AS Configuration
You can configure multiple Cyclone IV devices with a single serial configuration
device. 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 can leave the
nCEO pin of the last device unconnected or use it as a user I/O pin after configuration
if the last device in the chain is a Cyclone IV device. The nCONFIG, nSTATUS,
CONF_DONE, DCLK, and DATA[0] pins of each device in the chain are connected
together (refer to Figure 8–3).
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–11
Figure 8–3. Multi-device AS Configuration
VCCIO (1)
10 kΩ
VCCIO (1)
10 kΩ
VCCIO (1)
VCCIO (2)
10 kΩ
10 kΩ
Serial Configuration
Device
Master Device of the
Cyclone IV Device Family
nSTATUS
CONF_DONE
nCONFIG
nCE
nCEO
Slave Device of the Cyclone IV Device Family
nSTATUS
CONF_DONE
nCONFIG
nCE
nCEO
N.C. (3)
GND
DATA
DCLK
nCS
ASDI
25 Ω (5)
50 Ω (5), (7)
DATA[0]
DATA[0]
DCLK
DCLK
nCSO
ASDO
(8) MSEL[3..0]
(4)
(8) MSEL[3..0]
(4)
50 Ω (7)
Buffers (6)
Notes to Figure 8–3:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
Connect the pull-up resistors to the VCCIO supply of the bank in which the pin resides.
Connect the pull-up resistor to the VCCIO supply voltage of I/O bank in which the nCE pin resides.
You can leave the nCEO pin unconnected or use it as a user I/O pin when it does not feed the nCE pin of another device.
The MSEL pin settings vary for different configuration voltage standards and POR time. You must set the master device of the Cyclone IV device
in AS mode and the slave devices in PS mode. To connect the MSEL pins for the master device in AS mode and slave devices in PS mode, refer
to Table 8–3 on page 8–7 and Table 8–4 on page 8–7. Connect the MSEL pins directly to VCCA or GND.
Connect the series resistor at the near end of the serial configuration device.
Connect the repeater buffers between the master and slave devices of the Cyclone IV device for DATA[0] and DCLK. All I/O inputs must maintain
a maximum AC voltage of 4.1-V. The output resistance of the repeater buffers must fit the maximum overshoot equation outlined in “Configuration
and JTAG Pin I/O Requirements” on page 8–4.
The 50-Ω series resistors are optional if the 3.3-V configuration voltage standard is applied. For optimal signal integrity, connect these 50-Ω series
resistors if the 2.5- or 3.0-V configuration voltage standard is applied.
MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
The first Cyclone IV device in the chain is the configuration master and controls the
configuration of the entire chain. Any other Altera device that supports PS
configuration can also be part of the chain as a configuration slave.
1
In multi-device AS configuration, the board trace length between the serial
configuration device to the master device of the Cyclone IV device must follow the
recommendations in Table 8–5 on page 8–15.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–12
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
As shown in Figure 8–3 on page 8–11, 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. However, the
subsequent devices in the chain keep this shared CONF_DONE line low until they
receive their configuration data. When all target devices in the chain receive their
configuration data and release CONF_DONE, the pull-up resistor drives a high level on
this line and all devices simultaneously enter initialization mode.
1
Although you can cascade Cyclone IV devices, serial configuration devices cannot be
cascaded or chained together.
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
individual device’s configuration bitstream.
Configuring Multiple Cyclone IV Devices with the Same Design
Certain designs require you to configure multiple Cyclone IV devices with the same
design through a configuration bitstream, or a .sof. You can do this through the
following methods:
■
Multiple .sof files
■
Single .sof
1
For both methods, the serial configuration devices cannot be cascaded or
chained together.
Multiple SRAM Object Files
Two copies of the .sof are stored in the serial configuration device. Use the first copy
to configure the master device of the Cyclone IV device and the second copy to
configure all remaining slave devices concurrently. All slave devices must have the
same density and package. The setup is similar to Figure 8–3 on page 8–11.
To configure four identical Cyclone IV devices with the same .sof, you must set up the
chain similar to the example shown in Figure 8–4 on page 8–13. 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 nCEO pin from the master device drives the nCE
input pins on all three slave devices, as well as the DATA and DCLK pins that connect
in parallel to all four devices. During the first configuration cycle, the master device
reads its configuration data from the serial configuration device while holding nCEO
high. After completing its configuration cycle, the master device drives nCE low and
sends the second copy of the configuration data to all three slave devices, configuring
them simultaneously.
The advantage of the setup in Figure 8–4 is that you can have a different .sof for the
master device. However, all the slave devices must be configured with the same .sof.
You can either compress or uncompress the .sof files in this configuration method.
1
You can still use this method if the master and slave devices use the same .sof.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–13
Figure 8–4. Multi-Device AS Configuration in which Devices Receive the Same Data with Multiple .sof Files
VCCIO (1)
10 kΩ
VCCIO (1)
10 kΩ
VCCIO (1)
10 kΩ
VCCIO (2)
10 kΩ
Slave Device of the Cyclone IV Device Family
nSTATUS
CONF_DONE
nCONFIG
nCE
nCEO
N.C. (3)
DATA[0]
DCLK
(8) MSEL[3..0]
Master Device of the
Cyclone IV Device
Family
Serial Configuration
Device
nSTATUS
CONF_DONE
nCONFIG
nCE
(4)
Slave Device of the Cyclone IV Device Family
nSTATUS
CONF_DONE
nCONFIG
nCE
nCEO
nCEO
N.C. (3)
GND
DATA
DCLK
nCS
ASDI
25 Ω (5)
50 Ω (5), (7)
DATA[0]
DATA[0]
DCLK
DCLK
nCSO
ASDO
(8) MSEL[3..0]
(8) MSEL[3..0]
(4)
(4)
Slave Device of the Cyclone IV Device Family
nSTATUS
CONF_DONE
nCONFIG
nCE
nCEO
N.C. (3)
50 Ω (7)
Buffers (6)
DATA[0]
DCLK
(8) MSEL[3..0]
(4)
Notes to Figure 8–4:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
Connect the pull-up resistors to the VCCIO supply of the bank in which the pin resides.
Connect the pull-up resistor to the VCCIO supply voltage of the I/O bank in which the nCE pin resides.
The nCEO pin is left unconnected or used as a user I/O pin when it does not feed the nCE pin of another device.
The MSEL pin settings vary for different configuration voltage standards and POR time. You must set the master device in AS mode and the slave
devices in PS mode. To connect the MSEL pins for the master device in AS mode and slave devices in PS mode, refer to Table 8–3 on page 8–7
and Table 8–4 on page 8–7. Connect the MSEL pins directly to VCCA or GND.
Connect the series resistor at the near end of the serial configuration device.
Connect the repeater buffers between the master and slave devices for DATA[0] and DCLK. All I/O inputs must maintain a maximum AC voltage
of 4.1 V. The output resistance of the repeater buffers must fit the maximum overshoot equation outlined in “Configuration and JTAG Pin I/O
Requirements” on page 8–4.
The 50-Ω series resistors are optional if the 3.3-V configuration voltage standard is applied. For optimal signal integrity, connect these 50-Ω series
resistors if the 2.5-V or 3.0-V configuration voltage standard is applied.
MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–14
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
Single SRAM Object File
The second method configures both the master device and slave devices with the
same .sof. The serial configuration device stores one copy of the .sof. You must set up
one or more slave devices in the chain. All the slave devices must be set up in the
same way as shown in Figure 8–5.
Figure 8–5. Multi-Device AS Configuration in Which Devices Receive the Same Data with a Single .sof
VCCIO (1)
10 kΩ
Serial Configuration
Device
VCCIO (1)
10 kΩ
VCCIO (1)
10 kΩ
Master Device of the Cyclone IV
Device Family
Slave Device 1 of the Cyclone IV
Device Family
Slave Device 2 of the Cyclone IV
Device Family
nSTATUS
CONF_DONE
nCONFIG
nCE
nSTATUS
CONF_DONE
nCONFIG
nCE
nSTATUS
CONF_DONE
nCONFIG
nCE
nCEO
N.C. (2)
GND
25 Ω (4)
DATA
DCLK
nCS
ASDI
50 Ω (4),(6)
nCEO
N.C. (2)
GND
N.C. (2)
DATA[0]
DATA[0]
DCLK
nCSO
ASDO
nCEO
GND
DATA[0]
DCLK
(7) MSEL[3..0]
(3)
DCLK
(7) MSEL[3..0]
(3)
(7) MSEL[3..0]
(3)
50 Ω(7)
Buffers (5)
Notes to Figure 8–5:
(1) Connect the pull-up resistors to the VCCIO supply of the bank in which the pin resides.
(2) The nCEO pin is left unconnected or used as a user I/O pin when it does not feed the nCE pin of another device.
(3) The MSEL pin settings vary for different configuration voltage standards and POR time. You must set the master device of the Cyclone IV device
in AS mode and the slave devices in PS mode. To connect the MSEL pins for the master device in AS mode and slave devices in PS mode, refer
to Table 8–3 on page 8–7 and Table 8–4 on page 8–7. Connect the MSEL pins directly to VCCA or GND.
(4) Connect the series resistor at the near end of the serial configuration device.
(5) Connect the repeater buffers between the master and slave devices for DATA[0] and DCLK. All I/O inputs must maintain a maximum AC voltage
of 4.1 V. The output resistance of the repeater buffers must fit the maximum overshoot equation outlined in “Configuration and JTAG Pin I/O
Requirements” on page 8–4.
(6) The 50-Ω series resistors are optional if the 3.3-V configuration voltage standard is applied. For optimal signal integrity, connect these 50-Ω series
resistors if the 2.5-V or 3.0-V configuration voltage standard is applied.
(7) MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
In this setup, all the Cyclone IV devices in the chain are connected for concurrent
configuration. This can reduce the AS configuration time because all the Cyclone IV
devices are configured in one configuration cycle. Connect the nCE input pins of all
the Cyclone IV devices to GND. You can either leave the nCEO output pins on all the
Cyclone IV devices unconnected or use the nCEO output pins as normal user I/O
pins. The DATA and DCLK pins are connected in parallel to all the Cyclone IV devices.
Altera recommends putting a buffer before the DATA and DCLK output from the
master device to avoid signal strength and signal integrity issues. The buffer must not
significantly change the DATA-to-DCLK relationships or delay them with respect to
other AS signals (ASDI and nCS). Also, the buffer must only drive the slave devices to
ensure that the timing between the master device and the serial configuration device
is unaffected.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–15
This configuration method supports both compressed and uncompressed .sof files.
Therefore, if the configuration bitstream size exceeds the capacity of a serial
configuration device, you can enable the compression feature in the .sof or you can
select a larger serial configuration device.
Guidelines for Connecting Serial Configuration Device to Cyclone IV Devices on a AS
Interface
For single- and multi-device AS configurations, the board trace length and loading
between the supported serial configuration device and Cyclone IV device must follow
the recommendations in Table 8–5.
Table 8–5. Maximum Trace Length and Loading for AS Configuration
Cyclone IV
Device AS Pins
Maximum Board Trace Length from
Cyclone IV Device to Serial Configuration
Device (Inches)
Maximum Board Load (pF)
DCLK
6
15
DATA[0]
6
30
nCSO
6
30
ASDO
6
30
Estimating AS Configuration Time
AS configuration time is dominated by the time it takes to transfer data from the serial
configuration device to the Cyclone IV device. This serial interface is clocked by the
Cyclone IV device DCLK output (generated from an internal oscillator). Equation 8–2
and Equation 8–3 show configuration time estimations for Cyclone IV devices.
Equation 8–2.
maximum DCLK period
RBF Size × ⎛⎝ -------------------------------------------------------⎞⎠ = estimated maximum configuration time
1 bit
Equation 8–3.
50 ns
3,500,000 bits × ⎛⎝ -------------⎞⎠ = 175 ms
1 bit
Enabling compression reduces the amount of configuration data that is sent to the
Cyclone IV device, which also reduces configuration time. On average, compression
reduces configuration time by 50%.
Programming Serial Configuration Devices
Serial configuration devices are non-volatile, flash memory-based devices. You can
program these devices in-system with the USB-Blaster™ or ByteBlaster™ II download
cables. Alternatively, you can program them with the Altera Programming Unit
(APU), supported third-party programmers, or a microprocessor with the SRunner
software driver.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–16
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
You can perform in-system programming of serial configuration devices through the
AS programming interface. During in-system programming, the download cable
disables device access to the AS interface by driving the nCE pin high. Cyclone IV
devices are also held in reset 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 V CC , respectively.
To perform in-system programming of a serial configuration device through the AS
programming interface, the diodes and capacitors must be placed as close as possible
to the Cyclone IV device. You must ensure that the diodes and capacitors maintain a
maximum AC voltage of 4.1 V (refer to Figure 8–6).
1
If you want to use the same setup shown in Figure 8–6 to perform in-system
programming of a serial configuration device and single- or multi-device AS
configuration, you do not require a series resistor on the DATA line at the near end of
the serial configuration device. The existing diodes and capacitors are sufficient.
Altera has developed the Serial FlashLoader (SFL), a JTAG-based in-system
programming solution for Altera serial configuration devices. The SFL is a bridge
design for the Cyclone IV device that uses its JTAG interface to access the EPCS JIC
(JTAG Indirect Configuration Device Programming) file and then uses the AS
interface to program the EPCS device. Both the JTAG interface and AS interface are
bridged together inside the SFL design.
f
For more information about implementing the SFL with Cyclone IV devices, refer to
AN 370: Using the Serial FlashLoader with the Quartus II Software.
f
For more information about the USB-Blaster download cable, refer to the USB-Blaster
Download Cable User Guide. For more information about the ByteBlaster II download
cable, refer to the ByteBlaster II Download Cable User Guide.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–17
Figure 8–6 shows the download cable connections to the serial configuration device.
Figure 8–6. In-System Programming of Serial Configuration Devices
VCCIO (1)
10 kΩ
VCCIO (1)
10 kΩ
VCCIO (1)
10 kΩ
Cyclone IV Device Family
nSTATUS
CONF_DONE
nCONFIG
nCE
3.3 V
10 kΩ
Serial
Configuration Device
nCEO
N.C. (2)
3.3 V
3.3 V
3.3 V
GND
(5)
DATA[0] (6)
DCLK (6)
nCSO
ASDO
DATA
DCLK
nCS
ASDI
Pin 1
(7) MSEL[3..0]
(4)
3.3 V (3)
GND
10 pf
10 pf
10 pf
GND
ByteBlaster II or USB Blaster
10-Pin Male Header
GND
GND
GND
10 pf
(5)
GND
Notes to Figure 8–6:
(1)
(2)
(3)
(4)
Connect these pull-up resistors to the V CCIO supply of the bank in which the pin resides.
The nCEO pin is left unconnected or used as a user I/O pin when it does not feed the nCE pin of another device.
Power up the VCC of the ByteBlaster II or USB-Blaster download cable with the 3.3-V supply.
The MSEL pin settings vary for different configuration voltage standards and POR time. To connect the MSEL pins, refer to Table 8–3 on page 8–7
and Table 8–4 on page 8–7. Connect the MSEL pins directly to VCCA or GND.
(5) The diodes and capacitors must be placed as close as possible to the Cyclone IV device. You must ensure that the diodes and capacitors maintain
a maximum AC voltage of 4.1 V. The external diodes and capacitors are required to prevent damage to the Cyclone IV device AS configuration
input pins due to possible overshoot when programming the serial configuration device with a download cable. Altera recommends using the
Schottky diode, which has a relatively lower forward diode voltage (VF) than the switching and Zener diodes, for effective voltage clamping.
(6) When cascading Cyclone IV devices in a multi-device AS configuration, connect the repeater buffers between the master and slave devices for
DATA[0] and DCLK. All I/O inputs must maintain a maximum AC voltage of 4.1 V. The output resistance of the repeater buffers must fit the
maximum overshoot equation outlined in “Configuration and JTAG Pin I/O Requirements” on page 8–4.
(7) MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–18
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
You can use the Quartus II software with the APU and the appropriate configuration
device programming adapter to program serial configuration devices. All serial
configuration devices are offered in an 8- or 16-pin small outline integrated circuit
(SOIC) package.
In production environments, serial configuration devices are programmed using
multiple methods. Altera programming hardware or other third-party programming
hardware is used 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 by porting the reference C-based
SRunner software driver provided by Altera.
A serial configuration device is programmed in-system by an external microprocessor
with the SRunner software driver. The SRunner software driver is a software driver
developed for embedded serial configuration device programming, which is easily
customized to fit in different embedded systems. The SRunner software driver is able
to read a Raw Programming Data (.rpd) file and write to serial configuration devices.
The serial configuration device programming time, using the SRunner software
driver, is comparable to the programming time with the Quartus II software.
f
For more information about the SRunner software driver, refer to AN 418: SRunner:
An Embedded Solution for Serial Configuration Device Programming and the source code
at the Altera website (www.altera.com).
PS Configuration
You can perform PS configuration on Cyclone IV devices with an external intelligent
host, such as a MAX II device, microprocessor with flash memory, or a download
cable. In the PS scheme, an external host controls the configuration. Configuration
data is clocked into the target Cyclone IV device through DATA[0] at each rising edge
of DCLK.
If your system already contains a common flash interface (CFI) flash memory, you can
use it for Cyclone IV device configuration storage as well. The MAX II PFL feature
provides an efficient method to program CFI flash memory devices through the JTAG
interface and the logic to control the configuration from the flash memory device to
the Cyclone IV device.
f
1
For more information about the PFL, refer to AN 386: Using the Parallel Flash Loader
with the Quartus II Software.
Cyclone IV devices do not support enhanced configuration devices for PS
configuration.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–19
PS Configuration Using an External Host
In the PS configuration scheme, you can use an intelligent host such as a MAX II
device or microprocessor that controls the transfer of configuration data from a
storage device, such as flash memory, to the target Cyclone IV device. You can store
the configuration data in .rbf, .hex, or .ttf format.
Figure 8–7 shows the configuration interface connections between a Cyclone IV
device and an external host device for single-device configuration.
Figure 8–7. Single-Device PS Configuration Using an External Host
Memory
VCCIO (1) VCCIO (1)
ADDR
Cyclone IV
Device Family
DATA[0]
10 kΩ
External Host
(MAX II Device or
Microprocessor)
10 kΩ
GND
(5) MSEL[3..0]
(3)
CONF_DONE
nSTATUS
nCE
nCEO
N.C. (2)
DATA[0] (4)
nCONFIG
DCLK (4)
Notes to Figure 8–7:
(1) Connect the pull-up resistor to a supply that provides an acceptable input signal for the device. VCC must be high
enough to meet the VIH specification of the I/O on the device and the external host.
(2) The nCEO pin is left unconnected or used as a user I/O pin when it does not feed the nCE pin of another device.
(3) The MSEL pin settings vary for different configuration voltage standards and POR time. To connect the MSEL pins,
refer to Table 8–3 on page 8–7 and Table 8–4 on page 8–7. Connect the MSEL pins directly to VCCA or GND.
(4) All I/O inputs must maintain a maximum AC voltage of 4.1-V. DATA[0] and DCLK must fit the maximum overshoot
outlined in Equation 8–1 on page 8–5.
(5) MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
To begin the configuration, the external host device must generate a low-to-high
transition on the nCONFIG pin. When nSTATUS is pulled high, the external host
device must place the configuration data one bit at a time on DATA[0]. If you use
configuration data in .rbf, .ttf, or .hex, you must first send the LSB of each data byte.
For example, if the .rbf contains the byte sequence 02 1B EE 01 FA, the serial bitstream
you must send to the device is:
0100-0000 1101-1000 0111-0111 1000-0000 0101-1111
Cyclone IV devices receive configuration data on DATA[0] and the clock is received
on DCLK. Data is latched into the device on the rising edge of DCLK. Data is
continuously clocked into the target device until CONF_DONE goes high and the
device enters initialization state.
1
Two DCLK falling edges are required after CONF_DONE goes high to begin the
initialization of the device.
INIT_DONE is released and pulled high when initialization is complete. The external
host device must be able to detect this low-to-high transition which signals the device
has entered user mode. 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.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–20
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
To ensure DCLK and DATA[0] are not left floating at the end of configuration, the
MAX II device must drive them either high or low, whichever is convenient on your
board. The DATA[0] pin is available as a user I/O pin after configuration. When you
choose the PS scheme in the Quartus II software, DATA[0] is tri-stated by default in
user mode and must be driven by the external host device. To change this default
option in the Quartus II software, select the Dual-Purpose Pins tab of the Device and
Pin Options dialog box.
The configuration clock (DCLK) speed must be below the specified system frequency
to ensure correct configuration. No maximum DCLK period exists, which means you
can pause configuration by halting DCLK for an indefinite amount of time.
The external host device can also monitor CONF_DONE and INIT_DONE to ensure
successful configuration. The CONF_DONE pin must be monitored by the external
device to detect errors and to determine when programming is complete. If all
configuration data is sent, but CONF_DONE or INIT_DONE has not gone high, the
external device must reconfigure the target device.
Figure 8–8 shows how to configure multiple devices using an external host device.
This circuit is similar to the PS configuration circuit for a single device, except that
Cyclone IV devices are cascaded for multi-device configuration.
Figure 8–8. Multi-Device PS Configuration Using an External Host
Memory
VCCIO (1) VCCIO (1)
Cyclone IV Device Family 1
ADDR DATA[0]
10 kΩ
External Host
(MAX II Device or
Microprocessor)
VCCIO (2)
Cyclone IV Device Family 2
10 kΩ
10 kΩ
(6) MSEL[3..0]
(4)
(6) MSEL[3..0]
(4)
CONF_DONE
nSTATUS
nCE
nCEO
CONF_DONE
nSTATUS
nCE
nCEO
N.C. (3)
DATA[0] (5)
nCONFIG
DCLK (5)
DATA[0] (5)
nCONFIG
DCLK (5)
GND
Buffers (5)
Notes to Figure 8–8:
(1) The pull-up resistor must be connected to a supply that provides an acceptable input signal for all devices in the
chain. V CC must be high enough to meet the VIH specification of the I/O on the device and the external host.
(2) Connect the pull-up resistor to the VCCIO supply voltage of the I/O bank in which the nCE pin resides.
(3) The nCEO pin is left unconnected or used as a user I/O pin when it does not feed the nCE pin of another device.
(4) The MSEL pin settings vary for different configuration voltage standards and POR time. To connect the MSEL pins,
refer to Table 8–3 on page 8–7 and Table 8–4 on page 8–7. Connect the MSEL pins directly to VCCA or GND.
(5) All I/O inputs must maintain a maximum AC voltage of 4.1 V. DATA[0] and DCLK must fit the maximum overshoot
outlined in Equation 8–1 on page 8–5.
(6) MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–21
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 external host device. All other configuration pins (nCONFIG,
nSTATUS, DCLK, DATA[0], 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.
Because all device CONF_DONE pins are tied together, all devices initialize and enter
user mode at the same time.
If any device detects an error, configuration stops for the entire chain and the entire
chain must be reconfigured, because all nSTATUS and CONF_DONE pins are tied
together. 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.
You can have multiple devices that contain the same configuration data in your
system. To support this configuration scheme, all device nCE inputs are tied to GND,
while nCEO pins are left floating. All other configuration pins (nCONFIG, nSTATUS,
DCLK, DATA[0], 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. Devices must
be of the same density and package. All devices start and complete configuration at
the same time.
Figure 8–9 shows a multi-device PS configuration when both Cyclone IV devices are
receiving the same configuration data.
Figure 8–9. Multi-Device PS Configuration When Both Devices Receive the Same Data
Memory
VCCIO (1) VCCIO (1) Cyclone IV Device Family
ADDR
Cyclone IV Device Family
DATA[0]
10 kΩ
External Host
(MAX II Device or
Microprocessor)
10 kΩ
(5) MSEL[3..0]
CONF_DONE
nSTATUS
nCE
nCEO
GND
DATA[0] (4)
nCONFIG
DCLK (4)
(3)
(5) MSEL[3..0]
CONF_DONE
nSTATUS
nCE
nCEO
N.C. (2)
(3)
N.C. (2)
GND
DATA[0] (4)
nCONFIG
DCLK (4)
Buffers (4)
Notes to Figure 8–9:
(1) The pull-up resistor must be connected to a supply that provides an acceptable input signal for all devices in the
chain. V CC must be high enough to meet the VIH specification of the I/O on the device and the external host.
(2) The nCEO pins of both devices are left unconnected or used as user I/O pins when configuring the same
configuration data into multiple devices.
(3) The MSEL pin settings vary for different configuration voltage standards and POR time. To connect the MSEL pins,
refer to Table 8–3 on page 8–7 and Table 8–4 on page 8–7. Connect the MSEL pins directly to VCCA or GND.
(4) All I/O inputs must maintain a maximum AC voltage of 4.1 V. DATA[0] and DCLK must fit the maximum overshoot
outlined in Equation 8–1 on page 8–5.
(5) MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–22
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
PS Configuration Timing
A PS configuration must meet the setup and hold timing parameters and the
maximum clock frequency. When using a microprocessor or another intelligent host
to control the PS interface, ensure that you meet these timing requirements.
Figure 8–10 shows the timing waveform for PS configuration when using an external
host device.
Figure 8–10. PS Configuration Timing Waveform
(Note 1)
tCF2ST1
tCFG
tCF2CK
nCONFIG
nSTATUS (2)
tSTATUS
tCF2ST0
t
CLK
CONF_DONE (3)
tCF2CD
tST2CK
tCH tCL
DCLK (4)
tDH
Bit 0 Bit 1 Bit 2 Bit 3
DATA[0]
Bit n
(5)
tDSU
User I/O
Tri-stated with internal pull-up resistor
User Mode
INIT_DONE
tCD2UM
Notes to Figure 8–10:
(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) Upon power-up, the Cyclone IV device holds nSTATUS low during POR delay.
(3) Upon power-up, before and during configuration, CONF_DONE is low.
(4) In user mode, drive DCLK either high or low when using the PS configuration scheme, whichever is more convenient.
When using the AS configuration scheme, DCLK is a Cyclone IV device output pin and should not be driven
externally.
(5) Do not leave the DATA[0] pin floating after configuration. Drive it high or low, whichever is more convenient.
Table 8–6 defines the PS configuration timing parameters for Cyclone IV devices.
Table 8–6. PS Configuration Timing Parameters for Cyclone IV Devices (Part 1 of 2) (Note 1)
Symbol
Parameter
Minimum
Maximum
Unit
tCF 2CD
nCONFIG low to CONF_DONE low
—
500
ns
tCF 2ST0
nCONFIG low to nSTATUS low
—
500
ns
tCF G
nCONFIG low pulse width
500
—
ns
tSTATUS
nSTATUS low pulse width
45
230 (2)
μs
tCF 2ST1
nCONFIG high to nSTATUS high
—
230 (2)
μs
tCF 2CK
nCONFIG high to first rising edge on DCLK
230 (2)
—
μs
tST2C K
nSTATUS high to first rising edge of DCLK
2
—
μs
tDSU
Data setup time before rising edge on DCLK
5
—
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
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–23
Table 8–6. PS Configuration Timing Parameters for Cyclone IV Devices (Part 2 of 2) (Note 1)
Symbol
Parameter
Minimum
Maximum
Unit
tCLK
DCLK period
7.5
—
ns
fM AX
DCLK frequency
—
133
MHz
tCD2UM
CONF_DONE high to user mode (3)
300
650
μs
tCD2C U
CONF_DONE high to CLKUSR enabled
4 × maximum DCLK period
—
—
tCD2UM C
CONF_DONE high to user mode with CLKUSR option
on
tCD2C U + (3,187 × CLKUSR
period)
—
—
Notes to Table 8–6:
(1) This information is preliminary.
(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 the internal oscillator is chosen as the clock source for starting the device.
PS Configuration Using a Download Cable
In this section, the generic term “download cable” includes the Altera USB-Blaster
USB port download cable, MasterBlaster™ serial/USB communications cable,
ByteBlaster II parallel port download cable, the ByteBlasterMV™ parallel port
download cable, and the Ethernet-Blaster communications cable.
In PS configuration with a download cable, an intelligent host (such as a PC) transfers
data from a storage device to the Cyclone IV device through the download cable.
The programming hardware or download cable then places the configuration data
one bit at a time on the DATA[0] pin of the device. The configuration data is clocked
into the target device until CONF_DONE goes high. The CONF_DONE pin must have an
external 10-kΩ pull-up resistor for the device to initialize.
When you use a download cable, setting the Auto-restart configuration after error
option does not affect the configuration cycle because you must manually restart
configuration in the Quartus II software if an error occurs. Additionally, the Enable
user-supplied start-up clock (CLKUSR) option has no effect on device initialization,
because this option is disabled in the .sof when programming the device with the
Quartus II Programmer and download cable. Therefore, if you turn on the CLKUSR
option, you do not have to provide a clock on CLKUSR when you configure the device
with the Quartus II Programmer and a download cable.
Figure 8–11 shows PS configuration for Cyclone IV devices with a download cable.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–24
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
Figure 8–11. PS Configuration Using a USB-Blaster, MasterBlaster, ByteBlaster II, or ByteBlasterMV
Cable
VCCA (1)
(2)
VCCA (1)
10 kΩ
10 kΩ
VCCA (1)
VCCA (1)
VCCA (1)
10 kΩ
10 kΩ
10 kΩ
(2)
Cyclone IV Device Family
CONF_DONE
nSTATUS
MSEL[3..0] (5), (7)
nCE
nCEO
N.C. (4)
Download Cable 10-Pin Male
Header (Top View)
GND
DCLK
DATA[0]
nCONFIG
Pin 1
VCCA (6)
GND
VIO (3)
Shield
GND
Notes to Figure 8–11:
(1) The pull-up resistor must be connected to the same supply voltage as the VCCA supply.
(2) The pull-up resistors on DATA[0] and DCLK are only required if the download cable is the only configuration
scheme used on your board. This is to ensure that DATA[0] and DCLK are not left floating after configuration. For
example, if you also use a configuration device, the pull-up resistors on DATA[0] and DCLK are not required.
(3) Pin 6 of the header is a VIO reference voltage for the MasterBlaster output driver. VIO must match the VCCA of the
device. For this value, refer to the MasterBlaster Serial/USB Communications Cable User Guide. With the USB Blaster,
ByteBlaster II, ByteBlaster MV, and Ethernet Blaster, this pin is a no connect.
(4) The nCEO pin is left unconnected or used as a user I/O pin when it does not feed the nCE pin of another device.
(5) The MSEL pin settings vary for different configuration voltage standards and POR time. To connect the MSEL pins,
refer to Table 8–3 on page 8–7 and Table 8–4 on page 8–7 for PS configuration schemes. Connect the MSEL pins
directly to VCCA or GND.
(6) Power up the VCC of the ByteBlaster II, USB-Blaster, or ByteBlasterMV cable with a 2.5-V supply from VCCA .
Third-party programmers must switch to 2.5 V. Pin 4 of the header is a VCC power supply for the MasterBlaster cable.
The MasterBlaster cable can receive power from either 5.0- or 3.3-V circuit boards, DC power supply, or 5.0 V from
the USB cable. For this value, refer to the MasterBlaster Serial/USB Communications Cable User Guide.
(7) MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
You can use a download cable to configure multiple Cyclone IV device configuration
pins. nCONFIG, nSTATUS, DCLK, DATA[0], 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, the entire chain halts configuration if any device detects an error because
the nSTATUS pins are tied together. The Auto-restart configuration after error option
does not affect the configuration cycle, because you must manually restart
configuration in the Quartus II software if an error occurs. Figure 8–12 shows PS
configuration for multiple Cyclone IV devices using a MasterBlaster, USB-Blaster,
ByteBlaster II, or ByteBlasterMV cable.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–25
Figure 8–12. Multi-Device PS Configuration Using a USB-Blaster, MasterBlaster, ByteBlaster II, or
ByteBlasterMV Cable
VCCA (1)
VCCA (1)
VCCA (1)
10 kΩ
10 kΩ
(2)
VCCIO (4)
10 kΩ
VCCA (1)
10 kΩ
(2)
VCCA (1)
Download Cable
10-Pin Male Header
(Passive Serial Mode)
10 kΩ
Cyclone IV Device Family 1
CONF_DONE
nSTATUS
DCLK
MSEL[3..0] (6), (8)
Pin 1
VCCA (7)
GND
VIO (3)
nCE
10 kΩ
GND
DATA[0]
nCONFIG
nCEO
GND
Cyclone IV Device Family 2
CONF_DONE
nSTATUS
MSEL[3..0]
DCLK
(6), (8)
nCE
nCEO
N.C. (5)
DATA[0]
nCONFIG
Notes to Figure 8–12:
(1) The pull-up resistor must be connected to the same supply voltage as the VCCA supply.
(2) The pull-up resistors on DATA[0] and DCLK are only required if the download cable is the only configuration
scheme used on your board. This ensures that DATA[0] and DCLK are not left floating after configuration. For
example, if you also use a configuration device, the pull-up resistors on DATA[0] and DCLK are not required.
(3) Pin 6 of the header is a VIO reference voltage for the MasterBlaster output driver. VIO must match the VCCA of the
device. For this value, refer to the MasterBlaster Serial/USB Communications Cable User Guide. When using the
ByteBlasterMV download cable, this pin is a no connect. When using USB-Blaster, ByteBlaster II, and Ethernet Blaster
cables, this pin is connected to nCE when it is used for AS programming. Otherwise, it is a no connect.
(4) Connect the pull-up resistor to the VCCIO supply voltage of the I/O bank in which the nCE pin resides.
(5) The nCEO pin of the last device in the chain is left unconnected or used as a user I/O pin.
(6) The MSEL pin settings vary for different configuration voltage standards and POR time. To connect MSEL for PS
configuration schemes, refer to Table 8–3 on page 8–7 and Table 8–4 on page 8–7. Connect the MSEL pins directly
to VCCA or GND.
(7) Power up the VCC of the ByteBlaster II, USB-Blaster, or ByteBlasterMV cable with a 2.5 V supply from VCCA. Third-party
programmers must switch to 2.5 V. Pin 4 of the header is a VCC power supply for the MasterBlaster cable. The
MasterBlaster cable can receive power from either 5.0- or 3.3-V circuit boards, DC power supply, or 5.0 V from the
USB cable. For this value, refer to the MasterBlaster Serial/USB Communications Cable User Guide.
(8) MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–26
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
FPP Configuration
1
FPP configuration is only supported in EP4CGX50, EP4CGX75, EP4CGX110, and
EP4CGX150 devices.
The FPP configuration in Cyclone IV devices is designed to meet the increasing
demand for faster configuration time. Cyclone IV devices are designed with the
capability of receiving byte-wide configuration data per clock cycle.
You can perform FPP configuration of Cyclone IV devices with an intelligent host,
such as a MAX II device or microprocessor with flash memory. If your system already
contains a CFI flash memory, you can use it for the Cyclone IV device configuration
storage as well. The MAX II PFL feature in MAX II devices provides an efficient
method to program CFI flash memory devices through the JTAG interface and the
logic to control configuration from the flash memory device to the Cyclone IV device.
f
1
For more information about the PFL, refer to AN 386: Using the Parallel Flash Loader
with the Quartus II Software.
Cyclone IV devices do not support enhanced configuration devices for FPP
configuration.
FPP Configuration Using an External Host
FPP configuration using an external host provides a fast method to configure
Cyclone IV devices. In the FPP configuration scheme, you can use an external host
device to control the transfer of configuration data from a storage device, such as flash
memory, to the target Cyclone IV device. You can store configuration data in an .rbf,
.hex, or .ttf format. When using the external 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 external host device. Figure 8–13 shows the
configuration interface connections between the Cyclone IV devices and an external
device for single-device configuration.
Figure 8–13. Single-Device FPP Configuration Using an External Host
Memory
VCCIO(1) VCCIO(1)
ADDR
DATA[7..0]
10 kΩ
External Host
(MAX II Device or
Microprocessor)
Cyclone IV Device Family
10 kΩ
GND
MSEL[3..0]
(3)
CONF_DONE
nSTATUS
nCEO
nCE
N.C. (2)
DATA[7..0] (4)
nCONFIG
DCLK (4)
Notes to Figure 8–13:
(1) Connect the pull-up resistor to a supply that provides an acceptable input signal for the device. VCC must be high
enough to meet the VIH specification of the I/O on the device and the external host.
(2) The nCEO pin is left unconnected or used as a user I/O pin when it does not feed the nCE pin of another device.
(3) The MSEL pin settings vary for different configuration voltage standards and POR time. To connect the MSEL pins,
refer to Table 8–4 on page 8–7. Connect the MSEL pins directly to VCCA or GND.
(4) All I/O inputs must maintain a maximum AC voltage of 4.1 V. DATA[7..0] and DCLK must fit the maximum
overshoot outlined in Equation 8–1 on page 8–5.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–27
After nSTATUS is released, the device is ready to receive configuration data and the
configuration stage begins. When nSTATUS is pulled high, the external host device
places the configuration data one byte at a time on the DATA[7..0]pins.
Cyclone IV 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.
Data is continuously clocked into the target device until CONF_DONE goes high. The
CONF_DONE pin goes high one byte early in FPP configuration mode. The last byte is
required for serial configuration (AS and PS) modes.
1
Two DCLK falling edges are required after CONF_DONE goes high to begin the
initialization of the device.
Supplying a clock on CLKUSR does not affect the configuration process. After the
CONF_DONE pin goes high, CLKUSR is enabled after the time specified as tCD2CU. After
this time period elapses, Cyclone IV devices require 3,187 clock cycles to initialize
properly and enter user mode. For more information about the supported CLKUSR
fMAX value for Cyclone IV devices, refer to Table 8–7 on page 8–30.
The INIT_DONE pin is released and pulled high when initialization is complete. The
external host device must be able to detect this low-to-high transition, which signals
the device has entered user mode. 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.
To ensure that DCLK and DATA[0] are not left floating at the end of the configuration,
the MAX II device must drive them either high or low, whichever is convenient on
your board. The DATA[0] pin is available as a user I/O pin after configuration. When
you choose the FPP scheme in the Quartus II software, the DATA[0] pin is tri-stated
by default in user mode and must be driven by the external host device. To change
this default option in the Quartus II software, select the Dual-Purpose Pins tab of the
Device and Pin Options dialog box.
The DCLK speed must be below the specified system frequency to ensure correct
configuration. No maximum DCLK period exists, which means you can pause
configuration by halting DCLK for an indefinite amount of time.
The external host device can also monitor the CONF_DONE and INIT_DONE pins to
ensure successful configuration. The CONF_DONE pin must be monitored by the
external device to detect errors and to determine when programming is complete. If
all configuration data is sent, but CONF_DONE or INIT_DONE has not gone high, the
external device must reconfigure the target device.
Figure 8–14 shows how to configure multiple devices with a MAX II device. This
circuit is similar to the FPP configuration circuit for a single device, except Cyclone IV
devices are cascaded for multi-device configuration.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–28
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
Figure 8–14. Multi-Device FPP Configuration Using an External Host
Memory
VCCIO (1) VCCIO (1)
ADDR DATA[7..0]
VCCIO (2)
Cyclone IV Device Family 2
10 kΩ
10 kΩ
External Host
(MAX II Device or
Microprocessor)
Cyclone IV Device Family 1
10 kΩ
(4)
MSEL[3..0]
(4)
CONF_DONE
nSTATUS
nCE
nCEO
CONF_DONE
nSTATUS
nCE
nCEO
N.C. (3)
DATA[7..0] (5)
nCONFIG
DCLK (5)
DATA[7..0] (5)
nCONFIG
DCLK (5)
MSEL[3..0]
GND
Buffers (5)
Notes to Figure 8–14:
(1) The pull-up resistor must be connected to a supply that provides an acceptable input signal for all devices in the
chain. V CC must be high enough to meet the VIH specification of the I/O on the device and the external host.
(2) Connect the pull-up resistor to the VCCIO supply voltage of the I/O bank in which the nCE pin resides.
(3) The nCEO pin is left unconnected or used as a user I/O pin when it does not feed the nCE pin of another device.
(4) The MSEL pin settings vary for different configuration voltage standards and POR time. To connect the MSEL pins,
refer to Table 8–4 on page 8–7. Connect the MSEL pins directly to VCCA or GND.
(5) All I/O inputs must maintain a maximum AC voltage of 4.1 V. DATA[7..0] and DCLK must fit the maximum
overshoot outlined in Equation 8–1 on page 8–5.
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. 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. All devices
initialize and enter user mode at the same time, because all device CONF_DONE pins
are tied together.
All nSTATUS and CONF_DONE pins are tied together and if any device detects an
error, configuration stops for the entire chain and the entire chain must be
reconfigured. For example, if the first device flags an error on nSTATUS, it resets the
chain by pulling its nSTATUS pin low. This behavior is similar to a single device
detecting an error.
Figure 8–15 shows multi-device FPP configuration when both Cyclone IV devices are
receiving the same configuration data. Configuration pins (nCONFIG, nSTATUS,
DCLK, DATA[7..0], 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. Devices must
be of the same density and package. All devices start and complete configuration at
the same time.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–29
Figure 8–15. Multi-Device FPP Configuration Using an External Host When Both Devices Receive the
Same Data
Memory
VCCIO (1)
VCCIO (1)
Cyclone IV Device Family 1
Cyclone IV Device Family 2
ADDR DATA[7..0]
10 kΩ
10 kΩ
MSEL[3..0]
External Host
(MAX II Device or
Microprocessor)
CONF_DONE
nSTATUS
nCE
nCEO
GND
(3)
N.C. (2)
GND
DATA[7..0] (4)
nCONFIG
DCLK (4)
MSEL[3..0]
(3)
CONF_DONE
nSTATUS
nCE
nCEO
N.C. (2)
DATA[7..0] (4)
nCONFIG
DCLK (4)
Buffers (4)
Notes to Figure 8–15:
(1) The pull-up resistor must be connected to a supply that provides an acceptable input signal for all devices in the
chain. V CC must be high enough to meet the VIH specification of the I/O on the device and the external host.
(2) The nCEO pins of both devices are left unconnected or used as user I/O pins when configuring the same
configuration data into multiple devices.
(3) The MSEL pin settings vary for different configuration voltage standards and POR time. To connect the MSEL pins,
refer to Table 8–4 on page 8–7. Connect the MSEL pins directly to VCCA or GND.
(4) All I/O inputs must maintain a maximum AC voltage of 4.1 V. DATA[7..0] and DCLK must fit the maximum
overshoot outlined in Equation 8–1 on page 8–5.
You can use a single configuration chain to configure Cyclone IV 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 starts
reconfiguration in all devices, tie all the CONF_DONE and nSTATUS pins together.
f
For more information about configuring multiple Altera devices in the same
configuration chain, refer to Configuring Mixed Altera FPGA Chains in volume 2 of the
Configuration Handbook.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–30
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
FPP Configuration Timing
Figure 8–16 shows the timing waveform for FPP configuration when using an
external host.
Figure 8–16. FPP Configuration Timing Waveform (Note 1)
tCF2ST1
tCFG
tCF2CK
nCONFIG
nSTATUS (2)
tSTATUS
tCF2ST0
t
CLK
CONF_DONE (3)
tCF2CD
tST2CK
tCH tCL
(4)
DCLK
tDH
DATA[7..0]
Byte 0
Byte 1
Byte 2
Byte 3
Byte n-1
(5)
Byte n
User Mode
tDSU
User I/O
User Mode
High-Z
INIT_DONE
tCD2UM
Notes to Figure 8–16:
(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) Upon power-up, the Cyclone IV device holds nSTATUS low during POR delay.
(3) Upon power-up, before and during configuration, CONF_DONE is low.
(4) Do not leave DCLK floating after configuration. It must be driven high or low, whichever is more convenient.
(5) DATA[7..0] is available as user I/O pin after configuration; the state of the pin depends on the dual-purpose pin
settings.
Table 8–7 defines the FPP configuration timing parameters for Cyclone IV devices.
Table 8–7. FPP Timing Parameters for Cyclone IV Devices
Symbol
(Note 1)
Parameter
(Part 1 of 2)
Minimum
Maximum
Unit
tCF 2CD
nCONFIG low to CONF_DONE low
—
500
ns
tCF 2ST0
nCONFIG low to nSTATUS low
—
500
ns
tCF G
nCONFIG low pulse width
500
—
ns
tSTATUS
nSTATUS low pulse width
45
230 (2)
μs
tCF 2ST1
nCONFIG high to nSTATUS high
—
230 (2)
μs
tCF 2CK
nCONFIG high to first rising edge on DCLK
230 (2)
—
μs
tST2C K
nSTATUS high to first rising edge of DCLK
2
—
μs
tDSU
DATA setup time before rising edge on DCLK
5
—
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
7.5
—
ns
fM AX
DCLK frequency
—
100
MHz
tCD2UM
CONF_DONE high to user mode (3)
300
650
μs
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
Table 8–7. FPP Timing Parameters for Cyclone IV Devices
Symbol
8–31
(Note 1)
Parameter
(Part 2 of 2)
Minimum
Maximum
Unit
tCD2C U
CONF_DONE high to CLKUSR enabled
4 × maximum DCLK period
—
—
tCD2UM C
CONF_DONE high to user mode with CLKUSR
option on
t C D2CU + (3,187 × CLKUSR
period)
—
—
Notes to Table 8–7:
(1) This information is preliminary.
(2) This value is applicable if users do not delay configuration by extending the nCONFIG or nSTATUS low pulse width.
(3) The minimum and maximum numbers apply only if the internal oscillator is chosen as the clock source for starting up the device.
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 .sof files for JTAG configuration with a
download cable in the Quartus II software Programmer.
f
For more information about the JTAG boundary-scan testing, refer to the JTAG
Boundary-Scan Testing for Cyclone IV Devices chapter in volume 1 of the Cyclone IV
Device Handbook.
Cyclone IV devices are designed for JTAG instructions to 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 in Cyclone IV devices during PS configuration, PS configuration
terminates and JTAG configuration begins. If the MSEL pins are set to AS mode, the
Cyclone IV device does not output a DCLK signal when JTAG configuration takes
place.
The four required pins for a device operating in JTAG mode are TDI, TDO, TMS, and
TCK. All the JTAG input pins are powered by the VCCIO pin and support only LVTTL
I/O standard. All user I/O pins are tri-stated during JTAG configuration. Table 8–8
explains the function of each JTAG pin.
Table 8–8. Dedicated JTAG Pins (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 shifts in on the
rising edge of TCK. If the JTAG interface is not required on the board, the JTAG circuitry is
disabled by connecting this pin to VCC. TDI pins have weak internal pull-up resistors (typically
25 kΩ).
TDO
Test data
output
Serial data output pin for instructions as well as test and programming data. Data shifts 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 the board, the JTAG circuitry is disabled by leaving this pin
unconnected.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–32
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
Table 8–8. Dedicated JTAG Pins (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. Transitions in the state machine occur on the rising edge of TCK. Therefore,
TMS must be set up before the rising edge of TCK. TMS is evaluated on the rising edge of
TCK. If the JTAG interface is not required on the board, the JTAG circuitry is disabled by
connecting this pin to VCC. TMS pins have weak internal pull-up resistors (typically 25 kΩ).
TCK
Test clock
input
The 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 the board, the JTAG circuitry
is disabled by connecting this pin to GND. The TCK pin has an internal weak pull-down
resistor.
You can download data to the device through the USB-Blaster, MasterBlaster,
ByteBlaster II, or ByteBlasterMV download cable, or the Ethernet-Blaster
communications cable during JTAG configuration. Configuring devices with a cable
is similar to programming devices in-system. Figure 8–17 and Figure 8–18 show the
JTAG configuration of a single Cyclone IV device.
For device V CCIO of 2.5/3.0/3.3 V, refer to Figure 8–17. All I/O inputs must maintain a
maximum AC voltage of 4.1 V. Because JTAG pins do not have the internal PCI
clamping diodes to prevent voltage overshoot when using VCCIO of 2.5/3.0/3.3 V, you
must power up the VCC of the download cable with a 2.5-V supply from VCCA. For
device VCCIO of 1.2/1.5/1.8 V, refer to Figure 8–18. You can power up the VCC of the
download cable with the supply from VCCIO.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–33
Figure 8–17. JTAG Configuration of a Single Device Using a Download Cable (2.5/3.0/3.3-V VCCIO
Powering the JTAG Pins)
VCCA
10 kΩ
VCCIO (1)
VCCIO (1)
VCCA
10 kΩ
10 kΩ
GND
N.C. (5)
(2)
(2)
(2)
(2)
Cyclone IV Device Family
nCE (4)
TCK
TDO
nCEO
nSTATUS
CONF_DONE
nCONFIG
MSEL[3..0] (7)
DATA[0]
DCLK
10 kΩ
Download Cable 10-Pin Male
Header (Top View)
TMS
TDI
Pin 1
VCCA (6)
GND
VIO (3)
1 kΩ
GND
GND
Notes to Figure 8–17:
(1) Connect these pull-up resistors to the V CCIO supply of the bank in which the pin resides.
(2) Connect the nCONFIG and MSEL pins to support a non-JTAG configuration scheme. If you only use JTAG
configuration, connect the nCONFIG pin to logic-high and the MSEL pins to GND. In addition, pull DCLK and
DATA[0] to either high or low, whichever is convenient on your board.
(3) Pin 6 of the header is a VIO reference voltage for the MasterBlaster output driver. VIO must match the device’s VCCA .
For this value, refer to the MasterBlaster Serial/USB Communications Cable User Guide. When using the USB-Blaster,
ByteBlaster II, ByteBlasterMV, and Ethernet Blaster cables, this pin is a no connect.
(4) The nCE pin must be connected to GND or driven low for successful JTAG configuration.
(5) The nCEO pin is left unconnected or used as a user I/O pin when it does not feed the nCE pin of another device.
(6) Power up the VCC of the ByteBlaster II, USB-Blaster, or ByteBlasterMV cable with a 2.5-V supply from VCCA .
Third-party programmers must switch to 2.5 V. Pin 4 of the header is a VCC power supply for the MasterBlaster cable.
The MasterBlaster cable can receive power from either 5.0- or 3.3-V circuit boards, DC power supply, or 5.0 V from
the USB cable. For this value, refer to the MasterBlaster Serial/USB Communications Cable User Guide.
(7) MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–34
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
Figure 8–18. JTAG Configuration of a Single Device Using a Download Cable (1.5 V or 1.8 V V CCIO
Powering the JTAG Pins)
VCCA
10 kΩ
VCCIO (1)
VCCIO (1)
VCCA
10 kΩ
10 kΩ
GND
N.C. (5)
(2)
(2)
(2)
(2)
Cyclone IV Device Family
nCE (4)
TCK
TDO
nCEO
nSTATUS
CONF_DONE
nCONFIG
MSEL[3..0] (7)
DATA[0]
DCLK
10 kΩ
Download Cable 10-Pin Male
Header (Top View)
TMS
TDI
Pin 1
VCCA (6)
GND
VIO (3)
1 kΩ
GND
GND
Notes to Figure 8–18:
(1) Connect these pull-up resistors to the V CCIO supply of the bank in which the pin resides.
(2) Connect the nCONFIG and MSEL pins to support a non-JTAG configuration scheme. If you only use JTAG
configuration, connect the nCONFIG pin to logic-high and the MSEL pins to GND. In addition, pull DCLK and
DATA[0] to either high or low, whichever is convenient on your board.
(3) 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.
(4) The nCE must be connected to GND or driven low for successful JTAG configuration.
(5) The nCEO pin is left unconnected or used as a user I/O pin when it does not feed the nCE pin of another device.
(6) Power up the VCC of the ByteBlaster II or USB-Blaster cable with supply from VCCIO. The ByteBlaster II and
USB-Blaster cables do not support a target supply voltage of 1.2 V. For the target supply voltage value, refer to the
ByteBlaster II Download Cable User Guide and the USB-Blaster Download Cable User Guide.
(7) MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
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 upon completion. At
the end of configuration, the software checks the state of CONF_DONE through the
JTAG port. When Quartus II generates a .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 serially sent via the JTAG TDI port, the TCK port
clocks an additional 3,180 cycles to perform device initialization.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–35
You can perform JTAG testing on Cyclone IV devices before, during, and after
configuration. Cyclone IV devices support the BYPASS, IDCODE, and SAMPLE
instructions during configuration without interrupting configuration. All other JTAG
instructions can only be issued by first interrupting configuration and
reprogramming I/O pins with the ACTIVE_DISENGAGE and CONFIG_IO
instructions.
The CONFIG_IO instruction allows I/O buffers to be configured through the JTAG
port and interrupts configuration when issued after the ACTIVE_DISENGAGE
instruction. This instruction allows you to perform board-level testing prior to
configuring the Cyclone IV device or waiting for a configuration device to complete
configuration. Prior to issuing the CONFIG_IO instruction, you must issue the
ACTIVE_DISENGAGE instruction. This is because in Cyclone IV devices, the
CONFIG_IO instruction does not hold nSTATUS low until reconfiguration, so you
must disengage the active configuration mode controller when active configuration is
interrupted. The ACTIVE_DISENGAGE instruction places the active configuration
mode controllers in an idle state prior to JTAG programming. Additionally, the
ACTIVE_ENGAGE instruction allows you to re-engage a disengaged active
configuration mode controller.
1
You must follow a specific flow when executing the ACTIVE_DISENGAGE,
CONFIG_IO, and ACTIVE_ENGAGE JTAG instructions in Cyclone IV devices.
The chip-wide reset (DEV_CLRn) and chip-wide output enable (DEV_OE) pins in
Cyclone IV 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 Cyclone IV devices, consider the
dedicated configuration pins. Table 8–9 shows how these pins must be connected
during JTAG configuration.
Table 8–9. Dedicated Configuration Pin Connections During JTAG Configuration
Signal
Description
nCE
On all Cyclone IV devices in the chain, nCE must be driven low by connecting it to GND, pulling it low
through a resistor, or driving it by some control circuitry. For devices that are also in multi-device AS, PS,
or FPP configuration chains, the nCE pins must be connected to GND during JTAG configuration or JTAG
configured in the same order as the configuration chain.
nCEO
On all Cyclone IV devices in the chain, nCEO is left floating or connected to the nCE of the next device.
MSEL
These pins must not be left floating. These pins support whichever non-JTAG configuration that is used in
production. If only JTAG configuration is used, tie these pins to GND.
nCONFIG
Driven high by connecting to VCCIO supply of the bank in which the pin resides and pulling up through a
resistor, or driven high by some control circuitry.
nSTATUS
Pull to the VCCIO supply of the bank in which the pin resides through a 10-kΩ resistor. When configuring
multiple devices in the same JTAG chain, each nSTATUS pin must be pulled up to VCCIO individually.
CONF_DONE
Pull to the VCCIO supply of the bank in which the pin resides through a 10-kΩ resistor. When configuring
multiple devices in the same JTAG chain, each CONF_DONE pin must be pulled up to VCCIO supply of the
bank in which the pin resides individually. CONF_DONE going high at the end of JTAG configuration
indicates successful configuration.
DCLK
Must not be left floating. Drive low or high, whichever is more convenient on your board.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–36
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
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 with JTAG BST circuitry. Figure 8–19 and Figure 8–20
show multi-device JTAG configuration.
For device V CCIO of 2.5/3.0/3.3 V, you must refer to Figure 8–19. All I/O inputs must
maintain a maximum AC voltage of 4.1 V. Because JTAG pins do not have the internal
PCI clamping diodes to prevent voltage overshoot when using V CCIO of 2.5/3.0/3.3 V,
you must power up the VCC of the download cable with a 2.5-V supply from VCCA. For
device VCCIO of 1.2 /1.5 V/1.8 V, refer to Figure 8–20. You can power up the VCC of the
download cable with the supply from VCCIO.
Figure 8–19. JTAG Configuration of Multiple Devices Using a Download Cable (2.5/3.0/ 3.3-V VCCIO Powering the JTAG Pins)
Download Cable
10-Pin Male Header
Pin 1
VCCIO(1)
VCCA
10 kΩ
VCCA (5)
10 kΩ
VIO
(3)
(2)
(2)
(2)
(2)
(2)
VCCIO (1)
Cyclone IV Device
10 kΩ
Family
nSTATUS
DATA[0]
DCLK
nCONFIG CONF_DONE
MSEL[3..0] (6)
nCEO
nCE (4)
TDI
TMS
TDO
TCK
VCCIO (1)
VCCIO (1)
Cyclone IV Device
Family
10 kΩ
10 kΩ
(2)
(2)
(2)
(2)
(2)
nSTATUS
DATA[0]
DCLK
nCONFIG CONF_DONE
MSEL[3..0] (6)
nCEO
nCE (4)
TDI
TMS
TDO
TCK
VCCIO (1)
VCCIO (1)
10 kΩ
10 kΩ
(2)
(2)
(2)
(2)
(2)
Cyclone IV Device
Family
10 kΩ
nSTATUS
DATA[0]
DCLK
nCONFIG CONF_DONE
MSEL[3..0] (6)
nCEO
nCE (4)
TDI
TMS
TDO
TCK
1 kΩ
Notes to Figure 8–19:
(1) Connect these pull-up resistors to the V CCIO supply of the bank in which the pin resides.
(2) Connect the nCONFIG and MSEL pins to support a non-JTAG configuration scheme. If you only use a JTAG configuration, connect the nCONFIG
pin to logic-high and the MSEL pins to GND. In addition, pull DCLK and DATA[0] to either high or low, whichever is convenient on your board.
(3) Pin 6 of the header is a VIO reference voltage for the MasterBlaster output driver. VIO must match the VCCA of the device. For this value, refer to the
MasterBlaster Serial/USB Communications Cable User Guide. In the ByteBlasterMV cable, this pin is a no connect. 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.
(4) The nCE pin must be connected to GND or driven low for successful JTAG configuration.
(5) Power up the VCC of the ByteBlaster II, USB-Blaster, or ByteBlasterMV cable with a 2.5-V supply from V CCA. Third-party programmers must switch
to 2.5 V. Pin 4 of the header is a VCC power supply for the MasterBlaster cable. The MasterBlaster cable can receive power from either 5.0- or 3.3-V
circuit boards, DC power supply, or 5.0 V from the USB cable. For this value, refer to the MasterBlaster Serial/USB Communications Cable User
Guide.
(6) MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–37
Figure 8–20. JTAG Configuration of Multiple Devices Using a Download Cable (1.2/1.5/1.8-V V CCIO Powering the JTAG Pins)
VCCIO
Download Cable
10-Pin Male Header
Pin 1
VCCIO (5)
VCCIO
10 kΩ
VCCIO (1)
10 kΩ
VIO
(3)
(2)
(2)
(2)
(2)
(2)
VCCIO (1)
Cyclone IV
10 kΩ Device Family
TDO
TCK
10 kΩ
10 kΩ
nSTATUS
DATA[0]
DCLK
CONF_DONE
nCONFIG
MSEL[3..0] (6)
nCEO
nCE (4)
TDI
TMS
VCCIO (1)
(2)
(2)
(2)
(2)
(2)
Cyclone IV
Device Family
VCCIO (1)
TDO
TCK
10 kΩ
10 kΩ
nSTATUS
DATA[0]
DCLK
nCONFIG CONF_DONE
MSEL[3..0] (6)
nCEO
nCE (4)
TDI
TMS
VCCIO (1)
(2)
(2)
(2)
(2)
(2)
VCCIO (1)
Cyclone IV
Device Family
10 kΩ
nSTATUS
DATA[0]
DCLK
nCONFIG CONF_DONE
MSEL[3..0] (6)
nCEO
nCE (4)
TDI
TMS
TDO
TCK
1 kΩ
Notes to Figure 8–20:
(1) Connect these pull-up resistors to the V CCIO supply of the bank in which the pin resides.
(2) Connect the nCONFIG and MSEL pins to support a non-JTAG configuration scheme. If you only use a JTAG configuration, connect the nCONFIG
pin to logic-high and the MSEL pins to GND. In addition, pull DCLK and DATA[0] to either high or low, whichever is convenient on your board.
(3) In the USB-Blaster and ByteBlaster II cable, this pin is connected to nCE when it is used for AS programming, otherwise it is a no connect.
(4) The nCE pin must be connected to GND or driven low for successful JTAG configuration.
(5) Power up the VCC of the ByteBlaster II or USB-Blaster cable with supply from VCCIO. The ByteBlaster II and USB-Blaster cables do not support a
target supply voltage of 1.2 V. For the target supply voltage value, refer to the ByteBlaster II Download Cable User Guide and the USB-Blaster
Download Cable User Guide.
(6) MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
1
If a non-Cyclone IV device is cascaded in the JTAG-chain, TDO of the non-Cyclone IV
device driving into TDI of the Cyclone IV device must fit the maximum overshoot
outlined in Equation 8–1 on page 8–5.
The CONF_DONE and nSTATUS signals are shared in multi-device AS, PS, and FPP
configuration chains to ensure that the devices enter user mode at the same time after
configuration is complete. When the CONF_DONE and nSTATUS signals are shared
among all the devices, every device must be configured when JTAG configuration is
performed.
If you only use JTAG configuration, Altera recommends that you connect the circuitry
as shown in Figure 8–19 or Figure 8–20, in which each of the CONF_DONE and
nSTATUS signals are isolated so that each device can 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 that 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
pin 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.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–38
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
1
f
JTAG configuration allows an unlimited number of Cyclone IV devices to be cascaded
in a JTAG chain.
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.
Figure 8–21 shows JTAG configuration with a Cyclone IV device and a
microprocessor.
Figure 8–21. JTAG Configuration of a Single Device Using a Microprocessor
Cyclone IV Device Family
Memory
nCE(3)
ADDR
DATA
N.C.
(2)
(2)
(2)
Microprocessor
nCEO (5)
nCONFIG
DATA[0]
DCLK
TDI (4)
TCK (4)
TMS (4)
MSEL[3..0]
(2)
VCCIO (1)
VCCIO (1)
10 kΩ
10 kΩ
TDO
nSTATUS
CONF_DONE
Notes to Figure 8–21:
(1) The pull-up resistor must be connected to a supply that provides an acceptable input signal for all devices in the
chain.
(2) Connect the nCONFIG and MSEL pins to support a non-JTAG configuration scheme. If you only use a JTAG
configuration, connect the nCONFIG pin to logic-high and the MSEL pins to GND. In addition, pull DCLK and
DATA[0] to either high or low, whichever is convenient on your board.
(3) The nCE pin must be connected to GND or driven low for successful JTAG configuration.
(4) All I/O inputs must maintain a maximum AC voltage of 4.1 V. Signals driving into TDI, TMS, and TCK must fit the
maximum overshoot outlined in Equation 8–1 on page 8–5.
(5) MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
Configuring Cyclone IV Devices with Jam STAPL
Jam 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 (www.altera.com).
Configuring Cyclone IV Devices with the JRunner Software Driver
The JRunner software driver allows you to configure Cyclone IV devices through the
ByteBlaster II or ByteBlasterMV cables in JTAG mode. The supported programming
input file is in .rbf format. The JRunner software driver also requires a Chain
Description File (.cdf) generated by the Quartus II software. The JRunner software
driver is targeted for embedded JTAG configuration. The source code is developed
for the Windows NT operating system (OS). You can customize the code to make it
run on your embedded platform.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
1
f
8–39
The .rbf used by the JRunner software driver cannot be a compressed .rbf because the
JRunner software driver uses JTAG-based configuration. During JTAG-based
configuration, the real-time decompression feature is not available.
For more information about the JRunner software driver, refer to AN 414: JRunner
Software Driver: An Embedded Solution for PLD JTAG Configuration and the source files
on the Altera website at (www.altera.com).
Combining JTAG and AS Configuration Schemes
You can combine the AS configuration scheme with JTAG-based configuration
(Figure 8–22). This setup uses two 10-pin download cable headers on the board. One
download cable is used in JTAG mode to configure the Cyclone IV device directly
through the JTAG interface. The other download cable is used in AS mode to program
the serial configuration device in-system through the AS programming interface. The
MSEL pins must be set to select the AS configuration mode (refer to Table 8–3 on
page 8–7 and Table 8–4 on page 8–7). If you try configuring the device using both
schemes simultaneously, JTAG configuration takes precedence and AS configuration
terminates.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–40
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
Figure 8–22. Combining JTAG and AS Configuration Schemes
VCCIO (1) VCCIO(1) VCCIO (1)
10 kΩ
10 kΩ
10 kΩ
Cyclone IV Device Family
VCCA
nSTATUS
CONF_DONE nCEO N.C.
10 kΩ
nCONFIG
nCE
V
Serial 10kΩ
Configuration
Device
GND
Pin 1
CCA
3.3 V
3.3 V
3.3 V
3.3 V
(7) MSEL[3..0]
(4)
10 kΩ
(6)
DATA
DATA[0]
TCK
DCLK
DCLK
TDO
nCS
nCSO
TMS
ASDI
ASDO
TDI
Download Cable
(JTAG Mode)
10-Pin Male Header
(top view)
Pin 1
VCCA (5)
VIO (3)
3.3 V (2)
1 kΩ
10 pf
GND
10 pf
10 pf
Download Cable
(AS Mode)
10-Pin Male Header
GND
GND
10 pf
(6)
GND
GND
Notes to Figure 8–22:
(1) Connect these pull-up resistors to the V CCIO supply of the bank in which the pin resides.
(2) Power up the VCC of the ByteBlaster II or USB-Blaster cable with the 3.3-V supply.
(3) Pin 6 of the header is a VIO reference voltage for the MasterBlaster output driver. VIO must match the VCCA of the
device. For this value, refer to the MasterBlaster Serial/USB Communications Cable User Guide. When using the
ByteBlasterMV download cable, this pin is a no connect. When using 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.
(4) The MSEL pin settings vary for different configuration voltage standards and POR time. To connect MSEL for AS
configuration schemes, refer to Table 8–3 on page 8–7 and Table 8–4 on page 8–7. Connect the MSEL pins directly
to VCCA or GND.
(5) Power up the VCC of the ByteBlaster II, USB-Blaster, or ByteBlasterMV cable with a 2.5-V supply from VCCA .
Third-party programmers must switch to 2.5 V. Pin 4 of the header is a VCC power supply for the MasterBlaster cable.
The MasterBlaster cable can receive power from either 5.0- or 3.3-V circuit boards, DC power supply, or 5.0 V from
the USB cable. For this value, refer to the MasterBlaster Serial/USB Communications Cable User Guide.
(6) The diodes and capacitors must be placed as close as possible to the Cyclone IV device. Altera recommends using
the Schottky diode, which has a relatively lower forward diode voltage (VF) than the switching and Zener diodes, for
effective voltage clamping.
(7) MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–41
Programming Serial Configuration Devices In-System with the JTAG Interface
Cyclone IV devices in a single- or multiple-device chain support in-system
programming of a serial configuration device with the JTAG interface through the
SFL design. The intelligent host or download cable of the board can use the four JTAG
pins on the Cyclone IV device to program the serial configuration device in system,
even if the host or download cable cannot access the configuration pins (DCLK, DATA,
ASDI, and nCS pins).
The SFL design is a JTAG-based in-system programming solution for Altera serial
configuration devices. The SFL is a bridge design for the Cyclone IV device that uses
its JTAG interface to access the EPCS JTAG Indirect Configuration Device
Programming (.jic) file and then uses the AS interface to program the EPCS device.
Both the JTAG interface and AS interface are bridged together inside the SFL design.
In a multiple device chain, you must only configure the master device that controls
the serial configuration device. Slave devices in the multiple device chain that are
configured by the serial configuration device do not have to be configured when
using this feature. To use this feature successfully, set the MSEL pins of the master
device to select the AS configuration scheme (refer to Table 8–3 on page 8–7 and
Table 8–4 on page 8–7). The serial configuration device in-system programming
through the Cyclone IV device JTAG interface has three stages, which are described in
the following sections:
■
“Loading the SFL Design”
■
“ISP of Configuration Device” on page 8–42
■
“Reconfiguration” on page 8–42
Loading the SFL Design
The SFL design is a design inside the Cyclone IV device that bridges the JTAG
interface and AS interface with glue logic.
The intelligent host uses the JTAG interface to configure the master device with an
SFL design. The SFL design allows the master device to control the access of four
serial configuration device pins, also known as the Active Serial Memory Interface
(ASMI) pins, through the JTAG interface. The ASMI pins are serial clock input (DCLK),
serial data output (DATA), AS data input (ASDI), and active-low chip select (nCS) pins.
If you configure a master device with an SFL design, the master device enters user
mode even though the slave devices in the multiple device chain are not being
configured. The master device enters user mode with a SFL design even though the
CONF_DONE signal is externally held low by the other slave devices in chain.
Figure 8–23 shows the JTAG configuration of a single Cyclone IV device with a SFL
design.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–42
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
Figure 8–23. Programming Serial Configuration Devices In-System Using the JTAG Interface
VCCA
10 kΩ
VCCIO (1)
VCCIO (1)
VCCA
10 kΩ
Cyclone IVDevice Family
Serial Configuration
VCCIO (1)
Device
10 kΩ
10 kΩ
DATA
DCLK
nCS
ASDI
25 Ω (7)
nCE (4)
GND
N.C. (5)
(2)
10 kΩ
TCK
TDO
nCEO
nSTATUS
CONF_DONE
nCONFIG
MSEL[3..0] (8)
DATA[0]
DCLK
nCSO
ASDO
Download Cable 10-Pin Male
Header (Top View)
TMS
TDI
Serial
Flash
Loader
Pin 1
VCCA (6)
GND
VIO (3)
1 kΩ
GND
GND
Notes to Figure 8–23:
(1) Connect the pull-up resistors to the VCCIO supply of the bank in which the pin resides.
(2) The MSEL pin settings vary for different configuration voltage standards and POR time. To connect MSEL for AS
configuration schemes, refer to Table 8–3 on page 8–7 and Table 8–4 on page 8–7. Connect the MSEL pins directly
to VCCA or GND.
(3) Pin 6 of the header is a VIO reference voltage for the MasterBlaster output driver. VIO must match the VCCA of the
device. For this value, refer to the MasterBlaster Serial/USB Communications Cable User Guide. When using the
ByteBlasterMV download cable, this pin is a no connect. When using USB-Blaster, ByteBlaster II, and Ethernet Blaster
cables, this pin is connected to nCE when it is used for AS programming, otherwise it is a no connect.
(4) The nCE pin must be connected to GND or driven low for successful JTAG configuration.
(5) The nCEO pin is left unconnected or used as a user I/O pin when it does not feed the nCE pin of another device.
(6) Power up the VCC of the ByteBlaster II, USB-Blaster, or ByteBlasterMV cable with a 2.5- V supply from VCCA .
Third-party programmers must switch to 2.5 V. Pin 4 of the header is a VCC power supply for the MasterBlaster cable.
The MasterBlaster cable can receive power from either 5.0- or 3.3-V circuit boards, DC power supply, or 5.0 V from
the USB cable. For this value, refer to the MasterBlaster Serial/USB Communications Cable User Guide.
(7) Connect the series resistor at the near end of the serial configuration device.
(8) MSEL [3] is not applicable for EP4CGX15, EP4CGX22, and EP4CGX30 devices.
ISP of Configuration Device
In the second stage, the SFL design in the master device allows you to write the
configuration data for the device chain into the serial configuration device with the
Cyclone IV device JTAG interface. The JTAG interface sends the programming data
for the serial configuration device to the Cyclone IV device first. The Cyclone IV
device then uses the ASMI pins to send the data to the serial configuration device.
Reconfiguration
After the configuration data is successfully written into the serial configuration
device, the Cyclone IV device does not start reconfiguration automatically. The
intelligent host issues the PULSE_NCONFIG JTAG instruction to initialize the
reconfiguration process. During reconfiguration, the master device is reset and the
SFL design no longer exists in the Cyclone IV device and the serial configuration
device configures all the devices in the chain with the user design.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
f
8–43
For more information about the SFL, refer to AN 370: Using the Serial FlashLoader with
Quartus II Software.
JTAG Instructions
f
For more information about the JTAG binary instruction code, refer to the JTAG
Boundary-Scan Testing for Cyclone IV Devices chapter in volume 1 of the Cyclone IV
Device Handbook.
I/O Reconfiguration
The CONFIG_IO instruction is used to reconfigure the I/O configuration shift register
(IOCSR) chain. This instruction allows you to perform board-level testing prior to
configuring the Cyclone IV device or waiting for a configuration device to complete
configuration. After the configuration is interrupted and JTAG testing is complete, the
part must be reconfigured through the PULSE_NCONFIG JTAG instruction or by
pulsing nCONFIG pin low.
You can issue the CONFIG_IO instruction any time during user mode.
You must meet the following timing restrictions when using the CONFIG_IO
instruction:
■
The CONFIG_IO instruction cannot be issued during nCONFIG pin low
■
You must observe 200 μs minimum wait time after any of the following
conditions:
■
■
nCONFIG pin goes high
■
Issuing PULSE_NCONFIG instruction
■
Issuing ACTIVE_ENGAGE instruction, before issuing CONFIG_IO instruction
You must wait 200 μs after power up, with nCONFIG pin high before issuing
CONFIG_IO instruction (or wait for nSTATUS pin goes high)
The ACTIVE_DISENGAGE instruction is used with the CONFIG_IO instruction to
interrupt configuration. Table 8–10 shows the sequence of instructions to use for
various CONFIG_IO usage scenarios.
Table 8–10. JTAG CONFIG_IO (without JTAG_PROGRAM) Instruction Flows (Part 1 of 2) (Note 1)
Configuration Scheme and Current State of the Cyclone IV Device
JTAG Instruction
Prior to User Mode (Interrupting
Configuration)
User Mode
Power Up
PS
FPP
AS
PS
FPP
AS
PS
FPP
AS
ACTIVE_DISENGAGE
O
O
O
O
O
O
—
—
—
CONFIG_IO
R
R
R
R
R
R
NA
NA
NA
JTAG Boundary Scan Instructions (no
JTAG_PROGRAM)
O
O
O
O
O
O
—
—
—
R (2)
—
—
—
O
—
—
—
O
—
—
—
R (2)
ACTIVE_ENGAGE
PULSE_NCONFIG
Pulse nCONFIG pin
© November 2009 Altera Corporation
A
A
A (3)
A (3)
A
A
Cyclone IV Device Handbook, Volume 1
8–44
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
Table 8–10. JTAG CONFIG_IO (without JTAG_PROGRAM) Instruction Flows (Part 2 of 2) (Note 1)
Configuration Scheme and Current State of the Cyclone IV Device
JTAG Instruction
JTAG TAP Reset
Prior to User Mode (Interrupting
Configuration)
User Mode
Power Up
PS
FPP
AS
PS
FPP
AS
PS
FPP
AS
R
R
R
R
R
R
—
—
—
Notes to Table 8–10:
(1) “R” indicates that the instruction is required to be executed before the next instruction, “O” indicates the optional instruction, “A” indicates that
the instruction must be executed, and “NA” indicates that the instruction is not allowed to be executed in this mode.
(2) Required if ACTIVE_DISENGAGE is used.
(3) Neither of the instruction is required if ACTIVE_ENGAGE is used.
The CONFIG_IO instruction does not hold nSTATUS low until reconfiguration. You
must disengage the active configuration controller by issuing the
ACTIVE_DISENGAGE and ACTIVE_ENGAGE instructions when active configuration is
interrupted. You must issue the ACTIVE_DISENGAGE instruction alone or prior to the
CONFIG_IO instruction, if the JTAG_PROGRAM instruction is to be issued later (refer
to Table 8–11). This puts the active configuration controllers into the idle state. The
active configuration controller is re-engaged after user mode is reached through JTAG
programming (refer to Table 8–11).
1
While executing the CONFIG_IO instruction, all user I/Os are tri-stated.
If reconfiguration after interruption is performed using configuration modes (rather
than using JTAG_PROGRAM), it is not necessary to issue the ACTIVE_DISENGAGE
instruction prior to CONFIG_IO. You can start reconfiguration by either pulling
nCONFIG low for at least 500 ns or issuing the PULSE_NCONFIG instruction. If the
ACTIVE_DISENGAGE instruction was issued and the JTAG_PROGRAM instruction fails
to enter user mode, you must issue the ACTIVE_ENGAGE instruction to reactivate the
active configuration controller. Issuing the ACTIVE_ENGAGE instruction also triggers
reconfiguration in configuration modes; therefore, it is not necessary to pull nCONFIG
low or issue the PULSE_NCONFIG instruction.
ACTIVE_DISENGAGE
The ACTIVE_DISENGAGE instruction places the active configuration controller into
an idle state prior to JTAG programming. The two purposes of placing the active
controller in an idle state are:
■
To ensure that it is not trying to configure the device during JTAG programming
■
To allow the controllers to properly recognize a successful JTAG programming
that results in the device reaching user mode
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–45
The ACTIVE_DISENGAGE instruction is required before JTAG programming
regardless of the current state of the Cyclone IV device if the MSEL pins are set to an
active configuration scheme. If the ACTIVE_DISENGAGE instruction is issued during
a passive configuration scheme (PS or FPP), it has no effect on the Cyclone IV device.
Similarly, the CONFIG_IO instruction is issued after an ACTIVE_DISENGAGE
instruction, but is no longer required to properly halt configuration. For a summary of
the required, recommended, and optional instructions for each configuration mode,
refer to Table 8–11. The ordering of the required instructions is a hard requirement
and must be met to ensure functionality.
Table 8–11. JTAG Programming Instruction Flows (Note 1)
Configuration Scheme and Current State of the Cyclone IV Device
JTAG Instruction
Prior to User Mode
(Interrupting Configuration)
User Mode
Power Up
PS
FPP
AS
PS
FPP
AS
PS
FPP
AS
FACTORY
NA
NA
NA
NA
NA
NA
R
R
R
ACTIVE_DISENGAGE
O
O
R
O
O
O
O
O
R
CONFIG_IO
Rc
Rc
O
O
O
O
NA
NA
NA
Other JTAG instructions
O
O
O
O
O
O
O
O
O
JTAG_PROGRAM
R
R
R
R
R
R
R
R
R
CHECK_STATUS
Rc
Rc
Rc
Rc
Rc
Rc
Rc
Rc
Rc
JTAG_STARTUP
R
R
R
R
R
R
R
R
R
JTAG TAP Reset/ other instruction
R
R
R
R
R
R
R
R
R
Note to Table 8–11:
(1) “R” indicates that the instruction is required to be executed before the next instruction, “O” indicates the optional instruction, “Rc” indicates
the recommended instruction, and “NA” indicates that the instruction is not allowed to be executed in this mode.
In the AS configuration scheme, the ACTIVE_DISENGAGE instruction puts the active
configuration controller into idle state. If a successful JTAG programming is executed,
the active controller is automatically re-engaged after user mode is reached through
JTAG programming. This causes the active controller to transition to their respective
user mode states.
If JTAG programming fails to get the Cyclone IV device to enter user mode and
re-engage active programming, there are available methods to achieve this scheme. In
AS configuration scheme, you can re-engage the AS controller by moving the JTAG
TAP controller to the reset state, or by issuing the ACTIVE_ENGAGE instruction.
ACTIVE_ENGAGE
The ACTIVE_ENGAGE instruction enables you to re-engage a disengaged active
controller. You can issue this instruction any time during configuration or user mode
to re-engage an already disengaged active controller, as well as trigger
reconfiguration of the Cyclone IV device in the active configuration scheme.
The ACTIVE_ENGAGE instruction functions as the PULSE_NCONFIG instruction when
the device is in the passive configuration schemes (PS or FPP). The nCONFIG pin is
disabled when the ACTIVE_ENGAGE instruction is issued.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–46
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
1
Altera does not recommend using the ACTIVE_ENGAGE instruction, but it is provided
as a fail-safe instruction for re-engaging the active configuration controller.
Device Configuration Pins
Table 8–12 to Table 8–14 describe the connections and functionality of all the
configuration related pins on Cyclone IV devices. Table 8–12 summarizes the
Cyclone IV device pin configuration.
Table 8–12. Cyclone IV Configuration Pin Summary
Bank
Description
Input/Output
Dedicated
Powered By
Configuration Mode
8
Data[4:2]
Input
—
VCC IO
FPP
3
Data[7:5]
Input
—
VCC IO
FPP
9
nCSO
Output
—
VCC IO
AS
3
CRC_ERROR
Output
—
VCC IO /Pull-up (1)
Optional, all modes
9
DATA[0]
Input
Yes
VCC IO
PS, FPP, AS
9
DATA[1], ASDO
VCC IO
FPP
VCC IO
AS
3
INIT_DONE
—
Pull-up
Optional, all modes
3
nSTATUS
Bidirectional
Yes
Pull-up
All modes
9
nCE
Input
Yes
VCC IO
All modes
9
DCLK
VCC IO
PS, FPP
VCC IO
AS
3
CONF_DONE
9
Input
Output
Output
Input
Output
—
Yes
Bidirectional
Yes
Pull-up
All modes
TDI
Input
Yes
VCC IO
JTAG
9
TMS
Input
Yes
VCC IO
JTAG
9
TCK
Input
Yes
VCC IO
JTAG
9
nCONFIG
Input
Yes
VCC IO
All modes
8
CLKUSR
Input
—
VCC IO
Optional
3
nCEO
Output
—
VCC IO
Optional, all modes
3
MSEL
Input
Yes
VC CINT
All modes
9
TDO
Output
Yes
VCC IO
JTAG
6
DEV_OE
Input
—
VCC IO
Optional
6
DEV_CLRn
Input
—
VCC IO
Optional
Note to Table 8–12:
(1) The CRC_ERROR pin is a dedicated output by default. Optionally, you can enable the CRC_ERROR pin as an open-drain output in the CRC
Error Detection tab of the Device and Pin Options dialog box.
Table 8–13 describes the dedicated configuration pins, which are required to be
connected properly on your board for successful configuration. Some of these pins
may not be required for your configuration schemes.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–47
Table 8–13. Dedicated Configuration Pins on the Cyclone IV Device (Part 1 of 3)
User
Mode
Configuration
Scheme
Pin Type
Description
MSEL
N/A
All
Input
Configuration input that sets the Cyclone IV device configuration
scheme. These pins must be hardwired to VCC A or GND. The
MSEL pins have internal 9-kΩ pull-down resistors that are
always active.
nCONFIG
N/A
All
Input
Configuration control input. Pulling this pin low with external
circuitry during user mode causes the Cyclone IV 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.
nSTATUS
N/A
All
Pin Name
Bidirectional The Cyclone IV device drives nSTATUS low immediately after
open-drain power-up and releases it after the POR time.
Status output. If an error occurs during configuration,
nSTATUS is pulled low by the target device.
Status input. If an external source (for example, another
Cyclone IV device) 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 a configuration device is
used, driving nSTATUS low causes the configuration device to
attempt to configure the device, but because the device ignores
transitions on nSTATUS in user mode, the device does not
reconfigure. To start a reconfiguration, nCONFIG must be
pulled low.
CONF_DONE
N/A
All
Bidirectional Status output. The target Cyclone IV device drives the
open-drain CONF_DONE pin low before and during configuration. After all
configuration data is received without error and the initialization
cycle starts, the target device releases CONF_DONE.
Status input. After all data is received and CONF_DONE goes
high, the target device initializes and enters user mode. The
CONF_DONE pin must have an external 10-kΩ pull-up resistor
in order for the device to initialize.
Driving CONF_DONE low after configuration and initialization
does not affect the configured device. Do not connect bus holds
or ADC to CONF_DONE pin.
nCE
N/A
© November 2009 Altera Corporation
All
Input
Active-low chip enable. The nCE pin activates the Cyclone IV
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.
Cyclone IV Device Handbook, Volume 1
8–48
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
Table 8–13. Dedicated Configuration Pins on the Cyclone IV Device (Part 2 of 3)
Pin Name
nCEO
User
Mode
Configuration
Scheme
N/A if
option
is on.
I/O if
option
is off.
All
Pin Type
Description
Output
open-drain
Output that drives low when the Cyclone IV device configuration
is complete. In single-device configuration, you can leave this
pin floating or use it as a user I/O pin after configuration. In
multi-device configuration, this pin feeds the nCE pin of the
next device. The nCEO of the last device in the chain is left
floating or used as a user I/O pin after configuration.
If you use the nCEO pin to feed the nCE pin of the next device,
use an external 10-kΩ pull-up resistor to pull the nCEO pin high
to the VCC IO voltage of its I/O bank to help the internal weak
pull-up resistor.
If you use the nCEO pin as a user I/O pin after configuration, set
the state of the pin on the Dual-Purpose Pin settings.
nCSO
I/O
AS
DCLK
N/A
All
Output
Output control signal from the Cyclone IV device to the serial
configuration device in AS mode that enables the configuration
device.
This pin has an internal pull-up resistor that is always active.
Input (PS, In PS and FPP configuration, DCLK is the clock input used to
clock data from an external source into the target Cyclone IV
FPP).
Output (AS) device. Data is latched into the device on the rising edge of
DCLK.
In AS mode, DCLK is an output from the Cyclone IV device that
provides timing for the configuration interface. It has an internal
pull-up resistor (typically 25 kΩ) that is always active.
After configuration, this pin is tri-stated. In schemes that use a
configuration device, DCLK is driven low after configuration is
complete. 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
DATA[0]
I/O
All
Input
Data input. In serial configuration modes, bit-wide configuration
data is presented to the target Cyclone IV device on the
DATA[0] pin.
In AS mode, DATA[0] has an internal pull-up resistor that is
always active. After AS configuration, DATA[0] is a dedicated
input pin with optional user control.
After PS or FPP configuration, DATA[0] is available as a user
I/O pin and the state of this pin depends on the Dual-Purpose
Pin settings.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
8–49
Table 8–13. Dedicated Configuration Pins on the Cyclone IV Device (Part 3 of 3)
Pin Name
DATA[1],
ASDO
User
Mode
Configuration
Scheme
I/O
FPP, AS
Pin Type
Description
Input (FPP), Data input in non-AS mode. Control signal from the Cyclone IV
Output (AS) device to the serial configuration device in AS mode used to
read out configuration data. The DATA[1] pin functions as the
ASDO pin in AS mode.
In AS mode, DATA[1] has an internal pull-up resistor that is
always active. After AS configuration, DATA[1] is a dedicated
output pin with optional user control.
In PS configuration scheme, DATA[1] functions as user I/O
pin during configuration, which means it is tri-stated.
After FPP configuration, DATA[1] is available as a user I/O pin
and the state of this pin depends on the Dual-Purpose Pin
settings.
DATA[7..2]
I/O
FPP
Inputs
Data inputs.
In AS or PS configuration scheme, they function as user I/O pins
during configuration, which means they are tri-stated.
After FPP configuration, DATA[7..2] are available as user I/O
pins and the state of these pin depends on the Dual-Purpose
Pin settings.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–50
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Configuration
Table 8–14 describes 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 8–14. Optional Configuration Pins
Pin Name
User Mode
Pin Type
Description
CLKUSR
N/A if option is on.
I/O if option is off.
Input
Optional user-supplied clock input synchronizes the
initialization of one or more devices. This pin is enabled by
turning on the Enable user-supplied start-up clock (CLKUSR)
option in the Quartus II software.
INIT_DONE
N/A if option is on.
I/O if option is off.
Output
open-drain
Status pin is used to indicate when the device has initialized and
is in user-mode. When nCONFIG is low, the INIT_DONE pin
is tri-stated and pulled high due to an external 10-kΩ pull-up
resistor 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 and the device enters user
mode. Thus, the monitoring circuitry must be able to detect a
low-to-high transition. This pin is enabled by turning on the
Enable INIT_DONE output option in the Quartus II software.
The functionality of this pin changes if the Enable OCT_DONE
option is enabled in the Quartus II software. This option
controls whether the INIT_DONE signal is gated by the
OCT_DONE signal, which indicates the Power-Up on-chip
termination (OCT) calibration is completed. If this option is
turned off, the INIT_DONE signal is not gated by the
OCT_DONE signal
DEV_OE
N/A if option is on.
I/O if option is off.
Input
Optional pin that allows you to override all tri-states on the
device. When this pin is driven low, all I/O pins are tri-stated;
when this pin is driven high, all I/O pins behave as
programmed. This pin is enabled by turning on the Enable
device-wide output enable (DEV_OE) option in the Quartus II
software.
DEV_CLRn
N/A if option is on.
I/O if option is off.
Input
Optional pin that allows you to override all clears on all device
registers. When this pin is driven low, all registers are cleared;
when this pin is driven high, all registers behave as
programmed. This pin is enabled by turning on the Enable
device-wide reset (DEV_CLRn) option in the Quartus II
software.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Remote System Upgrade
8–51
Remote System Upgrade
Cyclone IV devices support remote system upgrade only in AS configuration scheme
and can also be implemented with advanced Cyclone IV features such as real-time
decompression of configuration data.
1
Remote system upgrade is not supported in multi-device configuration chain for any
configuration scheme.
Functional Description
The dedicated remote system upgrade circuitry in Cyclone IV devices manages
remote configuration and provides error detection, recovery, and status information.
User logic or a Nios® II processor implemented in the Cyclone IV device logic array
provides access to the remote configuration data source and an interface to the
configuration memory.
1
Configuration memory refers to serial configuration devices (EPCS).
The remote system upgrade process of the Cyclone IV device consists of the following
steps:
1. A Nios II processor (or user logic) implemented in the Cyclone IV device logic
array receives new configuration data from a remote location. The connection to
the remote source is a communication protocol, such as the transmission control
protocol/Internet protocol (TCP/IP), peripheral component interconnect (PCI),
user datagram protocol (UDP), universal asynchronous receiver/transmitter
(UART), or a proprietary interface.
2. The Nios II processor (or user logic) writes this new configuration data into a
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 that might occur during or after the reconfiguration cycle, and provides error
status information to the user design.
Figure 8–24 shows the steps required for performing remote configuration updates
(the numbers in Figure 8–24 coincide with steps 1–3).
Figure 8–24. Functional Diagram of Cyclone IV Device Remote System Upgrade
1
2
Development
Location
Data
Data
Configuration
Memory
Cyclone IV
Device Family
Control Module
Data
Device Configuration
3
Figure 8–25 shows the block diagrams to implement remote system upgrade.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–52
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Remote System Upgrade
Figure 8–25. Remote System Upgrade Block Diagrams
Serial Configuration Device
Cyclone IV Device
Nios Processor or User Logic
Serial Configuration Device
The MSEL pin setting in the remote system upgrade mode is the same as the standard
configuration mode. Standard configuration mode refers to normal Cyclone IV device
configuration mode with no support for remote system upgrades, and the remote
system upgrade circuitry is disabled. When using remote system upgrade in Cyclone
IV devices, you must enable the remote update mode option setting in the Quartus II
software. For more information, refer to “Enabling Remote Update”.
Enabling Remote Update
You can enable or disable remote update for Cyclone IV devices in the Quartus II
software before design compilation (in the Compiler Settings menu). To enable
remote update in the compiler settings of the project, perform the following steps:
1. On the Assignments menu, click Device. The Device dialog box appears.
2. Click Device and Pin Options. The Device and Pin Options dialog box appears.
3. In the Category list, select Configuration.
4. In the Configuration Mode list, select Remote.
5. Click OK.
6. In the Device dialog box, click OK.
Configuration Image Types
When using remote system upgrade, Cyclone IV 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 device that
performs certain user-defined functions. Each device in your system requires one
factory image or with 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 with the dedicated circuitry. Application images implement
user-defined functionality in the target Cyclone IV device. You can include the default
application image functionality in the factory image.
Remote System Upgrade Mode
In remote update mode, Cyclone IV devices load the factory configuration image
upon power-up. The user-defined factory configuration determines the application
configuration to be loaded and triggers a reconfiguration cycle. The factory
configuration can also contain application logic.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Remote System Upgrade
8–53
When used with configuration memory, the remote update mode allows an
application configuration to start at any flash sector boundary. Additionally, the
remote update mode features a user watchdog timer that can detect functional errors
in an application configuration.
Remote Update Mode
When a Cyclone IV device is first powered up in remote update mode, it loads the
factory configuration located at address boot_address[23:0] = 24b'0. Altera
recommends storing the factory configuration image for your system at boot address
24b'0. This corresponds to the start address location 0x000000 in the serial
configuration device.
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 the new configuration data in the local non-volatile memory device
■
Determine the application configuration to be loaded into the Cyclone IV 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 8–26 shows the transitions between the factory configuration and application
configuration in remote update mode.
Figure 8–26. Transitions Between Configurations in Remote Update Mode
Configuration Error
Power Up
Application 1
Configuration
Set Control Register
and Reconfigure
Reload a Different Application
Configuration
Error
Factory
Configuration
Reload a Different Application
Set Control Register
and Reconfigure
Application n
Configuration
Configuration Error
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–54
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Remote System Upgrade
After power up or a configuration error, the factory configuration logic writes the
remote system upgrade control register to specify the address of the application
configuration to be loaded. The factory configuration also specifies whether or not to
enable the user watchdog timer for the application configuration and, if enabled,
specifies the timer setting.
1
Only valid application configurations designed for remote update mode include the
logic to reset the timer in user mode. For more information about the user watchdog
timer, refer to the “User Watchdog Timer” on page 8–59.
If there is an error while loading the application configuration, the remote system
upgrade status register is written by the dedicated remote system upgrade circuitry of
the Cyclone IV device to specify the cause of the reconfiguration.
The following actions cause the remote system upgrade status register to be written:
■
nSTATUS driven low externally
■
Internal CRC error
■
User watchdog timer time-out
■
A configuration reset (logic array nCONFIG signal or external nCONFIG pin
assertion)
Cyclone IV devices automatically load the factory configuration located at address
boot_address[23:0] = 24'b0. This user-designed factory configuration reads
the remote system upgrade status register to determine the reason for
reconfiguration. The factory configuration 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 Cyclone IV devices successfully load the application configuration, they enter
user mode. In user mode, the soft logic (Nios II processor or state machine and the
remote communication interface) assists the Cyclone IV 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, determines the valid application configuration
to load, writes the remote system upgrade control register accordingly, and starts
system reconfiguration.
Dedicated Remote System Upgrade Circuitry
This section explains the implementation of the Cyclone IV device remote system
upgrade dedicated circuitry. The remote system upgrade circuitry is implemented in
hard logic. This dedicated circuitry interfaces with the user-defined factory
application configurations implemented in the Cyclone IV 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 state
machines that control those components. Figure 8–27 shows the data path of the
remote system upgrade block.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Remote System Upgrade
8–55
Figure 8–27. Remote System Upgrade Circuit Data Path (Note 1)
Status Register (SR)
Previous
State
Register 2
Bit[30..0]
Internal Oscillator
Current
State
Logic
Bit[31..0]
Previous
State
Register 1
Bit[30..0]
Control Register
Bit [38..0]
Logic
Update Register
Bit [38..0]
update
RSU
Master
State
Machine
Logic
Shift Register
din
dout
din
Bit [40..39]
dout
Bit [38..0]
RU_SHIFTnLD
timeout User
Watchdog
Timer
capture
clkout
RU_DIN
RSU
Reconfiguration
State
Machine
capture update
Logic
clkin
RU_CLK (2) RU_DOUT
RU_CAPTnUPDT
RU_nCONFIG
RU_nRSTIMER
Logic Array
Notes to Figure 8–27:
(1) RU_DOUT, RU_SHIFTnLD, RU_CAPTnUPDT, RU_CLK, RU_DIN,RU_nCONFIG, and RU_nRSTIMER signals are internally controlled by
the ALTREMOTE_UPDATE megafunction.
(2) RU_CLK refers to the ALTREMOTE_UPDATE megafunction block "clock" input. For more information, refer to the Remote Update Circuitry
(ALTREMOTE_UPDATE) Megafunction User Guide.
Remote System Upgrade Registers
The remote system upgrade block contains a series of registers that stores the
configuration addresses, watchdog timer settings, and status information. These
registers are described in Table 8–15.
Table 8–15. Remote System Upgrade Registers (Part 1 of 2)
Register
Description
Shift
register
This register is accessible by the logic array and allows the update, status, and control registers to be written
and sampled by user logic. Write access is enabled in remote update mode for factory configurations to allow
writing to the update register. Write access is disabled for all application configurations in remote update mode.
Control
register
This register contains the current configuration address, the user watchdog timer settings, one option bit for
checking early CONF_DONE, and one option bit for selecting the internal oscillator as the startup state
machine clock. During a read operation in an application configuration, this register is read into the shift
register. When a reconfiguration cycle is started, the contents of the update register are written into the control
register.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–56
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Remote System Upgrade
Table 8–15. Remote System Upgrade Registers (Part 2 of 2)
Register
Description
Update
register
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 read in a factory configuration, this register is read into the shift register.
Status
register
This register is written 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 control and status registers of the remote system upgrade are clocked by the
10-MHz internal oscillator (the same oscillator that controls the user watchdog timer).
However, the shift and update registers of the remote system upgrade are clocked by
the maximum frequency of 40-MHz user clock input (RU_CLK). There is no minimum
frequency for RU_CLK.
Remote System Upgrade Control Register
The remote system upgrade control register stores the application configuration
address, the user watchdog timer settings, and option bits for application
configuration. The control register address bits are set to all zeros (24'b0) at power
up to load the factory configuration.
The control register bit positions are shown in Figure 8–28 and defined in Table 8–16.
In Figure 8–28, the numbers show the bit position of a setting in a register. For
example, bit number 35 is the enable bit for the watchdog timer.
Figure 8–28. Remote System Upgrade Control Register
38
Rsv2
37
36
35
34 33
12 11
0
Cd_early Osc_int Wd_en Rsv1 Ru_address[21..0] Wd_timer[11..0]
Table 8–16. Remote System Upgrade Control Register Contents
Control Register Bit
Value
Wd_timer[11..0]
12'b000000000000
Definition
User watchdog time-out value (most significant 12 bits of
29-bit count value:
{Wd_timer[11..0],17'b1000})
Configuration address (most significant 22 bits of 24-bit
boot address value:
Ru_address[21..0] 22'b0000000000000000000000
boot_address[23:0] =
{Ru_address[21..0],2'b0})
Rsv1
1'b0
Reserved bit
Wd_en
1'b1
User watchdog timer enable bit
Osc_int (1)
1'b1
Internal oscillator as startup state machine clock enable bit
Cd_early (1)
1'b1
Early CONF_DONE check
Rsv2
1'b1
Reserved bit
Note to Table 8–16:
(1) Option bit for the application configuration.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Remote System Upgrade
8–57
When enabled, the early CONF_DONE check (Cd_early) option bit ensures that there
is a valid configuration at the boot address specified by the factory configuration and
that it is of the proper size. If an invalid configuration is detected or the CONF_DONE
pin is asserted too early, the device resets and then reconfigures the factory
configuration image. When enabled, the internal oscillator (as the startup state
machine clock [Osc_int] option bit) ensures a functional startup clock to eliminate
the hanging of startup. When all option bits are turned on, they provide complete
coverage for the programming and startup portions of the application configuration.
Altera recommends turning on both the Cd_early and Osc_int option bits.
1
The Cd_early and Osc_int option bits for the application configuration must be
turned on by the factory configuration.
Remote System Upgrade Status Register
The remote system upgrade status register specifies the reconfiguration trigger
condition. The various trigger and error conditions include:
■
Cyclical redundancy check (CRC) error during application configuration
■
nSTATUS assertion by an external device due to an error
■
Cyclone IV device logic array triggers a reconfiguration cycle, possibly after
downloading a new application configuration image
■
External configuration reset (nCONFIG) assertion
■
User watchdog timer time out
Table 8–17 describes the contents of the current state logic in the status register, when
the remote system upgrade master state machine is in factory configuration or
application configuration accessing the factory information or application
information, respectively. The status register bit in Table 8–17 shows the bit positions
in a 32-bit logic.
Table 8–17. Remote System Upgrade Current State Logic Contents In Status Register (Part 1 of 2)
Remote System Upgrade
Master State Machine
Factory information (1)
Application information 1 (2)
© November 2009 Altera Corporation
Status
Register Bit
Definition
31:30
Master State Machine
current state
The current state of the remote system upgrade
master state machine
29:24
Reserved bits
Padding bits that are set to all 0’s
23:0
Boot address
The current 24-bit boot address that was used by
the configuration scheme as the start address to
load the current configuration.
31:30
Master State Machine
current state
The current state of the remote system upgrade
master state machine
29
User watchdog timer
enable bit
The current state of the user watchdog enable,
which is active high
28:0
User watchdog timer
time-out value
The current entire 29-bit watchdog time-out value.
Description
Cyclone IV Device Handbook, Volume 1
8–58
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Remote System Upgrade
Table 8–17. Remote System Upgrade Current State Logic Contents In Status Register (Part 2 of 2)
Remote System Upgrade
Master State Machine
Status
Register Bit
Definition
31:30
Master State Machine
current state
The current state of the remote system upgrade
master state machine
29
User watchdog timer
enable bit
The current state of the user watchdog enable,
which is active high
28:0
User watchdog timer
time-out value
The current entire 29-bit watchdog time-out value
Application information 2 (2)
Description
Notes to Table 8–17
(1) The remote system upgrade master state machine is in factory configuration.
(2) The remote system upgrade master state machine is in application configuration.
The previous two application configurations are available in the previous state
registers (previous state register 1 and previous state register 2), but only for
debugging purposes.
Table 8–18 describes the contents of previous state register 1 and previous state
register 2 in the status register. The status register bit in Table 8–18 shows the bit
positions in a 31-bit register. Previous state register 1 has the same bit definitions as
previous state register 2, except all fields reflect the current state when a
reconfiguration source caused the Cyclone IV device to leave the application
configuration before the previous application configuration.
Table 8–18. Remote System Upgrade Previous State Register 1 and Previous State Register 2 Contents in Status Register
(Note 1)
Status Register Bit
Definition
30
nCONFIG source
29
CRC error source
28
nSTATUS source
27
User watchdog timer source
26
Remote system upgrade
nCONFIG source
25:24
23:0
Description
One-hot, active-high field that describes the reconfiguration source
that caused the Cyclone IV device to leave the previous application
configuration. If there is a tie, the higher bit order indicates
precedence. For example, if nCONFIG and remote system upgrade
nCONFIG reach the reconfiguration state machine at the same time,
the nCONFIG precedes the remote system upgrade nCONFIG.
Master state machine
current state
The state of the master state machine during reconfiguration causes
the Cyclone IV device to leave the previous application configuration.
Boot address
The address used by the configuration scheme to load the previous
application configuration.
Note to Table 8–18:
(1) Bit definitions are the same as previous state register 1, except all fields reflect the current state when a reconfiguration source caused the
Cyclone IV device to leave the application configuration before the previous application configuration.
If a capture is inappropriately done while capturing a previous state before the
system has entered remote update application configuration for the first time, a value
will output from the shift register to indicate that the capture was incorrectly called.
Cyclone IV Device Handbook, Volume 1
© November 2009 Altera Corporation
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Remote System Upgrade
8–59
Remote System Upgrade State Machine
The remote system upgrade control and update registers have identical bit
definitions, but serve different roles (for more information, refer to Table 8–15 on
page 8–55). 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, and the control register writes are controlled by the remote system upgrade
state machine.
In factory configurations, the user logic should send the option bits (Cd_early and
Osc_int), the configuration address, and watchdog timer settings for the next
application configuration bit to the update register. When the logic array
configuration reset (RU_nCONFIG) goes high, 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 the 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.
If there is an error or reconfiguration trigger condition, the remote system upgrade
state machine directs the system to load a factory or application configuration (based
on mode and error condition) by setting the control register accordingly.
Table 8–19 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 8–19. Control Register Contents After an Error or Reconfiguration Trigger Condition
Reconfiguration Error/Trigger
Control Register Setting In Remote Update
nCONFIG reset
All bits are 0
nSTATUS error
All bits are 0
CORE triggered reconfiguration
Update register
CRC error
All bits are 0
Wd time out
All bits are 0
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 Cyclone IV device.
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 remote
system upgrade circuitry appends 17'b1000 to form the 29 bits value for the watchdog
timer. The granularity of the timer setting is 217 cycles. The cycle time is based on the
frequency of the 10-MHz internal oscillator.
Table 8–20 specifies the operating range of the 10-MHz internal oscillator.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 1
8–60
Chapter 8: Configuration and Remote System Upgrades in Cyclone IV Devices
Chapter Revision History
Table 8–20. 10-MHz Internal Oscillator Specifications
Minimum
Typical
Maximum
Unit
5
6.5
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.
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.
Errors during configuration are detected by the CRC engine. Functional errors must
not exist in the factory configuration because it is stored and validated during
production and is never updated remotely.
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
Implementation in your design requires a remote system upgrade interface between
the Cyclone IV device logic array and remote system upgrade circuitry. You must also
generate configuration files for production and remote programming of the system
configuration memory. The Quartus II software provides these features.
The two implementation options, ALTREMOTE_UPDATE megafunction and remote
system upgrade atom, are for 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.
f
For more information about the ALTREMOTE_UPDATE megafunction, refer to the
Remote Update Circuitry (ALTREMOTE_UPDATE) Megafunction User Guide.
Chapter Revision History
Table 8–21 shows the revision history for this chapter.
Table 8–21. Chapter Revision History
Date
Version
November 2009
Cyclone IV Device Handbook, Volume 1
1.0
Changes Made
Initial release.
© November 2009 Altera Corporation
9. SEU Mitigation in Cyclone IV Devices
CYIV-51009-1.0
This chapter describes the error detection cyclical redundancy check (CRC) feature in
the user mode and describes how to recover from configuration errors caused by CRC
error.
1
References to Cyclone® IV devices in this chapter refer only to Cyclone IV GX devices.
Information about Cyclone IV E devices will be included in a future revision of this
chapter.
Dedicated circuitry built into Cyclone IV devices consist of a CRC error detection
feature that can optionally check for a single-event upset (SEU) continuously and
automatically.
In critical applications used in the fields of avionics, telecommunications, system
control, medical, and military applications, it is important to be able to:
■
Confirm the accuracy of the configuration data stored in an FPGA device
■
Alert the system to an occurrence of a configuration error
Using the CRC error detection feature for Cyclone IV devices does not impact fitting
or performance.
This chapter contains the following sections:
■
“Configuration Error Detection” on page 9–1
■
“User Mode Error Detection” on page 9–2
■
“Automated SEU Detection” on page 9–3
■
“CRC_ERROR Pin” on page 9–3
■
“Error Detection Block” on page 9–4
■
“Error Detection Timing” on page 9–5
■
“Software Support” on page 9–7
■
“Recovering from CRC Errors” on page 9–10
Configuration Error Detection
Configuration error detection determines if the configuration data received through
an external memory device is corrupted during configuration. To validate the
configuration data, the Quartus ® II software uses a function to calculate the CRC
value for each configuration data frame and store the frame-based CRC value in the
configuration data as part of the configuration bit stream.
During configuration, Cyclone IV devices use the same methodology to calculate 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 all the values are calculated.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
9–2
Chapter 9: SEU Mitigation in Cyclone IV Devices
User Mode Error Detection
In addition to the frame-based CRC value, the Quartus II software generates a 32-bit
CRC value for the whole configuration bit stream. This 32-bit CRC value is stored in
the 32-bit storage register at the end of the configuration and is used for user mode
error detection that will be discussed in “User Mode Error Detection” section.
User Mode Error Detection
Soft errors are changes in a configuration random-access memory (CRAM) bit state
due to an ionizing particle. Cyclone IV devices have built-in error detection circuitry
to detect data corruption by soft errors in the CRAM cells.
This error detection capability continuously computes the CRC of the configured
CRAM bits based on the contents of the device and compares it with the
pre-calculated CRC value obtained at the end of the configuration. If the CRCs match,
there is no error in the current configuration CRAM bits. The process of error
detection continues until the device is reset (by setting nCONFIG to low).
Cyclone IV devices error detection feature does not check memory blocks and I/O
buffers. These device memory blocks support parity bits that are used to check the
contents of memory blocks for any error. The I/O buffers are not verified during error
detection because the configuration data uses flip-flops as storage elements that are
more resistant to soft errors. Similar flip-flops are used to store the pre-calculated
CRC and other error detection circuitry option bits.
The error detection circuitry in Cyclone IV devices uses a 32-bit CRC IEEE 802
standard and a 32-bit polynomial as the CRC generator. Therefore, a single 32-bit
CRC calculation is performed by the device. If a soft error does not occur, the
resulting 32-bit signature value is 0x00000000, that results in a 0 on the output
signal CRC_ERROR. If a soft error occurs in the device, the resulting signature value is
non-zero and the CRC_ERROR output signal is 1.
You can inject a soft error by changing the 32-bit CRC storage register in the CRC
circuitry. After verifying the failure induced, you can restore the 32-bit CRC value to
the correct CRC value using the same instruction and inserting the correct value.
1
Be sure to read out the correct value before updating it with a known bad value.
In user mode, Cyclone IV devices support the CHANGE_EDREG JTAG instruction, that
allows you to write to the 32-bit storage register. You can use Jam ™ STAPL files (.jam)
to automate the testing and verification process. This instruction can only be executed
when the device is in user mode, and it is a powerful design feature that enables you
to dynamically verify the CRC functionality in-system without having to reconfigure
the device. You can then switch to use the CRC circuit to check for real errors induced
by an SEU.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 9: SEU Mitigation in Cyclone IV Devices
Automated SEU Detection
9–3
Table 9–1 lists the CHANGE_EDREG JTAG instructions.
Table 9–1. CHANGE_EDREG JTAG Instruction
JTAG Instruction
Instruction Code
Description
CHANGE_EDREG
00 0001 0101
This instruction connects the 32-bit CRC storage register between TDI and TDO.
Any precomputed CRC is loaded into the CRC storage register to test the operation
of the error detection CRC circuitry at the CRC_ERROR pin.
1
After the test completes, Altera recommends that you power cycle the device.
Automated SEU Detection
Cyclone IV devices offer on-chip circuitry for automated checking of SEU detection.
Applications that require the device to operate error-free at high elevations or in close
proximity to earth’s North or South Pole require periodic checks to ensure continued
data integrity. The error detection cyclic redundancy code feature controlled by the
Device and Pin Options dialog box in the Quartus II software uses a 32-bit CRC
circuit to ensure data reliability and is one of the best options for mitigating SEU.
You can implement the error detection CRC feature with existing circuitry in
Cyclone IV devices, eliminating the need for external logic. The CRC is computed by
the device during configuration and checked against an automatically computed CRC
during normal operation. The CRC_ERROR pin reports a soft error when configuration
CRAM data is corrupted, and you must decide whether to reconfigure the FPGA by
strobing the nCONFIG pin low or ignore the error.
CRC_ERROR Pin
A specific CRC_ERROR error detection pin is required to monitor the results of the
error detection circuitry during user mode. Table 9–2 describes the CRC_ERROR pin.
Table 9–2. CRC_ERROR Pin Description
CRC_ERROR
Pin Type
Device
Cyclone IV
Dedicated
Output or
Open Drain
Output
(Optional)
Description
By default, the Quartus II software sets the CRC_ERROR pin as a dedicated output. If the
CRC_ERROR pin is used as a dedicated output, you must ensure that the VCCIO of the bank
in which the pin resides meets the input voltage specification of the system receiving the
signal. Optionally, you can set this pin to be an open-drain output by enabling the option in
the Quartus II software from the Error Detection CRC tab of the Device and Pin Options
dialog box. Using the pin as an open-drain provides an advantage on the voltage leveling.
To use this pin as open-drain, you can tie this pin to VCCIO of Bank 1 through a 10-kΩ
pull-resistor. Alternatively, depending on the voltage input specification of the system
receiving the signal, you can tie the pull-up resistor to a different pull-up voltage.
f
The CRC_ERROR pin information for Cyclone IV devices is reported in the Cyclone IV
Devices Pin-Outs on the Altera ® website.
1
WYSIWYG is an optimization technique that performs optimization on VQM (Verilog
Quartus Mapping) netlist in the Quartus II software.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
9–4
Chapter 9: SEU Mitigation in Cyclone IV Devices
Error Detection Block
Error Detection Block
Table 9–3 lists the types of CRC detection to check the configuration bits.
Table 9–3. Types of CRC Detection to Check the Configuration Bits
First Type of CRC Detection
■
■
CRAM error checking ability (32-bit CRC)
during user mode, for use by the
CRC_ERROR pin.
There is only one 32-bit CRC value, and
this value covers all the CRAM data.
Second Type of CRC Detection
■
16-bit CRC embedded in every configuration data frame.
■
During configuration, after a frame of data is loaded into the device, the
pre-computed CRC is shifted into the CRC circuitry.
■
Simultaneously, the CRC value for the data frame shifted-in is calculated.
If the pre-computed CRC and calculated CRC values do not match,
nSTATUS is set low.
■
Every data frame has a 16-bit CRC. Therefore, there are many 16-bit CRC
values for the whole configuration bit stream.
■
Every device has a different length of configuration data frame.
This section focuses on the first type—the 32-bit CRC when the device is in user
mode.
Error Detection Registers
There are two sets of 32-bit registers in the error detection circuitry that store the
computed CRC signature and pre-calculated CRC value. A non-zero value on the
signature register causes the CRC_ERROR pin to set high.
Figure 9–1 shows the block diagram of the error detection block and the two related
32-bit registers: the signature register and the storage register.
Figure 9–1. Error Detection Block Diagram
Error Detection
State Machine
Control Signals
Compute & Compare
CRC
32
32-bit Storage
Register
32
32-bit Signature
Register
32
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 9: SEU Mitigation in Cyclone IV Devices
Error Detection Timing
9–5
Table 9–4 defines the registers shown in Figure 9–1.
Table 9–4. Error Detection Registers
Register
Function
32-bit signature
register
This register contains the CRC signature. The signature register contains the result of the user
mode calculated CRC value compared against the pre-calculated CRC value. If no errors are
detected, the signature register is all zeros. A non-zero signature register indicates an error in the
configuration CRAM contents.
The CRC_ERROR signal is derived from the contents of this register.
32-bit storage register
This register is loaded with the 32-bit pre-computed CRC signature at the end of the configuration
stage. The signature is then loaded into the 32-bit CRC circuit (called the Compute and Compare
CRC block, as shown in Figure 9–1) during user mode to calculate the CRC error. This register
forms a 32-bit scan chain during execution of the CHANGE_EDREG JTAG instruction. The
CHANGE_EDREG JTAG instruction can change the content of the storage register. Therefore, the
functionality of the error detection CRC circuitry is checked in-system by executing the instruction
to inject an error during the operation. The operation of the device is not halted when issuing the
CHANGE_EDREG instruction.
Error Detection Timing
When the error detection CRC feature is enabled through the Quartus II software, the
device automatically activates the CRC process upon entering user mode after
configuration and initialization is complete.
The CRC_ERROR pin is driven low until the error detection circuitry has detected a
corrupted bit in the previous CRC calculation. After the pin goes high, it remains high
during the next CRC calculation. This pin does not log the previous CRC calculation.
If the new CRC calculation does not contain any corrupted bits, the CRC_ERROR pin is
driven low. The 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 9–5 lists the minimum and maximum error detection frequencies.
Table 9–5. Minimum and Maximum Error Detection Frequencies
Device Type
Cyclone IV
© November 2009
Altera Corporation
Error
Detection
Frequency
Maximum Error
Detection
Frequency
Minimum Error
Detection
Frequency
Valid Divisors (2n)
80 MHz/2n
80 MHz
312.5 kHz
0, 1, 2, 3, 4, 5, 6, 7, 8
Cyclone IV Device Handbook, Volume 1
9–6
Chapter 9: SEU Mitigation in Cyclone IV Devices
Error Detection Timing
You can set a lower clock frequency by specifying a division factor in the Quartus II
software (for more information, refer to “Software Support”). The divisor is a power
of two (2), where n is between 0 and 8. The divisor ranges from one through 256. Refer
to Equation 9–1.
Equation 9–1.
80 MHz
Error detection frequency = -----------------n
2
CRC calculation time depends on the device and the error detection clock frequency.
Table 9–6 lists the estimated time for each CRC calculation with minimum and
maximum clock frequencies for Cyclone IV devices.
Table 9–6. CRC Calculation Time
Device
Minimum Time (ms) (1)
Maximum Time (s)
(2)
EP4CGX15
6
2.93
EP4CGX22
12
5.95
EP4CGX30
12
5.95
EP4CGX50
34
17.34
EP4CGX75
34
17.34
EP4CGX110
62
31.27
EP4CGX150
62
31.27
Notes to Table 9–6:
(1) The minimum time corresponds to the maximum error detection clock frequency and may vary with different
processes, voltages, and temperatures (PVT).
(2) The maximum time corresponds to the minimum error detection clock frequency and may vary with different PVT.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 9: SEU Mitigation in Cyclone IV Devices
Software Support
9–7
Software Support
Enabling the CRC error detection feature in the Quartus II software generates the
CRC_ERROR output to the optional dual purpose CRC_ERROR pin.
To enable the error detection feature using CRC, perform the following steps:
1. Open the Quartus II software and load a project using Cyclone IV devices.
2. On the Assignments menu, click Settings. The Settings dialog box appears.
3. In the Category list, select Device. The Device page appears.
4. Click Device and Pin Options. The Device and Pin Options dialog box appears as
shown in Figure 9–2.
5. In the Device and Pin Options dialog box (Figure 9–2), click the Error Detection
CRC tab.
6. Turn on Enable error detection CRC.
7.
In the Divide error check frequency by box, enter a valid divisor as documented
in Table 9–5 on page 9–5.
1
The divisor value divides down the frequency of the configuration
oscillator output clock. This output clock is used as the clock source for the
error detection process.
8. Click OK.
Figure 9–2. Enabling the Error Detection CRC Feature in the Quartus II Software
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
9–8
Chapter 9: SEU Mitigation in Cyclone IV Devices
Software Support
Accessing Error Detection Block Through User Logic
The error detection circuit stores the computed 32-bit CRC signature in a 32-bit
register. This signature is read out by user logic from the core. The
cycloneiv_crcblock primitive is a WYSIWYG component used to establish the
interface from the user logic to the error detection circuit. The
cycloneiv_crcblock primitive atom contains the input and output ports that
must be included in the atom. To access the logic array, the cycloneiv_crcblock
WYSIWYG atom must be inserted into your design.
Figure 9–3 shows the error detection block diagram in FPGA devices and shows the
interface that the WYSIWYG atom enables in your design.
Figure 9–3. Error Detection Block Diagram
80 MHz Internal Chip Oscillator
Clock Divider
(1 to 256 Factor)
VCC
CRC_ERROR
(Shown in BIDIR Mode)
Pre-Computed CRC
(Saved in the Option Register)
LDSRC
CRC_ERROR
SHIFTNLD
CRC
Computation
CLK
SRAM
Bits
REGOUT
Error Detection
Logic
Logic Array
1
The user logic is affected by the soft error failure, so reading out the 32-bit CRC
signature through the regout should not be relied upon to detect a soft error. You
should rely on the CRC_ERROR output signal itself, because this CRC_ERROR output
signal cannot be affected by a soft error.
To enable the cycloneiv_crcblock WYSIWYG atom, you must name the atom for
each Cyclone IV device accordingly.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 9: SEU Mitigation in Cyclone IV Devices
Software Support
9–9
Example 9–1 shows an example of how to define the input and output ports of a
WYSIWYG atom in a Cyclone IV device.
Example 9–1. Error Detection Block Diagram
cycloneiv_crcblock<crcblock_name>
(
.clk(<clock source>),
.shiftnld(<shiftnld source>),
.ldsrc(<ldsrc source>),
.crcerror(<crcerror out destination>),
.regout(<output destination>),
);
Table 9–7 lists the input and output ports that must be included in the atom.
Table 9–7. CRC Block Input and Output Ports (Part 1 of 2)
Port
Input/Output
Definition
<crcblock_name>
Input
Unique identifier for the CRC block, and represents any identifier name that is legal
for the given description language (for example, Verilog HDL, VHDL, and AHDL).
This field is required.
.clk(<clock
source>
Input
This signal designates the clock input of this cell. All operations of this cell are with
respect to the rising edge of the clock. Whether it is the loading of the data into the
cell or data out of the cell, it always occurs on the rising edge. This port is
required.
.shiftnld
(<shiftnld
Input
This signal is an input into the error detection block. If shiftnld=1, the data is
shifted from the internal shift register to the regout at each rising edge of clk.
If shiftnld=0, the shift register parallel loads either the pre-calculated CRC
value or the update register contents depending on the ldsrc port input. To do
this, the shiftnld needs to be driven low for at least two clock cycles. This port
is required.
Input
This signal is an input into the error detection block. If ldsrc=0, the
pre-computed CRC register is selected for loading into the 32-bit shift register at
the rising edge of clk when shiftnld=0. If ldsrc=1, the signature register
(result of the CRC calculation) is selected for loading into the shift register at the
rising edge of clk when shiftnld=0. This port is ignored when
shiftnld=1. This port is required.
source>)
.ldsrc (<ldsrc
source>)
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
9–10
Chapter 9: SEU Mitigation in Cyclone IV Devices
Recovering from CRC Errors
Table 9–7. CRC Block Input and Output Ports (Part 2 of 2)
Port
Input/Output
Definition
Output
This signal is the output of the cell that is synchronized to the internal oscillator of
the device (80-MHz internal oscillator) and not to the clk port. It asserts high if
the error block detects that a SRAM bit has flipped and the internal CRC
computation has shown a difference with respect to the pre-computed value. This
signal must be connected either to an output pin or a bidirectional pin. If it is
connected to an output pin, you can only monitor the CRC_ERROR pin (the
core cannot access this output). If the CRC_ERROR signal is used by core logic
to read error detection logic, this signal must be connected to a BIDIR pin. The
signal is fed to the core indirectly by feeding a BIDIR pin that has its output
enable port connected to VCC (see Figure 9–3 on page 9–8).
Output
This signal is the output of the error detection shift register synchronized to the
clk port, to be read by core logic. It shifts one bit at each cycle, so you should
clock the clk signal 31 cycles to read out the 32 bits of the shift register.
.crcerror
(<crcerror
indicator
output>)
.regout
(<registered
output>)
Recovering from CRC Errors
The system that the Altera FPGA resides in must control device reconfiguration. After
detecting an error on the CRC_ERROR pin, strobing the nCONFIG low directs the
system to perform the reconfiguration at a time when it is safe for the system to
reconfigure the FPGA.
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
might require a design to account for these errors.
Chapter Revision History
Table 9–8 lists the revision history for this chapter.
Table 9–8. Chapter Revision History
Date
Version
November 2009
1.0
Cyclone IV Device Handbook, Volume 1
Changes Made
Initial release.
© November 2009
Altera Corporation
10. JTAG Boundary-Scan Testing for
Cyclone IV Devices
CYIV-51010-1.0
This chapter describes the boundary-scan test (BST) features that are supported in
Cyclone® IV devices. The features are similar to Cyclone III devices, unless stated in
this chapter.
1
References to Cyclone IV devices in this chapter refer only to Cyclone IV GX devices.
Information about Cyclone IV E devices will be included in a future revision of this
chapter.
Cyclone IV devices support IEEE Std. 1149.1 and IEEE Std. 1149.6. The IEEE Std.
1149.6 is only supported on the high-speed serial interface (HSSI) transceivers in
Cyclone IV devices. The purpose of IEEE Std. 1149.6 is to enable board-level
connectivity checking between transmitters and receivers that are AC coupled
(connected with a capacitor in series between the source and destination).
This chapter includes the following sections:
■
“IEEE Std. 1149.6 Boundary-Scan Register” on page 10–2
■
“BST Operation Control” on page 10–3
■
“I/O Voltage Support in a JTAG Chain” on page 10–5
■
“Boundary-Scan Description Language Support” on page 10–6
f
For information about the JTAG instructions code with descriptions and IEEE
Std.1149.1 BST guidelines, refer to the IEEE 1149.1 (JTAG) Boundary-Scan Testing for
Cyclone III Devices chapter in volume 1 of the Cyclone III Device Handbook.
f
For information about the following topics, refer to AN 39: IEEE 1149.1 (JTAG)
Boundary-Scan Testing in Altera Devices:
© November 2009
■
IEEE Std. 1149.1 BST architecture and circuitry
■
TAP controller state-machine
■
Instruction mode
Altera Corporation
Cyclone IV Device Handbook, Volume 1
10–2
Chapter 10: JTAG Boundary-Scan Testing for Cyclone IV Devices
IEEE Std. 1149.6 Boundary-Scan Register
IEEE Std. 1149.6 Boundary-Scan Register
The boundary-scan cell (BSC) for HSSI transmitters (GXB_TX[p,n]) and receivers
(GXB_RX[p,n]) in Cyclone IV devices are different from the BSCs for I/O pins.
Figure 10–1 shows the Cyclone IV HSSI transmitter boundary-scan cell.
Figure 10–1. Cyclone IV HSSI Transmitter BSC with IEEE Std. 1149.6 BST Circuitry
BSCAN
PMA
SDOUT
0
AC JTAG
Output
Buffer
BSTX1
0
OE
D
Q
D
Q
1
1
Pad
Mission
(DATAOUT)
0
D
D
Q
Q
Tx Output
Buffer
0
1
BS0EB
1
nOE
Pad
OE Logic
M0 RHZ
0
0
BSTX0
D
D
Q
Q
AC JTAG
Output
Buffer
1
1
MEM_INIT
SDIN
SHIFT
CLK
UPDATE HIGHZ
AC_TEST
OE
AC_MODE
MODE
Capture
Update
Registers
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 10: JTAG Boundary-Scan Testing for Cyclone IV Devices
BST Operation Control
10–3
Figure 10–2 shows the Cyclone IV HSSI receiver BSC.
Figure 10–2. Cyclone IV HSSI Receiver BSC with IEEE Std. 1149.6 BST Circuitry
BSCAN
SDOUT
PMA
AC JTAG Test
Receiver
BSRX1
Hysteretic
Memory
0
BSOUT1
D
Q
Pad
Mission
(DATAIN)
Optional INTEST/RUNBIST
not supported
1
0
Hysteretic
Memory
BSOUT0
Q
Pad
AC JTAG Test
Receiver
BSRX0
D
Rx Input
Buffer
1
HIGHZ
SCIN SHIFT
CLK
UPDATE
AC_TEST MEM_INIT
MODE
AC_MODE
Capture
Update
Registers
f
For information about Cyclone IV user I/O boundary-scan cells, refer to the IEEE
1149.1 (JTAG) Boundary-Scan Testing for Cyclone III Devices chapter in volume 1 of the
Cyclone III Device Handbook.
BST Operation Control
Table 10–1 shows the boundary-scan register length for Cyclone IV devices.
Table 10–1. Cyclone IV Boundary-Scan Register Length
© November 2009
Altera Corporation
Device
Boundary-Scan Register Length
EP4CGX15
260
EP4CGX22
494
EP4CGX30
494
EP4CGX50
1006
EP4CGX75
1006
EP4CGX110
1495
EP4CGX150
1495
Cyclone IV Device Handbook, Volume 1
10–4
Chapter 10: JTAG Boundary-Scan Testing for Cyclone IV Devices
BST Operation Control
Table 10–2 shows the IDCODE information for Cyclone IV devices.
Table 10–2. 32-Bit Cyclone IV Device IDCODE
IDCODE (32 Bits) (1)
Device
Version
(4 Bits)
Part Number
(16 Bits)
Manufacturer Identity
(11 Bits)
LSB
(1 Bit) (2)
EP4CGX15
0000
0010 1000 0000 0001
000 0110 1110
1
EP4CGX22
0000
0010 1000 0001 0010
000 0110 1110
1
EP4CGX30
0000
0010 1000 0000 0010
000 0110 1110
1
EP4CGX50
0000
0010 1000 0010 0011
000 0110 1110
1
EP4CGX75
0000
0010 1000 0000 0011
000 0110 1110
1
EP4CGX110
0000
0010 1000 0001 0100
000 0110 1110
1
EP4CGX150
0000
0010 1000 0000 0100
000 0110 1110
1
Notes to Table 10–2:
(1) The MSB is on the left.
(2) The IDCODE LSB is always 1.
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 AC pins.
EXTEST_PULSE
The instruction code for EXTEST_PULSE is 0010001111. The EXTEST_PULSE
instruction generates three output transitions:
■
Driver drives data on the falling edge of TCK in UPDATE_IR/DR.
■
Driver drives inverted data on the falling edge of TCK after entering the
RUN_TEST/IDLE state.
■
Driver drives data on the falling edge of TCK after leaving the RUN_TEST/IDLE
state.
EXTEST_TRAIN
The instruction code for EXTEST_TRAIN is 0001001111. The EXTEST_TRAIN
instruction behaves the same as 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.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 10: JTAG Boundary-Scan Testing for Cyclone IV Devices
I/O Voltage Support in a JTAG Chain
10–5
I/O Voltage Support in a JTAG Chain
A Cyclone IV device operating in BST mode uses four required pins: TDI, TDO, TMS,
and TCK. The TDO output pin and all JTAG input pins are powered by the VCCIO power
supply of I/O Bank 9.
A JTAG chain can contain several different devices. However, you must use caution if
the chain contains devices that have different VCCIO levels. The output voltage level of
the TDO pin must meet the specification of the TDI pin it drives. For example, a device
with a 3.3-V TDO pin can drive a device with a 5.0-V TDI pin because 3.3 V meets the
minimum TTL-level VIH for the 5.0-V TDI pin.
1
For multiple devices in a JTAG chain with 3.0-V/3.3-V I/O standard, you must
connect a 25-Ω series resistor on a TDO pin driving a TDI pin.
You can also interface the TDI and TDO lines of the devices that have different VCCIO
levels by inserting a level shifter between the devices. If possible, the JTAG chain
should have a device with a higher VCCIO level driving a device with an equal or lower
VCCIO level. This way, a level shifter may be required only to shift the TDO level to a
level acceptable to the JTAG tester.
Figure 10–3 shows the JTAG chain of mixed voltages and how a level shifter is
inserted in the chain.
Figure 10–3. JTAG Chain of Mixed Voltages
Must be
3.3-V
tolerant
TDI
3.3 V
VCCIO
2.5 V
VCCIO
Tester
TDO
© November 2009
Altera Corporation
Level
Shifter
1.5 V
VCCIO
1.8 V
VCCIO
Shift TDO to
level accepted by
tester if necessary
Must be
1.8-V
tolerant
Must be
2.5-V
tolerant
Cyclone IV Device Handbook, Volume 1
10–6
Chapter 10: JTAG Boundary-Scan Testing for Cyclone IV Devices
Boundary-Scan Description Language Support
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.
f
To download BSDL files for IEEE Std. 1149.6-compliant Cyclone IV devices, visit the
Altera® website at www.altera.com.
f
You can also generate BSDL files (pre-configuration and post-configuration) for
IEEE std. 1149.6-compliant Cyclone IV devices with the Quartus® II software
version 9.1 SP1 and later. For more information about the procedure to generate BSDL
files using the Quartus II software, visit the Altera website at www.altera.com.
Chapter Revision History
Table 10–3 lists the revision history for this chapter.
Table 10–3. Chapter Revision History
Date
Version
November 2009
1.0
Cyclone IV Device Handbook, Volume 1
Changes Made
Initial release.
© November 2009
Altera Corporation
11. Power Requirements for
Cyclone IV Devices
CYIV-51011-1.0
This chapter describes the static power and dynamic power that makes up the total
power requirements of an Altera ® Cyclone® IV FPGA. Static power is the power
consumed by the FPGA when it is configured while no clocks are operational.
Dynamic power consist of the switching power when the device is configured and
running.
The Quartus® II software optimizes all designs with Cyclone IV 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.
This chapter includes the following sections:
f
■
“External Power Supply Requirements” on page 11–1
■
“Hot-Socketing Specifications” on page 11–2
■
“Hot-socketing Feature Implementation” on page 11–3
■
“Power-On Reset Circuitry” on page 11–3
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.
External Power Supply Requirements
This section describes the different external power supplies needed to power
Cyclone IV devices. Table 11–1 and Table 11–2 list the descriptions of external power
supply pins for Cyclone IV GX and Cyclone IV E devices respectively.
f
For each Altera recommended power supply’s operating conditions, refer to the
Cyclone IV Device Data Sheet chapter in volume 3.
f
For power supply pin connection guidelines and power regulator sharing, refer to the
Cyclone IV Device Family Pin Connection Guidelines.
Table 11–1. Cyclone IV GX Power Supply Descriptions (Part 1 of 2)
Power Supply Pin
© November 2009
Nominal Voltage Level (V)
Description
VCCINT
1.2
Core voltage, PCI Express
(PCIe) Hard IP block, and
transceiver physical coding
sublayer (PCS) power supply
VCCA (1)
2.5
PLL analog power supply
VCCD_PLL
1.2
PLL digital power supply
VCCIO (2)
1.2, 1.5, 1.8, 2.5, 3.0, 3.3
I/O banks power supply
Altera Corporation
Cyclone IV Device Handbook, Volume 1
11–2
Chapter 11: Power Requirements for Cyclone IV Devices
Hot-Socketing Specifications
Table 11–1. Cyclone IV GX Power Supply Descriptions (Part 2 of 2)
Power Supply Pin
VCC_CLKIN (3), (4)
Nominal Voltage Level (V)
1.2, 1.5, 1.8, 2.5, 3.0, 3.3
Description
Differential clock input pins
power supply
VCCH_GXB
2.5
Transceiver output (Tx) buffer
power supply
VCCA_GXB
2.5
Transceiver physical medium
attachment (PMA) and auxiliary
power supply
VCCL_GXB
1.2
Transceiver PMA and auxiliary
power supply
0
GND
Ground
Notes to Table 11–1:
(1) VCCA must be powered up even if the phase-locked loop (PLL) is not used.
(2) I/O Banks 3, 8, and 9 contain configuration pins. The VCCIO level of I/O Banks 3 and 9 can only be powered up to
1.5 V, 1.8 V, 2.5 V, 3.0 V, and 3.3 V. For Fast Passive Parallel (FPP) configuration mode, the VCCIO level of I/O Bank
8 must be powered up to 1.5 V, 1.8 V, 2.5 V, 3.0 V, and 3.3 V.
(3) EP4CGX15, EP4CGX22, and EP4CGX30 devices have two VCC_CLKIN dedicated clock input I/O located at
Banks 3A and 8A. EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150 devices have four VCC_CLKIN
dedicated clock input I/O bank located at Banks 3A, 3B, 8A, and 8B.
(4) VCC_CLKIN must be set to 2.5 V if the CLKIN is used as high-speed serial interface (HSSI) refclk.
VCC_CLKIN located at I/O Banks 3B and 8B only support a nominal voltage level of 2.5 V for LVDS input function
because they are dedicated for HSSI refclk.
Table 11–2. Cyclone IV E Power Supply Descriptions
Power Supply Pin
Nominal Voltage Level (V)
Description
VCCINT
1.0
Core voltage power supply
VCCA (1)
2.5
PLL analog power supply
VCCD_PLL
1.0
PLL digital power supply
1.2, 1.5, 1.8, 2.5, 3.0, 3.3
I/O banks power supply
VCCIO
GND
0
Ground
Note to Table 11–2:
(1) VCCA must be powered up even if the PLL is not used.
Hot-Socketing Specifications
Cyclone IV devices are hot-socketing compliant without the need for any external
components or special design requirements. Hot-socketing support in Cyclone IV
devices have 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.
Cyclone IV Device Handbook, Volume 1
© November 2009
Altera Corporation
Chapter 11: Power Requirements for Cyclone IV Devices
Hot-socketing Feature Implementation
11–3
Devices Driven Before Power-Up
You can drive signals into regular Cyclone IV E I/O pins or regular and transceiver
Cyclone IV GX I/O pins before or during power-up or power-down without
damaging the device. Cyclone IV devices support any power-up or power-down
sequence to simplify system level design.
I/O Pins Remain Tri-stated During Power-Up
The output buffers of Cyclone IV devices are turned off during system power up or
power down. Cyclone IV devices do not drive out until the device is configured and
working in recommended operating conditions. The I/O pins are tri-stated until the
device enters user mode.
A possible concern for semiconductor devices in general regarding hot-socketing is
the potential for latch up. Latch up can occur when electrical subsystems are
hot-socketed into an active system. During hot-socketing, the signal pins may be
connected and driven by the active system before the power supply can provide
current to the VCC of the device and ground planes. This condition can lead to latch up
and cause a low-impedance path from VCC to ground in the device. As a result, the
device extends a large amount of current, possibly causing electrical damage.
The design of the I/O buffers and hot-socketing circuitry ensures that Cyclone IV
devices are immune to latch up during hot-socketing.
f
For more information about the hot-socketing specification, refer to the Cyclone IV
Device Data Sheet chapter in volume 3 and the Hot-Socketing and Power-Sequencing
Feature and Testing for Altera Devices white paper.
Hot-socketing Feature Implementation
The hot-socketing circuit does not include CONF_DONE, nCEO, and nSTATUS pins to
ensure that they are able to operate during configuration. The expected behavior for
these pins is to drive out during power up and power down sequences.
1
Altera uses GND as reference for hot-socketing operation and I/O buffer designs. To
ensure proper operation, Altera recommends connecting the GND between boards
before connecting 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.
Power-On Reset Circuitry
Cyclone IV devices contain power-on reset (POR) circuitry to keep the device in a
reset state until the power supply voltage levels have stabilized during power up.
During POR, all user I/O pins are tri-stated until the power supplies reach the
recommended operating levels. In addition, the POR circuitry also ensures the VCCIO
level of I/O banks that contain configuration pins reach an acceptable level before
configuration is triggered.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 1
11–4
Chapter 11: Power Requirements for Cyclone IV Devices
Chapter Revision History
The POR circuit of the Cyclone IV device monitors the VCCINT, VCCA, and VCCIO that
contain configuration pins during power-on. You can power up or power down the
VCCINT, VCCA, and VCCIO pins in any sequence. The VCCINT, VCCA, and VCCIO must have a
monotonic rise to their steady state levels. All V CCA pins must be powered to 2.5V
(even when PLLs are not used), and must be powered up and powered down at the
same time.
After the Cyclone IV device enters the user mode, the POR circuit continues to
monitor the VCCINT and VCCA pins so that a brown-out condition during user mode is
detected. If the VCCINT or V CCA voltage sags below the POR trip point during user
mode, the POR circuit resets the device. If the VCCIO voltage sags during user mode,
the POR circuit does not reset the device.
In some applications, it is necessary for a device to wake up very quickly to begin
operation. Cyclone IV devices offer the Fast-On feature to support fast wake-up time
applications. The MSEL pin settings determine the POR time (t POR ) of the device.
f
For more information about the MSEL pin settings, refer to the Configuration, Design
Security, and Remote System Upgrades in Cyclone IV Devices chapter in volume 1.
f
For more information about the POR specifications, refer to the Cyclone IV Device Data
Sheet chapter in volume 3.
Chapter Revision History
Table 11–3 lists the revision history for this chapter.
Table 11–3. Chapter Revision History
Date
Version
November 2009
1.0
Cyclone IV Device Handbook, Volume 1
Changes Made
Initial release.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 2
101 Innovation Drive
San Jose, CA 95134
www.altera.com
CYIV-5V2-1.0
Copyright © 2009 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device designations, and all other
words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other
countries. RSDS and PPDS are registered trademarks of National Semiconductor. All other product or service names are the property of their respective holders. Altera products
are protected under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. 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
Corporation. 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.
Contents
Chapter Revision Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Additional Information
About this Handbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-v
How to Contact Altera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-v
Typographic Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-v
Section 1. Transceivers
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Chapter 1. Cyclone IV Transceivers Architecture
Architectural Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Top-Level Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Receive (Rx) Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7
Transmit (Tx) Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9
Clock and MPLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
Power-Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11
PHY Interface for the PCI Express Architecture (PIPE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12
Tx Datapath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
Tx Phase Compensation FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
Byte Serializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
8B10B Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
Serializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-16
Tx Output Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17
PCI Express Receiver Detect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18
Rx Datapath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18
Rx Input Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19
Clock Data Recovery (CDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20
Deserializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-21
Word Aligner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-21
Rate Match FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23
Rate Match FIFO in PCI Express (PIPE) Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23
Rate Match FIFO in GIGE Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23
8B10B Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23
Byte Deserializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24
Rx Phase Compensation FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24
Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25
Loopback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-31
Reverse Parallel Loopback Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-32
Serial Loopback Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-32
Reverse Serial Loopback Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-33
Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-33
Reset Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-34
PCI Express (PIPE) Mode Reset Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-36
Initialization/Compliance Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-36
Normal Operation Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-37
GIGE Reset Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-37
Power Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-38
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
ii
Contents
Parameter Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLL/Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ports/Cal Blk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Loopback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rx Analog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tx Analog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Protocol Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cyclone IV Device Handbook, Volume 2
1-39
1-40
1-41
1-42
1-43
1-43
1-43
1-44
© November 2009 Altera Corporation
Chapter Revision Dates
The chapters in this book, Cyclone IV Device Handbook, Volume 2, were revised on the
following dates. Where chapters or groups of chapters are available separately, part
numbers are listed.
Chapter 1
© November 2009
Cyclone IV Transceivers Architecture
Revised:
November 2009
Part Number: CYIV-52001-1.0
Altera Corporation
Cyclone IV Device Handbook, Volume 2
iv
Cyclone IV Device Handbook, Volume 2
Chapter Revision Dates
© November 2009
Altera Corporation
Additional Information
About this Handbook
This handbook provides comprehensive information about the Altera® Cyclone® IV
family of devices.
How to Contact Altera
For the most up-to-date information about Altera products, see the following table.
Contact (Note 1)
Contact
Method
Address
Technical support
Website
www.altera.com/support
Technical training
Website
www.altera.com/training
Email
custrain@altera.com
Non-technical support (General)
Email
nacomp@altera.com
(Software Licensing)
Email
authorization@altera.com
Note:
(1) You can also contact your local Altera sales office or sales representative.
Typographic Conventions
The following table shows the typographic conventions that this document uses.
Visual Cue
Meaning
Bold Type with Initial Capital
Letters
Indicates 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, dialog box options, software utility names, and other GUI labels. For
example, \qdesigns directory, d: drive, and chiptrip.gdf.
Italic Type with Initial Capital Letters
Indicates document titles. For example, AN 519: Stratix IV Design Guidelines.
Italic type
Indicates variables. For example, n + 1.
Variable names are enclosed in angle brackets (< >). For example, <file name> and
<project name>.pof.
Initial Capital Letters
Indicates keyboard keys and menu names. For example, 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.”
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 2
Info–vi
Additional Information
Visual Cue
Courier type
Meaning
Indicates signal, port, register, bit, block, and primitive names. For example, data1,
tdi, and input. Active-low signals are denoted by suffix n. For example,
resetn.
Indicates command line commands and anything that must be typed exactly as it
appears. For example, c:\qdesigns\tutorial\chiptrip.gdf.
Also indicates sections of an actual file, such as a Report File, references to parts of
files (for example, the AHDL keyword SUBDESIGN), and logic function names (for
example, TRI).
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.
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.
r
The angled arrow instructs you to press Enter.
f
The feet direct you to more information about a particular topic.
Cyclone IV Device Handbook, Volume 2
© November 2009
Altera Corporation
Section 1. Transceivers
This section provides a complete overview of all features relating to the Cyclone® IV
device transceivers. This section includes the following chapters:
■
Chapter 1, Cyclone IV Transceivers Architecture
Revision History
Refer to the chapter for its own specific revision history. For information about when
the chapter was updated, refer to the Chapter Revision Dates section, which appears
in the complete handbook.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–2
Cyclone IV Device Handbook, Volume 2
Chapter:
© November 2009
Altera Corporation
1. Cyclone IV Transceivers Architecture
CYIV-52001-1.0
Cyclone® IV GX devices include up to eight full-duplex transceivers at serial data
rates between 600 Mbps and 3.125 Gbps in a low-cost FPGA. Cyclone IV GX
transceivers are designed to support the serial protocols listed in Table 1–1.
Table 1–1. Protocol Support
Protocol
Data Rate (Gbps)
PCI Express Gen1 (×1, ×2 [(1), (2)], and ×4)
2.5
Gigabit Ethernet
1.25
Basic (1)
0.6–3.125
Common Public Radio Interface (CPRI) (1)
up to 3.072
XAUI (1)
3.125
Triple rate Serial Digital Interface (SDI) (1)
up to 2.97
Serial RapidIO (SRIO) (1)
up to 3.125
V-by-One (1)
3.0
DisplayPort (1)
2.7
SATA (1)
up to 3.0
Notes to Table 1–1:
(1) These protocols will be supported in a future version of the Quartus II software.
(2) Cyclone IV GX devices support PCI Express Gen1 ×2, while allowing the remaining two channels within the same
transceiver block for other protocol use. Only Channel 0 and Channel 1 support PCI Express Gen1 ×2
implementation.
In addition, the devices include a hard IP implementation of a PCI Express MegaCore
function. This implementation supports Gen1 ×1, ×2, and ×4 operations configured in
root port or endpoint mode, making the Cyclone IV GX device an excellent platform
for low-cost PCI Express (PIPE) designs.
Cyclone IV GX transceivers are structured into full-duplex (transmitter and receiver)
channel groups called transceiver blocks. The total number of transceiver channels
and the location of transceiver blocks varies from device to device.
Each transceiver block includes two multi-purpose phase locked loops (MPLL) that
provide clocks to the transceiver channels. Hard IP for PCI Express is available only
for transceiver block GXBL0. Figure 1–1 and Figure 1–2 show the layout of transceiver
resources in Cyclone IV GX devices.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–2
Chapter 1: Cyclone IV Transceivers Architecture
Figure 1–1. Cyclone IV GX Devices with One Transceiver Block
Transceiver Block GXBL0
MPLL
Channel 3 (1)
Channel 2 (1)
Channel 1
hard IP
for
PCIe
EP4CGX15
EP4CGX22
EP4CGX30
EP4CGX50 (2)
EP4CGX75 (2)
EP4CGX110 (2)
EP4CGX150 (2)
Channel 0
MPLL
Notes to Figure 1–1:
(1) Channel 2 and Channel 3 are not available in the EP4CGX15 and F169 package type in EP4CGX22 and EP4CGX30.
(2) Applicable for the F484 package type only.
Figure 1–2. Cyclone IV GX Devices with Two Transceiver Blocks
Transceiver Block GXBL1
EP4CGX50
EP4CGX75
EP4CGX110
EP4CGX150
MPLL
Channel 3
Channel 2
Channel 1
Channel 0
MPLL
Transceiver Block GXBL0
MPLL
Channel 3
Channel 2
Channel 1
hard IP
for
PCIe
Channel 0
MPLL
You can instantiate and configure Cyclone IV GX transceivers with the ALTGX
MegaWizard™ Plug-In Manager in the Quartus® II software. The ALTGX
megafunction port lists and parameter settings are detailed in “Top-Level Signals” on
page 1–4 and “Parameter Settings” on page 1–39.
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Architectural Overview
1–3
Architectural Overview
Figure 1–3 shows the primary modules in a Cyclone IV GX transceiver channel.
Figure 1–3. Primary Modules of a Cyclone IV GX Transceiver Channel
FPGA to Fabric Interface
PCS to PMA Interface
Transmitter Channel PCS
FPGA
Fabric
Tx Output
Buffer
Tx Phase
Comp
FIFO
Byte Serializer
PIPE Interface
PCI Express hard IP
Transmitter Channel PMA
8B10B Encoder
Serializer
Receiver Channel PCS
Rx
Phase
Comp
FIFO
Byte
Deserializer
8B10B
Decoder
Receiver Channel PMA
Rate
Match
FIFO
Word
Aligner
Deserializer
Rx Input
Buffer
CDR
Each Cyclone IV GX transceiver channel contains a transmitter (Tx) and a receiver
(Rx) datapath. Each Tx and Rx datapath is further structured into physical media
attachment (PMA) and physical coding sublayer (PCS). Outbound parallel data from
the FPGA fabric flows through the Tx PCS and Tx PMA, and transmitted as serial
data. Received inbound serial data flows through the Rx PMA and Rx PCS into the
FPGA fabric.
1
When configured in PCI Express (PIPE) functional mode, the transceiver interfaces
through the PIPE interface to either FPGA fabric (to implement the PHY-MAC layer,
data link layer, and transaction layer using soft IP) or the hard IP for PCI Express. The
PIPE interface is compliant with Version 2.00 of the PHY Interface for the PCI Express
Architecture (PIPE) specification.
The following briefly describes the PCS and PMA modules:
■
PCS—Includes hard logic implementation of digital functionality within the
transceiver that is compliant with supported protocols.
■
PMA—Includes analog circuitry for I/O buffers, clock data recovery (CDR),
serializer/deserializer (SERDES), and programmable pre-emphasis and
equalization to optimize serial data channel performance.
Table 1–2 lists the widths and supported frequency for FPGA fabric-transceiver
interfaces and widths for PMA-PCS interfaces.
Table 1–2. FPGA Fabric-Transceiver Interface Width and Frequency, and PCS-PMA Interface
Width (Part 1 of 2)
Interfaces
FPGA fabric-transceiver (PCS) interface widths
FPGA fabric-transceiver (PCS) interface frequencies
© November 2009 Altera Corporation
Values
8/10 bit, 16/20 bit
125 MHz, 156.25 MHz (1)
Cyclone IV Device Handbook, Volume 2
1–4
Chapter 1: Cyclone IV Transceivers Architecture
Top-Level Signals
Table 1–2. FPGA Fabric-Transceiver Interface Width and Frequency, and PCS-PMA Interface
Width (Part 2 of 2)
Interfaces
PCS-PMA interface widths
Values
8/10 bit
Note to Table 1–2:
(1) For EP4CGX50, EP4CGX75, EP4CGX110 and EP4CGX150 devices only.
The PCI Express hard IP block includes the hard IP implementation PCI Express
MegaCore function that contains the transaction, data link, and physical layers. The
module supports 1, 2, or 4 lanes with a maximum payload of 256 bytes at Gen1
frequency. The application interface is 64 bits with a data width of 16 bits per channel
running at up to 125 MHz. As a hard macro and a verified block, it uses very few
FPGA resources, while significantly reducing design risk and the time required to
achieve timing closure. It is compliant with the PCI Express Base Specification 1.1. You
do not have to pay a licensing fee to use this module.
f
For more information about the PCI Express hard IP block, refer to the PCI Express
Compiler User Guide.
Top-Level Signals
The ALTGX megafunction requires a relatively small number of signals. There are
also a large number of optional signals that facilitate debugging by providing
information about the state of the transceiver. Figure 1–4 shows the top-level ports of
the ALTGX transceiver when configured in PCI Express (PIPE) functional modes.
Within each signal group, the required signals are listed first, with the optional signals
following.
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Top-Level Signals
1–5
Figure 1–4. ALTGX Ports for the PCI Express (PIPE) Functional Modes
PCI Express (PIPE) ×N (1)
Required
Receive
(Rx)
Optional
Clock
& PLL
Required
Optional
Required
Power
Down
Optional
rx_datain[N-1:0]
rx_dataout[16N-1:0]
rx_digitalreset
rx_analogreset
tx_dataout[N-1:0]
tx_datain[16N-1:0]
tx_ctrlenable[2N-1:0]
tx_clkout (when N=1 only)
tx_digitalreset
tx_coreclk[N-1:0]
tx_phase_comp_fifo_error[N-1:0]
tx_detectrxloop[N-1:0]
tx_forcedisp[N-1:0]
tx_dispval[N-1:0]
tx_invpolarity[N-1:0]
rx_coreclk[N-1:0]
rx_locktorefclk[N-1:0]
rx_locktodata[N-1:0]
rx_ctrldetect[2N-1:0]
rx_errdetect[2N-1:0]
rx_disperr[2N-1:0]
rx_freqlocked[N-1:0]
rx_signaldetect[N-1:0]
pipeelecidle[N-1:0]
rx_phase_comp_fifo_error[N-1:0]
pipestatus[3N-1:0]
rx_syncstatus[2N-1:0]
pipe8b10binvpolarity[N-1:0]
rx_patterndetect[2N-1:0]
pipedatavalid[N-1:0]
rx_rlv[N-1:0]
pipephydonestatus[N-1:0]
pll_inclk
tx_forceelecidle[N-1:0]
cal_blk_clk
rx_elecidleinfersel[3N-1:0]
coreclkout (when N>1 only)
fixedclk
pll_locked
Required
Transmit
(Tx)
Optional
Required
Optional
PIPE Interface
(PCIe)
(2)
pll_powerdown
gxb_powerdown
cal_blk_powerdown
powerdn [2N-1:0]
Notes to Figure 1–4:
(1) N = 1 (non-bonded) or 4 (bonded).
(2) The signals in blue are for simulation of the hard IP PCI Express MegaCore function or for use with soft IP implementation.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–6
Chapter 1: Cyclone IV Transceivers Architecture
Top-Level Signals
Figure 1–5 shows the top-level ports of the ALTGX transceiver when configured in
GIGE functional mode.
Figure 1–5. ALTGX Ports for the GIGE Functional Mode
GIGE
rx_datain
rx_dataout[7:0]
rx_digitalreset
rx_analogreset
Required
rx_coreclk
rx_locktorefclk
rx_locktodata
rx_ctrldetect
rx_errdetect
rx_disperr
rx_freqlocked
rx_phase_comp_fifo_error
rx_syncstatus
rx_patterndetect
rx_runningdisp
rx_rmfifofull
rx_rmfifoempty
rx_rmfifodatainserted
rx_rmfifodatadeleted
rx_rlv
rx_invpolarity
Receive
(Rx)
Optional
Clock
& PLL
Power
Down
tx_dataout
tx_datain[7:0]
tx_ctrlenable
tx_clkout
tx_digitalreset
tx_coreclk
tx_phase_comp_fifo_error
tx_disval
tx_invpolarity
Required
Transmit
(Tx)
Optional
pll_inclk
cal_blk_clk
pll_locked
Required
Optional
pll_powerdown
gxb_powerdown
cal_blk_powerdown
Required
Optional
Table 1–3 lists the ALTGX transceiver interfaces with links to the subsequent sections
that describe each interface.
Table 1–3. Signal Groups in the ALTGX Megafunction
Signal Group
PCI Express
GIGE
Receive (Rx) Port
v
v
“Receive (Rx) Port” on page 1–7
Transmit (Tx) Port
v
v
“Transmit (Tx) Port” on page 1–9
Clock and MPLL
v
v
“Clock and MPLL” on page 1–10
Power Down
v
v
“Power-Down” on page 1–11
PIPE
v
—
“PHY Interface for the PCI Express Architecture (PIPE)” on page 1–12
Cyclone IV Device Handbook, Volume 2
Description
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Top-Level Signals
1–7
Receive (Rx) Port
Table 1–4 describes the signals that comprise the Rx port.
Table 1–4. Rx Signals (Part 1 of 3)
Signal
I/O
Required
Input
Yes
Receiver serial data input port.
Output
Yes
Parallel data output from the receiver to the FPGA fabric. The bus width
<n> is the channel width (x) multiplied by the number of channels (N)
per instance: <n> = xN-1
rx_digitalreset
Input
Yes
Receiver PCS reset. When asserted, the receiver PCS blocks are reset.
The minimum pulse width for the reset signal is two parallel clock
cycles.
rx_analogreset
Input
Yes
Receiver PMA reset. When asserted, analog circuitry in the receiver
PMA block is reset. The minimum pulse width is two parallel clock
cycles.
rx_clkout
Output
No
This is the parallel clock that clocks parallel data out of the Rx
deserializer.
rx_coreclk
Input
No
Optional read clock port for the receiver phase compensation FIFO.
rx_locktorefclk
Input
No
Receiver CDR lock-to-reference (LTR) mode control signal. The
rx_locktorefclk and rx_locktodata signals control whether
the receiver CDR is in LTR or lock-to-data (LTD) mode, as follows:
rx_datain
rx_dataout[<n>:0]
Description
[rx_locktodata:rx_locktorefclk]
■
2'b00—receiver CDR is in automatic mode
■
2b'01—receiver CDR is in LTR clock mode
■
2b'1x—receiver CDR is in LTD mode
This signal is asynchronous.
rx_locktodata
Input
No
Receiver CDR LTD mode control signal. When asserted, the receiver
CDR is forced to LTD mode. When de-asserted, the receiver CDR lock
mode depends on the rx_locktorefclk signal level.
rx_ctrldetect
Output
No
Receiver control code indicator. When asserted, indicates that the
associated received code group is a control (/Kx.y/) code group. A low
level indicates that the associated received code group is a data (/Dx.y/)
code group.
rx_errdetect
Output
No
8B10B code group violation or disparity error indicator. When asserted,
indicates that a code group violation or disparity error was detected on
the associated received code group. Use with the rx_disperr signal
to differentiate between a code group violation or a disparity error as
follows:
[rx_errdetect:rx_disperr]
rx_disperr
Output
© November 2009 Altera Corporation
No
■
2'b00—no error
■
2'b10—code group violation
■
2'b11—disparity error or both
8B10B disparity error indicator. When asserted, indicates that a
disparity error was detected on the associated received code group.
Cyclone IV Device Handbook, Volume 2
1–8
Chapter 1: Cyclone IV Transceivers Architecture
Top-Level Signals
Table 1–4. Rx Signals (Part 2 of 3)
Signal
rx_freqlocked
I/O
Required
Description
Output
No
An optional port that indicates whether the parts per million (PPM)
difference is within the allowed limit. When high, the PPM difference is
within the limit to the provided reference clock.
This is an asynchronous signal.
rx_signaldetect
Output
No
Signal threshold detect indicator. Available only in PCI Express (PIPE)
mode. When asserted, this indicates that the signal present at the
receiver input buffer is above the programmed signal detection
threshold value.
If the electrical idle inference block is disabled in PCI Express (PIPE)
mode, the rx_signaldetect signal is inverted and driven on the
pipeelecidle port.
This is an asynchronous signal.
rx_phase_comp_
fifo_error
Output
No
Receiver phase compensation FIFO full or empty indicator. When
asserted, it indicates that the receiver phase compensation FIFO is
either full or empty.
rx_syncstatus
Output
No
Indicates presence or absence of synchronization.
rx_patterndetect
Output
No
Indicates when the word alignment logic detects the alignment pattern
in the current word boundary.
rx_rlv
Output
No
Run-length violation indicator. A high pulse indicates that the number of
consecutive 1s or 0s in the received data stream exceeds the
programmed run length violation threshold.
This signal is asynchronous. It is driven for a minimum of two parallel
clock cycles in configurations without a byte serializer and a minimum
of three parallel clock cycles in configurations with a byte serializer.
rx_invpolarity
Input
No
Generic receiver polarity inversion control. Useful feature for correcting
situations where the positive and negative signals of the differential
serial link are accidentally swapped during board layout. When
asserted, the input data word to the word aligner is inverted. This signal
is not available for PCI Express (PIPE) mode.
Asynchronous signal.
rx_runningdisp
Output
No
8B10B running disparity indicator. When asserted, data on the
rx_dataout port was received with a negative running disparity. A
low level indicates that data on the rx_dataout port was received
with a positive running disparity.
rx_rmfifofull
Output
No
Rate match FIFO full status indicator. When asserted, the rate match
FIFO is full. Driven for a minimum of two serial clock cycles in
configurations without a byte serializer and a minimum of three
recovered clock cycles in configurations with a byte serializer.
Not available for PCI Express (PIPE) mode.
rx_rmfifoempty
Output
No
Rate match FIFO empty status indicator. When asserted, the rate match
FIFO is empty. Driven for a minimum of two serial clock cycles in
configurations without a byte serializer and a minimum of three
recovered clock cycles in configurations with a byte serializer.
Not available for PCI Express (PIPE) mode.
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Top-Level Signals
1–9
Table 1–4. Rx Signals (Part 3 of 3)
Signal
I/O
Required
Description
rx_rmfifodata
inserted
Output
No
Rate match FIFO insertion status indicator. When asserted, the rate
match pattern byte is inserted to compensate for the PPM difference in
the reference clock frequencies between the upstream transmitter and
the local receiver.
rx_rmfifodata
deleted
Output
No
Rate match FIFO deletion status indicator. When asserted, the rate
match pattern byte is deleted to compensate for the PPM difference in
the reference clock frequencies between the upstream transmitter and
the local receiver.
Transmit (Tx) Port
Table 1–5 describes the signals that comprise the Tx port.
Table 1–5. Tx Signals (Part 1 of 2)
Signal
I/O
Required
Output
Yes
Transmitter serial data output signal.
tx_datain[<n>:0]
Input
Yes
Parallel data input from the FPGA fabric to the transmitter. The bus width
<n> is the channel width (x) multiplied by the number of channels (N)
per instance: <n> = xN-1
tx_ctrlenable
Input
Yes
8B10B encoder /Kx.y/ or /Dx.y/ control. When asserted, the 8B10B
encoder encodes the data on the tx_datain port as a /Kx.y/ control
code group. When de-asserted, it encodes the data on the tx_datain
port as a /Dx.y/ data code group.
Output
Yes
FPGA fabric-transceiver interface clock. Each channel has a
tx_clkout signal. This clock signal clocks parallel data tx_datain
from the FPGA fabric into the transmitter.
tx_digitalreset
Input
Yes
Transmitter PCS reset. When asserted, the transmitter PCS blocks is
reset. The minimum pulse width is two parallel clock cycles.
tx_coreclk
input
No
Optional write clock port for the transmitter phase compensation FIFO.
tx_phase_comp_
fifo_error
Output
No
Transmitter phase compensation FIFO full or empty indicator. When
asserted, this indicates that the transmitter phase compensation FIFO is
either full or empty.
tx_detectrxloop
Input
No
Receiver detect or PCI Express (PIPE) loopback control. The functionality
is equivalent to the TxDetectRx/Loopback signal defined in the
PHY Interface for PCI Express Architecture, Version 2.0.
tx_dataout
tx_clkout
Description
When asserted in the P1 power state with the tx_forceelecidle
signal asserted, the transmitter buffer begins the receiver detection
operation to determine if there is a valid receiver downstream. This
signal must be de-asserted when the pipephydonestatus signal
indicates receiver detect completion. When asserted in the P0 power
state with the tx_forceelecidle signal de-asserted, the
transceiver datapath is dynamically configured to support reverse
parallel loopback mode.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–10
Chapter 1: Cyclone IV Transceivers Architecture
Top-Level Signals
Table 1–5. Tx Signals (Part 2 of 2)
Signal
I/O
Required
Description
tx_forcedisp
Input
No
Forces the 8B10B encoder to encode with negative running disparity.
Functionally equivalent to the TxCompliance signal defined in the
PHY Interface for PCI Express Architecture, Version 2.0. This must only
be asserted when transmitting the first byte of the PCI Express
(PIPE)-compliance pattern to force the 8B10B encoder with a negative
running disparity.
tx_dispval
Input
No
8B10B encoder forces disparity value. Determines whether the 8B10B
encoder will code the incoming word using positive or negative disparity.
tx_invpolarity
Input
No
Transmitter polarity inversion control. This feature is useful for
correcting situations where the positive and negative signals of the
differential serial link are accidentally swapped during board layout.
When asserted, the polarity of input data to the serializer is inverted.
Asynchronous signal.
Clock and MPLL
Table 1–6 describes the MPLL and clock signals.
Table 1–6. Clock and MPLL Signals
Signal
I/O
Required
pll_inclk
Input
Yes
Input reference clock for the MPLL.
cal_blk_clk
Input
Yes
Clock for the transceiver calibration block.
Output
Yes (1)
The clock output signal from the PCS for bonded configurations.
Input
No
125-MHz clock for receiver detect in PCI Express (PIPE) mode.
Output
No
MPLL lock indicator. When asserted, indicates that the MPLL is locked to the input
reference clock.
coreclkout
fixedclk
pll_locked
Description
This signal is asynchronous.
Note to Table 1–6:
(1) coreclkout replaces tx_clkout in bonded configurations.
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Top-Level Signals
1–11
Power-Down
Table 1–7 describes the signals you can use to power down various parts of the
transceiver. Three of the four power-down signals are optional.
Table 1–7. Power-Down Signals
Signal
pll_powerdown
I/O
Required
Input
Yes
Description
MPLL power down. When asserted, the MPLL is powered down. When
deasserted, the MPLL is active and locks to the input reference clock.
Asserting the pll_powerdown signal does not power down the
refclk buffers.
This signal is asynchronous. The minimum pulse width is 1 μs (pending
characterization).
gxb_powerdown
Input
No
Transceiver block power down. When asserted, all digital and analog
circuitry in the PCS, HSSI, CDR, MPLL, and PCI Express modules is
powered down. Asserting the gxb_powerdown signal does not power
down the refclk buffers.
This signal is asynchronous. The minimum pulse width is 1 μs (pending
characterization).
cal_blk_powerdown
Input
No
Calibration block power down control.
powerdn[1:0]
Input
No
PCI Express (PIPE) power state control. Functionally equivalent to the
PowerDown[1:0] signal defined in the PHY Interface for PCI Express
Architecture, Version 2.0. The width of this signal is 2 bits and is encoded
as follows:
© November 2009 Altera Corporation
■
2'b00—P0–Normal operation
■
2'b01—P0s–Low recovery time latency, low power state
■
2'b10—P1–Longer recovery time latency, lower power state
■
2'b11—P2–Lowest power state
Cyclone IV Device Handbook, Volume 2
1–12
Chapter 1: Cyclone IV Transceivers Architecture
Top-Level Signals
PHY Interface for the PCI Express Architecture (PIPE)
Table 1–8 describes the signals that provide information about the status of the PCI
Express (PIPE) interface.
Table 1–8. (PIPE) Interface Signals
Signal
pipeelecidle
I/O
Required
Description
Output
Yes
Electrical idle detected or inferred at the receiver indicator.
Functionally equivalent to the RxElecIdle signal defined in
the PHY Interface for PCI Express Architecture, Version 2.0. If
the electrical idle inference block is enabled, it drives this signal
high when it infers an electrical idle condition. If the electrical idle
inference block is disabled, the rx_signaldetect signal is
inverted and driven on this port.
This signal is asynchronous.
pipestatus[2:0]
Input
No
PCI Express (PIPE) receiver status port. Functionally equivalent
to the RxStatus[2:0] signal defined in the PHY Interface for
PCI Express Architecture, Version 2.0. The encoding of receiver
status on the pipestatus port is as follows:
■
3'b000—Received data OK
■
3'b001—one SKP symbol added
■
3'b010—one SKP symbol removed
■
3'b011—Receiver detected
■
3'b100—8B10B decoder error
■
3'b101—Elastic buffer overflow
■
3'b110—Elastic buffer underflow
■
3'b111— Received disparity error
Output
No
Valid data and control on the rx_dataout and
rx_ctrldetect ports indicator. Functionally equivalent to
the RxValid signal defined in the PHY Interface for PCI
Express Architecture. Version 2.0.
Input
No
Instructs the PHY layer to invert the polarity in the 8B10B
receiver decoding block.
pipephydonestatus
Output
No
PHY function completion indicator. Functionally equivalent to the
PhyStatus signal defined in the PHY Interface for PCI Express
Architecture, Version 2.0. Asserted for one clock cycle to
communicate completion of several PHY functions, such as
power state transition and receiver detection.
tx_forceelecidle
Input
No
Forces the transmitter buffer to PCI Express (PIPE) electrical idle
signal levels. Functionally equivalent to the TxElecIdle signal
defined in the PHY Interface for PCI Express Architecture,
Version 2.0.
rx_elecidleinfer
sel[2:0]
Input
No
Controls the electrical idle inference mechanism used for the PCI
Express protocol.
pipedatavalid
pipe8b10binvpolarity
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Tx Datapath
1–13
Tx Datapath
Figure 1–6 illustrates the Tx channel datapath.
Figure 1–6. Modules in the Tx Channel Datapath
Tx Channel
Tx PCS
FPGA
Fabric
PCIe
hard
IP
Tx PMA
Tx Phase
Comp
FIFO
PIPE
IF
Byte
Serializer
Tx Output
Buffer
8B10B
Encoder
Serializer
The ALTGX megafunction provides a selection of protocol functional modes with
predefined settings, according to the protocol requirements for rapid transceiver
integration. Table 1–9 shows the modules utilized in the Tx channel when the ALTGX
megafunction is configured for each supported protocol functional mode.
Table 1–9. Tx Modules Utilization for Supported Protocol Functional Modes in the ALTGX Megafunction
Tx Phase
Compensation FIFO
Byte Serializer
8B10B Encoder
Serializer
Tx Output
Buffer
PCI Express (PIPE)
v
v (1)
v
v
v
GIGE
v
—
v
v
v
Functional Mode
Note to Table 1–9:
(1) This block is not required when using the hard IP implementation of the PCI Express MegaCore function.
The following sections describe the functionality of the modules in the Tx channel
datapath:
■
Tx Phase Compensation FIFO
■
Byte Serializer
■
8B10B Encoder
■
Serializer
■
Tx Output Buffer
Tx Phase Compensation FIFO
The Tx phase compensation FIFO is a required module to compensate for the phase
difference when interfacing the Tx PCS with the FPGA fabric directly or through the
PIPE interface and PCI Express hard IP block.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–14
Chapter 1: Cyclone IV Transceivers Architecture
Tx Datapath
Figure 1–7 shows the Tx phase compensation FIFO.
Figure 1–7. Tx Phase Compensation FIFO
Data input from
FPGA fabric or
PIPE Interface
(tx_datain)
Tx Phase
Compensation
FIFO
8 or 16
wr_clk
rd_clk
tx_phase_comp_fifo_error
8 or 16
Data output to
the Byte Serializer
or the 8B10B Encoder
tx_clkout
tx_coreclk
(optional)
coreclkout
The Tx phase compensation FIFO operates in low-latency or registered mode.
Table 1–10 lists the conditions of the Tx phase compensation FIFO when configured in
the supported operational modes.
Table 1–10. FIFO Conditions in Supported Operational Modes
FIFO Modes
Depth
Latency
Functional Mode
Low-latency
4 words
2-3 parallel cycles (1)
PCI Express (PIPE), GIGE
Registered
—
1 parallel cycles
PCI Express MegaCore function with hard IP
Note to Table 1–10:
(1) Pending device characterization.
You can clock the Tx phase compensation FIFO write clock by enabling the
tx_coreclk port in the ALTGX MegaWizard Plug-In Manager interface. Otherwise,
the Tx phase compensation FIFO write clock is driven by the FIFO read clock
tx_clkout in non-bonded functional modes (such as PCI Express (PIPE) ×1 and
GIGE modes) or coreclkout from the Central Control Unit (CCU) in bonded
functional modes (such as PCI Express (PIPE) ×4 mode).
1
If you use the tx_coreclk port, ensure that there is a 0 PPM frequency difference
between the Tx phase compensation FIFO write and read clock. In the Quartus II
software Assignment Editor, use the GXB 0 PPM core clock setting Assignment
Name from the tx_coreclk port to the serial output pins.
The optional tx_phase_comp_fifo_error signal indicates if the Tx phase
compensation FIFO is full or empty.
Byte Serializer
The byte serializer divides the input datapath by two, allowing you to run the
transceiver channel at higher data rates while keeping the FPGA fabric interface
frequency within the maximum limit. It converts the 2-byte wide datapath to a 1-byte
wide datapath.
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Tx Datapath
1–15
The byte serializer is required in configurations that exceed the FPGA
fabric-to-transceiver interface maximum frequency, as listed in Table 1–2 on page 1–3.
It is optional in configurations that do not exceed this limit. For example, if you want
to run the EP4CGX150 device transceiver channel at 3.125 Gbps, the transceiver
channel must run at 312.5 MHz (3.125 Gbps/10 bits). This frequency violates the
FPGA fabric interface limit of 156.25 MHz. Using the byte serializer, the required
frequency is halved to 156.25 MHz (3.125 Gbps/20 bits). The byte serializer forwards
the least significant byte first, followed by the most significant byte.
Figure 1–8 shows the byte serializer.
Figure 1–8. Byte Serializer
datain
16
8
dataout
Byte Serializer
Parallel Clock
/2
8B10B Encoder
The optional 8B10B encoder generates 10-bit code groups with proper disparity from
the 8-bit data and 1-bit control identifier. The encoder is compliant with Clause 36 of
the IEEE 802.3 specification. Figure 1–9 shows the 8B10B encoder.
Figure 1–9. 8B10B Encoder
datain
8
tx_ctrlenable
tx_forcedisp
8B10B Encoder
dataout
10
tx_dispval
Depending on the tx_ctrlenable port, the 8B10B encoder translates the input data
to either a 10-bit control or 10-bit data word. The encoder supports the following
additional features:
■
Running disparity control with the tx_forcedisp and tx_dispval ports. Use
this feature in PCI Express (PIPE) mode for compliance pattern transmission.
■
Transmitter polarity inversion with the tx_invpolarity port to correct
accidentally swapped positive and negative signals from the serial differential
link.
■
Transmitter bit reversal reverses the transmit bit order in MSB to LSB. The
Cyclone IV GX transceiver transmit bit order is LSB to MSB.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–16
Chapter 1: Cyclone IV Transceivers Architecture
Tx Datapath
■
1
Running disparity preservation in GIGE mode to ensure a negative running
disparity at the end of an idle ordered set. Any /Dx.y/ (except for /D21.5/ or
/D2.2/) following a /K28.5/ is automatically replaced with either of the
following:
■
A /D5.6/ (/I1/ ordered set) if the running disparity before /K28.5/ is positive
■
A /D16.2/ (/I2/ ordered set) if the running disparity before /K28.5/ is
negative
Enable the transmitter bit reversal feature when configuring the ALTGX
megafunction for GIGE mode.
When configured in GIGE mode, three /K28.5/ comma code groups are transmitted
automatically after de-assertion of tx_digitalreset and before transmitting user
data on the tx_datain port. This could affect the synchronization state machine
behavior at the receiver.
Depending on when you start transmitting the synchronization sequence, there could
be an even or odd number of /Dx.y/ code groups transmitted between the last of the
three automatically sent /K28.5/ code groups and the first /K28.5/ code group of the
synchronization sequence. If there is an even number of /Dx.y/ code groups received
between these two /K28.5/ code groups, the first /K28.5/ code group of the
synchronization sequence begins at an odd code group boundary. An
IEEE802.3-compliant GIGE synchronization state machine treats this as an error
condition and goes into the Loss-of-Sync state.
Figure 1–10 shows an example of even numbers of /Dx.y/ between the last
automatically sent /K28.5/ and the first user-sent /K28.5/. The first user-sent
/K28.5/ code group received at an odd code group boundary in cycle n + 3 takes the
receiver synchronization state machine in Loss-of-Sync state. The first
synchronization ordered-set /K28.5/Dx.y/ in cycles n + 3 and n + 4 is discounted and
three additional ordered sets are required for successful synchronization.
Figure 1–10. Reset Condition in GIGE Mode
n
n+1
n+2
n+3
n+4
clock
tx_digitalreset
tx_dataout
K28.5
xxx
K28.5
K28.5
K28.5
Dx.y
Dx.y
K28.5
Dx.y
K28.5
Dx.y
K28.5
Dx.y
Serializer
The serializer converts the parallel 8-bit or 10-bit data from the transmitter PCS to the
serial data. Serial data transmission sequence is LSB to MSB. The serializer operates at
a half-clock rate. For example, when it is configured in PCI Express (PIPE) and GIGE
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Tx Datapath
1–17
modes, the Tx serial clocks are at 1.25 GHz and 625 MHz, respectively. Figure 1–11
shows the serializer.
Figure 1–11. Serializer Inputs and Outputs
Tx PCS
8/10
Tx Output Buffer
Tx Serial Clock
From MPLL
Serializer
Tx Load Enable
Tx Parallel Clock
Tx Output Buffer
The Cyclone IV GX Tx output buffer supports pseudo current mode logic (PCML).
You can configure the following Tx output buffer features in the ALTGX MegaWizard
Plug-In Manager interface:
1
■
Programmable voltage output differential (V OD ) to customize the differential
output voltage that handles different trace lengths, backplanes, and receiver
requirements
■
Programmable pre-emphasis with two taps to boost high-frequency components
in the transmitted signal that might be attenuated in the transmission media
because of data-dependent jitter effects
■
Differential calibrated on-chip termination (OCT) at 100 Ω or 150 Ω
■
On-chip transmitter common mode voltage (V CM ) at 0.65 V
■
Receiver detect function for the PCI Express (PIPE) mode
You can disable OCT to use external termination. In such cases, VCM is tri-stated.
Figure 1–12. Transmitter Output Buffer
GXB_TXp
50 Ω or 75 Ω
+ VCM-
Programmable
Pre-emphasis
and VOD
50 Ω or 75 Ω
GXB_TXn
Receiver
Detect
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–18
Chapter 1: Cyclone IV Transceivers Architecture
Rx Datapath
PCI Express Receiver Detect
The receiver detection function for PCI Express (PIPE) mode is supported with
built-in circuitry, which is active only in the P1 power state with the transmit buffer
tri-stated. The circuit detects if there is an active PCI Express receiver downstream by
sending a pulse on the common mode of the transmitter and monitoring the
reflection.
You must select the following settings in the ALTGX MegaWizard Plug-In Manager
interface:
■
OCT utilization
■
125 MHz fixedclk signal
The following sequence generates the receiver detect function in PCI Express mode:
1. Drive 1'b1 on the tx_forceelecidle port to put the transmitter buffer in
electrical idle (tri-state) mode.
2. Drive the tx_detectrxloopback port to 1'b1.
3. A high pulse on the pipephydonestatus port and 3'b011 on the pipestatus
port indicates a receiver is detected. There is some latency after asserting the
tx_detectrxloopback signal, before the receiver detection is indicated on the
pipephydonestatus port.
1
The tx_forceelecidle port must be asserted at least 10 parallel clock cycles prior
to the tx_detectrxloopback port to ensure the transmitter buffer is tri-stated.
Rx Datapath
Figure 1–13 shows the Rx channel datapath.
Figure 1–13. Modules in the Rx Channel Datapath
Rx Channel
Rx PCS
Rate
Match
FIFO
8B10B
Decoder
Rx PMA
Word
Aligner
Deserializer
Rx Input
Buffer
FPGA
Fabric
CDR
PCIe
hard
IP
Cyclone IV Device Handbook, Volume 2
PIPE
Interface
Rx Phase
Compen
FIFO
Byte
Deserializer
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Rx Datapath
1–19
Table 1–11 lists the modules used in the Rx channel when the ALTGX megafunction is
configured for each supported protocol functional mode.
Table 1–11. Rx Modules Uses for the Supported Protocol Functional Modes in the ALTGX Megafunction
8B10B
Byte
Decoder Deserializer
Rx Phase
Compensation FIFO
Functional
Mode
Rx Input
Buffer
CDR
Deserializer
Word
Aligner
Rate Match
FIFO
PCI Express
(PIPE)
v
v
v
v
v
v
v (1)
v
GIGE
v
v
v
v
v
v
—
v
Note to Table 1–11:
(1) This block is not required when using the hard IP implementation of the PCI Express MegaCore function.
The following sections describe the functionality of the modules in the Rx channel
datapath:
■
Rx Input Buffer
■
Clock Data Recovery (CDR)
■
Deserializer
■
Word Aligner
■
Rate Match FIFO
■
8B10B Decoder
■
Byte Deserializer
■
Rx Phase Compensation FIFO
Rx Input Buffer
The Rx input buffer includes the following features that you can configure in the
ALTGX MegaWizard Plug-In Manager interface:
■
Manual equalization circuitry that boosts the high-frequency gain of the incoming
signal, thereby compensating for the low-pass filter effects of the physical
medium.
■
Programmable DC gain to provide an equal boost to incoming signals across the
frequency spectrum.
■
OCT at 100 Ω or 150 Ω
■
Signal detection to determine whether the signal level that is present at the
receiver input buffer is above the signal detect threshold voltage. This option is
only available for PCI Express (PIPE) mode.
The transceiver high-speed serial link supports AC coupling for the PCI Express
(PIPE) and GIGE modes. In an AC-coupled link, the AC-coupling capacitor blocks the
transmitter DC common mode voltage. On-chip or off-chip receiver termination and
biasing circuitry automatically restores the selected common mode voltage.
Figure 1–14 shows an AC-coupled link.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–20
Chapter 1: Cyclone IV Transceivers Architecture
Rx Datapath
Figure 1–14. AC-Coupled Link
AC Coupling
Capacitor
Transmitter
Receiver
Physical Medium
Physical Medium
AC Coupling
Capacitor
RX Termination
TX Termination
RX
VCM
TX
VCM
Clock Data Recovery (CDR)
Each Cyclone IV GX receiver channel has a phase interpolator (PI)-based CDR unit to
recover the clock from the incoming serial data stream. Each CDR is clocked by
dedicated Rx CDR clocks from one of the MPLL within the transceiver block. The
CDR works by tracking the incoming data with a phase detector and establishing the
optimum sampling clock phase with PI as a recovered serial clock. The recovered
serial and parallel clocks are used for clocking the deserializer and receiver PCS
blocks. Figure 1–15 illustrates the CDR unit.
Figure 1–15. CDR and Deserializer
Rx CDR Clock
rx_locktorefclk
rx_locktodata
signal detect
rx_freqlocked
Recovered Serial Clock
LTR/LTD
Controller
PI
Clock
Divider
Recovered Parallel Clock
Sampling
Clocks
Rx Input Buffer
Phase
Detector
UP
DN
CDR operates in two states:
■
Lock-to-reference (LTR)—The CDR is tracking the MPLL input reference clock.
■
Lock-to-data (LTD)—Phase detector within the CDR is enabled to track incoming
data and determine the optimum sampling clock phase
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Rx Datapath
1–21
There are two operational modes for the CDR unit:
■
Automatic lock mode—The operational states are determined by the LTR/LTD
controller. Upon receiver power-up and reset cycle, the CDR is in the LTR state.
Transition to the LTD state is performed automatically when both of the following
conditions are met:
■
Signal detection circuitry indicates the presence of valid signal levels at the Rx
input buffer
■
The CDR output clock is within the configured PPM frequency threshold
setting with respect to the MPLL input reference clock
Actual lock time depends on the transition density of the incoming data and the
PPM difference between the receiver input reference clock and the upstream
transmitter reference clock.
The CDR transitions from the LTD state to the LTR state when either of the
following conditions are met:
■
1
■
Signal detection circuitry indicates the absence of valid signal levels at the Rx
input buffer
■
The CDR output clock is not within the configured PPM frequency threshold
setting with respect to the MPLL input reference clock
Manual lock mode—The state of the CDR (either LTR or LTD) is manually
controlled with the rx_locktorefclk and rx_locktodata signals.
In the PCI Express (PIPE) mode, select the Enable fast recovery mode option in the
ALTGX MegaWizard Plug-In Manager to allow the CDR to achieve bit and byte lock
when transitioning from the P0s to P0 state within the PCI Express Base Specification.
Transitioning from the P0s to P0 state will require the Recovery state if the Enable fast
recovery mode option is not selected.
Deserializer
The deserializer converts received serial data from the Rx input buffer to parallel 8-bit
or 10-bit data. Serial data is received from LSB to MSB. The deserializer operates with
the half-rate recovered serial clock from the CDR. Figure 1–16 shows the deserializer.
Figure 1–16. Deserializer
Rx Input Buffer
Recovered Serial Clock
From CDR
Deserializer
8/10
Rx PCS
Rx Load Enable
Recovered Parallel Clock
Word Aligner
The optional word aligner restores the word boundary for deserialized parallel data
based on a predefined alignment pattern that must be received during link
synchronization.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–22
Chapter 1: Cyclone IV Transceivers Architecture
Rx Datapath
Table 1–12 lists the word aligner configurations when the ALTGX megafunction is
configured for each supported protocol functional mode.
Table 1–12. Word Aligner Configurations for Supported Protocol Functional Modes
Word Aligner Configurations
PCI Express (PIPE)
GIGE
Automatic Synchronization
State Machine
Automatic Synchronization
State Machine
10 bits
7 bits, 10 bits
Number of valid synchronization code groups or ordered sets
received to achieve synchronization
4
3
Number of erroneous code groups received to lose
synchronization
17
4
Number of continuous good code groups received to reduce
the error count by one
16
4
Mode
Pattern Length
The synchronization state machine is compliant with each supported protocol. The
word aligner operates with the recovered parallel clock from the CDR. Figure 1–17
shows the word aligner.
Figure 1–17. Word Aligner Inputs and Outputs
8/10
datain
8/10
dataout
rx_syncstatus
rx_patterndetect
rx_ctrldetect
rx_errdetect
rx_disperr
rx_runningdisp
Word Aligner
rx_invpolarity
Recovered Parallel Clock
After de-assertion of the rx_digitalreset signal, the word aligner identifies the
word alignment pattern or synchronization code groups in the received data stream.
When the programmed number of valid synchronization code groups or ordered sets
is received, it drives the rx_syncstatus signal high, indicating synchronization.
The rx_syncstatus signal remains asserted until it receives the specified number of
erroneous code groups.
The word aligner supports the following additional features:
■
Programmable run length violation detection—Detects and indicates violation of
the run length threshold setting with the rx_rlv signal
■
Receiver polarity inversion—Uses the rx_invpolarity port to correct
accidentally swapped positive and negative signals from the serial differential link
■
Receiver bit reversal—Reverses the received bit order to MSB to LSB
When the 8B10B decoder is enabled, the word aligner checks for the following:
■
Valid control characters with the optional rx_ctrldetect status signal
■
Invalid code groups with the optional rx_errdetect status signal
■
Current running disparity error with the optional rx_disperr status signal
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Rx Datapath
■
1–23
Current running disparity value with the optional rx_runningdisp status signal
Rate Match FIFO
The optional rate match FIFO compensates for small clock frequency differences
between the upstream transmitter (from the recovered clocks) and the local receiver
reference clock domain. This process is achieved by performing the following:
■
Inserting skip (SKP) symbols or ordered sets when the local receiver reference
clock frequency is greater than the upstream transmitter reference clock frequency
■
Deleting SKP symbols or ordered-sets when the local receiver reference clock
frequency is less than the upstream transmitter reference clock frequency
Figure 1–18 illustrates the rate match FIFO.
Figure 1–18. Rate Match FIFO Inputs and Outputs
rx_syncstatus
Rate Match
FIFO
datain
10
dataout
10
wrclk
Recovered Parallel Clock
rdclk
Tx Parallel Clock
Rate Match FIFO in PCI Express (PIPE) Mode
The rate match FIFO can compensate for up to ±300 PPM (600 PPM total) difference
between the upstream transmitter and the local receiver. The rate match FIFO
operation is compliant with the PCI Express Base Specification 1.1. The rate match
operation begins after the synchronization state machine in the word aligner drives
the rx_syncstatus signal high, indicating synchronization is acquired.
1
Select the Enable low latency synchronous PCI Express (PIPE) option in the ALTGX
MegaWizard Plug-In Manager if your system uses common reference clocking that
gives a 0 ppm difference between the upstream transmitter ’s and local receiver’s
reference clock. When enabled, the rate match FIFO is configured with reduced
latency.
Rate Match FIFO in GIGE Mode
The rate match FIFO can compensate for up to ±100 PPM (200 PPM total) difference
between the upstream transmitter and the local receiver reference clock. The rate
match FIFO is compliant with the IEEE 802.3 Specification. Rate match operation
begins after the synchronization state machine in the word aligner drives the
rx_syncstatus signal high, indicating synchronization has been acquired.
8B10B Decoder
The optional 8B10B decoder receives 10-bit data from the rate matcher and decodes it
into an 8-bit data and 1-bit control identifier. The 8B10B decoder is compliant to
Clause 36 of the IEEE 802.3 Specification.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–24
Chapter 1: Cyclone IV Transceivers Architecture
Rx Datapath
Byte Deserializer
The optional byte deserializer reduces the FPGA fabric–transceiver interface
frequency by half while doubling the parallel data width. The byte deserializer
receives 8-bit wide data from the 8B10B decoder and deserializes it into a 16-bit wide
data at half the speed.
Rx Phase Compensation FIFO
The Rx phase compensation FIFO is a required module to compensate for the phase
difference when interfacing the Rx PCS with the FPGA fabric directly or through the
PIPE interface and PCI Express hard IP block.
The Rx phase compensation FIFO operates in low-latency or registered modes.
Table 1–13 lists the conditions of the Rx phase compensation FIFO when configured in
the supported operational modes.
Table 1–13. FIFO Conditions in Supported Operational Modes
FIFO Modes
Depth
Latency
Functional Mode
Low-latency
4 words
2-3 parallel cycles (1)
PCI Express (PIPE), GIGE
Registered
—
1 parallel cycle
PCI Express MegaCore function with hard IP
Note to Table 1–13:
(1) Pending device characterization.
You can clock the Rx phase compensation FIFO read clock by enabling the
rx_coreclk port in the ALTGX MegaWizard Plug-In Manager interface. Otherwise,
the Rx phase compensation FIFO read clock is driven by the tx_clkout port in
non-bonded functional modes (such as PCI Express [PIPE] ×1 and GIGE modes) or
coreclkout from the CCU in bonded functional modes (such as PCI Express
[PIPE] ×4 mode).
1
If you use the rx_coreclk port, ensure that there is a 0 PPM frequency difference
between the Rx phase compensation FIFO write and read clock. In the Quartus II
software Assignment Editor, use the GXB 0 PPM core clock setting Assignment
Name from the rx_coreclk port to the serial input pins.
The optional rx_phase_comp_fifo_error signal provides an indicator if the Rx
phase compensation FIFO is full or empty.
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Clocking
1–25
Clocking
The transceiver channels are primarily driven by clocks from the MPLLs within the
same transceiver block. Cyclone IV GX transceivers support flexible clocking
architecture that allows implementation of multiple protocols, while fully utilizing all
available transceiver resources. For example, you can use one of the MPLL to drive
the Tx and the Rx channels at the same rates, while the remaining MPLL can be used
as a GPLL. In addition, the architecture allows independent transmit and receive
frequencies.
Each Tx channel operates with high-speed serial and low-speed parallel clocks from
one of the two MPLLs. For Rx channels, the CDRs are fed by a segmented clock
network, as shown in Figure 1–19. The Rx CDR clock from each MPLL must drive a
number of contiguous segmented paths to reach the intended Rx channels. For
example, MPLL1 can drive contiguous Rx channels 0 and 1, while MPLL2 drives
contiguous Rx channels 2 and 3 at the same time.
1
Interleaving the Rx CDR clock source from the two MPLLs is not supported. As For
example, a combination of MPLL1 driving Rx channels 0, 1 and 3, while MPLL2
driving Rx channel 2 is not supported. In this case, only one MPLL can be used for the
Rx channels.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–26
Chapter 1: Cyclone IV Transceivers Architecture
Clocking
The input reference clock for the MPLLs are provided through the REFCLK pins
residing in Banks 3A, 3B, 8A, and 8B. When the MPLLs are not used for transceivers,
they can be used as GPLLs.
Figure 1–19 shows the transceiver clock distribution for one transceiver block in
Cyclone IV GX devices.
Figure 1–19. Transceiver Clock Distribution for Cyclone IV GX Devices with One Transceiver Block
Transmitter Channels
GXBL0
3 (1)
3
(1)
GXBL0
(2)
MPLL2
MPLL1
Receiver Channels
MPLL2
Ser
Ch3 Tx
CDR Ch3 Rx
Ser
Ch2 Tx
CDR Ch2 Rx
Ser
Ch1 Tx
CDR Ch1 Rx
Ser
Ch0 Tx
CDR Ch0 Rx
MPLL1
Notes to Figure 1–19:
(1) These dedicated buses contain the Tx serial clock, Tx load enable, and Tx parallel clock.
(2) This dedicated signal is the Rx CDR clock. Depending on the transceiver configurations, each clock segment is
enabled automatically by the Quartus II software.
You can drive transceiver channels by clocks from the GPLLs, in addition to the
MPLLs in Cyclone IV GX devices with two transceiver blocks, as shown in
Figure 1–20. GPLLs provide the serial and parallel clocks to adjacent transceiver block
only, with the exception of the CDR clock. Serial and parallel clocks from MPLL6 and
MPLL7 can be shared by neighboring transceiver blocks for increased clocking
flexibility.
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Clocking
1–27
Figure 1–20. Transceiver Clock Distribution for Cyclone IV GX Devices with Two Transceiver Blocks
GPLL2
3 (1)
3
(1)
Transmitter Channels
GXBL1
Receiver Channels
GXBL1
(2)
MPLL8
Ser
Ch3 Tx
CDR Ch3 Rx
Ser
Ch2 Tx
CDR Ch2 Rx
Ser
Ch1 Tx
CDR Ch1 Rx
Ser
Ch0 Tx
CDR Ch0 Rx
MPLL7
MPLL7
3
MPLL8
(1)
3
(2)
MPLL6
3
3
(1)
(1)
GXBL0
GXBL0
(1)
MPLL5
MPLL6
Ser
Ch3 Tx
CDR Ch3 Rx
Ser
Ch2 Tx
CDR Ch2 Rx
Ser
Ch1 Tx
CDR Ch1 Rx
Ser
Ch0 Tx
CDR Ch0 Rx
MPLL5
GPLL1
Notes to Figure 1–20:
(1) These dedicated buses contain the Tx serial clock, Tx load enable, and Tx parallel clock.
(2) This dedicated signal is the Rx CDR clock. Depending on the transceiver configurations, each clock segment is
enabled automatically by the Quartus II software.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–28
Chapter 1: Cyclone IV Transceivers Architecture
Clocking
The REFCLK pins support AC-coupling connections for LVDS, LVPECL, and PCML
(1.2V, 1.5V, 3.3V) differential I/O standards, and DC-coupling connections for HCSL
I/O standards. Figure 1–21 shows an example termination scheme for AC-coupled
connections for REFCLK pins.
Figure 1–21. AC-Coupled Termination Scheme for a Reference Clock
LVDS, LVPECL, PCML
(1.2 V, 1.5 V, 3.3 V)
0.1 μF
Z0 = 50 Ω
0.1 μF
Cyclone IV GX
REFCLK
VICM
Z0 = 50 Ω
50 Ω
50 Ω
Note to Figure 1–21:
(1) VICM can be sourced from the 2.5 V supply with a voltage divider circuit (typically two 1-kΩ resistors).
Figure 1–22 shows an example termination scheme for a clock signal when configured
as High-Speed Current Steering Logic (HCSL).
Figure 1–22. Termination Scheme for a Reference Clock When Configured as HCSL (Note 1)
Cyclone IV GX
REFCLK +
Rs (2)
PCI Express
(HCSL)
REFCLK
Source
Rs (2)
REFCLK 50 Ω
50 Ω
Notes to Figure 1–22:
(1) No biasing is required if the reference clock signals are generated from a clock source that conforms to the PCI
Express specification.
(2) Select values as recommended by the PCI Express clock source vendor
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Clocking
1–29
Figure 1–23 shows the clocking architecture for transceivers in non-bonded
configurations.
Figure 1–23. Example Transceiver Clocking Architecture in a Non-Bonded Configurations
Transmitter Channel PCS
rdclk
wrclk
rdclk
Tx Parallel Clock
tx_clkout[0]
Tx Serial Clock
/2
Word Aligner
Receiver Channel
PMA
Rate Match FIFO
8B10B Decoder
Byte Deserializer
Receiver Channel PCS
Rx Phae
Comp
FIFO
PIPE Interface
/2
rx_coreclk[0]
Serializer
8B10B Encoder
Byte Serializer
CDR
wrclk
PCI Express hard IP
tx_coreclk[0]
Tx Phase
Comp
FIFO
Transmitter Channel
PMA
Deserializer
FPGA
Fabric
Parallel Recovered Clock
Tx Parallel Clock
When the transceivers are configured in bonded modes, the clock and reset signals are
common for each bonded channel to minimize lane-to-lane skew. Figure 1–24 and
Figure 1–25 show the clocking architecture for transceivers in bonded configurations.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–30
Chapter 1: Cyclone IV Transceivers Architecture
Clocking
Figure 1–24. Example Transmitter Clocking Architecture in a Bonded Configuration
PIPE
Interface
tx_coreclk[3]
PCI
Express
hard IP
Tx Phase
Comp
FIFO
wrclk
Byte Serializer
rdclk
wrclk
Channel 3
Transmitter Channel
PMA
Channel 2
Transmitter Channel
PMA
Serializer
Transmitter Channel PCS
FPGA
Fabric
8B10B Encoder
rdclk
Transmitter Channel PCS
PIPE
Interface
tx_coreclk[2]
PCI
Express
hard IP
Tx Phase
Comp
FIFO
wrclk
Byte Serializer
rdclk
wrclk
Serializer
/2
8B10B Encoder
rdclk
/2
Central Control Unit (CCU)
Tx
Parallel
Clock
coreclkout
FPGA Fabric-Transceiver
Interface Clock
/2
PIPE
Interface
tx_coreclk[1]
PCI
Express
hard IP
Tx Phase
Comp
FIFO
wrclk
rdclk
Byte Serializer
wrclk
Channel 1
Transmitter Channel
PMA
Channel 0
Transmitter Channel
PMA
Serializer
Transmitter Channel PCS
Tx
Serial
Clock
8B10B Encoder
rdclk
Transmitter Channel PCS
PIPE
Interface
tx_coreclk[0]
PCI
Express
hard IP
Cyclone IV Device Handbook, Volume 2
Tx Phase
Comp
FIFO
wrclk
rdclk
Byte Serializer
wrclk
8B10B Encoder
Serializer
/2
rdclk
/2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Loopback
1–31
Figure 1–25. Example Receiver Channels Clocking Architecture in a Bonded Configuration
/2
/2
CDR
Deserializer
Serial
Recovered
Clock
Channel 2
Receiver Channel
PMA
CDR
Deserializer
Word Aligner
Rate Match FIFO
8B10B Decoder
Byte Deserializer
Rx Phase
Comp
FIFO
rx_coreclk[2]
PIPE
Interface
Receiver Channel
PMA
Ch3 Parallel Recovered Clock
Receiver Channel PCS
PCI
Express
hard IP
Channel 3
Word Aligner
Rate Match FIFO
Byte Deserializer
rx_coreclk[3]
PIPE
Interface
Rx Phase
Comp
FIFO
PCI
Express
hard IP
8B10B Decoder
Receiver Channel PCS
FPGA
Fabric
Serial
Recovered
Clock
Ch2 Parallel Recovered Clock
Rx
CDR
Clock
Central Control Unit (CCU)
coreclkout
FPGA Fabric-Transceiver
Interface Clock
Tx
Parallel
Clock
/2
/2
/2
CDR
Deserializer
Serial
Recovered
Clock
Channel 0
Receiver Channel
PMA
CDR
Deserializer
Word Aligner
Rate Match FIFO
8B10B Decoder
Byte Deserializer
Rx Phase
Comp
FIFO
rx_coreclk[0]
PIPE
Interface
Receiver Channel
PMA
Ch1 Parallel Recovered Clock
Receiver Channel PCS
PCI
Express
hard IP
Channel 1
Word Aligner
Rate Match FIFO
8B10B Decoder
rx_coreclk[1]
PIPE
Interface
Rx Phase
Comp
FIFO
PCI
Express
hard IP
Byte Deserializer
Receiver Channel PCS
Serial
Recovered
Clock
Ch0 Parallel Recovered Clock
Loopback
Cyclone IV GX devices provide three loopback options that allow you to verify the
operation of different functional blocks in the transceiver channel. The following
loopback modes are available:
■
Reverse parallel loopback (available only for PCI Express [PIPE] mode)
■
Serial loopback (available for all modes except PCI Express [PIPE] mode)
■
Reverse serial loopback
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–32
Chapter 1: Cyclone IV Transceivers Architecture
Loopback
Reverse Parallel Loopback Mode
In reverse parallel loopback mode, the received data is looped back to the transmitter
serializer after the rate match FIFO and then transmitted as serial data, as shown in
Figure 1–26. The received data is also available to the FPGA fabric through the
rx_dataout port. This loopback mode is compliant with the PCI Express Base
Specification 1.1.
To enable the reverse parallel loopback mode, assert the tx_detectrxloopback
port in P1 power state. In loopback mode, you can write your own test program to
verify the Rx datapath and operation of the Tx PMA functionality.
Figure 1–26. PCI Express (PIPE) Reverse Parallel Loopback Path
Transceiver
Tx PMA
Tx PCS
FPGA
Fabric
PCIe
hard
IP
Serializer
Reverse parallel
loopback path
PIPE
IF
Rx PMA
Rx PCS
Rate
Match
FIFO
Word
Aligner
Deserializer
CDR
Serial Loopback Mode
In serial loopback mode, the transmitter data is looped back to the receiver CDR after
the serializer, as shown in Figure 1–27. The received data is available to the FPGA
logic for verification. With this option, you can check the operation of all enabled PCS
and PMA functional blocks in the transmitter and receiver channels.
The transmitter channel sends the data to both the serial output port and the receiver
channel. The differential output voltage on the serial ports is based on the selected
VOD settings. The data is looped back to the receiver CDR and is retimed through
different clock domains. You must provide an alignment pattern for the word aligner
to enable the receiver channel to retrieve the byte boundary.
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Calibration
1–33
Figure 1–27. Serial Loopback Path
Transceiver
Tx PMA
Tx PCS
Serializer
FPGA
Fabric
Serial
loopback
Rx PMA
To FPGA fabric
for verification
Rx PCS
CDR
Deserializer
Reverse Serial Loopback Mode
The two reverse serial loopback modes from the receiver to the transmitter are:
■
Pre-CDR mode from the Rx input buffer directly to the Tx output buffer with the
Reverse serial loopback (pre-CDR) option
■
Post-CDR mode from the CDR to the Tx output buffer with the Reverse serial
loopback option
Figure 1–28 shows the two paths in reverse serial loopback mode.
Figure 1–28. Reverse Serial Loopback
Transceiver
Tx PMA
Tx PCS
FPGA
Fabric
To FPGA Fabric
for Verification
Serializer
(1)
Rx PCS
Deserializer
(2)
CDR
Rx PMA
Notes to Figure 1–28:
(1) Post-CDR reverse serial loopback path.
(2) Pre-CDR reverse serial loopback path.
Calibration
The calibration circuitry calibrates the OCT resistors for Tx and Rx termination. It
compensates for process, voltage, and temperature variations. Calibration always
occurs after power-up or channel reset. Figure 1–29 shows the required inputs to the
calibration block. All transceiver channels use the same calibration block clock and
power down signals.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–34
Chapter 1: Cyclone IV Transceivers Architecture
Reset Control
You must connect a 2 kΩ (maximum tolerance is ± 1%) external resistor to the RREF
pin of the Cyclone IV GX device to GND. To ensure proper operation of the
calibration block, the RREF resistor connection on the board must be free from
external noise.
During normal operation, you can recalibrate the termination resistors with the
cal_blk_powerdown port available through the ALTGX MegaWizard Plug-In
Manager interface. Following de-assertion of cal_blk_powerdown, the calibration
block restarts the calibration process.
Figure 1–29. Calibration Block Inputs and Outputs
Channel 3
OCT Calibration
Control
Channel 2
RREF pin
2k Ω
±1%
cal_blk_clk
cal_blk_powerdown
Calibration
Block
Channel 1
Channel 0
Reset Control
Cyclone IV GX devices includes several reset signals to control the transceiver
channels. The ALTGX MegaWizard Plug-In Manager interface allows you to
configure individual reset signals for each channel instantiated in the design. There is
also a power down signal for each transceiver block. Figure 1–30 shows the inputs to
the reset controller. For descriptions of these signals, refer to the appropriate table
under “Top-Level Signals” on page 1–4.
Figure 1–30. Inputs to the Reset Controller
tx_digitalreset
rx_digitalreset
rx_analogreset
Reset
Controller
pll_powerdown
gxb_powerdown
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Reset Control
1–35
Table 1–14 lists the blocks that are affected by specific reset and power-down signals.
Table 1–14. Blocks Affected by the Reset and Power-Down Signals
Transceiver Module
rx_digitalreset
rx_analogreset
tx_digitalreset
pll_powerdown
gxb_powerdown
MPLL
—
—
—
v
—
Tx Phase Comp FIFO
—
—
v
—
v
Tx Byte Serializer
—
—
v
—
v
Tx 8B10B Encoder
—
—
v
—
v
Tx Serializer
—
—
v
—
v
Tx HSSI I/O Buffer
—
—
—
—
v
Rx HSSI I/O Buffer
—
—
—
—
v
Rx CDR
—
v
—
—
v
Rx Deserializer
—
—
—
—
v
Rx Word Aligner
v
—
—
—
v
Rx Rate Match FIFO
v
—
—
—
v
Rx 8B10B Decoder
v
—
—
—
v
Rx Byte Deserializer
v
—
—
—
v
Rx Phase Comp FIFO
v
—
—
—
v
PCI Express hard IP
—
—
—
—
v
PIPE Interface
—
—
—
—
v
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–36
Chapter 1: Cyclone IV Transceivers Architecture
Reset Control
PCI Express (PIPE) Mode Reset Sequence
Figure 1–31 shows the recommended reset sequence for PCI Express (PIPE) mode.
Figure 1–31. PCI Express (PIPE) Mode Reset Sequence
Initialization/Compliance Phase
Normal Operation
Reset & Power Down:
1 μs
pll_powerdown
tx_digitalreset
rx_analogreset
> 2 parallel clock
cycles
rx_digitalreset
Output Status:
pll_locked
> 4 μs
ignore received data
> 4 μs
rx_freqlocked
Initialization/Compliance Phase
Use the following reset sequence during the initialization/compliance phase:
1. After power up, assert pll_powerdown for a minimum period of 1 µs. Keep the
tx_digitalreset, rx_analogreset, and rx_digitalreset signals
asserted during this time period. After you de-assert the pll_powerdown signal,
the MPLL starts locking to the input reference clock.
2. When the MPLL locks, as indicated by the pll_locked signal going high,
de-assert tx_digitalreset, rx_analogreset, and rx_digitalreset.
3. After de-asserting rx_digitalreset, the pipephydonestatus signal from the
transceiver channel is asserted, indicating the status to the link layer. Depending
on its status, pipephydonestatus helps continue the compliance phase. After
successful completion of this phase, the device enters into the normal operation
phase.
1
During the initialization/compliance phase, do not use the rx_freqlocked signal to
trigger a de-assertion of the rx_digitalreset signal.
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Reset Control
1–37
Normal Operation Phase
After completion of the initialization/compliance phase, proceed with the reset
sequence after re-assertion of the rx_freqlocked signal. Wait for at least 4 µs before
asserting rx_digitalreset for two parallel receive clock cycles so that the Rx
phase compensation FIFO is initialized.
1
Data from the transceiver block is not valid from the time the rx_freqlocked signal
goes low to the time rx_digitalreset is de-asserted.
Cyclone IV GX devices fulfill the PCI Express reset time requirement from device
power up to the link active state with the configuration schemes listed in Table 1–15.
Table 1–15. Typical Configuration Times for each Cyclone IV Device with Selected Configuration
Scheme for the PCI Express (PIPE) Mode
Device
Configuration Scheme
Configuration Time (ms)
EP4CGX15
Passive Serial
51
EP4CGX22
Passive Serial
92
EP4CGX30
Passive Serial
92
EP4CGX50
Fast Passive Parallel
41
EP4CGX75
Fast Passive Parallel
41
EP4CGX110
Fast Passive Parallel
70
EP4CGX150
Fast Passive Parallel
70
GIGE Reset Sequence
Figure 1–32 shows the recommended reset sequence for GIGE mode with Transmitter
Only channel setup.
Figure 1–32. GIGE Reset Sequence with Transmitter Only Channel Mode
Reset & Power Down:
1 μs
pll_powerdown
tx_digitalreset
Output Status:
pll_locked
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–38
Chapter 1: Cyclone IV Transceivers Architecture
Power Down
Figure 1–33 shows the recommended reset sequence for GIGE mode with Receiver
and Transmitter channel setup.
Figure 1–33. GIGE Reset Sequence with Receiver and Transmitter Channel Setup
Reset & Power Down:
1 μs
pll_powerdown
tx_digitalreset
rx_analogreset
rx_digitalreset
Output Status:
pll_locked
> 4 μs
rx_freqlocked
Power Down
The Quartus II software automatically powers down all unused transceiver channels
and blocks to reduce overall power consumption. The optional gxb_powerdown
transceiver signal powers down all transceiver channels and all functional blocks in
the transceiver block.
Figure 1–34 shows a sample reset sequence of GIGE mode with Receiver and
Transmitter channel setup using the optional gxb_powerdown signal.
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Parameter Settings
1–39
Figure 1–34. GIGE Mode Reset Sequence with Receiver and Transmitter Channel Setup with the Optional gxb_powerdown
Signal
Reset & Power Down:
1 μs
pll_powerdown
1 μs
gxb_powerdown
tx_digitalreset
rx_analogreset
rx_digitalreset
Output Status:
pll_locked
> 4 μs
rx_freqlocked
Parameter Settings
This section describes the ALTGX megafunction parameters that you can set using the
MegaWizard Plug-In Manager interface. The ALTGX MegaWizard Plug-In Manager
interface displays the following wizard pages:
■
General
■
PLL/Ports
■
Ports/Cal Blk
■
Loopback
■
Rx Analog
■
Tx Analog
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–40
Chapter 1: Cyclone IV Transceivers Architecture
Parameter Settings
General
The General page allows you to specify fundamental options about the ALTGX
megafunction. Table 1–16 describes the settings available for the General page.
Table 1–16. General Settings for the ALTGX Megafunction
Parameter
Values
Which protocol will you
be using?
PCI Express
(PIPE)
Description
Determines the specific protocol or mode under which the transceiver
operates.
GIGE
Which subprotocol will
you be using?
Gen1 ×1
Gen1 ×4
For PCI Express (PIPE) mode, you can select ×1 or × 4 operation. You do
not have to specify a sub-protocol for GIGE mode.
Enforce default settings
for this protocol
On/Off
If you turn on this option, the specified frequencies and data rates for the
selected protocol are specified for you.
What is the operation
mode?
Transmitter Only, For PCI Express (PIPE) mode, only the Receiver and Transmitter (full
duplex) mode is allowed. For GIGE mode, you can select either a
Receiver and
transmitter, or receiver and transmitter.
Transmitter
What is the number of
channels?
1–4
What is the deserializer
block width?
Single
Double
For PCI Express (PIPE) mode, you can specify ×1 or ×4 operation. The
channels must be identical. You can specify 1-4 channels for GIGE mode.
This option sets the transceiver datapath width.
■
Single width—This mode operates from 600 Mbps to 3.125 Gbps. The
features of each block may differ from the double-width mode.
■
Double width—This mode operates at data rates > 1 Gbps. The features
of each block in this mode may differ from the single-width mode.
For Cyclone IV transceivers, only single-width is supported.
What is the channel
width?
8
16
This option determines the transceiver-to-FPGA interface width.
■
If you select 8, the byte serializer/deserializer is not used.
■
If you select 16, the byte serializer/deserializer is used.
What would you like to
base the setting on?
Data Rate
This option is not configurable because the data rate is fixed at 2.5 Gbps for
PCI Express (PIPE) mode and 1.25 Gbps for GIGE mode.
What is the data rate?
2500 Mbps
1250 Mbps
This option is not used because the data rate is fixed at 2.5 Gbps for PCI
Express (PIPE) mode and 1.25 Gbps for GIGE mode.
What is the input clock
frequency?
62.5 MHz
100 MHz
125 MHz
Determines the input reference clock frequency for the transceiver.
The base data is
Cyclone IV Device Handbook, Volume 2
Mbps
■
In PCI Express (PIPE) mode, only 100 MHz is allowed. 125 MHz will be
supported in a future version of the Quartus II software.
■
In GIGE mode, 62.5 MHz and 125 MHz are allowed.
This option is not configurable because the data rate is fixed at 2.5 Gbps for
PCI Express (PIPE) mode and 1.25 Gbps for GIGE mode.
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Parameter Settings
1–41
PLL/Ports
Table 1–17 describes the settings available on the PLL/Ports page.
Table 1–17. PLL/Ports Settings (Part 1 of 2)
Parameter
Value
Description
PLL Settings
Train Receiver CDR from
pll_inclk
On/Off
This option is always On for Cyclone IV GX transceivers. When On, CDR
trains using pll_inclk that you provide to the MPLL.
Use Auxiliary Transmitter
(ATX) PLL
On/Off
This option is not available for Cyclone IV GX devices.
Enable PLL PFD Feedback to
compensate latency
uncertainty in Tx dataout and
Tx clkout paths relative to the
reference clock
On/Off
This option is not available for Cyclone IV GX transceivers.
What is the Tx/Rx PLL
bandwidth mode?
Auto, High,
Medium,
Low
This option allows you to tune analog settings in the PLL to control how
quickly the PLL adjusts to changes in the input clock. A high bandwidth PLL
provides fast lock time and tracks jitter on the reference clock source,
passing it through to the PLL output. A low bandwidth PLL filters out
reference clock jitter, but increases lock time. The default setting for PCI
Express (PIPE) and GIGE mode is Auto, which allows the PLL to calculate
the optimal setting.
What is the receiver CDR
bandwidth mode?
Auto, High,
Medium,
Low
This option is not available for Cyclone IV GX transceivers.
What is the acceptable PPM
threshold between the
receiver CDR VCO and the
receiver input reference
clock?
±100
±300
This option specifies the PPM difference between the MPLL input reference
clock and the CDR recovered clock. For PCI Express (PIPE) mode, this field
must be set to ±300. For GIGE mode, this field must be set to ±100.
Optional Ports
Create ‘gxb_powerdown’ port
to power down the Transceiver
block
On/Off
The optional gxb_powerdown transceiver signal powers down all
transceiver channels and all functional blocks in the transceiver block.
Create ‘pll_powerdown’ port to
power down the Tx/Rx MPLL
On/Off
The pll_powerdown signal is optional. This port is enabled if you select
Enforce default settings for this protocol for PCI Express (PIPE) and GIGE
modes.
Create ‘rx_analogreset’ port
for the analog portion of the
receiver
On/Off
The rx_analogreset port is optional. This port is enabled if you select
Enforce default settings for this protocol for PCI Express (PIPE) and GIGE
modes.
Create ‘rx_digitalreset’ port
for the digital portion of the
receiver
On/Off
The rx_digitalreset port is optional. This port is enabled if you
select Enforce default settings for this protocol for PCI Express (PIPE) and
GIGE modes.
Create ‘tx_digitalreset’ port for
the digital portion of the
transmitter
On/Off
The tx_digitalreset port is optional. This port is enabled if you
select Enforce default settings for this protocol for PCI Express (PIPE) and
GIGE modes.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–42
Chapter 1: Cyclone IV Transceivers Architecture
Parameter Settings
Table 1–17. PLL/Ports Settings (Part 2 of 2)
Parameter
Value
Description
Create ‘pll_locked’ port to
indicate MPLL is locked to the
reference input clock
On/Off
The optional pll_locked signal is useful for debugging.
Create ‘rx_locktorefclk’ port to
lock the Rx CDR to the
reference clock
On/Off
The optional rx_locktorefclk signal is useful for debugging.
Create ‘rx_locktodata’ port to
lock the Rx CDR to the
received data
On/Off
The optional rx_locktodata signal is useful for debugging.
Create ‘rx_pll_locked’ port to
indicate Rx CDR is locked to
the input reference clock
On/Off
This optional signal is not available for Cyclone IV GX transceivers.
Ports/Cal Blk
Table 1–18 describes the settings available on the Ports/Cal Blk page.
Table 1–18. Ports/Cal Blk Settings
Parameter
Value
Description
Create ‘rx_signaldetect’ port
to indicate data input signal
detection
On/Off
This optional signal is only available for PCI Express (PIPE) mode. When
asserted, this indicates that the signal present at the receiver input buffer is
above the programmed signal detection threshold value. It is useful for
debugging.
Enable Tx Phase Comp FIFO
in register mode
On/Off
This option is not available for PCI Express (PIPE) and GIGE mode.
Create ‘debug_rx_phase_
comp_fifo_error’ output port
On/Off
This optional output port indicates a Rx phase compensation FIFO overflow or
under run condition. Note that no PPM difference is allowed between the FIFO
read and write clocks. Use this port for debug purpose only.
Create ‘debug_tx_phase_
comp_fifo_error’ output port
On/Off
This optional output port indicates Tx phase compensation FIFO
overflow/under run condition. Note that no PPM difference is allowed between
FIFO read and write clocks. Used this port for debug purpose only.
Create ‘rx_coreclk’ port to
connect to the read clock of
the Rx phase compensation
FIFO
On/Off
This optional input port allows you to clock the read side of the Rx phase
compensation FIFO with a non-transceiver FPGA clock. For more information
refer to “Tx Phase Compensation FIFO” on page 1–13.
Create ‘tx_coreclk’ port to
connect to the write clock of
the Tx phase compensation
FIFO
On/Off
This optional input port allows you to clock the write side of the Tx phase
compensation FIFO with a non-transceiver FPGA clock.
Create ‘rateswitch’ port to
divide down the data rate
On/Off
This option is not available for Cyclone IV GX transceivers.
Use calibration block
On/Off
The calibration circuitry calibrates the OCT resistors for Tx and Rx
termination.
Create active high
‘cal_blk_powerdown’ port to
power down the calibration
block
On/Off
Use this signal to recalibrate the termination resistors during normal
operation. For more information, refer to “Calibration” on page 1–33.
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Parameter Settings
1–43
Loopback
Table 1–19 describes the settings available on the Loopback page.
Table 1–19. Loopback Settings
Parameter
Loopback Options
Reverse Loopback Options
Value
Description
No loopback
Serial loopback
Use this option to enable the reverse serial loopback that sends
serial signals from the receiver to transmitter directly. Serial
loopback is available for all modes except PCI Express (PIPE)
mode.
Reverse serial
loopback (pre-CDR)
When enabled, signals are driven back to the sender, allowing
you to verify basic functionality.
Reverse serial
loopback
No reverse loopback
Rx Analog
Table 1–20 describes the settings available on the Rx Analog page.
Table 1–20. Rx Analog Settings
Parameter
Value
Description
Enable static equalizer control
On/Off
0–High
This option enables the static equalizer settings. When this option is On,
you can select the equalization setting.
What is the DC gain?
0, 1, 3
For PCI Express (PIPE) mode a DC gain setting of 1 is required. For GIGE
mode, all these settings are available.
What is the receiver common
mode voltage (Rx VCM)
0.82V
Cyclone IV GX transceivers only support Rx VCM of 0.82 V.
Force signal detection
On/Off
This option is available for PCI Express (PIPE) mode. For more
information, refer to the definition of rx_signaldetect in Table 1–4.
What is the signal detect and
signal loss threshold.
4
When the forced signal detection option is Off, use this option to set the
trip point of the signal detect circuit.
Use external receiver termination
On/Off
This option is available if you want to use an external termination resistor
instead of the OCT. If you turn on this option, the receiver OCT is not used.
What is the receiver termination
resistance?
100 Ω
This option specifies the receiver termination value.
150 Ω
Tx Analog
Table 1–21 describes the settings available on the Tx Analog page.
Table 1–21. Tx Analog Settings (Part 1 of 2)
Parameter
Value
Description
What is the transmitter
common mode voltage (VCM)
0.65V
Cyclone IV GX transceivers only support Tx VCM of 0.65 V.
Use external transmitter
termination
On/Off
This option is available if you want to use an external termination
resistor instead of the OCT. If you turn on this option, the transmitter
OCT is not used.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 2
1–44
Chapter 1: Cyclone IV Transceivers Architecture
Protocol Settings
Table 1–21. Tx Analog Settings (Part 2 of 2)
Parameter
Value
100 Ω
Select the transmitter
termination resistance
This option specifies the transmitter termination value.
150 Ω
1-6
What is the voltage output
differential (VOD) control
setting?
What is the pre-emphasis
setting (% of Vod)?
Description
This option specifies the VOD of the transmitter buffer.
1, 5, 9, 13, 16,
This option sets the amount of pre-emphasis on the transmitter
17, 18, 19, 20, 21 buffer for the first tap.
Protocol Settings
You can use protocol settings to specify parameters that are specific to a particular
protocol. Table 1–22 describes the first page of protocol settings for PCI Express (PIPE)
mode.
Table 1–22. PCI Express (PIPE) Mode Settings (Part 1 of 2)
Parameter
Value
Description
Optional Settings
Enable low latency synchronous PCI
Express (PIPE)
On/Off
When this option is turned On, the rate match FIFO is
configured with a reduced latency setting. Use this option for
systems that operate using common reference clocking with
0 ppm difference between the upstream transmitter’s and the
local receiver’s reference clock.
Enable run-length violation checking with a
run length of
On/Off
40-80
When enabled, rx_rlv is asserted when the number of
consecutive 1s or 0s in the received data stream exceeds the
programmed run length violation threshold.
Enable fast recovery mode
On/Off
When Enable fast recovery mode is turned On, the MegaCore
enables circuitry for a faster exit from the P0s state. When
turned Off, exit from P0s typically requires invoking link
recovery.
Enable electrical idle inference
functionality
On/Off
Enables inference of electrical idle.
Cyclone IV Device Handbook, Volume 2
© November 2009 Altera Corporation
Chapter 1: Cyclone IV Transceivers Architecture
Protocol Settings
1–45
Table 1–22. PCI Express (PIPE) Mode Settings (Part 2 of 2)
Parameter
Value
Description
Optional Ports
Create ‘rx_syncstatus’ output port for
pattern detector and word aligner
On/Off
Create ‘rx_patterndetect’ port to indicate
the pattern detected
On/Off
Create ‘rx_ctrldetect’ port to indicate the
8B10B decoder has detected a control code
On/Off
Create ‘tx_detectrxloop’ input port as
receiver detect or loopback enable
depending on the power state
On/Off
Create ‘tx_forceelecidle’ input port to force
the transmitter to send electrical idle
signals
On/Off
Create ‘tx_forcedispcompliance’ input port
to force negative running disparity
On/Off
Create ‘tx_invpolarity’ to allow transmitter
polarity inversion
On/Off
For additional information about these signals, refer to
“Top-Level Signals” on page 1–4.
Table 1–23 describes the second page of protocol settings for PCI Express (PIPE)
mode.
Table 1–23. PCI Express (PIPE) 2 Settings
Parameter
Value
Create ‘pipestatus’ output port for PIPE
interface status signal
On/Off
Create ‘pipedatavalid’ output port to
indicate valid data from the receiver
On/Off
Create ‘pipelecide’ output port for electrical
idle detect status signal
On/Off
Create ‘pipephydonestatus’ output port to
indicate PIPE completed power sate
transitions
On/Off
Create ‘pipe8b10binvpolarity’ to enable
polarity inversion in PIPE
On/Off
Create ‘powerdn’ input port for PIPE
powerdown directive
On/Off
© November 2009 Altera Corporation
Description
For additional information about these signals, refer to
“Top-Level Signals” on page 1–4.
Cyclone IV Device Handbook, Volume 2
1–46
Chapter 1: Cyclone IV Transceivers Architecture
Protocol Settings
Table 1–24 describes the protocol settings for GIGE.
Table 1–24. GIGE Settings
Parameter
Value
Description
Create ‘rx_syncstatus’ output port for
pattern detector and word aligner
On/Off
Create ‘rx_patterndetect’ port to indicate
the pattern detected
On/Off
Create ‘rx_invpolarity’ to enable word
aligner polarity inversion
On/Off
Create ‘rx_ctrldetect’ port to indicate the
8B10B decoder has detected a control code
On/Off
Create ‘rx_errdetect’ input port as receiver
detect or loopback enable depending on the
power state
On/Off
Create ‘rx_disperr’ to indicate the 8B10B
decoder has detected a disparity error
On/Off
Create ‘tx_invpolarity’ to allow transmitter
polarity inversion
On/Off
Create ‘rx_runningdisp’ port to indicate the
current running disparity of the 8B10B
decoded byte
On/Off
Create ‘rx_rmfifofull’ port to indicate when
the rate match FIFO is full
On/Off
Create ‘rx_rmfifoempty’ port to indicate
when the rate match FIFO is empty
On/Off
Create ‘rx_rmfifodatainserted’ port to
indicate when data is inserted in the rate
match FIFO
On/Off
Create ‘rx_rmfifodatadeleted’ port to
indicate when data is deleted in the rate
match FIFO
On/Off
Enable transmitter bit reversal
On/Off
The normal order for bit transmission is LSB to MSB. When
this option is On, the transmission order is MSB to LSB.
What is the word alignment pattern length?
7, 10
Specifies the word alignment pattern length.
Cyclone IV Device Handbook, Volume 2
For additional information about these signals, refer to
“Top-Level Signals” on page 1–4.
.
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 3
101 Innovation Drive
San Jose, CA 95134
www.altera.com
CYIV-5V3-1.0
Copyright © 2009 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo, specific device designations, and all other
words and logos that are identified as trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other
countries. RSDS and PPDS are registered trademarks of National Semiconductor. All other product or service names are the property of their respective holders. Altera products
are protected under numerous U.S. and foreign patents and pending applications, maskwork rights, and copyrights. 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
Corporation. 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.
Contents
Chapter Revision Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Additional Information
About this Handbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-v
How to Contact Altera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-v
Typographic Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-v
Section 1. Device Datasheet
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Chapter 1. Cyclone IV Device Datasheet
Operating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Maximum Allowed Overshoot or Undershoot Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Recommended Operating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
DC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Supply Current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Bus Hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
OCT Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
Pin Capacitance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8
Internal Weak Pull-Up and Weak Pull-Down Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9
Hot-Socketing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
Schmitt Trigger Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
I/O Standard Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
Power Consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
Switching Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14
Transceiver Performance Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
Core Performance Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20
Clock Tree Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20
PLL Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20
Embedded Multiplier Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22
Memory Block Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22
Configuration and JTAG Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22
Periphery Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23
High-Speed I/O Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24
External Memory Interface Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-28
Duty Cycle Distortion Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-32
OCT Calibration Timing Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-32
IOE Programmable Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-32
I/O Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-33
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-33
Chapter Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-39
© November 2009 Altera Corporation
Cyclone IV Device Handbook, Volume 3
2
Cyclone IV Device Handbook, Volume 3
Contents
© November 2009 Altera Corporation
Chapter Revision Dates
The chapters in this book, Cyclone IV Device Handbook, Volume 3, were revised on the
following dates. Where chapters or groups of chapters are available separately, part
numbers are listed.
Chapter 1
© November 2009
Cyclone IV Device Datasheet
Revised:
November 2009
Part Number: CYIV-53001-1.0
Altera Corporation
Cyclone IV Device Handbook, Volume 3
iv
Cyclone IV Device Handbook, Volume 3
Chapter Revision Dates
© November 2009
Altera Corporation
Additional Information
About this Handbook
This handbook provides comprehensive information about the Altera® Cyclone® IV
family of devices.
How to Contact Altera
For the most up-to-date information about Altera products, see the following table.
Contact (Note 1)
Contact
Method
Address
Technical support
Website
www.altera.com/support
Technical training
Website
www.altera.com/training
Email
custrain@altera.com
Non-technical support (General)
Email
nacomp@altera.com
(Software Licensing)
Email
authorization@altera.com
Note:
(1) You can also contact your local Altera sales office or sales representative.
Typographic Conventions
The following table shows the typographic conventions that this document uses.
Visual Cue
Meaning
Bold Type with Initial Capital
Letters
Indicates 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, dialog box options, software utility names, and other GUI labels. For
example, \qdesigns directory, d: drive, and chiptrip.gdf.
Italic Type with Initial Capital Letters
Indicates document titles. For example, AN 519: Stratix IV Design Guidelines.
Italic type
Indicates variables. For example, n + 1.
Variable names are enclosed in angle brackets (< >). For example, <file name> and
<project name>.pof.
Initial Capital Letters
Indicates keyboard keys and menu names. For example, 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.”
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 3
Info–vi
Additional Information
Visual Cue
Courier type
Meaning
Indicates signal, port, register, bit, block, and primitive names. For example, data1,
tdi, and input. Active-low signals are denoted by suffix n. For example,
resetn.
Indicates command line commands and anything that must be typed exactly as it
appears. For example, c:\qdesigns\tutorial\chiptrip.gdf.
Also indicates sections of an actual file, such as a Report File, references to parts of
files (for example, the AHDL keyword SUBDESIGN), and logic function names (for
example, TRI).
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.
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.
r
The angled arrow instructs you to press Enter.
f
The feet direct you to more information about a particular topic.
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Section 1. Device Datasheet
This section provides the Cyclone® IV device datasheet. It includes the following
chapter:
■
Chapter 1, Cyclone IV Device Datasheet
Revision History
Refer to each chapter for its own specific revision history. For information about when
each chapter was updated, refer to the Chapter Revision Dates section, which appears
in the complete handbook.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1. Cyclone IV Device Datasheet
CYIV-53001-1.0
This chapter describes the electrical characteristics for Cyclone® IV devices.
1
References to Cyclone IV devices in this chapter refer only to Cyclone IV GX devices.
Information about Cyclone IV E devices will be included in a future revision of this
chapter.
This chapter includes the following sections:
■
“Operating Conditions” on page 1–1
■
“Power Consumption” on page 1–14
■
“Switching Characteristics” on page 1–14
■
“I/O Timing” on page 1–33
■
“Glossary” on page 1–33
Operating Conditions
When Cyclone IV devices are implemented in a system, they are rated according to a
set of defined parameters. To maintain the highest possible performance and
reliability of Cyclone IV devices, system designers must consider the operating
requirements described in this chapter. Cyclone IV devices are offered in commercial
and industrial grades. Commercial devices are offered in –6 (fastest), –7, and –8 speed
grades. Industrial devices are offered only in –7 speed grade.
1
In this chapter, a prefix associated with the operating temperature range is attached to
the speed grades; commercial with “C” prefix and industrial with “I” prefix.
Commercial devices are therefore indicated as C6, C7, and C8 per respective speed
grade while industrial devices are indicated as I7.
Absolute Maximum Ratings
Absolute maximum ratings define the maximum operating conditions for Cyclone IV
devices. The values are based on experiments conducted with the device and
theoretical modeling of breakdown and damage mechanisms. The functional
operation of the device is not implied at these conditions. Table 1–1 lists the absolute
maximum ratings for Cyclone IV devices.
c
© November 2009
Conditions beyond those listed in Table 1–1 cause permanent damage to the device.
Additionally, device operation at the absolute maximum ratings for extended periods
of time has adverse effects on the device.
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–2
Chapter 1: Cyclone IV Device Datasheet
Operating Conditions
Table 1–1. Cyclone IV Devices Absolute Maximum Ratings (Note 1) —Preliminary
Symbol
Parameter
Min
Max
Unit
VCCINT
Core voltage, PCI Express (PCIe) Hard IP
block, and transceiver physical coding sublayer
(PCS) power supply
–0.5
1.8
V
VCCA
Phase-locked loop (PLL) analog power supply
–0.5
3.75
V
VCCD_PLL
PLL digital power supply
–0.5
1.8
V
VCCIO
I/O banks power supply
–0.5
3.9
V
VCC_CLKIN
Differential clock input pins power supply
–0.5
3.9
V
VCCH_GXB
Transceiver output buffer power supply
—
2.625
V
VCCA_GXB
Transceiver physical medium attachment
(PMA) and auxiliary power supply
—
2.625
V
VCCL_GXB
Transceiver PMA and auxiliary power supply
–0.5
1.8
V
VI
DC input voltage
–0.5
3.95
V
IOUT
DC output current, per pin
–25
40
mA
VESDHBM
Electrostatic discharge voltage using the
human body model
—
±2000
V
VESDCDM
Electrostatic discharge voltage using the
charged device model
—
±500
V
TSTG
Storage temperature
–65
150
°C
TJ
Operating junction temperature
–40
100
°C
Note to Table 1–1:
(1) Supply voltage specifications apply to voltage readings taken at the device pins with respect to ground, not at
the power supply.
Maximum Allowed Overshoot or Undershoot Voltage
During transitions, input signals may overshoot to the voltage shown in Table 1–2 and
undershoot to –2.0 V for a magnitude of currents less than 100 mA and for periods
shorter than 20 ns. Table 1–2 lists the maximum allowed input overshoot voltage and
the duration of the overshoot voltage as a percentage over the lifetime of the device.
The maximum allowed overshoot duration is specified as percentage of high-time
over the lifetime of the device.
1
A DC signal is equivalent to 100% duty cycle. For example, a signal that overshoots to
4.2 V can only be at 4.2 V for 10.74% over the lifetime of the device; for device lifetime
of 10 years, this amounts to 10.74/10ths of a year.
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Operating Conditions
1–3
Table 1–2. Cyclone IV Devices Maximum Allowed Overshoot During Transitions over a 10-Year Time
Frame
Symbol
Vi
Parameter
AC Input
Voltage
Condition
Overshoot Duration as % of High Time
Unit
VI = 3.95 V
100
%
VI = 4.0 V
95.67
%
VI = 4.05 V
55.24
%
VI = 4.10 V
31.97
%
VI = 4.15 V
18.52
%
VI = 4.20 V
10.74
%
VI = 4.25 V
6.23
%
VI = 4.30 V
3.62
%
VI = 4.35 V
2.1
%
VI = 4.40 V
1.22
%
VI = 4.45 V
0.71
%
VI = 4.50 V
0.41
%
VI = 4.60 V
0.14
%
VI = 4.70 V
0.047
%
Figure 1–1 shows the methodology to determine the overshoot duration. The
overshoot voltage is shown in red and is present on the input pin of the Cyclone IV
device at over 4.1 V but below 4.2 V. From Table 1–2, for an overshoot of 4.1 V, the
percentage of high time for the overshoot can be as high as 31.97% over a 10-year
period. Percentage of high time is calculated as ([delta T]/T) × 100. This 10-year
period assumes that the device is always turned on with 100% I/O toggle rate and
50% duty cycle signal. For lower I/O toggle rates and situations in which the device is
in an idle state, lifetimes are increased.
Figure 1–1. Cyclone IV Devices Overshoot Duration
4.2 V
4.1 V
3.3 V
ΔT
T
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–4
Chapter 1: Cyclone IV Device Datasheet
Operating Conditions
Recommended Operating Conditions
This section lists the functional operation limits for AC and DC parameters for
Cyclone IV devices. The steady-state voltage and current values expected from
Cyclone IV devices are provided in Table 1–3. All supplies must be strictly monotonic
without plateaus.
Table 1–3. Cyclone IV Devices Recommended Operating Conditions (Part 1 of 2)—Preliminary
Symbol
Parameter
Conditions
Min
Typ
Max
Unit
VCCINT (3)
Core voltage, PCIe Hard IP block, and
transceiver PCS power supply
—
1.16
1.2
1.24
V
VCCA (1),(3)
PLL analog power supply
—
2.375
2.5
2.625
V
VCCD_PLL (2)
PLL digital power supply
—
1.16
1.2
1.24
V
I/O banks power supply for 3.3-V
operation
—
3.135
3.3
3.465
V
I/O banks power supply for 3.0-V
operation
—
2.85
3
3.15
V
I/O banks power supply for 2.5-V
operation
—
2.375
2.5
2.625
V
I/O banks power supply for 1.8-V
operation
—
1.71
1.8
1.89
V
I/O banks power supply for 1.5-V
operation
—
1.425
1.5
1.575
V
I/O banks power supply for 1.2-V
operation
—
1.14
1.2
1.26
V
Differential clock input pins power
supply for 3.3-V operation
—
3.135
3.3
3.465
V
Differential clock input pins power
supply for 3.0-V operation
—
2.85
3
3.15
V
Differential clock input pins power
supply for 2.5-V operation
—
2.375
2.5
2.625
V
Differential clock input pins power
supply for 1.8-V operation
—
1.71
1.8
1.89
V
Differential clock input pins power
supply for 1.5-V operation
—
1.425
1.5
1.575
V
Differential clock input pins power
supply for 1.2-V operation
—
1.14
1.2
1.26
V
VCCH_GXB
Transceiver output buffer power supply
—
2.375
2.5
2.625
V
VCCA_GXB
Transceiver PMA and auxiliary power
supply
—
2.375
2.5
2.625
V
VCCL_GXB
Transceiver PMA and auxiliary power
supply
—
1.16
1.2
1.24
V
VI
DC input voltage
—
–0.5
—
3.6
V
VO
DC output voltage
—
0
—
VCC IO
V
TJ
Operating junction temperature
For commercial use
0
—
85
°C
For industrial use
–40
—
100
°C
VCCIO (3), (4)
VCC_CLKIN
(3),(5)
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Operating Conditions
1–5
Table 1–3. Cyclone IV Devices Recommended Operating Conditions (Part 2 of 2)—Preliminary
Symbol
tRAM P
Parameter
Power supply ramp time
Conditions
Min
Typ
Max
Unit
Standard power-on reset
(POR) (6)
50 µs
—
50 ms
—
Fast POR (7)
50 µs
—
3 ms
—
—
—
—
10
mA
Magnitude of DC current across
PCI-clamp diode when enabled
IDiode
Notes to Table 1–3:
(1)
(2)
(3)
(4)
All VCCA pins must be powered to 2.5 V (even when PLLs are not used), and must be powered up and powered down at the same time.
VCC D_P LL must always be connected to VCCINT through a decoupling capacitor and ferrite bead.
Power supplies must rise monotonically.
VCC IO for all I/O banks must be powered up during device operation. Configurations pins are powered up by VC CIO of I/O Banks 3, 8, and 9 where
I/O Banks 3 and 9 only support VC CIO of 1.5 V, 1.8 V, 2.5 V, 3.0 V and 3.3 V. For fast passive parallel (FPP) configuration mode, the VC CIO level of
I/O Bank 8 must be powered up to 1.5 V, 1.8 V, 2.5 V, 3.0 V, and 3.3 V.
(5) VCC_CLKIN must be set to 2.5 V if the CLKIN is used as high-speed serial interface (HSSI) refclk. VCC_CLKIN located at I/O Banks 3B and 8B
only support a nominal voltage level of 2.5 V for LVDS input function because they are dedicated for HSSI refclk.
(6) POR time for Standard POR ranges between 50–200 ms. VCCINT, VCCA, and VCCIO of I/O Banks 3, 8, and 9 should reach the recommended operating
range within 50 ms.
(7) POR time for Fast POR ranges between 3–9 ms. VCCINT, VCCA , and VCCIO of I/O Banks 3, 8, and 9 should reach the recommended operating range
within 3 ms.
DC Characteristics
This section lists the I/O leakage current, pin capacitance, on-chip termination (OCT)
tolerance, and bus hold specifications for Cyclone IV devices.
Supply Current
The device supply current requirement is the minimum current drawn from the
power supply pins that can be used as a reference for power size planning. Use the
Excel-based early power estimator (EPE) to get the supply current estimates for your
design because these currents vary greatly with the resources used. Table 1–4 lists I/O
pin leakage current for Cyclone IV devices.
Table 1–4. Cyclone IV Devices I/O Pin Leakage Current (Note 1) , (2)
Symbol
Parameter
Conditions
Device
Min
Typ
Max
Unit
II
Input pin leakage current
VI = 0 V to VCCIOMAX
—
–10
—
10
μA
IOZ
Tristated I/O pin leakage
current
VO = 0 V to VCCIOMAX
—
–10
—
10
μA
Notes to Table 1–4:
(1) This value is specified for normal device operation. The value varies during device power-up. This applies for all VCC IO settings (3.3, 3.0,
2.5, 1.8, 1.5, and 1.2 V).
(2) 10 μA I/O leakage current limit is applicable when the internal clamping diode is off. A higher current can be observed when the diode is on.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–6
Chapter 1: Cyclone IV Device Datasheet
Operating Conditions
Bus Hold
Bus hold retains the last valid logic state after the source driving it either enters the
high impedance state or is removed. Each I/O pin has an option to enable bus hold in
user mode. Bus hold is always disabled in configuration mode.
Table 1–5 lists bus hold specifications for Cyclone IV devices.
Table 1–5. Cyclone IV Devices Bus Hold Parameter (Note 1)—Preliminary
VCC IO (V)
Parameter
Condition
1.2
1.5
1.8
2.5
3.0
3.3
Unit
Min
Max
Min
Max
Min
Max
Min
Max
Min
Max
Min
Max
Bus hold
low,
sustaining
current
VIN > VIL
(maximum)
8
—
12
—
30
—
50
—
70
—
70
—
μA
Bus hold
high,
sustaining
current
VIN < VIL
(minimum)
–8
—
–12
—
–30
—
–50
—
–70
—
–70
—
μA
Bus hold
low,
overdrive
current
0 V < VIN < VCC IO
—
125
—
175
—
200
—
300
—
500
—
500
μA
Bus hold
high,
overdrive
current
0 V < VIN < VCC IO
—
–125
—
–175
—
–200
—
–300
—
–500
—
–500
μA
—
0.3
0.9
0.68
1.07
0.7
1.7
0.8
2
0.8
2
V
Bus hold trip
point
0.375 1.125
Note to Table 1–5:
(1) The bus hold trip points are based on calculated input voltages from the JEDEC standard.
OCT Specifications
Table 1–6 lists the variation of OCT without calibration across process, temperature,
and voltage.
Table 1–6. Cyclone IV Devices Series OCT without Calibration Specifications —Preliminary
Resistance Tolerance
Description
Series OCT without
calibration
VCCIO (V)
Unit
Commercial Max
Industrial Max
3.0
±30
±40
%
2.5
±30
±40
%
1.8
+40
±50
%
1.5
+50
±50
%
1.2
+50
±50
%
OCT calibration is automatically performed at device power-up for OCT enabled
I/Os.
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Operating Conditions
1–7
Table 1–7 lists the OCT calibration accuracy at device power-up.
Table 1–7. Cyclone IV Devices Series OCT with Calibration at Device Power-Up Specifications
—Preliminary
Calibration Accuracy
Description
Series OCT with
calibration at device
power-up
VCCIO (V)
Industrial and Automotive
Max
Unit
Commercial Max
3.0
±10
±10
%
2.5
±10
±10
%
1.8
±10
±10
%
1.5
±10
±10
%
1.2
±10
±10
%
The OCT resistance may vary with the variation of temperature and voltage after
calibration at device power-up. Use Table 1–8 and Equation 1–1 to determine the final
OCT resistance considering the variations after calibration at device power-up.
Table 1–8 lists the change percentage of the OCT resistance with voltage and
temperature.
Table 1–8. Cyclone IV Devices OCT Variation After Calibration at Device Power-Up —Preliminary
© November 2009
Nominal Voltage
dR/dT (%/°C)
dR/dV (%/mV)
3.0
0.262
–0.026
2.5
0.234
–0.039
1.8
0.219
–0.086
1.5
0.199
–0.136
1.2
0.161
–0.288
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–8
Chapter 1: Cyclone IV Device Datasheet
Operating Conditions
Equation 1–1. Final OCT Resistance (Note 1), (2), (3), (4), (5), (6)
ΔRV = (V2 – V1) × 1000 × dR/dV ––––– (7)
ΔRT = (T2 – T1) × dR/dT ––––– (8)
For ΔRx < 0; MFx = 1/ (|ΔRx|/100 + 1) ––––– (9)
For ΔRx > 0; MFx = ΔRx /100 + 1 ––––– (10)
MF = MFV × MFT ––––– (11)
Rfinal = Rinitia l × MF ––––– (12)
Notes to Equation 1–1:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
T2 is the final temperature.
T1 is the initial temperature.
MF is multiplication factor.
Rfinal is final resistance.
Rinitial is initial resistance.
Subscript x refers to both V and T.
ΔRV is variation of resistance with voltage.
ΔRT is variation of resistance with temperature.
dR/dT is the change percentage of resistance with temperature after calibration at device power-up.
dR/dV is the change percentage of resistance with voltage after calibration at device power-up.
V2 is final voltage.
V1 is the initial voltage.
Example 1–1 shows how to calculate the change of 50 Ω I/O impedance from 25°C at
3.0 V to 85°C at 3.15 V:
Example 1–1. Impedance Change
ΔRV = (3.15 – 3) × 1000 × –0.026 = –3.83
ΔRT = (85 – 25) × 0.262 = 15.72
Because ΔRV is negative,
MF V = 1 / (3.83/100 + 1) = 0.963
Because ΔRT is positive,
MFT = 15.72/100 + 1 = 1.157
MF = 0.963 × 1.157 = 1.114
Rfinal = 50 × 1.114 = 55.71 Ω
Pin Capacitance
Table 1–9 lists the pin capacitance for Cyclone IV devices.
Table 1–9. Cyclone IV Devices Pin Capacitance (Part 1 of 2)—Preliminary
Symbol
Parameter
Typical –
Quad Flat
Pack
(QFP)
Typical –
Quad Flat
No Leads
(QFN)
Typical –
Fineline
BGA
(FBGA)
Unit
CIOTB
Input capacitance on top and bottom I/O pins
7
7
6
pF
CIOLR
Input capacitance on right I/O pins
7
7
5
pF
CLV DSLR
Input capacitance on right I/O pins with dedicated LVDS output
8
8
7
pF
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Operating Conditions
1–9
Table 1–9. Cyclone IV Devices Pin Capacitance (Part 2 of 2)—Preliminary
Typical –
Quad Flat
No Leads
(QFN)
Typical –
Fineline
BGA
(FBGA)
Unit
Symbol
Parameter
Typical –
Quad Flat
Pack
(QFP)
CV REFLR (1)
Input capacitance on right dual-purpose VREF pin when used as
VREF or user I/O pin
21
21
21
pF
CV REFTB (1)
Input capacitance on top and bottom dual-purpose VREF pin
when used as VREF or user I/O pin
23
23
23
pF
CC LKTB
Input capacitance on top and bottom dedicated clock input pins
7
7
6
pF
CC LKLR
Input capacitance on right dedicated clock input pins
6
6
5
pF
Note to Table 1–9:
(1) When VREF pin is used as regular input or output, a reduced performance of toggle rate and t CO is expected due to higher pin capacitance.
Internal Weak Pull-Up and Weak Pull-Down Resistor
Table 1–10 lists the weak pull-up and pull-down resistor values for Cyclone IV
devices.
Table 1–10. Cyclone IV Devices Internal Weak Pull-Up and Weak Pull-Down Resistor (Note 1) —Preliminary
Symbol
R_P U
R_P D
Parameter
Value of I/O pin pull-up resistor before
and during configuration, as well as
user mode if the programmable
pull-up resistor option is enabled
Value of I/O pin pull-down resistor
before and during configuration
Conditions
Min
Typ
Max
Unit
VCC IO = 3.3 V ± 5% (2), (3)
7
25
41
kΩ
VCC IO = 3.0 V ± 5% (2), (3)
7
28
47
kΩ
VCC IO = 2.5 V ± 5% (2), (3)
8
35
61
kΩ
VCC IO = 1.8 V ± 5% (2), (3)
10
57
108
kΩ
VCC IO = 1.5 V ± 5% (2), (3)
13
82
163
kΩ
VCC IO = 1.2 V ± 5% (2), (3)
19
143
351
kΩ
VCC IO = 3.3 V ± 5% (4)
6
19
30
kΩ
VCC IO = 3.0 V ± 5% (4)
6
22
36
kΩ
VCC IO = 2.5 V ± 5% (4)
6
25
43
kΩ
VCC IO = 1.8 V ± 5% (4)
7
35
71
kΩ
VCC IO = 1.5 V ± 5% (4)
8
50
112
kΩ
Notes to Table 1–10:
(1) All I/O pins have an option to enable weak pull -up except configuration, test, and JTAG pin. Weak pull-down feature is only available for JTAG
TCK.
(2) Pin pull -up resistance values may be lower if an external source drives the pin higher than VCC IO .
(3) R_P U = (VCCIO – VI )/I R_PU
Minimum condition: –40°C; VCC IO = VC C + 5%, VI = VCC + 5% – 50 mV;
Typical condition: 25°C; VCC IO = VC C, VI = 0 V;
Maximum condition: 100°C; VCCIO = VCC – 5% , VI = 0 V; in which VI refers to the input voltage at the I/O pin.
(4) R_P D = VI /I R_PD
Minimum condition: –40°C; VCC IO = VC C + 5%, VI = 50 mV;
Typical condition: 25°C; VCC IO = VC C, VI = VCC – 5% ;
Maximum condition: 100°C; VCCIO = VCC – 5% , VI = VC C – 5% ; in which VI refers to the input voltage at the I/O pin.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–10
Chapter 1: Cyclone IV Device Datasheet
Operating Conditions
Hot-Socketing
Table 1–11 lists the hot-socketing specifications for Cyclone IV devices.
Table 1–11. Cyclone IV Devices Hot -Socketing Specifications —Preliminary
Symbol
Parameter
Maximum
IIOPIN(DC )
DC current per I/O pin
300 μA
IIOPIN(A C)
AC current per I/O pin
8 mA (1)
IXC VRTX (DC)
DC current per transceiver TX pin
—
IXC VRRX (DC )
DC current per transceiver RX pin
—
Note to Table 1–11:
(1) The I/O ramp rate is 10 ns or more. For ramp rates faster than 10 ns, |IIOPIN| = C dv/dt, in which C is the I/O pin
capacitance and dv/dt is the slew rate.
1
During hot-socketing, the I/O pin capacitance is less than 15 pF and the clock pin
capacitance is less than 20 pF.
Schmitt Trigger Input
Cyclone IV devices support Schmitt trigger input on the TDI, TMS, TCK, nSTATUS,
nCONFIG, nCE, CONF_DONE, and DCLK pins. A Schmitt trigger feature introduces
hysteresis to the input signal for improved noise immunity, especially for signals with
slow edge rate. Table 1–12 lists the hysteresis specifications across the supported V CCIO
range for Schmitt trigger inputs in Cyclone IV devices.
Table 1–12. Hysteresis Specifications for Schmitt Trigger Input in Cyclone IV Devices —Preliminary
Symbol
VS CHM ITT
Parameter
Hysteresis for Schmitt trigger
input
Conditions
Minimum
Typical
Maximum
Unit
VCC IO = 3.3 V
200
—
—
mV
VCC IO = 2.5 V
200
—
—
mV
VCC IO = 1.8 V
140
—
—
mV
VCC IO = 1.5 V
110
—
—
mV
I/O Standard Specifications
The following tables list input voltage sensitivities (V IH and VIL), output voltage (VOH
and VOL), and current drive characteristics (IOH and IOL) for various I/O standards
supported by Cyclone IV devices. Table 1–13 through Table 1–18 provide the I/O
standard specifications for Cyclone IV devices.
Table 1–13. Cyclone IV Devices Single -Ended I/O Standard Specifications
VCC IO (V)
VIL (V)
(Note 1), (2) (Part 1 of 2)—Preliminary
VIH (V)
VOL (V)
VO H (V)
IO H
(mA)
Min
Typ
Max
Min
Max
Min
Max
Max
Min
IO L
(mA)
3.135
3.3
3.465
—
0.8
1.7
3.6
0.45
2.4
4
–4
3.3-V LVCMOS (3) 3.135
3.3
3.465
—
0.8
1.7
3.6
0.2
VC CIO – 0.2
2
–2
I/O Standard
3.3-V LVTTL (3)
3.0-V LVTTL (3)
2.85
3.0
3.15
–0.3
0.8
1.7
VC CIO + 0.3
0.45
2.4
4
–4
3.0-V LVCMOS (3)
2.85
3.0
3.15
–0.3
0.8
1.7
VC CIO + 0.3
0.2
VC CIO – 0.2
0.1
–0.1
2.5-V LVTTL and
LVCMOS (3)
2.375
2.5
2.625
–0.3
0.7
1.7
VC CIO + 0.3
0.4
2.0
1
–1
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Operating Conditions
1–11
Table 1–13. Cyclone IV Devices Single -Ended I/O Standard Specifications
VCC IO (V)
VIL (V)
(Note 1), (2) (Part 2 of 2)—Preliminary
VIH (V)
VOL (V)
VO H (V)
IO H
(mA)
Min
Typ
Max
Min
Max
Min
Max
Max
Min
IO L
(mA)
1.8-V LVTTL and
LVCMOS
1.71
1.8
1.89
–0.3
0.35 *
VCCIO
0.65 *
VCC IO
2.25
0.45
VCC IO – 0.45
2
–2
1.5-V LVCMOS
1.425
1.5
1.575
–0.3
0.35 *
VCCIO
0.65 *
VCC IO
VC CIO + 0.3
0.25 * VC CIO 0.75 * VCC IO
2
–2
1.2-V LVCMOS
1.14
1.2
1.26
–0.3
0.35 *
VCCIO
0.65 *
VCC IO
VC CIO + 0.3
0.25 * VC CIO 0.75 * VCC IO
2
–2
3.0-V PCI
2.85
3.0
3.15
—
0.3 *
VCCIO
0.5 *
VCC IO
VC CIO + 0.3
0.1 * VCC IO
0.9 * VC CIO
1.5
–0.5
3.0-V PCI-X
2.85
3.0
3.15
—
0.35*
VCCIO
0.5 *
VCC IO
VC CIO + 0.3
0.1 * VCC IO
0.9 * VC CIO
1.5
–0.5
I/O Standard
Notes to Table 1–13:
(1) For voltage -referenced receiver input waveform and explanation of terms used in Table 1–13, refer to “Single-ended voltage-referenced I/O
Standard” in“Glossary” on page 1–33.
(2) AC load CL = 10 pF
(3) For more detail about interfacing Cyclone IV devices with 3.3/3.0/2.5-V LVTTL/LVCMOS I/O standards, refer to AN 447: Interfacing Cyclone III and
Cyclone IV Devices with 3.3/3.0/2.5-V LVTTL/LVCMOS I/O Systems.
Table 1–14. Cyclone IV Devices Single -Ended SSTL and HSTL I/O Reference Voltage Specifications (Note 1)—Preliminary
VCC IO (V)
I/O
Standard
VREF (V)
VTT (V) (Note 2)
Min
Typ
Max
Min
Typ
Max
Min
Typ
Max
SSTL-2
Class I, II
2.375
2.5
2.625
1.19
1.25
1.31
VREF – 0.04
VREF
VREF + 0.04
SSTL-18
Class I, II
1.7
1.8
1.9
0.833
0.9
0.969
VREF – 0.04
VREF
VREF + 0.04
HSTL-18
Class I, II
1.71
1.8
1.89
0.85
0.9
0.95
0.85
0.9
0.95
HSTL-15
Class I, II
1.425
1.5
1.575
0.71
0.75
0.79
0.71
0.75
0.79
HSTL-12
Class I, II
1.14
1.2
1.26
—
0.5 * VCC IO
—
0.48 * VCC IO (3)
0.5 * VC CIO (3)
0.52 * VCC IO (3)
0.47 * VCC IO (4)
0.5 * VC CIO (4)
0.53 * VCC IO (4)
Notes to Table 1–14:
(1)
(2)
(3)
(4)
For an explanation of terms used in Table 1–14, refer to “Glossary” on page 1–33.
VTT of transmitting device must track VREF of the receiving device.
Value shown refers to DC input reference voltage, VREF( DC) .
Value shown refers to AC input reference voltage, VREF( AC ).
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–12
Chapter 1: Cyclone IV Device Datasheet
Operating Conditions
Table 1–15. Cyclone IV Devices Single -Ended SSTL and HSTL I/O Standards Signal Specifications —Preliminary
I/O
Standard
VIL(DC) (V)
VIH(DC ) (V)
VIL(AC ) (V)
VIH (A C) (V)
VOL (V)
VOH (V)
IOL
(mA)
IOH
(mA)
Min
Max
Min
Max
Min
Max
Min
Max
Max
Min
SSTL-2
Class I
—
VREF –
0.18
VREF +
0.18
—
—
VREF –
0.35
VREF +
0.35
—
VTT –
0.57
VTT +
0.57
8.1
–8.1
SSTL-2
Class II
—
VREF –
0.18
VREF +
0.18
—
—
VREF –
0.35
VREF +
0.35
—
VTT –
0.76
VTT + 0.76
16.4
–16.4
SSTL-18
Class I
—
VREF –
0.125
VREF +
0.125
—
—
VREF –
0.25
VREF +
0.25
—
VTT –
0.475
VTT +
0.475
6.7
–6.7
SSTL-18
Class II
—
VREF –
0.125
VREF +
0.125
—
—
VREF –
0.25
VREF +
0.25
—
0.28
VC CIO –
0.28
13.4
–13.4
HSTL-18
Class I
—
VREF –
0.1
VREF +
0.1
—
—
VREF –
0.2
VREF +
0.2
—
0.4
VCC IO – 0.4
8
–8
HSTL-18
Class II
—
VREF –
0.1
VREF +
0.1
—
—
VREF –
0.2
VREF +
0.2
—
0.4
VC CIO –
0.4
16
–16
HSTL-15
Class I
—
VREF –
0.1
VREF +
0.1
—
—
VREF –
0.2
VREF +
0.2
—
0.4
VC CIO –
0.4
8
–8
HSTL-15
Class II
—
VREF –
0.1
VREF +
0.1
—
—
VREF –
0.2
VREF +
0.2
—
0.4
VC CIO –
0.4
16
–16
HSTL-12
Class I
–0.15
VREF –
0.08
VREF +
0.08
VCC IO + 0.15
–0.24
VREF –
0.15
VREF +
0.15
VC CIO + 0.24
0.25 ×
VCC IO
0.75 ×
VC CIO
8
–8
HSTL-12
Class II
–0.15
VREF –
0.08
VREF +
0.08
VCC IO + 0.15
–0.24
VREF –
0.15
VREF +
0.15
VC CIO + 0.24
0.25 ×
VCC IO
0.75 ×
VC CIO
14
–14
f
For more illustrations of receiver input and transmitter output waveforms, and for
other differential I/O standards, refer to the I/O Features in Cyclone IV Devices chapter
in volume 1.
Table 1–16. Cyclone IV Devices Differential SSTL I/O Standard Specifications —Preliminary
VC CIO (V)
VSwing(D C) (V)
VX (A C) (V)
VSw ing(AC ) (V)
VOX (AC) (V)
I/O Standard
Min
Typ
Max
Min
Max
Min
Typ
Max
SSTL-2
Class I, II
2.375
2.5
2.625 0.36
VCC IO
VCC IO /2 – 0.2
—
VC CIO/2 +
0.2
0.7
SSTL-18
Class I, II
1.7
1.8
1.90
VCC IO
VCC IO/2 –
0.175
—
VC CIO/2 +
0.175
0.5
0.25
Table 1–17. Cyclone IV Devices Differential HSTL I/O Standard Specifications
VCC IO (V)
VDIF(DC) (V)
Min Max
Min
Typ
Max
VCC IO
VC CIO/2 –
0.125
—
VCC IO /2 +
0.125
VCC IO
VC CIO/2 –
0.125
—
VCC IO /2 +
0.125
(Part 1 of 2) —Preliminary
VX(A C) (V)
VCM (D C) (V)
VD IF(A C) (V)
I/O Standard
HSTL-18
Class I, II
Min
Typ
Max
Min
Max
Min
Typ
Max
Min
Typ
Max
Mi
n
Max
1.71
1.8
1.89
0.2
—
0.85
—
0.95
0.85
—
0.95
0.4
—
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Operating Conditions
1–13
Table 1–17. Cyclone IV Devices Differential HSTL I/O Standard Specifications
VCC IO (V)
VDIF(DC) (V)
(Part 2 of 2) —Preliminary
VX(A C) (V)
VCM (D C) (V)
VD IF(A C) (V)
I/O Standard
Min
Typ
Max
Min
Max
Min
Typ
Max
Min
Typ
Max
Mi
n
Max
HSTL-15
Class I, II
1.425
1.5
1.575
0.2
—
0.71
—
0.79
0.71
—
0.79
0.4
—
HSTL-12
Class I, II
1.14
1.2
1.26
0.16
VC CIO
0.48 * VCC IO
—
0.52 *
VCC IO
0.48 *
VC CIO
—
0.52 *
VCCIO
0.3
0.48 *
VCCIO
Table 1–18. Cyclone IV Devices Differential I/O Standard Specifications (Note 1) (Part 1 of 2)—Preliminary
VC CIO (V)
I/O
Standard
LVPECL
(Row I/Os)
(4)
LVPECL
(Column
I/Os) (4)
LVDS (Row
I/Os)
LVDS
(Column
I/Os)
Min
2.375
2.375
2.375
2.375
Typ
2.5
2.5
2.5
2.5
VID (mV)
Max
Min
2.625 100
2.625 100
2.625 100
2.625 100
Max
—
—
—
—
VIcM (V) (2)
Min
Condition
VO D (mV) (3)
Max Min Typ
0.05
DM AX ≤ 500 Mbps
1.80
0.55
500 Mbps ≤ DM AX ≤
700 Mbps
1.80
1.05
DM AX > 700 Mbps
1.55
0.05
DM AX ≤ 500 Mbps
1.80
0.55
500 Mbps ≤DM AX ≤
700 Mbps
1.80
1.05
DM AX > 700 Mbps
1.55
0.05
VO S (V) (3)
Max
Min
Typ
Max
—
—
—
—
—
—
—
—
—
—
—
—
DM AX ≤ 500 Mbps
1.80
0.55
500 Mbps ≤DM AX ≤
700 Mbps
1.80 247
—
600
1.125 1.25 1.375
1.05
DM AX > 700 Mbps
1.55
0.05
DM AX ≤ 500 Mbps
1.80
0.55
500 Mbps ≤DM AX ≤
700 Mbps
1.80 247
—
600
1.125 1.25 1.375
1.05
DM AX > 700 Mbps
1.55
BLVDS
(Row I/Os)
(5)
2.375
2.5
2.625 100
—
—
—
—
—
—
—
—
—
—
BLVDS
(Column
I/Os) (5)
2.375
2.5
2.625 100
—
—
—
—
—
—
—
—
—
—
mini -LVDS
(Row I/Os)
(6)
2.375
2.5
2.625
—
—
—
—
—
300
—
600
1.0
1.2
1.4
mini -LVDS
(Column
I/Os) (6)
2.375
2.5
2.625
—
—
—
—
—
300
—
600
1.0
1.2
1.4
RSDS®
(Row
I/Os)(6)
2.375
2.5
2.625
—
—
—
—
—
100 200
600
0.5
1.2
1.5
RSDS
(Column
I/Os) (6)
2.375
2.5
2.625
—
—
—
—
—
100 200
600
0.5
1.2
1.5
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–14
Chapter 1: Cyclone IV Device Datasheet
Power Consumption
Table 1–18. Cyclone IV Devices Differential I/O Standard Specifications (Note 1) (Part 2 of 2)—Preliminary
I/O
Standard
VC CIO (V)
VID (mV)
VIcM (V) (2)
VO D (mV) (3)
Min
Typ
Max
Min
Max
Min
Condition
Max Min Typ
PPDS
(Row I/Os)
(6)
2.375
2.5
2.625
—
—
—
—
—
PPDS
(Column
I/Os) (6)
2.375
2.5
2.625
—
—
—
—
—
VO S (V) (3)
Max
Min
Typ
Max
100 200
600
0.5
1.2
1.4
100 200
600
0.5
1.2
1.4
®
Notes to Table 1–18:
(1)
(2)
(3)
(4)
(5)
(6)
For an explanation of terms used in Table 1–18, refer to “Transmitter Output Waveform” in “Glossary” on page 1–33.
VIN range: 0 V ≤VIN ≤1.85 V.
RL range: 90 ≤ RL ≤ 110 Ω.
LVPECL input standard is only supported at clock input. Output standard is not supported.
No fixed VIN , VOD , and VOS specifications for BLVDS. They are dependent on the system topology.
Mini -LVDS, RSDS, and PPDS standards are only supported at the output pins for Cyclone IV devices.
Power Consumption
You can use the following methods to estimate power for a design:
■
the Excel-based EPE
■
the Quartus® II PowerPlay power analyzer feature
The interactive Excel-based EPE is used prior to designing the device to get a
magnitude estimate of the device power. The Quartus II PowerPlay power analyzer
provides better quality estimates based on the specifics of the design after
place-and-route is complete. The PowerPlay power analyzer can apply a combination
of user-entered, simulation-derived, and estimated signal activities that, combined
with detailed circuit models, can yield very accurate power estimates.
f
For more information about power estimation tools, refer to the Early Power Estimator
User Guide and the PowerPlay Power Analysis chapter in volume 3 of the Quartus II
Handbook.
Switching Characteristics
This section provides performance characteristics of Cyclone IV core and periphery
blocks for commercial grade devices.
These characteristics can be designated as Preliminary or Final.
■
Preliminary characteristics are created using simulation results, process data, and
other known parameters. The upper-right hand corner of these tables show the
designation as “Preliminary”.
■
Final numbers are based on actual silicon characterization and testing. The
numbers reflect the actual performance of the device under worst-case silicon
process, voltage, and junction temperature conditions. There are no designations
on finalized tables.
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
1–15
Transceiver Performance Specifications
Table 1–19 lists the Cyclone IV GX transceiver specifications.
Table 1–19. Cyclone IV GX Transceiver Specification (Part 1 of 3)—Preliminary
C6
Symbol/
Description
C7
C8
Conditions
Unit
Min
Typ
Max
Min
Typ
Max
Min
Typ
Max
50
—
156.25
50
—
156.25
50
—
156.25
MHz
—
33
30
—
33
30
—
33
kHz
—
—
—
—
Reference Clock
Input frequency
from REFCLK input
pins
—
Spread-spectrum
modulating clock
frequency
PCI Express
30
Spread-spectrum
downspread
PCI Express
—
0 to
–0.5%
0 to
–0.5%
0 to
–0.5%
—
—
2000 ±
1%
—
—
2000 ±
1%
—
—
2000 ±
1%
—
Ω
10
—
125
10
—
125
10
—
125
MHz
—
125
—
—
125
—
—
125
—
MHz
—
—
1
—
—
1
—
—
1
—
µs
Data rate
—
600
—
3125
600
—
3125
600
—
2500
Mbps
Absolute VM AX for a
receiver pin (1)
—
—
—
1.5
—
—
1.5
—
—
1.5
V
Absolute VM IN for a
receiver pin
—
–0.4
—
—
–0.4
—
—
–0.4
—
—
V
—
Rref
—
Transceiver Clocks
Calibration block
clock frequency
—
fixedclk clock
frequency
Transceiver block
minimum
power-down pulse
width
PCI Express
Receiver
Detect
Receiver
Maximum
peak-to-peak
differential input
voltage VID (diff p-p)
VIC M = 0.82 V
setting
—
—
2.7
—
—
2.7
—
—
2.7
V
Minimum
peak-to-peak
differential input
voltage VID (diff p-p)
Data Rate =
600 Mbps to
3.125 Gbps.
100
—
—
100
—
—
100
—
—
mV
VICM
VIC M = 0.82 V
setting
—
820
—
—
820
—
—
820
—
mV
100−Ω setting
—
100
—
—
100
—
—
100
—
Ω
150−Ω setting
—
150
—
—
150
—
—
150
—
Ω
Differential on-chip
termination
resistors
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–16
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
Table 1–19. Cyclone IV GX Transceiver Specification (Part 2 of 3)—Preliminary
Symbol/
Description
C6
C7
C8
Conditions
Unit
Min
Typ
Max
Min
Typ
Max
Min
Return loss
differential mode
PCI Express
50 MHz to 1.25 GHz: –10dB
Return loss common
mode
PCI Express
50 MHz to 1.25 GHz: –6dB
Typ
Max
± 62.5, 100, 125, 200,
Programmable PPM
detector (2)
—
Run length
—
—
80
—
—
80
—
—
80
—
UI
Programmable
equalization
—
—
—
7
—
—
7
—
—
7
dB
65
—
175
65
—
175
65
—
175
mV
75
—
—
75
—
—
75
µs
15
—
—
15
—
—
µs
Signal detect/loss
threshold
PCI Express
(PIPE) Mode
ppm
250, 300, 500, 1000
CDR LTR time (3)
—
—
—
CDR minimum T1b
(4)
—
15
—
LTD lock time (5)
—
0
100
4000
0
100
4000
0
100
4000
ns
Data lock time from
rx_freqlocked
(6)
—
—
—
4000
—
—
4000
—
—
4000
ns
DC Gain
Setting = 0
—
0
—
—
0
—
—
0
—
dB
DC Gain
Setting = 1
—
3
—
—
3
—
—
3
—
dB
DC Gain
Setting = 2
—
6
—
—
6
—
—
6
—
dB
600
—
3125
600
—
3125
600
—
2500
Mbps
Programmable DC
gain
Transmitter
Data rate
VOC M
0.65 V setting
—
650
—
—
650
—
—
650
—
mV
Differential on-chip
termination
resistors
100−Ω setting
—
100
—
—
100
—
—
100
—
Ω
150−Ω setting
—
150
—
—
150
—
—
150
—
Ω
Return loss
differential mode
PCI Express
50 MHz to 1.25 GHz: –10dB
Return loss common
mode
PCI Express
50 MHz to 1.25 GHz: –6dB
Rise time
—
50
—
200
50
—
200
50
—
200
ps
Fall time
—
50
—
200
50
—
200
50
—
200
ps
Intra-differential pair
skew
—
—
—
15
—
—
15
—
—
15
ps
—
—
120
—
—
120
—
—
120
ps
25
—
156.25
25
—
156.25
25
—
125
MHz
Intra-transceiver
block skew
PCI Express
(PIPE) ×4
PLD-Transceiver Interface
Interface speed
—
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
1–17
Table 1–19. Cyclone IV GX Transceiver Specification (Part 3 of 3)—Preliminary
C6
Symbol/
Description
C7
C8
Conditions
Unit
Min
Digital reset pulse
width
Typ
—
Max
Min
Typ
Max
Min
Typ
Max
Minimum is 2 parallel clock cycles
Notes to Table 1–19:
(1)
(2)
(3)
(4)
The device cannot tolerate prolonged operation at this absolute maximum.
The rate matcher supports only up to ±300 parts per million (ppm).
Time taken to rx_pll_locked goes high from rx_analogreset deassertion. Refer to Figure 1–2.
Time for which the CDR must be kept in lock-to-reference mode after rx_pll_locked goes high and before rx_locktodata is asserted in manual
mode. Refer to Figure 1–2.
(5) Time taken to recover valid data after the rx_locktodata signal is asserted in manual mode. Refer to Figure 1–2.
(6) Time taken to recover valid data after the rx_freqlocked signal goes high in automatic mode. Refer to Figure 1–3.
Figure 1–2 shows the lock time parameters in manual mode.
1
LTD = lock-to-data. LTR = lock-to-reference.
Figure 1–2. Lock Time Parameters for Manual Mode
pll_locked
r x_analogreset
CDR status
LTD
r x_locktodata
r x_dataout
Valid data
LTD lock time
CDR Minimum T1b
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–18
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
Figure 1–3 shows the lock time parameters in automatic mode.
Figure 1–3. Lock Time Parameters for Automatic Mode
LTR
CDR status
LTD
r x_freqlocked
Invalid
r x_dataout
Valid
data
data
Data lock time from rx_freqlocked
Figure 1–4 shows the differential receiver input waveform.
Figure 1–4. Receiver Input Waveform
Single-Ended Waveform
Positive Channel (p)
VID
Negative Channel (n)
VCM
Ground
Differential Waveform
VID (diff peak-peak) = 2 x VID (single-ended)
VID
p−n=0V
VID
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
1–19
Figure 1–5 shows the transmitter output waveform.
Figure 1–5. Transmitter Output Waveform—Preliminary
Single-Ended Waveform
Positive Channel (p)
VOD
Negative Channel (n)
VCM
Ground
Differential Waveform
VOD (diff peak-peak) = 2 x VOD (single-ended)
VOD
p−n=0V
VOD
Table 1–20 lists the typical VOD for TX term that equals 100 Ω.
Table 1–20. Typical VOD Setting, TX Term = 100 Ω —Preliminary
VOD Setting (mV)
Symbol
VOD Typical (mV)
400
600
800
900(1)
1000
400
600
800
900
1000
Note to Table 1–20:
(1) This setting requires PCIE-1 compliance.
Table 1–21 lists the Cyclone IV GX transceiver block AC specifications.
Table 1–21. Cyclone IV GX Transceiver Block AC Specification (Note 1) , (2) (Part 1 of 2)—Preliminary
C6
Symbol/
Description
C7
C8
Conditions
Unit
Min
Typ
Max
Min
Typ
Max
Min
Typ
Max
—
—
0.25
—
—
0.25
—
—
0.25
PCI Express Transmit Jitter Generation (3)
Total jitter at 2.5 Gbps
(Gen1)
Compliance pattern
UI
PCI Express Receiver Jitter Tolerance (3)
Total jitter at 2.5 Gbps
(Gen1)
Compliance pattern
> 0.6
> 0.6
> 0.6
UI
GIGE Transmit Jitter Generation (4)
Deterministic jitter
(peak-to-peak)
Total jitter (peak-to-peak)
Pattern = CRPAT
—
—
0.14
—
—
0.14
—
—
0.14
UI
Pattern = CRPAT
—
—
0.279
—
—
0.279
—
—
0.279
UI
GIGE Receiver Jitter Tolerance (4)
Deterministic jitter
tolerance (peak-to-peak)
© November 2009
Pattern = CJPAT
Altera Corporation
> 0.4
> 0.4
> 0.4
UI
Cyclone IV Device Handbook, Volume 3
1–20
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
Table 1–21. Cyclone IV GX Transceiver Block AC Specification (Note 1) , (2) (Part 2 of 2)—Preliminary
C6
Symbol/
Description
C7
C8
Conditions
Unit
Min
Combined deterministic
and random jitter
tolerance (peak-to-peak)
Pattern = CJPAT
Typ
Max
Min
> 0.66
Typ
Max
Min
> 0.66
Typ
Max
> 0.66
UI
Notes to Table 1–21:
(1)
(2)
(3)
(4)
Dedicated refclk pins were used to drive the input reference clocks.
The Jitter numbers specified are valid for the stated conditions only.
The jitter numbers for PCI Express (PIPE) are compliant to the PCIe Base Specification 2.0.
The jitter numbers for GIGE are compliant to the IEEE802.3-2002 Specification.
Core Performance Specifications
Clock Tree Specifications
Table 1–22 lists the clock tree specifications for Cyclone IV devices.
Table 1–22. Cyclone IV Devices Clock Tree Performance —Preliminary
Performance
Device
Unit
C6
C7
C8
EP4CGX15
500
437.5
402
MHz
EP4CGX22
500
437.5
402
MHz
EP4CGX30
500
437.5
402
MHz
EP4CGX50
500
437.5
402
MHz
EP4CGX75
500
437.5
402
MHz
EP4CGX110
500
437.5
402
MHz
EP4CGX150
500
437.5
402
MHz
PLL Specifications
Table 1–23 describes the PLL specifications for Cyclone IV devices when operating in
the commercial junction temperature range (0°C to 85°C), the industrial junction
temperature range (–40°C to 100°C), and the automotive junction temperature range
(–40°C to 125°C). For more information about the PLL block, refer to “PLL Block” in
“Glossary” on page 1–33.
Table 1–23. Cyclone IV PLL Specifications (Note 1) (Part 1 of 2)—Preliminary
Symbol
Parameter
Min
Typ
Max
Unit
fIN (2)
Input clock frequency
5
—
472.5
MHz
fINPF D
PFD input frequency
5
—
325
MHz
fVC O (3)
PLL internal VCO operating range
600
—
1300
MHz
fINDUTY
Input clock duty cycle
40
—
60
%
tINJITTER_C CJ (4)
Input clock cycle-to-cycle jitter
FREF ≥ 100 MHz
—
—
0.15
UI
FREF < 100 MHz
—
—
±750
ps
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
1–21
Table 1–23. Cyclone IV PLL Specifications (Note 1) (Part 2 of 2)—Preliminary
Symbol
Min
Typ
Max
Unit
PLL output frequency
—
—
472.5
MHz
PLL output frequency (–6 speed grade)
—
—
472.5
MHz
PLL output frequency (–7 speed grade)
—
—
450
MHz
PLL output frequency (–8 speed grade)
—
—
402.5
MHz
tOUTDUTY
Duty cycle for external clock output (when set to 50%)
45
50
55
%
tLOCK
Time required to lock from end of device configuration
—
—
1
ms
tDLOCK
Time required to lock dynamically (after switchover,
reconfiguring any non-post-scale counters/delays or
areset is deasserted)
—
—
1
ms
Dedicated clock output period jitter
FOUT ≥ 100 MHz
—
—
300
ps
FOUT < 100 MHz
—
—
30
mUI
Dedicated clock output cycle-to-cycle jitter
FOUT ≥ 100 MHz
—
—
300
ps
FOUT < 100 MHz
—
—
30
mUI
Regular I/O period jitter
FOUT ≥ 100 MHz
—
—
650
ps
FOUT < 100 MHz
—
—
75
mUI
Regular I/O cycle-to-cycle jitter
FOUT ≥ 100 MHz
—
—
650
ps
FOUT < 100 MHz
—
—
75
mUI
tPLL_PSERR
Accuracy of PLL phase shift
—
—
±50
ps
tARESET
Minimum pulse width on areset signal.
10
—
—
ns
tCONF IGPLL
Time required to reconfigure scan chains for PLLs
—
3.5 (6)
—
SCANCLK
cycles
fSC ANC LK
scanclk frequency
—
—
100
MHz
fOUT_EXT (external clock output)
(2)
fOUT (to global clock)
tOUTJITTER_PERIOD_DEDC LK (5)
tOUTJITTER_CCJ _DEDCLK (5)
tOUTJITTER_PERIOD_IO (5)
tOUTJITTER_CCJ _IO (5)
Parameter
Notes to Table 1–23:
(1) VCC D_P LL should always be connected to VC CINT through decoupling capacitor and ferrite bead.
(2) This parameter is limited in the Quartus II software by the I/O maximum frequency. The maximum I/O frequency is different for each I/O standard.
(3) The VCO frequency reported by the Quartus II software in the PLL summary section of the compilation report takes into consideration the VC O post-scale
counter K value. Therefore, if the counter K has a value of 2, the frequency reported can be lower than the fV CO specification.
(4) A high input jitter directly affects the PLL output jitter. To have low PLL output clock jitter, you must provide a clean clock source, that is less than 200 ps.
(5) Peak-to-peak jitter with a probability level of 10–12 (14 sigma, 99.99999999974404% confidence level). The output jitter specification applies to the intrinsic
jitter of the PLL, when an input jitter of 30 ps is applied.
(6) With 100 MHz scanclk frequency.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–22
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
Embedded Multiplier Specifications
Table 1–24 describes the embedded multiplier specifications for Cyclone IV devices.
Table 1–24. Cyclone IV Devices Embedded Multiplier Specifications —Preliminary
Resources Used
Performance
Mode
Unit
Number of Multipliers
C6
C7, I7
C8
9 × 9-bit
multiplier
1
340
300
260
MHz
18 × 18-bit
multiplier
1
287
250
200
MHz
Memory Block Specifications
Table 1–25 describes the M9K memory block specifications for Cyclone IV devices.
Table 1–25. Cyclone IV Devices Memory Block Performance Specifications —Preliminary
Resources Used
Memory
M9K Block
Mode
Performance
LEs
M9K
Memory
C6
C7, I7
C8
Unit
FIFO 256 × 36
47
1
315
274
238
MHz
Single-port 256 × 36
0
1
315
274
238
MHz
Simple dual-port 256 × 36 CLK
0
1
315
274
238
MHz
True dual port 512 × 18 single
CLK
0
1
315
274
238
MHz
Configuration and JTAG Specifications
Table 1–26 lists the configuration mode specifications for Cyclone IV devices.
Table 1–26. Cyclone IV Devices Configuration Mode Specifications —Preliminary
Programming Mode
DCLK f MAX
Unit
Passive Serial (PS)
133
MHz
Fast Passive Parallel (FPP)
100
MHz
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
1–23
Table 1–27 lists the active configuration mode specifications for Cyclone IV devices.
Table 1–27. Cyclone IV Devices Active Configuration Mode Specifications —Preliminary
Programming Mode
DCLK Range
Unit
Active Parallel (AP)
20 – 40
MHz
Active Serial (AS)
20 – 40
MHz
Table 1–28 lists the JTAG timing parameters and values for Cyclone IV devices.
Table 1–28. Cyclone IV Devices JTAG Timing Parameters (Note 1)—Preliminary
Symbol
Parameter
Min
Max
Unit
tJC P
TCK clock period
40
—
ns
tJC H
TCK clock high time
20
—
ns
tJC L
TCK clock low time
20
—
ns
tJP SU_TDI
JTAG port setup time for TDI (2)
1
—
ns
tJP SU_TM S
JTAG port setup time for TMS (2)
3
—
ns
tJP H
JTAG port hold time
10
—
ns
tJP CO
JTAG port clock to output (2)
—
15
ns
tJP ZX
JTAG port high impedance to valid output (2)
—
15
ns
tJP XZ
JTAG port valid output to high impedance (2)
—
15
ns
tJS SU
Capture register setup time (2)
5
—
ns
tJS H
Capture register hold time
10
—
ns
tJS CO
Update register clock to output
—
25
ns
tJS ZX
Update register high impedance to valid output
—
25
ns
tJS XZ
Update register valid output to high impedance
—
25
ns
Notes to Table 1–28:
(1) For more information about JTAG waveforms, refer to “JTAG Waveform” in “Glossary” on page 1–33.
(2) The specification is shown for 3.3-, 3.0-, and 2.5-V LVTTL/LVCMOS operation of JTAG pins. For 1.8-V LVTTL/LVCMOS
and 1.5-V LVCMOS, the JTAG port clock to output time is 16 ns.
Periphery Performance
This section describes periphery performance, including high-speed I/O and external
memory interface.
This section describes periphery performance, including high-speed I/O and external
memory interface.
I/O performance supports several system interfaces, such as the high-speed I/O
interface, external memory interface, and the PCI/PCI-X bus interface. I/Os using
SSTL-18 Class I termination standard can achieve up to the stated DDR2 SDRAM
interfacing speeds as indicated in Table 1–35 and Table 1–36 on page 1–29 with typical
DDR2 SDRAM memory interface setup. I/Os using general-purpose I/O standards
such as 3.0-, 2.5-, 1.8-, or 1.5-LVTTL/LVCMOS are capable of typical 200 MHz
interfacing frequency with a 10 pF load.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–24
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
1
Actual achievable frequency depends on design- and system-specific factors. You
should perform HSPICE/IBIS simulations based on your specific design and system
setup to determine the maximum achievable frequency in your system.
High-Speed I/O Specifications
Table 1–29 through Table 1–34 list the high-speed I/O timing for Cyclone IV devices.
For definitions of high-speed timing specifications, refer to “Glossary” on page 1–33.
Table 1–29. Cyclone IV Devices RSDS Transmitter Timing Specifications (Note 1), (2) —Preliminary
C6
Symbol
C7, I7
C8
Modes
fHSC LK
(input clock
frequency)
Device operation in
Mbps
Unit
Min
Typ
Max
Min
Typ
Max
Min
Typ
Max
×10
10
—
180
10
—
155.5
10
—
155.5
MHz
×8
10
—
180
10
—
155.5
10
—
155.5
MHz
×7
10
—
180
10
—
155.5
10
—
155.5
MHz
×4
10
—
180
10
—
155.5
10
—
155.5
MHz
×2
10
—
180
10
—
155.5
10
—
155.5
MHz
×1
10
—
360
10
—
311
10
—
311
MHz
×10
100
—
360
100
—
311
100
—
311
Mbps
×8
80
—
360
80
—
311
80
—
311
Mbps
×7
70
—
360
70
—
311
70
—
311
Mbps
×4
40
—
360
40
—
311
40
—
311
Mbps
×2
20
—
360
20
—
311
20
—
311
Mbps
×1
10
—
360
10
—
311
10
—
311
Mbps
tDUTY
—
45
—
55
45
—
55
45
—
55
%
TCCS
—
—
—
200
—
—
200
—
—
200
ps
Output jitter
(peak to peak)
—
—
—
500
—
—
500
—
—
550
ps
tRISE
20 – 80%, CLOA D = 5 pF
—
500
—
—
500
—
—
500
—
ps
tFALL
20 – 80%, CLOA D = 5 pF
—
500
—
—
500
—
—
500
—
ps
—
—
—
1
—
—
1
—
—
1
ms
tLOCK (3)
Notes to Table 1–29:
(1) Applicable for true RSDS and emulated RSDS_E_3R transmitter.
(2) True RSDS transmitter is only supported at output pin of Row I/O Banks 5 and 6. Emulated RSDS transmitter is supported at the output pin of
I/O Banks 3, 4, 5, 6, 7, 8, and 9.
(3) tLOC K is the time required for the PLL to lock from the end of device configuration.
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
1–25
Table 1–30. Cyclone IV Devices Emulated RSDS_E_1R Transmitter Timing Specifications (Note 1)
—Preliminary
C6
Symbol
C7, I7
C8
Modes
fHSC LK (input
clock
frequency)
Device
operation in
Mbps
Unit
Min
Typ
Max
Min
Typ
Max
Min
Typ
Max
×10
10
—
85
10
—
85
10
—
85
MHz
×8
10
—
85
10
—
85
10
—
85
MHz
×7
10
—
85
10
—
85
10
—
85
MHz
×4
10
—
85
10
—
85
10
—
85
MHz
×2
10
—
85
10
—
85
10
—
85
MHz
×1
10
—
170
10
—
170
10
—
170
MHz
×10
100
—
170
100
—
170
100
—
170
Mbps
×8
80
—
170
80
—
170
80
—
170
Mbps
×7
70
—
170
70
—
170
70
—
170
Mbps
×4
40
—
170
40
—
170
40
—
170
Mbps
×2
20
—
170
20
—
170
20
—
170
Mbps
×1
10
—
170
10
—
170
10
—
170
Mbps
tDUTY
—
45
—
55
45
—
55
45
—
55
%
TCCS
—
—
—
200
—
—
200
—
—
200
ps
Output jitter
(peak to
peak)
—
—
—
500
—
—
500
—
—
550
ps
—
500
—
—
500
—
—
500
—
ps
—
500
—
—
500
—
—
500
—
ps
—
—
1
—
—
1
—
—
1
ms
tRISE
tFALL
20 – 80%,
CLOAD = 5 pF
20 – 80%,
CLOAD = 5 pF
tLOCK (2)
—
Notes to Table 1–30:
(1) Emulated RSDS_E_1R transmitter is supported at the output pin of I/O Banks 3, 4, 5, 6, 7, 8, and 9.
(2) tLOC K is the time required for the PLL to lock from the end of device configuration.
Table 1–31. Cyclone IV Devices Mini-LVDS Transmitter Timing Specifications (Note 1), (2) (Part 1 of 2)—Preliminary
C6
Symbol
fHSC LK (input
clock
frequency)
© November 2009
C7, I7
C8
Modes
Unit
Min
Typ
Max
Min
Typ
Max
Min
Typ
Max
×10
10
—
200
10
—
155.5
10
—
155.5
MHz
×8
10
—
200
10
—
155.5
10
—
155.5
MHz
×7
10
—
200
10
—
155.5
10
—
155.5
MHz
×4
10
—
200
10
—
155.5
10
—
155.5
MHz
×2
10
—
200
10
—
155.5
10
—
155.5
MHz
×1
10
—
400
10
—
311
10
—
311
MHz
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–26
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
Table 1–31. Cyclone IV Devices Mini-LVDS Transmitter Timing Specifications (Note 1), (2) (Part 2 of 2)—Preliminary
C6
Symbol
C7, I7
C8
Modes
Unit
Min
Typ
Max
Min
Typ
Max
Min
Typ
Max
×10
100
—
400
100
—
311
100
—
311
Mbps
×8
80
—
400
80
—
311
80
—
311
Mbps
×7
70
—
400
70
—
311
70
—
311
Mbps
×4
40
—
400
40
—
311
40
—
311
Mbps
×2
20
—
400
20
—
311
20
—
311
Mbps
×1
10
—
400
10
—
311
10
—
311
Mbps
tDUTY
—
45
—
55
45
—
55
45
—
55
%
TCCS
—
—
—
200
—
—
200
—
—
200
ps
Output jitter
(peak to
peak)
—
—
—
500
—
—
500
—
—
550
ps
—
500
—
—
500
—
—
500
—
ps
—
500
—
—
500
—
—
500
—
ps
—
—
1
—
—
1
—
—
1
ms
Device
operation in
Mbps
tRISE
tFALL
20 – 80%,
CLOAD = 5 pF
20 – 80%,
CLOAD = 5 pF
tLOCK (3)
—
Notes to Table 1–31:
(1) Applicable for true and emulated mini-LVDS transmitter.
(2) True mini-LVDS transmitter is only supported at the output pin of Row I/O Banks 5 and 6. Emulated mini-LVDS transmitter is supported
at the output pin of I/O Banks 3, 4, 5, 6, 7, 8, and 9.
(3) tLOC K is the time required for the PLL to lock from the end of device configuration.
Table 1–32. Cyclone IV Devices True LVDS Transmitter Timing Specifications (Note 1) (Part 1 of
2) —Preliminary
C6
Symbol
fHSC LK (input
clock frequency)
HSIODR
C7, I7
C8
Modes
Unit
Min
Max
Min
Max
Min
Max
×10
10
420
10
370
10
320
MHz
×8
10
420
10
370
10
320
MHz
×7
10
420
10
370
10
320
MHz
×4
10
420
10
370
10
320
MHz
×2
10
420
10
370
10
320
MHz
×1
10
420
10
402.5
10
402.5
MHz
×10
100
840
100
740
100
640
Mbps
×8
80
840
80
740
80
640
Mbps
×7
70
840
70
740
70
640
Mbps
×4
40
840
40
740
40
640
Mbps
×2
20
840
20
740
20
640
Mbps
×1
10
420
10
402.5
10
402.5
Mbps
tDUTY
—
45
55
45
55
45
55
%
TCCS
—
—
200
—
200
—
200
ps
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
1–27
Table 1–32. Cyclone IV Devices True LVDS Transmitter Timing Specifications (Note 1) (Part 2 of
2) —Preliminary
C6
Symbol
C7, I7
C8
Modes
Unit
Min
Max
Min
Max
Min
Max
Output jitter
(peak to peak)
—
—
500
—
500
—
550
ps
tLOCK (2)
—
—
1
—
1
—
1
ms
Notes to Table 1–32:
(1) True LVDS transmitter is only supported at the output pin of Row I/O Banks 5 and 6.
(2) tLOC K is the time required for the PLL to lock from the end of device configuration.
Table 1–33. Cyclone IV Devices Emulated LVDS Transmitter Timing Specifications (Note 1)
—Preliminary
C6
Symbol
fHSC LK (input clock
frequency)
HSIODR
C7, I7
C8
Modes
Unit
Min
Max
Min
Max
Min
Max
×10
10
320
10
320
10
275
MHz
×8
10
320
10
320
10
275
MHz
×7
10
320
10
320
10
275
MHz
×4
10
320
10
320
10
275
MHz
×2
10
320
10
320
10
275
MHz
×1
10
402.5
10
402.5
10
402.5
MHz
×10
100
640
100
640
100
550
Mbps
×8
80
640
80
640
80
550
Mbps
×7
70
640
70
640
70
550
Mbps
×4
40
640
40
640
40
550
Mbps
×2
20
640
20
640
20
550
Mbps
×1
10
402.5
10
402.5
10
402.5
Mbps
tDUTY
—
45
55
45
55
45
55
%
TCCS
—
—
200
—
200
—
200
ps
Output jitter
(peak to peak)
—
—
500
—
500
—
550
ps
tLOCK (2)
—
—
1
—
1
—
1
ms
Notes to Table 1–33:
(1) Emulated LVDS transmitter is supported at the output pin of I/O Banks 3, 4, 5, 6, 7, 8, and 9.
(2) tLOC K is the time required for the PLL to lock from the end of device configuration.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–28
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
Table 1–34. Cyclone IV Devices LVDS Receiver Timing Specifications (Note 1) —Preliminary
C6
Symbol
C7, I7
C8
Modes
Unit
Min
Max
Min
Max
Min
Max
×10
10
437.5
10
370
10
320
MHz
×8
10
437.5
10
370
10
320
MHz
×7
10
437.5
10
370
10
320
MHz
×4
10
437.5
10
370
10
320
MHz
×2
10
437.5
10
370
10
320
MHz
×1
10
437.5
10
402.5
10
402.5
MHz
×10
100
875
100
740
100
640
Mbps
×8
80
875
80
740
80
640
Mbps
×7
70
875
70
740
70
640
Mbps
×4
40
875
40
740
40
640
Mbps
×2
20
875
20
740
20
640
Mbps
×1
10
437.5
10
402.5
10
402.5
Mbps
SW
—
—
400
—
400
—
400
ps
Input jitter
tolerance
—
—
500
—
500
—
550
ps
tLOCK (2)
—
—
1
—
1
—
1
ms
fHSC LK (input clock
frequency)
HSIODR
Notes to Table 1–34:
(1) LVDS receiver is supported at I/O Banks 3, 4, 5, 6, 7, 8, and 9.
(2) tLOC K is the time required for the PLL to lock from the end of device configuration.
External Memory Interface Specifications
Cyclone IV devices support external memory interfaces up to 200 MHz. The external
memory interfaces for Cyclone IV devices are auto-calibrating and easy to implement.
Table 1–35 through Table 1–39 list the external memory interface specifications for
Cyclone IV devices and are useful when performing memory interface timing
analysis.
Table 1–35. Cyclone IV Devices Maximum Clock Rate Support for External Memory Interfaces with Half-Rate
Controller (Note 1),(2) (Part 1 of 2) —Preliminary
Column I/O Banks
Row I/O Banks
Wraparound Mode
Column I/O Banks
Row I/O Banks
Wraparound Mode
Column I/O Banks
Row I/O Banks
Wraparound Mode
I7 Speed Grade
(MHz)
Wraparound Mode
C8 Speed Grade
(MHz)
Row I/O Banks
C7 Speed Grade
(MHz)
Column I/O Banks
C6 Speed Grade
(MHz)
DDR2 SDRAM (3),(4)
200
167
167
167
150
133
167
133
125
167
150
133
DDR SDRAM (3)
167
150
133
150
133
125
133
125
100
150
133
125
Memory Standard
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
1–29
Table 1–35. Cyclone IV Devices Maximum Clock Rate Support for External Memory Interfaces with Half-Rate
Controller (Note 1),(2) (Part 2 of 2) —Preliminary
Column I/O Banks
Row I/O Banks
Wraparound Mode
Column I/O Banks
Row I/O Banks
Wraparound Mode
Column I/O Banks
Row I/O Banks
Wraparound Mode
I7 Speed Grade
(MHz)
Wraparound Mode
QDR II SRAM (5)
C8 Speed Grade
(MHz)
Row I/O Banks
Memory Standard
C7 Speed Grade
(MHz)
Column I/O Banks
C6 Speed Grade
(MHz)
167
167
150
150
150
133
133
133
125
150
150
133
Notes to Table 1–35:
(1) Column I/O banks refer to top and bottom I/Os. Row I/O banks refer to right I/Os. Wraparound mode refers to combination of column and row
I/Os.
(2) The supported operating frequencies listed here are memory interface maximums for the FPGA device. The actual achievable performance of
your design is based on the design and system specific factors, as well as static timing analysis of the completed design.
(3) The values apply for interfaces with both modules and components.
(4) For more information about the required DDR2 memory device speed grade for external memory interface to achieve performance as stated in
this table, refer to AN 445: Design Guidelines for Implementing DDR and DDR2 SDRAM Interfaces in Cyclone III Devices.
(5) QDR II SRAM also supports the 1.5-V HSTL I/O standard. However, Altera recommends using the 1.8-V HSTL I/O standard for maximum
performance because of the higher I/O drive strength.
Table 1–36. Cyclone IV Devices Maximum Clock Rate Support for External Memory Interfaces with Full-Rate Controller
(Note 1),(2) —Preliminary
Row I/O Banks
Column I/O Banks
Row I/O Banks
Column I/O Banks
Row I/O Banks
I7 Speed Grade
(MHz)
Column I/O Banks
C8 Speed Grade
(MHz)
Row I/O Banks
C7 Speed Grade
(MHz)
Column I/O Banks
C6 Speed Grade
(MHz)
DDR2 SDRAM (3),(4),(5)
200
167
167
150
167
133
167
150
DDR SDRAM (3)
167
150
150
133
133
125
150
133
Memory Standard
Notes to Table 1–36:
(1) Column I/O banks refer to top and bottom I/Os. Row I/O banks refer to right I/Os.
(2) The supported operating frequencies listed here are memory interface maximums for the FPGA device. The actual achievable performance of
your design is based on the design and system specific factors, as well as static timing analysis of the completed design.
(3) The values apply for interfaces with both modules and components.
(4) We recommend the use of ALTMEMPHY AFI mode to achieve these quoted maximum clock rate due to lower performance of Non-AFI mode.
(5) For the required DDR2 memory device speed grade for external memory interface to achieve performance as stated in this table, refer to
AN 445: Design Guidelines for Implementing DDR and DDR2 SDRAM Interfaces in Cyclone IV Devices.
Table 1–37. Cyclone IV Devices FPGA Sampling Window (SW) Requirement – Read Side (Note 1) —Preliminary (Part 1 of
2)
Column I/Os
Row I/Os
Wraparound Mode
Memory Standard
Setup
Hold
Setup
Hold
Setup
Hold
640
850
800
C6 Speed Grade
DDR2 SDRAM
© November 2009
580
Altera Corporation
550
690
Cyclone IV Device Handbook, Volume 3
1–30
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
Table 1–37. Cyclone IV Devices FPGA Sampling Window (SW) Requirement – Read Side (Note 1) —Preliminary (Part 2 of
2)
Column I/Os
Row I/Os
Wraparound Mode
Memory Standard
Setup
Hold
Setup
Hold
Setup
Hold
DDR SDRAM
585
535
700
650
870
820
QDR II SRAM
785
735
805
755
905
855
C7 Speed Grade
DDR2 SDRAM
705
650
770
715
985
930
DDR SDRAM
675
620
795
740
970
915
QDR II SRAM
900
845
910
855
1085
1030
C8 Speed Grade
DDR2 SDRAM
785
720
930
870
1115
1055
DDR SDRAM
800
740
915
855
1185
1125
QDR II SRAM
1050
990
1065
1005
1210
1150
I7 Speed Grade
DDR2 SDRAM
765
710
855
800
1040
985
DDR SDRAM
745
690
880
825
1000
945
QDR II SRAM
945
890
955
900
1130
1075
QDR II SRAM
1090
1030
1105
1045
1250
1190
Note to Table 1–37:
(1) Column I/Os refer to top and bottom I/Os. Row I/Os refer to right I/Os. Wraparound mode refers to the combination of column and row I/Os.
Table 1–38. Cyclone IV Devices Transmitter Channel-to-Channel Skew (TCCS) – Write Side (Note 1) (Part 1 of 2)
—Preliminary
Memory
Standard
Column I/Os (ps)
Row I/Os (ps)
Wraparound Mode (ps)
I/O Standard
Lead
Lag
Lead
Lag
Lead
Lag
C6 Speed Grade
DDR2 SDRAM
DDR SDRAM
QDR II SRAM
SSTL-18 Class I
790
380
790
380
890
480
SSTL-18 Class II
870
490
870
490
970
590
SSTL-2 Class I
750
320
750
320
850
420
SSTL-2 Class II
860
350
860
350
960
450
1.8 V HSTL Class I
780
410
780
410
880
510
1.8 V HSTL Class II
830
510
830
510
930
610
SSTL-18 Class I
915
410
915
410
1015
510
SSTL-18 Class II
1025
545
1025
545
1125
645
SSTL-2 Class I
880
340
880
340
980
440
SSTL-2 Class II
1010
380
1010
380
1110
480
1.8 V HSTL Class I
910
450
910
450
1010
550
1.8 V HSTL Class II
1010
570
1010
570
1110
670
C7 Speed Grade
DDR2 SDRAM
DDR SDRAM
QDR II SRAM
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
1–31
Table 1–38. Cyclone IV Devices Transmitter Channel-to-Channel Skew (TCCS) – Write Side (Note 1) (Part 2 of 2)
—Preliminary
Column I/Os (ps)
Memory
Standard
Row I/Os (ps)
Wraparound Mode (ps)
I/O Standard
Lead
Lag
Lead
Lag
Lead
Lag
C8 Speed Grade
DDR2 SDRAM
DDR SDRAM
QDR II SRAM
SSTL-18 Class I
1040
440
1040
440
1140
540
SSTL-18 Class II
1180
600
1180
600
1280
700
SSTL-2 Class I
1010
360
1010
360
1110
460
SSTL-2 Class II
1160
410
1160
410
1260
510
1.8 V HSTL Class I
1040
490
1040
490
1140
590
1.8 V HSTL Class II
1190
630
1190
630
1290
730
SSTL-18 Class I
961
431
961
431
1061
531
SSTL-18 Class II
1076
572
1076
572
1176
672
SSTL-2 Class I
924
357
924
357
1024
457
SSTL-2 Class II
1061
399
1061
399
1161
499
1.8 V HSTL Class I
956
473
956
473
1056
573
1.8 V HSTL Class II
1061
599
1061
599
1161
699
I7 Speed Grade
DDR2 SDRAM
DDR SDRAM
QDR II SRAM
Notes to Table 1–38:
(1) Column I/O banks refer to top and bottom I/Os. Row I/O banks refer to right I/Os. Wraparound mode refers to the combination of column and
row I/Os.
(2) For DDR2 SDRAM write timing performance on columns I/O for C8 devices, 97.5° phase offset is required.
Table 1–39. Cyclone IV Devices Memory Output Clock Jitter Specifications (Note 1), (2) —
Preliminary
Parameter
Symbol
Min
Max
Unit
Clock period jitter
tJIT(per)
–125
125
ps
Cycle-to-cycle period jitter
tJIT(cc)
–200
200
ps
Duty cycle jitter
t JIT(duty)
–150
150
ps
Notes to Table 1–39:
(1) The memory output clock jitter measurements are for 200 consecutive clock cycles, as specified in the JEDEC
DDR2 standard.
(2) The clock jitter specification applies to memory output clock pins generated using DDIO circuits clocked by a PLL
output routed on a global clock network.
© November 2009
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–32
Chapter 1: Cyclone IV Device Datasheet
Switching Characteristics
Duty Cycle Distortion Specifications
Table 1–40 lists the worst case duty cycle distortion for Cyclone IV devices.
Table 1–40. Duty Cycle Distortion on Cyclone IV Devices I/O Pins (Note 1), (2)—Preliminary
C6
C7, I7
C8
Symbol
Unit
Output Duty Cycle
Min
Max
Min
Max
Min
Max
45
55
45
55
45
55
%
Notes to Table 1–40:
(1) Duty cycle distortion specification applies to clock outputs from PLLs, global clock tree, and IOE driving dedicated
and general purpose I/O pins.
(2) Cyclone IV devices meet specified duty cycle distortion at maximum output toggle rate for each combination of
I/O standard and current strength.
OCT Calibration Timing Specification
Table 1–41 lists the duration of calibration for series OCT with calibration at device
power-up for Cyclone IV devices.
Table 1–41. Cyclone IV Devices Timing Specification for Series OCT with Calibration at Device
Power-Up (Note 1)—Preliminary
Symbol
Description
Maximum
Units
20
µs
Duration of series OCT with
calibration at device power-up
tOCTC AL
Note to Table 1–41:
(1) OCT calibration takes place after device configuration, before entering user mode.
IOE Programmable Delay
Table 1–42 and Table 1–43 list the IOE programmable delay for Cyclone IV devices.
Table 1–42. Cyclone IV Devices IOE Programmable Delay on Column Pins (Note 1), (2)—Preliminary
Max Offset
Parameter
Paths
Affected
Number
of
Settings
Min
Offset
Fast Corner
Slow Corner
Unit
I7
C6
C6
C7
C8
I7
Input delay from pin to
internal cells
Pad to I/O
dataout to
core
7
0
1.211
1.314
2.175
2.32
2.386
2.366
ns
Input delay from pin to
input register
Pad to I/O
input register
8
0
1.203
1.307
2.19
2.387
2.54
2.43
ns
Delay from output
register to output pin
I/O output
register to
pad
2
0
0.479
0.504
0.915
1.011
1.107
1.018
ns
Input delay from
dual-purpose clock pin
to fan-out destinations
Pad to global
clock
network
12
0
0.664
0.694
1.199
1.378
1.532
1.392
ns
Notes to Table 1–42:
(1) The incremental values for the settings are generally linear. For exact values of each setting, use the latest version of the Quartus II software.
(2) The minimum and maximum offset timing numbers are in reference to setting ‘0’ as available in the Quartus II software.
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
I/O Timing
1–33
Table 1–43. Cyclone IV Devices IOE Programmable Delay on Row Pins (Note 1), (2)—Preliminary
Max Offset
Paths
Affected
Parameter
Number
of
Settings
Min
Offset
Fast Corner
Slow Corner
Unit
I7
C6
C6
C7
C8
I7
Input delay from pin to
internal cells
Pad to I/O
dataout to
core
7
0
1.209
1.314
2.174
2.335
2.406
2.381
ns
Input delay from pin to
input register
Pad to I/O
input register
8
0
1.207
1.312
2.202
2.402
2.558
2.447
ns
Delay from output
register to output pin
I/O output
register to
pad
2
0
0.51
0.537
0.962
1.072
1.167
1.074
ns
12
0
0.669
0.698
1.207
1.388
1.542
1.403
ns
Input delay from
Pad to global
dual-purpose clock pin
clock network
to fan-out destinations
Notes to Table 1–43:
(1) The incremental values for the settings are generally linear. For exact values of each setting, use the latest version of Quartus II software.
(2) The minimum and maximum offset timing numbers are in reference to setting ‘0’ as available in the Quartus II software
I/O Timing
You can use the following methods to determine the I/O timing:
■
the Excel-based I/O Timing
■
the Quartus II timing analyzer
The Excel-based I/O Timing provides pin timing performance for each device density
and speed grade. The data is typically used prior to designing the FPGA to get a
timing budget estimation as part of the link timing analysis. The Quartus II timing
analyzer provides a more accurate and precise I/O timing data based on the specifics
of the design after place-and-route is complete.
f
The Excel-based I/O Timing spreadsheet is downloadable from Cyclone IV Devices
Literature website.
Glossary
Table 1–44 lists the glossary for this chapter.
Table 1–44. Glossary (Part 1 of 6)
Letter
Term
Definitions
A
—
—
B
—
—
C
—
—
D
—
—
E
—
—
F
fHS CLK
© November 2009
HIGH-SPEED I/O Block: High-speed receiver/transmitter input and output clock frequency.
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–34
Chapter 1: Cyclone IV Device Datasheet
Glossary
Table 1–44. Glossary (Part 2 of 6)
Letter
Term
Definitions
GCLK
Input pin directly to Global Clock network.
GCLK PLL
Input pin to Global Clock network through PLL.
H
HSIODR
HIGH-SPEED I/O Block: Maximum/minimum LVDS data transfer rate (HSIODR = 1/TUI).
I
Input Waveforms
for the SSTL
Differential I/O
Standard
G
VIH
VSWING
VREF
VIL
TMS
TDI
t JCP
t JCH
t JPSU_TDI
t JPSU_TMS
t JCL
t JPH
TCK
J
JTAG Waveform
tJPZX
t JPXZ
t JPCO
TDO
tJSSU
Signal
to be
Captured
tJSZX
t JSH
t JSCO
t JSXZ
Signal
to be
Driven
K
—
—
L
—
—
M
—
—
N
—
—
O
—
—
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Glossary
1–35
Table 1–44. Glossary (Part 3 of 6)
Letter
Term
Definitions
The following block diagram highlights the PLL Specification parameters.
CLKOUT Pins
Switchover
fOUT _EXT
CLK
fIN
N
fINPFD
PFD
P
PLL Block
CP
VCO fVCO
LF
Core Clock
Counters
C0..C4
fOUT
GCLK
Phase tap
M
Key
Reconfigurable in User Mode
Q
—
RL
—
Receiver differential input discrete resistor (external to Cyclone IV devices).
Receiver Input Waveform for LVDS and LVPECL Differential Standards.
Single-Ended Waveform
Positive Channel (p) = VIH
VID
Negative Channel (n) = VIL
VCM
R
Ground
Receiver Input
Waveform
Differential Waveform (Mathematical Function of Positive & Negative Channel)
VID
0V
VID
p -n
RSKM (Receiver
input skew
margin)
© November 2009
HIGH-SPEED I/O Block: The total margin left after accounting for the sampling window and TCCS.
RSKM = (TUI – SW – TCCS) / 2.
Altera Corporation
Cyclone IV Device Handbook, Volume 3
1–36
Chapter 1: Cyclone IV Device Datasheet
Glossary
Table 1–44. Glossary (Part 4 of 6)
Letter
Term
Definitions
VCCIO
VOH
VIH (AC )
VIH(DC)
VREF
S
VIL(DC)
VIL(AC )
Single-ended
voltagereferenced I/O
Standard
VOL
VSS
The JEDEC standard for SSTl and HSTL I/O standards defines both the AC and DC input signal
values. The AC values indicate the voltage levels at which the receiver must meet its timing
specifications. The DC values indicate the voltage levels at which the final logic state of the
receiver is unambiguously defined. After the receiver input crosses the AC value, the receiver
changes to the new logic state. The new logic state is then maintained as long as the input stays
beyond the DC threshold. This approach is intended to provide predictable receiver timing in the
presence of input waveform ringing.
T
SW (Sampling
Window)
HIGH-SPEED I/O Block: The period of time during which the data must be valid to capture it
correctly. The setup and hold times determine the ideal strobe position in the sampling window.
tC
High-speed receiver/transmitter input and output clock period.
TCCS (Channelto-channel-skew)
HIGH-SPEED I/O Block: The timing difference between the fastest and slowest output edges,
including t C O variation and clock skew. The clock is included in the TCCS measurement.
tcin
Delay from clock pad to I/O input register.
tC O
Delay from clock pad to I/O output.
tcout
Delay from clock pad to I/O output register.
tDUTY
HIGH-SPEED I/O Block: Duty cycle on high-speed transmitter output clock.
tFA LL
Signal high-to-low transition time (80–20%).
tH
Input register hold time.
Timing Unit
Interval (TUI)
HIGH-SPEED I/O block: The timing budget allowed for skew, propagation delays, and data
sampling window. (TUI = 1/(Receiver Input Clock Frequency Multiplication Factor) = tC /w).
tINJITTER
Period jitter on PLL clock input.
tOUTJITTER_DEDC LK
Period jitter on dedicated clock output driven by a PLL.
tOUTJITTER_IO
Period jitter on general purpose I/O driven by a PLL.
tpllcin
Delay from PLL inclk pad to I/O input register.
tpllcout
Delay from PLL inclk pad to I/O output register.
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Glossary
1–37
Table 1–44. Glossary (Part 5 of 6)
Letter
Term
Definitions
Transmitter Output Waveforms for the LVDS, mini-LVDS, PPDS and RSDS Differential I/O
Standards
Single-Ended Waveform
Positive Channel (p) = VOH
VOD
Negative Channel (n) = VOL
Vos
Transmitter
Output Waveform
Ground
Differential Waveform (Mathematical Function of Positive & Negative Channel)
VOD
0V
VOD
p -n
tRISE
Signal low-to-high transition time (20–80%).
tS U
Input register setup time.
U
© November 2009
—
Altera Corporation
—
Cyclone IV Device Handbook, Volume 3
1–38
Chapter 1: Cyclone IV Device Datasheet
Glossary
Table 1–44. Glossary (Part 6 of 6)
Letter
V
Term
Definitions
VC M( DC)
DC Common Mode Input Voltage.
VDIF( AC )
AC differential Input Voltage: The minimum AC input differential voltage required for switching.
VDIF( DC)
DC differential Input Voltage: The minimum DC input differential voltage required for switching.
VIC M
Input Common Mode Voltage: The common mode of the differential signal at the receiver.
VID
Input differential Voltage Swing: The difference in voltage between the positive and
complementary conductors of a differential transmission at the receiver.
VIH
Voltage Input High: The minimum positive voltage applied to the input that is accepted by the
device as a logic high.
VIH(A C)
High-level AC input voltage.
VIH(DC )
High-level DC input voltage.
VIL
Voltage Input Low: The maximum positive voltage applied to the input that is accepted by the
device as a logic low.
VIL ( AC )
Low-level AC input voltage.
VIL ( DC)
Low-level DC input voltage.
VIN
DC input voltage.
VOC M
Output Common Mode Voltage: The common mode of the differential signal at the transmitter.
VOD
Output differential Voltage Swing: The difference in voltage between the positive and
complementary conductors of a differential transmission at the transmitter. VOD = VOH – VOL.
VOH
Voltage Output High: The maximum positive voltage from an output that the device considers is
accepted as the minimum positive high level.
VOL
Voltage Output Low: The maximum positive voltage from an output that the device considers is
accepted as the maximum positive low level.
VOS
Output offset voltage: VOS = (VOH + VOL) / 2.
VOX ( AC)
AC differential Output cross point voltage: The voltage at which the differential output signals must
cross.
VREF
Reference voltage for SSTL, HSTL I/O Standards.
VREF (A C)
AC input reference voltage for SSTL, HSTL I/O Standards. VREF (AC ) = VREF (DC) + noise. The
peak-to-peak AC noise on VREF should not exceed 2% of VREF (DC).
VREF (DC )
DC input reference voltage for SSTL, HSTL I/O Standards.
VS WING (A C)
AC differential Input Voltage: AC Input differential voltage required for switching. For the SSTL
Differential I/O Standard, refer to Input Waveforms.
VS WING (DC )
DC differential Input Voltage: DC Input differential voltage required for switching. For the SSTL
Differential I/O Standard, refer to Input Waveforms.
VTT
Termination voltage for SSTL, HSTL I/O Standards.
VX ( AC)
AC differential Input cross point Voltage: The voltage at which the differential input signals must
cross.
W
—
—
X
—
—
Y
—
—
Z
—
—
Cyclone IV Device Handbook, Volume 3
© November 2009
Altera Corporation
Chapter 1: Cyclone IV Device Datasheet
Chapter Revision History
1–39
Chapter Revision History
Table 1–45 lists the revision history for this chapter.
Table 1–45. Chapter Revision History
Date
Version
November 2009
1.0
© November 2009
Altera Corporation
Changes Made
Initial release.
Cyclone IV Device Handbook, Volume 3
1–40
Cyclone IV Device Handbook, Volume 3
Chapter 1: Cyclone IV Device Datasheet
Chapter Revision History
© November 2009
Altera Corporation