Cyclone 4
Cyclone 4
Cyclone 4
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 as-
sumes 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
Additional Information
About this Handbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-xi
How to Contact Altera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-xi
Typographic Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-xi
RSDS, Mini-LVDS, and PPDS I/O Standard Support in Cyclone IV Devices . . . . . . . . . . . . . . . . . . 6-26
Designing with RSDS, Mini-LVDS, and PPDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-26
LVPECL I/O Support in Cyclone IV Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-28
Differential SSTL I/O Standard Support in Cyclone IV Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29
Differential HSTL I/O Standard Support in Cyclone IV Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29
True Output Buffer Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30
Programmable Pre-Emphasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30
High-Speed I/O Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-31
Design Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32
Differential Pad Placement Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32
Board Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32
Software Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-33
Chapter Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34
PS Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-18
PS Configuration Using an External Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-19
PS Configuration Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22
PS Configuration Using a Download Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-23
FPP Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26
FPP Configuration Using an External Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26
FPP Configuration Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-30
JTAG Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31
Configuring Cyclone IV Devices with Jam STAPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-38
Configuring Cyclone IV Devices with the JRunner Software Driver . . . . . . . . . . . . . . . . . . . . . . 8-38
Combining JTAG and AS Configuration Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-39
Programming Serial Configuration Devices In-System with the JTAG Interface . . . . . . . . . . . . 8-41
JTAG Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-43
Device Configuration Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-46
Remote System Upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-51
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-51
Enabling Remote Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-52
Configuration Image Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-52
Remote System Upgrade Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-52
Remote Update Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-53
Dedicated Remote System Upgrade Circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-54
Remote System Upgrade Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-55
Remote System Upgrade State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-59
User Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-59
Quartus II Software Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-60
Chapter Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-60
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.
Contact
Contact (Note 1) 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.
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.
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.
Device Resources
Table 1–1 shows Cyclone IV E device resources.
1–4
Table 1–3 shows Cyclone IV E device package offerings.
Size (mm) 22 × 22 17 × 17 23 × 23 29 × 29
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
Package Matrix
Table 1–4 shows Cyclone IV GX device package offerings, including I/O and transceiver counts.
© November 2009
Package Matrix
Chapter 1: Cyclone IV FPGA Device Family Overview
Table 1–4. Cyclone IV GX Device Package Offerings
Package N148 F169 F324 F484 F672 F896
Size (mm) 11 × 11 14 × 14 19 × 19 23 × 23 27 × 27 31 × 31
Altera Corporation
Device User I/O LVDS XCVRs User I/O LVDS XCVRs User I/O LVDS XCVRs User I/O LVDS XCVRs User I/O LVDS XCVRs User I/O LVDS XCVRs
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
Cyclone IV Device Handbook, Volume 1
1–5
1–6 Chapter 1: Cyclone IV FPGA Device Family Overview
Cyclone IV Device Family Architecture
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.
Table 1–6 lists the I/O standards that Cyclone IV devices support.
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.
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.
Table 1–7 shows which configuration schemes are supported by Cyclone IV 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.
tx_dataout
Serializer
TX Phase
Compensation Byte Serializer 8B10B Encoder
FIFO
PCI Express Hard IP
PIPE Interface
8B10B Decoder
Byte Ordering
Compensation
Word Aligner
Deserializer
rx_datain
RX Phase
FIFO
CDR
EP4CGX 30 C F 19 C 7 N
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:
■ 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
Chip-Wide Asynchronous
Local
Reset Clear Logic
Routing
Register Feedback (DEV_CLRn)
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.
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.
Register
Register Bypass Register Feedback
Chain Output
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.
data4
data1
Three-Input
data2 Q Row, Column, and
LUT
D Direct link routing
Register
Chain Output
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.
Topology
Each LAB consists of the following features:
■ 16 LEs
Row Interconnect
Column
Interconnect
Direct link
Direct link interconnect
interconnect from adjacent
from adjacent block
block
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.
Local
LAB
Interconnect
Local
Interconnect
Local
Interconnect
Local
Interconnect
Local
Interconnect
labclkena1 labclkena2 labclr1 synclr
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.
CYIV-51003-1.0
Overview
M9K blocks support the following features:
■ 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
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.
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.
Figure 3–1 shows how the wren and byteena signals control the RAM operations.
inclock
wren
rden
address an a0 a1 a2 a0 a1 a2
byteena XX 10 01 11 XX
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.
address[0]
address[0] address[0]
register
address[N] address[N]
address[N] register
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
an a0 a1 a4 a5
(inside memory)
Figure 3–4. Cyclone IV Devices Address Clock Enable During Write Cycle Waveform
inclock
a0 a1 a2 a3 a4 a5 a6
wraddress
data 00 01 02 03 04 05 06
wren
addressstall
latched address a1
an a0 a4 a5
(inside memory)
contents at a0 XX 00
contents at a1 XX 01 02 03
contents at a2 XX
contents at a3 XX
contents at a4 XX 04
contents at a5 XX 05
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.
clk
aclr
aclr at latch
q a1 a2 a0 a1
1 You can selectively enable asynchronous clears per logical memory using the
Quartus II RAM MegaWizard™ Plug-In Manager.
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:
■ Single-port
■ Simple dual-port
■ True dual-port
■ Shift-register
■ ROM
■ FIFO
1 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.
data[ ]
address[ ]
wren
byteena[]
addressstall q[]
inclock outclock
inclocken outclocken
rden
aclr
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.
clk_a
wren_a
rden_a
address_a a0 a1
data_a A B C D E F
data[ ] rdaddress[ ]
wraddress[ ] rden
wren q[ ]
byteena[] rd_addressstall
wr_addressstall rdclock
wrclock rdclocken
wrclocken
aclr
Table 3–3. Cyclone IV Devices M9K Block Mixed-Width Configurations (Simple Dual-Port Mode)
Write Port
Read 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
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.
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.
wrclock
wren
wraddress an-1 an a0 a1 a2 a3 a4 a5 a6
rdclock
rden
rdaddress bn b0 b1 b2 b3
data_a[ ] data_b[ ]
address_a[ ] address_b[]
wren_a wren_b
byteena_a[] byteena_b[]
addressstall_a addressstall_b
clock_a clock_b
clocken_a clocken_b
rden_a rden_b
aclr_a aclr_b
q_a[] q_b[]
1 The widest bit configuration of the M9K blocks in true dual-port mode is 512 × 16-bit
(18-bit with parity).
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
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.
clk_a
wren_a
address_a an-1 an a0 a1 a2 a3 a4 a5 a6
rden_a
q_a (asynch) din-1 din dout0 dout1 dout2 dout3 din4 din5
clk_b
wren_b
address_b bn b0 b1 b2 b3
rden_b
Figure 3–12 shows the Cyclone IV devices M9K memory block in shift register mode.
w × m × n Shift Register
W W
W W
n Number of Taps
W W
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.
f For more information about FIFO buffers, refer to the Single- and Dual-Clock FIFO
Megafunction User Guide.
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.
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-During-
Write 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.
write_a write_b
Port A Port B
data in data in
Mixed-port
data flow
Same-port
data flow
read_a
Port A Port B
data out data out read_b
clk_a
wren_a
rden_a
address_a a0 a1
data_a A B C D E F
q_a (asynch) A B C D E F
clk_a
wren_a
rden_a
address_a a0 a1
data_a A B C D E F
f For more information about how to implement the desired behavior, refer to the RAM
Megafunction User Guide.
clk_a&b
wren_a
address_a a b
data_a A B C D E F
rden_b
address_b a b
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.
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.
CYIV-51004-1.0
1 LAB Embedded
Row Multiplier
Table 4–1 shows the number of embedded multipliers and the multiplier modes that
can be implemented in each Cyclone IV 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.
Data A D Q
ENA
Data Out
D Q
CLRN ENA
CLRN
Data B D Q
ENA Output
Input Register
CLRN Register
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.
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:
■ One 18-bit × 18-bit multiplier
■ Up to two 9-bit × 9-bit independent multipliers
1 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).
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.
signa
signb
aclr
clock
ena
Data A [17..0] D Q
ENA
Data Out [35..0]
D Q
CLRN 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.
signa
signb
aclr
clock
ena
Data A 0 [8..0] D Q
ENA
Data Out 0 [17..0]
D Q
CLRN 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]
D Q
CLRN 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.
CYIV-51005-1.0
This chapter describes the hierarchical clock networks and phase-locked loops (PLLs)
with advanced features in Cyclone® IV devices.
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.
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)
Table 5–1. GCLK Network Connections for EP4CGX15, EP4CGX22, and EP4CGX30 (Part 2 of 2)
5–4
Table 5–2. GCLK Network Connections for EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150 Devices (Part 1 of 3)
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 — — — — — — —
Altera Corporation
— — — — — — v — v — — — — — — — — — v — v — — — — — — — — —
Clock Networks
GPLL2_C2
GPLL2_C3 — — — — — — — v — v — — — — — — — — — v — v — — — — — — — —
GPLL2_C4 — — — — — — — — v — v v — — — — — — — — v — v v — — — — — —
Table 5–2. GCLK Network Connections for EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150 Devices (Part 2 of 3)
© November 2009
Clock Networks
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices
GCLK Network Clock GCLK Networks
Sources 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
GPLL3_C0 — — — — — — — — — — — — v — — v — v — — — — — — v — — v — v
Altera Corporation
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 — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Cyclone IV Device Handbook, Volume 1
MPLL6_C3 — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL6_C4 v — v — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL7_C0 — — — — — — — v — — v — — — — — — — — — — — — — — — — — — —
MPLL7_C1 — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL7_C2 — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL7_C3 — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
MPLL7_C4 — — — — — — v — v — — — — — — — — — — — — — — — — — — — — —
5–5
Table 5–2. GCLK Network Connections for EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150 Devices (Part 3 of 3)
Cyclone IV Device Handbook, Volume 1
5–6
GCLK Network Clock GCLK Networks
Sources 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
MPLL8_C0 — — — — — — 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 — — — — — — — — — — — — — — — —
DPCLK13 — — — — — — — — — — — — — — — — — — — — v — — — — — — — — —
DPCLK14 — — — — — — — — — — — — — — — — — — v — — — — — — — — — — —
DPCLK15 — — — — — — — — — — — — — — — — — — — — — — — v — — — — — —
DPCLK16 — — — — — — — — — — — — — — — — — — — — — v — — — — — — — —
Altera Corporation
Clock Networks
DPCLK17 — — — — — — — — — — — — — — — — — — — v — — — — — — — — — —
Chapter 5: Clock Networks and PLLs in Cyclone IV Devices 5–7
Clock Networks
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.
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.
Internal Logic
DPCLK Enable/ Global
Static Clock Select (3) Disable Clock
Static Clock
C0 Select (3)
CLK[n + 3] C1
inclk1 fIN
CLK[n + 2] C2
inclk0 PLL
CLK[n + 1]
CLK[n] (4)
C3
C4
CLKSWITCH (1) CLKSELECT[1..0] (2) Internal Logic (5)
C0
C1
inclk1 fIN
PLL C2
inclk0
C3
C4
CLKSWITCH (1)
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.
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 2
4
5
5
GCLK[19..0]
DPCLK[9..8] (3)
20 2
Clock 20 20 Clock
HSSI Control Control CLK[7..4]
Block (1) Block (1) 4
20
DPCLK[7..6] (3)
GCLK[19..0] 2
5
5
Clock
Control
Block (1)
5 5
MPLL GPLL
4 4
1 3
4
2 2
CLK[15..12]
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 3
4 4
GCLK[29..0]
Clock DPCLK[11..9]
Control 30 3
MPLL
7 2 Block (1) Clock
30 30
Control CLK[7..4]
MPLL 4
Clock Block (1)
6 2 Control 30
Block (1) DPCLK[8..6]
GCLK[29..0] 3
HSSI 5
3 5
Clock
Control
Block (1)
5 5
MPLL GPLL GPLL
4 4 3
5 1
4 4
3 3
DPCLK[2..0] DPCLK[5..3]
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
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.
4
Clock Input Pins
10
PLL Outputs Clock 5 or 6 (2)
2, 4, or 6 Control GCLK
DPCLK (1) Block
Internal Logic 5
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.
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.
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.
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.
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.
lock
LOCK ÷2, ÷4
FREF for ppm detect circuit
(MPLLs only) ÷C0
8 GCLKs (5)
Clock inputs 4 (2) ÷C1
÷n 8
from pins inclk0 PFD CP LF VCO ÷2 (3) 8
External clock output
Clock clkswitch ÷C2 PLL
Switchover clkbad0 output
inclk1 Block ÷C3 mux TX serial clock (MPLLs only) (6)
GCLK (4) clkbad1 VCO VCOOVRR
activeclock Range
Detector VCOUNDR ÷C4 TX load enable (MPLLs only) (7)
no compensation;
ZDB mode
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.
C0
C1
C2
PLL# C3
C4
clkena 0 (1)
clkena 1 (1)
PLL#_CLKOUTp (2)
PLL#_CLKOUTn (2)
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.
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
1 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.
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.
PLL Reference
Clock at the Input Pin
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.
PLL Reference
Clock at the Input pin
PLL Clock
at the Register Clock Port
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.
1 Phase alignment between output counters are determined using the tPLL_PSERR
specification.
VCO Output
C0
VCO Output
C1
VCO Output
C2
VCO Output
C3
VCO Output
C4
VCO Output
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.
clkbad1
Activeclock
Clock Switchover
Sense State
Machine
clksw
clkswitch
(provides manua
switchover suppo
inclk0
n Counter PFD
inclk1
muxout refclk
fbclk
inclk0
inclk1
(1)
muxout
clkbad0
clkbad1
activeclock
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.
inclk0
inclk1
muxout
clkswitch
activeclock
clkbad0
clkbad1
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:
■ 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.
1 Both inclk0 and inclk1 must be running when the clkswitch signal goes high to
start the manual clock switchover event. Failing to meet this requirement causes the
clock switchover to 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.
Switchover Occurs
■ 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.
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.
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
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.
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.
FVCO
from M counter
from N counter PFD LF/K/CP VCO
scandata
scanclkena
configupdate
scandone
scanclk
1 The counter settings are updated synchronously to the clock frequency of the
individual counters. Therefore, not all counters update simultaneously.
scanclk
scanclkena
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.
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
Figure 5–21 shows the scan chain order of the PLL components.
LF CP
DATAIN N M C0
MSB LSB
DATAOUT C4 C3 C2 C1
Figure 5–22 shows the scan chain bit order sequence for one PLL post-scale counter in
PLLs of Cyclone IV devices.
HB HB HB HB HB HB HB HB HB HB
rbypass DATAIN
0 1 2 3 4 5 6 7 8 9
LB LB LB LB LB LB LB LB LB LB
DATAOUT rselodd
0 1 2 3 4 5 6 7 8 9
To bypass any of the PLL counters, set the bypass bit to 1. The values on the other bits
are then ignored.
Table 5–11 lists the PLL counter selection based on the corresponding
PHASECOUNTERSELECT setting.
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).
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.
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.
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.
CYIV-51006-1.0
This chapter describes the I/O and high speed I/O capabilities and features offered in
Cyclone® IV devices.
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:
■ “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
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 VCCIO
D Q
clkout Optional
PCI Clamp
ENA
ACLR
/PRN
VCCIO
oe_out
Programmable
Pull-Up
aclr/prn Resistor
Chip-Wide Reset
Output
Output Register Pin Delay
1 When you use programmable current strength, on-chip series termination is not
available.
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.
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.
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.
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 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.
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.
Table 6–2 lists the I/O standards that support impedance matching and series
termination.
3,4,5,6,7,
Differential LVPECL (5) — — — — — — — —
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.
VCCIO
RS
ZO
RS
GND
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
External
Calibration
Resistor
RUP
OCT
Calibration VCCIO
Circuitry
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.
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.
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) Top and Bottom I/O Pins Right I/O Pins
Standard User
I/O Standard Type CLK, CLK, User I/O
Support Input Output PLL_OUT I/O
DQS DQS Pins
Pins
3.3-V LVTTL, 3.3/3.0/2.5
Single-ended JESD8-B 3.3 v v v v v
3.3-V LVCMOS (1) (2)
3.0-V LVTTL, 3.3/3.0/2.5
Single-ended JESD8-B 3.0 v v v v v
3.0-V LVCMOS (1) (2)
2.5-V LVTTL / 3.3/3.0/2.5
Single-ended JESD8-5 2.5 v v v v v
LVCMOS (2)
1.8-V LVTTL /
Single-ended JESD8-7 1.8/1.5(2) 1.8 v v v v v
LVCMOS
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, voltage-
JESD8-9A 2.5 2.5 v v v v v
SSTL-2 Class II referenced
SSTL-18 Class I, voltage-
JESD815 1.8 1.8 v v v v v
SSTL-18 Class II referenced
HSTL-18 Class I, voltage-
JESD8-6 1.8 1.8 v v v v v
HSTL-18 Class II referenced
HSTL-15 Class I, voltage-
JESD8-6 1.5 1.5 v v v v v
HSTL-15 Class II referenced
voltage-
HSTL-12 Class I JESD8-16A 1.2 1.2 v v v v v
referenced
voltage-
HSTL-12 Class II (8) JESD8-16A 1.2 1.2 v v v — —
referenced
PCI and PCI-X Single-ended — 3.0 3.0 v v v v v
Differential SSTL-2 Differential — 2.5 — v — — —
JESD8-9A
Class I or Class II (4) 2.5 — v — — v —
Differential SSTL-18 Differential — 1.8 — v — — —
JESD815
Class I or Class II (4) 1.8 — v — — v —
Differential HSTL-18 Differential — 1.8 — v — — —
JESD8-6
Class I or Class II (4) 1.8 — v — — v —
Differential HSTL-15 Differential — 1.5 — v — — —
JESD8-6
Class I or Class II (4) 1.5 — v — — v —
Differential HSTL-12 Differential — 1.2 — v — — —
JESD8-16A
Class I or Class II (4) 1.2 — v — — v —
Table 6–3. Cyclone IV Devices Supported I/O Standards and Constraints (Part 2 of 2)
VC CIO Level (in V) Top and Bottom I/O Pins Right I/O Pins
Standard User
I/O Standard Type CLK, CLK, User I/O
Support Input Output PLL_OUT I/O
DQS DQS Pins
Pins
PPDS (5) Differential — — 2.5 — v v — v
ANSI/TIA/
LVDS (9) Differential 2.5 2.5 v v v v v
EIA-644
RSDS and
Differential — — 2.5 — v v — v
mini-LVDS (5)
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.
50 Ω 50 Ω 50 Ω
External
On-Board 50 Ω 50 Ω
Termination VREF VREF
50 Ω 50 Ω 50 Ω
External 25 Ω 25 Ω
On-Board 50 Ω 50 Ω
Termination VREF VREF
Figure 6–7. Cyclone IV Devices Differential HSTL I/O Standard Class I and Class II Interface and Termination
50 Ω 50 Ω 50 Ω 50 Ω 50 Ω 50 Ω
50 Ω 50 Ω
External
On-Board
50 Ω 50 Ω
Termination
50 Ω 50 Ω
OCT
50 Ω 50 Ω
Figure 6–8. Cyclone IV Devices Differential SSTL I/O Standard Class I and Class II Interface and Termination (Note 1)
50 Ω 50 Ω 50 Ω 50 Ω 50 Ω 50 Ω
25 Ω 25 Ω
50 Ω
50 Ω
External
On-Board 25 Ω 25 Ω
Termination 50 Ω 50 Ω
OCT 50 Ω 50 Ω
50 Ω 50 Ω
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 single-
ended 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.
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
VCCIO9 VCCIO8 VCC_CLKIN8A VCCIO7
3.3-V LVTTL/LVCMOS
3.0-V LVTTL/LVCMOS
2.5-V LVTTL/LVCMOS
I/O Bank 6
1.8-V LVTTL/LVCMOS VCCIO6
1.5-V LVCMOS
1.2-V LVCMOS
Channel 2
I/O Bank 5
HSTL-15 Class I and II
HSTL-12 Class I and II (4) VCCIO5
Differential SSTL-2 (5)
Differential SSTL-18 (5)
Differential HSTL-18 (5)
Channel 0
Figure 6–10. Cyclone IV Devices I/O Banks for EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150 (Note 1), (2), (9)
Configuration pins
VCCIO9 VCC_CLKIN8B VCCIO8 VCC_CLKIN8A VCCIO7
3.3-V LVTTL/LVCMOS
3.0-V LVTTL/LVCMOS
Ch2
2.5-V LVTTL/LVCMOS
I/O Bank 6
GXBL1
1.2-V LVCMOS
PPDS I/O bank with
LVDS calibration block
Ch0
RSDS
mini-LVDS
Bus LVDS (7) I/O bank without
LVPECL (3) calibration block
Ch3
I/O Bank 5
HSTL-15 Class I and II
Ch2
VCCIO5
Differential SSTL-2 (5)
Differential SSTL-18 (5)
Ch1
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 Pin-
Out 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 4CGX15 4CGX22 4CGX30 4CGX50 4CGX75 4CGX110 4CGX150
I/O Bank 148- 169- 169- 324- 169- 324- 484- 672- 484- 672- 484- 672- 896- 484- 672- 896-
(1) QFN FBGA FBGA FBGA FBGA FBGA FBGA FBGA FBGA FBGA FBGA FBGA FBGA FBGA 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
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.
■ 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 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.
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.
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.
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 4CGX30 4CGX50 4CGX75 4CGX110 4CGX150
Numbers of
Differential 148- 169- 169- 324- 169- 324- 484- 672- 484- 672- 484- 672- 896- 484- 672- 896-
Channels QFN FBGA FBGA FBGA FBGA FBGA FBGA FBGA FBGA FBGA FBGA FBGA FBGA FBGA FBGA FBGA
(1), (2)
User I/O(3) 72 72 72 150 72 150 290 310 290 310 270 393 475 270 393 475
User I/O 11 11 11 11 11 11 11 11 11 11
9(4) 9(4) 9(4) 9(4) 9(4) 9(4)
banks (5) (5) (5) (5) (5) (5) (5) (5) (5) (5)
LVDS (6) 25 25 25 64 25 64 109 140 109 140 93 152 216 93 152 216
XCVRs 2 2 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.
Table 6–7. Cyclone IV HSSI REFCLK I/O Standard Support Using GPIO CLKIN Pins (Note 1), (2)
VCC_CLKIN Level I/O Pin Type
I/O Standard HSSI Protocol Coupling Termination Column Row Supported I/O
Input Output
I/O I/O Banks
Not
LVDS PCIe & GigE Off chip 2.5V Yes No 3A, 3B, 8A, 8B
supported
Differential Not
LVPECL PCIe & GigE Off chip 2.5V Yes No 3A, 3B, 8A, 8B
AC (Need supported
off chip Not
PCIe & GigE Off chip 2.5V Yes No 3A, 3B, 8A, 8B
resistor to supported
1.2V, 1.5V, restore Not
PCIe & GigE VCM) Off chip 2.5V Yes No 3A, 3B, 8A, 8B
3.3V PCML supported
Not
PCIe & GigE Off chip 2.5V Yes No 3A, 3B, 8A, 8B
supported
Differential Not
HCSL PCIe Off chip 2.5V Yes No 3A, 3B, 8A, 8B
DC supported
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.
f For LVDS I/O standard electrical specifications in Cyclone IV devices, refer to the
Cyclone IV Device Data Sheet chapter in volume 3.
Figure 6–11. Cyclone IV Devices LVDS Interface with True Output Buffer on the Right I/O Banks
Cyclone IV Device
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
Resistor Network LVDS Receiver
RS
50 Ω
RP 100 Ω
50 Ω
RS
Figure 6–13. BLVDS Topology with Cyclone IV Devices Transmitters and Receivers
VCC VCC
100 kΩ 100 kΩ
50 Ω 50 Ω 50 Ω 50 Ω
RT RT
50 Ω 50 Ω 50 Ω 50 Ω
100 kΩ 100 k Ω
50 Ω
50 Ω
50 Ω
50 Ω
50 Ω
50 Ω
GND GND
RS
RS
RS
RS
RS
RS
Cyclone IV Device Family
OE
OE
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.
1 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.
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).
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, RSDS, Mini-LVDS,
or PPDS Transmitter or PPDS Receiver
50 Ω
100 Ω
50 Ω
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,
RS or PPDS Receiver
50 Ω
RP 100 Ω
50 Ω
RS
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.
R
R S × -----P-
2
-------------------- = 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.
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
Single Resistor Network RSDS Receiver
50 Ω
RP 100 Ω
50 Ω
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).
0.1 µF
Z0 = 50 Ω
VICM 50 Ω
50 Ω
Z0 = 50 Ω
0.1 µF
50 Ω
100 Ω
50 Ω
Figure 6–8 on page 6–15 shows the differential SSTL Class I and Class II interface.
Figure 6–7 on page 6–14 shows the differential HSTL Class I and Class II interface.
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.
Overshoot
VOD
Negative channel (n)
Undershoot
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.
External
Input Clock
Time Unit Interval (TUI)
Internal Clock
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.
f 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 When you are using Cyclone IV devices with the ALTLVDS megafunction, the
interface always sends the MSB of your parallel data first.
f 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.
CYIV-51007-1.0
This chapter describes the memory interface pin support and the external memory
interface features of Cyclone® IV devices.
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.
f For more information about supported maximum clock rate, device and pin planning,
IP implementation, and device termination, refer to the External Memory Interface
Handbook.
Figure 7–1 shows the block diagram of a typical external memory interface data path
in Cyclone IV devices.
OE IOE
OE IOE
Register Register
IOE
IOE
Register
Register
VCC IOE
DataA IOE LE
Register Register Register
GND IOE
Register
DataB IOE LE LE
Register Register Register
System Clock
PLL
f For more information about implementing complete external memory interfaces, refer
to the External Memory Interface Handbook.
f For more information about pin utilization, refer to Volume 2: Device, Pin, and Board
Layout Guidelines of the External Memory Interface Handbook.
1 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.
f 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.
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.
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)
Number Number Number Number Number Number
Device Package Side ×8 ×9 ×16 ×18 ×32 ×36
Groups Groups Groups Groups Groups Groups
EP4CGX15 148-pin QFN Right 1 0 0 0 — —
Top (2) 1 0 0 0 — —
Bottom (3) 1 0 0 0 — —
169-pin FBGA Right 1 0 0 0 — —
Top (2) 1 0 0 0 — —
Bottom (3) 1 0 0 0 — —
EP4CGX22 169-pin FBGA Right 1 0 0 0 — —
EP4CGX30 Top (2) 1 0 0 0 — —
Bottom (3) 1 0 0 0 — —
324-pin FBGA Right 2 2 1 1 — —
Top 2 2 1 1 — —
Bottom 2 2 1 1 — —
EP4CGX50 484-pin FBGA Right 4 2 2 2 1 1
EP4CGX75 Top 4 2 2 2 1 1
Bottom 4 2 2 2 1 1
672-pin FBGA Right 4 2 2 2 1 1
Top 4 2 2 2 1 1
Bottom 4 2 2 2 1 1
EP4CGX110 484-pin FBGA Right 4 2 2 2 1 1
EP4CGX150 Top 4 2 2 2 1 1
Bottom 4 2 2 2 1 1
672-pin FBGA Right 4 2 2 2 1 1
Top 4 2 2 2 1 1
Bottom 4 2 2 2 1 1
896-pin FBGA 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.
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:
Figure 7–2. DQS, CQ, or CQ# Pins in Cyclone IV I/O Banks (Note 1)
DQS1T/CQ1T#
DQS3T/CQ3T#
DQS5T/CQ5T#
DQS4T/CQ5T
DQS2T/CQ3T
DQS0T/CQ1T
I/O Bank 9 I/O Bank 8B I/O Bank 8 I/O Bank 8A I/O Bank 7
Transceiver Block (QL1)
DQS4R/CQ5R
I/O Bank 6
DQS2R/CQ3R
DQS0R/CQ1R
Cyclone IV Device
Transceiver Block (QL0)
DQS1R/CQ1R#
I/O Bank 5
DQS3R/CQ3R#
DQS5R/CQ5R#
DQS3B/CQ3B#
DQS5B/CQ5B#
DQS4B/CQ5B
DQS2B/CQ3B
DQS0B/CQ1B
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.
Figure 7–3. DQS, CQ, or CQ# Pins for Devices in the 324-Pin FBGA Package
DQS1T/CQ0T#
DQS3T/CQ1T#
DQS2T/CQ1T
DQS0T/CQ0T
I/O Bank 9 I/O Bank 8 I/O Bank 8A I/O Bank 7
DQS2R/CQ1R
I/O Bank 6
Transceiver Block (QL1)
DQS0R/CQ0R
Cyclone IV Device
324-pin FBGA Package
DQS1R/CQ0R#
I/O Bank 5
DQS3R/CQ1R#
DQS3B/CQ1B#
DQS2B/CQ1B
DQS0B/CQ0B
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.
Figure 7–4. DQS, CQ, or CQ# Pins for Devices in the 148-Pin QFP and 169-Pin FBGA Packages
DQS1T/CQ0T#
DQS0T/CQ0T
DQS0R/CQ0R
Transceiver Block (QL1)
Cyclone IV Device
148- and 169-pin FBGA Packages
I/O Bank 5
DQS1R/CQ0R#
DQS0B/CQ0B
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.
1 Cyclone IV devices do not support QDR II SRAM in the burst length of two.
1 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.
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.
dataout_h LE DQ
Register
Input Register A I
neg_reg_out
dataout_l LE LE
Register Register
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.
Output Enable
IOE
Register
Output Enable
Register AOE
data1
data0
IOE
Register
Output Enable
Register BOE
datain_l
IOE
Register
data0 DQ or DQS
Output Register AO
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 For more information about Cyclone IV IOE registers, refer to the Cyclone IV Device
I/O Features chapter in volume 1.
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)
Write Clock
(outclock for DQ,
o
-90 phase shifted
from System Clock)
datain_h D0 D2
(from logic array)
datain_I
D1 D3
(from logic array)
OE for DQ
(from logic array)
DQ D0 D1 D2 D3
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 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.
f For more information about Cyclone IV PLL, refer to the Clock Networks and PLLs in
Cyclone IV Devices chapter in volume 1.
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.
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.
Cyclone IV devices are configured using one of the following configuration schemes:
■ Active serial (AS)
■ Passive serial (PS)
■ Fast passive parallel (FPP)
■ Joint Test Action Group (JTAG)
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
Configuration Features
Table 8–1 summarizes the configuration methods you can use in each configuration
scheme.
Table 8–1. Cyclone IV Device Configuration Features
Remote System
Configuration Scheme Configuration Method Decompression
Upgrade (1)
Active Serial Serial Configuration Device v v
External Host with Flash Memory v —
Passive Serial
Download Cable v —
Fast Passive Parallel External Host with Flash Memory — —
External Host with Flash Memory — —
JTAG based configuration
Download Cable — —
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.
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.
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 VCC Uncompressed
Decompression Decompression
Controller 10 kΩ Controller
Cyclone IV Cyclone IV
Device Family Device Family
nCE nCEO 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.
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.
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.
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.
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:
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.
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.
f 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)
Active Serial Standard (AS) 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
Passive Serial (PS) 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
JTAG based configuration (2) (3) (3) (3) — —
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 MSEL3 MSEL2 MSEL2 MSEL2 POR Delay Configuration Voltage Standard (V) (1)
Active Serial Standard (AS) 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
Passive Serial (PS) 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
Fast Passive Parallel (FPP) 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
Table 8–4. Cyclone IV Device (EP4CGX50, EP4CGX75, EP4CGX110, and EP4CGX150) Configuration Schemes (Part 2 of 2)
Configuration Scheme MSEL3 MSEL2 MSEL2 MSEL2 POR Delay Configuration Voltage Standard (V) (1)
JTAG based configuration (2) (3) (3) (3) (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.
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.
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.
VCCIO (1)
10 kΩ 10 kΩ
Serial Configuration 10 kΩ
Device Cyclone IV Device Family
nSTATUS
CONF_DONE
nCONFIG
nCE nCEO N.C. (3)
GND
25 Ω (5)
DATA DATA[0]
DCLK DCLK
nCS nCSO
ASDI ASDO (6) MSEL[3..0] (4)
(2)
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.
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).
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).
10 kΩ 10 kΩ 10 kΩ
10 kΩ
GND
25 Ω (5)
DATA DATA[0]
50 Ω (5), (7) DATA[0]
DCLK DCLK DCLK
nCS nCSO
ASDI ASDO (8) MSEL[3..0] (4) (8) MSEL[3..0] (4)
50 Ω (7)
Buffers (6)
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.
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.
1 You can still use this method if the master and slave devices use the same .sof.
Figure 8–4. Multi-Device AS Configuration in which Devices Receive the Same Data with Multiple .sof Files
Slave Device of the Cyclone IV Device Family
VCCIO (1) VCCIO (1) VCCIO (1) VCCIO (2)
nSTATUS
CONF_DONE
nCONFIG
10 kΩ 10 kΩ 10 kΩ 10 kΩ
nCE nCEO N.C. (3)
DATA[0]
DCLK
GND
25 Ω (5)
DATA DATA[0]
50 Ω (5), (7) DATA[0]
DCLK DCLK DCLK
nCS nCSO
ASDI ASDO (8) MSEL[3..0] (4) (8) MSEL[3..0] (4)
nSTATUS
CONF_DONE
nCONFIG
nCE nCEO N.C. (3)
50 Ω (7)
Buffers (6)
DATA[0]
DCLK
Figure 8–5. Multi-Device AS Configuration in Which Devices Receive the Same Data with a Single .sof
VCCIO (1) VCCIO (1) VCCIO (1)
10 kΩ 10 kΩ 10 kΩ
Serial Configuration Master Device of the Cyclone IV Slave Device 1 of the Cyclone IV Slave Device 2 of the Cyclone IV
Device Device Family Device Family Device Family
nSTATUS nSTATUS nSTATUS
CONF_DONE CONF_DONE CONF_DONE
nCONFIG nCONFIG nCONFIG
nCE nCEO N.C. (2) nCE nCEO N.C. (2) nCE nCEO N.C. (2)
25 Ω (4)
DATA DATA[0] DATA[0]
50 Ω (4),(6) DATA[0]
DCLK DCLK DCLK DCLK
nCS nCSO
ASDI ASDO (7) MSEL[3..0] (3) (7) MSEL[3..0] (3) (7) MSEL[3..0] (3)
50 Ω(7)
Buffers (5)
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.
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.
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%.
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.
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.
Figure 8–6 shows the download cable connections to the serial configuration device.
10 kΩ 10 kΩ 10 kΩ
Cyclone IV Device Family
nSTATUS
CONF_DONE
nCONFIG
nCE nCEO N.C. (2)
10 kΩ 3.3 V 3.3 V
Serial 3.3 V 3.3 V
Configuration Device
GND
(5)
DATA DATA[0] (6)
DCLK DCLK (6)
nCS nCSO
ASDI ASDO (7) MSEL[3..0] (4)
Pin 1
3.3 V (3)
GND
10 pf 10 pf GND
10 pf
ByteBlaster II or USB Blaster
10-Pin Male Header
GND GND
GND
10 pf
(5) GND
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 For more information about the PFL, refer to AN 386: Using the Parallel Flash Loader
with the Quartus II Software.
Memory Cyclone IV
VCCIO (1) VCCIO (1) Device Family
ADDR DATA[0]
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.
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.
Buffers (5)
Figure 8–9. Multi-Device PS Configuration When Both Devices Receive the Same Data
Memory
VCCIO (1) VCCIO (1) Cyclone IV Device Family
Cyclone IV Device Family
ADDR DATA[0]
10 kΩ 10 kΩ (3)
(5) MSEL[3..0] (5) MSEL[3..0] (3)
CONF_DONE CONF_DONE
nSTATUS nSTATUS
External Host nCE nCEO N.C. (2) nCE nCEO N.C. (2)
(MAX II Device or GND GND
Microprocessor) DATA[0] (4) DATA[0] (4)
nCONFIG nCONFIG
DCLK (4) DCLK (4)
Buffers (4)
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.
nCONFIG tCF2CK
DCLK (4)
tDH
DATA[0] Bit 0 Bit 1 Bit 2 Bit 3 Bit n (5)
tDSU
INIT_DONE
tCD2UM
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
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 tCD2C U + (3,187 × CLKUSR — —
on 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.
(2) 10 kΩ
GND
VIO (3)
Shield
GND
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.
10 kΩ Download Cable
VCCA (1) (2) 10-Pin Male Header
DATA[0]
nCONFIG
FPP Configuration
1 FPP configuration is only supported in EP4CGX50, EP4CGX75, EP4CGX110, and
EP4CGX150 devices.
f For more information about the PFL, refer to AN 386: Using the Parallel Flash Loader
with the Quartus II Software.
Memory
VCCIO(1) VCCIO(1) Cyclone IV Device Family
ADDR DATA[7..0]
10 kΩ 10 kΩ
MSEL[3..0] (3)
CONF_DONE
nSTATUS
External Host nCE nCEO N.C. (2)
(MAX II Device or GND
Microprocessor) DATA[7..0] (4)
nCONFIG
DCLK (4)
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.
Buffers (5)
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Ω (3)
MSEL[3..0] MSEL[3..0] (3)
CONF_DONE CONF_DONE
nSTATUS nSTATUS
External Host nCE nCEO N.C. (2) nCE nCEO N.C. (2)
(MAX II Device or GND GND
Microprocessor) DATA[7..0] (4) DATA[7..0] (4)
nCONFIG nCONFIG
DCLK (4) DCLK (4)
Buffers (4)
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.
nCONFIG tCF2CK
INIT_DONE
tCD2UM
Table 8–7 defines the FPP configuration timing parameters for Cyclone IV devices.
Table 8–7. FPP Timing Parameters for Cyclone IV Devices (Note 1) (Part 1 of 2)
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
tCLK DCLK period 7.5 — ns
fM AX DCLK frequency — 100 MHz
tCD2UM CONF_DONE high to user mode (3) 300 650 μs
Table 8–7. FPP Timing Parameters for Cyclone IV Devices (Note 1) (Part 2 of 2)
Symbol Parameter 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 t C D2CU + (3,187 × CLKUSR — —
option on 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.
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.
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)
VCCA
VCCIO (1) 10 kΩ
Cyclone IV Device Family 10 kΩ
10 kΩ nCE (4) TCK
TDO
GND
N.C. (5) nCEO
TMS Download Cable 10-Pin Male
nSTATUS TDI Header (Top View)
CONF_DONE
(2) nCONFIG
(2) Pin 1 VCCA (6)
MSEL[3..0] (7)
(2) DATA[0]
(2) DCLK
GND
VIO (3)
1 kΩ
GND GND
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)
VCCA
VCCIO (1) 10 kΩ
Cyclone IV Device Family 10 kΩ
10 kΩ nCE (4) TCK
TDO
GND
N.C. (5) nCEO
TMS Download Cable 10-Pin Male
nSTATUS TDI Header (Top View)
CONF_DONE
(2) nCONFIG
(2) Pin 1 VCCA (6)
MSEL[3..0] (7)
(2) DATA[0]
(2) DCLK
GND
VIO (3)
1 kΩ
GND GND
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.
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.
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
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,
nCE
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.
Pull to the VCCIO supply of the bank in which the pin resides through a 10-kΩ resistor. When configuring
nSTATUS
multiple devices in the same JTAG chain, each nSTATUS pin must be pulled up to VCCIO individually.
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
CONF_DONE
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.
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 VCCIO (1)
VCCA VCCIO(1) VCCIO (1) VCCIO (1) VCCIO (1) VCCIO (1)
10-Pin Male Header
Cyclone IV Device Cyclone IV Device Cyclone IV Device
10 kΩ 10 kΩ Family 10 kΩ 10 kΩ 10 kΩ
Pin 1 10 kΩ Family 10 kΩ Family
VCCA (5) nSTATUS
nSTATUS nSTATUS
(2) DATA[0] (2) DATA[0] (2) DATA[0]
10 kΩ (2) DCLK (2) DCLK (2) DCLK
(2) nCONFIG CONF_DONE (2) nCONFIG CONF_DONE (2) nCONFIG CONF_DONE
(2) MSEL[3..0] (6) (2) MSEL[3..0] (6) (2) MSEL[3..0] (6)
(2) nCEO (2) nCEO (2) nCEO
VIO nCE (4) nCE (4) nCE (4)
(3)
1 kΩ
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)
Download Cable VCCIO VCCIO VCCIO (1) VCCIO (1) VCCIO (1) VCCIO (1) VCCIO (1)
10-Pin Male Header Cyclone IV Cyclone IV Cyclone IV
10 kΩ Device Family 10 kΩ Device Family 10 kΩ 10 kΩ Device Family 10 kΩ
Pin 1 10 kΩ 10 kΩ
VCCIO (5)
VCCIO (1) nSTATUS nSTATUS nSTATUS
(2) DATA[0] (2) DATA[0] (2) DATA[0]
10 kΩ (2) DCLK (2) DCLK (2) DCLK
(2) nCONFIG CONF_DONE (2) nCONFIG CONF_DONE (2) nCONFIG CONF_DONE
(2) MSEL[3..0] (6) (2) MSEL[3..0] (6) (2) MSEL[3..0] (6)
(2) nCEO (2) nCEO (2) nCEO
VIO nCE (4) nCE (4) nCE (4)
(3)
1 kΩ
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.
f For more information about configuring multiple Altera devices in the same
configuration chain, refer to the Configuring Mixed Altera FPGA Chains chapter in
volume 2 of the Configuration Handbook.
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).
1 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.
f 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).
10 kΩ 10 kΩ 10 kΩ
Cyclone IV Device Family
VCCA
nSTATUS
CONF_DONE nCEO N.C.
10 kΩ
nCONFIG
nCE V CCA
3.3 V 3.3 V (4)
Serial 10kΩ 3.3 V 3.3 V (7) MSEL[3..0]
Configuration 10 kΩ
Device GND
(6) Download Cable
DATA DATA[0] TCK (JTAG Mode)
DCLK 10-Pin Male Header
DCLK TDO
(top view)
nCS nCSO TMS
ASDI ASDO TDI Pin 1 VCCA (5)
1 kΩ
10 pf 10 pf GND
Download Cable 10 pf
(AS Mode) GND GND
10-Pin Male Header
10 pf GND
(6) GND
Figure 8–23. Programming Serial Configuration Devices In-System Using the JTAG Interface
VCCA
VCCIO (1) 10 kΩ
VCCA
VCCIO (1) 10 kΩ
Cyclone IVDevice Family 10 kΩ
Serial Configuration 10 kΩ
nCE (4) TCK
Device VCCIO (1)
TDO
GND
10 kΩ N.C. (5) nCEO
TMS Download Cable 10-Pin Male
nSTATUS TDI Header (Top View)
CONF_DONE
nCONFIG
Serial
25 Ω (7) (2) MSEL[3..0] (8) Pin 1
Flash VCCA (6)
DATA DATA[0]
DCLK DCLK Loader
nCS nCSO
ASDI ASDO GND
VIO (3)
1 kΩ
GND GND
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.
f 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
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
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.
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
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.
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.
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.
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. Input Optional user-supplied clock input synchronizes the
I/O if option is off. 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. Output Status pin is used to indicate when the device has initialized and
I/O if option is off. open-drain 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. Input Optional pin that allows you to override all tri-states on the
I/O if option is off. 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. Input Optional pin that allows you to override all clears on all device
I/O if option is off. 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.
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.
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).
Device Configuration
3
Figure 8–25 shows the block diagrams to implement remote system upgrade.
Cyclone IV 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”.
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.
Configuration Error
Application 1
Power Up Configuration
Set Control Register
and Reconfigure
Application n
Set Control Register Configuration
and Reconfigure
Configuration Error
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.
Logic
Update Register
Bit [38..0] update
RSU
Master
State
Logic Machine
RSU
Shift Register Reconfiguration timeout User
State Watchdog
din dout din dout Timer
Machine
Bit [40..39] Bit [38..0]
capture
Logic Array
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.
38 37 36 35 34 33 12 11 0
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.
Table 8–17. Remote System Upgrade Current State Logic Contents In Status Register (Part 1 of 2)
Remote System Upgrade Status
Definition Description
Master State Machine Register Bit
Master State Machine The current state of the remote system upgrade
31:30
current state master state machine
29:24 Reserved bits Padding bits that are set to all 0’s
Factory information (1)
The current 24-bit boot address that was used by
23:0 Boot address the configuration scheme as the start address to
load the current configuration.
Master State Machine The current state of the remote system upgrade
31:30
current state master state machine
User watchdog timer The current state of the user watchdog enable,
Application information 1 (2) 29
enable bit which is active high
User watchdog timer
28:0 The current entire 29-bit watchdog time-out value.
time-out value
Table 8–17. Remote System Upgrade Current State Logic Contents In Status Register (Part 2 of 2)
Remote System Upgrade Status
Definition Description
Master State Machine Register Bit
Master State Machine The current state of the remote system upgrade
31:30
current state master state machine
User watchdog timer The current state of the user watchdog enable,
Application information 2 (2) 29
enable bit which is active high
User watchdog timer
28:0 The current entire 29-bit watchdog time-out value
time-out value
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 Description
30 nCONFIG source
One-hot, active-high field that describes the reconfiguration source
29 CRC error source that caused the Cyclone IV device to leave the previous application
28 nSTATUS source configuration. If there is a tie, the higher bit order indicates
27 User watchdog timer source precedence. For example, if nCONFIG and remote system upgrade
nCONFIG reach the reconfiguration state machine at the same time,
Remote system upgrade the nCONFIG precedes the remote system upgrade nCONFIG.
26
nCONFIG source
Master state machine The state of the master state machine during reconfiguration causes
25:24
current state the Cyclone IV device to leave the previous application configuration.
The address used by the configuration scheme to load the previous
23:0 Boot address
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.
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.
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
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.
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.
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
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.
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.
1 After the test completes, Altera recommends that you power cycle the device.
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.
f The CRC_ERROR pin information for Cyclone IV devices is reported in the Cyclone IV
Devices Pin-Outs on the Altera ® website.
This section focuses on the first type—the 32-bit CRC when the device is in user
mode.
Control Signals
Error Detection
State Machine Compute & Compare
CRC
32
32
32
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.
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.
8. Click OK.
Figure 9–2. Enabling the Error Detection CRC Feature in the Quartus II Software
Clock Divider
(1 to 256 Factor)
VCC
CRC_ERROR
Pre-Computed CRC (Shown in BIDIR Mode)
(Saved in the Option Register)
Error Detection
Logic
CRC_ERROR
SRAM CRC
Bits Computation
REGOUT
SHIFTNLD
LDSRC
CLK
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.
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>),
.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 Input This signal designates the clock input of this cell. All operations of this cell are with
source> 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 Input This signal is an input into the error detection block. If shiftnld=1, the data is
(<shiftnld shifted from the internal shift register to the regout at each rising edge of clk.
source>) 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.
.ldsrc (<ldsrc Input This signal is an input into the error detection block. If ldsrc=0, the
source>) 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.
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.
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:
Figure 10–1. Cyclone IV HSSI Transmitter BSC with IEEE Std. 1149.6 BST Circuitry
BSCAN PMA
SDOUT
AC JTAG
Output
0 BSTX1 Buffer
0 OE
D Q D Q 1
1
Pad
Mission
0 (DATAOUT)
D Q D Q 0 Tx Output
Buffer
1 BS0EB nOE
1
Pad
OE Logic
M0 RHZ
0
0 OE
BSTX0
D Q D Q AC JTAG
1 Output
1 Buffer
Capture Update
Registers
Figure 10–2. Cyclone IV HSSI Receiver BSC with IEEE Std. 1149.6 BST Circuitry
BSCAN PMA
Hysteretic
Memory
0
BSOUT1
D Q Pad
Mission
1 (DATAIN) Rx Input
Optional INTEST/RUNBIST Buffer
not supported Pad
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.
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.
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.
Tester
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.
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:
■ “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
f For more information about using the PowerPlay Power Analyzer in the Quartus II
software, refer to the Power Estimation and Power Analysis section in volume 3 of the
Quartus II Handbook.
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.
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.
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.
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.
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.
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 as-
sumes 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
Additional Information
About this Handbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-v
How to Contact Altera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-v
Typographic Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-v
Section 1. Transceivers
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
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.
Contact
Contact (Note 1) 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.
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.
CYIV-52001-1.0
Channel 0
MPLL
Channel 2
Channel 1
Channel 0
MPLL
Channel 3
Channel 2 hard IP
for
Channel 1 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.
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
Tx Output
Tx Phase Buffer
Comp Byte Serializer 8B10B Encoder Serializer
FIFO
PCI Express hard IP
PIPE Interface
Rx Rx Input
Phase Byte Rate Buffer
8B10B Word Deserial-
Comp Deser- Match CDR
Decoder Aligner izer
FIFO ializer FIFO
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.
Table 1–2. FPGA Fabric-Transceiver Interface Width and Frequency, and PCS-PMA Interface
Width (Part 1 of 2)
Interfaces Values
FPGA fabric-transceiver (PCS) interface widths 8/10 bit, 16/20 bit
FPGA fabric-transceiver (PCS) interface frequencies 125 MHz, 156.25 MHz (1)
Table 1–2. FPGA Fabric-Transceiver Interface Width and Frequency, and PCS-PMA Interface
Width (Part 2 of 2)
Interfaces Values
PCS-PMA interface widths 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.
Figure 1–4. ALTGX Ports for the PCI Express (PIPE) Functional Modes
rx_datain[N-1:0] tx_dataout[N-1:0]
rx_dataout[16N-1:0] tx_datain[16N-1:0]
rx_digitalreset tx_ctrlenable[2N-1:0] Required
Required rx_analogreset tx_clkout (when N=1 only)
tx_digitalreset
Transmit
rx_coreclk[N-1:0] tx_coreclk[N-1:0]
(Tx)
rx_locktorefclk[N-1:0] tx_phase_comp_fifo_error[N-1:0]
Receive rx_locktodata[N-1:0] tx_detectrxloop[N-1:0]
Optional
(Rx) rx_ctrldetect[2N-1:0] tx_forcedisp[N-1:0]
rx_errdetect[2N-1:0] tx_dispval[N-1:0]
rx_disperr[2N-1:0] tx_invpolarity[N-1:0]
Optional
rx_freqlocked[N-1:0]
rx_signaldetect[N-1:0]
rx_phase_comp_fifo_error[N-1:0] pipeelecidle[N-1:0] Required
rx_syncstatus[2N-1:0] pipestatus[3N-1:0]
rx_patterndetect[2N-1:0] pipe8b10binvpolarity[N-1:0] PIPE Interface
rx_rlv[N-1:0] pipedatavalid[N-1:0] (PCIe)
Optional
pipephydonestatus[N-1:0] (2)
pll_inclk tx_forceelecidle[N-1:0]
Required cal_blk_clk rx_elecidleinfersel[3N-1:0]
Clock
coreclkout (when N>1 only)
& PLL
fixedclk
Optional
pll_locked
Required pll_powerdown
Power gxb_powerdown
Down Optional cal_blk_powerdown
powerdn [2N-1:0]
Figure 1–5 shows the top-level ports of the ALTGX transceiver when configured in
GIGE functional mode.
GIGE
rx_datain tx_dataout
Required rx_dataout[7:0] tx_datain[7:0]
rx_digitalreset tx_ctrlenable Required
rx_analogreset tx_clkout
tx_digitalreset Transmit
rx_coreclk tx_coreclk (Tx)
rx_locktorefclk tx_phase_comp_fifo_error
Optional
rx_locktodata tx_disval
rx_ctrldetect tx_invpolarity
rx_errdetect
Receive rx_disperr
(Rx) rx_freqlocked
rx_phase_comp_fifo_error
Optional rx_syncstatus
rx_patterndetect
rx_runningdisp
rx_rmfifofull
rx_rmfifoempty
rx_rmfifodatainserted
rx_rmfifodatadeleted
rx_rlv
rx_invpolarity
pll_inclk
Required
Clock cal_blk_clk
& PLL Optional pll_locked
Required pll_powerdown
Power gxb_powerdown
Down Optional cal_blk_powerdown
Table 1–3 lists the ALTGX transceiver interfaces with links to the subsequent sections
that describe each interface.
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.
Tx Datapath
Figure 1–6 illustrates the Tx channel datapath.
Tx Channel
Tx PCS Tx PMA
Tx Output
PCIe Tx Phase Byte 8B10B Buffer
FPGA PIPE
hard Comp Serializer Encoder Serializer
Fabric IF
IP FIFO
Table 1–9. Tx Modules Utilization for Supported Protocol Functional Modes in the ALTGX Megafunction
Tx Phase Tx Output
Functional Mode Byte Serializer 8B10B Encoder Serializer
Compensation FIFO Buffer
PCI Express (PIPE) v v (1) v v v
GIGE v — v v v
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 tx_phase_comp_fifo_error
Data input from 8 or 16 Compensation 8 or 16
FPGA fabric or FIFO Data output to
PIPE Interface the Byte Serializer
wr_clk rd_clk or the 8B10B Encoder
(tx_datain)
tx_coreclk tx_clkout
(optional)
coreclkout
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.
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.
16 8
datain Byte Serializer dataout
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.
datain 8
tx_ctrlenable
dataout 10
8B10B Encoder
tx_forcedisp
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.
1 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
modes, the Tx serial clocks are at 1.25 GHz and 625 MHz, respectively. Figure 1–11
shows the serializer.
8/10
Tx PCS
Tx Output Buffer
Serializer
Tx Serial Clock
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:
■ 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
1 You can disable OCT to use external termination. In such cases, VCM is tri-stated.
50 Ω or 75 Ω
+ VCM-
Programmable
Pre-emphasis
and VOD 50 Ω or 75 Ω
GXB_TXn
Receiver
Detect
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.
Rx Channel
Rx PCS Rx PMA
Rate Word
8B10B Deserializer
Match Aligner
Decoder
FIFO
FPGA Rx Input
Fabric Buffer
CDR
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
Functional Rx Input Word Rate Match 8B10B Byte Rx Phase
CDR Deserializer Compensation FIFO
Mode Buffer Aligner FIFO Decoder Deserializer
PCI Express v v v v v v v (1) v
(PIPE)
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.
Physical Medium
AC Coupling
Capacitor
TX Termination RX Termination
TX RX
VCM VCM
1 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
8/10
Deserializer Rx PCS
Recovered Serial 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.
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 Automatic Synchronization
Mode
State Machine State Machine
Pattern Length 10 bits 7 bits, 10 bits
Number of valid synchronization code groups or ordered sets
4 3
received to achieve synchronization
Number of erroneous code groups received to lose
17 4
synchronization
Number of continuous good code groups received to reduce
16 4
the error count by one
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.
8/10
dataout
8/10
datain rx_syncstatus
Word Aligner rx_patterndetect
rx_invpolarity rx_ctrldetect
rx_errdetect
rx_disperr
Recovered Parallel Clock rx_runningdisp
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
■ Current running disparity value with the optional rx_runningdisp status signal
rx_syncstatus
Rate Match 10
dataout
FIFO
10
datain
wrclk rdclk
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.
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.
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.
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.
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.
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
3
(1) MPLL1 MPLL1
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.
Figure 1–20. Transceiver Clock Distribution for Cyclone IV GX Devices with Two Transceiver Blocks
GPLL2
Transmitter Channels Receiver Channels
3 (1) GXBL1 GXBL1
3 (2)
MPLL8 MPLL8
(1)
3 MPLL7 MPLL7
(1)
3 GXBL0 GXBL0
(1) (2)
MPLL6 MPLL6
3
3 MPLL5 MPLL5
(1) (1)
GPLL1
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)
Cyclone IV GX
VICM REFCLK
0.1 μF
Z0 = 50 Ω 50 Ω
Z0 = 50 Ω
0.1 μF 50 Ω
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)
Rs (2) Cyclone IV GX
PCI Express REFCLK +
(HCSL)
REFCLK
Rs (2)
Source
REFCLK -
50 Ω 50 Ω
Serializer
Tx Phase
Comp Byte Serializer 8B10B Encoder
FIFO
tx_coreclk[0]
/2
Tx Parallel Clock
PIPE Interface
8B10B Decoder
Word Aligner
Deserializer
Rx Phae
Comp
FIFO
CDR
rx_coreclk[0]
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.
PCI
Serializer
Express PIPE Tx Phase
Byte Serializer
hard IP Interface Comp 8B10B Encoder
FIFO
tx_coreclk[3]
/2
PCI
Serializer
Express PIPE Tx Phase
Byte Serializer
hard IP Interface Comp 8B10B Encoder
FIFO
tx_coreclk[2]
/2
PCI
Serializer
Express PIPE Tx Phase
Byte Serializer
hard IP Interface Comp 8B10B Encoder
FIFO
tx_coreclk[1]
/2
PCI
Serializer
Express PIPE Tx Phase
Byte Serializer
hard IP Interface Comp 8B10B Encoder
FIFO
tx_coreclk[0]
/2
8B10B Decoder
Word Aligner
PCI
Deserializer
Rx Phase
Express PIPE
Comp
FIFO
CDR
hard IP Interface
Serial
rx_coreclk[3]
Recovered
Clock
/2
Ch3 Parallel Recovered Clock
8B10B Decoder
Word Aligner
PCI
Deserializer
Rx Phase
Express PIPE
Comp
FIFO
CDR
hard IP Interface
rx_coreclk[2]
Serial
Recovered
Clock
/2
Ch2 Parallel Recovered Clock
Rx
CDR
Central Control Unit (CCU) Clock
coreclkout Tx
FPGA Fabric-Transceiver /2 Parallel
Interface Clock Clock
8B10B Decoder
Word Aligner
PCI
Deserializer
Rx Phase
Express PIPE
Comp
FIFO
CDR
hard IP Interface
Serial
rx_coreclk[1]
Recovered
Clock
/2
Ch1 Parallel Recovered Clock
8B10B Decoder
Word Aligner
PCI
Deserializer
Rx Phase
Express PIPE
Comp
FIFO
CDR
hard IP Interface
rx_coreclk[0]
Serial
Recovered
Clock
/2
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
Transceiver
Tx PMA
Tx PCS Serializer
FPGA PCIe
PIPE Reverse parallel
Fabric hard
IF loopback path
IP
Rx PCS Rx PMA
Rate
Word Deserial-
Match CDR
Aligner izer
FIFO
Transceiver
Tx PMA
Tx PCS Serializer
FPGA
Serial
Fabric
loopback
Rx PMA
To FPGA fabric
for verification
Rx PCS Deserializer CDR
Transceiver
Tx PMA
Tx PCS
Serializer
FPGA
To FPGA Fabric
Fabric for Verification (1) (2)
Deserializer CDR
Rx PCS
Rx PMA
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.
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 Ω cal_blk_clk Calibration
±1% Block
cal_blk_powerdown
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.
tx_digitalreset
rx_digitalreset
rx_analogreset Reset
Controller
pll_powerdown
gxb_powerdown
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
1 μs
pll_powerdown
tx_digitalreset
rx_analogreset
Output Status:
pll_locked
> 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 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
Figure 1–32. GIGE Reset Sequence with Transmitter Only Channel Mode
1 μs
Reset & Power Down:
pll_powerdown
tx_digitalreset
Output Status:
pll_locked
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.
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
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.
What is the operation Transmitter Only, For PCI Express (PIPE) mode, only the Receiver and Transmitter (full
mode? Receiver and duplex) mode is allowed. For GIGE mode, you can select either a
Transmitter transmitter, or receiver and transmitter.
What is the number of 1–4 For PCI Express (PIPE) mode, you can specify ×1 or ×4 operation. The
channels? channels must be identical. You can specify 1-4 channels for GIGE mode.
What is the deserializer Single This option sets the transceiver datapath width.
block width? Double ■ 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 8 This option determines the transceiver-to-FPGA interface width.
width? 16 ■ 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 Data Rate This option is not configurable because the data rate is fixed at 2.5 Gbps for
base the setting on? PCI Express (PIPE) mode and 1.25 Gbps for GIGE mode.
What is the data rate? 2500 Mbps This option is not used because the data rate is fixed at 2.5 Gbps for PCI
1250 Mbps Express (PIPE) mode and 1.25 Gbps for GIGE mode.
What is the input clock 62.5 MHz Determines the input reference clock frequency for the transceiver.
frequency? 100 MHz ■ In PCI Express (PIPE) mode, only 100 MHz is allowed. 125 MHz will be
125 MHz supported in a future version of the Quartus II software.
■ In GIGE mode, 62.5 MHz and 125 MHz are allowed.
The base data is Mbps 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.
PLL/Ports
Table 1–17 describes the settings available on the PLL/Ports page.
PLL Settings
Train Receiver CDR from On/Off This option is always On for Cyclone IV GX transceivers. When On, CDR
pll_inclk trains using pll_inclk that you provide to the MPLL.
Use Auxiliary Transmitter On/Off This option is not available for Cyclone IV GX devices.
(ATX) PLL
Enable PLL PFD Feedback to On/Off This option is not available for Cyclone IV GX transceivers.
compensate latency
uncertainty in Tx dataout and
Tx clkout paths relative to the
reference clock
What is the Tx/Rx PLL Auto, High, This option allows you to tune analog settings in the PLL to control how
bandwidth mode? Medium, quickly the PLL adjusts to changes in the input clock. A high bandwidth PLL
Low 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 Auto, High, This option is not available for Cyclone IV GX transceivers.
bandwidth mode? Medium,
Low
What is the acceptable PPM ±100 This option specifies the PPM difference between the MPLL input reference
threshold between the ±300 clock and the CDR recovered clock. For PCI Express (PIPE) mode, this field
receiver CDR VCO and the must be set to ±300. For GIGE mode, this field must be set to ±100.
receiver input reference
clock?
Optional Ports
Create ‘gxb_powerdown’ port On/Off The optional gxb_powerdown transceiver signal powers down all
to power down the Transceiver transceiver channels and all functional blocks in the transceiver block.
block
Create ‘pll_powerdown’ port to On/Off The pll_powerdown signal is optional. This port is enabled if you select
power down the Tx/Rx MPLL Enforce default settings for this protocol for PCI Express (PIPE) and GIGE
modes.
Create ‘rx_analogreset’ port On/Off The rx_analogreset port is optional. This port is enabled if you select
for the analog portion of the Enforce default settings for this protocol for PCI Express (PIPE) and GIGE
receiver modes.
Create ‘rx_digitalreset’ port On/Off The rx_digitalreset port is optional. This port is enabled if you
for the digital portion of the select Enforce default settings for this protocol for PCI Express (PIPE) and
receiver GIGE modes.
Create ‘tx_digitalreset’ port for On/Off The tx_digitalreset port is optional. This port is enabled if you
the digital portion of the select Enforce default settings for this protocol for PCI Express (PIPE) and
transmitter GIGE modes.
Ports/Cal Blk
Table 1–18 describes the settings available on the Ports/Cal Blk page.
Loopback
Table 1–19 describes the settings available on the Loopback page.
Rx Analog
Table 1–20 describes the settings available on the Rx Analog page.
What is the receiver termination 100 Ω This option specifies the receiver termination value.
resistance? 150 Ω
Tx Analog
Table 1–21 describes the settings available on the Tx Analog page.
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.
Optional Settings
Enable low latency synchronous PCI On/Off When this option is turned On, the rate match FIFO is
Express (PIPE) 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 On/Off When enabled, rx_rlv is asserted when the number of
run length of 40-80 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 On/Off Enables inference of electrical idle.
functionality
Optional Ports
Create ‘rx_syncstatus’ output port for On/Off
pattern detector and word aligner
Create ‘rx_patterndetect’ port to indicate On/Off
the pattern detected
Create ‘rx_ctrldetect’ port to indicate the On/Off
8B10B decoder has detected a control code
Create ‘tx_detectrxloop’ input port as On/Off
receiver detect or loopback enable For additional information about these signals, refer to
depending on the power state “Top-Level Signals” on page 1–4.
Create ‘tx_forceelecidle’ input port to force On/Off
the transmitter to send electrical idle
signals
Create ‘tx_forcedispcompliance’ input port On/Off
to force negative running disparity
Create ‘tx_invpolarity’ to allow transmitter On/Off
polarity inversion
Table 1–23 describes the second page of protocol settings for PCI Express (PIPE)
mode.
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 as-
sumes 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
Additional Information
About this Handbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-v
How to Contact Altera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-v
Typographic Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info-v
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.
Contact
Contact (Note 1) 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.
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.
CYIV-53001-1.0
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.
c 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.
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.
Table 1–2. Cyclone IV Devices Maximum Allowed Overshoot During Transitions over a 10-Year Time
Frame
Symbol Parameter 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 %
AC Input VI = 4.25 V 6.23 %
Vi
Voltage 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.
4.2 V
4.1 V
3.3 V
ΔT
T
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
Tristated I/O pin leakage
IOZ VO = 0 V to VCCIOMAX — –10 — 10 μA
current
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.
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.
Min Max Min Max Min Max Min Max Min Max Min Max
Bus hold
low, VIN > VIL
8 — 12 — 30 — 50 — 70 — 70 — μA
sustaining (maximum)
current
Bus hold
high, VIN < VIL
–8 — –12 — –30 — –50 — –70 — –70 — μA
sustaining (minimum)
current
Bus hold
low,
0 V < VIN < VCC IO — 125 — 175 — 200 — 300 — 500 — 500 μA
overdrive
current
Bus hold
high,
0 V < VIN < VCC IO — –125 — –175 — –200 — –300 — –500 — –500 μA
overdrive
current
Bus hold trip
— 0.3 0.9 0.375 1.125 0.68 1.07 0.7 1.7 0.8 2 0.8 2 V
point
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 VCCIO (V) Unit
Commercial Max Industrial Max
3.0 ±30 ±40 %
2.5 ±30 ±40 %
Series OCT without
1.8 +40 ±50 %
calibration
1.5 +50 ±50 %
1.2 +50 ±50 %
Table 1–7. Cyclone IV Devices Series OCT with Calibration at Device Power-Up Specifications
—Preliminary
Calibration Accuracy
Description VCCIO (V) Industrial and Automotive Unit
Commercial Max
Max
3.0 ±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
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
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) T2 is the final temperature.
(2) T1 is the initial temperature.
(3) MF is multiplication factor.
(4) Rfinal is final resistance.
(5) Rinitial is initial resistance.
(6) Subscript x refers to both V and T.
(7) ΔRV is variation of resistance with voltage.
(8) ΔRT is variation of resistance with temperature.
(9) dR/dT is the change percentage of resistance with temperature after calibration at device power-up.
(10) dR/dV is the change percentage of resistance with voltage after calibration at device power-up.
(11) V2 is final voltage.
(12) 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:
Pin Capacitance
Table 1–9 lists the pin capacitance for Cyclone IV devices.
Table 1–10. Cyclone IV Devices Internal Weak Pull-Up and Weak Pull-Down Resistor (Note 1) —Preliminary
Symbol Parameter 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Ω
Value of I/O pin pull-up resistor before
and during configuration, as well as VCC IO = 2.5 V ± 5% (2), (3) 8 35 61 kΩ
R_P U
user mode if the programmable VCC IO = 1.8 V ± 5% (2), (3) 10 57 108 kΩ
pull-up resistor option is enabled
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Ω
Value of I/O pin pull-down resistor
R_P D VCC IO = 2.5 V ± 5% (4) 6 25 43 kΩ
before and during configuration
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.
Hot-Socketing
Table 1–11 lists the hot-socketing specifications for Cyclone IV devices.
1 During hot-socketing, the I/O pin capacitance is less than 15 pF and the clock pin
capacitance is less than 20 pF.
Table 1–12. Hysteresis Specifications for Schmitt Trigger Input in Cyclone IV Devices —Preliminary
Symbol Parameter Conditions Minimum Typical Maximum Unit
VCC IO = 3.3 V 200 — — mV
Hysteresis for Schmitt trigger VCC IO = 2.5 V 200 — — mV
VS CHM ITT
input VCC IO = 1.8 V 140 — — mV
VCC IO = 1.5 V 110 — — mV
Table 1–13. Cyclone IV Devices Single -Ended I/O Standard Specifications (Note 1), (2) (Part 1 of 2)—Preliminary
VCC IO (V) VIL (V) VIH (V) VOL (V) VO H (V) IO L IO H
I/O Standard
Min Typ Max Min Max Min Max Max Min (mA) (mA)
3.3-V LVTTL (3) 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
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
2.375 2.5 2.625 –0.3 0.7 1.7 VC CIO + 0.3 0.4 2.0 1 –1
LVCMOS (3)
Table 1–13. Cyclone IV Devices Single -Ended I/O Standard Specifications (Note 1), (2) (Part 2 of 2)—Preliminary
VCC IO (V) VIL (V) VIH (V) VOL (V) VO H (V) IO L IO H
I/O Standard
Min Typ Max Min Max Min Max Max Min (mA) (mA)
Table 1–14. Cyclone IV Devices Single -Ended SSTL and HSTL I/O Reference Voltage Specifications (Note 1)—Preliminary
Table 1–15. Cyclone IV Devices Single -Ended SSTL and HSTL I/O Standards Signal Specifications —Preliminary
I/O VIL(DC) (V) VIH(DC ) (V) VIL(AC ) (V) VIH (A C) (V) VOL (V) VOH (V) IOL IOH
Standard Min Max Min Max Min Max Min Max Max Min (mA) (mA)
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 Min Max Min Typ Max
SSTL-2 VC CIO/2 + VC CIO/2 – VCC IO /2 +
2.375 2.5 2.625 0.36 VCC IO VCC IO /2 – 0.2 — 0.7 VCC IO —
Class I, II 0.2 0.125 0.125
SSTL-18 VCC IO/2 – VC CIO/2 + VC CIO/2 – VCC IO /2 +
1.7 1.8 1.90 0.25 VCC IO — 0.5 VCC IO —
Class I, II 0.175 0.175 0.125 0.125
Table 1–17. Cyclone IV Devices Differential HSTL I/O Standard Specifications (Part 1 of 2) —Preliminary
VCC IO (V) VDIF(DC) (V) VX(A C) (V) VCM (D C) (V) VD IF(A C) (V)
I/O Standard Mi
Min Typ Max Min Max Min Typ Max Min Typ Max Max
n
HSTL-18
1.71 1.8 1.89 0.2 — 0.85 — 0.95 0.85 — 0.95 0.4 —
Class I, II
Table 1–17. Cyclone IV Devices Differential HSTL I/O Standard Specifications (Part 2 of 2) —Preliminary
VCC IO (V) VDIF(DC) (V) VX(A C) (V) VCM (D C) (V) VD IF(A C) (V)
I/O Standard Mi
Min Typ Max Min Max Min Typ Max Min Typ Max Max
n
HSTL-15
1.425 1.5 1.575 0.2 — 0.71 — 0.79 0.71 — 0.79 0.4 —
Class I, II
HSTL-12 0.52 * 0.48 * 0.52 * 0.48 *
1.14 1.2 1.26 0.16 VC CIO 0.48 * VCC IO — — 0.3
Class I, II VCC IO VC CIO VCCIO VCCIO
Table 1–18. Cyclone IV Devices Differential I/O Standard Specifications (Note 1) (Part 1 of 2)—Preliminary
I/O VC CIO (V) VID (mV) VIcM (V) (2) VO D (mV) (3) VO S (V) (3)
Standard Min Typ Max Min Max Min Condition Max Min Typ Max Min Typ Max
0.05 DM AX ≤ 500 Mbps 1.80
LVPECL
500 Mbps ≤ DM AX ≤
(Row I/Os) 2.375 2.5 2.625 100 — 0.55 1.80 — — — — — —
700 Mbps
(4)
1.05 DM AX > 700 Mbps 1.55
0.05 DM AX ≤ 500 Mbps 1.80
LVPECL
500 Mbps ≤DM AX ≤
(Column 2.375 2.5 2.625 100 — 0.55 1.80 — — — — — —
700 Mbps
I/Os) (4)
1.05 DM AX > 700 Mbps 1.55
0.05 DM AX ≤ 500 Mbps 1.80
LVDS (Row 500 Mbps ≤DM AX ≤
2.375 2.5 2.625 100 — 0.55 1.80 247 — 600 1.125 1.25 1.375
I/Os) 700 Mbps
1.05 DM AX > 700 Mbps 1.55
0.05 DM AX ≤ 500 Mbps 1.80
LVDS
500 Mbps ≤DM AX ≤
(Column 2.375 2.5 2.625 100 — 0.55 1.80 247 — 600 1.125 1.25 1.375
700 Mbps
I/Os)
1.05 DM AX > 700 Mbps 1.55
BLVDS
(Row I/Os) 2.375 2.5 2.625 100 — — — — — — — — — —
(5)
BLVDS
(Column 2.375 2.5 2.625 100 — — — — — — — — — —
I/Os) (5)
mini -LVDS
(Row I/Os) 2.375 2.5 2.625 — — — — — 300 — 600 1.0 1.2 1.4
(6)
mini -LVDS
(Column 2.375 2.5 2.625 — — — — — 300 — 600 1.0 1.2 1.4
I/Os) (6)
RSDS®
(Row 2.375 2.5 2.625 — — — — — 100 200 600 0.5 1.2 1.5
I/Os)(6)
RSDS
(Column 2.375 2.5 2.625 — — — — — 100 200 600 0.5 1.2 1.5
I/Os) (6)
Table 1–18. Cyclone IV Devices Differential I/O Standard Specifications (Note 1) (Part 2 of 2)—Preliminary
I/O VC CIO (V) VID (mV) VIcM (V) (2) VO D (mV) (3) VO S (V) (3)
Standard Min Typ Max Min Max Min Condition Max Min Typ Max Min Typ Max
PPDS ®
(Row I/Os) 2.375 2.5 2.625 — — — — — 100 200 600 0.5 1.2 1.4
(6)
PPDS
(Column 2.375 2.5 2.625 — — — — — 100 200 600 0.5 1.2 1.4
I/Os) (6)
Notes to Table 1–18:
(1) For an explanation of terms used in Table 1–18, refer to “Transmitter Output Waveform” in “Glossary” on page 1–33.
(2) VIN range: 0 V ≤VIN ≤1.85 V.
(3) RL range: 90 ≤ RL ≤ 110 Ω.
(4) LVPECL input standard is only supported at clock input. Output standard is not supported.
(5) No fixed VIN , VOD , and VOS specifications for BLVDS. They are dependent on the system topology.
(6) 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.
Symbol/ C6 C7 C8
Conditions Unit
Description Min Typ Max Min Typ Max Min Typ Max
Reference Clock
Input frequency
from REFCLK input — 50 — 156.25 50 — 156.25 50 — 156.25 MHz
pins
Spread-spectrum
modulating clock PCI Express 30 — 33 30 — 33 30 — 33 kHz
frequency
Spread-spectrum 0 to 0 to 0 to
PCI Express — — — — — —
downspread –0.5% –0.5% –0.5%
2000 ± 2000 ± 2000 ±
Rref — — — — — — — — Ω
1% 1% 1%
Transceiver Clocks
Calibration block
— 10 — 125 10 — 125 10 — 125 MHz
clock frequency
PCI Express
fixedclk clock
Receiver — 125 — — 125 — — 125 — MHz
frequency
Detect
Transceiver block
minimum
— — 1 — — 1 — — 1 — µs
power-down pulse
width
Receiver
Data rate — 600 — 3125 600 — 3125 600 — 2500 Mbps
Absolute VM AX for a
— — — 1.5 — — 1.5 — — 1.5 V
receiver pin (1)
Absolute VM IN for a
— –0.4 — — –0.4 — — –0.4 — — V
receiver pin
Maximum
peak-to-peak VIC M = 0.82 V
— — 2.7 — — 2.7 — — 2.7 V
differential input setting
voltage VID (diff p-p)
Minimum
Data Rate =
peak-to-peak
600 Mbps to 100 — — 100 — — 100 — — mV
differential input
3.125 Gbps.
voltage VID (diff p-p)
VIC M = 0.82 V
VICM — 820 — — 820 — — 820 — mV
setting
Differential on-chip 100−Ω setting — 100 — — 100 — — 100 — Ω
termination
resistors 150−Ω setting — 150 — — 150 — — 150 — Ω
Symbol/ C6 C7 C8
Conditions Unit
Description Min Typ Max Min Typ Max Min Typ Max
Return loss
PCI Express 50 MHz to 1.25 GHz: –10dB
differential mode
Return loss common
PCI Express 50 MHz to 1.25 GHz: –6dB
mode
Programmable PPM ± 62.5, 100, 125, 200,
— ppm
detector (2) 250, 300, 500, 1000
Run length — — 80 — — 80 — — 80 — UI
Programmable
— — — 7 — — 7 — — 7 dB
equalization
Signal detect/loss PCI Express
65 — 175 65 — 175 65 — 175 mV
threshold (PIPE) Mode
CDR LTR time (3) — — — 75 — — 75 — — 75 µs
CDR minimum T1b
— 15 — 15 — — 15 — — µs
(4)
LTD lock time (5) — 0 100 4000 0 100 4000 0 100 4000 ns
Data lock time from
rx_freqlocked — — — 4000 — — 4000 — — 4000 ns
(6)
DC Gain
— 0 — — 0 — — 0 — dB
Setting = 0
Programmable DC DC Gain
— 3 — — 3 — — 3 — dB
gain Setting = 1
DC Gain
— 6 — — 6 — — 6 — dB
Setting = 2
Transmitter
Data rate 600 — 3125 600 — 3125 600 — 2500 Mbps
VOC M 0.65 V setting — 650 — — 650 — — 650 — mV
Differential on-chip 100−Ω setting — 100 — — 100 — — 100 — Ω
termination
resistors 150−Ω setting — 150 — — 150 — — 150 — Ω
Return loss
PCI Express 50 MHz to 1.25 GHz: –10dB
differential mode
Return loss common
PCI Express 50 MHz to 1.25 GHz: –6dB
mode
Rise time — 50 — 200 50 — 200 50 — 200 ps
Fall time — 50 — 200 50 — 200 50 — 200 ps
Intra-differential pair
— — — 15 — — 15 — — 15 ps
skew
Intra-transceiver PCI Express
— — 120 — — 120 — — 120 ps
block skew (PIPE) ×4
PLD-Transceiver Interface
Interface speed — 25 — 156.25 25 — 156.25 25 — 125 MHz
Symbol/ C6 C7 C8
Conditions Unit
Description Min Typ Max Min Typ Max Min Typ Max
Digital reset pulse
— Minimum is 2 parallel clock cycles
width
Notes to Table 1–19:
(1) The device cannot tolerate prolonged operation at this absolute maximum.
(2) The rate matcher supports only up to ±300 parts per million (ppm).
(3) Time taken to rx_pll_locked goes high from rx_analogreset deassertion. Refer to Figure 1–2.
(4) 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.
pll_locked
r x_analogreset
CDR status
LTD
r x_locktodata
r x_freqlocked
Ground
VID
p−n=0V
VID
Ground
VOD
p−n=0V
VOD
Table 1–20 lists the typical VOD for TX term that equals 100 Ω.
Symbol/ C6 C7 C8
Conditions Unit
Description Min Typ Max Min Typ Max Min Typ Max
Table 1–21. Cyclone IV GX Transceiver Block AC Specification (Note 1) , (2) (Part 2 of 2)—Preliminary
Symbol/ C6 C7 C8
Conditions Unit
Description Min Typ Max Min Typ Max Min Typ Max
Combined deterministic
and random jitter Pattern = CJPAT > 0.66 > 0.66 > 0.66 UI
tolerance (peak-to-peak)
Notes to Table 1–21:
(1) Dedicated refclk pins were used to drive the input reference clocks.
(2) The Jitter numbers specified are valid for the stated conditions only.
(3) The jitter numbers for PCI Express (PIPE) are compliant to the PCIe Base Specification 2.0.
(4) The jitter numbers for GIGE are compliant to the IEEE802.3-2002 Specification.
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–27 lists the active configuration mode specifications for Cyclone IV devices.
Table 1–28 lists the JTAG timing parameters and values for Cyclone IV devices.
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.
Table 1–29. Cyclone IV Devices RSDS Transmitter Timing Specifications (Note 1), (2) —Preliminary
C6 C7, I7 C8
Symbol Modes 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
fHSC LK ×7 10 — 180 10 — 155.5 10 — 155.5 MHz
(input clock
frequency) ×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
Device operation in ×7 70 — 360 70 — 311 70 — 311 Mbps
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
— — — 500 — — 500 — — 550 ps
(peak to peak)
tRISE 20 – 80%, CLOA D = 5 pF — 500 — — 500 — — 500 — ps
tFALL 20 – 80%, CLOA D = 5 pF — 500 — — 500 — — 500 — ps
tLOCK (3) — — — 1 — — 1 — — 1 ms
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.
Table 1–30. Cyclone IV Devices Emulated RSDS_E_1R Transmitter Timing Specifications (Note 1)
—Preliminary
C6 C7, I7 C8
Symbol Modes 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
fHSC LK (input ×7 10 — 85 10 — 85 10 — 85 MHz
clock
frequency) ×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
Device ×7 70 — 170 70 — 170 70 — 170 Mbps
operation in
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 — — — 500 — — 500 — — 550 ps
peak)
20 – 80%,
tRISE — 500 — — 500 — — 500 — ps
CLOAD = 5 pF
20 – 80%,
tFALL — 500 — — 500 — — 500 — ps
CLOAD = 5 pF
tLOCK (2) — — — 1 — — 1 — — 1 ms
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 C7, I7 C8
Symbol 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
fHSC LK (input ×7 10 — 200 10 — 155.5 10 — 155.5 MHz
clock
frequency) ×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
Table 1–31. Cyclone IV Devices Mini-LVDS Transmitter Timing Specifications (Note 1), (2) (Part 2 of 2)—Preliminary
C6 C7, I7 C8
Symbol 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
Device ×7 70 — 400 70 — 311 70 — 311 Mbps
operation in
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 — — — 500 — — 500 — — 550 ps
peak)
20 – 80%,
tRISE — 500 — — 500 — — 500 — ps
CLOAD = 5 pF
20 – 80%,
tFALL — 500 — — 500 — — 500 — ps
CLOAD = 5 pF
tLOCK (3) — — — 1 — — 1 — — 1 ms
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 C7, I7 C8
Symbol Modes Unit
Min Max Min Max Min Max
×10 10 420 10 370 10 320 MHz
×8 10 420 10 370 10 320 MHz
fHSC LK (input ×7 10 420 10 370 10 320 MHz
clock frequency) ×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
HSIODR
×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
Table 1–32. Cyclone IV Devices True LVDS Transmitter Timing Specifications (Note 1) (Part 2 of
2) —Preliminary
C6 C7, I7 C8
Symbol Modes Unit
Min Max Min Max Min Max
Output jitter
— — 500 — 500 — 550 ps
(peak to peak)
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 C7, I7 C8
Symbol Modes Unit
Min Max Min Max Min Max
×10 10 320 10 320 10 275 MHz
×8 10 320 10 320 10 275 MHz
fHSC LK (input clock ×7 10 320 10 320 10 275 MHz
frequency) ×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
HSIODR
×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
— — 500 — 500 — 550 ps
(peak to peak)
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.
Table 1–34. Cyclone IV Devices LVDS Receiver Timing Specifications (Note 1) —Preliminary
C6 C7, I7 C8
Symbol 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
fHSC LK (input clock ×7 10 437.5 10 370 10 320 MHz
frequency) ×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
HSIODR
×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
— — 500 — 500 — 550 ps
tolerance
tLOCK (2) — — 1 — 1 — 1 ms
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.
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
C6 Speed Grade C7 Speed Grade C8 Speed Grade I7 Speed Grade
(MHz) (MHz) (MHz) (MHz)
Wraparound Mode
Wraparound Mode
Wraparound Mode
Wraparound Mode
Column I/O Banks
Memory Standard
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
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
C6 Speed Grade C7 Speed Grade C8 Speed Grade I7 Speed Grade
(MHz) (MHz) (MHz) (MHz)
Wraparound Mode
Wraparound Mode
Wraparound Mode
Wraparound Mode
Column I/O Banks
QDR II SRAM (5) 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
C6 Speed Grade C7 Speed Grade C8 Speed Grade I7 Speed Grade
(MHz) (MHz) (MHz) (MHz)
Column I/O Banks
DDR2 SDRAM (3),(4),(5) 200 167 167 150 167 133 167 150
DDR SDRAM (3) 167 150 150 133 133 125 150 133
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
C6 Speed Grade
DDR2 SDRAM 580 550 690 640 850 800
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 Column I/Os (ps) Row I/Os (ps) Wraparound Mode (ps)
I/O Standard
Standard Lead Lag Lead Lag Lead Lag
C6 Speed Grade
SSTL-18 Class I 790 380 790 380 890 480
DDR2 SDRAM
SSTL-18 Class II 870 490 870 490 970 590
SSTL-2 Class I 750 320 750 320 850 420
DDR SDRAM
SSTL-2 Class II 860 350 860 350 960 450
1.8 V HSTL Class I 780 410 780 410 880 510
QDR II SRAM
1.8 V HSTL Class II 830 510 830 510 930 610
C7 Speed Grade
SSTL-18 Class I 915 410 915 410 1015 510
DDR2 SDRAM
SSTL-18 Class II 1025 545 1025 545 1125 645
SSTL-2 Class I 880 340 880 340 980 440
DDR SDRAM
SSTL-2 Class II 1010 380 1010 380 1110 480
1.8 V HSTL Class I 910 450 910 450 1010 550
QDR II SRAM
1.8 V HSTL Class II 1010 570 1010 570 1110 670
Table 1–38. Cyclone IV Devices Transmitter Channel-to-Channel Skew (TCCS) – Write Side (Note 1) (Part 2 of 2)
—Preliminary
Memory Column I/Os (ps) Row I/Os (ps) Wraparound Mode (ps)
I/O Standard
Standard Lead Lag Lead Lag Lead Lag
C8 Speed Grade
SSTL-18 Class I 1040 440 1040 440 1140 540
DDR2 SDRAM
SSTL-18 Class II 1180 600 1180 600 1280 700
SSTL-2 Class I 1010 360 1010 360 1110 460
DDR SDRAM
SSTL-2 Class II 1160 410 1160 410 1260 510
1.8 V HSTL Class I 1040 490 1040 490 1140 590
QDR II SRAM
1.8 V HSTL Class II 1190 630 1190 630 1290 730
I7 Speed Grade
SSTL-18 Class I 961 431 961 431 1061 531
DDR2 SDRAM
SSTL-18 Class II 1076 572 1076 572 1176 672
SSTL-2 Class I 924 357 924 357 1024 457
DDR SDRAM
SSTL-2 Class II 1061 399 1061 399 1161 499
1.8 V HSTL Class I 956 473 956 473 1056 573
QDR II SRAM
1.8 V HSTL Class II 1061 599 1061 599 1161 699
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.
Table 1–40. Duty Cycle Distortion on Cyclone IV Devices I/O Pins (Note 1), (2)—Preliminary
C6 C7, I7 C8
Symbol Unit
Min Max Min Max Min Max
Output Duty Cycle 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.
Table 1–41. Cyclone IV Devices Timing Specification for Series OCT with Calibration at Device
Power-Up (Note 1)—Preliminary
Symbol Description Maximum Units
Duration of series OCT with
tOCTC AL 20 µs
calibration at device power-up
Note to Table 1–41:
(1) OCT calibration takes place after device configuration, before entering user mode.
Table 1–42. Cyclone IV Devices IOE Programmable Delay on Column Pins (Note 1), (2)—Preliminary
Max Offset
Number
Paths Min
Parameter of Fast Corner Slow Corner Unit
Affected Offset
Settings
I7 C6 C6 C7 C8 I7
Pad to I/O
Input delay from pin to
dataout to 7 0 1.211 1.314 2.175 2.32 2.386 2.366 ns
internal cells
core
Input delay from pin to Pad to I/O
8 0 1.203 1.307 2.19 2.387 2.54 2.43 ns
input register input register
I/O output
Delay from output
register to 2 0 0.479 0.504 0.915 1.011 1.107 1.018 ns
register to output pin
pad
Input delay from Pad to global
dual-purpose clock pin clock 12 0 0.664 0.694 1.199 1.378 1.532 1.392 ns
to fan-out destinations network
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.
Table 1–43. Cyclone IV Devices IOE Programmable Delay on Row Pins (Note 1), (2)—Preliminary
Max Offset
Number
Paths Min
Parameter of Fast Corner Slow Corner Unit
Affected Offset
Settings
I7 C6 C6 C7 C8 I7
Pad to I/O
Input delay from pin to
dataout to 7 0 1.209 1.314 2.174 2.335 2.406 2.381 ns
internal cells
core
Input delay from pin to Pad to I/O
8 0 1.207 1.312 2.202 2.402 2.558 2.447 ns
input register input register
I/O output
Delay from output
register to 2 0 0.51 0.537 0.962 1.072 1.167 1.074 ns
register to output pin
pad
Input delay from
Pad to global
dual-purpose clock pin 12 0 0.669 0.698 1.207 1.388 1.542 1.403 ns
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.
Glossary
Table 1–44 lists the glossary for this chapter.
VIH
Input Waveforms
for the SSTL
I VSWING VREF
Differential I/O
Standard
VIL
TMS
TDI
t JCP t JPSU_TDI
t JCH t JCL t JPSU_TMS t JPH
TCK
J JTAG Waveform
tJPZX t JPCO t JPXZ
TDO
tJSSU t JSH
Signal
to be
Captured
tJSZX t JSCO t JSXZ
Signal
to be
Driven
K — —
L — —
M — —
N — —
O — —
fIN fINPFD
N
PFD CP LF VCO fVCO fOUT GCLK
Core Clock
Counters
C0..C4
P PLL Block
Phase tap
Key
Q — —
RL Receiver differential input discrete resistor (external to Cyclone IV devices).
Receiver Input Waveform for LVDS and LVPECL Differential Standards.
Single-Ended Waveform
Ground
Receiver Input
Waveform
R
Differential Waveform (Mathematical Function of Positive & Negative Channel)
VID
0V
VID
p -n
RSKM (Receiver
HIGH-SPEED I/O Block: The total margin left after accounting for the sampling window and TCCS.
input skew
RSKM = (TUI – SW – TCCS) / 2.
margin)
VCCIO
VOH
VIH (AC )
VIH(DC)
VREF
VIL(DC)
Single-ended VIL(AC )
voltage-
referenced I/O VOL
S Standard
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.
SW (Sampling HIGH-SPEED I/O Block: The period of time during which the data must be valid to capture it
Window) 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 (Channel- HIGH-SPEED I/O Block: The timing difference between the fastest and slowest output edges,
to-channel-skew) 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%).
T
tH Input register hold time.
Timing Unit HIGH-SPEED I/O block: The timing budget allowed for skew, propagation delays, and data
Interval (TUI) 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.
Single-Ended Waveform
Transmitter Ground
Output Waveform
VOD
0V
VOD
p -n