m10 Handbook PDF
m10 Handbook PDF
2016.08.11
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
M10-ARCHITECTURE
2 Logic Array Block 2016.08.11
• The amount and location of each block varies in each MAX 10 device.
• Certain MAX 10 devices may not contain a specific block.
Internal Flash
UFM
ADC block
CFM
I/O Banks
I/O Banks
Related Information
• MAX 10 Device Datasheet
Provides more information about specification and performance for MAX 10 devices.
• MAX 10 FPGA Device Overview
Provides more information about maximum resources in MAX 10 devices
Send Feedback
M10-ARCHITECTURE
2016.08.11 LAB Interconnects 3
Row Interconnect
Column
Interconnect
Direct link
Direct link interconnect
interconnect from adjacent
from adjacent block
block
The Quartus® Prime Compiler places associated logic in a LAB or adjacent LABs, allowing the use of local
and register chain connections for performance and area efficiency.
LAB Interconnects
The LAB local interconnect is driven by column and row interconnects and LE outputs in the same LAB.
The direct link connection minimizes the use of row and column interconnects to provide higher perform‐
ance and flexibility. The direct link connection enables the neighboring elements from left and right to
drive the local interconnect of a LAB. The elements are:
• LABs
• PLLs
• M9K embedded memory blocks
• embedded multipliers
Each LE can drive up to 48 LEs through local and direct link interconnects.
Send Feedback
M10-ARCHITECTURE
4 LAB Control Signals 2016.08.11
Figure 3: LAB Local and Direct Link Interconnects for MAX 10 Devices
LEs
Local
Interconnect
LAB
Send Feedback
M10-ARCHITECTURE
2016.08.11 LAB Control Signals 5
Dedicated 6
LAB Row
Clocks
Local
Interconnect
Local
Interconnect
Local
Interconnect
Local
Interconnect
labclkena1 labclkena2 labclr1 synclr
labclkena1 • Each LAB can use two clock enable signals. The clock and clock enable
labclkena2 signals of each LAB are linked. For example, any LE in a particular LAB
using the labclk1 signal also uses the labclkena1 signal.
• Deasserting the clock enable signal turns off the LAB-wide clock signal.
Send Feedback
M10-ARCHITECTURE
6 Logic Elements 2016.08.11
You can use up to eight control signals at a time. Register packing and synchronous load cannot be used
simultaneously.
Each LAB can have up to four non-global control signals. You can use additional LAB control signals as
long as they are global signals.
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. MAX 10 devices only
support either a preset or asynchronous clear signal.
In addition to the clear port, MAX 10 devices provide a chip-wide reset pin (DEV_CLRn) to reset all
registers in the device. An option set before compilation in the Quartus Prime software controls this pin.
This chip-wide reset overrides all other control signals.
Logic Elements
LE is the smallest unit of logic in the MAX 10 device family 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
LE Features
LEs contain inputs, outputs and registers to enable several features.
Send Feedback
M10-ARCHITECTURE
2016.08.11 LE Features 7
labclk2
labclkena1
labclkena2
LE Inputs
There are six available inputs to the LE in both mode LE operating modes, Normal Mode and Arithmetic
Mode. Each input is directed to different destinations to implement the desired logic function. The LE
inputs are:
• four data inputs from the LAB local interconnect
• an LE carry-in from the previous LE carry-chain
• a register chain connection
LE Outputs
Each LE has three outputs which are:
• Two LE outputs drive the column or row and direct link routing connections
• One LE output drives the local interconnect resources
The register packing feature is supported in MAX 10 devices. With register packing, the LUT or register
output drives the three outputs independently. This feature improves device utilization by using the
register and the LUT for unrelated functions.
The LAB-wide synchronous load control signal is not available when using register packing.
Send Feedback
M10-ARCHITECTURE
8 LE Operating Modes 2016.08.11
Programmable Register
You can configure the programmable register of each LE for D, T, JK, or SR flipflop operation. Each
register has the following inputs:
• clock—can be driven by signals that use the global clock network, general-purpose I/O pins or the
internal logic
• clear—can be driven by signals that use the global clock network, general-purpose I/O pins or the
internal logic
• clock enable—can be driven by general-purpose I/O pins or the internal logic
For combinational functions, the LUT output bypasses the register and drives directly to the LE outputs.
Register Feedback
The register feedback mode allows the register output to feed back into the LUT of the same LE. This is to
ensure that the register is packed with its own fan-out LUT which provides another mechanism for
improved fitting. The LE can also drive out registered and unregistered versions of the LUT output.
LE Operating Modes
The LEs in MAX 10 devices operate in two modes.
• Normal mode
• Arithmetic mode
These operating modes use LE resources differently. Both LE modes have six available inputs and LAB-
wide signals.
The Quartus Prime 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.
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. The
Quartus Prime 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.
Send Feedback
M10-ARCHITECTURE
2016.08.11 Arithmetic Mode 9
Register Chain
Connection sload sclear
(LAB Wide) (LAB Wide)
Packed Register Input
Register
Register Bypass Register Feedback
Chain Output
Arithmetic Mode
Arithmetic mode is ideal for implementing adders, counters, accumulators, and comparators.
The LE in arithmetic mode implements a 2-bit full adder and basic carry chain. 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.
Send Feedback
M10-ARCHITECTURE
10 Embedded Memory 2016.08.11
data4
data1
Three-Input
data2 Q Row, Column, and
LUT
D Direct link routing
Register
Chain Output
Carry Chain
The Quartus Prime 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 Prime
Compiler creates carry chains longer than 16 LEs by automatically linking LABs in the same column.
To 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 a 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.
Embedded Memory
The MAX 10 embedded memory block is optimized for applications such as high throughput packet
processing, embedded processor program, and embedded data storage.
The MAX 10 embedded memory structure consists of 9,216-bit (including parity bits) blocks. You can use
each M9K block in different widths and configuration to provide various memory functions such as RAM,
ROM, shift registers, and FIFO.
Send Feedback
M10-ARCHITECTURE
2016.08.11 Embedded Multiplier 11
Related Information
MAX 10 Embedded Memory User Guide
Embedded Multiplier
You can use an embedded multiplier block in one of two operational modes, depending on the application
needs:
• One 18-bit x 18-bit multiplier
• Up to two 9-bit x 9-bit independent multipliers
You can also use embedded multipliers of the MAX 10 devices to implement multiplier adder and
multiplier accumulator functions. The multiplier portion of the function is implemented using embedded
multipliers. The adder or accumulator function is implemented in logic elements (LEs).
Related Information
MAX 10 Embedded Multiplier User Guide
18-Bit Multipliers
You can configure each embedded multiplier to support a single 18 x 18 multiplier for input widths of 10
to 18 bits.
The following figure shows the embedded multiplier configured to support an 18-bit multiplier.
Send Feedback
M10-ARCHITECTURE
12 9-Bit Multipliers 2016.08.11
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 x 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.
The following figure shows the embedded multiplier configured to support two 9-bit multipliers.
Send Feedback
M10-ARCHITECTURE
2016.08.11 Clocking and PLL 13
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 x 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 x 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.
Each embedded multiplier block has only one signa and one signb signal to control the sign representa‐
tion of the input data to the block. If the embedded multiplier block has two 9 × 9 multipliers the following
applies:
• The Data A input of both multipliers share the same signa signal
• The Data B input of both multipliers share the same signb signal
Send Feedback
M10-ARCHITECTURE
14 Global Clock Networks 2016.08.11
Clock networks provide clock sources for the core. You can use clock networks in high fan out global
signal network such as reset and clear.
PLLs provide robust clock management and synthesis for device clock management, external system clock
management, and I/O interface clocking.
Related Information
MAX 10 Clock Networks and PLLs User Guide
DPCLK2
DPCLK3
GCLK[0..4] GCLK[5..9]
CLK[0,1][p,n] CLK[2,3][p,n]
DPCLK0
DPCLK1
Send Feedback
M10-ARCHITECTURE
2016.08.11 Internal Oscillator 15
Figure 11: GCLK Network Sources for 10M16, 10M25, 10M40, and 10M50 Devices
CLK[4,5][p,n]
GCLK[10..14]
DPCLK2
DPCLK3
GCLK[0..4] GCLK[5..9]
CLK[0,1][p,n] CLK[2,3][p,n]
DPCLK0
DPCLK1
GCLK[15..19]
CLK[6,7][p,n]
Internal Oscillator
MAX 10 devices have built-in internal ring oscillator with clock multiplexers and dividers. The internal
ring oscillator operates up to 232 MHz which is not accessible. This operating frequency further divides
down to slower frequencies.
When the oscena input signal is asserted, the oscillator is enabled and the output can be routed to the
logic array through the clkout output signal. When the oscena signal is set low, the clkout signal is
constant high. You can analyze this delay using the TimeQuest timing analyzer.
Send Feedback
M10-ARCHITECTURE
16 PLL Block and Locations 2016.08.11
pfdena ÷M
GCLK
Source-Synchronous; Normal Mode networks
Notes:
(1) This is the VCO post-scale counter K.
(2) Only counter C0 of PLL1 and PLL3 can drive the ADC clock.
The following figures show the physical locations of the PLLs. Every index represents one PLL in the
device. The physical locations of the PLLs correspond to the coordinates in the Quartus Prime Chip
Planner.
Send Feedback
M10-ARCHITECTURE
2016.08.11 PLL Block and Locations 17
Bank 1
Bank 6
Bank 2
Bank 5
PLL 1 (1) Bank 3
Notes:
(1) Available on all packages except V36 package.
(2) Available on U324 and V36packages only.
Bank 6
Bank 2
Bank 5
Notes:
(1) Available on all packages except V81 package.
(2) Available on F256, F484, U324, and V81 packages only.
Send Feedback
M10-ARCHITECTURE
18 General Purpose I/O 2016.08.11
Figure 15: PLL Locations for 10M16, 10M25, 10M40 and 10M50 Devices
Bank 1B Bank 1A
Bank 6
Bank 5
Bank 2
OCT
Note:
(1) Available on all packages except E144 and U169 packages.
Related Information
MAX 10 General Purpose I/O User Guide
Send Feedback
M10-ARCHITECTURE
2016.08.11 MAX 10 I/O Banks Locations 19
VREF8 VCCIO8
VREF1 VREF6
1 6
VCCIO1 VCCIO6
VREF2 VREF5
2 5
VCCIO2 VCCIO5
VCCIO3 VREF3
Send Feedback
M10-ARCHITECTURE
20 MAX 10 I/O Banks Locations 2016.08.11
8 7
1A VREF6
VCCIO1A
6
VREF1
1B VCCIO6
VCCIO1B
VREF2 VREF5
2 5
VCCIO2 VCCIO5
Send Feedback
M10-ARCHITECTURE
2016.08.11 High-Speed LVDS I/O 21
Figure 18: I/O Banks for MAX 10 16, 25, 40, and 50 Devices—Preliminary
8 7
1A VREF6
VCCIO1A
6
VREF1
1B VCCIO6
VCCIO1B
VREF2 VREF5
2 5
VCCIO2 VCCIO5
Related Information
MAX 10 High-Speed LVDS I/O User Guide
Send Feedback
M10-ARCHITECTURE
22 MAX 10 High-Speed LVDS I/O Location 2016.08.11
This figure shows a transmitter and receiver block diagram for the soft LVDS SERDES circuitry with the
interface signals of the transmitter and receiver data paths.
ALTERA_SOFT_LVDS
10
tx_in tx_in tx_out + tx_out
C0
–
inclock
10 bits C1 LVDS Transmitter
maximum tx_coreclock
data width
FPGA LVDS Receiver
Fabric ALTERA_SOFT_LVDS
10 +
rx_out rx_out rx_in – rx_in
C0
inclock
C1
rx_outclock
Send Feedback
M10-ARCHITECTURE
2016.08.11 MAX 10 High-Speed LVDS I/O Location 23
1 6
TX RX
LVDS
Emulated LVDS
RSDS
Emulated RSDS
Mini-LVDS
2 5 Emulated Mini-LVDS
PPDS
Emulated PPDS
BLVDS
LVPECL
TMDS
Sub-LVDS
3 SLVS
HiSpi
Send Feedback
M10-ARCHITECTURE
24 MAX 10 High-Speed LVDS I/O Location 2016.08.11
Figure 21: LVDS Support in I/O Banks of 10M04 and 10M08 Devices
This figure shows a top view of the silicon die. Each bank is labeled with the actual bank number. LVPECL
support only in banks 2 and 6.
8 7
1A
6
TX RX
1B
LVDS
Emulated LVDS
RSDS
Emulated RSDS
Mini-LVDS
2 5 Emulated Mini-LVDS
PPDS
Emulated PPDS
BLVDS
LVPECL
TMDS
Sub-LVDS
3 4 SLVS
HiSpi
Send Feedback
M10-ARCHITECTURE
2016.08.11 External Memory Interface 25
Figure 22: LVDS Support in I/O Banks of 10M16, 10M25, 10M40, and 10M50 Devices
This figure shows a top view of the silicon die. Each bank is labeled with the actual bank number. LVPECL
support only in banks 2, 3, 6, and 8.
8 7
1A
6
TX RX
1B
LVDS
Emulated LVDS
RSDS
Emulated RSDS
Mini-LVDS
2 5 Emulated Mini-LVDS
PPDS
Emulated PPDS
BLVDS
LVPECL
OCT TMDS
Sub-LVDS
3 4 SLVS
HiSpi
Related Information
MAX 10 External Memory Interface User Guide
Send Feedback
M10-ARCHITECTURE
26 Analog-to-Digital Converter 2016.08.11
1A
6
PHYCLK
I/O banks on the right side
of the device.
2 5
OCT
PLL 3 4 PLL
External memory interfaces support is available only for 10M16, 10M25, 10M40, and 10M50 devices.
Analog-to-Digital Converter
MAX 10 devices feature up to two analog-to-digital converters (ADC). The ADCs provide the MAX 10
devices with built-in capability for on-die temperature monitoring and external analog signal conversion.
The ADC solution consists of hard IP blocks in the MAX 10 device periphery and soft logic through the
Altera Modular ADC IP core.
The ADC solution provides you with built-in capability to translate analog quantities to digital data for
information processing, computing, data transmission, and control systems. The basic function is to
provide a 12 bit digital representation of the analog signal being observed.
The ADC solution works in two modes:
• Normal mode—monitors up to 18 single-ended external inputs with a cumulative sampling rate of one
megasymbols per second (Msps).
• Temperature sensing mode—monitors internal temperature data input with a sampling rate of up to 50
kilosymbols per second (ksps).
Send Feedback
M10-ARCHITECTURE
2016.08.11 ADC Block Locations 27
PLL Clock In
Dedicated ADC Hard IP Block
Analog Input Sequencer [4:0]
DOUT [11:0]
ADC Analog Input Sampling
Mux 12 bit 1 Mbps ADC
(Dual Function) [16:1] and Hold
Control/Status
Temperature Sensor
Altera Modular ADC IP Core
ADC VREF
Internal VREF
Related Information
MAX 10 Analog to Digital Converter User Guide
8 7
ADC1
1A
6
1B
2 5
I/O Bank
3 4 ADC Block
Send Feedback
M10-ARCHITECTURE
28 ADC Block Locations 2016.08.11
8 7
ADC1
1A
6
1B
2 5
3 4 ADC Block
Send Feedback
M10-ARCHITECTURE
2016.08.11 Configuration Schemes 29
Figure 27: ADC Block Location in MAX 10 25, 40, and 50 Devices
Package E144 of these devices have only one ADC block.
8 7
ADC1
ADC2
1A
6
1B
2 5
3 4 ADC Block
Configuration Schemes
Figure 28: High-Level Overview of JTAG Configuration and Internal Configuration for MAX 10 Devices
Related Information
MAX 10 FPGA Configuration User Guide
JTAG Configuration
In MAX 10 devices, JTAG instructions take precedence over the internal configuration scheme.
Send Feedback
M10-ARCHITECTURE
30 Internal Configuration 2016.08.11
Using the JTAG configuration scheme, you can directly configure the device CRAM through the JTAG
interface—TDI, TDO, TMS, and TCK pins. The Quartus Prime software automatically generates an SRAM
Object File (.sof). You can program the .sof using a download cable with the Quartus Prime software
programmer.
Internal Configuration
You need to program the configuration data into the configuration flash memory (CFM) before internal
configuration can take place. The configuration data to be written to CFM will be part of the programmer
object file (.pof). Using JTAG In-System Programming (ISP), you can program the .pof into the internal
flash.
During internal configuration, MAX 10 devices load the CRAM with configuration data from the CFM.
Related Information
MAX 10 User Flash Memory (UFM) User Guide
Send Feedback
M10-ARCHITECTURE
2016.08.11 Power Management 31
Power Management
MAX 10 power optimization features are as follows:
• Single-supply or dual-supply device options
• Power-on reset (POR) circuitry
• Power management controller scheme
• Hot socketing
Related Information
Power Management User Guide
Single-Supply Device
MAX 10 single-supply devices only need either a 3.0- or 3.3-V external power supply. The external power
supply serves as an input to the MAX 10 device VCC_ONE and VCCA power pins. This external power supply
is then regulated by an internal voltage regulator in the MAX 10 single-supply device to 1.2 V. The 1.2-V
voltage level is required by core logic operation.
Figure 30: MAX 10 Single-Supply Device
Dual-Supply Device
MAX 10 dual-supply devices require 1.2 V and 2.5 V for the device core logics and periphery operations.
Figure 31: MAX 10 Dual-Supply Device
VCCA, VCCA_ADC
(2.5 V)
MAX 10
VCC, VCCD_PLL, VCCINT Dual-Supply Device
(1.2 V)
Send Feedback
M10-ARCHITECTURE
32 Hot Socketing 2016.08.11
Hot Socketing
The MAX 10 device offers hot socketing, which is also known as hot plug-in or hot swap, and power
sequencing support without the use of any external devices. You can insert or remove the MAX 10 device
on a board in a system during system operation. This does not affect the running system bus or the board
that is inserted into the system.
The hot-socketing feature removes some encountered difficulties when using the MAX 10 device on a PCB
that contains a mixture of devices with different voltage levels.
With the MAX 10 device hot-socketing feature, you no longer need to ensure a proper power-up sequence
for each device on the board. MAX 10 device hot-socketing feature provides:
• Board or device insertion and removal without external components or board manipulation
• Support for any power-up sequence
• Non-intrusive I/O buffers to system buses during hot insertion
December 2014 2014.12.15 • Updated Altera On Chip Flash IP core block diagram for user flash
memory.
• Updated links.
Send Feedback
MAX 10 Embedded Memory User Guide
Contents
Altera Corporation
TOC-3
Altera Corporation
2016.10.31
MAX 10 Embedded Memory Overview
1
UG-M10MEMORY Subscribe Send Feedback
MAX® 10 embedded memory block is optimized for applications such as high throughput packet
processing, embedded processor program, and embedded data storage.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2016.10.31
MAX 10 Embedded Memory Architecture and
Features 2
UG-M10MEMORY Subscribe Send Feedback
The MAX 10 embedded memory structure consists of 9,216-bit (including parity bits) blocks. You can use
each M9K block in different widths and configuration to provide various memory functions such as RAM,
ROM, shift registers, and FIFO.
The following list summarizes the MAX 10 embedded memory features:
• Embedded memory general features
• Embedded memory operation modes
• Embedded memory clock modes
Related Information
MAX 10 Device Overview
For information about MAX 10 devices embedded memory capacity and distribution
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.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10MEMORY
2-2 Parity Bit 2016.10.31
The rden and wren control signals control the read and write operations for each port of the M9K memory
blocks. You can disable the rden or wren signals independently to save power whenever the operation is
not required.
Figure 2-1: Register Clock, Clear, and Control Signals Implementation in M9K Embedded Memory Block
Dedicated 6
Row LAB
Clocks
Local
Interconnect
Parity Bit
You can perform parity checking for error detection with the parity bit along with internal logic resources.
The M9K memory blocks support a parity bit for each storage byte. You can use this bit as either a parity
bit or as an additional data bit. No parity function is actually performed on this bit. If error detection is not
desired, you can use the parity bit as an additional data bit.
Read Enable
M9K memory blocks support the read enable feature for all memory modes.
If you... ...Then
Create the read-enable port and perform a write The data output port retains the previous values that
operation with the read enable port deasserted are held during the most recent active read enable.
Send Feedback
UG-M10MEMORY
2016.10.31 Read-During-Write 2-3
If you... ...Then
• Activate the read enable during a write The output port shows:
operation, or • the new data being written,
• Do not create a read-enable signal • the old data at that address, or
• a “Don't Care” value when read-during-write
occurs at the same address location.
Read-During-Write
The read-during-write operation occurs when a read operation and a write operation target the same
memory location at the same time.
The read-during-write operation operates in the following ways:
• Same-port
• Mixed-port
Related Information
Customize Read-During-Write Behavior on page 3-1
Byte Enable
• Memory block that are implemented as RAMs support byte enables.
• The byte enable controls mask the input data, so that only specific bytes of data are written. The
unwritten bytes retain the values written previously.
• The write enable (wren) signal, together with the byte enable (byteena) signal, control the write
operations on the RAM blocks. By default, the byteena signal is high (enabled) and only the wren
signal controls the writing.
• The byte enable registers do not have a clear port.
• M9K blocks support byte enables when the write port has a data width of ×16, ×18, ×32, or ×36 bits.
• Byte enables operate in a one-hot fashion. The LSB of the byteena signal corresponds to the LSB of the
data bus. For example, if byteena = 01 and you are using a RAM block in ×18 mode, data[8:0] is
enabled and data[17:9] is disabled. Similarly, if byteena = 11, both data[8:0] and data[17:9] are
enabled.
• Byte enables are active high.
Send Feedback
UG-M10MEMORY
2-4 Data Byte Output 2016.10.31
If you... ...Then
Deassert a byte-enable bit during a write cycle The old data in the memory appears in the
corresponding data-byte output.
Assert a byte-enable bit during a write cycle The corresponding data-byte output depends on the
Quartus® Prime software setting. The setting can be
either the newly written data or the old data at that
location.
inclock
wren
rden
address an a0 a1 a2 a0 a1 a2
data XXXX ABCD XXXX
byteena XX 10 01 11 XX
contents at a0 FFFF ABFF
contents at a1 FFFF FFCD
contents at a2 FFFF ABCD
q (asynch) doutn ABFF FFCD ABCD ABFF FFCD ABCD
Send Feedback
UG-M10MEMORY
2016.10.31 Packed Mode Support 2-5
Related Information
MAX 10 Embedded Memory Clock Modes on page 2-10
address[0] address[0]
address[0] register
address[N] address[N]
address[N] register
addressstall
clock
Send Feedback
UG-M10MEMORY
2-6 Address Clock Enable During Read Cycle Waveform 2016.10.31
inclock
rdaddress a0 a1 a2 a3 a4 a5 a6
rden
addressstall
latched address an a0 a1 a4 a5
(inside memory)
q (synch) doutn-1 doutn dout0 dout1 dout1 dout1 dout4
q (asynch) doutn dout0 dout1 dout1 dout1 dout4 dout5
inclock
wraddress a0 a1 a2 a3 a4 a5 a6
data 00 01 02 03 04 05 06
wren
addressstall
latched address a1 a4 a5
(inside memory) an a0
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
Asynchronous Clear
You can selectively enable asynchronous clear per logical memory using the RAM: 1-PORT and RAM: 2-
PORT IP cores.
Send Feedback
UG-M10MEMORY
2016.10.31 Resetting Registers in M9K Blocks 2-7
clk
aclr
aclr at latch
q a1 a2 a0 a1
Related Information
Internal Memory (RAM and ROM) User Guide.
Send Feedback
UG-M10MEMORY
2-8 Supported Memory Operation Modes 2016.10.31
Table 2-2: Supported Memory Operation Modes in the M9K Embedded Memory Blocks
Memory Operation Mode Related IP Core Description
Single-port RAM RAM: 1-PORT IP Core Single-port mode supports non-simultaneous read
and write operations from a single address.
Use the read enable port to control the RAM output
ports behavior during a write operation:
• To show either the new data being written or the
old data at that address, activate the read enable
during a write operation.
• To retain the previous values that are held during
the most recent active read enable, perform the
write operation with the read enable port
deasserted.
Simple dual-port RAM RAM: 2-PORT IP Core You can simultaneously perform one read and one
write operations to different locations where the
write operation happens on port A and the read
operation happens on port B.
True dual-port RAM RAM: 2-PORT IP Core You can perform any combination of two port
operations:
• two reads, two writes, or,
• one read and one write at two different clock
frequencies.
Single-port ROM ROM: 1-PORT IP Core Only one address port is available for read
operation.
You can use the memory blocks as a ROM.
• Initialize the ROM contents of the memory
blocks using a .mif or .hex file.
• 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.
Send Feedback
UG-M10MEMORY
2016.10.31 Supported Memory Operation Modes 2-9
Shift-register Shift Register (RAM- You can use the memory blocks as a shift-register
based) IP Core block to save logic cells and routing resources.
The input data width (w), the length of the taps (m),
and the number of taps (n) determine the size of a
shift register (w × m × n).
You can cascade memory blocks to implement
larger shift registers.
FIFO FIFO IP Core You can use the memory blocks as FIFO buffers.
• Use the FIFO IP core in single clock FIFO
(SCFIFO) mode and dual clock FIFO (DCFIFO)
mode to implement single- and dual-clock FIFO
buffers in your design.
• Use dual clock FIFO buffers when transferring
data from one clock domain to another clock
domain.
• The M9K memory blocks do not support
simultaneous read and write from an empty
FIFO buffer.
Memory-based ALTMEMMULT IP Core You can use the memory blocks as a memory-based
multiplier multiplier.
Related Information
MAX 10 Embedded Memory Related IPs
Send Feedback
UG-M10MEMORY
2-10 MAX 10 Embedded Memory Clock Modes 2016.10.31
Modes
Input/Output • M9K memory blocks can implement input Yes Yes Yes Yes —
Clock Mode or output clock mode for single-port, true
dual-port, and simple dual-port memory
modes.
• An input clock controls all input registers to
the memory block, including data, address,
byteena, wren, and rden registers.
• An output clock controls the data-output
registers.
Single-Clock A single clock, together with a clock enable, Yes Yes Yes Yes Yes
Mode controls all registers of the memory block.
Related Information
• Packed Mode Support on page 2-5
• Control Clocking to Reduce Power Consumption on page 3-5
• Output Read Data in Simultaneous Read and Write on page 2-11
Send Feedback
UG-M10MEMORY
2016.10.31 Output Read Data in Simultaneous Read and Write 2-11
Related Information
MAX 10 Embedded Memory Clock Modes on page 2-10
8192 × 1
4096 × 2
2048 × 4
1024 × 8
512 × 16
512 × 18
256 × 32
256 × 36
Send Feedback
UG-M10MEMORY
2-12 Memory Configurations for Dual-Port Modes 2016.10.31
• If your port width configuration (either the depth or the width) is more than the amount an internal
memory block can support, additional memory blocks (of the same type) are used. For example, if you
configure your M9K as 512 × 36, which exceeds the supported port width of 512 × 18, two M9Ks are
used to implement your RAM.
• In addition to the supported configuration provided, you can set the memory depth to a non-power of
two, but the actual memory depth allocated can vary. The variation depends on the type of resource
implemented.
• If the memory is implemented in dedicated memory blocks, setting a non-power of two for the
memory depth reflects the actual memory depth.
• When you implement your memory using dedicated memory blocks, refer to the Fitter report to check
the actual memory depth.
Send Feedback
UG-M10MEMORY
2016.10.31 Maximum Block Depth Configuration 2-13
Write Port
Read Port
8192 × 1 4096 × 2 2048 × 4 1024 × 8 512 × 16 1024 × 9 512 × 18
4096 × 2 Yes Yes Yes Yes Yes — —
2048 × 4 Yes Yes Yes Yes Yes — —
1024 × 8 Yes Yes Yes Yes Yes — —
512 × 16 Yes Yes Yes Yes Yes — —
1024 × 9 — — — — — Yes Yes
512 × 18 — — — — — Yes Yes
Table 2-7: Valid Range of Maximum Block Depth for M9K Memory Blocks
Memory Block Valid Range
M9K 256 - 8K. The maximum block depth must be in a power of two.
The IP parameter editor prompts an error message if you enter an invalid value for the maximum block
depth. Altera recommends that you set the value of the Set the maximum block depth parameter to Auto
if you are unsure of the appropriate maximum block depth to set or the setting is not important for your
design. The Auto setting enables the Compiler to select the maximum block depth with the appropriate
port width configuration for the type of internal memory block of your memory.
Send Feedback
2016.10.31
MAX 10 Embedded Memory Design
Consideration 3
UG-M10MEMORY Subscribe Send Feedback
There are several considerations that require your attention to ensure the success of your designs.
FPGA Device
Port A Port B
data in data in
Mixed-port
data flow
Same-port
data flow
Port A Port B
data out data out
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10MEMORY
3-2 Same-Port Read-During-Write Mode 2016.10.31
Related Information
Read-During-Write on page 2-3
Table 3-1: Output Modes for Embedded Memory Blocks in Same-Port Read-During-Write Mode
This table lists the available output modes if you select the embedded memory blocks in the same-port
read-during-write mode.
Output Mode Description
"new data" The new data is available on the rising edge of the same clock cycle on which
the new data is written.
(flow-through)
When using New Data mode together with byte enable, you can control the
output of the RAM.
When byte enable is high, the data written into the memory passes to the
output (flow-through).
When byte enable is low, the masked-off data is not written into the memory
and the old data in the memory appears on the outputs. Therefore, the output
can be a combination of new and old data determined by byteena.
"don't care" The RAM outputs reflect the old data at that address before the write
operation proceeds.
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
Send Feedback
UG-M10MEMORY
2016.10.31 Mixed-Port Read-During-Write Mode 3-3
clk_a
wren_a
rden_a
address_a a0 a1
data_a A B C D E F
Send Feedback
UG-M10MEMORY
3-4 Mixed-Port Read-During-Write Operation with Dual Clocks 2016.10.31
clk_a&b
wren_a
address_a a b
data_a A B C D E F
rden_b
address_b a b
In Don't Care mode, the old data is replaced with “Don't Care”.
If You... ...Then
Use the same clock for the two clocks The output is the old data from the address location.
Use different clocks The output is unknown during the mixed-port read-
during-write operation. This unknown value may be
the old or new data at the address location,
depending on whether the read happens before or
after the write.
Send Feedback
UG-M10MEMORY
2016.10.31 Consider Power-Up State and Memory Initialization 3-5
By default, the Quartus Prime software initializes the RAM cells to zero unless you specify a .mif.
All memory blocks support initialization with a .mif. You can create .mif files in the Quartus Prime
software and specify their use with the RAM IP when you instantiate a memory in your design. Even if a
memory is preinitialized (for example, using a .mif), it still powers up with its output cleared. Only the
subsequent read after power up outputs the preinitialized values.
Only the following MAX 10 configuration modes support memory initialization:
• Single Compressed Image with Memory Initialization
• Single Uncompressed Image with Memory Initialization
Note: The memory initialization feature is supported in MAX 10 Flash and Analog feature options only
Related Information
• Selecting Internal Configuration modes.
Provides more information about selecting MAX 10 internal configuration modes.
• MAX 10 Device Feature Options
Provides information on devices that support memory initialization.
Send Feedback
UG-M10MEMORY
3-6 Selecting Read-During-Write Output Choices 2016.10.31
Table 3-4: Output Choices for the Same-Port and Mixed-Port Read-During-Write
Single-Port RAM Simple Dual- True Dual-Port RAM
Port RAM
Memory Block Same-Port Mixed-Port Same-Port Mixed-Port Read-During-Write
Read-During- Read-During- Read-During-
Write Write Write
M9K Don’t Care Old Data New Data Old Data
New Data Don’t Care Old Data Don’t Care
Old Data
Send Feedback
2016.10.31
RAM: 1-Port IP Core References
4
UG-M10MEMORY Subscribe Send Feedback
The RAM: 1-Port IP core implements the single-port RAM memory mode.
Figure 4-1: RAM: 1-Port IP Core Signals with the Single Clock Option Enabled
data[] q[]
wren
address[]
addressstall_a
rden
clock
clken
outaclr
Figure 4-2: RAM: 1-Port IP Core Signals with the Dual Clock Option Enabled
data[] q[]
wren
address[]
addressstall_a
rden
inclock
inclocken
outclock
outclocken
outaclr
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10MEMORY
4-2 RAM: 1-Port IP Core Signals For MAX 10 Devices 2016.10.31
Send Feedback
UG-M10MEMORY
2016.10.31 RAM: 1-Port IP Core Parameters For MAX 10 Devices 4-3
Send Feedback
UG-M10MEMORY
4-4 RAM: 1-Port IP Core Parameters For MAX 10 Devices 2016.10.31
Send Feedback
UG-M10MEMORY
2016.10.31 RAM: 1-Port IP Core Parameters For MAX 10 Devices 4-5
Get x's for write masked bytes instead of On/Off Turn on this option to obtain 'X' on the
old data when byte enable is used masked byte.
Parameter Settings: Mem Init
Do you want to specify the initial content of the memory?
No, leave it blank On/Off Specifies the initial content of the
memory. Initialize the memory to zero.
Initialize memory content data to XX..X On/Off
on power-up in simulation
Send Feedback
UG-M10MEMORY
4-6 RAM: 1-Port IP Core Parameters For MAX 10 Devices 2016.10.31
Allow In-System Memory Content Editor On/Off Specifies whether to allow In-System
to capture and update content independ‐ Memory Content Editor to capture and
ently of the system clock update content independently of the
system clock.
The 'Instance ID' of this RAM is — Specifies the RAM ID.
Send Feedback
2016.10.31
RAM: 2-PORT IP Core References
5
UG-M10MEMORY Subscribe Send Feedback
The RAM: 2-PORT IP core implements the simple dual-port RAM and true dual-port RAM memory
modes.
Figure 5-1: RAM: 2-Port IP Core Signals With the One Read Port and One Write Port, and Single Clock
Options Enabled
data[] q[]
wraddress[]
wren
rdaddress[]
rden
byteena_a[]
wr_addressstall
rd_addressstall
clock
enable
aclr
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10MEMORY
5-2 RAM: 2-PORT IP Core References 2016.10.31
Figure 5-2: RAM: 2-Port IP Core Signals with the One Read Port and One Write Port, and Dual Clock: Use
Separate 'Read' and 'Write' Clocks Options Enabled
data[] q[]
wraddress[]
wren
rdaddress[]
rden
byteena_a[]
wr_addressstall
rd_addressstall
wrclock
wrclocken
rdclock
rdclocken
rdinclocken
rd_aclr
rdoutclocken
Figure 5-3: RAM: 2-Port IP Core Signals with the One Read Port and One Write Port, and Dual Clock: Use
Separate 'Input' and 'Output' Clocks Options Enabled
data[] q[]
wraddress[]
wren
rdaddress[]
rden
byteena_a[]
wr_addressstall
rd_addressstall
inclock
inclocken
outclock
out_aclr
in_aclr
outclocken
Send Feedback
UG-M10MEMORY
2016.10.31 RAM: 2-PORT IP Core References 5-3
Figure 5-4: RAM: 2-Port IP Core Signals with the Two Read/Write Ports and Single Clock Options Enabled
data_a[] q_a[]
address_a[]
q_b[]
wren_a
rden_a
data_b[]
address_b[]
wren_b
rden_b
byteena_a[]
addressstall_a
addressstall_b
clock
enable
aclr
Send Feedback
UG-M10MEMORY
5-4 RAM: 2-PORT IP Core References 2016.10.31
Figure 5-5: RAM: 2-Port IP Core Signals with the Two Read/Write Ports and Dual Clock: Use Separate 'Input'
and 'Output' Clocks Options Enabled
data_a[] q_a[]
address_a[]
q_b[]
wren_a
rden_a
data_b[]
address_b[]
wren_b
rden_b
byteena_a[]
addressstall_a
addressstall_b
inclock
inclocken
outclock
outclocken
out_aclr
Send Feedback
UG-M10MEMORY
2016.10.31 RAM: 2-Ports IP Core Signals (Simple Dual-Port RAM) For MAX 10 Devices 5-5
Figure 5-6: RAM: 2-Port IP Core Signals with the Two Read/Write Ports and Dual Clock: Use Separate for A
and B Ports Options Enabled
data_a[] q_a[]
address_a[]
q_b[]
wren_a
rden_a
data_b[]
address_b[]
wren_b
rden_b
byteena_a[]
addressstall_a
addressstall_b
clock_a
enable_a
clock_b
enable_b
aclr_b
aclr_a
RAM: 2-Ports IP Core Signals (Simple Dual-Port RAM) For MAX 10 Devices
Table 5-1: RAM: 2-Ports IP Core Input Signals (Simple Dual-Port RAM)
Signal Required Description
data Yes Data input to the memory. The data port is required and the
width must be equal to the width of the q port.
wraddress Yes Write address input to the memory. The wraddress port is
required and must be equal to the width of the raddress port.
wren Yes Write enable input for wraddress port. The wren port is
required.
rdaddress Yes Read address input to the memory. The rdaddress port is
required and must be equal to the width of wraddress port.
Send Feedback
UG-M10MEMORY
5-6 RAM: 2-Ports IP Core Signals (Simple Dual-Port RAM) For MAX 10 Devices 2016.10.31
inclock Yes The following list describes which of your memory clock must
be connected to the inclock port, and port synchronization in
different clock modes:
• Single clock—Connect your single source clock to inclock
port and outclock port. All registered ports are synchron‐
ized by the same source clock.
• Read/Write—Connect your write clock to inclock port. All
registered ports related to write operation, such as data port,
wraddress port, wren port, and byteena port are synchron‐
ized by the write clock.
• Input/Output—Connect your input clock to inclock port.
All registered input ports are synchronized by the input
clock.
outclock Yes The following list describes which of your memory clock must
be connected to the outclock port, and port synchronization in
different clock modes:
• Single clock—Connect your single source clock to inclock
port and outclock port. All registered ports are synchron‐
ized by the same source clock.
• Read/Write—Connect your read clock to outclock port. All
registered ports related to read operation, such as rdaddress
port, rdren port, and q port are synchronized by the read
clock.
• Input/Output—Connect your output clock to outclock
port. The registered q port is synchronized by the output
clock.
rden Optional Read enable input for rdaddress port. The rden port is
supported when the use_eab parameter is set to OFF. Instantiate
the IP core if you want to use read enable feature with other
memory blocks.
Send Feedback
UG-M10MEMORY
2016.10.31 RAM: 2-Port IP Core Signals (True Dual-Port RAM) for MAX 10 Devices 5-7
Table 5-2: RAM: 2-Ports IP Core Output Signals (Simple Dual-Port RAM)
Signal Required Description
q Yes Data output from the memory. The q port is required, and must
be equal to the width data port.
RAM: 2-Port IP Core Signals (True Dual-Port RAM) for MAX 10 Devices
Table 5-3: RAM: 2-Port IP Core Input Signals (True Dual-Port RAM)
Signal Required Description
data_a Optional Data input to port A of the memory. The data_a port is
required if the operation_mode parameter is set to any of the
following values:
• SINGLE_PORT
• DUAL_PORT
• BIDIR_DUAL_PORT
address_a Yes Address input to port A of the memory. The address_a port is
required for all operation modes.
wren_a Optional Write enable input for address_a port. The wren_a port is
required if you set the operation_mode parameter to any of the
following values:
• SINGLE_PORT
• DUAL_PORT
• BIDIR_DUAL_PORT
data_b Optional Data input to port B of the memory. The data_b port is
required if the operation_mode parameter is set to BIDIR_
DUAL_PORT.
Send Feedback
UG-M10MEMORY
5-8 RAM: 2-Port IP Core Signals (True Dual-Port RAM) for MAX 10 Devices 2016.10.31
wren_b Yes Write enable input for address_b port. The wren_b port is
required if you set the operation_mode parameter to BIDIR_
DUAL_PORT.
clock Yes The following list describes which of your memory clock must
be connected to the clock port, and port synchronization in
different clock modes:
• Single clock—Connect your single source clock to clock
port. All registered ports are synchronized by the same
source clock.
• Read/Write—Connect your write clock to clock port. All
registered ports related to write operation, such as data_a
port, address_a port, wren_a port, and byteena_a port are
synchronized by the write clock.
• Input/Output—Connect your input clock to clock port. All
registered input ports are synchronized by the input clock.
• Independent clock—Connect your port A clock to clock
port. All registered input and output ports of port A are
synchronized by the port A clock.
inclock Yes The following list describes which of your memory clock must
be connected to the inclock port, and port synchronization in
different clock modes:
• Single clock—Connect your single source clock to inclock
port and outclock port. All registered ports are synchron‐
ized by the same source clock.
• Read/Write—Connect your write clock to inclock port. All
registered ports related to write operation, such as data port,
wraddress port, wren port, and byteena port are synchron‐
ized by the write clock.
• Input/Output—Connect your input clock to inclock port.
All registered input ports are synchronized by the input
clock.
Send Feedback
UG-M10MEMORY
2016.10.31 RAM: 2-Port IP Core Signals (True Dual-Port RAM) for MAX 10 Devices 5-9
rden_a Optional Read enable input for address_a port. The rden_a port is
supported depending on your selected memory mode and
memory block.
rden_b Optional Read enable input for address_b port. The rden_b port is
supported depending on your selected memory mode and
memory block.
byteena_a Byte enable input to mask the data_a port so that only specific
bytes, nibbles, or bits of the data are written. The byteena_a
port is not supported in the following conditions:
• If the implement_in_les parameter is set to ON.
• If the operation_mode parameter is set to ROM.
addressstall_a Optional Address clock enable input to hold the previous address of
address_a port for as long as the addressstall_a port is high.
addressstall_b Optional Address clock enable input to hold the previous address of
address_b port for as long as the addressstall_b port is high.
Send Feedback
UG-M10MEMORY
5-10 RAM: 2-Port IP Core Parameters for MAX 10 Devices 2016.10.31
How do you want to specify the memory • As a number of words Determines whether to
size? • As a number of bits specify the memory size in
words or bits.
Parameter Settings: Widths/ Blk Type
How many <X>-bit words of memory? — Specifies the number of <X>
-bit words.
Use different data widths on different ports On/Off Specifies whether to use
different data widths on
different ports.
Send Feedback
UG-M10MEMORY
2016.10.31 RAM: 2-Port IP Core Parameters for MAX 10 Devices 5-11
What should the memory block type be? • Auto Specifies the memory block
• M9K type. The types of memory
block that are available for
• LCs selection depends on your
target device.
The LCs value is only
available under the following
conditions:
• Turn on the With one
read port and one write
port option
• Turn off Use different
data widths on different
ports option.
Option How should the • Use default logic cell style Specifies the logic cell
memory be • Use Stratix M512 implementation options.
implemented? emulation logic cell style This option is enabled only
when you choose LCs
memory type.
Send Feedback
UG-M10MEMORY
5-12 RAM: 2-Port IP Core Parameters for MAX 10 Devices 2016.10.31
Send Feedback
UG-M10MEMORY
2016.10.31 RAM: 2-Port IP Core Parameters for MAX 10 Devices 5-13
Byte Enable Ports Create byte enable for On/Off Specifies whether to create a
port A byte enable for Port A and B.
Turn on these options if you
want to mask the input data
so that only specific bytes,
nibbles, or bits of data are
written.
Parameter Settings: Regs/Clkens/Aclrs
Which ports When you select With On/Off Specifies whether to register
should be one read port and one the read or write input and
registered? write port, the output ports.
following options are
available:
• Write input ports
‘data_a’,
‘wraddress_a’, and
‘wren_a’
• Read input ports
'rdaddress' and
'rden'
• Read output port(s)
‘q_a’ and 'q_b'
When you select With
two read/write ports,
the following options
are available:
• Write input ports
‘data_a’,
‘wraddress_a’, and
‘wren_a’ write input
ports
• Read output port(s)
‘q’_a and ‘q_b’
Send Feedback
UG-M10MEMORY
5-14 RAM: 2-Port IP Core Parameters for MAX 10 Devices 2016.10.31
Create one clock enable signal for each On/Off Specifies whether to turn on
clock signal. the option to create one
clock enable signal for each
clock signal.
Send Feedback
UG-M10MEMORY
2016.10.31 RAM: 2-Port IP Core Parameters for MAX 10 Devices 5-15
Create an ‘aclr’ asynchronous clear for the On/Off Specifies whether to create
registered ports. an asynchronous clear port
for the registered ports.
Send Feedback
UG-M10MEMORY
5-16 RAM: 2-Port IP Core Parameters for MAX 10 Devices 2016.10.31
Send Feedback
UG-M10MEMORY
2016.10.31 RAM: 2-Port IP Core Parameters for MAX 10 Devices 5-17
Get x’s for write masked bytes instead of On/Off This option is automatically
old data when byte enable is used turned on when you select
the New Data value. This
option obtains ‘X’ on the
masked byte.
Parameter Settings: Mem Init
Send Feedback
UG-M10MEMORY
5-18 RAM: 2-Port IP Core Parameters for MAX 10 Devices 2016.10.31
The initial content file should conform to • PORT_A Specifies which port's
which port's dimension? • PORT_B dimension that the initial
content file should conform
to.
Send Feedback
2016.10.31
ROM: 1-PORT IP Core References
6
UG-M10MEMORY Subscribe Send Feedback
The ROM: 1-PORT IP core implements the single-port ROM memory mode.
Figure 6-1: ROM: 1-PORT IP Core Signals with the Single Clock Option Enabled
q[]
address[]
addressstall_a
rden
clock
clken
outaclr
inaclr
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10MEMORY
6-2 ROM: 1-PORT IP Core Signals For MAX 10 Devices 2016.10.31
Figure 6-2: ROM: 1-PORT IP Core Signals with the Dual Clock: Use Separate 'Input' and 'Output' Clocks
Option Enabled
q[]
address[]
addressstall_a
rden
inclock
inclocken
outclock
outclocken
outaclr
ROM: 1-PORT IP Core Signals For MAX 10 Devices inaclr
Send Feedback
UG-M10MEMORY
2016.10.31 ROM: 1-PORT IP Core Signals For MAX 10 Devices 6-3
Send Feedback
UG-M10MEMORY
6-4 ROM: 1-PORT IP Core Parameters for MAX 10 Devices 2016.10.31
Send Feedback
UG-M10MEMORY
2016.10.31 ROM: 1-PORT IP Core Parameters for MAX 10 Devices 6-5
Create an ‘aclr’ asynchronous clear for the On/Off Specifies whether to create
registered ports. an asynchronous clear port
for the registered ports.
More Options • 'address' port On/Off Specifies whether the
address and q ports are
• 'q' port
cleared by the aclr port.
Send Feedback
UG-M10MEMORY
6-6 ROM: 1-PORT IP Core Parameters for MAX 10 Devices 2016.10.31
Send Feedback
2016.10.31
ROM: 2-PORT IP Core References
7
UG-M10MEMORY Subscribe Send Feedback
This IP core implements the dual-port ROM memory mode. The dual-port ROM has almost similar
functional ports as single-port ROM. The difference is dual-port ROM has an additional address port for
read operation.
Figure 7-1: ROM: 2-PORT IP Core Signals with the Single Clock Option Enabled
q_a[]
address_a[]
q_b[]
rden_a
address_b[]
rden_b
addressstall_a
addressstall_b
clock
enable
aclr
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10MEMORY
7-2 ROM: 2-PORT IP Core References 2016.10.31
Figure 7-2: ROM: 2-PORT IP Core Signals with the Dual Clock: Use Separate 'Input' and 'Output' Clocks
Option Enabled
q_a[]
address_a[]
q_b[]
rden_a
address_b[]
rden_b
addressstall_a
addressstall_b
inclock
inclocken
outclock
outclocken
out_aclr
Figure 7-3: ROM: 2-PORT IP Core Signals with the Dual Clock: Use Separate Clocks for A and B Ports Option
Enabled
q_a[]
address_a[]
q_b[]
rden_a
address_b[]
rden_b
addressstall_a
addressstall_b
clock_a
enable_a
clock_b
enable_b
aclr_b
aclr_a
Send Feedback
UG-M10MEMORY
2016.10.31 ROM: 2-PORT IP Core Signals for MAX 10 Devices 7-3
rden_b Optional Read enable input for address_b port. The rden_b port is
supported depending on your selected memory mode and memory
block.
clock Yes The following list describes which of your memory clock must be
connected to the clock port, and port synchronization in different
clock modes:
• Single clock—Connect your single source clock to clock port.
All registered ports are synchronized by the same source clock.
• Read/Write—Connect your write clock to clock port. All
registered ports related to write operation, such as data_a port,
address_a port, wren_a port, and byteena_a port are
synchronized by the write clock.
• Input/Output—Connect your input clock to clock port. All
registered input ports are synchronized by the input clock.
• Independent clock—Connect your port A clock to clock port.
All registered input and output ports of port A are synchronized
by the port A clock.
addressstall_a Optional Address clock enable input to hold the previous address of
address_a port for as long as the addressstall_a port is high.
addressstall_b Optional Address clock enable input to hold the previous address of
address_b port for as long as the addressstall_b port is high.
Send Feedback
UG-M10MEMORY
7-4 ROM: 2-PORT IP Core Signals for MAX 10 Devices 2016.10.31
outclock Yes The following list describes which of your memory clock must be
connected to the outclock port, and port synchronization in
different clock modes:
• Single clock—Connect your single source clock to inclock port
and outclock port. All registered ports are synchronized by the
same source clock.
• Read/Write—Connect your read clock to outclock port. The
read clock synchronizes all registered ports related to read
operation, such as rdaddress port, rdren port, and q port.
• Input/Output—Connect your output clock to outclock port.
The output clock synchronizes the registered q port.
Send Feedback
UG-M10MEMORY
2016.10.31 ROM:2-Port IP Core Parameters For MAX 10 Devices 7-5
What should the memory block type be? Auto, M9K Specifies the memory block type.
The types of memory block that are
available for selection depends on
your target device.
Set the maximum block depth to Auto, 128, 256, 512, Specifies the maximum block depth
1024, 2048, 4096, 8192 in words.
Parameter Settings: Clks/Rd, Byte En
Send Feedback
UG-M10MEMORY
7-6 ROM:2-Port IP Core Parameters For MAX 10 Devices 2016.10.31
Create a ‘rden_a’ and 'rden_b' read enable On/Off Specifies whether to create read
signal enable signals.
Parameter Settings: Regs/Clkens/Aclrs
Which ports • Write input ports On/Off Specifies whether to register the read
should be • Read output port(s) or write input and output ports.
registered?
More Options • Input ports On/Off The read and write input ports are
turned on by default. You only need
• 'address_a' port to specify whether to register the Q
• 'address_b' port output ports.
• Q output ports
• ‘q_a’ port
• 'q_b' port
Create one clock enable signal for each On/Off Specifies whether to turn on the
clock signal. option to create one clock enable
signal for each clock signal.
Send Feedback
UG-M10MEMORY
2016.10.31 ROM:2-Port IP Core Parameters For MAX 10 Devices 7-7
Create an ‘aclr’ asynchronous clear for the On/Off Specifies whether to create an
registered ports. asynchronous clear port for the
registered ports.
More Options • ‘q_a’ port On/Off Specifies whether the ‘q_a’, and ‘q_b’
• ‘q_b’ port ports are cleared by the aclr port.
Send Feedback
UG-M10MEMORY
7-8 ROM:2-Port IP Core Parameters For MAX 10 Devices 2016.10.31
The initial content file should conform to • PORT_A Specifies which port's dimension
which port's dimension? • PORT_B that the initial content file should
conform to.
Send Feedback
2016.10.31
Shift Register (RAM-based) IP Core References
8
UG-M10MEMORY Subscribe Send Feedback
The Shift Register (RAM-based) IP core contains additional features not found in a conventional shift
register. You can use the memory blocks as a shift-register block to save logic cells and routing resources.
You can cascade memory blocks to implement larger shift registers.
Figure 8-1: Shift Register (RAM-based) IP Core Signals
shift_in[] shiftout[]
clock taps[]
clken
aclr
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10MEMORY
8-2 Shift Register (RAM-based) IP Core Parameters for MAX 10 Devices 2016.10.31
Table 8-3: Shift Register (RAM-based) IP Core Parameters for MAX 10 Devices
This table lists the IP core parameters applicable to MAX 10 devices.
Option Values Description
How wide should the "shiftin" input and 1, 2, 3, 4, 5, 6, 7, 8, 12, 16, 24, Specifies the width of the
the "shiftout" output buses be? 32, 48, 64, 96, 128, 192, and input pattern.
256.
How many taps would you like? 1, 2, 3, 4, 5, 6, 7, 8, 12, 16, 24, Specifies the number of
32, 48, 64, 96, and 128. regularly spaced taps along
the shift register.
Create groups for each tap output On/Off Creates groups for each tap
output.
How wide should the distance between 3, 4, 5, 6, 7, 8, 16, 32, 64, and Specifies the distance
taps be? 128 between the regularly spaced
taps in clock cycles. This
number translates to the
number of RAM words that
will be used. The value must
be at least 3.
Create a clock enable port On/Off Creates the clken port
Create an asynchronous clear port On/Off Creates the aclr port.
What should the RAM block type be? Auto, M9K Specifies the RAM block
type.
Send Feedback
2016.10.31
FIFO IP Core References
9
UG-M10MEMORY Subscribe Send Feedback
The FIFO IP core implements the FIFO mode, enabling you to use the memory blocks as FIFO buffers.
• Use the FIFO IP core in single clock FIFO (SCFIFO) and dual clock FIFO (DCFIFO) modes to
implement single- and dual-clock FIFO buffers in your design.
• Dual clock FIFO buffers are useful when transferring data from one clock domain to another clock
domain.
• The M9K memory blocks do not support simultaneous read and write from an empty FIFO buffer.
Figure 9-1: FIFO IP Core: SCFIFO Mode Signals
data[] q[]
wrreq full
rdreq almost_full
clock empty
almost_empty
usedw[]
sclr
aclr
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10MEMORY
9-2 FIFO IP Core Signals for MAX 10 Devices 2016.10.31
data[] wrfull
wrreq wrempty
wrclk wrusedw[]
q[]
rdreq rdfull
rdclk rdempty
rdusedw[]
aclr
data Yes Holds the data to be written in the FIFO IP core when the wrreq
signal is asserted.
If you manually instantiate the FIFO IP core, ensure that the port
width is equal to the How wide should the FIFO be? parameter.
Send Feedback
UG-M10MEMORY
2016.10.31 FIFO IP Core Signals for MAX 10 Devices 9-3
rdreq Yes Assert this signal to request for a read operation. The rdreq signal
acts differently in normal synchronous FIFO mode and show-ahead
mode synchronous FIFO modes.
Ensure that the following conditions are met:
• Do not assert the rdreq signal when the empty (for the FIFO IP
core in SCFIFO mode) or rdempty (for the FIFO IP core in
DCFIFO mode) port is high. Enable the underflow protection
circuitry or turn on the Disable underflow checking. Reading
from an empty FIFO will corrupt contents parameter so that the
FIFO IP core can automatically disable the rdreq signal when it is
empty.
The rdreq signal must meet the functional timing requirement based
on the empty or rdempty signal.
sclr No Assert this signal to clear all the output status ports, but the effect on
the q output may vary for different FIFO configurations. There are no
aclr No minimum number of clock cycles for aclr signals that must remain
active.
Send Feedback
UG-M10MEMORY
9-4 FIFO IP Core Parameters for MAX 10 Devices 2016.10.31
(1)
Applicable in DCFIFO_MIXED_WIDTHS mode only.
Send Feedback
UG-M10MEMORY
2016.10.31 FIFO IP Core Parameters for MAX 10 Devices 9-5
(2)
Applicable in DCFIFO mode only.
Send Feedback
UG-M10MEMORY
9-6 FIFO IP Core Parameters for MAX 10 Devices 2016.10.31
Send Feedback
UG-M10MEMORY
2016.10.31 FIFO IP Core Parameters for MAX 10 Devices 9-7
Currently selected device intended_ Specifies the intended device that matches the device set in
family device_family your Quartus Prime project. Use this parameter only for
functional simulation.
(3)
Applicable in SCFIFO mode only.
Send Feedback
2016.10.31
ALTMEMMULT IP Core References
10
UG-M10MEMORY Subscribe Send Feedback
The ALTMEMMULT IP core creates only memory-based multipliers using on-chip memory blocks found
in M9K memory blocks.
Figure 10-1: ALTMEMMULT IP Core Signals
data_in[] result[]
coeff_in[] load_done
sload_coeff
sclr
clock
sclr No Synchronous clear input. If unused, the default value is active high.
sel[] No Fixed coefficient selection. The size of the input port depends on the
WIDTH_S parameter value.
sload_coeff No Synchronous load coefficient input port. Replaces the current selected
coefficient value with the value specified in the coeff_in input.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10MEMORY
10-2 ALTMEMMULT IP Core Parameters for MAX 10 Devices 2016.10.31
load_done No Indicates when the new coefficient has finished loading. The load_done
signal asserts when a new coefficient has finished loading. Unless the load_
done signal is high, no other coefficient value can be loaded into the
memory.
Send Feedback
2016.10.31
Additional Information for MAX 10 Embedded
Memory User Guide A
UG-M10MEMORY Subscribe Send Feedback
November 2015 2015.11.02 • Revised the title for the tables in the Embedded Memory Configu‐
ration topic.
• Added a link to the MAX 10 FPGA Device Overview in the
Consider Power-Up State and Memory Initialization topic.
• Changes instances of Quartus II to Quartus Prime.
May 2015 2015.05.04 • Updated 'Yes, use this file for the memory content data' parameter
note for RAM:1-Port, RAM:2-Port, ROM:1-Port, and ROM:2-Port.
• Added information about the internal configuration mode that
supports memory initialization in 'Consider Power-Up State and
Memory Initialization'
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
MAX 10 Embedded Multipliers User
Guide
Contents
Altera Corporation
2015.11.02
Embedded Multiplier Block Overview
1
UG-M10DSP Subscribe Send Feedback
The embedded multiplier is configured as either one 18 x 18 multiplier or two 9 x 9 multipliers. For
multiplications greater than 18 x 18, the Quartus® Prime software cascades multiple embedded multiplier
blocks together. There are no restrictions on the data width of the multiplier but the greater the data
width, the slower the multiplication process.
Figure 1-1: Embedded Multipliers Arranged in Columns with Adjacent LABS
Embedded
Multiplier
Column
1 LAB Embedded
Row Multiplier
(1)
These columns show the number of 9 x 9 or 18 x 18 multipliers for each device. The total number of
multipliers for each device is not the sum of all the multipliers.
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10DSP
1-2 Embedded Multiplier Block Overview 2015.11.02
You can implement soft multipliers by using the M9K memory blocks as look-up tables (LUTs). The
LUTs contain partial results from multiplying input data with coefficients implementing variable depth
and width high-performance soft multipliers for low-cost, high-volume DSP applications. The availability
of soft multipliers increases the number of available multipliers in the device.
(1)
These columns show the number of 9 x 9 or 18 x 18 multipliers for each device. The total number of
multipliers for each device is not the sum of all the multipliers.
(2)
Soft multipliers are implemented in sum of multiplication mode. M9K memory blocks are configured with
18-bit data widths to support 16-bit coefficients. The sum of the coefficients requires 18-bits of resolution to
account for overflow.
(3)
The total number of multipliers may vary, depending on the multiplier mode you use.
Send Feedback
2015.11.02
Embedded Multipliers Features and
Architecture 2
UG-M10DSP Subscribe Send Feedback
Each embedded multiplier consists of three elements. Depending on the application needs, you can use an
embedded multiplier block in one of two operational modes.
signa
signb
aclr
clock
ena
Data A D Q
ENA
Data Out
D Q
CLRN ENA
CLRN
Data B D Q
ENA Output
Input Register
CLRN Register
Embedded Multiplier Block
Input Register
Depending on the operational mode of the multiplier, you can send each multiplier input signal into
either one of the following:
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10DSP
2-2 Multiplier Stage 2015.11.02
• An input register
• The multiplier in 9- or 18-bit sections
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 to 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 and other
multipliers in 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.
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.
The following table lists 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.
Data A Data B
Result
signa Value Logic Level signb Value Logic Level
Unsigned Low Unsigned Low Unsigned
Unsigned Low Signed High Signed
Signed High Unsigned Low Signed
Signed High Signed High Signed
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.
When the signa and signb signals are unused, the Quartus Prime software sets the multiplier to perform
unsigned multiplication by default.
Output Register
You can register the embedded multiplier output using output registers in either 18- or 36-bit sections.
This depends on the operational mode of the multiplier. The following control signals are available for
each output register in the embedded multiplier:
Send Feedback
UG-M10DSP
2015.11.02 Embedded Multipliers Operational Modes 2-3
• 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.
18-Bit Multipliers
You can configure each embedded multiplier to support a single 18 x 18 multiplier for input widths of 10
to 18 bits.
The following figure shows the embedded multiplier configured to support an 18-bit multiplier.
Figure 2-2: 18-Bit Multiplier Mode
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 x 18 Multiplier
Embedded Multiplier
Send Feedback
UG-M10DSP
2-4 9-Bit Multipliers 2015.11.02
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.
The following figure shows the embedded multiplier configured to support two 9-bit multipliers.
Figure 2-3: 9-Bit Multiplier Mode
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 x 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 x 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.
Send Feedback
UG-M10DSP
2015.11.02 9-Bit Multipliers 2-5
Each embedded multiplier block has only one signa and one signb signal to control the sign representa‐
tion of the input data to the block. If the embedded multiplier block has two 9 × 9 multipliers the
following applies:
• The Data A input of both multipliers share the same signa signal
• The Data B input of both multipliers share the same signb signal
Send Feedback
2015.11.02
Embedded Multipliers Implementation Guides
3
UG-M10DSP Subscribe Send Feedback
The Quartus Prime software contains tools for you to create and compile your design, and configure your
device.
You can prepare for device migration, set pin assignments, define placement restrictions, setup timing
constraints, and customize IP cores using the Quartus Prime software.
Related Information
• Introduction to Altera IP Cores
Provides general information about all Altera IP cores, including parameterizing, generating,
upgrading, and simulating IP.
• Creating Version-Independent IP and Qsys Simulation Scripts
Create simulation scripts that do not require manual updates for software or IP version upgrades.
• Project Management Best Practices
Guidelines for efficient management and portability of your project and IP files.
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10DSP
3-2 VHDL Component Declaration Location 2015.11.02
Send Feedback
2015.11.02
LPM_MULT (Multiplier) IP Core References
4
UG-M10DSP Subscribe Send Feedback
How wide should the LPM_ — 1–256 Specifies the width of the
‘dataa’ input be? WIDTHA dataa[] port.
How wide should the LPM_ — 1–256 Specifies the width of the
‘datab’ input be? WIDTHB datab[] port.
How should the width of LPM_ — • Automatically Specifies how the result
the ‘result’ output be WIDTHP calculate the width is determined.
determined? width
• Restrict the
width to [] bits
How should the width of LPM_ How should the 1–256 You can set the result
the ‘result’ output be WIDTHP width of the width.
determined? > ‘result’ output
be determined? >
Restrict the width to []
bits Restrict the width
to [] bits = On
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10DSP
4-2 LPM_MULT Parameter Settings 2015.11.02
Send Feedback
UG-M10DSP
2015.11.02 Ports 4-3
Ports
Table 4-4: LPM_MULT Input Ports
Send Feedback
2015.11.02
ALTMULT_ACCUM (Multiply-Accumulate) IP
Core References 5
UG-M10DSP Subscribe Send Feedback
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10DSP
5-2 ALTMULT_ACCUM Parameter Settings 2015.11.02
‘signb’ input controls PORT_SIGNB Input More Options High ‘signb’ input
the sign (1 signed/0 Representation > indicates signed and
unsigned) What is the low ‘signb’ input
representation indicates unsigned.
format for B
inputs? =
Variable
Register ‘signb’ input — Input On or Off Turn on this option if
Representation > you want to enable the
More Options register of ‘signb’
input
Add an extra pipeline — Input On or Off Turn on this option if
register Representation > you want to enable the
More Options extra pipeline register
Send Feedback
UG-M10DSP
2015.11.02 ALTMULT_ACCUM Parameter Settings 5-3
Send Feedback
UG-M10DSP
5-4 ALTMULT_ACCUM Parameter Settings 2015.11.02
What is the source for INPUT_ACLR_ • Input • Aclr0–Aclr2 Specifies the asynchro‐
asynchronous clear A Configuration • None nous clear port for the
input? > Register dataa[] port.
input A of the
multiplier =
On
• Input
Configuration
> More
Options
Send Feedback
UG-M10DSP
2015.11.02 ALTMULT_ACCUM Parameter Settings 5-5
What is the source for INPUT_ACLR_ • Input • Aclr0–Aclr2 Specifies the asynchro‐
asynchronous clear B Configuration • None nous clear port for the
input? > Register datab[] port.
input B of the
multiplier =
On
• Input
Configuration
> More
Options
Send Feedback
UG-M10DSP
5-6 ALTMULT_ACCUM Parameter Settings 2015.11.02
Send Feedback
UG-M10DSP
2015.11.02 ALTMULT_ACCUM Parameter Settings 5-7
Input Register > What ACCUM_ • Accumulator • Aclr0–Aclr2 Specifies the asynchro‐
is the source for SLOAD_ACLR > Create an • None nous clear source for
asynchronous clear ‘accum_ the first register on the
input? sload’ input accum_sload input.
port = On
• Accumulator
> More
Options
Pipeline Register > ACCUM_ • Accumulator • Aclr0–Aclr2 Specifies the source for
What is the source for SLOAD_ > Create an • None asynchronous clear
asynchronous clear PIPELINE_ ‘accum_soad’ input.
input? ACLR input port =
On
• Accumulator
> More
Options
Send Feedback
UG-M10DSP
5-8 ALTMULT_ACCUM Ports 2015.11.02
ALTMULT_ACCUM Ports
Table 5-5: ALTMULT_ACCUM IP Core Input Ports
aclr0 No The first asynchronous clear input. The aclr0 port is active
high.
aclr1 No The second asynchronous clear input. The aclr1 port is
active high.
aclr2 No The third asynchronous clear input. The aclr2 port is active
high.
aclr3 No The fourth asynchronous clear input. The aclr3 port is active
high.
addnsub No Controls the functionality of the adder. If the addnsub port is
high, the adder performs an add function; if the addnsub port
is low, the adder performs a subtract function.
clock0 No Specifies the first clock input, usable by any register in the IP
core.
clock1 No Specifies the second clock input, usable by any register in the
IP core.
clock2 No Specifies the third clock input, usable by any register in the IP
core.
clock3 No Specifies the fourth clock input, usable by any register in the
IP core.
dataa[] Yes Data input to the multiplier. The size of the input port
depends on the WIDTH_A parameter value.
datab[] Yes Data input to the multiplier. The size of the input port
depends on the WIDTH_B parameter value.
ena0 No Clock enable for the clock0 port.
ena1 No Clock enable for the clock1 port.
ena2 No Clock enable for the clock2 port.
ena3 No Clock enable for the clock3 port.
Send Feedback
UG-M10DSP
2015.11.02 ALTMULT_ACCUM Ports 5-9
scanoutb[] No Output of the second shift register. The size of the input port
depends on the WIDTH_B parameter value. When instantiating
the ALTMULT_ACCUM IP core with the MegaWizard Plug-
In Manager, the MegaWizard Plug-In Manager renames the
scanoutb[] port to shiftoutb port.
Send Feedback
2015.11.02
ALTMULT_ADD (Multiply-Adder) IP Core
References 6
UG-M10DSP Subscribe Send Feedback
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10DSP
6-2 ALTMULT_ADD Parameter Settings 2015.11.02
‘signa’ input controls PORT_SIGNA Input More Options High ‘signa’ input
the sign (1 signed/0 Representation > indicates signed and
unsigned) What is the low ‘signa’ input
representation indicates unsigned.
format for A
inputs? =
Variable
Register ‘signa’ input — Input On or Off Turn on this option if
Representation > you want to enable the
More Options register of ‘signa’
input
Add an extra pipeline — Input On or Off Turn on this option if
register Representation > you want to enable the
More Options extra pipeline register
Input Register > What SIGNED_ Input Clock0–Clock3 Specifies the source for
is the source for clock REGISTER_A Representation > clock input.
input? More Options
Input Register > What SIGNED_ Input • Aclr0–Aclr2 Specifies the source for
is the source for ACLR_A Representation > • None asynchronous clear
asynchronous clear More Options input.
input?
Pipeline Register > SIGNED_ Input Clock0–Clock3 Specifies the source for
What is the source for PIPELINE_ Representation > clock input.
clock input? REGISTER_A More Options
Pipeline Register > SIGNED_ Input • Aclr0–Aclr2 Specifies the source for
What is the source for PIPELINE_ Representation > • None asynchronous clear
asynchronous clear ACLR_A More Options input.
input?
What is the representa‐ REPRESENTATI — • Signed Specifies the represen‐
tion format for B ONS_B • Unsigned tation format for B
inputs? inputs.
• Variable
‘signb’ input controls PORT_SIGNB Input More Options High ‘signb’ input
the sign (1 signed/0 Representation > indicates signed and
unsigned) What is the low ‘signb’ input
representation indicates unsigned.
format for B
inputs? =
Variable
Send Feedback
UG-M10DSP
2015.11.02 ALTMULT_ADD Parameter Settings 6-3
Send Feedback
UG-M10DSP
6-4 ALTMULT_ADD Parameter Settings 2015.11.02
What operation should MUTIPLIER1_ General > What • Add Specifies whether the
be performed on DIRECTION is the number of • Subtract second multiplier adds
outputs of the first pair multipliers? = 2, or subtracts its value
of multipliers? 3, or 4 • Variable from the sum. Values
are add and subtract. If
Variable is selected the
addnsub1 port is used.
Send Feedback
UG-M10DSP
2015.11.02 ALTMULT_ADD Parameter Settings 6-5
Send Feedback
UG-M10DSP
6-6 ALTMULT_ADD Parameter Settings 2015.11.02
What is the source for INPUT_ACLR_ • Input • Aclr0–Aclr2 Specifies the source for
asynchronous clear A[0..3] Configuration • None asynchronous clear
input? > Register input.
input A of the
multiplier =
On
• Input
Configuration
> More
Options
Send Feedback
UG-M10DSP
2015.11.02 ALTMULT_ADD Parameter Settings 6-7
What is the source for INPUT_ACLR_ • Input • Aclr0–Aclr2 Specifies the source for
asynchronous clear B[0..3] Configuration • None asynchronous clear
input? > Register input.
input B of the
multiplier =
On
• Input
Configuration
> More
Options
Send Feedback
UG-M10DSP
6-8 ALTMULT_ADD Ports 2015.11.02
ALTMULT_ADD Ports
Table 6-4: ALTMULT_ADD IP Core Input Ports
clock[] No Clock input port [0..3] to the corresponding register. This port can be
used by any register in the IP core.
aclr[] No Input port [0..3]. Asynchronous clear input to the corresponding
register.
ena[] No Input port [0..3]. Clock enable for the corresponding clock[] port.
signa No Specifies the numerical representation of the dataa[] port. If the signa
port is high, the multiplier treats the dataa[] port as a signed two's
complement number. If the signa port is low, the multiplier treats the
dataa[] port as an unsigned number.
signb No Specifies the numerical representation of the datab[] port. If the signb
port is high, the multiplier treats the datab[] port as a signed two's
complement number. If the signb port is low, the multiplier treats the
datab[] port as an unsigned number.
Send Feedback
2015.11.02
ALTMULT_COMPLEX (Complex Multiplier) IP
Core References 7
UG-M10DSP Subscribe Send Feedback
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10DSP
7-2 Ports 2015.11.02
Ports
Table 7-3: ALTMULT_COMPLEX Input Ports
Send Feedback
UG-M10DSP
2015.11.02 Ports 7-3
Send Feedback
2015.11.02
Additional Information for MAX 10 Embedded
Multipliers User Guide A
UG-M10DSP Subscribe Send Feedback
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
MAX 10 Clocking and PLL User Guide
Contents
Altera Corporation
TOC-3
Additional Information for MAX 10 Clocking and PLL User Guide............... A-1
Document Revision History for MAX 10 Clocking and PLL User Guide.......................................... A-1
Altera Corporation
2015.11.02
MAX 10 Clocking and PLL Overview
1
UG-M10CLKPLL Subscribe Send Feedback
PLLs Overview
Phase-locked loops (PLLs) provide robust clock management and synthesis for device clock management,
external system clock management, and I/O interface clocking.
You can use the PLLs as follows:
• Zero-delay buffer
• Jitter attenuator
• Low-skew fan-out buffer
• Frequency synthesizer
• Reduce the number of oscillators required on the board
• Reduce the clock pins used in the device by synthesizing multiple clock frequencies from a single
reference clock source
• On-chip clock de-skew
• Dynamic phase shift
• Counters reconfiguration
• Bandwidth reconfiguration
• Programmable output duty cycle
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10CLKPLL
1-2 PLLs Overview 2015.11.02
• PLL cascading
• Reference clock switchover
• Drive the analog-to-digital converter (ADC) clock
Send Feedback
2015.11.02
MAX 10 Clocking and PLL Architecture and
Features 2
UG-M10CLKPLL Subscribe Send Feedback
The DPCLK pins are only available on the left and right of the I/O banks.
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10CLKPLL
2-2 Clock Resources 2015.11.02
Clock Resources
Table 2-1: MAX 10 Clock Resources
For more information about the clock input pins connections, refer to the pin connection guidelines.
Related Information
MAX 10 FPGA Device Family Pin Connection Guidelines
CLK0n GCLK[1,2]
CLK1p GCLK[1,3,4]
CLK1n GCLK[0,3]
CLK2p GCLK[5,7,9]
CLK2n GCLK[6,7]
CLK3p GCLK[6,8,9]
CLK3n GCLK[5,8]
CLK4p(1) GCLK[10,12,14]
CLK4n(1) GCLK[11,12]
(1)
CLK5p GCLK[11,13,14]
CLK5n(1) GCLK[10,13]
CLK6p(1) GCLK[15,17,19]
(1)
This only applies to 10M16, 10M25, 10M40, and 10M50 devices.
Send Feedback
UG-M10CLKPLL
2015.11.02 Global Clock Network Sources 2-3
CLK7n(1) GCLK[15,18]
DPCLK0 GCLK[0,2]
DPCLK1 GCLK[1,3,4]
DPCLK2 GCLK[5,7]
DPCLK3 GCLK[6,8,9]
Figure 2-1: GCLK Network Sources for 10M02, 10M04, and 10M08 Devices
DPCLK2
DPCLK3
GCLK[0..4] GCLK[5..9]
CLK[0,1][p,n] CLK[2,3][p,n]
DPCLK0
DPCLK1
Send Feedback
UG-M10CLKPLL
2-4 Global Clock Control Block 2015.11.02
Figure 2-2: GCLK Network Sources for 10M16, 10M25, 10M40, and 10M50 Devices
CLK[4,5][p,n]
GCLK[10..14]
DPCLK2
DPCLK3
GCLK[0..4] GCLK[5..9]
CLK[0,1][p,n] CLK[2,3][p,n]
DPCLK0
DPCLK1
GCLK[15..19]
CLK[6,7][p,n]
Input Description
Dedicated clock input pins Dedicated clock input pins can drive clocks or
global signals, such as synchronous and asynchro‐
nous clears, presets, or clock enables onto given
GCLKs.
Send Feedback
UG-M10CLKPLL
2015.11.02 Global Clock Control Block 2-5
Input Description
DPCLK pins DPCLK pins are bidirectional dual function pins that
are used for high fan-out control signals, such as
protocol signals, TRDY and IRDY signals for PCI via
the GCLK. Clock control blocks that have inputs
driven by DPCLK pins cannot drive PLL inputs.
PLL counter outputs PLL counter outputs can drive the GCLK.
Internal logic You can drive the GCLK through logic array
routing to enable the internal logic elements (LEs)
to drive a high fan-out, low-skew signal path. Clock
control blocks that have inputs driven by internal
logic cannot drive PLL 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] inclk0 PLL C2
CLK[n + 1]
CLK[n] C3
C4
clkswitch (1) clkselect[1..0] (2) Internal Logic (4)
C0
C1
inclk1 fIN
inclk0 PLL C2
C3
C4
clkswitch (1)
Notes:
(1) The clkswitch signal can either be set through the configuration file or dynamically set when using the manual PLL switchover
feature. The output of the multiplexer is the input clock (fIN) for the PLL.
(2) The clkselect[1..0] signals are fed by internal logic. You can use the clkselect[1..0] signals to dynamically select the clock source for
the GCLK when the device is in user mode. Only one PLL (applicable to PLLs on the same side) can be selected as the clock source to
the GCLK.
(3) The static clock select signals are set in the configuration file. Therefore, dynamic control when the device is in user mode is not
feasible.
(4) You can use internal logic to enable or disable the GCLK in user mode.
Each MAX 10 device has a maximum of 20 clock control blocks. There are five clock control blocks on
each side of the device.
Send Feedback
UG-M10CLKPLL
2-6 Global Clock Network Power Down 2015.11.02
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.
From the Clock Control Block Inputs table, only the following inputs can drive into any given clock
control block:
• Two dedicated clock input pins
• Two PLL counter outputs
• One DPCLK pin
• One source from internal logic
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.
Normal I/O pins cannot drive the PLL input clock port.
Figure 2-4: Clock Control Block on Each Side of the Device
4
Clock Input Pins
PLL Outputs 5 Clock 5
4 Control GCLK
DPCLK Block
Internal Logic 5
Out of these five 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.
Related Information
• ALTCLKCTRL Parameters on page 5-1
• ALTCLKCTRL Ports and Signals on page 5-2
Send Feedback
UG-M10CLKPLL
2015.11.02 Clock Enable Signals 2-7
Related Information
• ALTCLKCTRL Parameters on page 5-1
• ALTCLKCTRL Ports and Signals on page 5-2
clkena D Q clkena_out
clkin
clk_out
Note: The clkena circuitry controlling the C0 output of the PLL to an output pin is implemented with
two registers instead of a single register.
The clkena signal is sampled on the falling edge of the clock (clkin). 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.
Send Feedback
UG-M10CLKPLL
2-8 Internal Oscillator Architecture and Features 2015.11.02
Related Information
• Guideline: Clock Enable Signals on page 3-1
• ALTCLKCTRL Parameters on page 5-1
• ALTCLKCTRL Ports and Signals on page 5-2
When the oscena input signal is asserted, the oscillator is enabled and the output can be routed to the
logic array through the clkout output signal. When the oscena signal is set low, the clkout signal is
constant high. You can analyze this delay using the TimeQuest timing analyzer.
pfdena ÷M
GCLK
Source-Synchronous; Normal Mode networks
Notes:
(1) This is the VCO post-scale counter K.
(2) Only counter C0 of PLL1 and PLL3 can drive the ADC clock.
Send Feedback
UG-M10CLKPLL
2015.11.02 PLL Architecture 2-9
PLL Outputs
The MAX 10 PLL supports up to 5 GCLK outputs and 1 dedicated external clock output. The output
frequency, fOUT, to the GCLK network or dedicated external clock output is determined using the
following equation:
fREF = fIN/N and
fOUT = fVCO/C = (fREF × M)/C = (fIN × M)/(N × C),
where C is the setting on the C0, C1, C2, C3, or C4 counter.
Send Feedback
UG-M10CLKPLL
2-10 PLL Features 2015.11.02
PLL Features
Table 2-4: MAX 10 PLL Features
Feature Support
C output counters 5
M, N, C counter sizes 1 to 512 (2)
Dedicated clock outputs 1 single-ended or 1 differential
Dedicated clock input pins 4 single-ended or 2 differential
Spread-spectrum input clock tracking Yes (3)
PLL cascading Through GCLK
Source synchronous compensation Yes
No compensation mode Yes
Normal compensation Yes
Zero-delay buffer compensation Yes
Phase shift resolution Down to 96 ps increments (4)
Programmable duty cycle Yes
Output counter cascading Yes
Input clock switchover Yes
User mode reconfiguration Yes
Loss of lock detection Yes
4:1 multiplexer CLK input selection Yes
PLL Locations
The following figures show the physical locations of the PLLs. Every index represents one PLL in the
device. The physical locations of the PLLs correspond to the coordinates in the Quartus Prime Chip
Planner.
(2)
C counters range from 1 through 512 if the output clock uses a 50% duty cycle. For any output clocks using a
non-50% duty cycle, the post-scale counters range from 1 through 256.
(3)
Only applicable if the input clock jitter is in the input jitter tolerance specifications.
(4)
The smallest phase shift is determined by the VCO period divided by eight. For degree increments, the
MAX 10 device family can shift all output frequencies in increments of at least 45°. Smaller degree
increments are possible depending on the frequency and divide parameters.
Send Feedback
UG-M10CLKPLL
2015.11.02 PLL Locations 2-11
Bank 1
Bank 6
Bank 2
Bank 5
PLL 1 (1) Bank 3
Notes:
(1) Available on all packages except V36 package.
(2) Available on U324 and V36packages only.
Bank 6
Bank 2
Bank 5
Notes:
(1) Available on all packages except V81 package.
(2) Available on F256, F484, U324, and V81 packages only.
Send Feedback
UG-M10CLKPLL
2-12 Clock Pin to PLL Connections 2015.11.02
Figure 2-10: PLL Locations for 10M16, 10M25, 10M40 and 10M50 Devices
Bank 1B Bank 1A
Bank 6
Bank 5
Bank 2
OCT
Note:
(1) Available on all packages except E144 and U169 packages.
PLL1_C1 GCLK[1,4,16,19]
PLL1_C2 GCLK[0,2,15,17]
PLL1_C3 GCLK[1,3,16,18]
PLL1_C4 GCLK[2,4,17,19]
PLL2_C0 GCLK[5,8,10,13]
Send Feedback
UG-M10CLKPLL
2015.11.02 PLL Control Signals 2-13
PLL2_C2 GCLK[5,7,10,12]
PLL2_C3 GCLK[6,8,11,13]
PLL2_C4 GCLK[7,9,12,14]
PLL3_C0(5) GCLK[0,3,10,13]
PLL3_C1(5) GCLK[1,4,11,14]
(5)
PLL3_C2 GCLK[0,2,10,12]
PLL3_C3(5) GCLK[1,3,11,13]
PLL3_C4(5) GCLK[2,4,12,14]
(5)
PLL4_C0 GCLK[5,8,15,18]
PLL4_C1(5) GCLK[6,9,16,19]
PLL4_C2(5) GCLK[5,7,15,17]
PLL4_C3(5) GCLK[6,8,16,18]
PLL4_C4(5) GCLK[7,9,17,19]
pfdena
Use the pfdena signal to maintain the last locked frequency so that your system has time to store its
current settings before shutting down.
The pfdena signal controls the PFD output with a programmable gate. The PFD circuit is enabled by
default. When the PFD circuit is disabled, the PLL output does not depend on the input clock, and tends
to drift outside of the lock window.
areset
The areset signal is the reset or resynchronization input for each PLL. The device input pins or internal
logic can drive these input signals.
When you assert the areset signal, the PLL counters reset, clearing the PLL output and placing the PLL
out of lock. The VCO is then set back to its nominal setting. When the areset signal is deasserted, the
PLL resynchronizes to its input as it relocks.
The assertion of the areset signal does not disable the VCO, but instead resets the VCO to its nominal
value. The only time that the VCO is completely disabled is when you do not have a PLL instantiated in
your design.
(5)
This only applies to 10M16, 10M25, 10M40, and 10M50 devices.
Send Feedback
UG-M10CLKPLL
2-14 Clock Feedback Modes 2015.11.02
locked
The locked output indicates that the PLL has locked onto the reference clock and the PLL clock outputs
are operating at the desired phase and frequency set in the ALTPLL IP core parameter editor.
Altera recommends using the areset and locked signals in your designs to control and observe the status
of your PLL. This implementation is illustrated in the following figure.
Figure 2-11: locked Signal Implementation
locked
VCC
DFF
PLL D Q
locked
areset
Note: If you use the SignalTap® II tool to probe the locked signal before the D flip-flop, the locked
signal goes low only when areset is deasserted. If the areset signal is not enabled, the extra logic
is not implemented in the ALTPLL IP core.
Related Information
• Guideline: PLL Control Signals on page 3-2
• PLL Control Signals Parameter Settings on page 6-2
• ALTPLL Ports and Signals on page 6-6
When driving the PLL using the GCLK network, the input and output delays might not be fully
compensated in the Quartus Prime software.
Related Information
Operation Modes Parameter Settings on page 6-1
Send Feedback
UG-M10CLKPLL
2015.11.02 Source Synchronous Mode 2-15
Data pin
PLL reference
clock at input pin
Data at register
Clock at register
Source synchronous mode compensates for clock network delay, including any difference in delay
between the following two paths:
• Data pin to I/O element register input
• Clock input pin to the PLL PFD input
For all data pins clocked by a source synchronous mode PLL, set the input pin to the register delay chain
in the I/O element to zero in the Quartus Prime software. All data pins must use the PLL
COMPENSATED logic option in the Quartus Prime software.
No Compensation Mode
In no compensation mode, the PLL does not compensate for any clock networks. This mode 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.
Send Feedback
UG-M10CLKPLL
2-16 Normal Mode 2015.11.02
Figure 2-13: Example of Phase Relationship Between the PLL Clocks in No Compensation Mode
Phase Aligned
PLL Reference
Clock at the Input Pin
Notes:
(1) Internal clocks fed by the PLL are phase-aligned to each other.
(2) The PLL clock outputs can lead or lag the PLL input clocks. The PLL clock outputs lag the
PLL input clocks depending on the routine delays.
Normal Mode
In normal mode, the PLL fully compensates the delay introduced by the GCLK network. An internal clock
in normal mode is phase-aligned to the input clock pin. In this mode, the external clock output pin has a
phase delay relative to the input clock pin. The Quartus Prime software timing analyzer reports any phase
difference between the two.
Figure 2-14: Example of Phase Relationship Between the PLL Clocks in Normal Compensation Mode
Phase Aligned
PLL Reference
Clock at the Input pin
Note:
(1) The external clock output can lead or lag the PLL internal clock signals.
Send Feedback
UG-M10CLKPLL
2015.11.02 Zero-Delay Buffer Mode 2-17
Phase Aligned
PLL Clock
at the Register Clock Port
Send Feedback
UG-M10CLKPLL
2-18 PLL External Clock Output 2015.11.02
C0
C1
C2
PLL # C3
C4
clkena 0 (1)
clkena 1 (1)
Each pin of a differential output pair is 180° out of phase. To implement the 180° out-of-phase pin in a
pin pair, the Quartus Prime software places a NOT gate in the design into the I/O element.
The clock output pin pairs support the following I/O standards:
• Same I/O standard as the standard output pins (in the top and bottom banks)
• LVDS
• LVPECL
• Differential high-speed transceiver logic (HSTL)
• Differential SSTL
The MAX 10 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 you do not require any external PLL clocking.
Related Information
MAX 10 General Purpose I/O User Guide
Provides more information about the I/O standards supported by the PLL clock output pins.
Send Feedback
UG-M10CLKPLL
2015.11.02 ADC Clock Input from PLL 2-19
Spread-Spectrum Clocking
The MAX 10 devices allow 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.
The MAX 10 PLLs can track a spread-spectrum input clock if the input signal meets the following
conditions:
• The input signal is within the input jitter tolerance specifications.
• The modulation frequency of the input clock is below the PLL bandwidth as specified in the Fitter
report.
MAX 10 devices cannot generate spread-spectrum signals internally.
Related Information
Post-Scale Counters (C0 to C4) on page 4-4
Provides more information about configuring the duty cycle of the post-scale counters in real time.
Programmable Bandwidth
The PLL bandwidth is the measure of the PLL’s ability to track the input clock and its associated jitter.
The MAX 10 PLLs provide advanced control of the PLL bandwidth using the programmable characteris‐
tics of the PLL loop, including loop filter and charge pump. The 3-dB frequency of the closed-loop gain in
the PLL determines the PLL bandwidth. The bandwidth is approximately the unity gain point for open
loop PLL response.
Related Information
• Programmable Bandwidth with Advanced Parameters on page 4-3
Send Feedback
UG-M10CLKPLL
2-20 Programmable Phase Shift 2015.11.02
For example, if fREF is 100 MHz, N = 1, and M = 8, then fVCO = 800 MHz, and Φfine = 156.25 ps. The PLL
operating frequency defines this phase shift, a value that depends on the reference clock frequency and
counter settings.
The following figure shows an example of phase shift insertion using the fine resolution through VCO
phase taps method. The eight phases from the VCO are shown and labeled for reference.
Send Feedback
UG-M10CLKPLL
2015.11.02 Programmable Phase Shift 2-21
Figure 2-18: Example of Delay Insertion Using VCO Phase Output and Counter Delay Time
The observations in this example are as follows:
• CLK0 is based on 0° phase from the VCO and has the C value for the counter set to one.
• 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.
• CLK2 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).
0
45
90
135
180
225
270
315
CLK0
td0-1
CLK1
td0-2
CLK2
Related Information
• Dynamic Phase Configuration Implementation on page 4-8
• Dynamic Phase Configuration Counter Selection on page 4-9
• Dynamic Phase Configuration with Advanced Parameters on page 4-9
Send Feedback
UG-M10CLKPLL
2-22 Clock Switchover 2015.11.02
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 where a system turns on the redundant clock
if the previous clock stops running. The design can perform clock switchover automatically when the
clock is no longer toggling or based on a user-controlled signal, clkswitch.
The following clock switchover modes are supported in MAX 10 PLLs:
• Automatic switchover—The clock sense circuit monitors the current reference clock. If the current
reference clock stops toggling, the reference clock automatically switches to inclk0 or inclk1 clock.
• Manual clock switchover—The clkswitch signal controls the clock switchover. When the clkswitch
signal goes from logic low to high, and stays high for at least three clock cycles, the reference clock to
the PLL switches from inclk0 to inclk1, or vice-versa.
• Automatic switchover with manual override—This mode combines automatic switchover and manual
clock switchover. When the clkswitch signal goes high, it overrides the automatic clock switchover
function. As long as the clkswitch signal is high, any further switchover action is blocked.
Related Information
• Guideline: Clock Switchover on page 3-4
• Clock Switchover Parameter Settings on page 6-3
Send Feedback
UG-M10CLKPLL
2015.11.02 Automatic Clock Switchover 2-23
This figure shows a block diagram of the automatic switchover circuit built into the PLL.
clkbad0
clkbad1
activeclock
Clock Switchover
Sense State
Machine
clksw
clkswitch
(Provides Manual
Switchover Support)
inclk0
inclk1 N Counter PFD
muxout refclk
fbclk
When the current reference clock is not present, the clock sense block automatically switches to the
backup clock for PLL reference. You can select a clock source at the backup clock by connecting it to the
inclk1 port of the PLL in your design.
The clock switchover circuit also sends out three status signals—clkbad[0], clkbad[1], and
activeclock—from the PLL to implement a custom switchover circuit in the logic array.
In automatic switchover mode, the clkbad[0] and clkbad[1] signals indicate the status of the two clock
inputs. When the clkbad[0] and clkbad[1] signals are asserted, the clock sense block detects that the
corresponding clock input has stopped toggling. These two signals are not valid if the frequency difference
between inclk0 and inclk1 is greater than 20%.
The activeclock signal indicates which of the two clock inputs (inclk0 or inclk1) is selected as the
reference clock to the PLL. When the frequency difference between the two clock inputs is more than
20%, the activeclock signal is the only valid status signal.
Note: Glitches in the input clock may cause the frequency difference between the input clocks to be more
than 20%.
When the current reference clock to the PLL stops toggling, use the switchover circuitry to automatically
switch from inclk0 to inclk1 that runs at the same frequency. This automatic switchover can switch
back and forth between the inclk0 and inclk1 clocks any number of times when one of the two clocks
fails and the other clock is available.
For example, in applications that require a redundant clock with the same frequency as the reference
clock, the switchover state machine generates a signal (clksw) that controls the multiplexer select input.
In this case, inclk1 becomes the reference clock for the PLL.
Send Feedback
UG-M10CLKPLL
2-24 Automatic Switchover with Manual Override 2015.11.02
When using automatic clock switchover mode, the following requirements must be satisfied:
• Both clock inputs must be running when the FPGA is configured.
• The period of the two clock inputs differ by no more than 20%.
If the current clock input stops toggling while the other clock is also not toggling, switchover is not
initiated and the clkbad[0..1] signals are not valid. If both clock inputs do not have the same frequency,
but their period difference is within 20%, the clock sense block detects when a clock stops toggling.
However, the PLL might lose lock after the switchover completes and needs time to relock.
Note: Altera recommends resetting the PLL using the areset signal to maintain the phase relationships
between the PLL input and output clocks when using clock switchover.
Figure 2-21: Example of Automatic Switchover After Loss of Clock Detection
This figure shows an example waveform of the switchover feature in automatic switchover mode. In this
example, the inclk0 signal remains low. After the inclk0 signal remains low for approximately two clock
cycles, the clock sense circuitry drives the clkbad[0] signal high. Since the reference clock signal is not
toggling, the switchover state machine controls the multiplexer through the clksw signal to switch to the
backup clock, inclk1.
inclk0
inclk1
(1)
muxout
clkbad0
clkbad1
activeclock
Note:
(1) Switchover is enabled on the falling edge of inclk0 or inclk1, depending on which clock is available. In this figure,
switchover is enabled on the falling edge of inclk1.
Send Feedback
UG-M10CLKPLL
2015.11.02 Manual Clock Switchover 2-25
You must choose the backup clock frequency and set the M, N, and C counters so that the VCO operates
within the recommended frequency range.
The following figure shows a clock switchover waveform controlled by the clkswitch signal. In this case,
both clock sources are functional and inclk0 is selected as the reference clock. The clkswitch signal goes
high, which starts the switchover sequence. On the falling edge of inclk0, the counter’s reference clock,
muxout, is gated off to prevent clock glitching. On the falling edge of inclk1, the reference clock
multiplexer switches from inclk0 to inclk1 as the PLL reference. The activeclock signal is asserted to
indicate the clock that is currently feeding the PLL, which is inclk1.
In automatic override with manual switchover mode, the activeclock signal mirrors the clkswitch
signal. Since both clocks are still functional during the manual switch, neither clkbad signal goes high.
Because the switchover circuit is positive-edge sensitive, the falling edge of the clkswitch signal does not
cause the circuit to switch back from inclk1 to inclk0. When the clkswitch signal goes high again, the
process repeats.
Figure 2-22: Example of Clock Switchover Using the clkswitch (Manual) Control
inclk0
inclk1
muxout
clkswitch
activeclock
clkbad0
clkbad1
To initiate a manual clock switchover event,
both inclk0 and inclk1 must be running when
the clkswitch signal goes high.
The clkswitch signal and automatic switch work only if the clock being switched to is available. If the
clock is not available, the state machine waits until the clock is available.
Send Feedback
UG-M10CLKPLL
2-26 PLL Cascading 2015.11.02
If inclk0 and inclk1 have different frequencies and are always running, the minimum amount of time
for which clkswitch signal is high must be greater than or equal to three of the slower-frequency inclk0
and inclk1 cycles.
PLL Cascading
Related Information
Guideline: PLL Cascading on page 3-3
PLL-to-PLL Cascading
Two PLLs are cascaded to each other through the clock network. If your design cascades PLLs, the source
(upstream) PLL must have a low-bandwidth setting and the destination (downstream) PLL must have a
high-bandwidth setting.
Counter-to-Counter Cascading
The MAX 10 PLLs support post-scale counter cascading to create counters larger than 512. This is
implemented by feeding the output of one C counter into the input of the next C counter.
Figure 2-23: Counter-to-Counter Cascading
VCO Output
C0
VCO Output
C1
VCO Output
C2
VCO Output
C3
VCO Output
C4
VCO Output
When cascading counters to implement a larger division of the high-frequency VCO clock, the cascaded
counters behave as one counter with the product of the individual counter settings.
For example, if C0 = 4 and C1 = 2, the cascaded value is C0 x C1 = 8.
The Quartus Prime software automatically sets all the post-scale counter values for cascading in the
configuration file. Post-scale counter cascading cannot be performed using PLL reconfiguration.
PLL Reconfiguration
The PLLs use several divide counters and different VCO phase taps to perform frequency synthesis and
phase shifts. In MAX 10 PLLs, 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 the PLL bandwidth.
Send Feedback
UG-M10CLKPLL
2015.11.02 PLL Reconfiguration 2-27
This figure shows the dynamic adjustment of the PLL counter settings by shifting their new settings into a
serial shift register chain or scan chain. Serial data shifts to the scan chain via the scandata port, and shift
registers are clocked by scanclk. The maximum scanclk frequency is 100 MHz. After shifting the last bit
of data, asserting the configupdate signal for at least one scanclk clock cycle synchronously updates the
PLL configuration bits with the data in the scan registers.
FVCO
from M counter
from N counter PFD LF/K/CP VCO
scandata
scanclkena
configupdate
scandone
scanclk
Send Feedback
UG-M10CLKPLL
2-28 PLL Reconfiguration 2015.11.02
The counter settings are updated synchronously to the clock frequency of the individual counters.
Therefore, not all counters update simultaneously.
The dynamic reconfiguration scheme uses configuration files, such as the Hexadecimal-format file (.hex)
or the Memory Initialization file (.mif). These files are used together with the ALTPLL_RECONFIG IP
core to perform the dynamic reconfiguration.
Related Information
• Guideline: .mif Streaming in PLL Reconfiguration on page 3-5
• PLL Dynamic Reconfiguration Implementation on page 4-4
• PLL Dynamic Reconfiguration Parameter Settings on page 6-4
Provides more information about the ALTPLL IP core parameter settings in the Quartus Prime
software.
• ALTPLL_RECONFIG Parameters on page 7-1
Provides more information about the ALTPLL_RECONFIG IP core parameter settings in the Quartus
Prime software.
Send Feedback
2015.11.02
MAX 10 Clocking and PLL Design
Considerations 3
UG-M10CLKPLL Subscribe Send Feedback
Related Information
• Clock Enable Signals on page 2-7
• ALTCLKCTRL Parameters on page 5-1
• ALTCLKCTRL Ports and Signals on page 5-2
• You must use the inclk ports that are consistent with the clkselect ports.
• When you are using multiple input sources, the inclk ports can only be driven by the dedicated clock
input pins and the PLL clock outputs.
• If the clock control block feeds any inclk port of another clock control block, both clock control
blocks must be able to be reduced to a single clock control block of equivalent functionality.
• When you are using the glitch-free switchover feature, the clock you are switching from must be active.
If the clock is not active, the switchover circuit cannot transition from the clock you originally selected.
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10CLKPLL
3-2 Internal Oscillator Design Considerations 2015.11.02
Related Information
PLL Control Signals on page 2-13
Related Information
Guidelines: Clock and Asynchronous Control Input Signal
Provides more information about using I/O connectivity restrictions.
Guideline: Self-Reset
The lock time of a PLL is the amount of time required by the PLL to attain the target frequency and phase
relationship after device power-up, after a change in the PLL output frequency, or after resetting the PLL.
A PLL might lose lock for a number of reasons, such as the following causes:
• Excessive jitter on the input clock.
• Excessive switching noise on the clock inputs of the PLL.
• Excessive noise from the power supply, causing high output jitter and possible loss of lock.
• A glitch or stopping of the input clock to the PLL.
• Resetting the PLL by asserting the areset port of the PLL.
• An attempt to reconfigure the PLL might cause the M counter, N counter, or phase shift to change,
causing the PLL to lose lock. However, changes to the post-scale counters do not affect the PLL locked
signal.
• PLL input clock frequency drifts outside the lock range specification.
• The PFD is disabled using the pfdena port. When this happens, the PLL output phase and frequency
tend to drift outside of the lock window.
Send Feedback
UG-M10CLKPLL
2015.11.02 Guideline: Output Clocks 3-3
The ALTPLL IP core allows you to monitor the PLL locking process using a lock signal named locked
and also allows you to set the PLL to self-reset on loss of lock.
Related Information
PLL Cascading on page 2-26
Send Feedback
UG-M10CLKPLL
3-4 Guideline: Clock Switchover 2015.11.02
Switchover Occurs
Related Information
• Clock Switchover on page 2-22
Send Feedback
UG-M10CLKPLL
2015.11.02 Guideline: .mif Streaming in PLL Reconfiguration 3-5
Related Information
PLL Reconfiguration on page 2-26
Send Feedback
2015.11.02
MAX 10 Clocking and PLL Implementation
Guides 4
UG-M10CLKPLL Subscribe Send Feedback
ALTCLKCTRL IP Core
The clock control block (ALTCLKCTRL) IP core is a clock control function for configuring the clock
control block.
The common applications of the ALTCLKCTRL IP core are as follows:
• Dynamic clock source selection—When using the clock control block, you can select the dynamic
clock source that drives the global clock network.
• Dynamic power-down of a clock network—The dynamic clock enable or disable feature allows
internal logic to power down the clock network. When a clock network is powered down, all the logic
fed by that clock network is not toggling, thus reducing the overall power consumption of the device.
The ALTCLKCTRL IP core provides the following features:
• Supports clock control block operation mode specifications
• Supports specification of the number of input clock sources
• Provides an active high clock enable control input
Related Information
• Introduction to Altera IP Cores
Provides general information about all Altera IP cores, including parameterizing, generating,
upgrading, and simulating IP.
• Creating Version-Independent IP and Qsys Simulation Scripts
Create simulation scripts that do not require manual updates for software or IP version upgrades.
• Project Management Best Practices
Guidelines for efficient management and portability of your project and IP files.
ALTPLL IP Core
The ALTPLL IP core specifies the PLL circuitry. You can use this IP core to configure the PLL types,
operation modes, and advanced features of the PLL.
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10CLKPLL
4-2 Expanding the PLL Lock Range 2015.11.02
Related Information
• Introduction to Altera IP Cores
Provides general information about all Altera IP cores, including parameterizing, generating,
upgrading, and simulating IP.
• Creating Version-Independent IP and Qsys Simulation Scripts
Create simulation scripts that do not require manual updates for software or IP version upgrades.
• Project Management Best Practices
Guidelines for efficient management and portability of your project and IP files.
Send Feedback
UG-M10CLKPLL
2015.11.02 Programmable Bandwidth with Advanced Parameters 4-3
Send Feedback
UG-M10CLKPLL
4-4 PLL Dynamic Reconfiguration Implementation 2015.11.02
scandata Dn D0
LSB
scanclk
scanclkena
configupdate
scandone
areset
When reconfiguring the counter clock frequency, you cannot reconfigure the corresponding counter
phase shift settings using the same interface. You can reconfigure phase shifts in real time using the
dynamic phase shift reconfiguration interface. If you wish to keep the same nonzero phase shift setting
(for example, 90°) on the clock output, you must reconfigure the phase shift after reconfiguring the
counter clock frequency.
Related Information
PLL Reconfiguration on page 2-26
Send Feedback
UG-M10CLKPLL
2015.11.02 Scan Chain 4-5
Scan Chain
The MAX 10 PLLs have a 144-bit scan chain.
Number of Bits
Block Name
Counter Control Bit Total
C4(6) 16 2(7) 18
C3 16 2(7) 18
C2 16 2(7)
18
C1 16 2(7) 18
C0 16 2(7) 18
(6)
LSB bit for C4 low-count value is the first bit shifted into the scan chain.
(7)
These two control bits include rbypass, for bypassing the counter, and rselodd, for selecting the output
clock duty cycle.
Send Feedback
UG-M10CLKPLL
4-6 Charge Pump and Loop Filter 2015.11.02
Number of Bits
Block Name
Counter Control Bit Total
M 16 2 (7)
18
N 16 2(7) 18
Charge Pump 9 0 9
Loop Filter (8)
9 0 9
Total number of bits 144
LF CP N M C0
DATAIN MSB LSB
DATAOUT C4 C3 C2 C1
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
(8)
MSB bit for loop filter is the last bit shifted into the scan chain.
Send Feedback
UG-M10CLKPLL
2015.11.02 Bypassing PLL Counter 4-7
Related Information
• Programmable Bandwidth on page 2-19
• Programmable Bandwidth with Advanced Parameters on page 4-3
• Programmable Bandwidth Parameter Settings on page 6-2
Send Feedback
UG-M10CLKPLL
4-8 Dynamic Phase Configuration Implementation 2015.11.02
To bypass any of the PLL counters, set the bypass bit to 1. The values on the other bits are ignored.
SCANCLK
PHASESTEP
PHASEUPDOWN
PHASECOUNTERSELECT
PHASEDONE
a b c d
PHASEDONE goes low
synchronous with SCANCLK
The PHASESTEP signal is latched on the negative edge of SCANCLK (a,c) and must remain asserted for at
least two SCANCLK cycles. Deassert PHASESTEP after PHASEDONE goes low.
(9)
Bypass bit
Send Feedback
UG-M10CLKPLL
2015.11.02 Dynamic Phase Configuration Counter Selection 4-9
On the second SCANCLK rising edge (b,d) after PHASESTEP is latched, the values of PHASEUPDOWN and
PHASECOUNTERSELECT are latched. The PLL starts dynamic phase-shifting for the specified counters and in
the indicated direction.
The PHASEDONE signal is deasserted synchronous to SCANCLK at the second rising edge (b,d) and remains
low until the PLL finishes dynamic phase-shifting. Depending on the VCO and SCANCLK frequencies,
PHASEDONE low time may be greater than or less than one SCANCLK cycle.
You can perform another dynamic phase-shift after the PHASEDONE signal goes from low to high. Each
PHASESTEP pulse enables one phase shift. The PHASESTEP pulses must be at least one SCANCLK cycle apart.
Related Information
• Programmable Phase Shift on page 2-20
• Dynamic Phase Configuration Parameter Settings on page 6-4
Provides more information about the ALTPLL IP core parameter settings in the Quartus Prime
software.
• ALTPLL_RECONFIG Parameters on page 7-1
Provides more information about the ALTPLL_RECONFIG IP core parameter settings in the Quartus
Prime software.
• PLL Dynamic Reconfiguration Parameter Settings on page 6-4
Provides more information about the ALTPLL IP core parameter settings in the Quartus Prime
software.
• ALTPLL_RECONFIG Parameters on page 7-1
Provides more information about the ALTPLL_RECONFIG IP core parameter settings in the Quartus
Prime software.
Related Information
Programmable Phase Shift on page 2-20
Send Feedback
UG-M10CLKPLL
4-10 ALTPLL_RECONFIG IP Core 2015.11.02
You can modify your phase shift resolution using the dynamic phase reconfiguration feature of the PLL. If
you want to modify the phase shift resolution without the dynamic phase reconfiguration feature enabled,
perform the following steps:
1. Create an ALTPLL instance. Make sure you specify the speed grade of your target device and the PLL
type.
2. On the PLL Reconfiguration page, turn on Create optional inputs for dynamic phase reconfigura‐
tion and Enable phase shift step resolution.
3. On the Output Clocks page, set your desired phase shift for each required output clock. Note all the
internal PLL settings shown.
4. On the Bandwidth/SS page, click More Details to see the internal PLL settings. Note all of the settings
shown.
5. On the Inputs/Lock page, turn on Create output file(s) using the ‘Advanced’ PLL Parameters.
6. Return to the PLL Reconfiguration page and turn off Create Optional Inputs for Dynamic Phase
Reconfiguration.
7. Click Finish to generate the PLL instantiation file(s).
When using Advanced Parameters, the PLL wrapper file (<ALTPLL_instantiation_name>.v or
<ALTPLL_instantiation_name>.vhd) is written in a format that allows you to identify the PLL
parameters. The parameters are listed in the Generic Map section of the VHDL file, or in the
defparam section of the Verilog file.
8. Open your PLL instantiation wrapper file and locate either the Generic Map or the defparam section.
9. Modify the settings to match the settings that you noted in steps 3 and 4.
10.Save the PLL instantiation wrapper file and compile your design.
11.Verify that the output clock frequencies and phases are correct in the PLL Usage report located under
the Resource section of the Fitter folder in the Compilation Report.
By using this technique, you can apply valid PLL parameters as provided by the ALTPLL IP core
parameter editor to optimize the settings for your design.
Alternatively, you can leave the dynamic phase reconfiguration option enabled and tie the relevant input
ports—phasecounterselect[3..0], phaseupdown, phasestep, and scanclk—to constants, if you prefer
not to manually edit the PLL wrapper file using the Advanced PLL Parameters option.
Related Information
Programmable Phase Shift on page 2-20
ALTPLL_RECONFIG IP Core
The ALTPLL_RECONFIG IP core implements reconfiguration logic to facilitate dynamic real-time
reconfiguration of PLLs. You can use the IP core to update the output clock frequency, PLL bandwidth,
and phase shifts in real time, without reconfiguring the entire FPGA.
Use the ALTPLL_RECONFIG IP core in designs that must support dynamic changes in the frequency and
phase shift of clocks and other frequency signals. The IP core is also useful in prototyping environments
because it allows you to sweep PLL output frequencies and dynamically adjust the output clock phase.
You can also adjust the clock-to-output (tCO) delays in real-time by changing the output clock phase shift.
This approach eliminates the need to regenerate a configuration file with the new PLL settings. This
operation requires dynamic phase-shifting.
Send Feedback
UG-M10CLKPLL
2015.11.02 Obtaining the Resource Utilization Report 4-11
Related Information
• Introduction to Altera IP Cores
Provides general information about all Altera IP cores, including parameterizing, generating,
upgrading, and simulating IP.
• Creating Version-Independent IP and Qsys Simulation Scripts
Create simulation scripts that do not require manual updates for software or IP version upgrades.
• Project Management Best Practices
Guidelines for efficient management and portability of your project and IP files.
Related Information
• Introduction to Altera IP Cores
Provides general information about all Altera IP cores, including parameterizing, generating,
upgrading, and simulating IP.
• Creating Version-Independent IP and Qsys Simulation Scripts
Create simulation scripts that do not require manual updates for software or IP version upgrades.
• Project Management Best Practices
Guidelines for efficient management and portability of your project and IP files.
Send Feedback
2015.11.02
ALTCLKCTRL IP Core References
5
UG-M10CLKPLL Subscribe Send Feedback
ALTCLKCTRL Parameters
Table 5-1: ALTCLKCTRL IP Core Parameters for MAX 10 Devices
This table lists the IP core parameters applicable to MAX 10 devices.
Parameter Value Decription
How do you want to use For global clock, or Specify the ALTCLKCTRL buffering mode. You can
the ALTCLKCTRL For external path select from the following modes:
How many clock inputs 1, 2, 3, or 4 Specify the number of input clock sources for the clock
would you like? control block. You can specify up to four clock inputs.
You can change the number of clock inputs only if you
choose For global clock option.
Create ‘ena’ port to On or Off Turn on this option if you want to create an active high
enable or disable the clock enable signal to enable or disable the clock
clock network driven by network.
this buffer
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10CLKPLL
5-2 ALTCLKCTRL Ports and Signals 2015.11.02
Related Information
• Global Clock Control Block on page 2-4
• Global Clock Network Power Down on page 2-6
• Clock Enable Signals on page 2-7
• Guideline: Clock Enable Signals on page 3-1
Send Feedback
UG-M10CLKPLL
2015.11.02 ALTCLKCTRL Ports and Signals 5-3
Related Information
• Global Clock Control Block on page 2-4
• Global Clock Network Power Down on page 2-6
• Clock Enable Signals on page 2-7
• Guideline: Clock Enable Signals on page 3-1
Send Feedback
2014.12.15
ALTPLL IP Core References
6
UG-M10CLKPLL Subscribe Send Feedback
ALTPLL Parameters
The following tables list the IP core parameters applicable to MAX 10 devices.
Which output clock will C0, C1, C2, C3, or C4 Specify which PLL output port to compensate.
be compensated for?
The drop down list contains all output clock ports for
the selected device. The correct output clock selection
depends on the operation mode that you select.
For example, for normal mode, select the core output
clock. For zero-delay buffer mode, select the external
output clock.
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10CLKPLL
6-2 PLL Control Signals Parameter Settings 2014.12.15
Related Information
Clock Feedback Modes on page 2-14
Low PLL with a low bandwidth has better jitter rejection but a slower
lock time.
Medium PLL with a medium bandwidth has a balance between lock time
Preset
and jitter rejection.
High PLL with a high bandwidth has a faster lock time but tracks more
jitter.
The table on the right in the Bandwidth/SS page shows the values of the following components:
• Charge pump current
• Loop filter resistance
• Loop filter capacitance
• M counter
Send Feedback
UG-M10CLKPLL
2014.12.15 Clock Switchover Parameter Settings 6-3
Create a 'clkswitch' — Select this option for manual clock switchover mode.
input to manually select
between the input clocks
Allow PLL to automati‐ — Select this option for automatic clock switchover mode.
cally control the
switching between input The automatic switchover is initiated during loss of lock
clocks or when the inclk0 signal stops toggling.
Create a 'clkswitch' On or Off Turn on this option for automatic clock switchover
input to dynamically with manual override mode.
control the switching
between input clocks The automatic switchover is initiated during loss of lock
or when the clkswitch signal is asserted.
Perform the input clock On or Off Turn on this option to specify the number of clock
switchover after cycles to wait before the PLL performs the clock
(number) input clock switchover.
cycles
The allowed number of clock cycles to wait is device-
dependent.
Create an 'activeclock' On or Off Turn on this option to monitor which input clock
output to indicate the signal is driving the PLL.
input clock being used
When the current clock signal is inclk0, the
activeclock signal is low. When the current clock
signal is inclk1, the activeclock signal is high.
Create a 'clkbad' output On or Off Turn on this option to monitor when the input clock
for each input clock signal has stopped toggling.
The clkbad0 signal monitors the inclk0 signal. The
clkbad1 signal monitors the inclk1 signal.
Related Information
• Clock Switchover on page 2-22
Send Feedback
UG-M10CLKPLL
6-4 PLL Dynamic Reconfiguration Parameter Settings 2014.12.15
Initial Configuration — Specify the location of the configuration file that is used
File to initialize the ALTPLL_RECONFIG IP core.
Additional Configura‐ — Specify additional configuration file. This file might
tion File(s) contain additional settings for the PLL, or might be
used to initialize the ALTPLL_RECONFIG IP core.
Related Information
• PLL Reconfiguration on page 2-26
• Dynamic Phase Configuration Implementation on page 4-8
Enable phase shift step On or Off Turn on this option to modify the value for Phase shift
resolution edit step resolution(ps) for each individual PLL output
clock on the Output Clocks page.
By default, the finest phase shift resolution value is 1/8
of the VCO period. If the VCO frequency is at the lower
end of the supported VCO range, the phase shift
resolution might be larger than preferred for your
design. Use this option to fine tune the phase shift step
resolution.
Send Feedback
UG-M10CLKPLL
2014.12.15 Output Clocks Parameter Settings 6-5
Related Information
• Programmable Phase Shift on page 2-20
• Dynamic Phase Configuration Implementation on page 4-8
Enter output clock — Specify the frequency of the output clock signal.
frequency
Enter output clock — Specify the the output clock parameters instead of the
parameters frequency.
Clock multiplication — Specify the clock multiplication factor of the signal.
factor
Clock division factor — Specify the clock division factor of the signal.
Clock phase shift — Set the programmable phase shift for an output clock
signals.
The smallest phase shift is 1/8 of VCO period. For
degree increments, the maximum step size is 45
degrees. You can set smaller steps using the Clock
multiplication factor and Clock division factor
options.
For example, if the post-scale counter is 32, the smallest
phase shift step is 0.1°. The up and down buttons let
you cycle through phase shift values. Alternatively, you
can enter a number in the phase shift field manually
instead of using the buttons.
Send Feedback
UG-M10CLKPLL
6-6 ALTPLL Ports and Signals 2014.12.15
The ALTPLL IP core parameter editor calculates the simplest fraction, and displays it in the actual settings
column. You can use the copy button to copy values from the actual settings to the requested settings.
Figure 6-1: PLL Output Clock Frequency
For example, if the input clock frequency is 100 MHz, and the requested multiplication and division
factors are 205 and 1025 respectively, the output clock frequency is calculated as 100 × 205/1025=20 MHz.
The actual settings reflect the simplest fraction—the actual multiplication factor is 1, and the actual
division factor is 5.
(10)
Replace brackets, [], in the port name with integer to get the exact name. For example, inclk0 and inclk1.
Send Feedback
UG-M10CLKPLL
2014.12.15 ALTPLL Ports and Signals 6-7
scanclk Optional Input clock port for the serial scan chain.
Free-running clock from core used in combination
with PHASESTEP to enable or disable dynamic phase
shifting. Shared with SCANCLK for dynamic reconfi‐
guration.
scanclkena Optional Clock enable port for the serial scan chain.
scandata Optional Contains the data for the serial scan chain.
(10)
Replace brackets, [], in the port name with integer to get the exact name. For example, inclk0 and inclk1.
Send Feedback
UG-M10CLKPLL
6-8 ALTPLL Ports and Signals 2014.12.15
clkbad[] Optional clkbad1 and clkbad0 ports check for input clock
toggling.
If the inclk0 port stops toggling, the clkbad0 port
goes high. If the inclk1 port stops toggling, the
clkbad1 port goes high.
(11)
Replace the brackets, [], in the port name with an integer to get the exact name (for example, c0 and c1).
Send Feedback
UG-M10CLKPLL
2014.12.15 ALTPLL Ports and Signals 6-9
scandataout Optional The data output for the serial scan chain.
You can use the scandataout port to determine
when PLL reconfiguration completes. The last
output is cleared when reconfiguration completes.
scandone Optional This output port indicates that the scan chain write
operation is initiated.
The scandone port goes high when the scan chain
write operation initiates, and goes low when the
scan chain write operation completes.
(11)
Replace the brackets, [], in the port name with an integer to get the exact name (for example, c0 and c1).
Send Feedback
UG-M10CLKPLL
6-10 ALTPLL Ports and Signals 2014.12.15
Related Information
PLL Control Signals on page 2-13
Send Feedback
2015.11.02
ALTPLL_RECONFIG IP Core References
7
UG-M10CLKPLL Subscribe Send Feedback
ALTPLL_RECONFIG Parameters
Table 7-1: ALTPLL_RECONFIG IP Core Parameters for MAX 10 Devices
This table lists the IP core parameters applicable to MAX 10 devices.
Page Parameter Value Description
Currently Selected — Specifies the chosen device family.
Device Family
Which scan chain type — The scan chain is a serial shift register chain
will you be using? that is used to store settings. It acts like a
cache. When you assert the reconfig signal,
the PLL is reconfigured with the values in the
cache. The type of scan chain must follow the
type of PLL to be reconfigured. The scan
chain type has a default value of Top/
Bottom.
Do you want to specify No, leave it Specifies the initial value of the scan chain.
Parameter the initial value of the blank, Select No, leave it blank to not specify a file
Settings scan chain? or select Yes, use this file for the content
Yes, use this file data to browse for a .hex or .mif file.
for the content
data The option to initialize from a ROM is not
available. However, you can choose to add
ports to write to the scan chain from an
external ROM during runtime by turning on
Add ports to write to the scan chain from
external ROM during run time.
Add ports to write to On, Off Turn on this option to take advantage of
the scan chain from cycling multiple configuration files, which are
external ROM during stored in external ROMs during user mode.
run time
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10CLKPLL
7-2 ALTPLL_RECONFIG Ports and Signals 2015.11.02
Related Information
• Programmable Phase Shift on page 2-20
• Dynamic Phase Configuration Implementation on page 4-8
• PLL Reconfiguration on page 2-26
• Dynamic Phase Configuration Implementation on page 4-8
Send Feedback
UG-M10CLKPLL
2015.11.02 ALTPLL_RECONFIG Ports and Signals 7-3
data_in[] Optional Data input that provides parameter value when writing
parameters.
This 9-bit input port provides the data to be written to the
scan cache during a write operation. The bit width of the
counter parameter to be written determines the number
of bits of data_in[] that are read into the cache.
For example, the low bit count of the C0 counter is 8-bit
wide, so data_in[7..0] is read to the correct cache
location. The bypass mode for the C0 counter is 1-bit
wide, so data_in[0] is read for the value of this
parameter.
If omitted, the default value is 0.
counter_param[] Optional Specifies the parameter for the value specified in the
counter_type port.
Send Feedback
UG-M10CLKPLL
7-4 ALTPLL_RECONFIG Ports and Signals 2015.11.02
Send Feedback
UG-M10CLKPLL
2015.11.02 ALTPLL_RECONFIG Ports and Signals 7-5
pll_areset_in Optional Input signal indicating that the PLL should be reset.
When asserted, the pll_areset_in signal indicates the
PLL IP core should be reset. This port defaults to 0 if left
unconnected. When using the ALTPLL_RECONFIG IP
core in a design, you cannot reset the PLL in any other
way. You must use this IP core port to manually reset the
PLL.
pll_scandataout Required Input port driven by the scandataout signal from the
ALTPLL IP core. Use this port to read the current
configuration of the ALTPLL IP core. This input port
holds the ALTPLL scan data output from the dynamically
reconfigurable bits. The pll_scandataout port must be
connected to the scandataout port of the PLL. The
activity on this port can only be observed when the
reconfig signal is asserted.
Send Feedback
UG-M10CLKPLL
7-6 ALTPLL_RECONFIG Ports and Signals 2015.11.02
Send Feedback
UG-M10CLKPLL
2015.11.02 ALTPLL_RECONFIG Counter Settings 7-7
Send Feedback
UG-M10CLKPLL
7-8 ALTPLL_RECONFIG Counter Settings 2015.11.02
For even nominal count, the counter bits are automatically set as follows:
• high_count = Nominalcount/2
• low_count= Nominalcount/2
For odd nominal count, the counter bits are automatically set as follows:
• high_count = (Nominalcount + 1)/2
• low_count = Nominalcount - high_count
• odd/even division bit = 1
For nominal count = 1, bypass bit = 1.
Send Feedback
2015.11.02
Internal Oscillator IP Core References
8
UG-M10CLKPLL Subscribe Send Feedback
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2015.11.02
Additional Information for MAX 10 Clocking
and PLL User Guide A
UG-M10CLKPLL Subscribe Send Feedback
Document Revision History for MAX 10 Clocking and PLL User Guide
Date Version Changes
November 2015 2015.11.02 • Removed the topics about the IP catalog and parameter editor,
generating IP cores, and the files generated by the IP core, and
added a link to Introduction to Altera IP Cores.
• Changed instances of Quartus II to Quartus Prime.
June 2015 2015.06.12 Added connectivity restriction guideline to the PLL design considera‐
tions.
May 2015 2015.05.04 Rearranged the fine resolution phase shift equation.
December 2014 2014.12.15 • Corrected the statement that if you do not use the dedicated clock
input pins for clock input, you can also use them as general-
purpose input or output pins.
• Added description in Internal Oscillator Architecture and Features
to state that the internal ring oscillator operates up to 232 MHz and
this frequency is not accessible.
• Added connectivity restrictions guideline for internal oscillator.
• Added Internal Oscillator IP Core parameter: Clock Frequency.
• Moved Internal Oscillator Frequencies table from Internal
Oscillator Architecture and Features chapter to MAX 10 FPGA
Device Datasheet.
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
MAX 10 General Purpose I/O User Guide
Contents
Altera Corporation
TOC-3
Document Revision History for MAX 10 General Purpose I/O User Guide...
B-1
Altera Corporation
2016.05.02
MAX 10 I/O Overview
1
UG-M10GPIO Subscribe Send Feedback
The MAX® 10 general purpose I/O (GPIO) system consists of the I/O elements (IOE) and the Altera
GPIO Lite IP core.
• The IOEs contain bidirectional I/O buffers and I/O registers located in I/O banks around the periphery
of the device.
• The Altera GPIO Lite IP core supports the GPIO components and features, including double data rate
I/O (DDIO), delay chains, I/O buffers, control signals, and clocking.
Related Information
• MAX 10 I/O Architecture and Features on page 2-1
Provides information about the architecture and features of the I/Os in MAX 10 devices.
• MAX 10 I/O Design Considerations on page 3-1
Provides I/O design guidelines for MAX 10 Devices.
• MAX 10 I/O Implementation Guides on page 4-1
Provides guides to implement I/Os in MAX 10 Devices.
• Altera GPIO Lite IP Core References on page 5-1
Lists the parameters and signals of Altera GPIO Lite IP core for MAX 10 Devices.
• MAX 10 General Purpose I/O User Guide Archives on page 6-1
Provides a list of user guides for previous versions of the Altera GPIO Lite IP core.
Package
Type M153 U169 E144
Device 153-pin MBGA 169-pin UBGA 144-pin EQFP
Size 8 mm × 8 mm 11 mm × 11 mm 22 mm × 22 mm
Ball Pitch 0.5 mm 0.8 mm 0.5 mm
10M02 112 130 101
10M04 112 130 101
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10GPIO
1-2 MAX 10 Devices I/O Resources Per Package 2016.05.02
Package
Type M153 U169 E144
Device 153-pin MBGA 169-pin UBGA 144-pin EQFP
Size 8 mm × 8 mm 11 mm × 11 mm 22 mm × 22 mm
Ball Pitch 0.5 mm 0.8 mm 0.5 mm
10M08 112 130 101
10M16 — 130 101
10M25 — — 101
10M40 — — 101
10M50 — — 101
Table 1-2: Package Plan for MAX 10 Dual Power Supply Devices—Preliminary
Package
Type V36 V81 U324 F256 F484 F672
36-pin 81-pin 324-pin 256-pin 484-pin 672-pin FBGA
WLCSP WLCSP UBGA FBGA FBGA
Device
Size 3 mm × 3 4 mm × 4 15 mm × 15 17 mm × 17 23 mm × 23 27 mm × 27 mm
mm mm mm mm mm
Ball 0.4 mm 0.4 mm 0.8 mm 1.0 mm 1.0 mm 1.0 mm
Pitch
10M02 27 — 160 — — —
10M04 — — 246 178 — —
10M08 — 56 246 178 250 —
10M16 — — 246 178 320 —
10M25 — — — 178 360 —
10M40 — — — 178 360 500
10M50 — — — 178 360 500
Send Feedback
UG-M10GPIO
2016.05.02 MAX 10 I/O Vertical Migration Support 1-3
Package
Device
V36 V81 M153 U169 U324 F256 E144 F484 F672
10M02
10M04
10M08
10M16
10M25
10M40
10M50
Note: To verify the pin migration compatibility, use the Pin Migration View window in the Quartus®
Prime software Pin Planner.
Related Information
Verifying Pin Migration Compatibility on page 4-4
Send Feedback
2016.05.02
MAX 10 I/O Architecture and Features
2
UG-M10GPIO Subscribe Send Feedback
The I/O system of MAX 10 devices support various I/O standards. In the MAX 10 devices, the I/O pins
are located in I/O banks at the periphery of the devices. The I/O pins and I/O buffers have several
programmable features.
Related Information
MAX 10 I/O Overview on page 1-1
The voltage-referenced I/O standards are not supported in the following I/O banks of these device packages:
• All I/O banks of V36 package of 10M02.
• All I/O banks of V81 package of 10M08.
• Banks 1A and 1B of E144 package of 10M50.
Device Direction
I/O Standard Type Application Standard Support
Support Input Output
3.3 V LVTTL/3.3 V Single- All Yes Yes General purpose JESD8-B
LVCMOS ended
3.0 V LVTTL/3.0 V Single- All Yes Yes General purpose JESD8-B
LVCMOS ended
2.5 V LVCMOS Single- All Yes Yes General purpose JESD8-5
ended
1.8 V LVCMOS Single- All Yes Yes General purpose JESD8-7
ended
1.5 V LVCMOS Single- All Yes Yes General purpose JESD8-11
ended
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10GPIO
2-2 MAX 10 I/O Standards Support 2016.05.02
Device Direction
I/O Standard Type Application Standard Support
Support Input Output
1.2 V LVCMOS Single- All Yes Yes General purpose JESD8-12
ended
3.0 V PCI Single- All Yes Yes General purpose PCI Rev. 2.2
ended
3.3 V Schmitt Single- All Yes — General purpose —
Trigger ended
2.5 V Schmitt Single- All Yes — General purpose —
Trigger ended
1.8 V Schmitt Single- All Yes — General purpose —
Trigger ended
1.5 V Schmitt Single- All Yes — General purpose —
Trigger ended
SSTL-2 Class I Voltage- All Yes Yes DDR1 JESD8-9B
referenced
SSTL-2 Class II Voltage- All Yes Yes DDR1 JESD8-9B
referenced
SSTL-18 Class I Voltage- All Yes Yes DDR2 JESD8-15
referenced
SSTL-18 Class II Voltage- All Yes Yes DDR2 JESD8-15
referenced
SSTL-15 Class I Voltage- All Yes Yes DDR3 —
referenced
SSTL-15 Class II Voltage- All Yes Yes DDR3 —
referenced
SSTL-15(1) Voltage- All Yes Yes DDR3 JESD79-3D
referenced
SSTL-135(1) Voltage- All Yes Yes DDR3L —
referenced
1.8 V HSTL Class I Voltage- All Yes Yes DDR II+, QDR II+, JESD8-6
referenced and RLDRAM 2
1.8 V HSTL Class II Voltage- All Yes Yes DDR II+, QDR II+, JESD8-6
referenced and RLDRAM 2
1.5 V HSTL Class I Voltage- All Yes Yes DDR II+, QDR II+, JESD8-6
referenced QDR II, and
RLDRAM 2
(1)
Available in MAX 10 16, 25, 40, and 50 devices only.
Send Feedback
UG-M10GPIO
2016.05.02 MAX 10 I/O Standards Support 2-3
Device Direction
I/O Standard Type Application Standard Support
Support Input Output
1.5 V HSTL Class II Voltage- All Yes Yes DDR II+, QDR II+, JESD8-6
referenced QDR II, and
RLDRAM 2
1.2 V HSTL Class I Voltage- All Yes Yes General purpose JESD8-16A
referenced
1.2 V HSTL Class II Voltage- All Yes Yes General purpose JESD8-16A
referenced
HSUL-12(1) Voltage- All Yes Yes LPDDR2 —
referenced
Differential SSTL-2 Differential All Yes(2) Yes(3) DDR1 JESD8-9B
Class I and II
Differential SSTL- Differential All Yes(2) Yes(3) DDR2 JESD8-15
18 Class I and Class
II
Differential SSTL- Differential All Yes(2) Yes(3) DDR3 —
15 Class I and Class
II
Differential SSTL- Differential All Yes(2) Yes(3) DDR3 JESD79-3D
15
Differential SSTL- Differential All Yes(2) Yes(3) DDR3L —
135
Differential 1.8 V Differential All Yes(2) Yes(3) DDR II+, QDR II+, JESD8-6
HSTL Class I and and RLDRAM 2
Class II
Differential 1.5 V Differential All Yes(2) Yes(3) DDR II+, QDR II+, JESD8-6
HSTL Class I and QDR II, and
Class II RLDRAM 2
Differential 1.2 V Differential All Yes(2) Yes(3) General purpose JESD8-16A
HSTL Class I and
Class II
Differential HSUL- Differential All Yes(2) Yes(3) LPDDR2 —
12
LVDS (dedicated)(4) Differential All Yes Yes — ANSI/TIA/EIA-644
(2)
The inputs treat differential inputs as two single-ended inputs and decode only one of them.
(3)
The outputs use two single-ended output buffers with the second output buffer programmed as inverted.
(4)
You can use dedicated LVDS transmitters only on the bottom I/O banks. You can use LVDS receivers on all
I/O banks.
Send Feedback
UG-M10GPIO
2-4 MAX 10 I/O Standards Support 2016.05.02
Device Direction
I/O Standard Type Application Standard Support
Support Input Output
LVDS (emulated, Differential All — Yes — ANSI/TIA/EIA-644
external resistors)
Mini-LVDS Differential All — Yes — —
(dedicated)(4)
Mini-LVDS Differential Dual — Yes — —
(emulated, external supply
resistor) devices
RSDS (dedicated)(4) Differential All — Yes — —
RSDS (emulated, Differential Dual — Yes — —
external resistor, supply
1R) devices
RSDS (emulated, Differential All — Yes — —
external resistors,
3R)
PPDS (dedicated)(4) Differential Dual — Yes — —
supply
devices
PPDS (emulated, Differential Dual — Yes — —
external resistor) supply
devices
LVPECL Differential All Yes — — —
Bus LVDS Differential All Yes Yes(5) — —
TMDS Differential Dual Yes — — —
supply
devices
Sub-LVDS Differential Dual Yes Yes(6) — —
supply
devices
SLVS Differential Dual Yes Yes(7) — —
supply
devices
(5)
The outputs use two single-ended output buffers with the second output buffer programmed as inverted. A
single series resistor is required.
(6)
Requires external termination resistors.
(7)
The outputs uses two single-ended output buffers as emulated differential outputs. Requires external
termination resistors.
Send Feedback
UG-M10GPIO
2016.05.02 MAX 10 I/O Standards Voltage and Pin Support 2-5
Device Direction
I/O Standard Type Application Standard Support
Support Input Output
HiSpi Differential Dual Yes — — —
supply
devices
Related Information
• MAX 10 I/O Buffers on page 2-13
Provides more information about available I/O buffer types and supported I/O standards.
• LVDS Transmitter I/O Termination Schemes, MAX 10 High-Speed LVDS I/O User Guide
Note: The I/O standards that each pin type supports depends on the I/O standards that the pin's I/O bank
supports. For example, only the bottom I/O banks support the LVDS (dedicated) I/O standard. You can
use the LVDS (dedicated) I/O standard for the PLL_CLKOUT pin only if the pin is available in your device's
bottom I/O banks. To determine the pin's I/O bank locations for your device, check your device's pin out
file.
(8)
Bidirectional— use Schmitt Trigger input with LVTTL output.
Send Feedback
UG-M10GPIO
2-6 MAX 10 I/O Standards Voltage and Pin Support 2016.05.02
Send Feedback
UG-M10GPIO
2016.05.02 MAX 10 I/O Standards Voltage and Pin Support 2-7
Send Feedback
UG-M10GPIO
2-8 MAX 10 I/O Elements 2016.05.02
Related Information
• MAX 10 Device Pin-Out Files
• MAX 10 I/O Standards Support on page 2-1
• MAX 10 I/O Banks Locations on page 2-10
• MAX 10 LVDS SERDES I/O Standards Support
• MAX 10 High-Speed LVDS I/O Location
Send Feedback
UG-M10GPIO
2016.05.02 MAX 10 I/O Banks Architecture 2-9
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
D Q Current Strength Control
Open-Drain Out
Slew Rate Control
sclr/ ENA
preset ACLR/PRN
data_in1
Related Information
MAX 10 Power Management User Guide
Provides more information about the I/O buffers in different power cycles and hot socketing.
Send Feedback
UG-M10GPIO
2-10 MAX 10 I/O Banks Locations 2016.05.02
Related Information
MAX 10 Device Pin-Out Files
VREF8 VCCIO8
VREF1 VREF6
1 6
VCCIO1 VCCIO6
VREF2 VREF5
2 5
VCCIO2 VCCIO5
VCCIO3 VREF3
Send Feedback
UG-M10GPIO
2016.05.02 MAX 10 I/O Banks Locations 2-11
8 7
1A VREF6
VCCIO1A
6
VREF1
1B VCCIO6
VCCIO1B
VREF2 VREF5
2 5
VCCIO2 VCCIO5
Send Feedback
UG-M10GPIO
2-12 MAX 10 I/O Banks Locations 2016.05.02
Figure 2-4: I/O Banks for MAX 10 16, 25, 40, and 50 Devices—Preliminary
8 7
1A VREF6
VCCIO1A
6
VREF1
1B VCCIO6
VCCIO1B
VREF2 VREF5
2 5
VCCIO2 VCCIO5
Related Information
• MAX 10 Device Pin-Out Files
• High-Speed I/O Specifications
Provides the performance information for different I/O standards in the low-speed and high-speed I/O
banks.
Send Feedback
UG-M10GPIO
2016.05.02 MAX 10 I/O Buffers 2-13
• Support differential and single-ended I/O • Support differential and single-ended I/O
standards. standards.
• Available only on I/O banks at the bottom side • Available on I/O banks at the left, right, and top
of the device. sides of the device.
• For LVDS, the bottom I/O banks support LVDS • For LVDS, the DDR I/O buffers support only
transmitter, emulated LVDS transmitter, and LVDS receiver and emulated LVDS transmitter
LVDS receiver buffers. buffers.
• For DDR, only the DDR I/O buffers on the right
side of the device supports DDR3 external
memory interfaces. DDR3 support is only
available for MAX 10 16, 25, 40, and 50 devices.
Related Information
• MAX 10 I/O Standards Support on page 2-1
• LVDS Transmitter I/O Termination Schemes, MAX 10 High-Speed LVDS I/O User Guide
Related Information
MAX 10 Device Datasheet
Send Feedback
UG-M10GPIO
2-14 Programmable I/O Buffer Features 2016.05.02
Table 2-4: Summary of Supported MAX 10 Programmable I/O Buffer Features and Settings
PCI Clamp On (default for input — PCI I/O • 3.0 V and 3.3 V LVTTL
Diode pins), • 2.5 V, 3.0 V, and 3.3 V
Off (default for output LVCMOS
pins, except 3.0 V PCI) • 3.0 V PCI
• 2.5 V, 3.0 V, and 3.3 V
Schmitt Trigger
Send Feedback
UG-M10GPIO
2016.05.02 Programmable Open Drain 2-15
3.3 V LVCMOS 2
3.3 V LVTTL 8, 4
3.0 V LVTTL/3.0 V LVCMOS 16, 12, 8, 4
2.5 V LVTTL/2.5 V LVCMOS 16, 12, 8, 4
1.8 V LVTTL/1.8 V LVCMOS 16, 12, 10, 8, 6, 4, 2
1.5 V LVCMOS 16, 12, 10, 8, 6, 4, 2
1.2 V LVCMOS 12, 10, 8, 6, 4, 2
SSTL-2 Class I 12, 8
SSTL-2 Class II 16
Send Feedback
UG-M10GPIO
2-16 Programmable Output Slew Rate Control 2016.05.02
Note: Altera recommends that you perform IBIS or SPICE simulations to determine the best current
strength setting for your specific application.
Table 2-6: Programmable Output Slew Rate Control for MAX 10 Devices
This table lists the single-ended I/O standards and current strength settings that support programmable output
slew rate control. For I/O standards and current strength settings that do not support programmable slew rate
control, the default slew rate setting is 2 (fast slew rate).
I/O Standard IOH / IOL Current Strength Supporting Slew Rate Control
Send Feedback
UG-M10GPIO
2016.05.02 Programmable IOE Delay 2-17
I/O Standard IOH / IOL Current Strength Supporting Slew Rate Control
SSTL-2 Class II 16
SSTL-18 Class I 12, 10, 8
SSTL-18 Class II 16, 12
SSTL-15 Class I 12, 10, 8
SSTL-15 Class II 16
1.8 V HSTL Class I 12, 10, 8
1.8 V HSTL Class II 16
1.5 V HSTL Class I 12, 10, 8
1.5 V HSTL Class II 16
1.2 V HSTL Class I 12, 10, 8
1.2 V HSTL Class II 14
You can specify the slew rate on a pin-by-pin basis because each I/O pin contains a slew rate control. The
slew rate control affects both the rising and falling edges.
Note: Altera recommends that you perform IBIS or SPICE simulations to determine the best slew rate
setting for your specific application.
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 Prime software for each path. If the pin
Send Feedback
UG-M10GPIO
2-18 PCI Clamp Diode 2016.05.02
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 Prime 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 synchro‐
nous reset signal is available for the IOE registers.
Related Information
• MAX 10 Device Datasheet
• Timing Closure and Optimization chapter, Volume 2: Design Implementation and Optimization,
Quartus Prime Handbook
Provides more information about the input and output pin delay settings.
Programmable Pre-Emphasis
The differential output voltage (VOD) setting and the output impedance of the driver set the output
current limit of a high-speed transmission signal. At a high frequency, the slew rate may not be fast
enough to reach the full VOD level before the next edge, producing pattern-dependent jitter. Pre-emphasis
momentarily boosts the output current during switching to increase the output slew rate.
Pre-emphasis increases the amplitude of the high-frequency component of the output signal. This
increase compensates for the frequency-dependent attenuation along the transmission line.
The overshoot introduced by the extra current occurs only during change of state switching. This
overshoot increases the output slew rate but does not ring, unlike the overshoot caused by signal
reflection. The amount of pre-emphasis required depends on the attenuation of the high-frequency
component along the transmission line.
Send Feedback
UG-M10GPIO
2016.05.02 Programmable Differential Output Voltage 2-19
Voltage boost
from pre-emphasis
VP
OUT
V OD
OUT
VP
Differential output
voltage (peak–peak)
Field Assignment
To tx_out
VOD
p-n=0V
VOD
Send Feedback
UG-M10GPIO
2-20 Programmable Emulated Differential Output 2016.05.02
You can statically adjust the VOD of the differential signal by changing the VOD settings in the Quartus
Prime software Assignment Editor.
Field Assignment
To tx_out
Related Information
MAX 10 Power Management User Guide
Provides more information about using the programmable dynamic power down feature.
Send Feedback
UG-M10GPIO
2016.05.02 I/O Standards Termination 2-21
Send Feedback
UG-M10GPIO
2-22 Differential I/O Standards Termination 2016.05.02
50 Ω 50 Ω
External
50 Ω
On-Board
Termination
50 Ω
Transmitter Receiver
V TT V TT
Series OCT
50 Ω 50 Ω
50 Ω
50 Ω
OCT
50 Ω
Transmitter Receiver
Send Feedback
UG-M10GPIO
2016.05.02 MAX 10 On-Chip I/O Termination 2-23
50 Ω 50 Ω 50 Ω 50 Ω 50 Ω 50 Ω
25 Ω 25 Ω
50 Ω 50 Ω
External
On-Board 25 Ω 25 Ω
50 Ω 50 Ω
Termination
OCT 50 Ω 50 Ω
50 Ω 50 Ω
Related Information
MAX 10 High-Speed LVDS I/O User Guide
Provides more information about differential I/O external termination.
Send Feedback
UG-M10GPIO
2-24 OCT Calibration 2016.05.02
This figure shows the single-ended termination scheme supported in MAX 10 device.
Driver Receiving
Series Termination Device
Z 0 = 50 Ω
RS VREF
OCT Calibration
The OCT calibration circuit compares the total impedance of the output buffer to the external resistors
connected to the RUP and RDN pins. The circuit dynamically adjusts the output buffer impedance until it
matches the external resisters.
Each calibration block comes with a pair of RUP and RDN pins.
During calibration, the RUP and RDN pins are each connected through an external 25 Ω, 34 Ω, 40 Ω, 48 Ω,
or 50 Ω resistor for respective on-chip series termination value of 25 Ω, 34 Ω, 40 Ω, 48 Ω, and 50 Ω:
• RUP—connected to VCCIO.
• RDN—connected to GND.
The OCT calibration circuit compares the external resistors to the internal resistance using comparators.
The OCT calibration block uses the comparators' output to dynamically adjust buffer impedance.
During calibration, the resistance of the RUP and RDN pins varies. To estimate of the maximum possible
current through the external calibration resistors, assume a minimum resistance of 0 Ω on the RUP and
RDN pins.
Send Feedback
UG-M10GPIO
2016.05.02 RS OCT in MAX 10 Devices 2-25
This table lists the output termination settings for RS OCT with and without calibration on different I/O
standards.
• RS OCT with calibration—supported only on the right side I/O banks of the MAX 10 16, 25, 40, and 50 devices.
• RS OCT without calibration—supported on all I/O banks of all MAX 10 devices.
Send Feedback
UG-M10GPIO
2-26 RS OCT in MAX 10 Devices 2016.05.02
Send Feedback
2016.05.02
MAX 10 I/O Design Considerations
3
UG-M10GPIO Subscribe Send Feedback
There are several considerations that require your attention to ensure the success of your designs. Unless
noted otherwise, these design guidelines apply to all variants of this device family.
Related Information
MAX 10 I/O Overview on page 1-1
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10GPIO
3-2 Guidelines: Enable Clamp Diode for LVTTL/LVCMOS Input Buffers 2016.05.02
• If you use a shared VREF pin as an I/O, all voltage-reference input buffers (SSTL, HSTL, and HSUL) are
disabled.
• If you use a shared VREF pin as a voltage reference, you must enable the input buffer of specific I/O pin
to use the voltage-reference I/O standards.
• The voltage-referenced I/O standards are not supported in the following I/O banks of these device
packages:
• All I/O banks of V36 package of 10M02.
• All I/O banks of V81 package of 10M08.
• Banks 1A and 1B of E144 package of 10M50.
• For devices with banks 1A and 1B, if you use the VREF pin, you must supply a common VCCIO to banks
1A and 1B.
• Maximum number of voltage-referenced inputs for each VREF pin is 75% of total number of I/O pads.
The Quartus Prime software will provide a warning if you exceed the maximum number.
• Except for I/O pins that you used for static signals, all non-voltage-referenced output must be placed
two pads away from a VREF pin. The Quartus Prime software will output an error message if this rule is
violated.
Related Information
MAX 10 I/O Standards Support on page 2-1
This table lists the voltage tolerance specifications. Ensure that your board design conforms to these specifications
if you do not want to follow the clamp diode recommendation.
Voltage Minimum (V) Maximum (V)
VCCIO = 3.3 V 3.135 3.45
VCCIO = 3.0 V 2.85 3.15
VIH (AC) — 4.1
VIH (DC) — 3.6
VIL (DC) –0.3 0.8
Send Feedback
UG-M10GPIO
2016.05.02 Guidelines: Adhere to the LVDS I/O Restrictions Rules 3-3
Related Information
MAX 10 FPGA Device Family Pin Connection Guidelines
Table 3-2: Maximum Percentage of I/O Pins Allowed for Specific I/O Standards in an I/O Bank
This table lists the maximum number of general purpose output pins recommended in a bank in terms of
percentage to the total number of I/O pins available in an I/O bank if you use these combinations of I/O standards
and conditions.
I/O Standard Condition Max Pins Per Bank (%)
16 mA current strength and 25 Ω OCT (fast and slow 25
slew rate)
Send Feedback
UG-M10GPIO
3-4 Guidelines: Analog-to-Digital Converter I/O Restriction 2016.05.02
This table lists the I/O restrictions by MAX 10 device package if you use the dedicated analog input (ANAIN1 or
ANAIN2) or any dual function ADC I/O pins as ADC channel inputs.
Package Restriction/Guideline
All Disable all JTAG operation during ADC sampling. The ADC signal-to-noise and
distortion ratio (SINAD) is not guaranteed during JTAG operation.
M153 • Banks 1A and 1B—you cannot use GPIO pins in these banks.
U169 • Banks 2, 3, 4, 5, 6, and 7—you can use GPIO pins located in these banks.
• Bank 8—you can use a percentage of the GPIO pins in this bank based on drive
U324 strength:
F256 • For an example listing the percentage of GPIO pins allowed in bank 8 for the
F484 F484 package, refer to Table 3-4(9).
• Use low drive strength (8 mA and below) and differential I/O standards.
F672
• Do not place transmitter pins in this bank. Use banks 2, 3, 4, 5, 6, or 7 instead.
• You can use static pins such as RESET or CONTROL.
• GPIO pins in this bank are governed by physics-based rules. The Quartus Prime
software will issue a critical warning I/O settings violates any of the I/O physic-
based rule.
E144 • Bank 1A, 1B, 2, and 8—you cannot use GPIO pins in these banks.
• Banks 4 and 6—you can use GPIO pins located in these banks.
• Banks 3, 5, and 7—you can use a percentage of the GPIO pins in this bank based on
drive strength:
• For the percentage of GPIO pins allowed, refer to Table 3-5.
• Use low drive strength (8 mA and below) and differential I/O standards.
• GPIO pins in these banks are governed by physics-based rules. The Quartus
Prime software will issue a critical warning I/O settings violates any of the I/O
physic-based rule.
Table 3-4: I/O Usage Restriction for Bank 8 in MAX 10 F484 Package
This table lists the percentage of I/O pins available in I/O bank 8 if you use the dedicated analog input (ANAIN1 or
ANAIN2) or any dual function ADC I/O pins as ADC channel. Refer to Table 3-6 for the list of I/O standards in
each group.
I/O Standards TX RX Total Availability (%)
Group 1 18 18 36 100
Group 2 16 16 32 89
Group 3 7 11 18 50
Group 4 5 7 12 33
(9)
For all device packages, the software displays a warning message if the number of GPIO pins in bank 8 is
more than the allowed percentage.
Send Feedback
UG-M10GPIO
2016.05.02 Guidelines: Analog-to-Digital Converter I/O Restriction 3-5
Table 3-5: I/O Usage Restriction for Banks 3, 5, and 7 in MAX 10 E144 Package
This table lists the percentage of I/O pins available in banks 3, 5, and 7 if you use the dedicated analog input
(ANAIN1 or ANAIN2) or any dual function ADC I/O pins as ADC channel inputs. Refer to Table 3-6 for the list of
I/O standards in each group.
Bank 3 Bank 5 Bank 7
Device I/O
I/O Standards TX RX Availability TX RX Availability TX RX Availability Availability (%)
(%) (%) (%)
Group 1 7 8 88 6 6 100 4 3 100 54
Group 2 7 8 88 6 6 100 4 3 100 54
Group 3 4 5 50 6 6 100 2 0 29 45
Group 4 3 4 39 5 5 83 0 0 0 39
Group 5 2 3 28 5 5 83 0 0 0 37
Group 6 1 2 17 5 5 83 0 0 0 35
Group 7 0 0 0 5 5 83 0 0 0 32
Send Feedback
UG-M10GPIO
3-6 Guidelines: Analog-to-Digital Converter I/O Restriction 2016.05.02
Group 3 • BLVDS at 12 mA
• SLVS at 12 mA
• Sub-LVDS at 12 mA
• SSTL-2 Class I at 10 mA or 12 mA
• SSTL-18 Class I at 10 mA or 12 mA
• SSTL-15 Class I at 10 mA or 12 mA
• 1.8 V, 1.5 V, and 1.2 V HSTL Class I at 10 mA or 12 mA
• SSTL-2 at 50 Ω
• SSTL-18 at 50 Ω
• SSTL-15 at 50 Ω
• 1.8 V, 1.5 V and 1.2 V HSTL at 50 Ω
• HSUL-12 at 48 Ω
• 2.5 V and 1.8 V LVTTL at 50 Ω
• 2.5 V, 1.8 V, 1.5 V, and 1.2 V LVCMOS at 50 Ω
• 1.8 V LVTTL at 6 mA or 8 mA
• 1.8 V, 1.5 V, and 1.2 V LVCMOS at 6 mA or 8 mA
• 3.0 V LVTTL at 4 mA
• 3.0 V LVCMOS at 4 mA
Send Feedback
UG-M10GPIO
2016.05.02 Guidelines: External Memory Interface I/O Restrictions 3-7
Send Feedback
UG-M10GPIO
3-8 Guidelines: Dual-Purpose Configuration Pin 2016.05.02
Table 3-7: DDR3 and LPDDR2 Memory Interface Widths and Device Packages Where Two GPIOs Adjacent
to DQ Pins Are Disabled
This table lists the combination of MAX 10 10M16, 10M25, 10M40, and 10M50 device packages, and DDR3 and
LPDDR2 memory interface widths where you cannot use two GPIO pins that are adjacent to the DQ pins.
Device Package Memory Interface Width (DDR3 and LPPDR2 only)
U324 x8
F484 x8, x16, x24
F672 x8, x16, x24
Guidelines Pins
Configuration pins during initialization:
• nCONFIG
• Tri-state the external I/O driver and drive an external pull-up resistor(10) or
• nSTATUS
• Use the external I/O driver to drive the pins to the state same as the external
• CONF_DONE
weak pull-up resistor
(10)
If you intend to remove the external weak pull-up resistor, Altera recommends that you remove it after the
device enters user mode.
Send Feedback
UG-M10GPIO
2016.05.02 Guidelines: Clock and Data Input Signal for MAX 10 E144 Package 3-9
Guidelines Pins
JTAG pins:
• If you intend to switch back and forth between user I/O pins and JTAG pin
functions using the JTAGEN pin, all JTAG pins must be assigned as single-ended
I/O pins or voltage-referenced I/O pins. Schmitt trigger input is the
recommended input buffer. • TDO
• JTAG pins cannot perform as JTAG pins in user mode if you assign any of the • TMS
JTAG pin as a differential I/O pin. • TCK
• You must use the JTAG pins as dedicated pins and not as user I/O pins during • TDI
JTAG programming.
• Do not toggle JTAG pin during the initialization stage.
• Put the test access port (TAP) controller in reset state by driving the TDI and
TMS pins high and TCK pin low for at least 5 clock cycles before the initialization.
Attention: Assign all JTAG pins as single-ended I/O pins or voltage-referenced I/O pins if you enable
JTAG pin sharing feature.
Related Information
MAX 10 FPGA Configuration User Guide
Provides more information about the dual-purpose I/O pins in configuration and user modes.
Guidelines: Clock and Data Input Signal for MAX 10 E144 Package
There is strong inductive coupling on the MAX 10 E144 lead frame package. Glitch may occur on an
input pin when an aggressor pin with strong drive strength toggles directly adjacent to it.
Send Feedback
UG-M10GPIO
3-10 Guidelines: Clock and Data Input Signal for MAX 10 E144 Package 2016.05.02
To reduce jitter on data input pin, Altera recommends the following guidelines:
• Reduce the drive strength of the directly adjacent output pin for the different unterminated I/O
standards as follows:
• 4 mA or below—2.5 V, 3.0 V, and 3.3 V unterminated I/O standards
• 6 mA or below—1.2 V, 1.5 V, and 1.8 V unterminated I/O standards
• For unterminated I/O standard, assign the pins directly on the left and right of the data input pin to a
non-toggling signal.
• For terminated I/O standard, you can use only one pin directly on the left or right of the data input pin
as toggling signal, provided that you set the slew rate setting of this pin to “0” (slow slew rate).
Otherwise, assign the pins directly on the left and right of the data input pin to a non-toggling signal.
• Change the unterminated I/O standard data input pin to a Schmitt Trigger input buffer for better noise
immunity. If you are using Schmitt Trigger input buffer on the data input pin, you can use the directly
adjacent output pin with unterminated I/O standard at a maximum drive strength of 8 mA.
Send Feedback
2016.05.02
MAX 10 I/O Implementation Guides
4
UG-M10GPIO Subscribe Send Feedback
You can implement your I/O design in the Quartus Prime software. The software contains tools for you to
create and compile your design, and configure your device.
The Quartus Prime software allows you to prepare for device migration, set pin assignments, define
placement restrictions, setup timing constraints, and customize IP cores. For more information about
using the Quartus Prime software, refer to the related information.
Related Information
MAX 10 I/O Overview on page 1-1
DATAIN[3:0] Output
Path
DATAOUT[3:0] Input
Path
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10GPIO
4-2 Altera GPIO Lite IP Core Data Paths 2016.05.02
Related Information
• Introduction to Altera IP Cores
Provides general information about all Altera IP cores, including parameterizing, generating,
upgrading, and simulating IP.
• Creating Version-Independent IP and Qsys Simulation Scripts
Create simulation scripts that do not require manual updates for software or IP version upgrades.
• Project Management Best Practices
Guidelines for efficient management and portability of your project and IP files.
Mode
Data Path
Bypass Single Register DDR
Input Data goes from the delay The full-rate DDIO operates The full-rate DDIO
element to the core, as a single register. operates as a regular
bypassing all double data DDIO.
rate I/Os (DDIOs).
Output Data goes from the core The full-rate DDIO operates The full-rate DDIO
straight to the delay element, as a single register. operates as a regular
bypassing all DDIOs. DDIO.
Bidirectional The output buffer drives The full-rate DDIO operates The full-rate DDIO
both an output pin and an as a single register. The operates as a regular
input buffer. output buffer drives both an DDIO. The output buffer
output pin and an input drives both an output pin
buffer. and an input buffer. The
input buffer drives a set
of three flip-flops.
If you use asynchronous clear and preset signals, all DDIOs share these same signals.
Send Feedback
UG-M10GPIO
2016.05.02 DDR Output Path with Output Enable 4-3
Figure 4-2: Simplified View of Altera GPIO Lite DDR Input Path
DDIO_IN
RegAi RegCi
pad_in Delay
D Q D Q IO_DATAIN0
Element
Input
Buffer
inclk
RegBi
D Q IO_DATAIN1
High Z High Z
pad_in D0 D1 D2 D3 D4 D5 D6 D7
inclk
Output from RegAi D0 D2 D4 D6
Output from RegBi D1 D3 D5 D7
Send Feedback
UG-M10GPIO
4-4 Verifying Pin Migration Compatibility 2016.05.02
Figure 4-4: Simplified View of Altera GPIO Lite DDR Output Path with Output Enable
DDIO_OUT
RegCo OE
IO_DATAOUT0 D Q Delay
Output DDR
Element
RegDo
IO_DATAOUT1 D Q
outclock QB
OE
IO_DATAOUT1 D0 D2 D4 D6
IO_DATAOUT0 D1 D3 D5 D7
outclock
RegCo D1 D3 D5 D7
RegD0 D0 D2 D4 D6
Output DDR D0 D1 D2 D3 D4 D5 D6 D7
Send Feedback
UG-M10GPIO
2016.05.02 Verifying Pin Migration Compatibility 4-5
Related Information
MAX 10 I/O Vertical Migration Support on page 1-3
Send Feedback
2016.05.02
Altera GPIO Lite IP Core References
5
UG-M10GPIO Subscribe Send Feedback
You can set various parameter settings for the Altera GPIO Lite IP core to customize its behaviors, ports,
and signals.
The Quartus Prime software generates your customized Altera GPIO Lite IP core according to the
parameter options that you set in the parameter editor.
Related Information
MAX 10 I/O Overview on page 1-1
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10GPIO
5-2 Altera GPIO Lite Parameter Settings 2016.05.02
Use bus-hold circuitry Data direction = • On If turned on, the bus hold
input or output • Off circuitry can weakly hold the
signal on an I/O pin at its last-
driven state where the output
buffer state will be 1 or 0 but not
high-impedance.
Use open drain output Data direction = • On If turned on, the open drain
output or bidir • Off output enables the device to
provide system-level control
signals such as interrupt and write
enable signals that can be asserted
by multiple devices in your
system.
Enable nsleep port (only Data direction = • On If turned on, enables the nsleep
available in selected devices) input or bidir • Off port.
This option is available for the
10M16, 10M25, 10M40, and
10M50 devices.
Send Feedback
UG-M10GPIO
2016.05.02 Altera GPIO Lite Parameter Settings 5-3
Enable aclr port • Register mode = • On If turned on, enables the ACLR
ddr • Off port for asynchronous clears.
Enable aset port • Data direction = • On If turned on, enables the ASET
output or bidir • Off port for asynchronous preset.
• Register mode =
ddr
• Set registers to
power up high
(when aclr and
aset ports are not
used) = off
Set registers to power up high • Register mode = • On If you are not using the ACLR and
(when aclr and aset ports are ddr • Off ASET ports:
not used) • Enable aclr port = • On—specifies that registers
off power up HIGH.
• Enable aset port = • Off—specifies that registers
off power up LOW.
• Enable sclr port =
off
Send Feedback
UG-M10GPIO
5-4 Altera GPIO Lite Parameter Settings 2016.05.02
Invert din • Data direction = • On If turned on, inverts the data out
output • Off output port.
• Register mode =
ddr
Invert DDIO inclock • Data direction = • On • On—captures the first data bit
input or bidir • Off on the falling edge of the input
• Register mode = clock.
ddr • Off—captures the first data bit
on the rising edge of the input
clock.
Use a single register to drive • Data direction = • On If turned on, specifies that a single
the output enable (oe) signal output or bidir • Off register drives the OE signal at the
at the I/O buffer • Register mode = output buffer.
single-register or
ddr
• Use DDIO
registers to drive
the output enable
(oe) signal at the I/
O buffer = off
Use DDIO registers to drive • Data direction = • On If turned on, specifies that the
the output enable (oe) signal output or bidir • Off DDR I/O registers drive the OE
at the I/O buffer • Register mode = signal at the output buffer. The
ddr output pin is held at high
• Use a single impedance for an extra half clock
register to drive cycle after the OE port goes high.
the output enable
(oe) signal at the I/
O buffer = off
Send Feedback
UG-M10GPIO
2016.05.02 Altera GPIO Lite Interface Signals 5-5
The pad interface connects the Altera GPIO Lite IP core to the pads.
Signal Name Direction Description
pad_in Input Input pad port if you use the input path.
pad_in_b Input Input negative pad port if you use the input path and enable
the true or pseudo differential buffers.
pad_out Output Output pad port if you use the output path.
pad_out_b Output Output negative pad port if you use the output path and
enable the true of pseudo differential buffers.
pad_io_b Bidirectional Bidirectional negative pad port if you use bidirectional paths
and enable true or pseudo differential buffers.
Send Feedback
UG-M10GPIO
5-6 Altera GPIO Lite Interface Signals 2016.05.02
The data interface is an input or output interface from the Altera GPIO Lite IP core to the FPGA core.
Signal Name Direction Description
din Input Data received from the input pin.
Signal width for each input pin:
• DDR mode—2
• Other modes—1
oe Input Control signal that enables the output buffer. This signal is
active HIGH.
nsleep Input Control signal that enables the input buffer. This signal is
active LOW.
This signal is available for the 10M16, 10M25, 10M40, and
10M50 devices.
The clock interface is an input clock interface. It consists of different signals, depending on the configuration. The
Altera GPIO Lite IP core can have zero, one, two, or four clock inputs. Clock ports appear differently in different
configurations to reflect the actual function performed by the clock signal.
Signal Name Direction Description
inclock Input Input clock that clocks the registers in the input path.
inclocken Input Control signal that controls when data is clocked in. This
signal is active HIGH.
outclock Input Input clock that clocks the registers in the output path.
ouctlocken Input Control signal that controls when data is clocked out. This
signal is active HIGH.
Send Feedback
UG-M10GPIO
2016.05.02 Altera GPIO Lite Interface Signals 5-7
The reset interface connects the Altera GPIO Lite IP core to the DDIOs.
Signal Name Direction Description
aclr Input Control signal for asynchronous clear that sets the register
output state to 0. This signal is active HIGH.
aset Input Control signal for asynchronous preset that sets the register
output state to 1. This signal is active HIGH.
sclr Input Control signal for synchronous clear that sets the register
output to 0. This signal is active HIGH.
Send Feedback
2016.05.02
MAX 10 General Purpose I/O User Guide
Archives A
UG-M10GPIO Subscribe Send Feedback
If an IP core version is not listed, the user guide for the previous IP core version applies.
IP Core Version User Guide
15.1 MAX 10 General Purpose I/O User Guide
15.0 MAX 10 General Purpose I/O User Guide
14.1 MAX 10 General Purpose I/O User Guide
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2016.05.02
Document Revision History for MAX 10 General
Purpose I/O User Guide B
UG-M10GPIO Subscribe Send Feedback
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10GPIO
B-2 Document Revision History for MAX 10 General Purpose I/O User Guide 2016.05.02
June 2015 2015.06.10 • Added related link to the MAX 10 device pin-outs in topic about I/
O banks locations. The device pin-out files provide more informa‐
tion about available I/O pins in each I/O bank.
• Updated the ADC I/O restriction guidelines topic.
May 2015 2015.05.04 • Removed the F672 package of the MAX 10 10M25 device.
• Updated footnote for LVDS (dedicated) in the table listing the
supported I/O standards to clarify that you can use LVDS receivers
on all I/O banks.
• Added missing footnote number for the DQS column of the 3.3 V
Schmitt Trigger row in the table that lists the I/O standards voltage
levels and pin support.
• Added a table listing the I/O standards and current strength
settings that support programmable output slew rate control.
• Updated the topic about external memory interface I/O restrictions
to add x24 memory interface width to the F484 package.
• Added topic about the programmable differential output voltage.
• Updated the guidelines for voltage-referenced I/O standards to add
a list of device packages that do not support voltage-referenced I/O
standards.
• Updated the topic about the I/O restriction rules to remove
statements about the differential pad placement rules.
• Renamed the input_ena signal name to nsleep and updated the
relevant description.
• Updated the description for the Invert DDIO inclock parameter of
the Altera GPIO Lite IP core.
Altera Corporation Document Revision History for MAX 10 General Purpose I/O User Guide
Send Feedback
UG-M10GPIO
2016.05.02 Document Revision History for MAX 10 General Purpose I/O User Guide B-3
Document Revision History for MAX 10 General Purpose I/O User Guide Altera Corporation
Send Feedback
MAX 10 High-Speed LVDS I/O User Guide
Contents
Altera Corporation
TOC-3
Document Revision History for MAX 10 High-Speed LVDS I/O User Guide..
B-1
Altera Corporation
2016.10.31
MAX 10 High-Speed LVDS I/O Overview
1
UG-M10LVDS Subscribe Send Feedback
The MAX® 10 device family supports high-speed LVDS protocols through the LVDS I/O banks and the
Altera Soft LVDS IP core.
Table 1-1: Summary of LVDS I/O Buffers Support in MAX 10 I/O Banks
I/O Buffer Type I/O Bank Support
True LVDS input buffer All I/O banks
True LVDS output buffer Only bottom I/O banks
Emulated LVDS output buffer All I/O banks
The LVDS I/O standards support differs between MAX 10 D and S variants. Refer to related information
for more details.
Related Information
• MAX 10 High-Speed LVDS Architecture and Features on page 2-1
Provides information about the high-speed LVDS architecture and the features supported by the
device.
• MAX 10 LVDS Transmitter Design on page 3-1
Provides information and guidelines for implementing LVDS transmitter in MAX 10 devices using the
Altera Soft LVDS IP core.
• MAX 10 LVDS Receiver Design on page 4-1
Provides information and guidelines for implementing LVDS receiver in MAX 10 devices using the
Altera Soft LVDS IP core.
• MAX 10 LVDS Transmitter and Receiver Design on page 5-1
Provides design guidelines for implementing both LVDS transmitters and receivers in the same MAX
10 device.
• Altera Soft LVDS IP Core References on page 7-1
Lists the parameters and signals of Altera Soft LVDS IP core for MAX 10 devices.
• MAX 10 LVDS SERDES I/O Standards Support on page 2-7
Lists the supported LVDS I/O standards and the support in different MAX 10 device variants.
• MAX 10 High-Speed LVDS I/O User Guide Archives on page 8-1
Provides a list of user guides for previous versions of the Altera Soft LVDS IP core.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10LVDS
1-2 Altera Soft LVDS Implementation Overview 2016.10.31
Send Feedback
2016.10.31
MAX 10 High-Speed LVDS Architecture and
Features 2
UG-M10LVDS Subscribe Send Feedback
The MAX 10 devices use registers and logic in the core fabric to implement LVDS input and output
interfaces.
• For LVDS transmitters and receivers, MAX 10 devices use the the double data rate I/O (DDIO)
registers that reside in the I/O elements (IOE). This architecture improves performance with regards to
the receiver input skew margin (RSKM) or transmitter channel-to-channel skew (TCCS).
• For the LVDS serializer/deserializer (SERDES), MAX 10 devices use logic elements (LE) registers.
Related Information
• MAX 10 High-Speed LVDS I/O Overview on page 1-1
• MAX 10 LVDS SERDES I/O Standards Support on page 2-7
Lists the supported LVDS I/O standards and the support in different MAX 10 device variants.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10LVDS
2-2 MAX 10 LVDS Channels Support 2016.10.31
Send Feedback
UG-M10LVDS
2016.10.31 MAX 10 LVDS Channels Support 2-3
Send Feedback
UG-M10LVDS
2-4 MAX 10 LVDS Channels Support 2016.10.31
Send Feedback
UG-M10LVDS
2016.10.31 MAX 10 LVDS Channels Support 2-5
Send Feedback
UG-M10LVDS
2-6 MAX 10 LVDS Channels Support 2016.10.31
Send Feedback
UG-M10LVDS
2016.10.31 MAX 10 LVDS SERDES I/O Standards Support 2-7
Related Information
• MAX 10 Device Pin-Out Files
Provides pin-out files for each MAX 10 device.
• MAX 10 High-Speed LVDS I/O Location on page 2-11
Send Feedback
UG-M10LVDS
2-8 MAX 10 LVDS SERDES I/O Standards Support 2016.10.31
MAX 10 Device
Support
I/O Standard I/O Bank TX RX Dual Single Notes
Supply Supply
Device Device
True LVDS All Bottom Yes Yes Yes • All I/O banks support
banks true LVDS input buffers.
only • Only the bottom I/O
banks support true LVDS
output buffers.
Emulated LVDS All Yes — Yes Yes All I/O banks support
(three resistors) emulated LVDS output
buffers.
Emulated RSDS All Yes — Yes Yes All I/O banks support
(three resistors) emulated RSDS output
buffers.
Send Feedback
UG-M10LVDS
2016.10.31 MAX 10 LVDS SERDES I/O Standards Support 2-9
MAX 10 Device
Support
I/O Standard I/O Bank TX RX Dual Single Notes
Supply Supply
Device Device
Send Feedback
UG-M10LVDS
2-10 MAX 10 High-Speed LVDS Circuitry 2016.10.31
MAX 10 Device
Support
I/O Standard I/O Bank TX RX Dual Single Notes
Supply Supply
Device Device
Related Information
• MAX 10 FPGA Device Overview
• Emulated LVDS External Termination on page 3-3
• Emulated RSDS, Emulated Mini-LVDS, and Emulated PPDS Transmitter External Termination on
page 3-4
• TMDS Receiver External Termination on page 4-4
• Sub-LVDS Transmitter External Termination on page 3-3
• Sub-LVDS Receiver External Termination on page 4-3
• SLVS Transmitter External Termination on page 3-4
• SLVS Receiver External Termination on page 4-3
• HiSpi Receiver External Termination on page 4-4
Send Feedback
UG-M10LVDS
2016.10.31 MAX 10 High-Speed LVDS I/O Location 2-11
ALTERA_SOFT_LVDS
10
tx_in tx_in tx_out + tx_out
C0
–
inclock
10 bits C1 LVDS Transmitter
maximum tx_coreclock
data width
FPGA LVDS Receiver
Fabric ALTERA_SOFT_LVDS
10 +
rx_out rx_out rx_in – rx_in
C0
inclock
C1
rx_outclock
Related Information
MAX 10 Clocking and PLL User Guide
Provides more information about the PLL and the PLL output counters.
Send Feedback
UG-M10LVDS
2-12 MAX 10 High-Speed LVDS I/O Location 2016.10.31
1 6
TX RX
LVDS
Emulated LVDS
RSDS
Emulated RSDS
Mini-LVDS
2 5 Emulated Mini-LVDS
PPDS
Emulated PPDS
BLVDS
LVPECL
TMDS
Sub-LVDS
3 SLVS
HiSpi
Send Feedback
UG-M10LVDS
2016.10.31 MAX 10 High-Speed LVDS I/O Location 2-13
Figure 2-3: LVDS Support in I/O Banks of 10M04 and 10M08 Devices
This figure shows a top view of the silicon die. Each bank is labeled with the actual bank number. LVPECL
support only in banks 2 and 6.
8 7
1A
6
TX RX
1B
LVDS
Emulated LVDS
RSDS
Emulated RSDS
Mini-LVDS
2 5 Emulated Mini-LVDS
PPDS
Emulated PPDS
BLVDS
LVPECL
TMDS
Sub-LVDS
3 4 SLVS
HiSpi
Send Feedback
UG-M10LVDS
2-14 Differential I/O Pins in Low Speed Region 2016.10.31
Figure 2-4: LVDS Support in I/O Banks of 10M16, 10M25, 10M40, and 10M50 Devices
This figure shows a top view of the silicon die. Each bank is labeled with the actual bank number. LVPECL
support only in banks 2, 3, 6, and 8.
8 7
1A
6
TX RX
1B
LVDS
Emulated LVDS
RSDS
Emulated RSDS
Mini-LVDS
2 5 Emulated Mini-LVDS
PPDS
Emulated PPDS
BLVDS
LVPECL
OCT TMDS
Sub-LVDS
3 4 SLVS
HiSpi
Related Information
• PLL Specifications
Provides PLL performance information for MAX 10 devices.
• High-Speed I/O Specifications
Provides minimum and maximum data rates for different data widths in MAX 10 devices.
Related Information
• MAX 10 Device Pin-Out Files
Provides pin-out files for each MAX 10 device.
• MAX 10 Device Datasheet
Send Feedback
UG-M10LVDS
2016.10.31 Differential I/O Pins in Low Speed Region 2-15
• MAX 10 I/O Banks Locations, MAX 10 General Purpose I/O User Guide
Shows the locations of the high speed and low speed I/O banks.
Send Feedback
2016.10.31
MAX 10 LVDS Transmitter Design
3
UG-M10LVDS Subscribe Send Feedback
You can implement transmitter-only applications using the MAX 10 LVDS solution. You can use the
Altera Soft LVDS IP core to instantiate soft SERDES circuitry. The soft SERDES circuitry works with the
clocks and differential I/O pins to create a high-speed differential transmitter circuit.
Related Information
• MAX 10 High-Speed LVDS I/O Overview on page 1-1
• MAX 10 LVDS SERDES I/O Standards Support on page 2-7
Lists the supported LVDS I/O standards and the support in different MAX 10 device variants.
Related Information
MAX 10 High-Speed LVDS Circuitry on page 2-10
Programmable Pre-Emphasis
The differential output voltage (VOD) setting and the output impedance of the driver set the output current
limit of a high-speed transmission signal. At a high frequency, the slew rate may not be fast enough to
reach the full VOD level before the next edge, producing pattern-dependent jitter. Pre-emphasis
momentarily boosts the output current during switching to increase the output slew rate.
Pre-emphasis increases the amplitude of the high-frequency component of the output signal. This increase
compensates for the frequency-dependent attenuation along the transmission line.
The overshoot introduced by the extra current occurs only during change of state switching. This
overshoot increases the output slew rate but does not ring, unlike the overshoot caused by signal
reflection. The amount of pre-emphasis required depends on the attenuation of the high-frequency
component along the transmission line.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10LVDS
3-2 Programmable Differential Output Voltage 2016.10.31
Voltage boost
from pre-emphasis
VP
OUT
V OD
OUT
VP
Differential output
voltage (peak–peak)
Single-Ended Waveform
VOD
p-n=0V
VOD
Send Feedback
UG-M10LVDS
2016.10.31 LVDS Transmitter I/O Termination Schemes 3-3
You can statically adjust the VOD of the differential signal by changing the VOD settings in the Quartus
Prime software Assignment Editor.
RS
50 Ω
RP 100 Ω
50 Ω
RS
Send Feedback
UG-M10LVDS
3-4 SLVS Transmitter External Termination 2016.10.31
1.8 V
Z0 = 50 Ω
267 Ω
TX 121 Ω 100 Ω RX
Z0 = 50 Ω
267 Ω
2.5 V 2.5 V
221 Ω 15 Ω
Z0 = 50 Ω
48.7 Ω
TX 100 Ω RX
Z0 = 50 Ω
48.7 Ω
221 Ω 15 Ω
Send Feedback
UG-M10LVDS
2016.10.31 LVDS Transmitter FPGA Design Implementation 3-5
Figure 3-6: External Termination for Emulated RSDS, Mini-LVDS, or PPDS Transmitter
In this figure, RS is 120 Ω and RP is 170 Ω.
RS
50 Ω
RP 100 Ω
50 Ω
RS
Emulated RSDS,
Mini-LVDS, or PPDS RSDS, Mini-LVDS, or
on FPGA PPDS peer
50 Ω
100 Ω 100 Ω
50 Ω
Send Feedback
UG-M10LVDS
3-6 Altera Soft LVDS IP Core in Transmitter Mode 2016.10.31
Related Information
• Altera Soft LVDS Parameter Settings on page 7-1
• Introduction to Altera IP Cores
Provides general information about all Altera FPGA IP cores, including parameterizing, generating,
upgrading, and simulating IP cores.
• Creating Version-Independent IP and Qsys Simulation Scripts
Create simulation scripts that do not require manual updates for software or IP version upgrades.
• Project Management Best Practices
Guidelines for efficient management and portability of your project and IP files.
Related Information
• MAX 10 Clocking and PLL User Guide
Provides more information about the PLL and the PLL output counters.
• MAX 10 Clocking and PLL User Guide
Provides more information about the PLL and the PLL output counters.
Send Feedback
UG-M10LVDS
2016.10.31 Guidelines: LVDS TX Interface Using External PLL 3-7
Related Information
MAX 10 Clocking and PLL User Guide
Provides more information about the PLL and the PLL output counters.
Table 3-3: Example: Signal Interface between ALTPLL and Altera Soft LVDS Transmitter
From the ALTPLL IP Core To the Altera Soft LVDS Transmitter
Determining External PLL Clock Parameters for Altera Soft LVDS Transmitter
To determine the ALTPLL IP core clock parameter for the Altera Soft LVDS IP core transmitter, follow
these steps in your design:
1. Instantiate the Altera Soft LVDS IP core transmitter using internal PLL.
2. Compile the design up to TimeQuest timing analysis.
3. In the Table of Contents section of the Compilation Report window, navigate to TimeQuest Timing
Analyzer > Clocks.
4. Note the clock parameters used by the internal PLL for the Altera Soft LVDS IP core transmitter.
In the list of clocks, clk0 is the fast clock.
Send Feedback
UG-M10LVDS
3-8 Initializing the Altera Soft LVDS IP Core 2016.10.31
Figure 3-8: Clock Parameters Example for Altera Soft LVDS Transmitter
Configure the ALTPLL output clocks with the parameters you noted in this procedure and connect the
clock outputs to the correct Altera Soft LVDS clock input ports.
Related Information
MAX 10 Device Datasheet
Send Feedback
UG-M10LVDS
2016.10.31 Guidelines: LVDS Transmitter Channels Placement 3-9
Table 3-4: Examples of Usable PLL to Drive I/O Banks in MAX 10 Devices
I/O Bank Edge Input refclk GCLK mux Usable PLL
Left Left Left Top left or bottom left
Bottom Bottom Bottom Bottom left or bottom right
Right Right Right Top right or bottom right
Top Top Top Top left or top right
Send Feedback
UG-M10LVDS
3-10 Guidelines: Enable LVDS Pre-Emphasis for E144 Package 2016.10.31
• The TCCS parameter is guaranteed per datasheet specification to the entire bank of differential I/Os
that are located in the same side. This guarantee applies if the transmitter SERDES logic is placed
within the LAB adjacent to the output pins.
• Constrain the transmitter SERDES logic to the LAB adjacent to the data output pins and clock output
pins to improve the TCCS performance.
Related Information
Quartus Prime Incremental Compilation for Hierarchical and Team-Based Design chapter, Volume 1:
Design and Synthesis, Quartus Prime Handbook
Provides step by step instructions about creating a design floorplan with LogicLock location assignments.
Related Information
MAX 10 General Purpose I/O User Guide
Send Feedback
2016.10.31
MAX 10 LVDS Receiver Design
4
UG-M10LVDS Subscribe Send Feedback
You can implement receiver-only applications using the MAX 10 LVDS solution. You can use the Altera
Soft LVDS IP core to instantiate soft SERDES circuitry. The soft SERDES circuitry works with the clocks
and differential I/O pins to create a high-speed differential receiver circuit.
Related Information
• MAX 10 High-Speed LVDS I/O Overview on page 1-1
• MAX 10 LVDS SERDES I/O Standards Support on page 2-7
Lists the supported LVDS I/O standards and the support in different MAX 10 device variants.
Related Information
MAX 10 High-Speed LVDS Circuitry on page 2-10
Soft Deserializer
The soft deserializer converts a 1-bit serial data stream into a parallel data stream based on the
deserialization factor.
Figure 4-1: LVDS x8 Deserializer Waveform
RX_IN 7 6 5 4 3 2 1 0 a b c d e f g h A B C D E F G H X X X X X X X X
FCLK
RX_OUT[9:0] XXXXXXXX 76543210 abcdefgh ABCDEFGH
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10LVDS
4-2 Data Realignment Block (Bit Slip) 2016.10.31
Signal Description
rx_in LVDS data stream, input to the Altera Soft LVDS channel.
rx_inclock
rx_in 3 2 1 0 3 2 1 0 3 2 1 0
rx_outclock
rx_channel_data_align
rx_out 3210 321x xx21 0321
Send Feedback
UG-M10LVDS
2016.10.31 LVDS, Mini-LVDS, and RSDS Receiver External Termination 4-3
50 Ω
TX 100 Ω RX
50 Ω
2.5 V
Z0 = 50 Ω
TX 100 Ω RX
Z0 = 50 Ω
Send Feedback
UG-M10LVDS
4-4 TMDS Receiver External Termination 2016.10.31
2.5 V
Z0 = 50 Ω
TX 100 Ω RX
Z0 = 50 Ω
1.8 V
2.5 V
50 Ω 50 Ω
0.1 µF
Z0 = 50 Ω
TX RX
0.1 µF
Z0 = 50 Ω
Send Feedback
UG-M10LVDS
2016.10.31 LVPECL External Termination 4-5
2.5 V
Z0 = 50 Ω
TX 100 Ω RX
Z0 = 50 Ω
0.1 µF
Z0 = 50 Ω 50 Ω
VICM
Z0 = 50 Ω 50 Ω
0.1 µF
Support for DC-coupled LVPECL is available if the LVPECL output common mode voltage is within the
MAX 10 LVPECL input buffer specification.
Send Feedback
UG-M10LVDS
4-6 LVDS Receiver FPGA Design Implementation 2016.10.31
Z0 = 50 Ω
100 Ω
Z0 = 50 Ω
For information about the VICM specification, refer to the device datasheet.
Related Information
MAX 10 Device Datasheet
Related Information
• Altera Soft LVDS Parameter Settings on page 7-1
• Introduction to Altera IP Cores
Provides general information about all Altera FPGA IP cores, including parameterizing, generating,
upgrading, and simulating IP cores.
• Creating Version-Independent IP and Qsys Simulation Scripts
Create simulation scripts that do not require manual updates for software or IP version upgrades.
Send Feedback
UG-M10LVDS
2016.10.31 PLL Source Selection for Altera Soft LVDS IP Core 4-7
Related Information
• MAX 10 Clocking and PLL User Guide
Provides more information about the PLL and the PLL output counters.
• MAX 10 Clocking and PLL User Guide
Provides more information about the PLL and the PLL output counters.
Related Information
MAX 10 Clocking and PLL User Guide
Provides more information about the PLL and the PLL output counters.
Send Feedback
UG-M10LVDS
4-8 Determining External PLL Clock Parameters for Altera Soft LVDS Receiver 2016.10.31
If you use the ALTPLL IP core as the external PLL source of the Altera Soft LVDS receiver, use the source-
synchronous compensation mode.
Table 4-1: Example: Signal Interface Between ALTPLL and Altera Soft LVDS Receiver with Even
Deserialization Factor
From the ALTPLL IP Core To the Altera Soft LVDS Receiver
Table 4-2: Example: Signal Interface Between ALTPLL and Altera Soft LVDS Receiver with Odd
Deserialization Factor
From the ALTPLL IP Core To the Altera Soft LVDS Receiver
(clock input port for reading operation from RAM buffer and read
counter)
Determining External PLL Clock Parameters for Altera Soft LVDS Receiver
To determine the ALTPLL IP core clock parameter for the Altera Soft LVDS IP core receiver, follow these
steps in your design:
1. Instantiate the Altera Soft LVDS IP core receiver using internal PLL.
2. Compile the design up to TimeQuest timing analysis.
3. In the Table of Contents section of the Compilation Report window, navigate to TimeQuest Timing
Analyzer > Clocks.
4. Note the clock parameters used by the internal PLL for the Altera Soft LVDS IP core receiver.
In the list of clocks, clk[0] is the fast clock, clk[1] is the slow clock, and clk[2] is the read clock.
Send Feedback
UG-M10LVDS
2016.10.31 Initializing the Altera Soft LVDS IP Core 4-9
Figure 4-10: Clock Parameters Example for Altera Soft LVDS Receiver
Configure the ALTPLL output clocks with the parameters you noted in this procedure and connect the
clock outputs to the correct Altera Soft LVDS clock input ports.
Related Information
Guidelines: Control Channel-to-Channel Skew on page 6-1
Send Feedback
UG-M10LVDS
4-10 RSKM Equation 2016.10.31
RSKM Equation
The RSKM equation expresses the relationship between RSKM, TCCS, and SW.
Figure 4-11: RSKM Equation
Send Feedback
UG-M10LVDS
2016.10.31 RSKM Report for LVDS Receiver 4-11
Timing Diagram
External
Input Clock
Time Unit Interval (TUI)
Internal
Clock
TCCS TCCS
Receiver
Input Data RSKM SW RSKM
SW
Related Information
Guidelines: Control Channel-to-Channel Skew on page 6-1
Send Feedback
UG-M10LVDS
4-12 Assigning Input Delay to LVDS Receiver Using TimeQuest Timing Analyzer 2016.10.31
• To generate the RSKM report, run the report_RSKM command in the TimeQuest Timing Analyzer.
The RSKM report is available in the TimeQuest Timing Analyzer section of the Quartus Prime
compilation report.
• To obtain a more realistic RSKM value, assign the input delay to the LVDS receiver through the
constraints menu of the TimeQuest Timing Analyzer. The input delay is determined according to the
data arrival time at the LVDS receiver port, with respect to the reference clock.
• If you set the input delay in the settings parameters for the Set Input Delay option, set the clock name
to the clock that references the source-synchronous clock that feeds the LVDS receiver.
• If you do not set any input delay in the TimeQuest Timing Analyzer, the receiver channel-to-channel
skew defaults to zero.
• You can also directly set the input delay in a Synopsys Design Constraint file (.sdc) by using the
set_input_delay command.
Related Information
Guidelines: Control Channel-to-Channel Skew on page 6-1
Related Information
Guidelines: Control Channel-to-Channel Skew on page 6-1
Send Feedback
UG-M10LVDS
2016.10.31 Guidelines: Floating LVDS Input Pins 4-13
Related Information
Guidelines: Control Channel-to-Channel Skew on page 6-1
Table 4-3: Examples of Usable PLL to Drive I/O Banks in MAX 10 Devices
I/O Bank Edge Input refclk GCLK mux Usable PLL
Left Left Left Top left or bottom left
Bottom Bottom Bottom Bottom left or bottom right
Right Right Right Top right or bottom right
Send Feedback
UG-M10LVDS
4-14 Guidelines: LVDS Receiver Logic Placement 2016.10.31
Send Feedback
UG-M10LVDS
2016.10.31 Geometry-Based and Physics-Based I/O Rules 4-15
Related Information
MAX 10 General Purpose I/O User Guide
Send Feedback
2016.10.31
MAX 10 LVDS Transmitter and Receiver Design
5
UG-M10LVDS Subscribe Send Feedback
You can implement mixed transmitter and receiver applications using the MAX 10 LVDS solution. You
can use the Altera Soft LVDS IP core to instantiate soft SERDES circuitry. The soft SERDES circuitry
works with the clocks and differential I/O pins to create high-speed differential transmitter and receiver
circuits.
In a mixed transmitter and receiver implementation, the transmitter and receiver can share some FPGA
resources.
Related Information
• MAX 10 High-Speed LVDS I/O Overview on page 1-1
• MAX 10 LVDS SERDES I/O Standards Support on page 2-7
Lists the supported LVDS I/O standards and the support in different MAX 10 device variants.
Transmitter–Receiver Interfacing
You can instantiate the components for the Altera Soft LVDS interfaces by using internal or external PLLs.
Figure 5-1: Typical Altera Soft LVDS Interfaces with Internal PLL
FPGA Device
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10LVDS
5-2 LVDS Transmitter and Receiver FPGA Design Implementation 2016.10.31
Figure 5-2: Typical Altera Soft LVDS Interfaces with External PLL
FPGA Device
Related Information
• MAX 10 LVDS Transmitter Design on page 3-1
Provides more information about specific features and support of the LVDS transmitters.
• MAX 10 LVDS Receiver Design on page 4-1
Provides more information about specific features and support of the LVDS receivers.
Send Feedback
UG-M10LVDS
2016.10.31 Initializing the Altera Soft LVDS IP Core 5-3
Note: The number of PLLs available differs among MAX 10 packages. Altera recommends that you select
a MAX 10 device package that provides sufficient number of PLL clockouts for your design.
Related Information
MAX 10 General Purpose I/O User Guide
Send Feedback
2016.10.31
MAX 10 High-Speed LVDS Board Design
Considerations 6
UG-M10LVDS Subscribe Send Feedback
To achieve optimal performance from the MAX 10 device, you must consider critical issues such as
impedance of traces and connectors, differential routing, and termination techniques.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10LVDS
6-2 Guidelines: Determine Board Design Constraints 2016.10.31
At the package level, you must control the LVDS I/O skew for each I/O bank and each side of the device. If
you plan to vertically migrate from one device to another using the same board design, you must control
the package migration skew for each migratable LVDS I/O pin.
For information about controlling the LVDS I/O and package skew, refer to the related information.
Related Information
• Receiver Input Skew Margin on page 4-9
• RSKM Equation on page 4-10
Explains the relationship between the RSKM, TCCS, and SW.
• RSKM Report for LVDS Receiver on page 4-11
Provides guidelines to generate RSKM report with realistic RSKM value.
• Assigning Input Delay to LVDS Receiver Using TimeQuest Timing Analyzer on page 4-12
Provides the procedure to assign input delay in TimeQuest Timing Analyzer to obtain RSKM value.
• Example: RSKM Calculation on page 4-12
Related Information
Board Design Guidelines Solution Center
Provides resources related to board design for Altera devices.
Send Feedback
UG-M10LVDS
2016.10.31 Guidelines: Perform Board Level Simulations 6-3
You can use the programmable pre-emphasis feature on the true LVDS output buffers, for example, to
compensate for the frequency-dependent attenuation of the transmission line. With this feature, you can
maximize the data eye opening at the far end receiver especially on long transmission lines.
Related Information
• Altera IBIS Models
Provides IBIS models of Altera devices for download.
• Altera HSPICE Models
Provides SPICE models of Altera devices for download.
• IBIS Model Generation
Provides video that demonstrates how to generate IBIS file using the Quartus Prime software.
Send Feedback
2016.10.31
Altera Soft LVDS IP Core References
7
UG-M10LVDS Subscribe Send Feedback
You can set various parameter settings for the Altera Soft LVDS IP core to customize its behaviors, ports,
and signals.
The Quartus Prime software generates your customized Altera Soft LVDS IP core according to the
parameter options that you set in the parameter editor.
Related Information
• MAX 10 High-Speed LVDS I/O Overview on page 1-1
• MAX 10 LVDS SERDES I/O Standards Support on page 2-7
Lists the supported LVDS I/O standards and the support in different MAX 10 device variants.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10LVDS
7-2 Altera Soft LVDS Parameter Settings 2016.10.31
Data rate — Refer to the Specifies the data rate going out of the PLL.
device The multiplication value for the PLL is
datasheet. OUTPUT_DATA_RATE divided by
INCLOCK_ PERIOD.
Send Feedback
UG-M10LVDS
2016.10.31 Altera Soft LVDS Parameter Settings 7-3
Use common Use external PLL = Off • On • On—specifies that the compiler uses the
PLL(s) for receivers • Off same PLL for the LVDS receiver and
and transmitters transmitter.
• Off—specifies that the compiler uses
different PLLs for LVDS receivers and
transmitters.
You can use common PLLs if you use the
same input clock source, deserialization
factor, pll_areset source, and data rates.
Enable self-reset on Use external PLL = Off • On If turned on, the PLL is reset when it loses
loss lock in PLL • Off lock.
Desired transmitter • General, Depends on Specifies the phase shift parameter used by
inclock phase shift Functional mode = Data rate. the PLL for the transmitter.
TX
• Use external PLL =
Off
Desired receiver • General, Depends on Specifies the phase shift parameter used by
inclock phase shift Functional mode = Data rate. the PLL for the receiver.
RX
• Use external PLL =
Off
Send Feedback
UG-M10LVDS
7-4 Altera Soft LVDS Parameter Settings 2016.10.31
Bitslip rollover • General, 1–11 Specifies the number of pulses before the
value Functional mode = circuitry restores the serial data latency to 0.
RX
• Enable bitslip mode
= On
Use RAM buffer — • On If turned on, the Altera Soft LVDS IP core
• Off implements the output synchronization
buffer in the embedded memory blocks.
This implementation option uses more logic
than Use a multiplexer and synchroniza‐
tion register option but results in the
correct word alignment.
Send Feedback
UG-M10LVDS
2016.10.31 Altera Soft LVDS Parameter Settings 7-5
Register outputs General, Functional • On If turned on, registers the rx_out[] port.
mode = RX • Off If you turn this option off, you must pre-
register the rx_out[] port in the logic that
feeds the receiver.
Send Feedback
UG-M10LVDS
7-6 Altera Soft LVDS Parameter Settings 2016.10.31
Desired transmitter • General, Depends on Specifies the phase shift of the output clock
outclock phase Functional mode = Data rate. relative to the input clock.
shift TX
• PLL Settings, Use
external PLL = Off
• Enable 'tx_
outclock' output
port = On
Register 'tx_in' General, Functional • On If turned on, registers the tx_in[] port.
input port mode = TX • Off If you turn this option off, you must pre-
register the tx_in[] port in the logic that
feeds the transmitter.
Clock resource • General, • tx_inclock Specifies which clock resource registers the
Functional mode = • tx_ tx_in input port.
TX coreclock
• Register 'tx_in'
input port = On
Send Feedback
UG-M10LVDS
2016.10.31 Altera Soft LVDS Interface Signals 7-7
Related Information
• Altera Soft LVDS IP Core in Transmitter Mode on page 3-6
• Altera Soft LVDS IP Core in Receiver Mode on page 4-6
Send Feedback
UG-M10LVDS
7-8 Altera Soft LVDS Interface Signals 2016.10.31
Send Feedback
UG-M10LVDS
2016.10.31 Altera Soft LVDS Interface Signals 7-9
Send Feedback
UG-M10LVDS
7-10 Altera Soft LVDS Interface Signals 2016.10.31
Send Feedback
2016.10.31
MAX 10 High-Speed LVDS I/O User Guide
Archives A
UG-M10LVDS Subscribe Send Feedback
If an IP core version is not listed, the user guide for the previous IP core version applies.
IP Core Version User Guide
16.0 MAX 10 High-Speed LVDS I/O User Guide
15.1 MAX 10 High-Speed LVDS I/O User Guide
15.0 MAX 10 High-Speed LVDS I/O User Guide
14.1 MAX 10 High-Speed LVDS I/O User Guide
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2016.10.31
Document Revision History for MAX 10 High-
Speed LVDS I/O User Guide B
UG-M10LVDS Subscribe Send Feedback
May 2016 2016.05.02 • Added true RSDS and emulated RSDS (three resistors) transmitter
support for single supply MAX 10 devices.
• Updated the transmitter and receiver channels placement topics to
describe about minimizing skew when you group LVDS channels
for an application.
• Updated the description of the rx_data_reset interface signal to
specify that you must externally synchronize it with the fast clock.
• Updated the General tab of the Altera Soft LVDS parameter
settings:
• Added the Power Supply Mode option.
• Updated the allowed values of the SERDES factor parameter.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10LVDS
B-2 Document Revision History for MAX 10 High-Speed LVDS I/O User Guide 2016.10.31
Altera Corporation Document Revision History for MAX 10 High-Speed LVDS I/O User Guide
Send Feedback
UG-M10LVDS
2016.10.31 Document Revision History for MAX 10 High-Speed LVDS I/O User Guide B-3
December 2014 2014.12.15 • Updated table listing LVDS channels to include LVDS channel
counts for each device package.
• Added information in the topics about channels placement that
MAX 10 devices support x18 bundling mode.
• Updated the examples in topics about channels PLL placement to
provide more details.
• Added link to the MAX 10 Clocking and PLL User Guide that
provides more information about the PLL and the PLL output
counters used to clock the soft SERDES.
Document Revision History for MAX 10 High-Speed LVDS I/O User Guide Altera Corporation
Send Feedback
MAX 10 External Memory Interface User
Guide
Contents
Altera Corporation
TOC-3
Altera Corporation
2016.10.28
MAX 10 External Memory Interface Overview
1
UG-M10EMI Subscribe Send Feedback
The MAX® 10 devices are capable of interfacing with a broad range of external memory standards. With
this capability, you can utilize MAX 10 devices in a wide range of applications such as image processing,
storage, communications, and general embedded systems.
The external memory interface solution in MAX 10 devices consist of:
• The I/O elements that support external memory interfaces.
• The UniPHY IP core that allows you to configure the memory interfaces to support different external
memory interface standards.
Note: Altera recommends that you construct all DDR2, DDR3, and LPDDR2 SDRAM external memory
interfaces using the UniPHY IP core.(1)
Related Information
• MAX 10 External Memory Interface Architecture and Features on page 2-1
• MAX 10 External Memory Interface Design Considerations on page 3-1
• MAX 10 External Memory Interface Implementation Guides on page 4-1
• UniPHY IP Core References for MAX 10 on page 5-1
• Documentation: External Memory Interfaces
Provides more information about external memory system performance specification, board design
guidelines, timing analysis, simulation, and debugging.
• External Memory Interface Handbook Volume 1: Altera Memory Solution Overview and Design
Flow
Provides more information about using Altera devices for external memory interfaces including Altera
memory solution and design flow.
• External Memory Interface Handbook Volume 2: Design Guidelines
Provides more information about using Altera devices for external memory interfaces including
memory selection, board design, implementing memory IP cores, timing, optimization, and
debugging.
• Functional Description—MAX 10 EMIF
Provides more information about implementing memory IP cores for MAX 10 devices.
• MAX 10 DDR3 Reference Design
Provides DDR3 UniPHY IP core reference design for MAX 10 devices.
(1)
Licensing terms and costs for UniPHY IP core apply.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10EMI
1-2 MAX 10 External Memory Interface Support and Performance 2016.10.28
Table 1-1: Memory Standards Supported by the Soft Memory Controller for MAX 10 Devices
Contact your local sales representatives for access to the -I6 or -A6 speed grade devices in the Quartus
Prime Software.
External Memory Rate Support Speed Grade Voltage (V) Max Frequency (MHz)
Interface Standard
DDR3 SDRAM Half -I6 1.5 303
DDR3L SDRAM Half -I6 1.35 303
-I6 200
DDR2 SDRAM Half 1.8
-I7 and -C7 167
LPDDR2(2) Half -I6 1.2 200(3)
Related Information
• External Memory Interface Spec Estimator
Provides a parametric tool that allows you to find and compare the performance of the supported
external memory interfaces in Altera devices.
• Planning Pin and FPGA Resources chapter, External Memory Interface Handbook
Provides the maximum number of interfaces supported by MAX 10 devices for each memory
standards, pin counts for various external memory interface implementation examples, and informa‐
tion about the clock, address/command, data, data strobe, DM, and optional ECC signals.
• MAX 10 Device Datasheet
(2)
MAX 10 devices support only single-die LPDDR2.
(3)
To achieve the specified performance, constrain the memory device I/O and core power supply variation to
within ±3%. By default, the frequency is 167 MHz.
Send Feedback
2016.10.28
MAX 10 External Memory Interface
Architecture and Features 2
UG-M10EMI Subscribe Send Feedback
The external memory interface architecture of MAX 10 devices is a combination of soft and hard IPs.
Figure 2-1: High Level Overview of MAX 10 External Memory Interface System
This figure shows a high level overview of the main building blocks of the external memory interface
system in MAX 10 devices.
• The full rate data capture and write registers use the DDIO registers inside the I/O elements.
• PHY logic is implemented as soft logic in the core fabric.
• The memory controller is the intermediary between the user logic and the rest of the external memory
interface system. The Altera® memory controller IP is a soft memory controller that operates at half
rate. You can also use your own soft memory controller or a soft memory controller IP from Altera's
third-party partners.
• The physical layer (PHY) serves as the bridge between the memory controller and the external memory
DRAM device.
Related Information
• MAX 10 External Memory Interface Overview on page 1-1
• Documentation: External Memory Interfaces
Provides more information about external memory system performance specification, board design
guidelines, timing analysis, simulation, and debugging.
• Intellectual Properties: Memories & Controllers
Provides a list of memory controller IP solutions from Altera and partners.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10EMI
2-2 MAX 10 DQ/DQS Groups 2016.10.28
1A
6
PHYCLK
I/O banks on the right side
of the device.
2 5
OCT
PLL 3 4 PLL
External memory interfaces support is available only for 10M16, 10M25, 10M40, and 10M50 devices.
Table 2-1: Supported DQ/DQS Group Sizes in MAX 10 Devices and Packages
This table lists the number of DQ/DQS groups supported on different MAX 10 devices and packages. Only
the I/O banks on the right side of the devices support external memory interfaces.
I/O Bank Number of DQ Groups
Device Package
(Right Side) x8
Send Feedback
UG-M10EMI
2016.10.28 MAX 10 External Memory Interfaces Maximum Width 2-3
B5 1
F256
B6 1
10M25
B5 1
F484
B6 2
B5 1
F256
B6 1
B5 1
10M40 F484
B6 2
B5 2
F672
B6 2
B5 1
F256
B6 1
B5 1
10M50 F484
B6 2
B5 2
F672
B6 2
Related Information
Planning Pin and FPGA Resources chapter, External Memory Interface Handbook
Provides the maximum number of interfaces supported by MAX 10 devices for each memory standards,
pin counts for various external memory interface implementation examples, and information about the
clock, address/command, data, data strobe, DM, and optional ECC signals.
Send Feedback
UG-M10EMI
2-4 MAX 10 External Memory Interfaces Maximum Width 2016.10.28
Table 2-2: Supported Maximum External Memory Interface Width in MAX 10 Device Packages
Package
Product Line
F256 U324 F484 F672
10M16 • x8 DDR2, • x8 DDR2, • x8 DDR2, —
DDR3/3L, and DDR3/3L, and DDR3/3L, and
LPDDR2 LPDDR2 LPDDR2
without ECC without ECC without ECC
• x16 LPDDR2 • x16 DDR2, and • x16 DDR2, and
without ECC DDR3/3L with DDR3/3L with
or without ECC or without ECC
• x16 LPDDR2 • x16 LPDDR2
without ECC without ECC
Send Feedback
UG-M10EMI
2016.10.28 MAX 10 Memory Controller 2-5
Package
Product Line
F256 U324 F484 F672
10M50 • x8 DDR2, — • x8 DDR2, • x8 DDR2, DDR3/3L,
DDR3/3L, and DDR3/3L, and and LPDDR2 without
LPDDR2 LPDDR2 ECC
without ECC without ECC • x16 DDR2, and DDR3/
• x16 LPDDR2 • x16 DDR2, and 3L with or without ECC
without ECC DDR3/3L with • x24 DDR2, and DDR3/
or without ECC 3L with ECC
• x24 DDR2, and • x16 LPDDR2 without
DDR3/3L with ECC
ECC
• x16 LPDDR2
without ECC
Controller Latency The controller has a low best-case time between a read request or a
write request on the local interface, and the memory command being
sent to the AFI interface.
Data Reordering The memory controller will reorder read and write requests as
necessary to achieve the most efficient throughput of data.
Starvation Control The controller implements a starvation counter to limit the length of
time that a command can go unserved. This counter ensures that
lower-priority requests are not overlooked indefinitely due to data
reordering. You can set a starvation limit, to ensure that a waiting
command is served immediately, when the starvation counter reaches
the specified limit.
Priority Bypass The memory controller accepts user requests to bypass the priority
established by data reordering. When the controller detects a high-
priority request, it allows that request to bypass the current queue. The
high-priority request is then processed immediate, reducing latency.
Send Feedback
UG-M10EMI
2-6 MAX 10 External Memory Read Datapath 2016.10.28
Feature Description
Standard Interface The memory controller uses Avalon-ST as its native interface, allowing
the flexibility to extend to Avalon-MM, AXI, or a proprietary protocol
with an adapter.
Avalon-MM Data Slave Local The controller supports the Altera Avalon memory-mapped protocol.
Interface
Bank Management The memory controller will intelligently keep a page open based on
incoming traffic, improving efficiency, especially for random traffic.
Streaming Reads and Writes The memory controller has the ability to issue reads or writes continu‐
ously to sequential addresses each clock cycle, if the bank is open. This
feature allows for the passage of large amounts of data, with high
efficiency.
Bank Interleaving The memory controller has the ability to issue reads or writes continu‐
ously to random addresses. The bank addresses must be correctly
cycled by user logic.
Predictive Bank Management The memory controller has the ability to issue bank management
commands early, so that the correct row is already open when a read or
write request occurs. This feature allows for increased efficiency.
Quasi-1T Address/Command One controller clock cycle equals two memory clock cycles in a half-
Half-Rate rate interface. To maximize command bandwidth, the memory
controller provides the option to allow two memory commands on
every controller clock cycle. The controller is constrained to issue a row
command on the first clock phase and a column command on the
second clock phase, or vice versa. Row commands include activate and
precharge commands; column commands include read and write
commands.
Built-In Burst Adaptor The memory controller has the ability to accept bursts of arbitrary size
on the local interface, and map these to efficient memory commands.
Self-Refresh Controls and User The memory controller has the ability to issue self-refresh commands
Auto-Refresh Controls and allow user auto-refresh through a sideband interface.
Enable Auto Power-Down The memory controller has the ability to power-down if no commands
are received.
Send Feedback
UG-M10EMI
2016.10.28 DDR Input Registers 2-7
• The PLL supplies memory clock to the DRAM device and generates read capture clock that is
frequency-locked to the incoming data stream. The read capture clock and the incoming read data
stream have an arbitrary phase relationship.
• For maximum timing margin, calibration sequence is used to position the read capture clock within
the optimum sampling position in the read data eye.
• Data is captured directly in the DDIO registers implemented in the I/O periphery.
Q Q
Send Feedback
UG-M10EMI
2-8 MAX 10 External Memory Write Datapath 2016.10.28
soft
afi clock
afi_rdata _en
write_enable for LFIFO
(afi_rdata _valid)
data transferred marked as valid dcba hgfe
VFIFO pipe
read _enable for LFIFO
data transferred marked as valid dcba hgfe
afi_clk captured data dcba hgfe
(after rdata _fifo)
capture clock /2
HR register output dcba hgfe
(clocked by div /2 clock )
2 nd flopped data ba dc fe hg
first ddio data ba dc fe hg
captured on soft
hard
capture clock
read mem _dq a b c d e f g h
ddio output ba dc fe hg
In MAX 10 external memory interfaces, post-amble is not a concern because the read data strobe signal,
DQS, is not used during read operation.
Send Feedback
UG-M10EMI
2016.10.28 DDR Output Registers 2-9
Q Q
Send Feedback
UG-M10EMI
2-10 MAX 10 Address/Command Path 2016.10.28
soft
afi Clock
Write Data
afi_wdata abcd efgh
phy_ddio_dq
cdxx ghab xxef
(after fr_cycle_shifter)
Multiplexer Select
WR DATA Hi x c a g e x
WR DATA Lo x d b h f x
Write Data Valid
afi_wdata_valid[0]
afi_wdata_valid[1]
phy_ddio_wrdata_en[0]
(after fr_cycle_shifter)
phy_ddio_wrdata_en[1]
(after fr_cycle_shifter)
DQS Enable
afi_dqs_burst[0]
afi_dqs_burst[1]
phy_ddio_dqs_en[0]
(after fr_cycle_shifter)
phy_ddio_dqs_en[1]
(after fr_cycle_shifter)
Multiplexer Select
DQS_OE
DQ_OE
hard
Memory Clock
Transferred DQS_OE
Transferred DQ_OE
adc Clock
mem_dq d c b a h g f e
mem_dqs
mem_dqs_n
Send Feedback
UG-M10EMI
2016.10.28 MAX 10 PHY Clock (PHYCLK) Network 2-11
• You must send the address/command instructions to the external DRAM center-aligned with respect to
the external memory clock (CK/CK#).
• For LPDDR2 applications, the address/command path is double data rate (DDR). Dedicated DDIO
output registers in the I/O periphery clocks out the address/command instructions to the external
DRAM.
• For DDR2/3 applications, the address/command path is single data rate (SDR). Instead of dedicated
DDIO output registers, simple output I/O registers in the I/O periphery clocks out the address/
command instructions to the external DRAM device.
1A
6
2 5
OCT
PLL 3 4 PLL
Send Feedback
UG-M10EMI
2-12 Phase Detector for VT Tracking 2016.10.28
I/O Register
CK/CK# 2 CK/CK#
DDIO
Out
In the MAX 10 external memory interface solution, the memory clocks are used to mimic the read and
write paths. The memory clock pins loop back to the phase detector as a mimic clock. The phase detector
provides any variation of the mimic clock to the sequencer. The sequencer adjusts the read capture clock to
match the clock phase change.
On-Chip Termination
The MAX 10 devices support calibrated on-chip series termination (RS OCT) on the right side I/O banks.
• To use the calibrated OCT, use the RUP and RDN pins for each RS OCT control block.
• You can use each OCT calibration block to calibrate one type of termination with the same VCCIO.
You must set the RUP and RDN resistor values according to the RS OCT value. For example, if the RS OCT
value is 34 Ω, then the set both RUP and RDN value to 34 Ω.
Send Feedback
UG-M10EMI
2016.10.28 Phase-Locked Loop 2-13
Related Information
MAX 10 On-Chip I/O Termination
Provides more information about OCT.
Phase-Locked Loop
For the external memory interface, the PLL generates the memory clock, write clock, capture clock, and
the logic–core clock.
• The memory clock provides clock for DQS write strobe, and address and command signals.
• The write clock that is shifted –90° from the memory clock provides clock for DQ signals during
memory writes.
You can use the PLL reconfiguration feature to calibrate the read–capture phase shift to balance the setup
and hold margins. At startup, the sequencer calibrates the capture clock.
For external memory interfaces in MAX 10 devices, you must use the top right PLL (PLL 2).
Related Information
PLL Locations
Provides more information about PLL location and availability in different MAX 10 packages.
Send Feedback
2016.10.28
MAX 10 External Memory Interface Design
Considerations 3
UG-M10EMI Subscribe Send Feedback
There are several considerations that require your attention to ensure the success of your designs. Unless
noted otherwise, these design guidelines apply to all variants of this device family.
Related Information
• MAX 10 External Memory Interface Overview on page 1-1
• Planning Pin and FPGA Resources chapter, External Memory Interface Handbook
Provides pin planning guidelines for implementing external memory interfaces with Altera devices.
Related Information
DDR2/DDR3 Recommended Termination Schemes for MAX 10 Devices on page 3-3
Related Information
Guidelines: Reading the MAX 10 Pin-Out Files on page 3-8
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10EMI
3-2 Data Mask Pins 2016.10.28
• For DDR2 and DDR3 SDRAM interfaces, the devices use ×8 mode DQS group regardless of the
interface width.
• If you need to support wider interfaces, use multiple ×8 DQ groups.
• You can use any unused DQ pins as regular user I/O pins if they are not used as memory interface
signals.
• The x24 interface is implemented through x16 + ECC.
Related Information
MAX 10 DQ/DQS Groups on page 2-2
Provides the supported DQ/DQS groups for each device.
Related Information
ALTECC (Error Correction Code: Encoder/Decoder) chapter, Integer Arithmetic Megafunctions User
Guide
Provides more information about ALTECC_ENCODER and ALTECC_DECODER IP cores that
implement ECC functionality.
Send Feedback
UG-M10EMI
2016.10.28 DDR2/DDR3 Recommended Termination Schemes for MAX 10 Devices 3-3
The memory clock pins are predefined and are listed in the device pinout files. Refer to the the relevant
device pinout files to determine the locations of the memory clock pins.
Related Information
• Pin Connection Guidelines Tables, Planning Pin and FPGA Resources chapter, External Memory
Interface Handbook
Provides more information about CK/CK# pins placement.
• MAX 10 Device Pin-Out Files
(4)
ODT75 vs. ODT50 on the memory has the effect of opening the eye more, with a limited increase in
overshoot/undershoot.
(5)
HALF is reduced drive strength.
(6)
x1 is a single-device load.
(7)
x2 is a two-device load.
Send Feedback
UG-M10EMI
3-4 LPDDR2 Design Considerations 2016.10.28
On Board Termination
I/O Standard RS OCT
FPGA–End Memory-End
SSTL 15 Class 1 50 Ω without calibration 80 Ω resistor 40 Ω resistor
Table 3-3: Supported External Memory Interface Termination Scheme for DDR3 and DDR2
Memory Interface I/O Standard RS OCT RUP, RDN (Ω)
Standard
25 25
34 34
DDR3 SSTL-15
40 40
50 50
34 34
DDR3L SSTL-135
40 40
25 25
DDR2 SSTL-18
50 50
Related Information
Planning Pin and FPGA Resources
Provides more information about termination and signal duplication.
Related Information
Guidelines: Reading the MAX 10 Pin-Out Files on page 3-8
Send Feedback
UG-M10EMI
2016.10.28 MAX 10 I/O Bank DQ/DQS Support for LPDDR2 3-5
Related Information
• Pin Connection Guidelines Tables, Planning Pin and FPGA Resources chapter, External Memory
Interface Handbook
Provides more information about CK/CK# pins placement.
• MAX 10 Device Pin-Out Files
Send Feedback
UG-M10EMI
3-6 LPDDR2 Recommended Termination Schemes for MAX 10 Devices 2016.10.28
Related Information
MAX 10 Power Management User Guide
Table 3-4: Supported External Memory Interface Termination Scheme for LPDDR2
Memory Interface I/O Standard RS OCT RUP, RDN (Ω)
Standard
LPDDR2 HSUL-12 34, 40, 48 34, 40, 48
Table 3-5: Unavailable I/O Pins While Implementing DDR3 or LPDDR2 External Memory Interfaces in
Certain Device Packages—Preliminary
Package
Device
F256 U324 F484 F672
Send Feedback
UG-M10EMI
2016.10.28 Guidelines: MAX 10 DDR3, DDR2, and LPDDR2 External Memory Interface I/O 3-7
Limitation
Package
Device
F256 U324 F484 F672
Send Feedback
UG-M10EMI
3-8 Guidelines: MAX 10 Board Design Requirement for DDR2, DDR3, and LPDDR2 2016.10.28
Related Information
• External Memory Interface Handbook Volume 1: Altera Memory Solution Overview and Design
Flow
Provides more information about using Altera devices for external memory interfaces including Altera
memory solution and design flow.
• External Memory Interface Handbook Volume 2: Design Guidelines
Provides more information about using Altera devices for external memory interfaces including
memory selection, board design, implementing memory IP cores, timing, optimization, and
debugging.
• Functional Description—MAX 10 EMIF
Provides more information about implementing memory IP cores for MAX 10 devices.
• MAX 10 FPGA Signal Integrity Design Guidelines
Provides design guidelines related to signal integrity for MAX 10 devices.
Send Feedback
2016.10.28
MAX 10 External Memory Interface
Implementation Guides 4
UG-M10EMI Subscribe Send Feedback
You can implement your external memory interface design in the Quartus Prime software. The software
contains tools for you to create and compile you design, and configure your device.
In the Quartus Prime software, you can instantiate and configure the UniPHY IP core to suit your
memory interface requirement.
Related Information
• MAX 10 External Memory Interface Overview on page 1-1
• External Memory Interface Handbook Volume 1: Altera Memory Solution Overview and Design
Flow
Provides more information about using Altera devices for external memory interfaces including Altera
memory solution and design flow.
• External Memory Interface Handbook Volume 2: Design Guidelines
Provides more information about using Altera devices for external memory interfaces including
memory selection, board design, implementing memory IP cores, timing, optimization, and
debugging.
• Functional Description—MAX 10 EMIF
Provides more information about implementing memory IP cores for MAX 10 devices.
• MAX 10 DDR3 Reference Design
Provides DDR3 UniPHY IP core reference design for MAX 10 devices.
UniPHY IP Core
The UniPHY IP core allows you to control the soft IP of the MAX 10 external memory interface solution.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10EMI
4-2 UniPHY IP Core 2016.10.28
Address/Command
I/O Block
Path
Related Information
• Introduction to Altera IP Cores
Provides general information about all FPGA IP cores, including parameterizing, generating,
upgrading, and simulating IP cores.
• Creating Version-Independent IP and Qsys Simulation Scripts
Create simulation scripts that do not require manual updates for software or IP version upgrades.
• Project Management Best Practices
Guidelines for efficient management and portability of your project and IP files.
Send Feedback
UG-M10EMI
2016.10.28 LPDDR2 External Memory Interface Implementation 4-3
Memory PHY
8 fr_resync_clk
DQ x8 group DQ x8 group
(soft) hr_resync_clk
Soft Memory External Memory
Controller Device
8 fr_resync_clk
DQ x8 group DQ x8 group
hr_resync_clk
(soft)
GCLK sys_clk
PHYCLK
phy_mem_clk
clk[0]
PLL dq_write_clk
clk[1]
read_capture_clk
clk[2]
dqs_tracking_clk
clk[3]
Related Information
Planning Pin and FPGA Resources chapter, External Memory Interface Handbook
Provides the maximum number of interfaces supported by MAX 10 devices for each memory standards,
pin counts for various external memory interface implementation examples, and information about the
clock, address/command, data, data strobe, DM, and optional ECC signals.
FPGA 16 LPDDR2
CS
Send Feedback
UG-M10EMI
4-4 DDR2 and DDR3 External Memory Interface Implementation 2016.10.28
Memory PHY
8 fr_resync_clk
DQ x8 group DQ x8 group
hr_resync_clk
(soft)
External Memory
8 fr_resync_clk Device
Soft Memory DQ x8 group
hr_resync_clk DQ x8 group
Controller (soft)
8 fr_resync_clk
DQ x8 group External Memory
hr_resync_clk DQ x8 group Device
(soft)
GCLK sys_clk
PHYCLK
phy_mem_clk
clk[0]
PLL dq_write_clk
clk[1]
read_capture_clk
clk[2]
read_capture_ecc_clk
clk[3]
Related Information
Planning Pin and FPGA Resources chapter, External Memory Interface Handbook
Provides the maximum number of interfaces supported by MAX 10 devices for each memory standards,
pin counts for various external memory interface implementation examples, and information about the
clock, address/command, data, data strobe, DM, and optional ECC signals.
Send Feedback
UG-M10EMI
2016.10.28 MAX 10 Supported DDR2 or DDR3 Topology 4-5
FPGA 16 DDR3
CS
8 DDR3
Send Feedback
2016.10.28
UniPHY IP Core References for MAX 10
5
UG-M10EMI Subscribe Send Feedback
For MAX 10 devices, there are three variations of the UniPHY IP core:
• DDR2 SDRAM Controller
• DDR3 SDRAM Controller
• LPDDR2 SDRAM Controller
Related Information
• MAX 10 External Memory Interface Overview on page 1-1
• External Memory Interface Handbook Volume 1: Altera Memory Solution Overview and Design
Flow
Provides more information about using Altera devices for external memory interfaces including Altera
memory solution and design flow.
• External Memory Interface Handbook Volume 2: Design Guidelines
Provides more information about using Altera devices for external memory interfaces including
memory selection, board design, implementing memory IP cores, timing, optimization, and
debugging.
• Functional Description—MAX 10 EMIF
Provides more information about implementing memory IP cores for MAX 10 devices.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10EMI
5-2 UniPHY Parameters—PHY Settings 2016.10.28
Generate PHY only Turn on this option to generate the UniPHY IP core without a memory
controller.
When you turn on this option, the AFI interface is exported so that you
can easily connect your own memory controller.
Achieved memory clock The actual frequency the PLL generates to drive the external memory
frequency interface (memory clock).
PLL reference clock frequency The frequency of the input clock that feeds the PLL. Use up to 4
decimal places of precision.
Rate on Avalon-MM interface The width of data bus on the Avalon-MM interface.
The MAX 10 supports only Half rate, which results in a width of 4× the
memory data width.
Achieved local clock frequency The actual frequency the PLL generates to drive the local interface for
the memory controller (AFI clock).
Send Feedback
UG-M10EMI
2016.10.28 UniPHY Parameters—Memory Parameters 5-3
Parameter Description
Reconfigurable PLL location If you set the PLL used in the UniPHY IP core memory interface to be
reconfigurable at run time, you must specify the location of the PLL.
This assignment generates a PLL that can only be placed in the given
sides.
Related Information
External Memory Interface Spec Estimator
Provides a parametric tool that allows you to find and compare the performance of the supported external
memory interfaces in Altera devices.
Memory device speed The maximum frequency at which the memory device can run.
grade
Total interface width The total number of DQ pins of the memory device. Limited to 8 to 24 bits.
Number of DQS The number of DQS groups is calculated automatically from the Total interface
groups width and the DQ/DQS group size parameters.
Number of chip selects The number of chip-selects the IP core uses for the current device configuration.
Number of clocks The width of the clock bus on the memory interface.
Send Feedback
UG-M10EMI
5-4 UniPHY Parameters—Memory Parameters 2016.10.28
Parameter Description
Row address width The width of the row address on the memory interface.
Column address width The width of the column address on the memory interface.
Bank-address width The width of the bank address bus on the memory interface.
Enable DM pins Specifies whether the DM pins of the memory device are driven by the FPGA.
You can turn off this option to avoid overusing FPGA device pins when using x4
mode memory devices.
When you are using x4 mode memory devices, turn off this option for DDR3
SDRAM.
You must turn on this option if you are using Avalon byte enable.
DQS# Enable Turn on differential DQS signaling to improve signal integrity and system
performance.
This option is available for DDR2 SDRAM only.
DLL precharge Specifies whether the DLL in the memory device is off or on
Mode Register 0 power down during precharge power-down.
Memory CAS The number of clock cycles between the read command and the
latency setting availability of the first bit of output data at the memory device
and also interface frequency. Refer to memory vendor data
sheet speed bin table.
Set this parameter according to the target memory speed grade
and memory clock frequency.
Send Feedback
UG-M10EMI
2016.10.28 UniPHY Parameters—Memory Parameters 5-5
Parameter Description
Output drive The output driver impedance setting at the memory device.
strength setting
To obtain the optimum signal integrity performance, select the
optimum setting based on the board simulation results.
Memory additive The posted CAS additive latency of the memory device.
CAS latency setting
Mode Register 1 Enable this feature to improve command and bus efficiency, and
increase system bandwidth. For more information about
optimizing the memory controller, refer to related information.
ODT Rtt nominal The on-die termination resistance at the memory device.
value
To obtain the optimum signal integrity performance, select the
optimum setting based on the board simulation results.
Dynamic ODT (Rtt_ The mode of the dynamic ODT feature of the memory device.
WR) value This is used for multi-rank configurations. For more guidelines
about DDR2 and DDR3 SDRAM board layout, refer to the
related information.
To obtain the optimum signal integrity performance, select the
optimum setting based on the board simulation results.
Send Feedback
UG-M10EMI
5-6 UniPHY Parameters—Memory Parameters 2016.10.28
Parameter Description
Burst length Specifies the burst length.
Mode Register 0 DLL precharge Determines whether the DLL in the memory device is in slow
power down exit mode or in fast exit mode during precharge power down.
For more information, refer to memory vendor data sheet.
Memory CAS Determines the number of clock cycles between the READ
latency setting command and the availability of the first bit of output data at
the memory device. For more information, refer to memory
vendor data sheet speed bin table.
Set this parameter according to the target memory speed grade
and memory clock frequency.
Output drive Determines the output driver impedance setting at the memory
strength setting device.
To obtain the optimum signal integrity performance, select the
optimum setting based on the board simulation results.
Memory additive Determines the posted CAS additive latency of the memory
CAS latency setting device.
Mode Register 1
Enable this feature to improve command and bus efficiency, and
increase system bandwidth.
Mode Register 2 SRT Enable Determines the selfrefresh temperature (SRT). Select 1x refresh
rate for normal temperature (0-85C)or select 2x refresh rate
for high temperature (>85C).
Send Feedback
UG-M10EMI
2016.10.28 UniPHY Parameters—Memory Timing 5-7
Parameter Description
Burst Length Specifies the burst length.
Mode Register 2 Read latency setting Determines the number of clock cycles between the READ
command and the availability of the first bit of output data at
the memory device.
Set this parameter according to the target memory interface
frequency. Refer to memory data sheet and also target memory
speed grade.
Mode Register 3 Output drive Determines the output driver impedance setting at the memory
strength settings device.
To obtain the optimum signal integrity performance, select the
optimum setting based on the board simulation results.
Related Information
• External Memory Interface Handbook Volume 1: Altera Memory Solution Overview and Design
Flow
Provides more information about using Altera devices for external memory interfaces including Altera
memory solution and design flow.
• External Memory Interface Handbook Volume 2: Design Guidelines
Provides more information about using Altera devices for external memory interfaces including
memory selection, board design, implementing memory IP cores, timing, optimization, and
debugging.
• Functional Description—MAX 10 EMIF
Provides more information about implementing memory IP cores for MAX 10 devices.
Send Feedback
UG-M10EMI
5-8 UniPHY Parameters—Memory Timing 2016.10.28
tQH DDR3 DQ output hold time from DQS, DQS# Memory speed
(percentage of tCK). grade
tDQSCK Delta LPDDR2 Absolute value of the difference between any Memory speed
Medium two tDQSCK measurements (within a byte grade
lane) within a contiguous sequence of bursts
within a 1.6 µs rolling window.
tDQSCK Delta LPDDR2 Absolute value of the difference between any Memory speed
Long two tDQSCK measurements (within a byte grade
lane) within a contiguous sequence of bursts
within a 32ms rolling window.
tDQSS DDR2, DDR3, First latching edge of DQS to associated clock Memory speed
LPDDR2 edge (percentage of tCK). grade
tDSH DDR2, DDR3, DQS falling edge hold time from CK Memory speed
LPDDR2 (percentage of tCK). grade
tDSS DDR2, DDR3, DQS falling edge to CK setup time (percentage Memory speed
LPDDR2 of tCK). grade
Send Feedback
UG-M10EMI
2016.10.28 UniPHY Parameters—Board Settings 5-9
Send Feedback
UG-M10EMI
5-10 UniPHY Parameters—Board Settings 2016.10.28
specify the setup and hold times directly. You should enter information derived during your PCB
development process of prelayout (line) and postlayout (board) simulation.
Parameter Description
Derating method Derating method. The default settings are based on Altera internal
board simulation data. To obtain accurate timing analysis according to
the condition of your board, Altera recommends that you perform
board simulation and enter the slew rate in the Quartus Prime software
to calculate the derated setup and hold time automatically or enter the
derated setup and hold time directly.
DQS/DQS# slew rate (Differen‐ DQS and DQS# slew rate (differential).
tial)
DQ slew rate DQ slew rate.
Address and command eye The reduction in the eye diagram on the setup side (or left side of the
reduction (setup) eye) due to ISI on the address and command signals compared to a case
when there is no ISI. (For single rank designs, ISI can be zero; in
multirank designs, ISI is necessary for accurate timing analysis.)
Address and command eye The reduction in the eye diagram on the hold side (or right side of the
reduction (hold) eye) due to ISI on the address and command signals compared to a case
when there is no ISI.
Send Feedback
UG-M10EMI
2016.10.28 UniPHY Parameters—Board Settings 5-11
Parameter Description
Write DQ eye reduction The total reduction in the eye diagram due to ISI on DQ signals
Read DQ eye reduction compared to a case when there is no ISI. Altera assumes that the ISI
reduces the eye width symmetrically on the left and right side of the
eye.
Write Delta DQS arrival time The increase in variation on the range of arrival times of DQS
Read Delta DQS arrival time compared to a case when there is no ISI. Altera assumes that the ISI
causes DQS to further vary symmetrically to the left and to the right.
Maximum DQS The delay of the longest DQS trace from the FPGA to the memory device, whether
delay to DIMM/ on a DIMM or the same PCB as the FPGA is expressed by the following equation:
device
Send Feedback
UG-M10EMI
5-12 UniPHY Parameters—Board Settings 2016.10.28
Parameter Description
Minimum delay The minimum skew or smallest positive skew (or largest negative skew) between
difference between the CK signal and any DQS signal when arriving at the same DIMM/device over all
CK and DQS DIMMs/devices is expressed by the following equation:
Where n is the number of memory clock, m is the number of DQS, and r is the
number of rank of DIMM/device. For example in dual-rank DIMM implementa‐
tion, if there are 2 pairs of memory clock and 4 DQS signals (two for each clock)
for each rank DIMM, the minimum delay difference between CK and DQS is
expressed by the following equation:
This parameter value affects the write leveling margin for DDR3 interfaces with
leveling in multi-rank configurations. This parameter value also applies to non-
leveling configurations of any number of ranks with the requirement that DQS
must have positive margins in Timequest Report DDR.
For multiple boards, the minimum skew between the CK signal and any DQS
signal when arriving at the same DIMM over all DIMMs is expressed by the
following equation, if you want to use the same design for several different boards:
Send Feedback
UG-M10EMI
2016.10.28 UniPHY Parameters—Board Settings 5-13
Parameter Description
Maximum delay The maximum skew or smallest negative skew (or largest positive skew) between
difference between the CK signal and any DQS signal when arriving at the same DIMM/device over all
CK and DQS DIMMs/devices is expressed by the following equation:
Where n is the number of memory clock, m is the number of DQS, and r is the
number of rank of DIMM/device. For example in dual-rank DIMM implementa‐
tion, if there are 2 pairs of memory clock and 4 DQS signals (two for each clock)
for each rank DIMM, the maximum delay difference between CK and DQS is
expressed by the following equation:
This value affects the write Leveling margin for DDR3 interfaces with leveling in
multi-rank configurations. This parameter value also applies to non-leveling
configurations of any number of ranks with the requirement that DQS must have
positive margins in Timequest Report DDR.
For multiple boards, the maximum skew (or largest positive skew) between the CK
signal and any DQS signal when arriving at the same DIMM over all DIMMs is
expressed by the following equation, if you want to use the same design for several
different boards:
Maximum skew The largest skew among DQ and DM signals in a DQS group. This value affects the
within DQS group read capture and write margins for DDR2 and DDR3 SDRAM interfaces in all
configurations (single or multiple chip-select, DIMM or component).
For multiple boards, the largest skew between DQ and DM signals in a DQS group
is expressed by the following equation:
Send Feedback
UG-M10EMI
5-14 UniPHY Parameters—Board Settings 2016.10.28
Parameter Description
Maximum skew The largest skew between DQS signals in different DQS groups. This value affects
between DQS the resynchronization margin in memory interfaces without leveling such as DDR2
groups SDRAM and discrete-device DDR3 SDRAM in both single- or multiple chip-select
configurations.
For multiple boards, the largest skew between DQS signals in different DQS groups
is expressed by the following equation, if you want to use the same design for
several different boards:
Average delay The average delay difference between each DQ signal and the DQS signal,
difference between calculated by averaging the longest and smallest DQ signal delay values minus the
DQ and DQS delay of DQS. The average delay difference between DQ and DQS is expressed by
the following equation:
Maximum skew The largest skew between the address and command signals for a single board is
within address and expressed by the following equation:
command bus
For multiple boards, the largest skew between the address and command signals is
expressed by the following equation, if you want to use the same design for several
different boards:
Send Feedback
UG-M10EMI
2016.10.28 UniPHY Parameters—Controller Settings 5-15
Parameter Description
Average delay A value equal to the average of the longest and smallest address and command
difference between signal delay values, minus the delay of the CK signal. The value can be positive or
address and negative. Positive values represent address and command signals that are longer
command and CK than CK signals; negative values represent address and command signals that are
shorter than CK signals. The average delay difference between address and
command and CK is expressed by the following equation:
The Quartus Prime software uses this skew to optimize the delay of the address and
command signals to have appropriate setup and hold margins for DDR2 and DDR3
SDRAM interfaces. You should derive this value through board simulation.
For multiple boards, the average delay difference between address and command
and CK is expressed by the following equation, if you want to use the same design
for several different boards:
Related Information
• Analizing Timing of Memory IP chapter, External Memory Interface Handbook
Provides more information about derating method and measuring eye reduction.
• Board Skew Parameter Tool
Send Feedback
UG-M10EMI
5-16 UniPHY Parameters—Controller Settings 2016.10.28
Generate SOPC Builder This option is not required when using the MegaWizard Plug-in
compatible resets Manager or Qsys.
Maximum Avalon-MM burst Specifies the maximum burst length on the Avalon-MM bus. Affects
length the AVL_SIZE_WIDTH parameter.
Enable Avalon-MM byte-enable When you turn on this option, the controller adds the byte enable
signal signal (avl_be) for the Avalon-MM bus to control the data mask (mem_
dm) pins going to the memory interface. You must also turn on Enable
DM pins if you are turning on this option.
When you turn off this option, the byte enable signal (avl_be) is not
enabled for the Avalon-MM bus, and by default all bytes are enabled.
However, if you turn on Enable DM pins with this option turned off,
all write words are written.
Avalon interface address width The address width on the Avalon-MM interface.
Avalon interface data width The data width on the Avalon-MM interface.
Enable Deep Power-Down Enables the Deep-Powerdown signals on the controller top level. These
Controls controls allow you to control when the memory is placed in Deep-
Powerdown mode.
This option is available only for LPDDR2 SDRAM.
Enable Auto Power-Down Allows the controller to automatically place the memory into power-
down mode after a specified number of idle cycles. Specifies the
number of idle cycles after which the controller powers down the
memory in the auto-power down cycles parameter.
Send Feedback
UG-M10EMI
2016.10.28 UniPHY Parameters—Controller Settings 5-17
Parameter Description
Auto Power-Down Cycles The number of idle controller clock cycles after which the controller
automatically powers down the memory. The legal range is from 1 to
65,535 controller clock cycles.
Enable Auto-Precharge Control Enables the autoprecharge control on the controller top level. Asserting
the autoprecharge control signal while requesting a read or write burst
allows you to specify whether the controller should close (autopre‐
charge) the currently open page at the end of the read or write burst.
Local-to-Memory Address Allows you to control the mapping between the address bits on the
Mapping Avalon-MM interface and the chip, row, bank, and column bits on the
memory:
• Chip-Row-Bank-Col—improves efficiency with sequential traffic.
• Chip-Bank-Row-Col—improves efficiency with random traffic.
• Row-Chip-Bank-Col—improves efficiency with multiple chip select
and sequential traffic.
Command Queue Look-Ahead Selects a look-ahead depth value to control how many read or writes
Depth requests the look-ahead bank management logic examines. Larger
numbers are likely to increase the efficiency of the bank management,
but at the cost of higher resource usage. Smaller values may be less
efficient, but also use fewer resources. The valid range is from 1 to 16.
Enable Reordering Allows the controller to perform command and data reordering that
reduces bus turnaround time and row/bank switching time to improve
controller efficiency.
Starvation limit for each Specifies the number of commands that can be served before a waiting
command command is served. The valid range is from 1 to 63.
Send Feedback
UG-M10EMI
5-18 UniPHY Parameters—Diagnostics 2016.10.28
CSR port host interface Specifies the type of connection to the CSR port. The port can be
exported, internally connected to a JTAG Avalon Master, or both:
• Internal (JTAG)—connects the CSR port to a JTAG Avalon Master.
• Avalon-MM Slave —exports the CSR port.
• Shared—exports and connects the CSR port to a JTAG Avalon
Master.
Enable Error Detection and Enables ECC for single-bit error correction and double-bit error
Correction Logic detection. MAX 10 devices supports ECC only for 16 bits + 8 bits ECC
memory configuration.
Enable Auto Error Correction Allows the controller to perform auto correction when a single-bit
error is detected by the ECC logic.
To turn this on, you must first turn on Enable Error Detection and
Correction Logic.
UniPHY Parameters—Diagnostics
There is one option group supported for MAX 10 devices: Simulation Options.
Send Feedback
2016.10.28
MAX 10 External Memory Interface User Guide
Archives A
UG-M10EMI Subscribe Send Feedback
If an IP core version is not listed, the user guide for the previous IP core version applies.
IP Core Version User Guide
16.0 MAX 10 Exteral Memory Interface User Guide
15.1 MAX 10 Exteral Memory Interface User Guide
15.0 MAX 10 Exteral Memory Interface User Guide
14.1 MAX 10 Exteral Memory Interface User Guide
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2016.10.28
Additional Information for MAX 10 External
Memory Interface User Guide B
UG-M10EMI Subscribe Send Feedback
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10EMI
B-2 Document Revision History for MAX 10 External Memory Interface User Guide 2016.10.28
Altera Corporation Additional Information for MAX 10 External Memory Interface User Guide
Send Feedback
UG-M10EMI
2016.10.28 Document Revision History for MAX 10 External Memory Interface User Guide B-3
Additional Information for MAX 10 External Memory Interface User Guide Altera Corporation
Send Feedback
MAX 10 Analog to Digital Converter User
Guide
Contents
Altera Corporation
TOC-3
Altera Modular ADC and Altera Modular Dual ADC IP Cores References..... 5-1
Altera Modular ADC Parameters Settings............................................................................................... 5-2
Altera Modular ADC IP Core Channel Name to MAX 10 Device Pin Name Mapping........ 5-6
Altera Modular Dual ADC Parameters Settings......................................................................................5-8
Altera Modular Dual ADC IP Core Channel Name to MAX 10 Device Pin Name
Mapping.....................................................................................................................................5-12
Valid ADC Sample Rate and Input Clock Combination...................................................................... 5-13
Altera Modular ADC and Altera Modular Dual ADC Interface Signals........................................... 5-13
Command Interface of Altera Modular ADC and Altera Modular Dual ADC.................... 5-13
Response Interface of Altera Modular ADC and Altera Modular Dual ADC.......................5-14
Threshold Interface of Altera Modular ADC and Altera Modular Dual ADC......................5-15
CSR Interface of Altera Modular ADC and Altera Modular Dual ADC................................5-16
IRQ Interface of Altera Modular ADC and Altera Modular Dual ADC................................5-16
Peripheral Clock Interface of Altera Modular ADC and Altera Modular Dual ADC..........5-17
Peripheral Reset Interface of Altera Modular ADC and Altera Modular Dual ADC...........5-17
ADC PLL Clock Interface of Altera Modular ADC and Altera Modular Dual ADC.......... 5-17
ADC PLL Locked Interface of Altera Modular ADC and Altera Modular Dual ADC........ 5-18
Altera Modular ADC Register Definitions.............................................................................................5-18
Sequencer Core Registers..............................................................................................................5-18
Sample Storage Core Registers..................................................................................................... 5-19
ADC HAL Device Driver for Nios II Gen 2........................................................................................... 5-20
Altera Corporation
2016.10.31
MAX 10 Analog to Digital Converter Overview
1
UG-M10ADC Subscribe Send Feedback
MAX® 10 devices feature up to two analog-to-digital converters (ADC). The ADCs provide the MAX 10
devices with built-in capability for on-die temperature monitoring and external analog signal conversion.
The ADC solution consists of hard IP blocks in the MAX 10 device periphery and soft logic through the
Altera Modular ADC IP core.
The ADC solution provides you with built-in capability to translate analog quantities to digital data for
information processing, computing, data transmission, and control systems. The basic function is to
provide a 12 bit digital representation of the analog signal being observed.
The ADC solution works in two modes:
• Normal mode—monitors single-ended external inputs with a cumulative sampling rate of up to 1
million samples per second (MSPS):
• Single ADC devices—up to 17 single-ended external inputs (one dedicated analog and 16 dual
function input pins)
• Dual ADC devices—up to 18 single-ended external inputs (one dedicated analog and eight dual
function input pins in each ADC block)
• Temperature sensing mode—monitors external temperature data input with a sampling rate of up to 50
kilosamples per second. In dual ADC devices, only the first ADC block supports this mode.
Related Information
• MAX 10 ADC Architecture and Features on page 2-1
• MAX 10 ADC Design Considerations on page 3-1
• MAX 10 ADC Implementation Guides on page 4-1
• Altera Modular ADC and Altera Modular Dual ADC IP Cores References on page 5-1
• MAX 10 Getting Started
• MAX 10 Online Training
• MAX 10 How-to Videos
• How to Create ADC Design in MAX 10 Device Using Qsys Tool
Provides video instruction that demonstrates how to create the ADC design in MAX 10 devices using
the Qsys system integration tool within the Quartus® Prime software and how to use the ADC toolkit
to view the measured analog signal.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10ADC
1-2 ADC Block Counts in MAX 10 Devices 2016.10.31
Related Information
MAX 10 FPGA Device Overview
Send Feedback
UG-M10ADC
2016.10.31 ADC Channel Counts in MAX 10 Devices 1-3
Related Information
• MAX 10 FPGA Device Overview
• MAX 10 ADC Vertical Migration Support on page 1-4
Send Feedback
UG-M10ADC
1-4 MAX 10 ADC Vertical Migration Support 2016.10.31
Package
Device
M153 U169 U324 F256 E144 F484 F672
10M04
10M08
10M16
10M25
10M40
10M50
Dual ADC Device: Each ADC (ADC1 and ADC2) supports 1 dedicated analog input pin and 8 dual function pins.
Single ADC Device: Single ADC that supports 1 dedicated analog input pin and 16 dual function pins.
Single ADC Device: Single ADC that supports 1 dedicated analog input pin and 8 dual function pins.
Related Information
ADC Channel Counts in MAX 10 Devices on page 1-3
Send Feedback
UG-M10ADC
2016.10.31 MAX 10 Single or Dual Supply Devices 1-5
Related Information
• MAX 10 Device Datasheet
• MAX 10 FPGA Device Overview
Send Feedback
UG-M10ADC
1-6 MAX 10 ADC Conversion 2016.10.31
Output Code
Full Scale
Transition
FFF
FFE
FFD
12 bit Output Code (Hex)
The MAX 10 ADC is a 1 MHz successive approximation register (SAR) ADC. If you set up the PLL and
Altera Modular ADC IP core correctly, the ADC operates at up to 1 MHz during normal sampling and 50
kHz during temperature sensing.
Note: The analog value represented by the all-ones code is not full scale but full scale – 1 LSB. This is a
common convention in data conversion notation and applies to ADCs.
Related Information
• Creating MAX 10 ADC Design on page 4-2
• Altera Modular ADC Parameters Settings on page 5-2
• Altera Modular Dual ADC Parameters Settings on page 5-8
Send Feedback
2016.10.31
MAX 10 ADC Architecture and Features
2
UG-M10ADC Subscribe Send Feedback
In MAX 10 devices, the ADC is a 12-bit SAR ADC that provides the following features:
• Sampling rate of up to 1 MSPS
• Up to 18 channels for analog measurement: 16 dual function channels and two dedicated analog input
channels in dual ADC devices
• Single-ended measurement capability
• Simultaneous measurement capability at the dedicated analog input pins for dual ADC devices
• Soft logic sequencer
• On-chip temperature sensor with sampling rate of 50 kilosamples per second
• Internal or external voltage references usage. The source of the internal voltage reference is the ADC
analog supply; the ADC conversion result is ratiometric.
Related Information
• MAX 10 Analog to Digital Converter Overview on page 1-1
• MAX 10 Analog to Digital Converter User Guide Archives on page 6-1
Provides a list of user guides for previous versions of the Altera Modular ADC and Altera Modular
Dual ADC IP cores.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10ADC
2-2 ADC Block Locations 2016.10.31
Note: In dual ADC devices, the temperature sensor is available only in ADC1.
PLL Clock In
Dedicated ADC Hard IP Block
Analog Input Sequencer [4:0]
DOUT [11:0]
ADC Analog Input Sampling
Mux 12 bit 1 Mbps ADC
(Dual Function) [16:1] and Hold
Control/Status
Temperature Sensor
Altera Modular ADC IP Core
ADC VREF
Internal VREF
Related Information
Sequencer Core on page 2-19
Provides mode information about the sequencer conversion modes.
Send Feedback
UG-M10ADC
2016.10.31 ADC Block Locations 2-3
8 7
ADC1
1A
6
1B
2 5
I/O Bank
3 4 ADC Block
Send Feedback
UG-M10ADC
2-4 ADC Block Locations 2016.10.31
8 7
ADC1
1A
6
1B
2 5
3 4 ADC Block
Send Feedback
UG-M10ADC
2016.10.31 Single or Dual ADC Devices 2-5
Figure 2-4: ADC Block Location in MAX 10 25, 40, and 50 Devices
Package E144 of these devices have only one ADC block.
8 7
ADC1
ADC2
1A
6
1B
2 5
3 4 ADC Block
Send Feedback
UG-M10ADC
2-6 ADC Analog Input Pins 2016.10.31
Related Information
• MAX 10 FPGA Device Overview
• ADC Channel Counts in MAX 10 Devices on page 1-3
ADC Prescaler
The ADC block in MAX 10 devices contains a prescaler function.
The prescaler function divides the analog input voltage by half. Using this function, you can measure
analog input greater than 2.5 V. In prescaler mode, the analog input can handle up to 3 V input for the
dual supply MAX 10 devices and 3.6 V for the single supply MAX 10 devices.
Figure 2-5: ADC Prescaler Block Diagram
ADC 3.6 kΩ
Analog
Input
3.6 kΩ
Mux
REFGND
Send Feedback
UG-M10ADC
2016.10.31 ADC Voltage Reference 2-7
Depending on the device package, the MAX 10 devices support one or two PLLs—PLL1 only, or PLL1 and
PLL3.
For devices that support two PLLs, you can select which PLL to connect to the ADC. You can configure
the ADC blocks with one of the following schemes:
• Both ADC blocks share the same clock source for synchronization.
• Both ADC blocks use different PLLs for redundancy.
If each ADC block in your design uses its own PLL, the Quartus® Prime Fitter automatically selects the
clock source scheme based on the PLL clock input source:
• If each PLL that clocks its respective ADC block uses different PLL input clock source, the Quartus
Prime Fitter follows your design (two PLLs).
• If both PLLs that clock their respective ADC block uses the same PLL input clock source, the Quartus
Prime Fitter merges both PLLs as one.
In dual ADC mode, both ADC instance must share the same ADC clock setting.
Related Information
PLL Locations, MAX 10 Clocking and PLL User Guide
Provides more information about the availability of PLL3 in different MAX 10 devices and packages.
Send Feedback
UG-M10ADC
2-8 ADC Temperature Sensing Diode 2016.10.31
• While using the temperature sensing mode, the ADC sampling rate is 50 kilosamples per second
during temperature measurement.
• After the temperature measurement completes, if the next conversion in the sequence is normal
sampling mode, the Altera Modular ADC IP core automatically switches the ADC back to normal
sampling mode. The maximum cumulative sampling rate in normal sampling mode is 1 MSPS.
• When the ADC switches from normal sensing mode to temperature sensing mode, and vice versa,
calibration is run automatically for the changed clock frequency. The calibration incurs at least six
clock calibration cycles from the new sampling rate.
• The ADC TSD measurement uses a 64-samples running average method. For example:
• The first measured temperature value is the average of samples 1 to 64.
• The second measured temperature value is the average of samples 2 to 65.
• The third measured temperature value is the average of samples 3 to 66.
• The subsequent temperature measurements follow the same method.
For dual ADC devices, the temperature sensor is available in ADC1 only.
Send Feedback
UG-M10ADC
2016.10.31 Temperature Measurement Code Conversion 2-9
Send Feedback
UG-M10ADC
2-10 ADC Sequencer 2016.10.31
Temp (C) Code Temp (C) Code Temp (C) Code Temp (C) Code Temp (C) Code
-11 3748 23 3680 57 3604 91 3524 125 3431
-10 3746 24 3678 58 3601 92 3522 — —
-9 3744 25 3677 59 3598 93 3519 — —
-8 3742 26 3676 60 3595 94 3516 — —
-7 3740 27 3673 61 3594 95 3513 — —
ADC Sequencer
The Altera Modular ADC and Altera Modular Dual ADC IP cores implement the sequencer. Use the
Altera Modular ADC or Altera Modular Dual ADC parameter editor to define the ADC channel
acquisition sequence and generate the HDL code.
The sequencer can support sequences of up to 64 ADC measurement slots. While configuring the Altera
Modular ADC or Altera Modular Dual ADC IP core, you can select which channel, including the TSD
channel, to sample in each sequencer slot. During runtime, you cannot change the channel sequence but
you can configure the sequencer conversion mode using the Nios® II HAL driver API.
You can specify up to 64 slots and assign the channel for each slot. You can repeat the same channel
number several times if required.
Related Information
Guidelines: ADC Sequencer in Altera Modular Dual ADC IP Core on page 2-10
Related Information
ADC Sequencer on page 2-10
Send Feedback
UG-M10ADC
2016.10.31 ADC Timing 2-11
ADC Timing
Figure 2-6: MAX 10 ADC Timing Diagram
• This figure shows the timing diagram for the command and response interface of the Altera Modular
ADC control core.
• The timing diagram shows the latency of the first valid response data, and the latency between the first
acknowledgment of the first command request and the back-to-back response data.
clock
reset_n
command_valid
commandd_channel[4:0] 0x00 0x10 0x01 0x02
command_starofpacket
command_endofpacket
command_ready
response_valid
response_channel[4:0] 0x00 0x10 0x00 0x01
response_startofpacket
response_endofpacket
Send Feedback
UG-M10ADC
2-12 Altera Modular ADC IP Core Configuration Variants 2016.10.31
You can perform the following functions with the Altera Modular ADC or Altera Modular Dual ADC IP
core parameter editor:
• Configure the ADC clock, sampling rate, and reference voltage.
• Select which analog input channels that the ADC block samples.
• Configure the threshold value to trigger a threshold violation notification.
• Set up a conversion sequence to determine which channel requires more frequent attention.
Related Information
• Altera Modular ADC and Altera Modular Dual ADC IP Cores References on page 5-1
• Introduction to Altera IP Cores
Provides general information about all Altera FPGA IP cores, including parameterizing, generating,
upgrading, and simulating IP cores.
• Creating Version-Independent IP and Qsys Simulation Scripts
Create simulation scripts that do not require manual updates for software or IP version upgrades.
• Project Management Best Practices
Guidelines for efficient management and portability of your project and IP files.
Related Information
Altera Modular ADC and Altera Modular Dual ADC IP Cores References on page 5-1
Send Feedback
UG-M10ADC
2016.10.31 Configuration 2: Standard Sequencer with Avalon-MM Sample Storage and 2-13
Threshold Violation Detection
Figure 2-7: Standard Sequencer with Avalon-MM Sample Storage (Altera Modular ADC IP Core)
altera_adc
peripheral clock altera_adc_sequencer altera_adc_control adc_pll_clock
peripheral reset (clock from dedicated PLL)
CSR S SRC command SRC adc_pll_locked
SNK
(locked signal from dedicated PLL)
altera_adc_sample_store
response
CSR S SNK
IRQ
Figure 2-8: Standard Sequencer with Avalon-MM Sample Storage (Altera Modular Dual ADC IP Core)
altera_dual_adc
altera_adc_sequencer altera_adc_control
command response adc_pll_clock
peripheral clock SRC SNK SRC
(clock from dedicated PLL)
peripheral reset
SRC adc_pll_locked
sync handshake (locked signal from dedicated PLL)
Related Information
• Customizing and Generating Altera Modular ADC IP Core on page 4-3
• Completing ADC Design on page 4-8
Configuration 2: Standard Sequencer with Avalon-MM Sample Storage and Threshold Violation
Detection
In this configuration variant, you can use the standard sequencer micro core with internal on-chip RAM
for storing ADC samples with the additional capability of detecting threshold violation. This configuration
is useful for system monitoring application where you want to know whether the ADC samples value fall
outside the maximum or minimum threshold value.
When the threshold value is violated, the Altera Modular ADC or Altera Modular Dual ADC IP core
notifies the discrete logic component. The discrete component then triggers system recovery action. For
example, the system can increase the fan speed in a temperature control system.
Send Feedback
UG-M10ADC
2-14 Configuration 2: Standard Sequencer with Avalon-MM Sample Storage and 2016.10.31
Threshold Violation Detection
Figure 2-9: Standard Sequencer with Avalon-MM Sample Storage and Threshold Violation Detection
(Altera Modular ADC IP Core)
altera_adc
peripheral clock altera_adc_sequencer altera_adc_control adc_pll_clock
peripheral reset (clock from dedicated PLL)
CSR S SRC command SRC adc_pll_locked
SNK
(locked signal from dedicated PLL)
response
altera_adc_sample_store Avalon ST Splitter
Core
response
CSR S SNK SRC SNK
IRQ SRC
altera_adc_threshold_detect
response
threshold SRC SNK
In dual ADC mode, you can configure the threshold detection of each ADC instance independently of
each other. This capability is available because each ADC instance measures different analog metrics.
Figure 2-10: Standard Sequencer with Avalon-MM Sample Storage and Threshold Violation Detection
(Altera Modular Dual ADC IP Core)
threshold
altera_dual_adc SRC
altera_adc_threshold_detect
altera_adc_sequencer altera_adc_control SNK
response adc_pll_clock
command
peripheral clock SRC SNK SRC response (clock from dedicated PLL)
peripheral reset SRC adc_pll_locked
SRC (locked signal from dedicated PLL)
response
sync handshake SNK SRC
Avalon ST Splitter altera_adc_response_merge
SNK altera_adc_sample_store
Core
SNK response
CSR S altera_dual_adc_synchronizer SRC SNK S CSR
Avalon ST Splitter
SNK SNK IRQ
Core
sync handshake SNK SRC response
SRC SRC
command response
SRC SNK SRC
response
SNK
altera_adc_control
altera_adc_threshold_detect
SRC
threshold
Related Information
• Customizing and Generating Altera Modular ADC IP Core on page 4-3
• Completing ADC Design on page 4-8
Send Feedback
UG-M10ADC
2016.10.31 Configuration 3: Standard Sequencer with External Sample Storage 2-15
altera_adc adc_pll_clock
peripheral clock
(clock from dedicated PLL)
peripheral reset
altera_adc_sequencer altera_adc_control adc_pll_locked
(locked signal from dedicated PLL)
CSR S SRC command SRC response
SNK
Figure 2-12: Standard Sequencer with External Sample Storage (Altera Modular Dual ADC IP Core)
altera_dual_adc
altera_adc_sequencer altera_adc_control
command response
peripheral clock SRC SNK SRC
peripheral reset
SRC adc_pll_clock
sync handshake (clock from dedicated PLL)
adc_pll_locked
SNK (locked signal from dedicated PLL)
CSR S altera_dual_adc_synchronizer
SNK
sync handshake
SRC
command
SRC SNK SRC response
altera_adc_control
Related Information
• Customizing and Generating Altera Modular ADC IP Core on page 4-3
• Completing ADC Design on page 4-8
Send Feedback
UG-M10ADC
2-16 Configuration 4: ADC Control Core Only 2016.10.31
Figure 2-13: ADC Control Core Only (Altera Modular ADC IP Core)
altera_adc adc_pll_clock
peripheral clock
(clock from dedicated PLL)
peripheral reset
altera_adc_control adc_pll_locked
(locked signal from dedicated PLL)
command SNK SRC response
Figure 2-14: ADC Control Core Only (Altera Modular Dual ADC IP Core)
altera_dual_adc
altera_adc_control
Related Information
• Customizing and Generating Altera Modular ADC IP Core on page 4-3
• Completing ADC Design on page 4-8
Send Feedback
UG-M10ADC
2016.10.31 Altera Modular ADC and Altera Modular Dual ADC IP Cores Architecture 2-17
Altera Modular ADC and Altera Modular Dual ADC IP Cores Architecture
The Altera Modular ADC IP core consists of six micro cores.
Sequencer This core contains command register and static conversion sequence data. The
sequencer core issues commands for downstream cores to execute.
• You can use the command register to configure the intended conversion
mode.
• You can configure the length and content of the conversion sequence data
only when generating the IP core.
• You can access the register of the sequencer core through the Avalon-MM
slave interface.
• The command information to the downstream core goes through the
Avalon ST interface.
Sample storage This core stores the ADC samples that are received through the Avalon ST
interface.
• The samples are stored in the on-chip RAM. You can retrieve the samples
through the Avalon-MM slave interface.
• With this core, you have the option to generate interrupt when the ADC
receives a block of ADC samples (one full round of conversion sequence).
Response merge This core merges simultaneous responses from two ADC control cores into a
single response packet to send to the sample storage core. This core is available
only if you use the Altera Modular Dual ADC IP core in the following
configurations:
• Standard Sequencer with Avalon-MM Sample Storage
• Standard Sequencer with Avalon-MM Sample Storage and Threshold
Violation Detection
Dual ADC synchronizer This core performs synchronization handshakes between two ADC control
core cores. This core is available only if you use the Altera Modular Dual ADC IP
core.
Send Feedback
UG-M10ADC
2-18 ADC Control Core 2016.10.31
altera_adc_control adc_pll_clock
peripheral clock (clock from dedicated PLL)
peripheral reset adc_pll_locked
ADC ADC
(locked signal from dedicated PLL)
Controller Hard IP
command SNK FSM Wrapper SRC response
SRC sync handshake (dual ADC only)
Send Feedback
UG-M10ADC
2016.10.31 Sequencer Core 2-19
Response The ADC control core does not support backpressure in the response interface. The
fastest back-to-back assertion of valid request is 1 µs.
Sequencer Core
The sequencer core controls the type of conversion sequence performed by the ADC hard IP. You can
configure the conversion mode during run time using the sequencer core registers.
During Altera Modular ADC or Altera Modular Dual ADC IP core configuration, the sequencer core
provides up to 64 configurable slots. You can define the sequence that the ADC channels are sampled by
selecting the ADC channel for each sequencer slot.
The sequencer core has a single clock domain.
Figure 2-16: Sequencer Core High-Level Block Diagram
altera_adc_sequencer
peripheral clock
peripheral reset Command Register Sequencer
Controller SRC command
CSR S Static Conversion
Sequence Data Array Sequencer
SRC command
(up to 64 slots) Controller
(dual ADC only)
Send Feedback
UG-M10ADC
2-20 Sample Storage Core 2016.10.31
Related Information
• Altera Modular ADC Parameters Settings on page 5-2
Lists the parameters available during Altera Modular ADC IP core configuration.
• Altera Modular Dual ADC Parameters Settings on page 5-8
Lists the parameters available during Altera Modular Dual ADC IP core configuration.
• Sequencer Core Registers on page 5-18
Lists the registers for run-time control of the sequencer core.
altera_adc_sample_store
peripheral clock
peripheral reset 64 RAM Entries for RAM
ADC Sample Storage Control
CSR S SNK response
IER Register Interrupt
IRQ ISR Register Control
Send Feedback
UG-M10ADC
2016.10.31 Response Merge Core 2-21
Related Information
Sample Storage Core Registers on page 5-19
altera_adc_response_merge
peripheral clock
peripheral reset
response SNK
Response merge SRC response
response SNK logic
Send Feedback
UG-M10ADC
2-22 Threshold Detection Core 2016.10.31
altera_dual_adc_synchronizer
peripheral clock
peripheral reset
sync handshake SNK
Synchronizer
sync handshake SNK logic
altera_adc_threshold_detect
peripheral clock
peripheral reset
Comparator
threshold SRC Logic SNK response
Related Information
• HAL API Reference, Nios II Gen 2 Software Developer's Handbook
Provides more information about the HAL API.
• ADC HAL Device Driver for Nios II Gen 2 on page 5-20
Send Feedback
UG-M10ADC
2016.10.31 ADC Toolkit for Testing ADC Performance 2-23
Related Information
ADC Toolkit
Provides more information about the ADC Toolkit.
Related Information
Quartus Prime Simulator Support
Table 2-5: Fixed Expected Output Data for Single ADC Device Simulation
Channel Expected Output Data (Decimal Value)
CH0 0
CH1 1
CH2 2
CH3 3
CH4 4
CH5 5
CH6 6
CH7 7
CH8 8
CH9 9
Send Feedback
UG-M10ADC
2-24 User-Specified ADC Logic Simulation Output 2016.10.31
Table 2-6: Fixed Expected Output Data for Dual ADC Device Simulation
Expected Output Data (Decimal Value)
Channel
ADC1 ADC2
CH0 10 20
CH1 11 21
CH2 12 22
CH3 13 23
CH4 14 24
CH5 15 25
CH6 16 26
CH7 17 27
CH8 18 28
TSD 3615 —
(No TSD in ADC2)
Send Feedback
UG-M10ADC
2016.10.31 User-Specified ADC Logic Simulation Output 2-25
The ADC IP core automatically converts each voltage value to a 12-bit digital value based on the reference
voltage you specify in the IP core parameter settings.
Figure 2-21: Simulation Output Example, One Channel Enabled
VIN
Send Feedback
2016.10.31
MAX 10 ADC Design Considerations
3
UG-M10ADC Subscribe Send Feedback
There are several considerations that require your attention to ensure the success of your designs. Unless
noted otherwise, these design guidelines apply to all variants of this device family.
Related Information
MAX 10 Analog to Digital Converter Overview on page 1-1
Related Information
MAX 10 FPGA Device Family Pin Connection Guidelines
Provides more information about pin connections including pin names and connection guidelines.
Guidelines: Board Design for Power Supply Pin and ADC Ground (REFGND)
The crosstalk requirement for analog to digital signal is -100 dB up to 2 GHz. There must be no parallel
routing between power, ground, and surrounding general purpose I/O traces. If a power plane is not
possible, route the power and ground traces as wide as possible.
• To reduce IR drop and switching noise, keep the impedance as low as possible for the ADC power and
ground. The maximum DC resistance for power is 1.5 Ω.
• The power supplies connected to the ADC should have ferrite beads in series followed by a 10 µF
capacitor to the ground. This setup ensures that no external noise goes into the device power supply
pins.
• Decouple each of the device power supply pin with a 0.1 µF capacitor. Place the capacitor as close as
possible to the device pin.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10ADC
3-2 Guidelines: Board Design for Analog Input 2016.10.31
Ferrite Beads
Power
VCCADC_2P5
Supply
10 µF 0.1 µF
There is no impedance requirement for the REFGND. Altera recommends that you use the lowest impedance
with the most minimum DC resistance possible. Typical resistance is less than 1 Ω.
Altera recommends that you set a REFGND plane that extends as close as possible to the corresponding
decoupling capacitor and FPGA:
• If possible, define a complete REFGND plane in the layout.
• Otherwise, route the REFGND using a trace that is as wide as possible from the island to the FPGA pins
and decoupling capacitor.
• The REFGND ground is the analog ground plane for the ADC VREF and analog input.
• Connect REFGND ground to the system digital ground through ferrite beads. You can also evaluate the
ferrite bead option by comparing the impedance with the frequency specifications.
Send Feedback
UG-M10ADC
2016.10.31 Guidelines: Board Design for Analog Input 3-3
• The ADC presents a switch capacitor load to the driving circuit. Therefore, the total RC constant,
including package, trace, and parasitic driver must be less than 42.4 ns. This consideration is to ensure
that the input signal is fully settled during the sampling phase.
• If you reduce the total sampling rate, you can calculate the required settling time as
0.45 ÷ FS > 10.62 × RC constant.
• To gain more total RC margin, Altera recommends that you make the driver source impedance as low
as possible:
• For non-prescaler channel—less than 1 kΩ
• For prescaler channel—less than 11 Ω
Note: Not adhering to the source impedance recommendation may impact parameters such as total
harmonic distortion (THD), signal-to-noise and distortion ratio (SINAD), differential non-
linearity (DNL), and integral non-linearity (INL).
Trace Routing
• If possible, route the switching I/O traces on different layers.
• There is no specific requirement for input signal trace impedance. However, the DC resistance for the
input trace must be as low as possible.
• Route the analog input signal traces as adjacent as possible to REFGND if there is no REFGND plane.
• Use REFGND as ground reference for the ADC input signal.
• For prescaler-enabled input signal, set the ground reference to REFGND. Performance degrades if the
ground reference of prescaler-enabled input signal is set to common ground (GND).
Send Feedback
UG-M10ADC
3-4 Guidelines: Board Design for ADC Reference Voltage Pin 2016.10.31
Altera
Device
REFGND
C1
Board RC
+ ADC Analog Input
Driver RC
R1 R2 -
Cut-off frequency: C2
1
ƒc = Altera
2π R1C1R2C2
REFGND Device
Related Information
• Parameters Settings for Generating Altera Modular ADC or Altera Modular Dual ADC IP Core on
page 4-5
• Altera Modular ADC Parameters Settings on page 5-2
• Altera Modular Dual ADC Parameters Settings on page 5-8
• SPICE Models for Altera Devices
Provides the MAX 10 ADC spice model download.
Send Feedback
UG-M10ADC
2016.10.31 Guidelines: Board Design for ADC Reference Voltage Pin 3-5
VREF
1.0 Ω
10.0 µF 1 µF Altera
device
REFGND REFGND
Send Feedback
2016.10.31
MAX 10 ADC Implementation Guides
4
UG-M10ADC Subscribe Send Feedback
You can implement your ADC design in the Quartus Prime software. The software contains tools for you
to create and compile your design, and configure your device.
The Quartus Prime software allows you to set up the parameters and generate your Altera Modular ADC
IP core. To understand the ADC signal performance, you can use the Quartus Prime ADC Toolkit. For
more information about using the Quartus Prime software and the ADC toolkit, refer to the related
information.
Figure 4-1: High Level Block Diagram of the MAX 10 ADC Solution
Altera FPGA
Altera Modular ADC IP Core
Avalon MM Slave
Sequencer
state machine
External voltage
reference pin Analog input pins
Related Information
• MAX 10 Analog to Digital Converter Overview on page 1-1
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10ADC
4-2 Creating MAX 10 ADC Design 2016.10.31
Related Information
• Customizing and Generating Altera Modular ADC IP Core on page 4-3
• Parameters Settings for Generating Altera Modular ADC or Altera Modular Dual ADC IP Core on
page 4-5
• Parameters Settings for Generating ALTPLL IP Core on page 4-4
• Completing ADC Design on page 4-8
• MAX 10 Getting Started
• MAX 10 Online Training
• MAX 10 How-to Videos
• How to Create ADC Design in MAX 10 Device Using Qsys Tool
Provides video instruction that demonstrates how to create the ADC design in MAX 10 devices using
the Qsys system integration tool within the Quartus Prime software and how to use the ADC toolkit to
view the measured analog signal.
• How to Create Simultaneous Measurement with MAX 10 ADC, Part 1
Provides the first part of video instruction series that explains the differences between the MAX 10
Altera Modular ADC and Altera Modular Dual ADC IP cores. The video also demonstrates how to
create a simple simultaneous ADC measurement and how to place signal taps to measure the digital
code output for analog signal.
Send Feedback
UG-M10ADC
2016.10.31 Customizing and Generating Altera Modular ADC IP Core 4-3
Send Feedback
UG-M10ADC
4-4 Parameters Settings for Generating ALTPLL IP Core 2016.10.31
Related Information
• Creating MAX 10 ADC Design on page 4-2
• Customizing and Generating Altera Modular ADC IP Core on page 4-3
• Completing ADC Design on page 4-8
• MAX 10 Clock Networks and PLLs User Guide
• ADC PLL Clock Interface of Altera Modular ADC and Altera Modular Dual ADC on page 5-17
Send Feedback
UG-M10ADC
2016.10.31 Parameters Settings for Generating Altera Modular ADC or Altera Modular Dual ADC 4-5
IP Core
• ADC PLL Locked Interface of Altera Modular ADC and Altera Modular Dual ADC on page 5-18
• Valid ADC Sample Rate and Input Clock Combination on page 5-13
Debug Path Turn this on to enable the debug path for the selected core variant. You
can use the ADC Toolkit to monitor the ADC performance.
Generate IP for which ADCs of For devices with two ADC blocks, select the ADC block for which you
this device? are generating the IP core. There are feature differences between the
two ADC blocks. The temperature sensor is available only in the first
ADC block. There are also different channel counts in both ADC
blocks.
ADC Sample Rate Select the predefined sampling rate for the ADC from 25 kHz to
1 MHz. A lower sampling rate allows you greater flexibility in designing
your ADC front end driver circuit. For example, using a lower sampling
rate gives you a wider settling time margin for your filter design.
The sampling rate you select affects which ADC input clock frequencies
are available.
Refer to the related information for more details about the sampling
rate and the required settling time.
ADC Input Clock Select the same frequency that you set for the ALTPLL IP core that
clocks the Altera Modular ADC IP core. When configuring the
ALTPLL IP core, specify a clock frequency that is supported by the
ADC sampling rate. For more details, refer to the related information.
Send Feedback
UG-M10ADC
4-6 Parameters Settings for Generating Altera Modular ADC or Altera Modular Dual ADC 2016.10.31
IP Core
Parameter Setting
Reference Voltage Source Select whether you want to use external or internal reference voltage.
There is only one VREF pin. For dual ADC blocks, you can use one
external VREF source for both ADC blocks, or external VREF for one
ADC block and internal VREF for the other ADC block.
External Reference Voltage If you use external VREF source in your design, specify the VREF level.
Enable user created expected If you want to use your own stimulus input file to simulate the ADC
output file output data, enable this function and specify the file for the specific
ADC channel. For more information about user-specified ADC logic
simulation output, refer to the related information.
User created expected output file If you enabled the option to use your own stimulus input file to
simulate the output data, click Browse and select the file for each
enabled channel.
This option is available in all channel tabs except the TSD tab.
Use Channel N You can select which dual-function ADC channels to turn on or off.
There are 16 channels (CH1 to CH16) for single ADC devices and 8
channels (CH1 to CH8) for each ADC block in dual ADC devices.
Use on-chip TSD This option is available in the TSD tab. The TSD channel is the
temperature sensing channel.
Turn on this option if you want the IP core to read the built-in
temperature sensor in the ADC block.
The sampling rate of the ADC block reduces to 50 kHz when it reads
the temperature measurement. After it completes the temperature
reading, the ADC sampling rate returns to 1 MHz.
For the Altera Modular Dual ADC IP core, if you specify the TSD in a
sequencer slot for ADC1, specify NULL in the same sequencer slot
number for ADC2.
Enable Maximum threshold for Turn on this option if you want to set a maximum threshold value for
Channel N the channel.
Send Feedback
UG-M10ADC
2016.10.31 Parameters Settings for Generating Altera Modular ADC or Altera Modular Dual ADC 4-7
IP Core
Parameter Setting
Enter Maximum Threshold for Enter the maximum threshold voltage for the channel. The IP core will
Channel N generate a threshold violation notification signal to indicate that the
sampled data is over the threshold value that you specify.
Enable Maximum threshold for Enter the maximum threshold temperature for the temperature sensor
on-chip TSD (TSD tab) in Celsius. The IP core will generate a threshold violation notification
signal to indicate that the sampled temperature is over the temperature
that you specify.
Enable Minimum threshold for Turn on this option if you want to set a minimum threshold value for
Channel N the channel.
Enter Minimum Threshold for Enter the minimum threshold voltage for the channel. The IP core will
Channel N generate a threshold violation notification signal to indicate that the
sampled data is below the threshold value that you specify.
Enter Minimum Threshold for Enter the maximum threshold temperature for the temperature sensor
on-chip TSD (TSD tab) in Celsius. The IP core will generate a threshold violation notification
signal to indicate that the sampled temperature is below the tempera‐
ture that you specify.
Slot N For each available slot, select the channel to sample in the sequence.
The available channels depend on the channels that you turned on in
the Channels parameters group.
If you turned on a channel but do not select the channel in any of the
sequencer slots, the unselected channel is not measured during the
ADC sampling sequence.
The ADC block samples the measurements in the sequence you specify.
After it reaches the last slot in the sequence, it repeats the sampling
from the first slot.
Related Information
• Creating MAX 10 ADC Design on page 4-2
• Customizing and Generating Altera Modular ADC IP Core on page 4-3
• Completing ADC Design on page 4-8
• Altera Modular ADC Parameters Settings on page 5-2
• Altera Modular Dual ADC Parameters Settings on page 5-8
• Altera Modular ADC IP Core Channel Name to MAX 10 Device Pin Name Mapping on page 5-6
Send Feedback
UG-M10ADC
4-8 Completing ADC Design 2016.10.31
• Altera Modular Dual ADC IP Core Channel Name to MAX 10 Device Pin Name Mapping on page
5-12
• Valid ADC Sample Rate and Input Clock Combination on page 5-13
• User-Specified ADC Logic Simulation Output on page 2-24
Provides more information about using your own stimulus input file to simulate the ADC output data.
• Guidelines: Board Design for Analog Input on page 3-2
Provides more information about the sampling rate and settling time.
Related Information
• Creating MAX 10 ADC Design on page 4-2
• Parameters Settings for Generating ALTPLL IP Core on page 4-4
Send Feedback
UG-M10ADC
2016.10.31 Completing ADC Design 4-9
• Parameters Settings for Generating Altera Modular ADC or Altera Modular Dual ADC IP Core on
page 4-5
• Configuration 1: Standard Sequencer with Avalon-MM Sample Storage on page 2-12
• Configuration 2: Standard Sequencer with Avalon-MM Sample Storage and Threshold Violation
Detection on page 2-13
• Configuration 3: Standard Sequencer with External Sample Storage on page 2-15
• Configuration 4: ADC Control Core Only on page 2-15
Send Feedback
2016.10.31
Altera Modular ADC and Altera Modular Dual
ADC IP Cores References 5
UG-M10ADC Subscribe Send Feedback
The Altera Modular ADC or Altera Modular Dual ADC IP core is a soft controller for the ADC hard IP
blocks. You can generate soft IPs to instantiate the on-chip ADC blocks. With this IP core, you can
configure the ADCs and abstract the low level handshake with the ADC hard IP blocks.
The Quartus Prime software generates your customized Altera Modular ADC or Altera Modular Dual
ADC IP core according to the parameter options that you set in the parameter editor.
Related Information
• MAX 10 Analog to Digital Converter Overview on page 1-1
• Altera Modular ADC and Altera Modular Dual ADC IP Cores on page 2-11
• Altera Modular ADC IP Core Configuration Variants on page 2-12
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10ADC
5-2 Altera Modular ADC Parameters Settings 2016.10.31
Generate IP for which • 1st ADC For devices that have two ADC blocks, specifies which
ADCs of this device? • 2nd ADC ADC block you want to instantiate using the IP core.
ADC Sample Rate 25 kHz, 50 kHz, Specifies the ADC sampling rate. The sampling rate you
100 kHz, 200 kHz, select affects which ADC input clock frequencies are
250 kHz, 500 kHz, available.
and 1 MHz
Refer to the related information for more details about
the sampling rate and the required settling time.
Altera Corporation Altera Modular ADC and Altera Modular Dual ADC IP Cores References
Send Feedback
UG-M10ADC
2016.10.31 Altera Modular ADC Parameters Settings 5-3
Reference Voltage Source • External Specifies the source of voltage reference for the ADC:
• Internal • External—uses ADC_VREF pin as the voltage reference
source.
• Internal—uses the on-chip 2.5 V (3.0/3.3V on voltage-
regulated devices) as the voltage reference source.
External Reference • Dual supply Specifies the voltage of ADC_VREF pin if you use it as
Voltage devices: up to reference voltage to the ADC.
2.5 V
• Single supply
devices: up to
3.63 V
Enable user created • Enabled Specifies the source of output data for ADC logic
expected output file • Disabled simulation:
• Enabled—uses the stimulus input file you provide for
each ADC channel, except the TSD channel, to
simulate the output data.
• Disabled—uses fixed expected output data for all
ADC channels. This is the default setting.
For more information about user-specified ADC logic
simulation output, refer to the related information.
Altera Modular ADC and Altera Modular Dual ADC IP Cores References Altera Corporation
Send Feedback
UG-M10ADC
5-4 Altera Modular ADC Parameters Settings 2016.10.31
Use on-chip TSD • On Specifies that the IP core reads the built-in temperature
• Off sensor in the ADC.
(TSD tab)
If you turn on this option, the ADC sampling rate is up to
50 kHz when it reads the temperature measurement.
After it completes the temperature reading, the ADC
sampling rate is up to 1 MHz.
Enable Maximum • On Enables the maximum threshold feature for the channel.
threshold for Channel N • Off This option is available only if you select the Standard
(Each channel in its own sequencer with Avalon-MM sample storage and
tab) threshold violation detection core variant.
Enable Maximum • On Enables the maximum threshold feature for the TSD.
threshold for on-chip • Off This option is available only if you select the Standard
TSD
sequencer with Avalon-MM sample storage and
(TSD tab) threshold violation detection core variant.
Enable Minimum • On Enables the minimum threshold feature for the channel.
threshold for Channel N • Off This option is available only if you select the Standard
(Each channel in its own sequencer with Avalon-MM sample storage and
tab, including channel 0) threshold violation detection core variant.
Altera Corporation Altera Modular ADC and Altera Modular Dual ADC IP Cores References
Send Feedback
UG-M10ADC
2016.10.31 Altera Modular ADC Parameters Settings 5-5
Enable Minimum • On Enables the minimum threshold feature for the TSD.
threshold for on-chip • Off This option is available only if you select the Standard
TSD
sequencer with Avalon-MM sample storage and
(TSD tab) threshold violation detection core variant.
Slot N Enabled channel Specifies which enabled ADC channel to use for the slot
number (CH N) in the sequence.
The selection option lists the ADC channels that you
turned on in the Channels parameter group.
Related Information
• Sequencer Core on page 2-19
• Configuration 1: Standard Sequencer with Avalon-MM Sample Storage on page 2-12
• Configuration 2: Standard Sequencer with Avalon-MM Sample Storage and Threshold Violation
Detection on page 2-13
• Configuration 3: Standard Sequencer with External Sample Storage on page 2-15
• Configuration 4: ADC Control Core Only on page 2-15
Altera Modular ADC and Altera Modular Dual ADC IP Cores References Altera Corporation
Send Feedback
UG-M10ADC
5-6 Altera Modular ADC IP Core Channel Name to MAX 10 Device Pin Name Mapping 2016.10.31
• Altera Modular ADC IP Core Channel Name to MAX 10 Device Pin Name Mapping on page 5-6
• Altera Modular Dual ADC IP Core Channel Name to MAX 10 Device Pin Name Mapping on page
5-12
• Valid ADC Sample Rate and Input Clock Combination on page 5-13
• User-Specified ADC Logic Simulation Output on page 2-24
Provides more information about using your own stimulus input file to simulate the ADC output data.
• Guidelines: Board Design for Analog Input on page 3-2
Provides more information about the sampling rate and settling time.
Altera Modular ADC IP Core Channel Name to MAX 10 Device Pin Name Mapping
Each ADC channel in the Altera Modular ADC IP core corresponds to different device pin name for
single and dual ADC devices.
Table 5-4: Altera Modular ADC IP Core Channel to Pin Mapping for Single ADC Devices
Channel Name Pin Name
CH0 ANAIN1
CH1 ADC1IN1
CH2 ADC1IN2
CH3 ADC1IN3
CH4 ADC1IN4
CH5 ADC1IN5
CH6 ADC1IN6
CH7 ADC1IN7
CH8 ADC1IN8
CH9 ADC1IN9
CH10 ADC1IN10
CH11 ADC1IN11
CH12 ADC1IN12
CH13 ADC1IN13
CH14 ADC1IN14
CH15 ADC1IN15
CH16 ADC1IN16
Altera Corporation Altera Modular ADC and Altera Modular Dual ADC IP Cores References
Send Feedback
UG-M10ADC
2016.10.31 Altera Modular ADC IP Core Channel Name to MAX 10 Device Pin Name Mapping 5-7
Table 5-5: Altera Modular ADC IP Core Channel to Pin Mapping for Dual ADC Devices
ADC Block Channel Name Pin Name
CH0 ANAIN1
CH1 ADC1IN1
CH2 ADC1IN2
CH3 ADC1IN3
First ADC CH4 ADC1IN4
CH5 ADC1IN5
CH6 ADC1IN6
CH7 ADC1IN7
CH8 ADC1IN8
CH0 ANAIN2
CH1 ADC2IN1
CH2 ADC2IN2
CH3 ADC2IN3
Second ADC CH4 ADC2IN4
CH5 ADC2IN5
CH6 ADC2IN6
CH7 ADC2IN7
CH8 ADC2IN8
Altera Modular ADC and Altera Modular Dual ADC IP Cores References Altera Corporation
Send Feedback
UG-M10ADC
5-8 Altera Modular Dual ADC Parameters Settings 2016.10.31
ADC Sample Rate 25 kHz, 50 kHz, Specifies the ADC sampling rate. The sampling rate you
100 kHz, 200 kHz, select affects which ADC input clock frequencies are
250 kHz, 500 kHz, available.
and 1 MHz
Refer to the related information for more details about
the sampling rate and the required settling time.
ADC Input Clock 2 MHz, 10 MHz, Specifies the frequency of the PLL clock counter zero (c0)
20 MHz, 40 MHz, clock supply for the ADC core clock.
and 80 MHz
• You must configure the c0 of the first ALTPLL IP core
that you instantiate to output one of the frequencies in
the allowed values list.
• Connect the ALTPLL c0 output signal to the Altera
Modular Dual ADC clk_in_pll_c0 input signal.
For valid ADC sampling rate and input clock frequencies
combinations, refer to the related information.
Altera Corporation Altera Modular ADC and Altera Modular Dual ADC IP Cores References
Send Feedback
UG-M10ADC
2016.10.31 Altera Modular Dual ADC Parameters Settings 5-9
External Reference • Dual supply Specifies the voltage of ADC_VREF pin if you use it as
Voltage devices: up to reference voltage to the ADC.
2.5 V
• Single supply
devices: up to
3.63 V
Enable user created • Enabled Specifies the source of output data for ADC logic
expected output file • Disabled simulation:
• Enabled—uses the stimulus input file you provide for
each ADC channel, except the TSD channel, to
simulate the output data.
• Disabled—uses fixed expected output data for all
ADC channels. This is the default setting.
For more information about user-specified ADC logic
simulation output, refer to the related information.
Use Channel 0 or 9 • On Enables the dedicated analog input pin for ADC1 or
(Dedicated analog input • Off ADC2.
pin - ANAIN)
(CH0 tab for ADC1 or
CH9 tab for ADC2)
User created expected Specifies user-created stimulus input file to simulate the
output file output data for the channel.
— This option is available for each enabled channel except
the TSD if you select Enable user created expected
output file.
Altera Modular ADC and Altera Modular Dual ADC IP Cores References Altera Corporation
Send Feedback
UG-M10ADC
5-10 Altera Modular Dual ADC Parameters Settings 2016.10.31
Use on-chip TSD • On Specifies that the IP core reads the built-in temperature
• Off sensor in ADC1.
(TSD tab in ADC1 only)
If you turn on this option, the ADC sampling rate is up to
50 kHz when it reads the temperature measurement.
After it completes the temperature reading, the ADC
sampling rate is up to 1 MHz.
Note: If you select the TSD for a sequencer slot in
ADC1, select NULL for the same sequencer
slot number in ADC2.
Enable Maximum • On Enables the maximum threshold feature for the channel.
threshold for Channel N • Off This option is available only if you select the Standard
(Each channel in its own sequencer with Avalon-MM sample storage and
tab) threshold violation detection core variant.
Enable Maximum • On Enables the maximum threshold feature for the TSD.
threshold for on-chip • Off This option is available only if you select the Standard
TSD
sequencer with Avalon-MM sample storage and
(TSD tab) threshold violation detection core variant.
Enable Minimum • On Enables the minimum threshold feature for the channel.
threshold for Channel N • Off This option is available only if you select the Standard
(Each channel in its own sequencer with Avalon-MM sample storage and
tab, including channel 0) threshold violation detection core variant.
Altera Corporation Altera Modular ADC and Altera Modular Dual ADC IP Cores References
Send Feedback
UG-M10ADC
2016.10.31 Altera Modular Dual ADC Parameters Settings 5-11
Enable Minimum • On Enables the minimum threshold feature for the TSD.
threshold for on-chip • Off This option is available only if you select the Standard
TSD
sequencer with Avalon-MM sample storage and
(TSD tab) threshold violation detection core variant.
Slot N Enabled channel Specifies which enabled ADC channel to use for the slot
number (CH N) in the sequence.
The selection option lists the ADC channels that you
turned on in the Channels parameter group for ADC1
and ADC2.
Note: If you select the TSD for a sequencer slot in
ADC1, select NULL for the same sequencer
slot number in ADC2.
Related Information
• Sequencer Core on page 2-19
• Configuration 1: Standard Sequencer with Avalon-MM Sample Storage on page 2-12
Altera Modular ADC and Altera Modular Dual ADC IP Cores References Altera Corporation
Send Feedback
UG-M10ADC
5-12 Altera Modular Dual ADC IP Core Channel Name to MAX 10 Device Pin Name 2016.10.31
Mapping
• Configuration 2: Standard Sequencer with Avalon-MM Sample Storage and Threshold Violation
Detection on page 2-13
• Configuration 3: Standard Sequencer with External Sample Storage on page 2-15
• Configuration 4: ADC Control Core Only on page 2-15
• Altera Modular ADC IP Core Channel Name to MAX 10 Device Pin Name Mapping on page 5-6
• Altera Modular Dual ADC IP Core Channel Name to MAX 10 Device Pin Name Mapping on page
5-12
• Valid ADC Sample Rate and Input Clock Combination on page 5-13
• User-Specified ADC Logic Simulation Output on page 2-24
Provides more information about using your own stimulus input file to simulate the ADC output data.
• Guidelines: Board Design for Analog Input on page 3-2
Provides more information about the sampling rate and settling time.
Altera Modular Dual ADC IP Core Channel Name to MAX 10 Device Pin Name
Mapping
Each ADC channel in the Altera Modular Dual ADC IP core corresponds to different device pin name.
Table 5-9: Altera Modular Dual ADC IP Core Channel to Pin Mapping
ADC Block Channel Name Pin Name
CH0 ANAIN1
CH1 ADC1IN1
CH2 ADC1IN2
CH3 ADC1IN3
ADC1 CH4 ADC1IN4
CH5 ADC1IN5
CH6 ADC1IN6
CH7 ADC1IN7
CH8 ADC1IN8
CH9 ANAIN2
CH10 ADC2IN1
CH11 ADC2IN2
CH12 ADC2IN3
ADC2 CH13 ADC2IN4
CH14 ADC2IN5
CH15 ADC2IN6
CH16 ADC2IN7
CH17 ADC2IN8
Altera Corporation Altera Modular ADC and Altera Modular Dual ADC IP Cores References
Send Feedback
UG-M10ADC
2016.10.31 Valid ADC Sample Rate and Input Clock Combination 5-13
Table 5-10: Valid Combination of ADC Sampling Rate and Input Clock
Related Information
• Parameters Settings for Generating ALTPLL IP Core on page 4-4
• Parameters Settings for Generating Altera Modular ADC or Altera Modular Dual ADC IP Core on
page 4-5
• Altera Modular ADC Parameters Settings on page 5-2
• Altera Modular Dual ADC Parameters Settings on page 5-8
Altera Modular ADC and Altera Modular Dual ADC Interface Signals
Depending on parameter settings you specify, different signals are available for the Altera Modular ADC
or Altera Modular Dual ADC IP core.
Command Interface of Altera Modular ADC and Altera Modular Dual ADC
The command interface is an Avalon-ST type interface that supports a ready latency of 0.
Altera Modular ADC and Altera Modular Dual ADC IP Cores References Altera Corporation
Send Feedback
UG-M10ADC
5-14 Response Interface of Altera Modular ADC and Altera Modular Dual ADC 2016.10.31
startofpacket 1 Indication from the source port that current transfer is the start of
packet.
• For altera_adc_sequencer core implementation, the IP core
asserts this signal during the first slot of conversion sequence
data array.
• For altera_adc_control core implementation, this signal is
ignored. The IP core just passes the received information back to
the corresponding response interface.
endofpacket 1 Indication from the source port that current transfer is the end of
packet.
• For altera_adc_sequencer core implementation, IP core asserts
this signal during the final slot of conversion sequence data
array.
• For altera_adc_control core implementation, this signal is
ignored. The IP core just passes the received information back to
the corresponding response interface.
Related Information
• Altera Modular ADC IP Core Channel Name to MAX 10 Device Pin Name Mapping on page 5-6
• Altera Modular Dual ADC IP Core Channel Name to MAX 10 Device Pin Name Mapping on page
5-12
Response Interface of Altera Modular ADC and Altera Modular Dual ADC
The response interface is an Avalon-ST type interface that does not support backpressure. To avoid
overflow condition at the source port, implement sink ports with response data process time that is fast
enough, or with enough buffers storage.
Altera Corporation Altera Modular ADC and Altera Modular Dual ADC IP Cores References
Send Feedback
UG-M10ADC
2016.10.31 Threshold Interface of Altera Modular ADC and Altera Modular Dual ADC 5-15
startofpacket 1 Indication from the source port that current transfer is the start of
packet.
For altera_adc_control core implementation, the source of this
signal is from the corresponding command interface.
endofpacket 1 Indication from the source port that current transfer is the end of
packet.
For altera_adc_control core implementation, the source of this
signal is from the corresponding command interface.
Threshold Interface of Altera Modular ADC and Altera Modular Dual ADC
The threshold interface is an Avalon-ST type interface that does not support backpressure.
Altera Modular ADC and Altera Modular Dual ADC IP Cores References Altera Corporation
Send Feedback
UG-M10ADC
5-16 CSR Interface of Altera Modular ADC and Altera Modular Dual ADC 2016.10.31
Related Information
• Altera Modular ADC IP Core Channel Name to MAX 10 Device Pin Name Mapping on page 5-6
• Altera Modular Dual ADC IP Core Channel Name to MAX 10 Device Pin Name Mapping on page
5-12
CSR Interface of Altera Modular ADC and Altera Modular Dual ADC
The CSR interface is an Avalon-MM slave interface.
IRQ Interface of Altera Modular ADC and Altera Modular Dual ADC
The IRQ interface is an interrupt interface type.
Altera Corporation Altera Modular ADC and Altera Modular Dual ADC IP Cores References
Send Feedback
UG-M10ADC
2016.10.31 Peripheral Clock Interface of Altera Modular ADC and Altera Modular Dual ADC 5-17
Peripheral Clock Interface of Altera Modular ADC and Altera Modular Dual ADC
The peripheral clock interface is a clock sink interface type.
Peripheral Reset Interface of Altera Modular ADC and Altera Modular Dual ADC
The peripheral reset interface is a reset sink interface type.
ADC PLL Clock Interface of Altera Modular ADC and Altera Modular Dual ADC
The ADC PLL clock interface is a clock sink interface type.
Related Information
• Customizing and Generating Altera Modular ADC IP Core on page 4-3
• Parameters Settings for Generating ALTPLL IP Core on page 4-4
• ADC Clock Sources on page 2-6
• PLL Locations, MAX 10 Clocking and PLL User Guide
Provides more information about the availability of PLL3 in different MAX 10 devices and packages.
Altera Modular ADC and Altera Modular Dual ADC IP Cores References Altera Corporation
Send Feedback
UG-M10ADC
5-18 ADC PLL Locked Interface of Altera Modular ADC and Altera Modular Dual ADC 2016.10.31
ADC PLL Locked Interface of Altera Modular ADC and Altera Modular Dual ADC
The ADC PLL locked interface is a conduit end interface type.
Related Information
• Customizing and Generating Altera Modular ADC IP Core on page 4-3
• Parameters Settings for Generating ALTPLL IP Core on page 4-4
• ADC Clock Sources on page 2-6
• PLL Locations, MAX 10 Clocking and PLL User Guide
Provides more information about the availability of PLL3 in different MAX 10 devices and packages.
Altera Corporation Altera Modular ADC and Altera Modular Dual ADC IP Cores References
Send Feedback
UG-M10ADC
2016.10.31 Sample Storage Core Registers 5-19
Related Information
Sequencer Core on page 2-19
11:0 Sample Read The data sampled by the ADC for Sampled data 0
the corresponding slot.
Table 5-22: ADC Sample Register (ADC_SAMPLE) of Altera Modular Dual ADC
Address Offset: 0x3F (slot 63)—0x0 (slot 0)
Altera Modular ADC and Altera Modular Dual ADC IP Cores References Altera Corporation
Send Feedback
UG-M10ADC
5-20 ADC HAL Device Driver for Nios II Gen 2 2016.10.31
Related Information
Sample Storage Core on page 2-20
Altera Corporation Altera Modular ADC and Altera Modular Dual ADC IP Cores References
Send Feedback
UG-M10ADC
2016.10.31 ADC HAL Device Driver for Nios II Gen 2 5-21
Related Information
HAL API Reference, Nios II Gen 2 Software Developer's Handbook
Provides more information about the HAL API.
Altera Modular ADC and Altera Modular Dual ADC IP Cores References Altera Corporation
Send Feedback
2016.10.31
MAX 10 Analog to Digital Converter User Guide
Archives A
UG-M10ADC Subscribe Send Feedback
If an IP core version is not listed, the user guide for the previous IP core version applies.
IP Core Version User Guide
16.0 MAX 10 Analog to Digital Converter User Guide
15.1 MAX 10 Analog to Digital Converter User Guide
15.0 MAX 10 Analog to Digital Converter User Guide
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2016.10.31
Document Revision History for MAX 10 Analog
to Digital Converter User Guide B
UG-M10ADC Subscribe Send Feedback
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10ADC
B-2 Document Revision History for MAX 10 Analog to Digital Converter User Guide 2016.10.31
November 2015 2015.11.02 • Added related information link to Introduction to Altera IP Cores.
• Added links to instructional videos that demonstrate how to create
ADC designs in MAX 10 devices.
• Changed instances of Quartus II to Quartus Prime.
June 2015 2015.06.11 Updated the board design guidelines for analog input.
May 2015 2015.05.04 • Added the Altera Modular Dual ADC IP core.
• Removed F672 from the 10M25 device and added ADC informa‐
tion for the E144 package of the 10M04 device:
• Updated the ADC block counts.
• Updated the ADC vertical migration support.
• Updated the ADC channel counts.
• Updated the table that lists the ADC channel count to list only 8
dual function pins (instead of 16) for the M153 and U169 packages.
• Updated the ADC vertical migration diagram to clarify that there
are single ADC devices with eight and 16 dual function pins.
• Updated the topic about ADC conversion to specify that in
prescaler mode, the analog input in dual and single supply devices
can measure up to 3.0 V and 3.6 V, respectively.
• Updated the ADC IP core architecture figures to include features
for the dual ADC IP core.
• Added information and topics about the response merge and dual
ADC synchronizer micro cores.
• Removed notes about contacting Altera for the ADC pin RLC filter
design.
Altera Corporation Document Revision History for MAX 10 Analog to Digital Converter User Guide
Send Feedback
UG-M10ADC
2016.10.31 Document Revision History for MAX 10 Analog to Digital Converter User Guide B-3
• Updated the ADC prescaler topic to change the ADC2 channel that
supports prescaler from channel 16 to channel 17.
• Updated the diagram that shows the ADC timing:
• To clarify that the numbers are hexadecimal numbers.
• Relabeled the signals to match the command and response
interface signal names.
• Updated the RC constant and filter value and the filter design
example figure to clarify the source of the example values.
• Added guidelines for setting up the sequencer in dual ADC mode.
• Added topics that list the mapping of Altera Modular ADC and
Altera Modular Dual ADC IP cores channel names to MAX 10
device pin names.
• Corrected the address offset of the interrupt enable register (from
0x41 to 0x40) and interrupt status register (from 0x40 to 0x41) for
the sample storage core.
• Updated the sample storage core registers table to include registers
for Altera Modular Dual ADC.
• Removed statements about availability of the threshold trigger
feature in a future version of the Quartus Prime software. The
feature is now available from version 15.0 of the software.
Document Revision History for MAX 10 Analog to Digital Converter User Guide Altera Corporation
Send Feedback
UG-M10ADC
B-4 Document Revision History for MAX 10 Analog to Digital Converter User Guide 2016.10.31
Altera Corporation Document Revision History for MAX 10 Analog to Digital Converter User Guide
Send Feedback
MAX 10 FPGA Configuration User Guide
Contents
Altera Corporation
TOC-3
Altera Corporation
2016.10.31
MAX 10 FPGA Configuration Overview
1
UG-M10CONFIG Subscribe Send Feedback
You can configure MAX® 10 configuration RAM (CRAM) using the following configuration schemes:
• JTAG configuration—using JTAG interface.
• Internal configuration—using internal flash.
Related IP Cores
• Altera Dual Configuration IP Core—used in the remote system upgrade feature.
• Altera Unique Chip ID IP Core—retrieves the chip ID of MAX 10 devices.
Related Information
• MAX 10 FPGA Configuration Schemes and Features on page 2-1
Provides information about the configuration schemes and features.
• MAX 10 FPGA Configuration Design Guidelines on page 3-1
Provides information about using the configuration schemes and features.
• Altera Unique Chip ID IP Core on page 2-18
• Altera Dual Configuration IP Core on page 2-16
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2016.10.31
MAX 10 FPGA Configuration Schemes and
Features 2
UG-M10CONFIG Subscribe Send Feedback
Configuration Schemes
Figure 2-1: High-Level Overview of JTAG Configuration and Internal Configuration for MAX 10 Devices
JTAG Configuration
In MAX 10 devices, JTAG instructions take precedence over the internal configuration scheme.
Using the JTAG configuration scheme, you can directly configure the device CRAM through the JTAG
interface—TDI, TDO, TMS, and TCK pins. The Quartus® Prime software automatically generates an SRAM
Object File (.sof). You can program the .sof using a download cable with the Quartus Prime software
programmer.
Related Information
Configuring MAX 10 Devices using JTAG Configuration on page 3-2
Provides more information about JTAG configuration using download cable with Quartus Prime software
programmer.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10CONFIG
2-2 JTAG Pins 2016.10.31
JTAG Pins
TDO Serial output pin for: • TDO is sampled on the falling edge of TCK
• instructions • The pin is tri-stated if data is not shifted out
• boundary-scan test data of the device.
• programming data
TMS Input pin that provides the control • TMS is sampled on the rising edge of TCK
signal to determine the transitions of • TMS pins have internal weak pull-up resistors.
the TAP controller state machine.
TCK Clock input to the BST circuitry. —
All the JTAG pins are powered by the VCCIO 1B. In JTAG mode, the I/O pins support the LVTTL/
LVCMOS 3.3-1.5V standards.
Related Information
• MAX 10 Device Datasheet
Provides more information about supported I/O standards in MAX 10 devices.
• Guidelines: Dual-Purpose Configuration Pin on page 3-1
• Enabling Dual-purpose Pin on page 3-2
Internal Configuration
You need to program the configuration data into the configuration flash memory (CFM) before internal
configuration can take place. The configuration data to be written to CFM will be part of the programmer
object file (.pof). Using JTAG In-System Programming (ISP), you can program the .pof into the internal
flash.
During internal configuration, MAX 10 devices load the CRAM with configuration data from the CFM.
Table 2-2: Supported Internal Configuration Modes Based on MAX 10 Feature Options
MAX 10 Feature Options Supported Internal Configuration Mode
Send Feedback
UG-M10CONFIG
2016.10.31 Configuration Flash Memory 2-3
Note: In dual compressed images mode, you can use the CONFIG_SEL pin to select the configuration
image.
Related Information
• Configuring MAX 10 Devices using Internal Configuration on page 3-5
• Remote System Upgrade on page 2-10
Related Information
Configuration Flash Memory Permissions on page 2-20
Send Feedback
UG-M10CONFIG
2-4 Configuration Flash Memory Programming Time 2016.10.31
Figure 2-2: Configuration Flash Memory Sectors Utilization for all MAX 10 with Analog and Flash Feature
Options
Unutilized CFM1 and CFM2 sectors can be used for additional user flash memory (UFM).
Internal Configuration User Flash Memory Sectors Configuration Flash Memory Sectors
Mode
UFM1 UFM0 CFM2 CFM1 CFM0
Compressed
Dual Compressed Image UFM Compressed Image 1 Image 0
Compressed
Single Compressed Image UFM Additional UFM Image 0
Related Information
CFM and UFM Array Size
Provides more information about UFM and CFM sector sizes.
Table 2-3: Configuration Flash Memory Programming Time for Sectors in MAX 10 Devices
Note: The programming time reflects JTAG interface programming time only without any system
overhead. It does not reflect the actual programming time that you face. To compensate the system
overhead, Quartus Prime Programmer is enhanced to utilize flash parallel mode during device
programming for MAX 10 10M04/08/16/25/40/50 devices. The 10M02 device does not support
flash parallel mode, you may experience a relatively slow programming time if compare to other
device.
Send Feedback
UG-M10CONFIG
2016.10.31 In-System Programming 2-5
In-System Programming
You can program the internal flash including the CFM of MAX 10 devices with ISP through industry
standard IEEE 1149.1 JTAG interface. ISP offers the capability to program, erase, and verify the CFM. The
JTAG circuitry and ISP instructions for MAX 10 devices are compliant to the IEEE-1532-2002
programming specification.
During ISP, the MAX 10 receives the IEEE Std. 1532 instructions, addresses, and data through the TDI
input pin. Data is shifted out through the TDO output pin and compared with the expected data.
The following are the generic flow of an ISP operation:
1. Check ID—the JTAG ID is checked before any program or verify process. The time required to read
this JTAG ID is relatively small compared to the overall programming time.
2. Enter ISP—ensures the I/O pins transition smoothly from user mode to the ISP mode.
3. Sector Erase—shifting in the address and instruction to erase the device and applying erase pulses.
4. Program—shifting in the address, data, and program instructions and generating the program pulse to
program the flash cells. This process is repeated for each address in the internal flash sector.
5. Verify—shifting in addresses, applying the verify instruction to generate the read pulse, and shifting
out the data for comparison. This process is repeated for each internal flash address.
6. Exit ISP—ensures that the I/O pins transition smoothly from the ISP mode to the user mode.
You can also use the Quartus Prime Programmer to program the CFM.
Related Information
Programming .pof into Internal Flash on page 3-8
Provides the steps to program the .pof using Quartus Prime Programmer.
ISP Clamp
When a normal ISP operation begins, all I/O pins are tri-stated. For situations when the I/O pins of the
device should not be tri-stated when the device is in ISP operation, you can use the ISP clamp feature.
When the ISP clamp feature is used, you can set the I/O pins to tri-state, high, low, or sample and sustain.
The Quartus Prime software determines the values to be scanned into the boundary-scan registers of each
I/O pin, based on your settings. This will determine the state of the pins to be clamped to when the device
programming is in progress.
Before clamping the I/O pins, the SAMPLE/PRELOAD JTAG instruction is first executed to load the
appropriate values to the boundary-scan registers. After loading the boundary-scan registers with the
appropriate values, the EXTEST instruction is executed to clamp the I/O pins to the specific values loaded
into the boundary-scan registers during SAMPLE/PRELOAD.
If you choose to sample the existing state of a pin and hold the pin to that state when the device enters ISP
clamp mode, you must ensure that the signal is in steady state. A steady state signal is needed because you
cannot control the sample set-up time as it depends on the TCK frequency as well as the download cable
and software. You might not capture the correct value when sampling a signal that toggles or is not static
for long periods of time.
Related Information
Implementing ISP Clamp in Quartus Prime Software on page 3-8
Send Feedback
UG-M10CONFIG
2-6 Real-Time ISP 2016.10.31
Real-Time ISP
In a normal ISP operation, to update the internal flash with a new design image, the device exits from user
mode and all I/O pins remain tri-stated. After the device completes programing the new design image, it
resets and enters user mode.
The real-time ISP feature updates the internal flash with a new design image while operating in user mode.
During the internal flash programming, the device continues to operate using the existing design. After
the new design image programming process completes, the device will not reset. The new design image
update only takes effect in the next reconfiguration cycle.
Table 2-4: ISP and Real-Time ISP Instructions for MAX 10 Devices
Instruction Instruction Code Description
CONFIG_IO 00 0000 1101 • Allows I/O reconfiguration through JTAG ports using
the IOCSR for JTAG testing. This is executed after or
during configurations.
• nSTATUS pin must go high before you can issue the
CONFIG_IO instruction.
PULSE_NCONFIG 00 0000 0001 Emulates pulsing the nCONFIG pin low to trigger reconfi‐
guration even though the physical pin is unaffected.
(1)
ISC_ENABLE_HIZ 10 1100 1100 • Puts the device in ISP mode, tri-states all I/O pins,
and drives all core drivers, logic, and registers.
• Device remains in the ISP mode until the ISC_
DISABLE instruction is loaded and updated.
• The ISC_ENABLE instruction is a mandatory instruc‐
tion. This requirement is met by the ISC_ENABLE_
CLAMP or ISC_ENABLE_HIZ instruction.
(1)
ISC_ENABLE_CLAMP 10 0011 0011 • Puts the device in ISP mode and forces all I/O pins to
follow the contents of the JTAG boundary-scan
register.
• When this instruction is activated, all core drivers,
logics, and registers are frozen. The I/O pins remain
clamped until the device exits ISP mode successfully.
ISC_PROGRAM(2) 10 1111 0100 Sets the device up for in-system programming. Program‐
ming occurs in the run-test or idle state.
(1)
Do not issue the ISC_ENABLE_HIZ and ISC_ENABLE_CLAMP instructions from the core logic.
(2)
All ISP and real-time ISP instructions are disabled when the device is not in the ISP or real-time ISP mode,
except for the enabling and disabling instructions.
Send Feedback
UG-M10CONFIG
2016.10.31 Initialization Configuration Bits 2-7
ISC_ADDRESS_SHIFT(2) 10 0000 0011 Sets the device up to load the flash address. It targets the
ISC_Address register, which is the flash address register.
ISC_ERASE(2) 10 1111 0010 • Sets the device up to erase the internal flash.
• Issue after ISC_ADDRESS_SHIFT instruction.
ISC_READ(2) 10 0000 0101 • Sets the device up for verifying the internal flash
under normal user bias conditions.
• The ISC_READ instruction supports explicit addressing
and auto-increment, also known as the Burst mode.
BGP_ENABLE 01 1001 1001 • Sets the device to the real-time ISP mode.
• Allows access to the internal flash configuration sector
while the device is still in user mode.
BGP_DISABLE 01 0110 0110 • Brings the device out of the real-time ISP mode.
• The device has to exit the real-time ISP mode using
the BGP_DISABLE instruction after it is interrupted by
reconfiguration.
Caution: Do not use unsupported JTAG instructions. It will put the device into an unknown state and
requires a power cycle to recover the operation.
Send Feedback
UG-M10CONFIG
2-8 Initialization Configuration Bits 2016.10.31
Use secondary image ISP data Select ISP data from initial or secondary image to Disable
as default setting when include in the POF.
available.
• Disable: Use ISP data from initial image
• Enable: Use ISP data from secondary image
ISP data contains the information about state of
the pin during ISP. This can be either tri-state with
weak pull-up or clamp the I/O state. You can set
the ISP clamp through Device and Pin Option, or
Pin Assignment tool.
Related Information
• .pof and ICB Settings on page 3-6
• Verify Protect on page 2-19
• JTAG Secure Mode on page 2-19
• ISP and Real-Time ISP Instructions on page 2-6
• User Watchdog Timer on page 2-16
• Generating .pof using Convert Programming Files on page 3-7
Provides more information about setting the ICB during .pof generation using Convert Programming
File.
(3)
The JTAG Secure feature will be disabled by default in Quartus Prime. If you are interested in using the JTAG
Secure feature, contact Altera for support.
(4)
The watchdog timer value depends on the MAX 10 you are using. Refer to the Watchdog Timer section for
more information.
Send Feedback
UG-M10CONFIG
2016.10.31 Internal Configuration Time 2-9
Table 2-6: Internal Configuration Time for MAX 10 Devices (Uncompressed .rbf)
Internal Configuration Time (ms)
Unencrypted Encrypted
Device Without Memory With Memory Initiali‐ Without Memory With Memory Initialization
Initialization zation Initialization
Min Max Min Max Min Max Min Max
10M02 0.3 1.7 — — 1.7 5.4 — —
10M04 0.6 2.7 1.0 3.4 5.0 15.0 6.8 19.6
10M08 0.6 2.7 1.0 3.4 5.0 15.0 6.8 19.6
10M16 1.1 3.7 1.4 4.5 9.3 25.3 11.7 31.5
10M25 1.0 3.7 1.3 4.4 14.0 38.1 16.9 45.7
10M40 2.6 6.9 3.2 9.8 41.5 112.1 51.7 139.6
10M50 2.6 6.9 3.2 9.8 41.5 112.1 51.7 139.6
Table 2-7: Internal Configuration Time for MAX 10 Devices (Compressed .rbf)
Compression ratio depends on design complexity. The minimum value is based on the best case (25% of
original .rbf sizes) and the maximum value is based on the typical case (70% of original .rbf sizes).
Internal Configuration Time (ms)
Unencrypted/Encrypted
Device
Without Memory Initialization With Memory Initialization
Min Max Min Max
10M02 0.3 5.2 — —
10M04 0.6 10.7 1.0 13.9
10M08 0.6 10.7 1.0 13.9
10M16 1.1 17.9 1.4 22.3
10M25 1.1 26.9 1.4 32.2
10M40 2.6 66.1 3.2 82.2
10M50 2.6 66.1 3.2 82.2
Send Feedback
UG-M10CONFIG
2-10 Configuration Features 2016.10.31
Configuration Features
Remote System Upgrade
MAX 10 devices support the remote system upgrade feature. By default, the remote system upgrade
feature is enabled when you select the dual compressed image internal configuration mode.
The remote system upgrade feature in MAX 10 devices offers the following capabilities:
• Manages remote configuration
• Provides error detection, recovery, and information
• Supports direct-to-application configuration image
• Supports compressed and encrypted .pof
There are two methods to access remote system upgrade in MAX 10 devices:
• Altera Dual Configuration IP core
• User interface
Related Information
• Altera Dual Configuration IP Core on page 2-16
• Accessing Remote System Upgrade through User Logic on page 3-9
• AN 741: Remote System Upgrade for MAX 10 FPGA Devices over UART with the Nios II Processor
Provides reference design for remote system upgrade in MAX 10 FPGA devices.
• I2C Remote System Update Example
This example demonstrates a remote system upgrade using the I2C protocol.
Send Feedback
UG-M10CONFIG
2016.10.31 Remote System Upgrade Flow 2-11
Power-up
Rec
o
Flow when
rati
onfi
igu
Configure device
gura
onf
from CFM0 only
Rec
tion
is enabled. CONFIG_SEL=0 CONFIG_SEL=1
Power-up
First Error Occurs
Image 0 Image 1
Reconfiguration
Reconfiguration
The remote system upgrade feature detects errors in the following sequence:
1. After power-up, the device samples the CONFIG_SEL pin to determine which application configuration
image to load. The CONFIG_SEL pin setting can be overwritten by the input register of the remote
system upgrade circuitry for the subsequent reconfiguration.
2. If an error occurs, the remote system upgrade feature reverts by loading the other application configu‐
ration image. These errors cause the remote system upgrade feature to load another application
configuration image:
• Internal CRC error
• User watchdog timer time-out
3. Once the revert configuration completes and the device is in user mode, you can use the remote system
upgrade circuitry to query the cause of error and which application image failed.
4. If a second error occurs, the device waits for a reconfiguration source. If the Auto-restart configura‐
tion after error is enabled, the device will reconfigure without waiting for any reconfiguration source.
5. Reconfiguration is triggered by the following actions:
• Driving the nSTATUS low externally.
• Driving the nCONFIG low externally.
• Driving RU_nCONFIG low.
Send Feedback
UG-M10CONFIG
2-12 Remote System Upgrade Circuitry 2016.10.31
Logic
Input Register
Bit [38..0] update
RU
Master
State
Logic Machine
RU
Shift Register Reconfiguration timeout User
State Watchdog
din dout din dout Machine Timer
Bit [40..39] Bit [38..0]
capture
Logic Array
Table 2-8: Remote System Upgrade Circuitry Signals for MAX 10 Devices
Core Signal Name Logical Input/ Description
Signal Output
Name
Use this signal to write data to the shift register on the rising
RU_DIN regin Input edge of RU_CLK. To load data to the shift register, assert RU_
SHIFTnLD.
Send Feedback
UG-M10CONFIG
2016.10.31 Remote System Upgrade Circuitry Input Control 2-13
Related Information
MAX 10 Device Datasheet
Provides more information about Remote System Upgrade timing specifications.
Send Feedback
UG-M10CONFIG
2-14 Remote System Upgrade Input Register 2016.10.31
The following shows examples of driving the control inputs in the remote system upgrade circuitry:
• When you drive RU_SHIFTnLD high to 1’b1, the shift register shifts data on each rising edge of RU_CLK
and RU_CAPTnUPDT has no function.
• When you drive both RU_SHIFTnLD and RU_CAPTnUPDT low to 1’b0, the input register is loaded with the
contents of the shift register on the rising edge of RU_CLK.
• When you drive RU_SHIFTnLD low to 1’b0 and RU_CAPTnUPDT high to 1’b1, the shift register
captures values on the rising edge of RU_DCLK.
Table 2-10: Remote System Upgrade Input Register for MAX 10 Devices
Bits Name Description
38:14 Reserved Reserved—set to 0.
Send Feedback
UG-M10CONFIG
2016.10.31 Remote System Upgrade Status Registers 2-15
Table 2-11: Remote System Upgrade Status Register—Current State Logic Bit for MAX 10 Devices
Bits Name Description
33:30 msm_cs The current state of the master state machine (MSM).
The current state of the enabled user watchdog timer. The default
29 ru_wd_en
state is active high.
28:0 wd_timeout_value The current, entire 29-bit watchdog time-out value.
Table 2-12: Remote System Upgrade Status Register—Previous State Bit for MAX 10 Devices
Bits Name Description
31 nconfig An active high field that describes the reconfiguration sources which
30 crcerror caused the MAX 10 device to leave the previous application configu‐
ration. In the event of a tie, the higher bit order takes precedence.
29 nstatus For example, if the nconfig and the ru_nconfig triggered at the
28 wdtimer same time, the nconfig takes precedence over the ru_nconfig.
Related Information
Altera Dual Configuration IP Core Avalon-MM Address Map on page 5-1
Table 2-13: Remote System Upgrade Master State Machine Current State Descriptions for MAX 10 Devices
msm_cs Values State Description
0010 Image 0 is being loaded.
0011 Image 1 is being loaded after a revert in application image happens.
0100 Image 1 is being loaded.
0101 Image 0 is being loaded after a revert in application image happens.
Send Feedback
UG-M10CONFIG
2-16 User Watchdog Timer 2016.10.31
The timer begins counting as soon as the application configuration enters user mode. When the timer
expires, the remote system upgrade circuitry generates a time-out signal, updates the status register, and
triggers the loading of the revert configuration image. To reset the timer, pulse the RU_NRSTIMER for a
minimum of 250 ns.
When you enable the watchdog timer, the setting will apply to all images, all images should contain the
soft logic configuration to reset the timer. Application Configuration will reset the control block registers.
Related Information
• User Watchdog Internal Circuitry Timing Specifications
Provides more information about the user watchdog frequency.
• Initialization Configuration Bits on page 2-7
avmm_rcv_address[2..0]
clk
Altera avmm_rcv_read
Dual Configuration avmm_rcv_writedata[31..0]
nreset
avmm_rcv_write
avmm_rcv_readdata[31..0]
Send Feedback
UG-M10CONFIG
2016.10.31 Configuration Design Security 2-17
Related Information
• Altera Dual Configuration IP Core Avalon-MM Address Map on page 5-1
• Avalon Interface Specifications
Provides more information about the Avalon-MM interface specifications applied in Altera Dual
Configuration IP Core.
• Instantiating the Altera Dual Configuration IP Core on page 4-2
• Altera Dual Configuration IP Core References on page 5-1
• Remote System Upgrade on page 2-10
• AN 741: Remote System Upgrade for MAX 10 FPGA Devices over UART with the Nios II Processor
Provides reference design for remote system upgrade in MAX 10 FPGA devices.
• I2C Remote System Update Example
This example demonstrates a remote system upgrade using the I2C protocol.
Related Information
Generating .pof using Convert Programming Files on page 3-7
Send Feedback
UG-M10CONFIG
2-18 Unique Chip ID 2016.10.31
The header and I/O configuration shift register (IOCSR) data will not be encrypted. The decryption block
is activated after the IOCSR chain is programmed. The decryption block only decrypts core data and
postamble.
Related Information
JTAG Instruction Availability on page 2-19
Unique Chip ID
Unique chip ID provides the following features:
• Identifies your device in your design as part of a security feature to protect your design from an
unauthorized device.
• Provides non-volatile 64-bits unique ID for each MAX 10 device with write protection.
You can use the Altera Unique Chip ID IP core to acquire the chip ID of your MAX 10 device.
Related Information
• Altera Unique Chip ID IP Core on page 4-1
• Altera Unique Chip ID IP Core Ports on page 6-1
clkin data_valid
Altera Unique
Chip ID
reset chip_id[63..0]
At the initial state, the data_valid signal is low because no data is read from the unique chip ID block.
After feeding a clock signal to the clkin input port, the Altera Unique Chip ID IP core begins to acquire
the chip ID of your device through the unique chip ID block. After acquiring the chip ID of your device,
the Altera Unique Chip ID IP core asserts the data_valid signal to indicate that the chip ID value at the
output port is ready for retrieval.
The operation repeats only when you provide another clock signal when the data_valid signal is low. If
the data_valid signal is high when you provide another clock signal, the operation stops because the
chip_id[63..0] output holds the chip ID of your device.
A minimum of 67 clock cycles are required for the data_valid signal to go high.
The chip_id[63:0]output port holds the value of chip ID of your device until you reconfigure the device
or reset the Altera Unique Chip ID IP core.
Send Feedback
UG-M10CONFIG
2016.10.31 JTAG Secure Mode 2-19
Related Information
• JTAG Instruction Availability on page 2-19
• Configuration Flash Memory Permissions on page 2-20
• JTAG Secure Design Example
• Generating .pof using Convert Programming Files on page 3-7
Verify Protect
Verify Protect is a security feature to enhance CFM security. When you enable the Verify Protect, only
program and erase operation are allowed on the CFM. This capability protects the CFM contents from
being copied.
You can turn on the Verify Protect feature when converting the .sof file to .pof file in the Quartus
Prime Convert Programming File tool.
Related Information
• Configuration Flash Memory Permissions on page 2-20
• Generating .pof using Convert Programming Files on page 3-7
Table 2-15: JTAG Instruction Availability Based on JTAG Secure Mode and Encryption Settings
JTAG Secure Mode Encryption Description
Disabled All JTAG Instructions enabled
Disabled All JTAG Instructions are enabled except:
Enabled
• CONFIGURE
Send Feedback
UG-M10CONFIG
2-20 Configuration Flash Memory Permissions 2016.10.31
Related Information
• JTAG Secure Mode on page 2-19
• MAX 10 JTAG Secure Design Example on page 3-21
• JTAG Secure Design Example
• Encryption and Decryption on page 2-17
Related Information
• JTAG Secure Mode on page 2-19
• MAX 10 JTAG Secure Design Example on page 3-21
(5)
The UFM interface through core is available if you select the dual compressed image mode.
Send Feedback
UG-M10CONFIG
2016.10.31 SEU Mitigation and Configuration Error Detection 2-21
Related Information
• Verifying Error Detection Functionality on page 3-11
• Enabling Error Detection on page 3-12
• Accessing Error Detection Block Through User Logic on page 3-12
Send Feedback
UG-M10CONFIG
2-22 Error Detection Block 2016.10.31
32 32
32
CRC_ERROR
There are two sets of 32-bit registers in the error detection circuitry that store the computed CRC
signature and pre-calculated CRC value. A non-zero value on the signature register causes the CRC_ERROR
pin to go high.
Send Feedback
UG-M10CONFIG
2016.10.31 CHANGE_EDREG JTAG Instruction 2-23
Related Information
Enabling Error Detection on page 3-12
Table 2-19: Minimum and Maximum Error Detection Frequencies for MAX 10 Devices
Device Error Detection Frequency Maximum Error Minimum Error Valid Values for n
Detection Detection
Frequency (MHz) Frequency (kHz)
10M02
10M04
10M08 55 MHz/2n to 116 MHz/2n 58 214.8
10M16 2, 3, 4, 5, 6, 7, 8
10M25
10M40
35 MHz/2n to 77 MHz/2n 38.5 136.7
10M50
Send Feedback
UG-M10CONFIG
2-24 Cyclic Redundancy Check Calculation Timing 2016.10.31
Table 2-20: Cyclic Redundancy Check Calculation Time for MAX 10 Devices
Divisor Value (n = 2)
Device
Minimum Time (ms) Maximum Time (ms)
10M02 2 6.6
10M04 6 15.7
10M08 6 15.7
10M16 10 25.5
10M25 14 34.7
10M40 43 106.7
10M50 43 106.7
Send Feedback
UG-M10CONFIG
2016.10.31 Configuration Details 2-25
Related Information
• Enabling Compression Before Design Compilation on page 3-15
• Enabling Compression After Design Compilation on page 3-15
Configuration Details
Configuration Sequence
Figure 2-10: Configuration Sequence for MAX 10 Devices
Power Up
• nSTATUS and CONF_DONE
driven low
• All I/Os pins are tri-stated
Reset
• nSTATUS and CONF_DONE remain low
• All I/Os pins are tri-stated
• Samples CONFIG_SEL pin
• Clears configuration RAM bits
Initialization
User Mode
Send Feedback
UG-M10CONFIG
2-26 Power-up 2016.10.31
You can initiate reconfiguration by pulling the nCONFIG pin low to at least the minimum tRU_nCONFIG low-
pulse width. When this pin is pulled low, the nSTATUS and CONF_DONE pins are pulled low and all I/O pins
are either tied to an internal weak pull-up or tri-stated based on the ICB settings.
Related Information
Generating .pof using Convert Programming Files on page 3-7
Provides more information about how to set the weak pull-up during configuration.
Power-up
If you power-up a device from the power-down state, you need to power the VCCIO for bank 1B (bank 1
for 10M02 devices), bank 8 and the core to the appropriate level for the device to exit POR. The MAX 10
device enters the configuration stage after exiting the power-up stage with a small POR delay.
Related Information
• MAX 10 Power Management User Guide
Provides more information about power supply modes in MAX 10 devices
• MAX 10 Device Datasheet
Provides more information about the ramp-up time specifications.
• MAX 10 FPGA Device Family Pin Connection Guideline
Provides more information about configuration pin connections.
POR Monitored Voltage Rails for Single-supply and Dual-supply MAX 10 Devices
To begin configuration, the required voltages must be powered up to the appropriate voltage levels as
shown in the following table. The VCCIO for bank 1B (bank 1 for 10M02 devices) and bank 8 must be
powered up to a voltage between 1.5V – 3.3V during configuration.
Table 2-21: POR Monitored Voltage Rails for Single-supply and Dual-supply MAX 10 Devices
There is no power-up sequence required when powering-up the voltages.
Power Supply Device Options Power Supply Monitored by POR
Regulated VCC_ONE
Single-supply VCCA
VCCIO bank 1B(6) and bank 8
VCC
Dual-supply VCCA
VCCIO bank 1B(6) and bank 8
(6)
Bank 1 for 10M02 devices
Send Feedback
UG-M10CONFIG
2016.10.31 Monitored Power Supplies Ramp Time Requirement for MAX 10 Devices 2-27
Volts
nSTATUS CONF_DONE
goes high goes high
first power
supply
last
power
supply
Time
POR Delay Configuration Device User Mode
time Initialization
tRAMP
Table 2-22: Monitored Power Supplies Ramp Time Requirement for MAX 10 Devices
Symbol Parameter Minimum Maximum Unit
tRAMP Power Supply Ramp Time(7) —(8) 10 ms
Configuration
During configuration, configuration data is read from the internal flash and written to the CRAM.
(7)
Ensure that all VCCIO power supply reaches full rail before configuration completes. See Internal
Configuration Time on page 2-9.
(8)
There is no absolute minimum value for the ramp rate requirement. Altera characterized the minimum
tRAMP of 200µs.
Send Feedback
UG-M10CONFIG
2-28 Initialization 2016.10.31
Initialization
The initialization sequence begins after the CONF_DONE pin goes high. The initialization clock source is
from the internal oscillator and the MAX 10 device will receive enough clock cycles for proper initializa‐
tion.
User Mode
After the initialization completes, your design starts executing. The user I/O pins will then function as
specified by your design.
Related Information
• Guidelines: Dual-Purpose Configuration Pin on page 3-1
• Enabling Dual-purpose Pin on page 3-2
Send Feedback
2016.10.31
MAX 10 FPGA Configuration Design Guidelines
3
UG-M10CONFIG Subscribe Send Feedback
JTAG pins:
• If you intend to switch back and forth between user I/O pins and JTAG pin
functions using the JTAGEN pin, all JTAG pins must be assigned as single-ended
I/O pins or voltage-referenced I/O pins. Schmitt trigger input is the
recommended input buffer. • TDO
• JTAG pins cannot perform as JTAG pins in user mode if you assign any of the • TMS
JTAG pin as a differential I/O pin. • TCK
• You must use the JTAG pins as dedicated pins and not as user I/O pins during • TDI
JTAG programming.
• Do not toggle JTAG pin during the initialization stage.
• Put the test access port (TAP) controller in reset state by driving the TDI and
TMS pins high and TCK pin low for at least 5 clock cycles before the initialization.
Attention: Assign all JTAG pins as single-ended I/O pins or voltage-referenced I/O pins if you enable
JTAG pin sharing feature.
(9)
If you intend to remove the external weak pull-up resistor, Altera recommends that you remove it after the
device enters user mode.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10CONFIG
3-2 JTAG Pin Sharing Behavior 2016.10.31
Related Information
• MAX 10 FPGA Device Family Pin Connection Guidelines
Provides more information about recommended resistor values.
• MAX 10 Configuration Pins on page 2-28
• JTAG Pins on page 2-2
Note: You have to set the pins according to Table 3-1 and with correct pin direction (input, output or
bidirectional) for the JTAG pins work correctly.
Related Information
• MAX 10 Configuration Pins on page 2-28
• JTAG Pins on page 2-2
Related Information
AN 425: Using the Command-Line Jam STAPL Solution for Device Programming
Send Feedback
UG-M10CONFIG
2016.10.31 JTAG Configuration Setup 3-3
To use JTAGEN pin, you must enable the JTAG pin sharing.
In user mode, to use JTAG pins as:
- Regular I/O pins: Tie the JTAGEN pin to a weak 1-kΩ pull-down.
- Dedicated JTAG pins: Tie the JTAGEN pin to VCCIO Bank 1B or 1B through a 10-kΩ pull-up.
VCCIO Bank 8
VCCIO Bank 1 or 1B
10 kΩ 10 kΩ 10 kΩ
MAX 10 10 kΩ 10 kΩ
Download Cable
nSTATUS JTAGEN (JTAG Mode)
CONF_DONE 10-Pin Male Header VCCIO Bank 1 or 1B
nCONFIG
TCK 1 2
TDO 3 4
TMS 5 6
TDI 7 8
9 10
10pF 10pF 10pF 10pF
1 kΩ
The diodes and capacitors must be placed as close as possible to the MAX 10 device. For effective voltage clamping, Altera recommends using the
chottky diode, which has a relatively lower forward diode voltage than the switching and Zener diodes. See Preventing Voltage Overshoot.
Send Feedback
UG-M10CONFIG
3-4 JTAG Configuration Setup 2016.10.31
Figure 3-2: Connection Setup for JTAG Multi-Device Configuration using Download Cable
Connect to VCCIO Bank 1 for 10M02 devices or VCCIO Bank 1B for all other MAX 10 devices.
1kΩ 10pF 10pF 10pF 10pF The diodes and capacitors must be placed as close as possible to the MAX 10 device. For effective voltage clamping, Altera recommends using the
chottky diode, which has a relatively lower forward diode voltage than the switching and Zener diodes. See Preventing Voltage Overshoot.
To configure a device in a JTAG chain, the programming software sets the other devices to bypass mode. A
device in bypass mode transfers the programming data from the TDI pin to the TDO pin through a single
bypass register. The configuration data is available on the TDO pin one clock cycle later.
The Quartus Prime software uses the CONF_DONE pin to verify the completion of the configuration process
through the JTAG port:
• CONF_DONE pin is low—indicates that the configuration has failed.
• CONF_DONE pin is high—indicates that the configuration was successful.
After the configuration data is transmitted serially using the JTAG TDI port, the TCK port is clocked to
perform device initialization.
JTAGEN
If you use the JTAGEN pin, Altera recommends the following settings:
• Once you entered user mode and JTAG pins are regular I/O pins—connect the JTAGEN pin to a weak
pull-down (1 kΩ).
• Once you entered user mode and JTAG pins are dedicated pins—connect the JTAGEN pin to a weak
pull-up (10 kΩ).
Send Feedback
UG-M10CONFIG
2016.10.31 ICB Settings in JTAG Configuration 3-5
Note: Altera recommends that you use three-pin header with a jumper or other switching mechanism to
change the JTAG pins behavior.
Related Information
• Internal Configuration Modes on page 2-2
• Remote System Upgrade on page 2-10
Send Feedback
UG-M10CONFIG
3-6 Selecting Internal Configuration Modes 2016.10.31
Table 3-3: .pof Generation and ICB Setting Method for Internal Configuration Modes
Internal Configuration Mode ICB Setting Description .pof Generation
Method to Use
Single Compressed Image Quartus Prime software
ICB can be set in
automatically generates Auto-
Single Uncompressed Image Device and Pin
the .pof during project generated .pof(10)
Options
compilation.
Single Compressed Image with
Memory Initialization. ICB can be set Generating .pof
You need to generate
during Convert using Convert
Single Uncompressed Image with the .pof using Convert
Programming Programming
Memory Initialization Programming Files.
Files task. Files
Dual Compressed Images
Auto-Generated .pof
To set the ICB for the auto-generated .pof, follow these steps:
1. On the Assignments menu, click Settings. The Settings dialog box appears.
2. In the Category list, select Device. The Device page appears.
3. Click Device and Pin Options.
4. In the Device and Pin Options dialog box, select the Configuration from the category pane.
5. Click the Device Options … button.
6. The Max 10 Device Options dialog box allows you to set the following:
(10)
Auto-generated .pof does not allow encryption. To enable the encryption feature in Single Compressed
and Single Uncompressed mode, use the Convert Programming Files method.
Send Feedback
UG-M10CONFIG
2016.10.31 Generating .pof using Convert Programming Files 3-7
Send Feedback
UG-M10CONFIG
3-8 Programming .pof into Internal Flash 2016.10.31
For remote system upgrade purpose, you can retain the original page 0 data in the .pof, and replaces
page 1 data with new .sof file. To perform this, you must to add the .pof file in page 0, then
add .sof page, then add the new .sof file to page 1.
9. After all settings are set, click Generate to generate related programming file.
Related Information
Encryption in Internal Configuration on page 3-19
Provides more information about internal configuration image loaded based on various settings.
Related Information
ISP Clamp on page 2-5
Send Feedback
UG-M10CONFIG
2016.10.31 Creating IPS File 3-9
fiftyfivenm_rublock <rublock_name>
(
.clk(<clock source>),
.shiftnld(<shiftnld source>),
.captnupdt(<captnupdt source>),
.regin(<regin input source from the core>),
.rsttimer(<input signal to reset the watchdog timer>),
.rconfig(<input signal to initiate configuration>),
.regout(<data output destination to core>)
);
defparam <rublock_name>.sim_init_config = <initial configuration for simulation
only>;
defparam <rublock_name>.sim_init_watchdog_value = <initial watchdog value for
simulation only>;
defparam <rublock_name>.sim_init_config = <initial status register value for
simulation only>;
Send Feedback
UG-M10CONFIG
3-10 Accessing Remote System Upgrade through User Logic 2016.10.31
Related Information
• Altera Dual Configuration IP Core References on page 5-1
• Remote System Upgrade on page 2-10
• AN 741: Remote System Upgrade for MAX 10 FPGA Devices over UART with the Nios II Processor
Provides reference design for remote system upgrade in MAX 10 FPGA devices.
• I2C Remote System Update Example
This example demonstrates a remote system upgrade using the I2C protocol.
Send Feedback
UG-M10CONFIG
2016.10.31 Error Detection 3-11
Error Detection
Verifying Error Detection Functionality
You can inject a soft error by changing the 32-bit CRC storage register in the CRC circuitry. After verifying
the failure induced, you can restore the 32-bit CRC value to the correct CRC value using the same
instruction and inserting the correct value. Be sure to read out the correct value before updating it with a
known bad value.
In user mode, MAX 10 devices support the CHANGE_EDREG JTAG instruction, which allows you to write to
the 32-bit storage register. You can use .jam to automate the testing and verification process. You can only
execute this instruction when the device is in user mode. This instruction 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.
After the test completes, to clear the CRC error and restore the original CRC value, power cycle the device
or follow these steps:
1. After the configuration completes, use CHANGE_EDREG JTAG instruction to shift out the correct
precomputed CRC value and load the wrong CRC value to the CRC storage register. When an error is
detected, the CRC_ERROR pin will be asserted.
2. Use CHANGE_EDREG JTAG instruction to shift in the correct precomputed CRC value. The CRC_ERROR
pin is de-asserted to show that the error detection CRC circuitry is working.
'EDCRC_ERROR_INJECT
You can run the .jam file using quartus_jli executable with the following command line:
quartus_jli -c<cable index> -a<action name> <filename>.jam
Send Feedback
UG-M10CONFIG
3-12 Enabling Error Detection 2016.10.31
Related Information
• SEU Mitigation and Configuration Error Detection on page 2-21
• AN 425: Using the Command-Line Jam STAPL Solution for Device Programming
Provides more information about quartus_jli command line executable.
Related Information
SEU Mitigation and Configuration Error Detection on page 2-21
Send Feedback
UG-M10CONFIG
2016.10.31 Accessing Error Detection Block Through User Logic 3-13
Figure 3-3: Error Detection Block Diagram with Interfaces for MAX 10 Devices
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
The following example shows how the input and output ports of a WYSIWYG atom are defined in the
MAX 10 device.
fiftyfivenm_crcblock <name>
(
.clk(<ED_CLK clock source>),
.shiftnld(<ED_SHIFTNLD source>),
.ldsrc (<LDSRC source>),
.crcerror(<CRCERROR_CORE out destination>),
.regout(<output destination>)
);
defparam <crcblock_name>.oscillator_divider = <internal oscillator division (1 to
256)>;
Send Feedback
UG-M10CONFIG
3-14 Enabling Data Compression 2016.10.31
Related Information
• SEU Mitigation and Configuration Error Detection on page 2-21
• Error Detection Timing on page 2-23
Send Feedback
UG-M10CONFIG
2016.10.31 Enabling Compression Before Design Compilation 3-15
Related Information
Configuration Data Compression on page 2-24
Related Information
Configuration Data Compression on page 2-24
AES Encryption
This section covers detailed guidelines on applying AES Encryption for design security. There are two
main steps in applying design security in MAX 10 devices. First is to generate the encryption key
programming (.ekp) file and second is to program the .ekp file into the device.
The .ekp file has other different formats, depending on the hardware and system used for programming.
There are three file formats supported by the Quartus Prime software:
• JAM Byte Code (.jbc) file
• JAM™ Standard Test and Programming Language (STAPL) Format (.jam) file
• Serial Vector Format (.svf) file
Only the .ekp file type generated automatically from the Quartus Prime software. You must create
the .jbc, .jam and .svf files using the Quartus Prime software if these files are required in the key
programming.
Note: Altera recommends that you keep the .ekp file confidential.
Send Feedback
UG-M10CONFIG
3-16 Generating .ekp File and Encrypt Configuration File 2016.10.31
Send Feedback
UG-M10CONFIG
2016.10.31 Generating .jam/.jbc/.svf file from .ekp file 3-17
Send Feedback
UG-M10CONFIG
3-18 Programming .ekp File and Encrypted POF File 2016.10.31
Send Feedback
UG-M10CONFIG
2016.10.31 Encryption in Internal Configuration 3-19
6. Select the <yourpoffile.pof>, right click and select Add EKP File to integrate .ekp file with
the .pof file.
Once the .ekp is integrated into the .pof, you can to save the integrated .pof into a new .pof. This
newly saved file will have original .pof integrated with .ekp information.
7. Select the <yourpoffile.pof> in the Program/Configure column.
8. After all settings are set, click Start to start programming
Table 3-6: Configuration Image Outcome Based on Encryption Settings, Encryption Key and CONFIG_SEL
Pin Settings
Table shows the scenario when you disable the Configure device from CFM0 only. Key X and Key Y are
security keys included in your device and configuration image.
Configura‐ CFM0 (image 0) CFM1 (image 1) Key Stored in Allow CONFIG_SEL Design Loaded
tion Image Encryption Key Encryption Key the Device Encrypted pin After Power-up
Mode POF Only
Single Not Encrypted Not Available No key Disabled 0 image 0
Single Not Encrypted Not Available No key Disabled 1 image 0
Single Not Encrypted Not Available Key X Disabled 0 image 0
Single Not Encrypted Not Available Key X Disabled 1 image 0
Single Not Encrypted Not Available Key X Enabled 0 Configuration Fail
Single Not Encrypted Not Available Key X Enabled 1 Configuration Fail
Single Key X Not Available No key Enabled 0 Configuration Fail
Single Key X Not Available No key Enabled 1 Configuration Fail
Single Key X Not Available Key X Enabled 0 image 0
Single Key X Not Available Key X Enabled 1 image 0
Single Key X Not Available Key Y Enabled 0 Configuration Fail
Single Key X Not Available Key Y Enabled 1 Configuration Fail
Dual Not Encrypted Not Encrypted No key Disabled 0 image 0
Dual Not Encrypted Not Encrypted No key Disabled 1 image 1
Dual Key X Not Encrypted No key Disabled 0 image 1(11)
Dual Key X Not Encrypted No key Disabled 1 image 1
Dual Key X Not Encrypted Key X Disabled 0 image 0
Dual Key X Not Encrypted Key X Disabled 1 image 1
(11)
After image 0 configuration failed, device will automatically load image 1.
Send Feedback
UG-M10CONFIG
3-20 Encryption in Internal Configuration 2016.10.31
Configura‐ CFM0 (image 0) CFM1 (image 1) Key Stored in Allow CONFIG_SEL Design Loaded
tion Image Encryption Key Encryption Key the Device Encrypted pin After Power-up
Mode POF Only
Dual Key X Not Encrypted Key X Enabled 0 image 0
Dual Key X Not Encrypted Key X Enabled 1 image 0
Dual Key X Not Encrypted Key Y Enabled 0 Configuration Fail
Dual Key X Not Encrypted Key Y Enabled 1 Configuration Fail
Dual Key X Key X No key Enabled 0 Configuration Fail
Dual Key X Key X No key Enabled 1 Configuration Fail
Dual Key X Key X Key X Enabled 0 image 0
Dual Key X Key X Key X Enabled 1 image 1
Dual Key X Key Y Key X Enabled 0 image 0
Dual Key X Key Y Key X Enabled 1 image 0(12)
Dual Key Y Key Y Key Y Enabled 0 image 0
Dual Key Y Key Y Key Y Enabled 1 image 1
Dual Key X Key Y Key Y Enabled 0 image 1(11)
Dual Key X Key Y Key Y Enabled 1 image 1
Table 3-7: Configuration Image Outcome Based on Encryption Settings and Encryption Key
Table shows the scenario when you enable the Configure device from CFM0 only.
CFM0 (image 0) Key Stored in the Allow Encrypted POF Design Loaded After Power-up
Encryption Key Device Only
Not Encrypted No key Disabled image 0
Not Encrypted Key X Disabled image 0
Not Encrypted Key Y Disabled image 0
Not Encrypted No key Enabled Configuration Fail
Not Encrypted Key X Enabled Configuration Fail
Not Encrypted Key Y Enabled Configuration Fail
Key X No key Disabled Configuration Fail
Key X Key X Disabled image 0
Key X Key Y Disabled Configuration Fail
Key X No key Enabled Configuration Fail
Key X Key X Enabled image 0
Key X Key Y Enabled Configuration Fail
Key Y No key Disabled Configuration Fail
(12)
After image 1 configuration failed, device will automatically load image 0.
Send Feedback
UG-M10CONFIG
2016.10.31 MAX 10 JTAG Secure Design Example 3-21
CFM0 (image 0) Key Stored in the Allow Encrypted POF Design Loaded After Power-up
Encryption Key Device Only
Key Y Key X Disabled Configuration Fail
Key Y Key Y Disabled image 0
Key Y No key Enabled Configuration Fail
Key Y Key X Enabled Configuration Fail
Key Y Key Y Enabled image 0
Related Information
Generating .pof using Convert Programming Files on page 3-7
Related Information
• JTAG Instruction Availability on page 2-19
• Configuration Flash Memory Permissions on page 2-20
• JTAG Secure Design Example
Send Feedback
UG-M10CONFIG
3-22 WYSIWYG Atom for Internal JTAG Block Access 2016.10.31
Core Interface
Internal JTAG
JTAG CORECTL
Control Block
TDICORE TDI
TDI
TMSCORE TMS
TMS
TCKCORE TCK
TCK
TDOCORE TDO
TDO
I/O Interface
External JTAG
TDI TDI
TMS TMS
TCK TCK
TDO TDO
Note: To ensure the internal JTAG of MAX 10 devices function correctly, all four JTAG signals (TCK, TDI,
TMS and TDO) in the JTAG WYSIWYG atom need to be routed out. The Quartus Prime software will
automatically assign the ports to their corresponding dedicated JTAG pins.
fiftyfivenm_jtag <name>
(
.tms(),
.tck(),
.tdi(),
.tdoutap(),
.tdouser(),
.tdicore(),
.tmscore(),
.tckcore(),
.corectl(),
.tdo(),
.tmsutap(),
.tckutap(),
.tdiutap(),
.shiftuser(),
.clkdruser(),
.updateuser(),
.runidleuser(),
.usr1user(),
.tdocore(),
Send Feedback
UG-M10CONFIG
2016.10.31 WYSIWYG Atom for Internal JTAG Block Access 3-23
.ntdopinena()
);
.runidleuser()
.shiftuser()
.tckutap()
.tdiutap()
These ports are not used for enabling the JTAG Secure mode
.tdouser() Input/Output using the internal JTAG interface, you can leave them
unconnected.
.tdoutap()
.tmsutap()
.updateuser()
.usr1user()
.ntdopinena()
Send Feedback
UG-M10CONFIG
3-24 Executing LOCK and UNLOCK JTAG Instructions 2016.10.31
start_unlock or no
start_lock End of Instruction no
= 1? Length?
yes
yes
Enable the Internal JTAG
Interface, corectl = 1 Move the TAP Controller
State Machine from the
SHIFT_IR State to the
IDLE State.
Move the TAP Controller
State Machine from the
RESET State to the
SHIFT_IR State by End
Controlling the TMS Core.
Send Feedback
UG-M10CONFIG
2016.10.31 Verifying the JTAG Secure Mode 3-25
Send Feedback
2016.10.31
MAX 10 FPGA Configuration IP Core
Implementation Guides 4
UG-M10CONFIG Subscribe Send Feedback
Related Information
• Introduction to Altera IP Cores
Provides general information about all Altera FPGA IP cores, including parameterizing, generating,
upgrading, and simulating IP cores.
• Creating Version-Independent IP and Qsys Simulation Scripts
Create simulation scripts that do not require manual updates for software or IP version upgrades.
• Project Management Best Practices
Guidelines for efficient management and portability of your project and IP files.
Related Information
• Unique Chip ID on page 2-18
• Altera Unique Chip ID IP Core Ports on page 6-1
To reset the Altera Unique Chip ID IP core, you must assert high to the reset signal for at least one clock
cycle. After you de-assert the reset signal, the Altera Unique Chip ID IP core re-reads the unique chip ID
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10CONFIG
4-2 Altera Dual Configuration IP Core 2016.10.31
of your device from the fuse ID block. The Altera Unique Chip ID IP core asserts the data_valid signal
after completing the operation.
Send Feedback
2016.10.31
Altera Dual Configuration IP Core References
5
UG-M10CONFIG Subscribe Send Feedback
Related Information
• Altera Dual Configuration IP Core on page 2-16
• Accessing Remote System Upgrade through User Logic on page 3-9
• AN 741: Remote System Upgrade for MAX 10 FPGA Devices over UART with the Nios II Processor
Provides reference design for remote system upgrade in MAX 10 FPGA devices.
• I2C Remote System Update Example
This example demonstrates a remote system upgrade using the I2C protocol.
Table 5-1: Altera Dual Configuration IP Core Avalon-MM Address Map for MAX 10 Devices
• Altera recommends you to set the reserve bits to 0 for write operations. For read operations, the IP core
will always generate 0 as the output.
• Write 1 to trigger any operation stated in the description.
• You need to trigger the desired operation from offset 2 before any read operation of offset 4, 5, 6 and 7.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10CONFIG
5-2 Altera Dual Configuration IP Core Avalon-MM Address Map 2016.10.31
(13)
You can only read the 12 most significant bit of the 29 bit user watchdog value using Dual Configuration
IP Core.
(14)
Reads the config_sel of the input register only. It will not reflect the physical CONFIG_SEL pin setting.
Send Feedback
UG-M10CONFIG
2016.10.31 Altera Dual Configuration IP Core Parameters 5-3
Related Information
• Altera Dual Configuration IP Core on page 2-16
• Avalon Interface Specifications
Provides more information about the Avalon-MM interface specifications applied in Altera Dual
Configuration IP Core.
• Instantiating the Altera Dual Configuration IP Core on page 4-2
• Remote System Upgrade Status Registers on page 2-15
The Remote System Upgrade Status Register—Previous StateBit for MAX 10 Devices table provides
more information about previous state applications reconfiguration sources.
Send Feedback
2016.10.31
Altera Unique Chip ID IP Core References
6
UG-M10CONFIG Subscribe Send Feedback
reset Input 1 • Resets the IP core when you assert the reset
signal to high for at least one clock cycle.
• The chip_id [63:0]output port holds the
value of the unique chip ID until you
reconfigure the device or reset the IP core.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2016.10.31
Additional Information for MAX 10 FPGA
Configuration User Guide A
UG-M10CONFIG Subscribe Send Feedback
May 2016 2016.05.13 • Changed instances of Standard POR to Slow POR to reflect Quartus
Prime GUI.
• Updated tCFG to tRU_nCONFIG.
• Corrected file type from .ekp to .pof in Step 8 of Program‐
ming .ekp File and Encrypted .pof Separately.
• Corrected Use secondary image ISP data as default setting when
available description in ICB Values and Descriptions for MAX 10
Devices table.
• Corrected CFM programming time.
• Added note on JTAG pin requirements when using JTAG pin
sharing.
• Moved JTAG Pin Sharing Behavior under Guidelines: Dual-Purpose
Configuration Pin.
• Updated configuration sequence diagram by moving 'Clears
configuration RAM bits from Power-up state to Reset state.
• Corrected error detection port input and output for <crcblock_
name> from input to none.
• Added example of remote system upgrade access through user
interface and port definitions.
© 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Altera, Arria, Cyclone, Enpirion, MAX, Megacore, NIOS, Quartus and Stratix words and logos
are trademarks of Intel Corporation in the US and/or other countries. Other marks and brands may be claimed as the property of others. Intel warrants ISO
performance of its FPGA and semiconductor products to current specifications in accordance with Intel's standard warranty, but reserves the right to make 9001:2008
changes to any products and services at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any Registered
information, product, or service described herein except as expressly agreed to in writing by Intel. Intel 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.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10CONFIG
A-2 Document Revision History for MAX 10 FPGA Configuration User Guide 2016.10.31
December 2015.12.14 • Updated ICB setting description for Set I/O to weak pull-up prior
usermode option to state the weak pull-up is enabled during
configuration.
• Removed Accessing the Remote System Upgrade Block Through User
Interface.
• Added input and output port definition for error detection
WYSIWYG atom.
• Updated the I/O pin state to be dependent on ICB bit setting during
reconfiguration.
Altera Corporation Additional Information for MAX 10 FPGA Configuration User Guide
Send Feedback
UG-M10CONFIG
2016.10.31 Document Revision History for MAX 10 FPGA Configuration User Guide A-3
June 2015 2015.06.15 • Added related information link to AN 741: Remote System
Upgrade for MAX 10 FPGA Devices over UART with the Nios II
Processor inAltera Dual Configuration IP Core References and
Remote System Upgrade in Dual Compressed Images.
• Added pulse holding requirement time for RU_nRSTIMER in Remote
System Upgrade Circuitry Signals for MAX 10 Devices table.
• Added link to Remote System Upgrade Status Register—Previous
State Bit for MAX 10 Devices table for related entries in Altera Dual
Configuration IP Core Avalon-MM Address Map for MAX 10
Devices table.
Additional Information for MAX 10 FPGA Configuration User Guide Altera Corporation
Send Feedback
UG-M10CONFIG
A-4 Document Revision History for MAX 10 FPGA Configuration User Guide 2016.10.31
Altera Corporation Additional Information for MAX 10 FPGA Configuration User Guide
Send Feedback
UG-M10CONFIG
2016.10.31 Document Revision History for MAX 10 FPGA Configuration User Guide A-5
Additional Information for MAX 10 FPGA Configuration User Guide Altera Corporation
Send Feedback
MAX 10 User Flash Memory User Guide
Contents
Document Revision History for MAX 10 User Flash Memory User Guide...... B-1
Altera Corporation
2016.05.02
MAX 10 User Flash Memory Overview
1
UG-M10UFM Subscribe Send Feedback
Altera® MAX® 10 FPGAs offer a user flash memory (UFM) block that stores non-volatile information.
The UFM provides an ideal storage solution that you can access using the Avalon Memory Mapped
(Avalon-MM) slave interface to UFM.
The UFM block also offers the following features.
Features Capacity
Endurance Counts to at least 10,000 program/erase cycles
Data retention (after 10,000 • 20 years at 85 ºC
program/erase cycles) • 10 years at 100 ºC
Related Information
• Utilizing the User Flash Memory (UFM) on Max 10 Devices with a Nios II Processor
• Putting Altera MAX Series in Hibernation Mode Using User Flash Memory
• MAX 10 User Flash Memory User Guide Archive on page 6-1
Provides a list of user guides for previous versions of the Altera On-Chip Memory IP core.
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2016.05.02
MAX 10 UFM Architecture and Features
2
UG-M10UFM Subscribe Send Feedback
The UFM architecture of MAX 10 devices is a combination of soft and hard IPs. You can only access the
UFM using the Altera On-Chip Flash IP core in the Quartus® Prime software.
This table lists the dimensions of the UFM and CFM arrays.
Pages per Sector Total User
Page Size Flash Total Configuration
Device UFM1 UFM0 CFM2 CFM1 CFM0
(Kb) Memory Size Memory Size (Kb) (1)
(Image 2) (Image 2) (Image 1) (Kb) (1)
10M02 3 3 0 0 34 16 96 544
10M04 0 8 41 29 70 16 1,248 2,240
10M08 8 8 41 29 70 16 1,376 2,240
10M16 4 4 38 28 66 32 2,368 4,224
10M25 4 4 52 40 92 32 3,200 5,888
10M40 4 4 48 36 84 64 5,888 10,752
10M50 4 4 48 36 84 64 5,888 10,752
(1)
The maximum possible value, which is dependent on the mode you select.
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10UFM
2-2 UFM Memory Organization Map 2016.05.02
Table 2-2: Dynamic Flash Size Support: Flash and Analog Variants
Send Feedback
UG-M10UFM
2016.05.02 UFM Block Diagrams 2-3
This figure shows the standard interface for MAX 10 devices in parallel mode.
altera_onchip_flash
clock clock
reset_n UFM reset_n
Block I/F UFM
addr[x:0] Block addr
read Avalon-MM Slave Interface Avalon-MM Slave read
readdata[31:0] Parallel Controller Controller readdata[31:0]
write (Data) (Control) write
writedata[31:0] read/ writedata[31:0]
waitrequest write
internal read Control Register external
readdatavalid
burstcount[x:0] internal write Status Register
read external
Note: The maximum frequency for all devices in parallel mode, except for 10M02, is 116 MHz. The
maximum frequency for 10M02 devices is 7.25 MHz.
Send Feedback
UG-M10UFM
2-4 UFM Block Diagrams 2016.05.02
Figure 2-3: Altera On-Chip Flash IP Core Avalon-MM Slave Read and Program (Write) Operation in
Serial Mode
This figure shows the standard interface for MAX 10 devices in serial mode.
altera_onchip_flash
clock clock
reset_n UFM reset_n
Block I/F UFM
addr[x:0] Block addr
read Avalon-MM Slave Interface Avalon-MM Slave read
readdata Serial Controller Controller readdata[31:0]
write (Data) (Control) write
writedata read/ writedata[31:0]
waitrequest write
internal read Control Register external
readdatavalid
burstcount[x:0] internal write Status Register
read external
These figures show the detailed overview of the Avalon-MM interface during read only operation.
Figure 2-4: Altera On-Chip Flash IP Core Avalon-MM Slave Read Only Operation in Parallel Mode
altera_onchip_flash
clock
reset_n UFM
Block I/F UFM
addr[x:0] Block
read Avalon-MM Slave Interface
readdata[31:0] Parallel Controller
waitrequest (Data)
readdatavalid
burstcount[x:0]
Send Feedback
UG-M10UFM
2016.05.02 UFM Operating Modes 2-5
Figure 2-5: Altera On-Chip Flash IP Core Avalon-MM Slave Read Only Operation in Serial Mode
altera_onchip_flash
clock
reset_n UFM
Block I/F UFM
addr[x:0] Block
read Avalon-MM Slave Interface
readdata Serial Controller
waitrequest (Data)
readdatavalid
burstcount[x:0]
Send Feedback
UG-M10UFM
2-6 UFM Operating Modes 2016.05.02
Program (Write) Operation Single 32-bit parallel Single 32-bit serial program
program operation operation
Send Feedback
2016.05.02
MAX 10 UFM Design Considerations
3
UG-M10UFM Subscribe Send Feedback
There are several considerations that require your attention to ensure the success of your designs. Unless
noted otherwise, these design guidelines apply to all variants of this device family.
3.3V
2.5V
0V 0V
<0.073V/µs <0.023V/µs
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10UFM
3-2 Guideline: UFM Content Initialization 2016.05.02
The JTAG interface supports Jam™ Standard Test and Programming Language (STAPL) Format File
(.jam), Programmer Object File (.pof), and JAM Byte Code File (.jbc).
You can use the Quartus Prime Programmer to program .pof through the JTAG interface. To
program .pof, into the flash, follow these steps:
1. In the Programmer window, click Hardware Setup, and select USB Blaster.
2. In the Mode list, select JTAG.
3. Click Auto Detect on the left pane.
4. Select the device to be programmed, and click Add File.
5. Select the .pof to be programmed to the selected device.
6. Select the UFM in the Program/Configure column.
7. Click Start to start programming.
To program through .jam or .jbc files, refer to the Using the Command-Line Jam STAPL Solution for
Device Programming application note.
Related Information
AN 425: Using the Command-Line Jam STAPL Solution for Device Programming
Send Feedback
2016.05.02
MAX 10 UFM Implementation Guides
4
UG-M10UFM Subscribe Send Feedback
Related Information
• Utilizing the User Flash Memory (UFM) on Max 10 Devices with a Nios II Processor
• Putting Altera MAX Series in Hibernation Mode Using User Flash Memory
Related Information
Introduction to Altera IP Cores
Provides more information about Altera IP cores.
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10UFM
4-2 UFM Write Control Register 2016.05.02
The figure below shows the timing diagram for the read status and control register.
clock
address addr
read
readdata value
To use the control register, assert the read signal and send the control register address to the control slave
address.
The flash IP core then sends the register value through the readdata bus.
The figure below shows the timing diagram for the program control register.
clock
address addr
write
writedata value
Send Feedback
UG-M10UFM
2016.05.02 UFM Program (Write) Operation 4-3
clock
address addr
write
burstcount 1
writedata data
waitrequest
UFM Programming
Write Max 305 µs UFM Reset
address Typical 102 µs Min 250 ns
to UFM Min 34 µs
Send Feedback
UG-M10UFM
4-4 UFM Sector Erase Operation 2016.05.02
clock
address addr
write
burstcount 32
writedata 31 30 29 28 27 26 25 6 5 4 32 1
waitrequest
Write address to UFM Serial Write 32 bits Data
to UFM (32 Cycles)
Send Feedback
UG-M10UFM
2016.05.02 UFM Read Operation 4-5
Send Feedback
UG-M10UFM
4-6 UFM Read Operation 2016.05.02
Figure 4-5: Read Operation for 10M04, 10M08, 10M16 and 10M25 Devices in Parallel Mode
clock
read
write
address addr
burstcount 1
waitrequest
writedata
readdatavalid
readdata data0
Figure 4-6: Read Operation for 10M40 and 10M50 Devices in Parallel Mode
clock
read
write
address addr
burstcount 1
waitrequest
writedata
readdatavalid
readdata data0
Send Feedback
UG-M10UFM
2016.05.02 UFM Burst Read Operation 4-7
clock
read
write
address addr
burstcount 32
waitrequest
writedata
readdatavalid
readdata 31 30 29 28 27 26 5 4 3 2 1 0
Send Feedback
UG-M10UFM
4-8 UFM Data Incrementing Burst Read 2016.05.02
Figure 4-8: Incrementing Burst Read Operation for 10M04 and 10M08 Devices in Parallel Mode
clock
read
write
address addr
burstcount 8
waitrequest
writedata
readdatavalid
Figure 4-9: Incrementing Burst Read Operation for 10M16 and 10M25 Devices in Parallel Mode
clock
read
write
address addr addr
burstcount 6 2
waitrequest
writedata
readdatavalid
readdata data1 data2 data3 data4 data5 data6 data7 data8
Send Feedback
UG-M10UFM
2016.05.02 UFM Data Incrementing Burst Read 4-9
Figure 4-10: Incrementing Burst Read Operation for 10M50 Devices in Parallel Mode
clock
read
write
address addr
burstcount 8
waitrequest
writedata
readdatavalid
readdata data0 data1 data2 data3 data4 data5 data6 data7
Figure 4-11: Unaligned Address Incrementing Burst Read Operation for 10M50 Devices in Parallel
Mode
clock
read
write
address addr
burstcount 7
waitrequest
writedata
readdatavalid
readdata data0 data1 data2 data3 data4 data5 data6
Send Feedback
UG-M10UFM
4-10 UFM Data Wrapping Burst Read 2016.05.02
Figure 4-12: Incrementing Burst Read Operation for MAX 10 Devices in Serial Mode
clock
read
write
address addr
burstcount 64
waitrequest
writedata
readdatavalid
readdata 63 62 61 60 59 58 31 30 29 28 27 26
Send Feedback
UG-M10UFM
2016.05.02 UFM Data Wrapping Burst Read 4-11
The following figures show the timing diagrams for the data wrapping burst read operations for the
different MAX 10 devices.
Figure 4-13: Wrapping Burst Read Operation for 10M04 and 10M08 Devices
clock
read
write
address addr0 addr1
burstcount 2
waitrequest
writedata
readdatavalid
readdata data0 data1 data2 data3
Figure 4-14: Wrapping Burst Read Operation for 10M16 and 10M25 Devices
clock
read
write
address addr0 addr1
burstcount 4
waitrequest
writedata
readdatavalid
readdata data0 data1 data2 data3 data4 data5 data6 data7
Send Feedback
UG-M10UFM
4-12 Flash Initialization Files 2016.05.02
Figure 4-15: Wrapping Burst Read Operation for 10M40 and 10M50 Devices
clock
read
write
address addr0 addr1
burstcount 4
waitrequest
writedata
readdatavalid
readdata data0 data1 data2 data3 data4 data5 data6 data7
Send Feedback
2016.05.02
Altera On-Chip Flash IP Core References
5
UG-M10UFM Subscribe Send Feedback
This section provides information about the Altera On-Chip Flash IP Core parameters, signals, and
registers.
Read burst count 2 Allows you the flexibility to adjust the maximum
burst count bus width.
• Parallel mode: This setting represents the
maximum burst count number.
• Serial mode: This setting supports stream read
and represents the words to be read for each read
operation. The Avalon-MM interface burst count
bus width is equal to 32*read burst count.
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10UFM
5-2 Altera On-Chip Flash Signals 2016.05.02
Flash Memory — The sector ID, address range value, and flash type are
generated dynamically by hardware .tcl based on the
device and configuration mode you select. Indicates
the address mapping for each sector and adjusts the
Access Mode for each sector individually.
Note: Only CFM sectors support Hidden access
mode.
Clock frequency 116.0 MHz Key in the appropriate clock frequency in MHz. The
maximum frequency is 116.0 MHz for parallel
interface and 7.25 MHz for serial interface.
Note: If you use 10M02 devices, the maximum
frequency for parallel interface is 7.25
MHz.
Initialize flash content Off Turn on this option to initialize the flash content.
Enable non-default initializa‐ Off Turn on this option to enable your preferred initiali‐
tion file zation file. If you choose to have a non-default file,
type the filename or select the .hex or .mif file using
the browse button.
User created hex or mif file — This option is only available if you turn on Enable
non-default initialization file. Assign your own .hex
or .mif filename.
User created dat file for — This option is only available if you turn on Enable
simulation non-default initialization file. Assign your own
simulation filename.
Send Feedback
UG-M10UFM
2016.05.02 Altera On-Chip Flash Signals 5-3
Table 5-2: Avalon-MM Slave Input and Output Signals for Parallel and Serial Modes.
avmm_data_ 1 Output The IP core asserts this bus to pause the master
waitrequest when the IP core is busy during read or write
operations.
Send Feedback
UG-M10UFM
5-4 Altera On-Chip Flash Registers 2016.05.02
Send Feedback
UG-M10UFM
2016.05.02 Altera On-Chip Flash Registers 5-5
5 sp (UFM1 —
protection bit)
6 sp (UFM0 —
protection bit)
The IP core sets these bits based on the
7 sp (CFM2 — specified device and configuration mode. If the
protection bit) IP core sets one of these bits, you cannot read
or program on the specified sector.
8 sp (CFM1 —
protection bit)
9 sp (CFM0 —
protection bit)
31–10 dummy — All of these bits are set to 1.
(padding)
Send Feedback
UG-M10UFM
5-6 Altera On-Chip Flash Registers 2016.05.02
23 wp (UFM1 write 1
protection) The IP core uses these bits to protect the sector
24 wp (UFM0 write 1 from write and erase operation. You must clear
protection) the corresponding sector write protection bit
before your program or erase the sector.
25 wp (CFM2 write 1
Disable write protected
protection) 1'b0
mode
26 wp (CFM1 write 1
Enable write protected
protection) 1'b1
mode
27 wp (CFM0 write 1
protection)
31–28 dummy — All of these bits are set to 1.
(padding)
Send Feedback
2016.05.02
MAX 10 User Flash Memory User Guide Archive
A
UG-M10UFM Subscribe Send Feedback
If an IP core version is not listed, the user guide for the previous IP core version applies.
IP Core Version User Guide
15.1 MAX 10 User Flash Memory User Guide
15.0 MAX 10 User Flash Memory User Guide
14.1 MAX 10 User Flash Memory User Guide
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2016.05.02
Document Revision History for MAX 10 User
Flash Memory User Guide B
UG-M10UFM Subscribe Send Feedback
November 2015.11.02 • Added information about the supported flash initialization files.
2015 • Added serial interface support for 10M40 and 10M50 devices. The
maximum frequency for MAX 10 devices is 7.25 MHz, except for
10M40 and 10M50 devices, which is 4.81 MHz.
• Added parallel interface support for 10M02 devices. The maximum
frequency for MAX 10 devices is 116 MHz, except for 10M02 devices,
which is 7.25 MHz.
• Changed instances of Quartus II to Quartus Prime.
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10UFM
B-2 Document Revision History for MAX 10 User Flash Memory User Guide 2016.05.02
Altera Corporation Document Revision History for MAX 10 User Flash Memory User Guide
Send Feedback
MAX 10 JTAG Boundary-Scan Testing
User Guide
Contents
Overview.............................................................................................................. 1-1
Altera Corporation
2015.05.04
Overview
1
UG-M10JTAG Subscribe Send Feedback
MAX® 10 devices support the IEEE Std.1149.1 (JTAG) boundary-scan testing (BST).
When you perform BST, you can test pin connections without using physical test probes and capture
functional data during normal operation. The boundary-scan cells (BSCs) in a device can force signals
onto pins, or capture data from pin or core logic signals. Forced test data is serially shifted into the BSCs.
Captured data is serially shifted out and externally compared to expected results.
Note: You can perform BST on MAX 10 devices before, after, and during configuration.
Related Information
• MAX 10 FPGA Configuration User Guide
Provides more information about JTAG in-system programming.
• JTAG BST Architecture on page 2-1
• JTAG Boundary-Scan Register on page 2-2
• JTAG BST Operation Control on page 3-1
• I/O Voltage Support in the JTAG Chain on page 4-1
• Enabling and Disabling JTAG BST Circuitry on page 5-1
• Guidelines for JTAG BST on page 6-1
• Boundary-Scan Description Language Support on page 7-1
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2015.05.04
JTAG BST Architecture
2
UG-M10JTAG Subscribe Send Feedback
MAX 10 JTAG interface uses four pins, TDI, TDO, TMS, and TCK.
JTAG Pins
Table 2-1: JTAG Pin Descriptions
TDO Serial output pin for: • TDO is sampled on the falling edge of TCK
• instructions • The pin is tri-stated if data is not being
• test data shifted out of the device.
• programming data
TMS Input pin that provides the control • TMS is sampled on the rising edge of TCK
signal to determine the transitions of • TMS pins have internal weak pull-up resistors.
the TAP controller state machine.
TCK The clock input to the BST circuitry. —
All the JTAG pins are powered by the VCCIO 1B. In JTAG mode, the I/O pins support the LVTTL/
LVCMOS 3.3-1.5V standards.
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10JTAG
2-2 JTAG Boundary-Scan Register 2015.05.04
Instruction Register
TDI
TDO
UPDATEIR
CLOCKIR
SHIFTIR
Boundary-Scan Register
a
Device ID Register
ISP Registers
Send Feedback
UG-M10JTAG
2015.05.04 Boundary-Scan Cells in MAX 10 I/O Pin 2-3
The TAP controller generates the global control signals internally for the JTAG BST registers, shift,
clock, and update. The instruction register generates the MODE signal.
The data signal path for the boundary-scan register runs from the serial data in (SDI) signal to the serial
data out (SDO) signal. The scan register begins at the TDI pin and ends at the TDO pin of the device.
Capture Update
Registers Registers
SDO
INJ PIN_IN
0
0 D Q D Q 1
1
INPUT INPUT
OEJ
From or
to Device 0 D Q D Q 0 PIN_OE
1 0 1
I/O Cell 1
OE OE VCC
Circuitry or
Logic Array
OUTJ
0 PIN_OUT
0 D Q D Q Pin
1
1 Output
OUTPUT OUTPUT
Buffer
SDI
SHIFT CLOCK UPDATE HIGHZ MODE Global
Signals
Send Feedback
UG-M10JTAG
2-4 Boundary-Scan Cells in MAX 10 I/O Pin 2015.05.04
Table 2-2: BSC Capture and Update Register for MAX 10 Devices
Captures Drives
Note: All VCC and GND pin types do not have BSCs.
Send Feedback
2015.05.04
JTAG BST Operation Control
3
UG-M10JTAG Subscribe Send Feedback
JTAG IDCODE
The IDCODE is unique for each MAX 10 device. Use this code to identify the devices in a JTAG chain.
Device
Supply Option Device Version (4 Part Number (16 Bits) Manufacturer Identity LSB (1 Bit)
Bits) (11 Bits)
10M02 0000 0011 0001 1000 0001 000 0110 1110 1
10M04 0000 0011 0001 1000 1010 000 0110 1110 1
10M08 0000 0011 0001 1000 0010 000 0110 1110 1
Single-
10M16 0000 0011 0001 1000 0011 000 0110 1110 1
supply
10M25 0000 0011 0001 1000 0100 000 0110 1110 1
10M40 0000 0011 0001 1000 1101 000 0110 1110 1
10M50 0000 0011 0001 1000 0101 000 0110 1110 1
10M02 0000 0011 0001 0000 0001 000 0110 1110 1
10M04 0000 0011 0001 0000 1010 000 0110 1110 1
10M08 0000 0011 0001 0000 0010 000 0110 1110 1
Dual-
10M16 0000 0011 0001 0000 0011 000 0110 1110 1
supply
10M25 0000 0011 0001 0000 0100 000 0110 1110 1
10M40 0000 0011 0001 0000 1101 000 0110 1110 1
10M50 0000 0011 0001 0000 0101 000 0110 1110 1
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10JTAG
3-2 JTAG Secure Mode 2015.05.04
Related Information
MAX 10 FPGA Configuration User Guide
Provides more information about the JTAG Secure Mode.
JTAG Instructions
Instruction Name Instruction Description
Binary
SAMPLE/PRELOAD 00 0000 0101 • Permits an initial data pattern to be an output at the device pins.
• Allows you to capture and examine a snapshot of signals at the
device pins if the device is operating in normal mode.
EXTEST (1) 00 0000 1111 • Forces test pattern at the output pins and capture the test results at
the input pins.
• Allows you to test the external circuitry and board-level intercon‐
nects.
BYPASS 11 1111 1111 • Places the 1-bit bypass register between the TDI and TDO pins.
• Allows the BST data to pass synchronously through target devices
to adjacent devices during normal device operation.
USERCODE 00 0000 0111 • Places the 1-bit bypass register between the TDI and TDO pins.
• Allows you to shift the USERCODE register out of the TDO pin serially.
IDCODE 00 0000 0110 • Selects the IDCODE register and places it between the TDI and TDO
pins.
• Allows you to shift the IDCODE register out of the TDO pin serially.
(1)
HIGHZ, CLAMP, and EXTEST instructions do not disable weak pull-up resistors or bus hold features.
Send Feedback
UG-M10JTAG
2015.05.04 JTAG Instructions 3-3
CLAMP (1) 00 0000 1010 • Places the 1-bit bypass register between the TDI and TDO pins. The
1-bit bypass register holds I/O pins to a state defined by the data in
the boundary-scan register.
• Allow the BST data to pass synchronously through target devices to
adjacent devices if device is operating in normal mode.
USER0 00 0000 1100 • Allows you to define the scan chain between the TDI and TDO pins
in the MAX 10 logic array.
• Use this instruction for custom logic and JTAG interfaces.
USER1 00 0000 1110 • Allows you to define the scan chain between the TDI and TDO pins
in the MAX 10 logic array.
• Use this instruction for custom logic and JTAG interfaces.
Send Feedback
2015.05.04
I/O Voltage Support in the JTAG Chain
4
UG-M10JTAG Subscribe Send Feedback
Tester
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2015.05.04
Enabling and Disabling JTAG BST Circuitry
5
UG-M10JTAG Subscribe Send Feedback
The JTAG BST circuitry in MAX 10 devices is automatically enabled after the power-up.
To ensure that you do not inadvertently enable the JTAG BST circuitry when it is not required, disable the
circuitry permanently with pin connections as listed in the following table.
Table 5-1: Pin Connections to Permanently Disable the JTAG BST Circuitry in MAX 10 Devices
You must enable this circuitry only if you use the BST or ISP features.
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2015.05.04
Guidelines for JTAG BST
6
UG-M10JTAG Subscribe Send Feedback
Consider the following guidelines when you perform BST with the device:
• If the “10...” pattern does not shift out of the instruction register through the TDO pin during the first
clock cycle of the SHIFT_IR state, the TAP controller did not reach the proper state. To solve this
problem, try one of the following procedures:
• Verify that the TAP controller has reached the SHIFT_IR state correctly. To advance the TAP
controller to the SHIFT_IR state, return TAP controller to the RESET state and send the 01100 code
to the TMS pin.
• Check the connections to the VCC, GND, JTAG, and dedicated configuration pins on the device.
• Perform a SAMPLE/PRELOAD test cycle before the first EXTEST test cycle to ensure that known data is
present at the device pins when you enter EXTEST mode. If the OEJ update register contains 0, the data
in the OUTJ update register is driven out. The state must be known and correct to avoid contention
with other devices in the system.
• To perform testing before configuration, hold the nCONGFIG pin low.
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2015.05.04
Boundary-Scan Description Language Support
7
UG-M10JTAG Subscribe Send Feedback
The BSDL—a subset of VHDL—provides a syntax that allows you to describe the features of an IEEE Std.
1149.1 BST-capable device that can be tested. Test software development systems then use the BSDL files
for test generation, analysis, failure diagnostics, and in-system programming.
Related Information
IEEE 1149.1 BSDL Files
Provides more information about BSC group definitions.
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2015.05.04
Additional Information for MAX 10 JTAG
Boundary-Scan Testing User Guide A
UG-M10JTAG Subscribe Send Feedback
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
MAX 10 Power Management User Guide
Contents
Additional Information for MAX 10 Power Management User Guide ........... B-1
Document Revision History for MAX 10 Power Management User Guide.......................................B-1
Altera Corporation
2016.05.02
MAX 10 Power Management Overview
1
UG-M10PWR Subscribe Send Feedback
Related Information
• MAX 10 Power Management Features and Architecture on page 2-1
Provides information about power management features and architecture
• MAX 10 Power Management User Guide Archives on page 4-1
Provides a list of user guides for previous versions of the SmartVID IP core.
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2016.05.02
MAX 10 Power Management Features and
Architecture 2
UG-M10PWR Subscribe Send Feedback
Dual-Supply Device
MAX 10 dual-supply devices require 1.2 V and 2.5 V for the device core logics and periphery operations.
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10PWR
2-2 Comparison of the MAX 10 Power Supply Device Options 2016.05.02
VCCA, VCCA_ADC
(2.5 V)
MAX 10
VCC, VCCD_PLL, VCCINT Dual-Supply Device
(1.2 V)
For MAX 10 single-supply devices, only one power supply is required—3.0 V or 3.3 V to power the core
of the FPGA. The same power supply can be used to power the I/O if the same 3.0 V or 3.3 V voltage is
required. If different I/O voltage is used, then additional voltage regulators will be needed.
For MAX 10 dual-supply devices, two power supplies are required to supply power to the device core,
periphery, phase-locked loop (PLL), and analog-to-digital converters (ADC) blocks—1.2 V and 2.5 V.
Depending on the I/O standard voltage requirement, you may use two or more voltage regulators.
As the power rails for the FPGA core are supplied externally in the MAX 10 dual-supply devices, the
design can be optimized for power by using high efficiency switching power supplies on the board. The
power savings will be equal to the increased efficiency of the regulators used compared to the internal
linear regulators of the MAX 10 single-supply devices. If linear regulators are used to power the MAX 10
dual-supply devices, the power consumption of the MAX 10 dual-supply devices will be approximately
equal to the MAX 10 single-supply devices.
The device performance of the single-supply device is lower than that of the dual-supply device. For the
performance difference in terms of LVDS, pseudo-LVDS, digital signal processing (DSP), and internal
memory performance, refer to the MAX 10 FPGA device datasheet.
Related Information
MAX 10 FPGA Device Datasheet
Provides details about the MAX 10 performance difference in terms of LVDS, pseudo-LVDS, DSP, and
internal memory performance.
(1)
This shows the number of power supplies required by the core and periphery of the MAX 10 devices. You
may need additional voltage regulators to supply power to the VCCIO if the VCCIO does not have the same
voltage level as the core and periphery supply.
Send Feedback
UG-M10PWR
2016.05.02 Power Supply Design 2-3
Table 2-2: Maximum Power Consumption of VCC_ONE for MAX 10 Single-Supply Devices
Related Information
• Enpirion Power Management Solutions
Provides more information about Altera's Power Management IC and PowerSoC solutions designed
for powering FPGAs.
• MAX 10 FPGA Device Family Pin Connection Guidelines
Provides a more detailed recommendation about how to group inputs in order to power a MAX 10
device.
• PowerPlay Early Power Estimators (EPE) and Power Analyzer
Send Feedback
UG-M10PWR
2-4 Transient Current 2016.05.02
Transient Current
You may observe a transient current at the VCCIO power supply when powering up the MAX 10 devices.
The transient current of VCCIO applies to all VCCIO voltage levels supported by the MAX 10 device.
Table 2-3: Maximum VCCIO Power Supply Transient Current for MAX 10 Devices
Note: The value of the transient current is based on the zero decoupling capacitance on the characteriza‐
tion board. The observed value will be less than the published value after adding the decoupling
capacitance on your design board. Altera recommends using a soft start regulator that is able to
reduce the transient current when the device is powered.
(2)
VCCIO of banks 1 and 8 for the 10M02 device.
Send Feedback
UG-M10PWR
2016.05.02 Power Supplies Monitored and Not Monitored by the POR Circuitry 2-5
Power Supply Device Options Power Supplies Monitored Power Supplies Not Monitored
Single-supply device • Regulated VCC_ONE —
• VCCA
• VCCIO (3)
The MAX 10 POR circuitry uses an individual POR-detecting circuitry to monitor each of the configura‐
tion-related power supplies independently. The outputs of all the individual POR detectors gate the main
POR circuitry. The main POR circuitry waits for all individual POR circuitries to release the POR signal
before allowing the control block to start configuring the device. The main POR is released after the last
ramp-up power reaches the POR trip level followed by a POR delay.
Figure 2-3: Monitored Power Supplies Ramp Up
Volts
nSTATUS CONF_DONE
goes high goes high
first power
supply
last
power
supply
Time
POR Delay Configuration Device User Mode
time Initialization
tRAMP
Note: Each individual power supply must reach the recommended operating range within the specified
tRAMP.
Note: All VCCIO banks must reach the recommended operating level before configuration completes.
Note: The typical value of POR delay is 2.5 ms for MAX 10 devices.
(3)
For banks 1B and 8 for all MAX 10 devices and banks 1 and 8 for the 10M02 device.
Send Feedback
UG-M10PWR
2-6 Instant-On Support 2016.05.02
After the MAX 10 device enters user mode, the POR circuit continues to monitor the VCCA and VCC
power supplies. This is to detect a brown-out condition during user mode. If either the VCCA or VCC
voltages go below the POR trip point during user mode, the main POR signal is asserted. When the main
POR signal is asserted, the device is forced into reset state. VCCIO(3) is monitored by the POR circuitry. In
the event of the VCCIO(3) voltage drops during user mode, the POR circuit does not reset the device.
However, the POR circuit does monitor the VCCIO voltage drop for up to 9 ms after the last power rail
reaches its trip point.
Instant-On Support
In some applications, it is necessary for a device to wake up very quickly to begin operation. The MAX 10
device offers the instant-on feature to support fast wake-up time applications. With the instant-on feature,
MAX 10 devices can directly enter configuration mode with a short delay time after the POR trips for the
monitored power supplies.
The MAX 10 device contains hardware features that enable I/O power down and global clock (GCLK)
gating to manage low-power state during sleep mode. You can power down the I/O buffer dynamically
Send Feedback
UG-M10PWR
2016.05.02 Internal Oscillator 2-7
when your application is in idle or sleep mode. One example is the digital single lens reflex DSLR camera
application where the LVDS I/O needs to be powered down during the idle condition. Without touching
any buttons, the screen turns off while the camera is still powered on.
Altera provides a soft power management controller as reference design utilizing low-power features
implemented in the MAX 10 devices. You can modify the reference design based on your application. The
soft power management controller includes a simple finite state machine (FSM) to manage the low-power
state mode by powering down the I/O buffer and GCLK gating during sleep mode.
All MAX 10 devices contain hardware features for clock gating. The 10M16, 10M25, 10M40, and 10M50
devices contain hardware features for I/O power down. With hardware features, you can manage the low-
power state during sleep mode by using the soft power management controller that you define.
You can implement the power management controller in FPGA core fabric with a minimum of one I/O
port reserved for sleep mode enter and exit signals.
Internal Oscillator
The internal oscillator clocks the power management controller operation. The internal oscillator is
routed from flash to the core. The internal oscillator enables the power management controller to detect
the wake-up event and the sleep mode event. In order to enable the internal oscillator clock when the
power management controller is enabled, you have to set oscena to 1. For the clock frequency of the
internal oscillator, refer to the MAX 10 FPGA Device Datasheet.
Related Information
MAX 10 FPGA Device Datasheet
Provides details about the MAX 10 ramp time requirements, internal oscillator clock frequency, and hot-
socketing specifications.
During power-up and configuration modes, the soft power management controller is not yet configured
and the control signals are forced to 1 (inactive). After configuration mode, when the power management
controller is activated, the power management controller will default the control signals to 1. When
control signals are 0, the power management controller powers down or tri-states the I/O buffers.
Subsequently the I/O is put into the sleep mode.
(4)
I/O banks 1A and 1B share one control signal.
Send Feedback
UG-M10PWR
2-8 Global Clock Gating 2016.05.02
The MAX 10 device I/O buffers need to maintain the previous states during the sleep mode operation.
The previous states in your core logics remain upon exiting the sleep mode.
enout lenout
gclkout
Power
Management
Controller
clk1
clkn gclkin
Hot Socketing
The MAX 10 device offers hot socketing, which is also known as hot plug-in or hot swap, and power
sequencing support without the use of any external devices. You can insert or remove the MAX 10 device
on a board in a system during system operation. This does not affect the running system bus or the board
that is inserted into the system.
The hot-socketing feature removes some encountered difficulties when using the MAX 10 device on a
PCB that contains a mixture of devices with different voltage levels.
With the MAX 10 device hot-socketing feature, you no longer need to ensure a proper power-up sequence
for each device on the board. MAX 10 device hot-socketing feature provides:
• Board or device insertion and removal without external components or board manipulation
• Support for any power-up sequence
• Non-intrusive I/O buffers to system buses during hot insertion
Hot-Socketing Specifications
The MAX 10 device is a hot-socketing compliant device that does not need any external components or
special design requirements. Hot-socketing support in the MAX 10 device has the following advantages:
Send Feedback
UG-M10PWR
2016.05.02 Drive MAX 10 Devices Before Power Up 2-9
• You can drive the devices 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 not affecting other buses in operation.
Related Information
MAX 10 FPGA Device Datasheet
Provides details about the MAX 10 ramp time requirements, internal oscillator clock frequency, and hot-
socketing specifications.
Send Feedback
UG-M10PWR
2-10 Hot-Socketing Feature Implementation 2016.05.02
Power-On
Reset (POR)
VCCIO Monitor
Weak R
Pull-Up Output Enable
Resistor
PAD Voltage Hot-Socket
Tolerance
Control
Output
Pre-Driver
Input Buffer
to Logic Array
The POR circuit monitors the voltage level of power supplies and keeps the I/O pins tri-stated during
power up. The weak pull-up resistor in MAX 10 device I/O elements (IOE) keeps the I/O pins from
floating. The voltage tolerance control circuit protects the I/O pins from being driven before VCCIO and
VCC supplies are powered up. This prevents the I/O pins from driving out when the device is not in user
mode.
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 cause an out-of-specification I/O voltage
or current condition with the Altera device.
Send Feedback
2016.05.02
Power Management Controller Reference
Design 3
UG-M10PWR Subscribe Send Feedback
This reference design utilizes the low-power feature supported in MAX 10 devices. The following figure
shows the related block diagrams in the power management controller reference design.
Figure 3-1: Power Management Controller Block Diagram
sleep sleep_status
rst_n ioe
PMC I/O Buffer
gpio_pad_output[3:0]
Internal Oscillator clk_osc (altera_pmc) (altera_gpio_lite)
(altera_int_osc)
clk_ena
Table 3-1: Input and Output Ports of the Power Management Controller Reference Design
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
UG-M10PWR
3-2 Clock Control Block 2016.05.02
The power management controller design is a FSM showing the state of powering down and powering up
global clocks (GCLKs) and I/O buffers. The internal oscillator, clock control block, and I/O buffer are
intellectual property (IP) that are supported by the Quartus® Prime software and you can instantiate the
IPs from the IP catalog. The user logic can be any logical circuitry that are implemented using logic
element (LE) and an embedded component such as DSP and internal memory in your design. In this
reference design, the user logic used is a free-running 8-bit counter. The cnt_enter_sleep and
cnt_exit_sleep ports are used to ensure user logic can enter and exit sleep mode without data
corruption. It is expected for that cnt_enter_sleep[7:0] and cnt_exit_sleep[7:0] are at the same
value after the user logic enter and exit sleep mode. gpio_pad_output ports demonstrate tri-stated state
of the GPIO when the system is in sleep mode.
Related Information
Power Management Controller Reference Design
Related Information
Clock Control Block (ALTCLKCTRL) Megafunction User Guide
I/O Buffer
Altera GPIO Lite IP core (altera_gpio_lite) is implemented as an input, output, or bidirectional I/O
buffer. You can control the power down of these I/O buffers by enabling the nsleep port of the input
buffer and the oe port of the output buffer. The oe and nsleep ports are pulled low by the power
management controller design to power down the I/O buffers during sleep mode. Altera recommends
using a separate Altera GPIO Lite IP when some of the I/O buffer is not required to be powered down.
Related Information
Altera GPIO Lite IP Core References
Internal Oscillator
Internal Oscillator IP core (altera_in_osc) is a free-running oscillator once you enable it. This oscillator
runs throughout the entire power management controller design.
Related Information
Internal Oscillator IP Core
Send Feedback
UG-M10PWR
2016.05.02 Power Management Controller 3-3
Awake
clk_ena = 1 & Sleep = 1
ioe = 1
Exiting Entering
Entering State
When the power management controller detects a sleep event, the FSM transitions to the Entering state
and performs power-down operation on I/O buffers and GCLK networks. A sleep event is detected when
the sleep signal is asserted. A sleep event could be triggered by an internal or external request.
Sleep State
After the power-down operation on I/O buffers and GCLK networks, the FSM transitions to the Sleep
state and waits for the wake-up event. This state is the sleep mode state.
Exiting State
When the power management controller detects a wake-up event, the FSM transitions to the Exiting state
and performs power-up operation on I/O buffers and GCLK networks. A wake-up event is detected when
the sleep signal is de-asserted. A wake-up event could be triggered by an internal or external request such
as interruption or time-out on some counters.
Awake State
After the power-up operation on I/O buffers and GCLK networks, the FSM transitions to the Awake state.
This process repeats when a sleep event is initiated again.
Send Feedback
UG-M10PWR
3-4 Entering or Exiting Sleep Mode 2016.05.02
clk
sleep
current_state Awake Entering Sleep
T1
ioe T2
clk_ena[15:0] 16’hFFFF Disabling 16’h0000
sleep_status
The following sequence occurs when the device enters sleep mode:
1. An internal or external request drives the sleep signal high, forcing the device to go into sleep mode.
2. After a delay of T1, the power management controller powers down all the I/O buffers by de-asserting
ioe signal that connects to oe and nsleep ports of the I/O buffers.
3. After a delay of T2, the power management controller turns off all GCLK networks by disabling
clk_ena[15:0] signal from LSB to MSB. After three clock cycles, the clk_ena[15:0] signal is fully
disabled and transits into the sleep state.
4. The power management controller remains in sleep state until the sleep signal is de-asserted.
5. User logic will latch the running counter value before entering the sleep state and output to
cnt_sleep_enter port. The running counter is then frozen.
6. gpio_pad_output (GPIO) is tri-stated when ioe is de-asserted.
clk
sleep
current_state Sleep Exiting Awake
T4
ioe
T3
clk_ena[15:0] 16’h0000 Enabling 16’hFFFF
sleep_status
Send Feedback
UG-M10PWR
2016.05.02 Timing Parameters 3-5
The following sequence occurs when the device exits sleep mode:
1. An internal or external request drives the sleep signal low, forcing the device to exit sleep mode.
2. After a delay of T3, the power management controller turns on all GCLK networks by enabling
clk_ena[15:0] signal from LSB to MSB. After three clock cycles, the clk_ena[15:0] signal is fully
enabled and all GCLK networks are turned on.
3. After a delay of T4, the power management controller powers up all the I/O buffers by asserting the
ioe signal.
4. The power management controller remains in awake state until the sleep signal is asserted.
5. User logic will latch the running counter value before the awake state and output to cnt_sleep_exit
port. The running counter is then release from freeze.
6. gpio_pad_output (GPIO) is driving its output value when ioe is asserted.
Timing Parameters
The following table lists the definition and minimum value of the T1, T2, T3, and T4 parameters in the
entering sleep mode timing diagram and exiting sleep mode timing diagram, respectively.
Table 3-2: T1, T2, T3, and T4 Parameters Minimum Value and Definition
T1, T2, T3, and T4 can be increased based on your system requirement.
Send Feedback
UG-M10PWR
3-6 Hardware Implementation and Current Measurement 2016.05.02
measured current is shown on Altera power monitor GUI when the PowerMonitor.exe is launched. You
will see a current monitor for each of the main supplies to the MAX 10 device as follows:
• 2.5V_CORE(5)
• 2.5V_VCCIO
• 1.5V_VCCIO
• 1.2V_VCC
For design demonstration purpose, the push button is used for sleep control and the LEDs are used for
sleep status. Thus, these signals have been inverted on the pin level. To enter sleep mode, press and hold
the push button USER_PB0. To release the design to user mode, release the push button USER_PB0.
LED0 indicates the sleep status of the device. LED0 is turned on when the device enters sleep mode and is
turned off when the device is in user mode. During sleep mode, gpio_pad_output ports connecting to
LED1–LED4 are tri-stated and then turned off.
Figure 3-5: Current Monitor for Each Supply
In sleep mode, all GCLK networks are gated and all output buffers are disabled.
(5)
This is 2.5V_VCCA.
Send Feedback
UG-M10PWR
2016.05.02 Hardware Implementation and Current Measurement 3-7
The results show an approximate 93% reduction in the core current (1.2V_ICC) consumption and an
approximate 56% reduction in I/O current (2.5V_ICCIO) consumption in sleep mode relative to user
mode. The total power consumption reduction in this design in sleep mode is about 68%.
Send Feedback
2016.05.02
MAX 10 Power Management User Guide
Archives A
UG-M10PWR Subscribe Send Feedback
If an IP core version is not listed, the user guide for the previous IP core version applies.
IP Core Version User Guide
15.1 MAX 10 Power Management User Guide
15.0 MAX 10 Power Management User Guide
14.1 MAX 10 Power Management User Guide
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
2016.05.02
Additional Information for MAX 10 Power
Management User Guide B
UG-M10PWR Subscribe Send Feedback
February 2015 2015.02.09 Added the MAX 10 Power Management Controller Reference Design.
December 2014 2014.12.15 • Updated the MAX 10 Power Management Overview section.
• Updated the Dual-Supply Device section to update details on
power consumption for dual-supply devices.
• Updated the Power Supply Design section to include the maximum
power consumption for each MAX 10 single-supply device.
• Updated the Power Management Controller Scheme section to
include updates on sleep mode.
© 2016 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance ISO
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any 9001:2008
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, Registered
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134