ALTPLL (Phase-Locked Loop) IP Core User Guide

ALTPLL (Phase-Locked Loop) IP Core User Guide
2014.08.18
ug-altpll
Send Feedback
Subscribe
The Altera Phase-Locked Loop (ALTPLL) IP core implements phase lock loop (PLL) circuitry. A PLL is a
feedback control system that automatically adjusts the phase of a locally generated signal to match the phase
of an input signal. PLLs operate by producing an oscillator frequency to match the frequency of an input
signal. In this locked condition, any slight change in the input signal first appears as a change in phase
between the input signal and the oscillator frequency.
This phase shift then acts as an error signal to change the frequency of the local PLL oscillator to match the
input signal. The locking-onto-a-phase relationship between the input signal and the local oscillator accounts
for the name phase-locked loop. PLLs are often used in high-speed communication applications
®
You can use the Quartus II IP Catalog and parameter editor to specify PLL parameters .
Note: This IP core is not supported for Arria 10 designs.
Related Information
• Introduction to Altera IP Cores
• Altera IP Release Notes
ALTPLL Features
The PLL types, operation modes, and advanced features are available for configuration in the ALTPLL IP
core. Each PLL feature includes a table that compares the PLL feature in the supported devices, and describes
the relevant parameter settings.
Phase-Locked Loop
The Phase-Locked Loop (PLL) is a closed-loop frequency-control system that compares the phase difference
between the input signal and the output signal of a voltage-controlled oscillator (VCO). The negative feedback
loop of the system forces the PLL to be phase-locked.
PLLs are widely used in telecommunications, computers, and other electronic applications. You can use the
PLL to generate stable frequencies, recover signals from a noisy communication channel, or distribute clock
signals throughout your design.
© 2014 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 of its semiconductor products to current specifications in accordance with
Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes
no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly
agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published
information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
Registered
2
ug-altpll
2014.08.18
Building Blocks of a PLL
Building Blocks of a PLL
Figure 1: PLL Block Diagram
Post-Dividers
FIN
Charge
Pump
FREF
N
PFD
Loop
Filter
& VCO
Feedback
FVCO
K
V
FOUT1
FOUT1
FOUT2
M
The PLL consists of a pre-divider counter (N counter), a phase-frequency detector (PFD) circuit, a charge
pump, loop filter, a VCO, a feedback multiplier counter (M counter), and post-divider counters (K and V
counters).
The PFD detects the differences in phase and frequency between its reference signal (fREF) and feedback
signal (Feedback), controls the charge pump, and controls a loop filter that converts the phase difference to
a control voltage. This voltage controls the VCO.
Based on the control voltage, the VCO oscillates at a higher or lower frequency, which affects the phase and
frequency of the Feedback signal. After the fREF signal and the Feedback signal have the same phase and
frequency, the PLL is said to be phase-locked.
Inserting the M counter in the feedback path causes the VCO to oscillate at a frequency that is M times the
frequency of the fREF signal. The fREF signal is equal to the input clock (fIN) divided by the pre-scale counter
(N).
The reference frequency is described by the equation fREF = fIN/N. The VCO output frequency is fVCO = fIN
× M/N, and the output frequency of the PLL is described by the equation fOUT = (fIN × M)/(N × K) for the
signals.
PLL Behavior
• PLL lock time—Also known as the PLL acquisition time, PLL lock time is the amount of time required
by the PLL to attain the target frequency and phase relationship after power-up, after a programmed
output frequency change, or after a reset of the PLL. Simulation software does not model a realistic PLL
lock time. Simulation shows an unrealistically fast lock time.
• PLL resolution—The minimum frequency increment value of a PLL VCO. The value is based on the
number of bits in the M and N counter.
• PLL sample rate—The fREF sampling frequency required to perform the phase and frequency correction
in the PLL. The PLL sample rate is fREF /N.
Types of PLLs
The types of PLL supported by the IP core depend on the device family. Device families typically support
one or two PLL types. For example, the Stratix series supports two types of PLLs, and the Cyclone series
supports only one type. The two PLL types supported within a device family are identical in their analog
portions and differ slightly in the digital portion, for example, more counters on one type than another.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Parameter Setting
3
Parameter Setting
You select the PLL type on the General/Modes page of the ALTPLL parameter editor. The list of available
PLL types to choose from depends on the selected device family. If you select Select the PLL type
automatically, the ALTPLL parameter editor selects the best possible PLL type, based on other options that
you set in the ALTPLL parameter editor.
Related Information
• Determining the PLL Lock Range on page 6
• Expanding the PLL Lock Range on page 6
• Output Clocks on page 9
• Ports and Parameters on page 38
Total Number of PLL Available in Each Supported Device Family
The following table lists the total number of PLLs available for configuration and the PLL types supported
by the ALTPLL IP core for each device family.
Table 1: Total Number of PLLs per Device Family
Device Family
Total Number of
PLLs
PLL Types
Arria GX
8
Enhanced and Fast
Arria II GX
6
Left_Right
Stratix IV
12
Top_Bottom and Left_Right
Stratix III
12
Top_Bottom and Left_Right
Stratix II
12
Enhanced and Fast
Stratix II GX
8
Enhanced and Fast
Stratix
12
Enhanced and Fast
Stratix GX
8
Enhanced and Fast
Cyclone IV
4
Cyclone IV PLL
Cyclone III
4
Cyclone III PLL
Cyclone II
4
Cyclone II PLL
Cyclone
2
Cyclone PLL
Operation Modes
The ALTPLL IP core supports up to five different clock feedback modes, depending on the selected device
family. Each mode allows clock multiplication and division, phase shifting, and duty-cycle programming.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
4
ug-altpll
2014.08.18
Operation Modes Supported in Each Device Family
The following list describes the operation modes for the ALTPLL IP core:
• Normal mode—The PLL feedback path source is a global or regional clock network, minimizing clock
delay to registers for that clock type and specific PLL output. You can specify PLL output that is
compensated in normal mode.
• Source-Synchronous mode—The data and clock signals arrive at the same time at the data and clock
input pins. In this mode, the signals are guaranteed to have the same phase relationship at the clock and
data ports of any Input Output Enable register.
• Zero-Delay Buffer mode—The PLL feedback path is confined to the dedicated PLL external clock output
pin. The clock port driven off-chip is phase aligned with the clock input for a minimal delay between the
clock input and the external clock output.
• No Compensation mode—The PLL feedback path is confined to the PLL loop. It has no clock network
or other external source. A PLL in no-compensation mode has no clock network compensation, but clock
jitter is minimized.
• External Feedback mode—The PLL compensates for the fbin feedback input to the PLL. The delay
between the input clock pin and the feedback clock pin is minimized.
Operation Modes Supported in Each Device Family
The following table summarizes the operation modes supported for each device family.
Table 2: PLL Types and Modes Supported in Different Device Families
Device Family
Normal
SourceSynchronous
Zero-Delay Buffer No Compensation External Feedback
Arria GX
All PLL types
All PLL types
Enhanced PLL
All PLL types
Enhanced PLL
Arria II GX
Left_Right PLL
Left_Right PLL
Left_Right PLL
Left_Right PLL
—
Stratix IV
All PLL types
All PLL types
All PLL types
All PLL types
All PLL types
Stratix III
All PLL types
All PLL types
Enhanced PLL
All PLL types
Enhanced PLL
Stratix II
All PLL types
All PLL types
Enhanced PLL
All PLL types
Enhanced PLL
Stratix II GX
All PLL types
All PLL types
Enhanced PLL
All PLL types
Enhanced PLL
Stratix
All PLL types
—
Enhanced PLL
All PLL types
Enhanced PLL
Stratix GX
All PLL types
—
Enhanced PLL
All PLL types
Enhanced PLL
Cyclone IV
All PLL types
All PLL types
All PLL types
All PLL types
—
Cyclone III
All PLL types
All PLL types
All PLL types
All PLL types
—
Cyclone II
All PLL types
All PLL types
All PLL types
All PLL types
—
Cyclone
All PLL types
—
All PLL types
All PLL types
—
Parameter Settings
Describes how to set the operation mode for the PLL using the ALTPLL parameter editor. The parameter
settings are located on the General/Modes page of the ALTPLL parameter editor.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Parameter Settings
5
The following figure shows the options you can select from the page.
Figure 2: Operation Mode Options
The following table lists the options you can select from the page.
Table 3: Operation Mode Options and Descriptions
Option
Use the feedback path inside the PLL
Description
Specify which operation mode to use.
For source-synchronous mode, zero-delay buffer
mode, and external feedback mode, you must make
PLL Compensation assignments using the Assignment
Editor in addition to setting the appropriate mode in
the IP core. The assignment allows you to specify an
output pin as a compensation target for a PLL in zerodelay buffer mode or external feedback mode, or to
specify an input pin or group of input pins as
compensation targets for a PLL in source-synchronous
mode.
Create an 'fbin' input for an external feedback
(External Feedback Mode)
Select this option to set the PLL in external feedback
mode. The fbin port is the input port to the PLL from
the external feedback path. In this mode, the PLL
compensates for the fbin port. The delay between the
input clock pin and the feedback clock pin is
minimized.
Which output clock will be compensated for?
Specify which output port of the PLL is to 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 or
external feedback mode, select the external output
clock.
The following figure shows the options you can select from the page.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
6
ug-altpll
2014.08.18
Determining the PLL Lock Range
Figure 3: General Options
The following table lists the options you can select from the page.
Table 4: Operation Mode Options and Descriptions
Option
Description
Which device speed grade will you be
using?
Specify the speed grade if you are not already using a device with
the fastest speed. The lower the number, the faster the speed grade.
What is the frequency of the inclock0
input?
Specify the frequency of the input clock signal.
Set up PLL in LVDS mode
Select this option when you want the PLL to supply the necessary
clocking signals to the LVDS transmitter or receiver. In this mode,
the PLL type and operation mode are forced to fast PLL and normal
mode, respectively. This option creates two new output ports
—sclkout and enable.
This option is available only for the Arria GX, Stratix II,
Stratix II GX, andHardCopy II device families.
Data rate
Specify the data rate for the PLL in LVDS mode. This option is
available only if Set up PLL in LVDS mode is enabled.
Determining the PLL Lock Range
The PLL lock range is the range between the minimum (Freq min lock parameter) and maximum (Freq min
lock parameter) input frequency values for which the PLL can achieve lock. The Quartus II software shows
these input frequency values in the PLL Summary report located under Resource Section of the Fitter folder
in the Compilation Report. Changing the input frequency may cause the PLL to lose lock, but while the
input clock remains within the minimum and maximum frequency specifications, the PLL is able to achieve
lock.
Expanding the PLL Lock Range
The Quartus II software does not necessarily pick values for the PLL parameters to maximize the lock range.
For example, you specify a 75 MHz input clock in the ALTPLL parameter editor, the actual PLL lock range
may be between 70 MHz to 90 MHz. If your application requires a lock range of 50 MHz to 100 MHz, the
default lock range of this PLL is insufficient.
For devices that support clock switchover in PLLs, you can use the ALTPLL parameter editor to maximize
the lock range.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Setting Up Stratix III and Stratix IV PLLs for LVDS Interfacing
7
To extract valid parameter values to maximize your PLL lock range, perform the following steps:
1. In the schematic editor, double-click the ALTPLL instance in your design to open the ALTPLL parameter
editor.
2. For What is the frequency of your inclock0 input?, type the value of the low end of your desired PLL
lock range. For example, if your application requires a lock range of 50 MHz to 100 MHz, type 50 MHz.
3. Turn on Create output file(s) using the 'Advanced' PLL parameters.
4. Turn on Create an 'inclk1' for a second inclk and enter the high end of your lock range as the frequency
for inclk1. For example, if your application requires a lock range of 50 MHz to 100 MHz, type 100 MHz.
5. Complete the remaining pages in the ALTPLL parameter editor.
6. Compile your project and note the lock range shown in the PLL Summary report. If it is satisfactory, note
all of the values for the PLL from this report, such as the M value, N value, charge pump current, loop
filter resistance, and loop filter capacitance.
7. In the schematic editor, double-click the ALTPLL instance in your design to open the ALTPLL parameter
editor.
8. Turn off Create an 'inclk1' for a second inclk.
9. Click Finish to update the PLL wrapper file.
10. In a text editor, open the PLL wrapper file. If the wrapper file is in Verilog format, go to the defparam
section. If the wrapper file is in VHDL HDL, go to the generic map section. Modify all of the values for
the parameters listed in step 6. Save the changes.
11. Compile your project.
12. Check the PLL Summary report to confirm the PLL lock range meets your requirements. The modified
PLL should have the desired lock range.
If your input clock frequency is too close to the end of the desired PLL lock range—for example the low end
of the desired lock range is 50 MHz and the input clock frequency is 50 MHz, the PLL might not maintain
lock when the input clock has jitter or the frequency drifts below 50 MHz. You may choose to expand your
PLL lock range to ensure your expected input clock frequency is further from the end of the range. For this
example, you can enter 45 MHz and 105 MHz to ensure that your target lock range of 50 MHz to 100 MHz
is within the PLL lock range.
The Quartus II software prompts an error message if it is unable to implement your preferred lock range
using this procedure. Therefore, you have to look into other options, such as PLL reconfiguration to support
your input frequency range.
Setting Up Stratix III and Stratix IV PLLs for LVDS Interfacing
The ALTLVDS IP core provides SERDES transmitter and receiver functionality commonly used in LVDS
interfacing.
The following table lists the options and values to configure a PLL on a Stratix III or Stratix IV device to
clock an ALTLVDS IP core.
Table 5: Options to Configure a PLL on a Stratix III or Stratix IV Device
Option
Which PLL type will you be
using?
Value
Left_Right PLL
How will the PLL outputs be In Source-Synchronous Compensation mode
generated?
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
8
ug-altpll
2014.08.18
Simulating External Feedback Board Delay
Option
On the Output clocks page
Value
c0
c1
c2
This clock signal is
the high-speed serial
clock (fast clock)
signal connected to
the rx_inclock or
tx_inclock port of
the ALTLVDS IP
core.
This clock signal is
the load enable signal
connected to the rx_
enable or tx_enable
port of the ALTLVDS
IP core.
This clock signal is the slow
clock signal that feeds the
synchronization register of the
ALTLVDS IP core.
Output frequency =
data rate
Phase shift = -180
degrees
Duty cycle = 50%
Output frequency = data rate/
deserialization factor
Output frequency =
Phase shift = (-180/deserializadata rate/deserialization factor) degrees
tion factor
Duty cycle = 50%
Phase shift =
[(deserialization
factor – 2)/deserialization factor] × 360
degrees
Duty cycle = (100/
deserialization factor)
%
Related Information
SERDES Transmitter/Receiver (ALTLVDS) IP Core User Guide
Simulating External Feedback Board Delay
The PLL external feedback board delay option is available for Arria GX, Cyclone, HardCopy series, Stratix,
Stratix GX, Stratix II, and Stratix II GX device families only.
The functional and timing models of these devices do not support the simulation of external feedback. To
simulate the external feedback mode, perform the following steps:
1.
2.
3.
4.
In the Quartus II software, open an existing project or create a new project.
On the Assignments menu, click Assignment Editor.
In the Category bar, under Timing, click All.
In the spreadsheet, double-click an empty row in the To cell and either type in the pin name or click the
arrow to use the Node Finder to search for the external feedback input pin.
5. Double-click the Assignment Name cell, and select PLL External Feedback Board Delay.
6. In the Value cell, double-click and type the amount of time for the signal to propagate between the
external clock output pin through the trace on the board and into the external feedback input pin.
7. Simulate your design.
The behavioral models for the ALTPLL IP core reside in the \quartus\eda\sim_lib directory. The
altera_mf.vhd file contains the VHDL behavioral models and the altera_mf.v file contains the Verilog HDL
behavioral models. The behavioral model does not perform parameter error checking, so you must specify
valid values.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Output Clocks
9
Output Clocks
The PLL can generate a number of clock output signals depending on the PLL type and the device family
that you select in the ALTPLL parameter editor. For example, in a Stratix IV device, a Left_Right PLL can
generate seven clock output signals, and a Top_Bottom PLL can generate as many as 10 clock output signals.
The generated clock output signals are used to clock the core or external blocks outside of the core.
The ALTPLL IP core does not have a dedicated output enable port, you can disable the PLL output. You can
use the pllena signal or the areset signal to disable the PLL output counters, and thereby disable the PLL
output clocks. Another possible method is to feed the PLL output clock signals to the ALTIOBUF IP core
and use the enable output ports of the resulting buffers to disable the signals.
Parameter Settings
The Output Clocks page of the ALTPLL parameter editor contains the parameter settings for the clock
output signals. The output clock port can be used as a core output clock or an external output clock port.
The core output clock is used to feed the FPGA core and the external output clock is used to feed the dedicated
pins on the FPGA.
The following figure shows a screenshot of the page to configure the c0 clock output signal of the ALTPLL
IP core.
Figure 4: Output Clocks
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
10
ug-altpll
2014.08.18
Parameter Settings
Each option has the following two columns:
• Requested settings
• Actual settings
The requested settings are the settings that you want to implement, and the actual settings are the settings
closest values that can be implemented in the PLL circuit to best approximate the requested settings. Use
the values in the actual settings column as a guide to adjust the requested settings. If the requested settings
for one of the output clocks cannot be approximated, the ALTPLL parameter editor produces a warning
message at the top of every page. To determine the output clocks that contain unachievable settings, turn
on Per Clock Feasibility Indicators at the bottom of the ALTPLL parameter editor. The output clock name
in red is the name of the clock with unachievable settings. The clock listed in green has no settings issues,
and the grayed-out names are the unselected output clocks. You must adjust the requested settings for the
affected output clocks to resolve the warning messages, or use another Altera device that meets your desired
timing specifications.
To generate an output clock port in your ALTPLL IP core variation, select Use this clock.The output clock
port that is to be compensated for is enabled by default. It cannot be disabled, unless you select a different
output clock port to be compensated for.
The rest of the options on the page allow you to set the following output clock values:
• frequency
• phase shift
• duty cycle
The phase shift option allows you to set the programmable phase shift for an output clock signals. The
smallest phase shift is 1/8th of VCO period. For degree increments, the maximum step size is 45 degrees.
You can set smaller steps using the clock multiplication and division factors 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.
Instead of specifying frequency of the output clock signal, you can also specify the multiplication and division
factors of the signal in the requested settings column.
The following figure shows the formula for an output clock frequency.
Figure 5: PLL Output Clock Frequency
The ALTPLL parameter editor calculates the simplest fraction, and displays it in the actual settings column.
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. You can use the copy button to copy values from the actual settings to the requested settings.
The actual values of multiplication and division factors are affected when you select Use these clock settings
for the DPA clock or Set up PLL in LVDS mode.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Parameter Settings When “Set up PLL in LVDS mode” Option is Enabled
11
Select Use these clock settings for the DPA clock if you want the output clock signal of the PLL to drive
the input clock port of the DPA block in the ALTLVDS IP core. This option is available only for Stratix III
and Stratix IV devices.
Parameter Settings When “Set up PLL in LVDS mode” Option is Enabled
The following parameter settings apply only when Set up PLL in LVDS Mode is turned on for Arria GX,
Stratix II, Stratix II GX, and HardCopy II fast PLLs.
When you turn on Set up PLL in LVDS mode, two additional options are available on the Output Clocks
pages for c0 and c1.
The following figure shows the additional options to configure the c0 output clock signal.
Figure 6: Additional Options to Configure the c0 Output Clock Signal
Turn on Create sclkout0/enable0 outputs to create the sclkout0 and enable0 ports. The sclkout0 port
is the serial clock output port, and the enable0 port is the enable port.
The following figure shows the additional options to configure the c0 output clock signal.
Figure 7: Sclkout Phase Shift Option
The sclkout phase shift option allows you to edit the phase shift of the sclkout signal (in this case, the
sclkout0 signal).
Only two pairs of sclkout and enable ports can be created in an ALTPLL IP core. The sclkout0 and
enable0 ports are for the c0 output clock, and the sclkout1 and enable1 ports are for the c1 output clock.
Summary of PLL Output Clocks
The following table summarizes and compares properties of the clock output ports per PLL for each PLL
type in the supported device families. The number of clock output ports shown in the table for each device
family can be set as internal or external clock output port unless described otherwise.
Table 6: Number of Clock Output Ports per PLL
Device Family
Top_Bottom
Left_Right
Enhanced PLL
Fast PLL
Cyclone Series PLL
Arria GX
—
—
6
4
—
Arria II GX
—
7
—
—
—
Stratix IV
10
7
—
—
—
Stratix III
10
7
—
—
—
Stratix II
—
—
6
4
—
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
12
ug-altpll
2014.08.18
Advanced Features
Device Family
Top_Bottom
Stratix II GX
Stratix
Stratix GX
—
—
—
Left_Right
Enhanced PLL
Fast PLL
Cyclone Series PLL
—
6
4
—
—
6
3
—
3
—
(1)
—
6
(1)
Cyclone IV
—
—
—
—
5
Cyclone III
—
—
—
—
5
Cyclone II
—
—
—
—
3
—
—
—
2
Cyclone
—
(2)
Advanced Features
Altera devices offer on-chip PLL features previously found only in high-end discrete PLL devices. These
advanced features, including gated lock, clock switchover, dynamic reconfiguration, programmable bandwidth,
reconfigurable bandwidth, spread spectrum clocking, and post-scale counter cascading, increase system and
device performance and provide advanced clock interfacing. The following sections define each advanced
feature, and describe its application, and the parameter settings you must select in the ALTPLL parameter
editor to enable the feature.
Advanced Control Signals (pllena, areset, pfdena)
You can use these three signals—pllena, areset, and pfdena—to observe and control PLL operation and
resynchronization.
pllena
Use the pllena signal to enable or disable the PLL. When you deassert the pllena signal, the PLL does not
drive any output clock signal and therefore it loses lock. All counters in the PLL, including the gated lock
counter, return to the default state. When you assert the pllena signal, the PLL drives output clock signals
and tries to gain lock. The single PLL enable port on each device is shared among all PLLs on the device. By
default, the pllena signal is tied to VCC internally.
areset
The areset signal is the reset or resynchronization input for each PLL. The device input pin or internal
logic can drive the areset signal. When you assert the areset signal, all counters in the PLL, including the
gated lock counter, are reset to initial values, in which the PLL output is cleared and the PLL is in the outof-lock state. The VCO is also reset to its nominal setting. When the areset signal is deasserted, the PLL
resynchronizes its input and tries to gain lock.
(1)
(2)
Only four ports can be used as the external clock output ports.
Only one port can be used as the external clock output port.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
pfdena
13
You should include the areset signal in your designs if any of the following conditions hold:
• PLL reconfiguration or clock switchover is enabled in your design.
• Phase relationships between the PLL input and output clocks must be maintained after a loss-of-lock
condition.
• The input clock to the PLL is not toggling or is unstable at power-up.
• Assert the areset signal after the input clock is toggling while staying within the input jitter specification.
pfdena
The pfdena signal enables or disables the PFD circuit. 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. By default, the pfdena signal is tied to VCC internally.
Parameter Settings
For devices that support the advanced control signals—pllena, pfdena, and areset, the parameter settings
for these signals are located on the Inputs/Lock or Scan/Inputs/Lock page of the ALTPLL parameter editor.
The following figure shows the options related to the advanced control signals. Turn on the control signal
you want to create from the options available.
Figure 8: Options to Select the Advanced Control Signals
The deassertion of the pllena signal or 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.
Summary of Advanced Control Signals
The following table summarizes the device families support for advanced control signals.
Device Family
Supported Advanced Signals
pllena
pfdena
areset
Arria GX
Yes
Yes
Yes
Arria II GX
—
Yes
Yes
Stratix IV
—
Yes
Yes
Stratix III
—
Yes
Yes
Stratix II
Yes
Yes
Yes
Stratix II GX
Yes
Yes
Yes
Stratix
Yes
Yes
Yes
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
14
ug-altpll
2014.08.18
Clock Switchover
Device Family
Supported Advanced Signals
pllena
pfdena
areset
Stratix GX
Yes
Yes
Yes
Cyclone IV
—
Yes
Yes
Cyclone III
—
Yes
Yes
Cyclone II
Yes
Yes
Yes
Cyclone
Yes
Yes
Yes
Clock Switchover
The clock switchover feature allows the PLL to switch between two input clocks. The clock switchover feature
can be used for switching between clock inputs of different frequencies and is also useful for video applications
that require a manual switch between operation frequencies. The clock switchover capability is widely
implemented in telecommunication, storage, and server markets because these markets require highly reliable
clocking schemes to ensure system reliability.
The following clock switchover modes are supported by the ALTPLL IP core:
• Automatic switchover—The PLL monitors the currently used clock signal, and if it stops toggling or
loss-of-lock occurs, the PLL automatically switches to the other clock signal (inclk0 or inclk1).
• Manual clock switchover—The clock switchover is controlled using the clkswitch signal. The manual
override feature available in automatic clock switchover is different from the manual clock switchover.
Parameter Settings
For devices that support the clock switchover feature, the parameter settings are located on the Clock
switchover page of the ALTPLL parameter editor.
The following figure shows all the options available on the Clock switchover page for an Arria GX device.
The options are device-dependent and what you see may differ.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Parameter Settings
15
Figure 9: Clock Switchover
To enable the switchover feature, turn on Create an 'inclk1' input for a second input clock, and specify the
frequency of the inclk1 signal. The inclk0 signal is by default the primary input clock signal of the ALTPLL
IP core.
Select the related option for manual or automatic clock switchover mode. For the automatic clock switchover
mode, you can choose to create the clkswitch signal as a manual override. The automatic switchover is
initiated during loss of lock or when the inclk0 signal stops toggling or when the clkswitch signal is
asserted. You must specify the number of clock cycles to wait before the PLL performs the clock switchover.
Note that the allowed number of clock cycles to wait is device-dependant.
You can use the optional signals – activeclock, clkloss, and clkbad—as indicators when you use the
clock switchover feature.
Use the activeclock signal to monitor which input clock signal is driving the PLL. When the current clock
signal is inclk0, the activeclock signal is low. When the current clock signal is inclk1, the activeclock
signal is high.
Use the clkbad signals (clkbad0 and clkbad1) to monitor which input clock signal has stopped toggling.
The clkbad0 signal is used to monitor the inclk0 signal, and the clkbad1 signal monitors the inclk1 signal.
The clkbad0 signal goes high when the inclk0 signal stops toggling, and the clkbad1 signal goes high when
the inclk1 signal stops toggling. The clkbad signals remain low when the input clock signals are toggling.
Use the clkloss signal to monitor the current status of the clock switchover. The clkloss signal goes high
to indicate that loss of lock has been detected, and the clock switchover is initiated. The clkloss signal
remains low when the clock switchover is not initiated. The clkloss signal is only available in Arria GX,
Stratix, Stratix GX, Stratix II, and Stratix II GX devices.
The following top-level ports are created from these parameter settings:
• Input ports: inclk1 and clkswitch.
• Output ports: activeclock, clkloss, clkbad0, and clkbad1.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
16
ug-altpll
2014.08.18
Summary of Automatic Clock Switchover Feature
Summary of Automatic Clock Switchover Feature
The following table summarizes automatic clock switchover support in the supported device families. Also
supports automatic clock switchover feature with manual override control.
Table 7: Automatic Clock Switchover Feature Support
Device Family
Top_Bottom
Left_Right
Enhanced PLL
Fast PLL
Cyclone Series PLL
Arria GX
—
—
Yes
No
—
Arria II GX
—
Yes
—
—
—
Stratix IV
Yes
Yes
—
—
—
Stratix III
Yes
Yes
—
—
—
Stratix II
—
—
Yes
No
—
Stratix II GX
—
—
Yes
No
—
Stratix
—
—
Yes
No
—
Stratix GX
—
—
Yes
No
—
Cyclone IV
—
—
—
—
Yes
Cyclone III
—
—
—
—
Yes
Cyclone II
—
—
—
—
No
Cyclone
—
—
—
—
No
The following table summarizes the manual clock switchover support in the supported device families.
Table 8: Manual Clock Switchover Feature Support
Device
Top_Bottom
Left_Right
Enhanced PLL
Fast PLL
Cyclone Series PLL
Arria GX
—
—
Yes
Yes
—
Arria II GX
—
Yes
—
—
—
Stratix IV
Yes
Yes
—
—
—
Stratix III
Yes
Yes
—
—
—
Stratix II
—
—
Yes
Yes
—
Stratix II GX
—
—
Yes
Yes
—
Stratix
—
—
Yes
No
—
Stratix GX
—
—
Yes
No
—
Cyclone IV
—
—
—
—
Yes
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Spread-Spectrum Clocking
Device
Top_Bottom
Left_Right
Enhanced PLL
Fast PLL
17
Cyclone Series PLL
Cyclone III
—
—
—
—
Yes
Cyclone II
—
—
—
—
Yes
Cyclone
—
—
—
—
No
Spread-Spectrum Clocking
Spread-spectrum technology reduces electromagnetic interference (EMI) in a system. This technology works
by distributing the clock energy over a broad frequency range.
The spread-spectrum clocking feature distributes the fundamental clock frequency energy throughout your
design to minimize energy peaks at specific frequencies. By reducing the spectrum peak amplitudes, the
feature makes your design more likely meets the EMI emission compliance standards, and reduces costs
associated with traditional EMI containment.
The traditional methods for limiting EMI include shielding, filtering, and using multi-layer printed circuit
boards. Multi-layer circuit boards are expensive and are not guaranteed to meet the EMI emission compliance
standards. The use of spread-spectrum technology is simpler and more cost-effective than these other
methods.
To use the spread-spectrum clocking feature, you must set the programmable bandwidth feature to Auto.
Parameter Settings
For devices that support spread-spectrum technology, the parameter settings are located on the Bandwidth/SS
page of the ALTPLL parameter editor.
The following figure shows the Spread Spectrum window.
Figure 10: Spread Spectrum Settings
To enable the spread-spectrum feature, turn on Use spread spectrum feature. Set the desired down spread
percentage, and the modulation frequency. The table in the spread spectrum window lists the detailed
descriptions of the current counter values.
The down spread percentage defines the modulation width or frequency span of the instantaneous output
frequency resulting from the spread spectrum. When you use down spread, the modulation width falls at
or below a specified maximum output frequency. The wider the modulation, the larger the band of
frequencies over which the energy is distributed, and the more reduction is achieved from the peak. For
example, with a down spread percentage of 0.5% and maximum operating frequency of 100 MHz, the output
frequency is swept between 99.5 and 100 MHz.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
18
ug-altpll
2014.08.18
Summary of Spread-Spectrum Clocking Feature
The modulation frequency, often called sweep rate, defines how fast the spreading signal sweeps from the
minimum to the maximum frequency.
Turning on spread-spectrum clocking creates no new top-level ports.
Summary of Spread-Spectrum Clocking Feature
The following table summarizes the PLL types that support the spread-spectrum clocking feature.
Table 9: Spread-Spectrum Clocking Feature
Device
Stratix IV
Cyclone IV
Top_Bottom
Left_Right
Yes
Yes
(3)
(3)
—
—
Enhanced PLL
Fast PLL
Cyclone Series PLL
—
—
—
—
—
No
Gated Lock and Self-Reset
The lock time of a PLL is defined as 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 can cause 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 or pllena ports of the PLL.
An attempt to reconfigure the PLL might cause the M counter, N counter, or phase shift to change, which
causes 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.
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.
Gated Lock
Some devices support a gated lock signal that allows you to configure a programmable 20-bit counter that
holds the lock signal low for a user-specified number of input clock transitions. This is useful to eliminate
the false toggling of the lock signal as the PLL begins tracking the reference clock. Gated lock allows the PLL
to lock before asserting the locked signal, providing a stabilized lock signal.
An asserted locked signal indicates the PLL clock output is aligned with the PLL reference input clock. The
locked signal might toggle as the PLL begins tracking the reference clock. To avoid such a false lock indication,
(3)
This device can accept a spread-spectrum input with typical modulation frequencies, but it cannot generate
spread-spectrum clock signals internally.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Self-Reset on Loss of Lock
19
use a gated lock signal. A gated locked signal or an ungated locked signal can feed a logic array or an output
pin. When you must reset the gated counter, reset the PLL by asserting the areset signal or the pllena
signal.
The following figure shows the timing waveform for gated and ungated locked signals.
Figure 11: Input and Output Ports
PLLENA
Reference Clock
Feedback Clock
Locked
Filter Counter
Reaches
Value Count
Gated Lock
Self-Reset on Loss of Lock
This feature allows the PLL to self-reset upon loss of lock, normally for the same reasons described in Gated
Lock and Self-Reset on page 18
Related Information
Gated Lock and Self-Reset on page 18
Parameter Settings
To enable the locked signal, and the self-reset feature in the ALTPLL IP core, use the parameter settings on
the Scan/Inputs/Lock or Inputs/Lock page of the ALTPLL parameter editor.
The following figure shows the related options in the Scan/Inputs/Lock or Inputs/Lock page for an
Arria II GX device. Note that the options are device-dependent and what you see may differ.
Figure 12: Lock Output Options
Turning on Create 'locked' output creates an output port named locked in the ALTPLL IP core.
Turning on Enable self-reset on loss of lock enables the self-reset feature.
In devices that support gated lock, another option appears on the page, which is the Hold 'locked' output
option. Turning on this option enables the gated lock circuitry to gate the locked signal. You must specify
the number of PLL input clock cycles to hold the locked signal low after the PLL is initialized. This value is
used by the gated lock counter. The value ranges from 1 to 1,048,575 clock cycles.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
20
ug-altpll
2014.08.18
Calculating the Value of Gated Lock Counter
The following figure shows the Hold Locked Output option.
Figure 13: Hold Locked Output Option
Calculating the Value of Gated Lock Counter
To calculate the number of clock cycles needed, you must know the maximum lock time of the PLL, and the
period of the PLL input clock. The lock time of the PLL is listed in the “PLL Timing Specifications” section
of the DC & Switching Characteristics chapter of the device handbook. The period of the PLL input clock is
user-specified. For example, if the maximum lock time of a PLL is 1 ms, and its input clock frequency is
100 MHz which corresponds to a 10 ns clock period, you calculate the value of the gated lock counter, by
dividing 1 ms by 10 ns. The result is 100,000 clock cycles.
Only the locked port is created from these parameter settings.
Summary of Gated Lock Signals and Self-Reset on Loss of Lock
The following table summarizes the device families that support the gated lock and self-reset on loss of lock
features.
Table 10: Gated Lock Signals and Self-Reset on Loss of Lock
Device Family
Gated Lock Support
Self-Reset on Loss of Lock
Arria GX
Yes
—
Arria II GX
—
Yes
Stratix IV
—
Yes
Stratix III
—
Yes
Stratix II
Yes
—
Stratix II GX
Yes
—
Stratix
—
—
Stratix GX
—
—
Cyclone IV
—
Yes
Cyclone III
—
Yes
Cyclone II
Yes
—
Cyclone
—
—
Programmable Bandwidth
The PLL bandwidth is defined as the ability of the PLL to track the input clock and jitter. The bandwidth is
measured by the -3 dB frequency of the closed-loop gain in the PLL, or approximately the unity gain point
of the PLL open loop response. Altera devices provide a programmable PLL bandwidth feature that allows
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Parameter Settings
21
you to configure the characteristics of the PLL loop filter. Most loop filters contain only passive components,
such as resistors and capacitors, which consumes board space. Altera FPGAs already contain these
components, and by using the programmable bandwidth feature, you can control how the components affect
the PLL bandwidth. This includes controlling the charge pump current, loop filter resistance, and high
frequency capacitance values. The charge pump current affects the PLL bandwidth directly. The higher the
charge pump current, the higher the PLL bandwidth.
Parameter Settings
The parameter settings to configure the bandwidth of the ALTPLL IP core are located on the Bandwidth/SS
page of the ALTPLL parameter editor.
The following figure shows the bandwidth configuration options on the Bandwidth/SS page.
Figure 14: Bandwidth Configuration Options
The following list describes the preset values that you can choose:
• Low—PLL with a low bandwidth has better jitter rejection but a slower lock time.
• High—PLL with a high bandwidth has a faster lock time but tracks more jitter.
• Medium—A medium bandwidth offers a balance between lock time and jitter rejection.
If you select Auto, the ALTPLL parameter editor chooses the best possible bandwidth values to achieve the
desired PLL settings. In some cases, you can get a bandwidth value outside the Low and High preset range.
To set the bandwidth manually, select Custom, and specify the value. The compiler attempts to achieve the
value that you specify, or the closest possible value to achieve your desired setting. You can check the
bandwidth value in the compilation report.
The table on the right in the Bandwidth/SS page shows the values of the charge pump current, loop filter
resistance and capacitance, and the M counter.
An advanced level of control is also possible for precise control of the PLL loop filter characteristics. This
level allows you to select the charge pump current, and loop filter resistance and capacitance values explicitly.
The advanced parameters are: charge_pump_current, loop_filter_r, and loop_filter_c.
You can use the programmable bandwidth feature with the clock switchover or spread-spectrum features
to get the PLL output settings that you desire. You must set the bandwidth to Auto if you want to enable
the spread-spectrum feature.
These parameter settings create no additional top-level ports.
Summary of Programmable Bandwidth Support
The following table summarizes programmable bandwidth support in the different device families.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
22
ug-altpll
2014.08.18
Advanced PLL Parameters
Table 11: Programmable Bandwidth Support
Device Family
Top_Bottom
Left_Right
Enhanced PLL
Fast PLL
Cyclone Series PLL
Arria GX
—
—
Yes
Yes
—
Arria II GX
—
Yes
—
—
—
—
—
—
—
—
—
(4)
Stratix IV
Yes
Yes
(4)
(4)
Yes
Yes
(4)
(4)
Stratix II
—
—
Yes
Yes
—
Stratix II GX
—
—
Yes
Yes
—
Stratix
—
—
Yes
No
—
Stratix GX
—
—
Yes
No
—
Cyclone IV
—
—
—
—
Yes
Stratix III
(4)
Cyclone III
—
—
—
—
Yes
(4)
Cyclone II
—
—
—
—
No
Cyclone
—
—
—
—
No
Advanced PLL Parameters
The ALTPLL parameter editor provides an option for you to generate output files using the ALTPLL advanced
parameters. Examples of advanced parameters are charge_pump_current, loop_filter_r, and
loop_filter_c. This option is supported in all Altera devices.
This option is intended for advanced users who know the exact details of their PLL configuration and for
users who understand the parameters well enough to set them optimally. The files generated are not intended
to be re-used by the ALTPLL parameter editor, because after the ALTPLL IP core output files are specified
using the advanced parameters, the Quartus II compiler cannot change them. For example, the compiler
cannot perform optimization. Thus, your design cannot benefit from improved algorithms to pick better
settings or to make changes to some settings that the ALTPLL parameter editor finds to be incompatible
with your design.
Advanced Parameter Settings
Altera recommends you not to use these parameters unless you are an advanced user.
(4)
This device family supports only Auto and preset values.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
PLL Dynamic Reconfiguration
23
The parameter settings to generate output files using advanced PLL parameters are located on the
Scan/Inputs/Lock or Inputs/Lock page of the ALTPLL parameter editor.
The following figure shows the Advanced PLL parameters window.
Figure 15: Advanced PLL Parameters
Turn on Create output file(s) using the 'Advanced' PLL parameters to enable the feature. You must
explicitly select enhanced or fast PLL to use this option.
When this option is turned on, the generated output files contain all of the initial counter values used in the
PLL. You can use these values for functional simulation in a third-party simulator.
These parameter settings create no additional top-level ports.
PLL Dynamic Reconfiguration
The PLL Dynamic Reconfiguration feature allows you to reconfigure your PLL on-the-fly. You can control
the configuration process using the following ports:
• Input ports: scanclk, scandata, scanclkena, and configupdate.
• Output ports: scandataout and scandone. The scandone port is not available for Cyclone, Cyclone II,
Stratix, and Stratix GX devices.
The Stratix and Stratix GX enhanced PLLs can be dynamically reconfigured using scan chains. Depending
on the PLL type, two options are available for the scan chain – long or short. The long scan chain allows the
configuration of those PLLs with six core and four external clocks, while the short scan chain limits the
configuration to those PLLs with the six core clocks with no external clocks.
The scan chain method for dynamic reconfiguration is not available for all supported device families. The
devices that support the normal 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 configuration.
Related Information
Phased-Locked Loop Reconfiguration (ALTPLL_RECONFIG) User Guide.
Parameter Settings
To enable the dynamic reconfiguration feature for Stratix and Stratix GX devices, use the parameter settings
located on the Scan/Input/Lock page of the ALTPLL parameter editor.
The following figure shows the dynamic reconfiguration options using scan chains.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
24
ug-altpll
2014.08.18
Parameter Settings
Figure 16: Dynamic Reconfiguration Options for Stratix and Stratix GX Devices
The following table lists the dynamic reconfiguration options using scan chains.
Table 12: Dynamic Reconfiguration Options for Stratix and Stratix GX Devices
Option
Description
Create optional inputs for dynamic This option enables all the PLL reconfiguration ports for this instantiareconfiguration
tion—scanclk, scanaclr, scandata, and scandataout.
Which scan chain type will you be This option lets you specify the following types of scan chain to be used
using?
in the PLL reconfiguration:
• Long chain—Specifies that you are using PLLs 5 and 6 with PLL
reconfiguration. PLLs 5 and 6 have six logic array outputs and four
external clock outputs and therefore, have a longer reconfiguration
chain.
• Short chain—Specifies that you are using PLLs 11 and 12 with PLL
reconfiguration. PLLs 11 and 12 have only six logic array outputs
with no dedicated external clock output counters and are considered
the shorter reconfiguration chain PLLs.
For devices that use the normal dynamic reconfiguration scheme, the parameter settings are located on the
PLL Reconfiguration page of the ALTPLL parameter editor.
The following figure shows the normal dynamic configuration scheme options that uses configuration files.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Summary of Supported Device Families for PLL Dynamic Reconfiguration Feature
25
Figure 17: Dynamic Reconfiguration Options Using Configuration Files
The following table lists the normal dynamic reconfiguration scheme options.
Table 13: Normal Dynamic Reconfiguration Options and Descriptions
Option
Description
Create optional inputs for
dynamic reconfiguration
This option enables all the PLL reconfiguration ports for this instantiation—scanclk, scanaclr, scandata, scandone, and scandataout.
Initial Configuration File
Specify the location of the configuration file that is used to initialize the
ALTPLL_RECONFIG IP core.
Additional Configuration
File(s)
Specify additional configuration file. This file might contain additional settings
for the PLL, or might be used to initialize the ALTPLL_RECONFIG IP core.
Summary of Supported Device Families for PLL Dynamic Reconfiguration Feature
The following table summarizes PLL dynamic reconfiguration support in the different device families and
PLL types.
Table 14: PLL Dynamic Reconfiguration Feature Support
Device Family
Top_Bottom
Left_Right
Enhanced PLL
Fast PLL
Cyclone Series PLL
Arria GX
—
—
Yes
Yes
—
Arria II GX
—
Yes
—
—
—
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
26
ug-altpll
2014.08.18
Dynamic Phase Configuration
Device Family
Top_Bottom
Left_Right
Enhanced PLL
Fast PLL
Cyclone Series PLL
Stratix IV
Yes
Yes
—
—
—
Stratix III
Yes
Yes
—
—
—
Stratix II
—
—
Yes
Yes
—
Stratix II GX
—
—
Yes
Yes
—
Stratix
—
—
Yes
No
—
No
—
(5)
Stratix GX
—
—
Yes
(5)
Cyclone IV
—
—
—
—
Yes
Cyclone III
—
—
—
—
Yes
Cyclone II
—
—
—
—
No
Cyclone
—
—
—
—
No
Dynamic Phase Configuration
The dynamic phase configuration feature allows the output phases of individual PLL outputs to dynamically
adjust relative to each other and the reference clock, without sending serial data through the scan chain of
the corresponding PLL. This feature is also known as the dynamic phase stepping feature.
You can use this feature to quickly adjust the output clock phase shift in real time. This adjustment is achieved
by incrementing or decrementing the VCO phase-tap selection to a C counter or to the M counter. By default,
the phase is shifted by 1/8th of the VCO frequency at each step. However, you can easily modify the phase
shift step resolution of the individual PLL output clock using the ALTPLL parameter editor.
For dynamic phase shifting to work correctly, the PLL must have the following ports:
• Input ports: phasecounterselect[3..0], phaseupdown, phasestep, and scanclk
• Output port: phasedone
Related Information
Ports and Parameters on page 38
Implementing PLL Reconfiguration in Stratix III and Stratix IV Devices
This application note describes the flow for implementing phase-locked loop (PLL) reconfiguration in Stratix
III and Stratix IV devices.
Supported Devices
The dynamic phase configuration feature is available only for Cyclone IV, Cyclone III, Arria II GX, Stratix III,
and Stratix IV device families.
(5)
This device family supports dynamic reconfiguration using scan chains only.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Parameter Settings
27
Parameter Settings
The parameter settings to enable the dynamic phase configuration feature are located on the PLL
Reconfiguration page of the ALTPLL parameter editor.
The following figure shows the dynamic phase configuration options.
Figure 18: Dynamic Phase Configuration
Turning on Create optional inputs for dynamic phase reconfiguration enables the feature, and create
these ports - phasecounterselect[3..0], phaseupdown, phasestep, scanclk, and phasedone.
Turning on Enable phase shift step resolution edit allows you to modify the phase shift step resolution
value for each individual PLL output clock on its Output Clocks page.
The following figure shows the new option that appears on each output clock settings page. By default, the
finest phase shift resolution value is 1/8th 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 you would prefer for your design.
Use this option to fine tune the phase shift step resolution.
Figure 19: Phase Shift Step Configuration
Modifying the PLL Phase Shift Step Resolution Using Advanced Parameters
The finest phase shift step resolution you can get in the ALTPLL IP core is 1/8th of the VCO period. If the
VCO frequency is at the lower end of the supported VCO range, the phase shift step resolution may be larger
than you would prefer for your design.
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 Reconfiguration
and Enable Phase Shift Step Resolution Edit.
3. On the Output Clocks page, set your desired phase shift for each required output clock. Click More
Details to see the internal PLL settings. Note all of the 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).
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
28
ug-altpll
2014.08.18
PLL Output Counter Cascading
When using Advanced Parameters, the PLL wrapper file (<ALTPLL_instantiation_name>.v|.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
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 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 Advanced PLL Parameters option.
PLL Output Counter Cascading
In 28 nm devices, a C-counter input can be either a VCO output or the cascaded output of a neighboring
C-counter. Cascading C-counters increase the possible division factor, enabling very low frequency PLL
output clocks.
Installing and Licensing IP Cores
The Altera IP Library provides many useful IP core functions for production use without purchasing an
additional license. You can evaluate any Altera IP core in simulation and compilation in the Quartus II
®
software using the OpenCore evaluation feature. Some Altera IP cores, such as MegaCore functions, require
that you purchase a separate license for production use. You can use the OpenCore Plus feature to evaluate
IP that requires purchase of an additional license until you are satisfied with the functionality and performance.
After you purchase a license, visit the Self Service Licensing Center to obtain a license number for any Altera
product.
Figure 20: IP Core Installation Path
acds
quartus - Contains the Quartus II software
ip - Contains the Altera IP Library and third-party IP cores
altera - Contains the Altera IP Library source code
<IP core name> - Contains the IP core source files
Note: The default IP installation directory on Windows is <drive>:\altera\<version number>; on Linux it
is <home directory>/altera/ <version number>.
Related Information
• Altera Licensing Site
• Altera Software Installation and Licensing Manual
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Customizing and Generating IP Cores
29
Customizing and Generating IP Cores
You can customize IP cores to support a wide variety of applications. The Quartus II IP Catalog and parameter
editor allow you to quickly select and configure IP core ports, features, and output files.
IP Catalog and Parameter Editor (replaces MegaWizard Plug-In Manager)
The Quartus II IP Catalog (Tools > IP Catalog) and parameter editor help you easily customize and integrate
IP cores into your project. You can use the IP Catalog and parameter editor to select, customize, and generate
files representing your custom IP variation.
™
Note: The IP Catalog (Tools > IP Catalog) and parameter editor replace the MegaWizard Plug-In Manager
for IP selection and parameterization, beginning in Quartus II software version 14.0. Use the IP
Catalog and parameter editor to locate and paramaterize Altera IP cores.
The IP Catalog lists IP cores available for your design. Double-click any IP core to launch the parameter
editor and generate files representing your IP variation. The parameter editor prompts you to specify an IP
variation name, optional ports, and output file generation options. The parameter editor generates a toplevel Qsys system file (.qsys) or Quartus II IP file (.qip) representing the IP core in your project. You can
also parameterize an IP variation without an open project.
Use the following features to help you quickly locate and select an IP core:
• Filter IP Catalog to Show IP for active device family or Show IP for all device families.
• Search to locate any full or partial IP core name in IP Catalog. Click Search for Partner IP, to access
partner IP information on the Altera website.
• Right-click an IP core name in IP Catalog to display details about supported devices, open the IP core's
installation folder, andor view links to documentation.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
30
ug-altpll
2014.08.18
Using the Parameter Editor
Figure 21: Quartus II IP Catalog
Search and filter IP for your target device
Double-click to customize, right-click for information
Note: The IP Catalog is also available in Qsys (View > IP Catalog). The Qsys IP Catalog includes exclusive
system interconnect, video and image processing, and other system-level IP that are not available in
the Quartus II IP Catalog. For more information about using the Qsys IP Catalog, refer to Creating
a System with Qsys in the Quartus II Handbook.
Related Information
• Creating a System with Qsys
Using the Parameter Editor
The parameter editor helps you to configure IP core ports, parameters, and output file generation options.
• Use preset settings in the parameter editor (where provided) to instantly apply preset parameter values
for specific applications.
• View port and parameter descriptions, and links to documentation.
• Generate testbench systems or example designs (where provided).
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Using the Parameter Editor
31
Figure 22: IP Parameter Editors
View IP port
and parameter
details
Legacy parameter
editors
Specify your IP variation name
and target device
Apply preset parameters for
specific applications
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
32
ug-altpll
2014.08.18
Specifying IP Core Parameters and Options (Legacy Parameter Editors)
Specifying IP Core Parameters and Options (Legacy Parameter Editors)
The Quartus II software version 14.0 and previous uses a legacy version of the parameter editor for IP core
configuration and generation. Use the following steps to configure and generate an IP variation using a
legacy parameter editor.
Note: The legacy parameter editor generates a different output file structure than the latest parameter
editor. Refer to Specifying IP Core Parameters and Options for configuration of IP cores in the Quartus
II software version 14.0a10 and later.
Figure 23: Legacy Parameter Editors
Legacy parameter
editors
1. In the IP Catalog (Tools > IP Catalog), locate and double-click the name of the IP core to customize.
The parameter editor appears.
2. Specify a top-level name and output HDL file type for your IP variation. This name identifies the IP core
variation files in your project. Click OK.
3. Specify the parameters and options for your IP variation in the parameter editor. Refer to your IP core
user guide for information about specific IP core parameters.
4. Click Finish or Generate (depending on the parameter editor version). The parameter editor generates
the files for your IP variation according to your specifications. Click Exit if prompted when generation
is complete. The parameter editor adds the top-level .qip file to the current project automatically.
Note: To manually add an IP variation generated with legacy parameter editor to a project, click Project >
Add/Remove Files in Project and add the IP variation .qip file.
Files Generated for Altera IP Cores (version 14.0 and previous)
The Quartus II version 14.0 and earlier software generates the following output for your IP core.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Simulating Altera IP Cores in other EDA Tools
33
Figure 24: IP Core Generated Files
<Project Directory>
<your_ip>.qip - Quartus II IP integration file
<your_ip>.v or .vhd - Top-level IP synthesis file
<your_ip>_bb.v - Verilog HDL black box EDA synthesis file
<your_ip>.bsf - Block symbol schematic file
<your_ip>_syn.v or .vhd - Timing & resource estimation netlist1
<your_ip>.vo or .vho - IP functional simulation model 2
<your_ip>_inst.v or .vhd - Sample instantiation template
<your_ip>.cmp - VHDL component declaration file
greybox_tmp 3
Notes:
1. If supported and enabled for your IP variation
2. If functional simulation models are generated
3. Ignore this directory
Simulating Altera IP Cores in other EDA Tools
The Quartus II software supports RTL and gate-level design simulation of Altera IP cores in supported EDA
simulators. Simulation involves setting up your simulator working environment, compiling simulation
model libraries, and running your simulation.
You can use the functional simulation model and the testbench or example design generated with your IP
core for simulation. The functional simulation model and testbench files are generated in a project
subdirectory. This directory may also include scripts to compile and run the testbench. For a complete list
of models or libraries required to simulate your IP core, refer to the scripts generated with the testbench.
You can use the Quartus II NativeLink feature to automatically generate simulation files and scripts.
NativeLink launches your preferred simulator from within the Quartus II software.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
34
ug-altpll
2014.08.18
Upgrading IP Cores
Figure 25: Simulation in Quartus II Design Flow
Design Entry
(HDL, Qsys, DSP Builder)
Altera Simulation
Models
Quartus II
Design Flow
Gate-Level Simulation
Analysis & Synthesis
Fitter
(place-and-route)
TimeQuest Timing Analyzer
RTL Simulation
EDA
Netlist
Writer
Post-synthesis functional
simulation netlist
Post-synthesis
functional
simulation
Post-fit functional
simulation netlist
Post-fit functional
simulation
Post-fit timing
simulation netlist
(Optional)
Post-fit
Post-fit timing
timing
simulation
simulation
(3)
Device Programmer
Note: Post-fit timing simulation is not supported for 28nm and later device archetectures. Altera IP supports
a variety of simulation models, including simulation-specific IP functional simulation models and
encrypted RTL models, and plain text RTL models. These are all cycle-accurate models. The models
support fast functional simulation of your IP core instance using industry-standard VHDL or Verilog
HDL simulators. For some cores, only the plain text RTL model is generated, and you can simulate
that model. Use the simulation models only for simulation and not for synthesis or any other purposes.
Using these models for synthesis creates a nonfunctional design.
Related Information
Simulating Altera Designs
Upgrading IP Cores
IP core variants generated with a previous version of the Quartus II software may require upgrading before
use in the current version of the Quartus II software. Click Project > Upgrade IP Components to identify
and upgrade IP core variants.
The Upgrade IP Components dialog box provides instructions when IP upgrade is required, optional, or
unsupported for specific IP cores in your design. You must upgrade IP cores that require it before you can
compile the IP variation in the current version of the Quartus II software. Many Altera IP cores support
automatic upgrade.
The upgrade process renames and preserves the existing variation file (.v, .sv, or .vhd) as <my_variant>_
BAK.v, .sv, .vhd in the project directory.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Upgrading IP Cores
35
Table 15: IP Core Upgrade Status
IP Core Status
Corrective Action
Required Upgrade IP
Components
You must upgrade the IP variation before compiling in the current version of
the Quartus II software.
Optional Upgrade IP
Components
Upgrade is optional for this IP variation in the current version of the Quartus II
software. You can upgrade this IP variation to take advantage of the latest
development of this IP core. Alternatively you can retain previous IP core
characteristics by declining to upgrade.
Upgrade Unsupported
Upgrade of the IP variation is not supported in the current version of the Quartus
II software due to IP core end of life or incompatibility with the current version
of the Quartus II software. You are prompted to replace the obsolete IP core with
a current equivalent IP core from the IP Catalog.
Before you begin
• Archive the Quartus II project containing outdated IP cores in the original version of the Quartus II
software: Click Project > Archive Project to save the project in your previous version of the Quartus II
software. This archive preserves your original design source and project files.
• Restore the archived project in the latest version of the Quartus II software: Click Project > Restore
Archived Project. Click OK if prompted to change to a supported device or overwrite the project database.
File paths in the archive must be relative to the project directory. File paths in the archive must reference
the IP variation .v or .vhd file or .qsys file (not the .qip file).
1. In the latest version of the Quartus II software, open the Quartus II project containing an outdated IP
core variation. The Upgrade IP Components dialog automatically displays the status of IP cores in your
project, along with instructions for upgrading each core. Click Project > Upgrade IP Components to
access this dialog box manually.
2. To simultaneously upgrade all IP cores that support automatic upgrade, click Perform Automatic
Upgrade. The Status and Version columns update when upgrade is complete. Example designs provided
with any Altera IP core regenerate automatically whenever you upgrade the IP core.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
36
ug-altpll
2014.08.18
Upgrading IP Cores
Figure 26: Upgrading IP Cores
Displays upgrade
status for all IP cores
in the Project
Double-click to
individually migrate
Checked IP cores
support “Auto Upgrade”
Successful
“Auto Upgrade”
Upgrade
unavailable
Upgrades all IP core that support “Auto Upgrade”
Upgrades individual IP cores unsupported by “Auto Upgrade”
Example 1: Upgrading IP Cores at the Command Line
You can upgrade IP cores that support auto upgrade at the command line. IP cores that do not
support automatic upgrade do not support command line upgrade.
• To upgrade a single IP core that supports auto-upgrade, type the following command:
quartus_sh –ip_upgrade –variation_files <my_ip_filepath/my_ip>.<hdl>
<qii_project>
Example:
quartus_sh -ip_upgrade -variation_files mega/pll25.v hps_testx
• To simultaneously upgrade multiple IP cores that support auto-upgrade, type the following
command:
quartus_sh –ip_upgrade –variation_files “<my_ip_filepath/my_ip1>.<hdl>;
<my_ip_filepath/my_ip2>.<hdl>” <qii_project>
Example:
quartus_sh -ip_upgrade -variation_files "mega/pll_tx2.v;mega/pll3.v" hps_testx
Note: IP cores older than Quartus II software version 12.0 do not support upgrade. Altera
verifies that the current version of the Quartus II software compiles the previous
version of each IP core. The Altera IP Release Notes reports any verification exceptions
for Altera IP cores. Altera does not verify compilation for IP cores older than the
previous two releases.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Migrating IP Cores to a Different Device
37
Related Information
Altera IP Release Notes
Migrating IP Cores to a Different Device
IP migration allows you to target the latest device families with IP originally generated for a different device.
Some Altera IP cores require individual migration to upgrade. The Upgrade IP Components dialog box
prompts you to double-click IP cores that require individual migration.
1. To display IP cores requiring migration, click Project > Upgrade IP Components. The Description field
prompts you to double-click IP cores that require individual migration.
2. Double-click the IP core name, and then click OK after reading the information panel.
The parameter editor appears showing the original IP core parameters.
3. For the Currently selected device family, turn off Match project/default, and then select the new target
device family.
4. Click Finish, and then click Finish again to migrate the IP variation using best-effort mapping to new
parameters and settings. Click OK if you are prompted that the IP core is unsupported for the current
device. A new parameter editor opens displaying best-effort mapped parameters.
5. Click Generate HDL, and then confirm the Synthesis and Simulation file options. Verilog is the parameter
editor default HDL for synthesis files. If your original IP core was generated for VHDL, select VHDL to
retain the original output HDL format.
6. To regenerate the new IP variation for the new target device, click Generate. When generation is complete,
click Close.
7. Click Finish to complete migration of the IP core. Click OK if you are prompted to overwrite IP core
files. The Device Family column displays the migrated device support. The migration process replaces
<my_ip>.qip with the <my_ip>.qsys top-level IP file in your project.
Note: If migration does not replace <my_ip>.qip with <my_ip>.qsys, click Project > Add/Remove Files
in Project to replace the file in your project.
8. Review the latest parameters in the parameter editor or generated HDL for correctness. IP migration
may change ports, parameters, or functionality of the IP core. During migration, the IP core's HDL
generates into a library that is different from the original output location of the IP core. Update any
assignments that reference outdated locations. If your upgraded IP core is represented by a symbol in a
supporting Block Design File schematic, replace the symbol with the newly generated <my_ip>.bsf after
migration.
Note: The migration process may change the IP variation interface, parameters, and functionality. This
may require you to change your design or to re-parameterize your variant after the Upgrade IP
Components dialog box indicates that migration is complete. The Description field identifies IP
cores that require design or parameter changes.
Related Information
Altera IP Release Notes
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
38
ug-altpll
2014.08.18
Ports and Parameters
Ports and Parameters
The ALTPLL IP core ports and parameters are available to customize the ALTPLL IP core according to your
application.
The options you select in the parameter editor affect the ports and parameters settings of the IP core. Most
of these options are device-dependent, and some options depend on one another. The options you select
enable the PLL features, and some might generate top-level ports in the ALTPLL IP core.
The following figure shows the top-level ports of the ALTPLL IP core.
Figure 27: Input and Output Ports
ALTPLL
inclk[]
fbin
phaseupdown
phasestep
phasecounterselect[]
pllena
clkswitch
areset
pfdena
c[]_ena
e[]_ena
configupdate
scanclk
scanclkena
scanaclr
scandata
scanread
scanwrite
c[]
e[]
clkbad[]
activeclock
clkloss
locked
scandataout
fbout
enable[]
sclkout[]
phasedone
scandone
fbmimicbidir
The parameters are only relevant if you bypass the parameter editor GUI and instantiate the IP core directly
in your design. The details of these parameters are hidden from the parameter editor.
ALTPLL Input Ports
Table 16: ALTPLL Input Ports
(6)
Port Name
(6)
Condition
Description
areset
Optional
Resets all counters to initial values,
including the GATE_LOCK_COUNTER
parameter.
c[]_ena
Optional
An enable input port for the
output clock, c[]. Available for
Stratix and Stratix GX devices
only.
Replace brackets, [], in the port name with integer to get the exact name. For example, inclk0, inclk1, c1_
ena, and e0_ena.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
ALTPLL Input Ports
(6)
Port Name
Condition
39
Description
clkswitch
Optional
The control input port to
dynamically toggle between clock
input ports (inclk0 and inclk1
ports), or to manually override the
automatic clock switchover. You
should create the clkswitch port
if only the inclk1 port is created.
configupdate
Optional
Dynamic full PLL reconfiguration.
e[]_ena[]
Optional
An enable input port for the
external output clock, e[].
Available for Stratix and
Stratix GX devices only.
fbin
Optional
The external feedback input port
for the PLL.
This port must be created if the
PLL operates in the external
feedback mode. To complete the
feedback loop, there must be a
board-level connection between
the fbin port and the external
clock output port of the PLL.
In the Stratix III device, if the PLL
operates in the zero-delay buffer
mode and the fbmimicbidir port
is not used, you must connect the
fbin port to the fbout port.
inclk[]
Required
The clock inputs that drive the
clock network.
If more than one inclk[] port is
created, you must use the
clkselect port to specify which
clock is used. The inclk0 port
must always be connected;
connect other clock inputs if
switching is necessary. A
dedicated clock pin or PLL output
clock can drive this port.
(6)
Replace brackets, [], in the port name with integer to get the exact name. For example, inclk0, inclk1, c1_
ena, and e0_ena.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
40
ug-altpll
2014.08.18
ALTPLL Input Ports
(6)
Port Name
(6)
Condition
Description
pfdena
Optional
Enables the phase frequency
detector (PFD). When the PFD is
disabled, the PLL continues to
operate regardless of the input
clock. Because the PLL output
clock frequency does not change
for some time, you can use the
pfdena port as a shutdown or
cleanup function when a reliable
input clock is no longer available.
phasecounterselect[]
Optional
Specifies counter select. Only
available for Arria II GX,
Stratix III, and Cyclone III devices
onwards.
phasestep
Optional
Specifies dynamic phase shifting.
Only available for Arria II GX,
Stratix III, and Cyclone III devices
onwards.
phaseupdown
Optional
Specifies dynamic phase
adjustment up or down. Only
available for Arria II GX,
Stratix III, and Cyclone III devices
onwards.
pllena
Optional
The PLL enable port. When the
pllena port is asserted, the PLL
drives out a signal, and vice versa.
When the pllena port is reasserted, the PLL has to re-lock.
All PLLs on the device share the
same pllena port.
scanaclr
Optional
Asynchronous clear port for the
real-time programming scan
chain, or the serial scan chain.
Only available for Stratix and
Stratix GX devices.
scanclk
Optional
Input clock port for the serial scan
chain. Not available for Cyclone
and Cyclone II devices.
Replace brackets, [], in the port name with integer to get the exact name. For example, inclk0, inclk1, c1_
ena, and e0_ena.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
ALTPLL Output Ports
(6)
Port Name
Condition
41
Description
scanclkena
Optional
Clock enable port for the serial
scan chain. Available only for
Arria II GX, Cyclone III,
HardCopy III, and Stratix III
devices onwards.
scandata
Optional
Contains the data for the serial
scan chain. Not available for
Cyclone and Cyclone II devices.
scanread
Optional
Port that controls the serial scan
chain to read input from the
scandata port. Only available for
Arria GX, HardCopy II, Stratix II,
and Stratix II GX devices.
scanwrite
Optional
Port that controls the real-time
programming scan chain to write
to the PLL. Only available for
Arria GX, HardCopy II, Stratix II,
and Stratix II GX devices.
ALTPLL Output Ports
Table 17: ALTPLL Output Ports
Port Name
(7)
activelock
Condition
Optional
Description
Specifies which clock is used as the
primary reference clock when the
clock switchover circuit initiates.
If the inclk0 is in use, the
activeclock port goes low. If the
inclk1 is in use, the activeclock
port goes high.
You can set the PLL to automatically initiate the clock switchover
when the primary reference clock
is not toggling correctly, or you
can manually initiate the clock
switchover using the clkswitch
input port.
c[]
(6)
(7)
Required
The clock output of the PLL.
Replace brackets, [], in the port name with integer to get the exact name. For example, inclk0, inclk1, c1_
ena, and e0_ena.
Replace the brackets, [], in the port name with an integer to get the exact name (for example, c0, c1, c3, e0,
e1, e2, enable1 and sclkout0).
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
42
ug-altpll
2014.08.18
ALTPLL Output Ports
Port Name
clkbad[]
(7)
Condition
Optional
Description
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.
(7)
clkloss
Optional
This output port acts as an
indicator when the clock
switchover circuit initiates. Only
available for Arria GX, HardCopy
II, Stratix, Stratix GX, Stratix II,
and Stratix II GX devices.
enable[]
Optional
Enable pulse output port. This
port is available only when the
PLL is in LVDS mode. Only
available for Arria GX, HardCopy
II, Stratix II, and Stratix II GX
devices.
e[]
Optional
The clock output of the PLL that
feeds the dedicated clock pins on
the device. Only available for
Cyclone, Stratix, and Stratix GX
devices.
Replace the brackets, [], in the port name with an integer to get the exact name (for example, c0, c1, c3, e0,
e1, e2, enable1 and sclkout0).
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
ALTPLL Output Ports
Port Name
(7)
fbout
Condition
Optional
43
Description
The port that feeds the fbin port
through the mimic circuitry. If a
feedback path is not connected,
the compiler automatically
connects the fbout port directly
to the fbin port. Additionally, a
clkbuf primitive is added to
specify the resource type used,
similarly to other clock networks.
The fbout port is available only if
the PLL is in external feedback
mode.
For Stratix III and Stratix IV
device families, if the PLL operates
in zero-delay buffer mode, and the
fbmimicbidir port is not used,
you must perform the following
steps:
1. Replace the brackets, [], in the
port name with an integer to
get the exact name (for
example, c0, c1, c3, e0, e1, e2,
enable1 and sclkout0).
2. Instantiate an ALT_IOBUF IP
core.
3. Connect the fbout and fbin
ports to the o and i ports of the
ALT_IOBUF instantiation,
respectively.
4. Connect the bidirectional port
of the ALT_IOBUF instantiation to a bidirectional pin, and
set the oe port of the ALT_
IOBUF instantiation to 1.
(7)
Replace the brackets, [], in the port name with an integer to get the exact name (for example, c0, c1, c3, e0,
e1, e2, enable1 and sclkout0).
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
44
ug-altpll
2014.08.18
ALTPLL Output Ports
Port Name
locked
(7)
Condition
Optional
Description
This output port acts as an
indicator when the PLL has
reached phase-locked. The locked
port stays high as long as the PLL
is locked, and stays low when the
PLL is out-of-lock.
The number of cycles needed to
gate the locked signal is based on
the PLL input clock. The gatedlock circuitry is clocked by the
PLL input clock. The maximum
lock time for the PLL is provided
in the DC and Switching
Characteristics chapter of the
device handbook.
Take the maximum lock time of
the PLL and divide it by the period
of the PLL input clock. The result
is the number of clock cycles
needed to gate the locked signal.
The lock signal is an asynchronous
output of the PLL. The PLL lock
signal is derived from the
reference clock and feedback clock
feeding the Phase Frequency
Detector (PFD).
Reference clock = Input Clock/N
Feedback clock = VCO/M
The PLL asserts the locked port
when the phases and frequencies
of the reference clock and
feedback clock are the same or
within the lock circuit tolerance.
When the difference between the
two clock signals goes beyond the
lock circuit tolerance, the PLL
loses lock.
phasedone
(7)
Optional
This output port indicates that
dynamic phase reconfiguration is
completed. Only available for
Arria II GX, Cyclone III,
HardCopy III onwards, and
Stratix III onwards.
Replace the brackets, [], in the port name with an integer to get the exact name (for example, c0, c1, c3, e0,
e1, e2, enable1 and sclkout0).
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
ALTPLL Output Ports
Port Name
(7)
Condition
45
Description
scandataout
Optional
The data output for the serial scan
chain. You can use the
scandataout port to determine
when PLL reconfiguration is
completed. The last output is
cleared when reconfiguration
completes. Not available for
Cyclone and Cyclone II devices.
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. Not available
for Cyclone, Cyclone II, Stratix,
and Stratix GX devices.
sclkout[]
Optional
Serial clock output port.
This port is available only when
the PLL is in LVDS mode. Only
available for Arria GX, HardCopy
II, Stratix II, and Stratix II GX
devices.
(7)
vcounverrange
Optional
This output port indicates that the
VCO frequency has exceeded the
legal VCO range.
vcounderrange
Optional
This output port indicates that the
VCO frequency has not met the
legal VCO range.
Replace the brackets, [], in the port name with an integer to get the exact name (for example, c0, c1, c3, e0,
e1, e2, enable1 and sclkout0).
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
46
ug-altpll
2014.08.18
ALTPLL Bidirectional Port
ALTPLL Bidirectional Port
Table 18: ALTPLL Bidirectional Output Port
Port Name
fbmimicbidir
Condition
Optional
Description
The bidirectional port that
connects to the mimic circuitry.
This port is available only for
Stratix III and Stratix IV device
families, and only when the PLL
is in zero-delay buffer mode. This
port must be connected to a
bidirectional pin that is placed on
the positive feedback dedicated
output pin of the PLL.
ALTPLL Parameters
In the ALTPLL parameters, the c[] and e[] ports are named CLK[] and EXTCLK[], respectively. This is to
differentiate them from the parameters used to describe the C and E counters of the PLL.
Replace the brackets, [], in the parameter name with an integer to get the exact parameter name. For example,
the C[]_HIGH parameter can have up to 10 variations as described in the parameter description. The variations
are C0_HIGH, C1_HIGH, C2_HIGH, C3_HIGH, C4_HIGH, C5_HIGH, C6_HIGH, C7_HIGH, C8_HIGH, and C9_HIGH.
A string must be contained within a pair or double quotes. For example, to specify a medium bandwidth
type of PLL, BANDWIDTH_TYPE=”MEDIUM”.
An integer must not be contained within a pair or double quotes. For example, to specify a 40% duty cycle
for the output clock port, c5, CLK5_DUTY_CYCLE=40.
Table 19: ALTPLL Parameters
Parameter
Type
Description
BANDWIDTH
String
Specifies the bandwidth value of the PLL in MHz. If this
parameter is not specified, the Compiler automatically
determines the value of the BANDWIDTH parameter to satisfy
other PLL settings.
BANDWIDTH_TYPE
String
Specifies the type of bandwidth for the BANDWIDTH
parameter. Values are AUTO, LOW, MEDIUM, or HIGH. If
omitted, the default value is AUTO.
For the low bandwidth option, the PLL has a better jitter
rejection but slower lock time. For the high bandwidth
option, the PLL has a faster lock time but tracks more jitter.
The medium option is a balance between the other two
options.
C[]_HIGH
Altera Corporation
Integer Specifies the value of the high period count for the
corresponding counter, C[9..0]. If omitted, default is 1.
Counters C[9..5] are not available in Cyclone III devices
onwards.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
ALTPLL Parameters
Parameter
Type
47
Description
C[]_INITIAL
Integer Specifies the initial value for the corresponding counter,
C[9..0]. If omitted, default is 1. Counters C[9..5] are
not available in Cyclone III devices onwards.
C[]_LOW
Integer Specifies the value of the low period count for the
corresponding counter, C[9..0]. If omitted, default is 1.
Counters C[9..5] are not available in Cyclone III devices
onwards.
C[]_MODE
String
C[]_PH
Integer Specifies the phase tap for the counter, C[9..0]. If omitted,
default is 0. Counters C[9..5] are not available in Cyclone
III devices onwards.
C[]_TEST_SOURCE
Integer Specifies the test source for the counter, C[9..0]. If
omitted, default is 0. Counters C[9..5] are not available
in Cyclone III devices onwards.
C[]_USE_CASC_IN
String
CHARGE_PUMP_CURRENT
Integer Specifies the value of the charge pump current in
microamperes (mA).
CLK[]_COUNTER
String
CLK[]_DIVIDE_BY
Integer Specifies the integer division factor for the VCO frequency
of the corresponding output clock port, CLK[9..0] port.
The parameter value must be greater than 0. Specify this
parameter only if the corresponding CLK[9..0] port is
used; however, it is not required if a Clock Settings
assignment is specified for the corresponding CLK[9..0]
port. If omitted, the default is 0. Parameters CLK[9..5]_
DIVIDE_BY are not available in Cyclone III devices.
CLK[]_DUTY_CYCLE
Integer Specifies the duty cycle in percentage for the corresponding
output clock port, clk[9..0]. If omitted, the default is 50.
Parameters CLK[9..5]_DUTY_CYCLE are not available in
Cyclone III devices.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Specifies the operation mode for the counter, C[9..0].
The values are BYPASS, ODD, or EVEN. If omitted, the default
is BYPASS. Counters C[9..5] are not available in Cyclone
III devices onwards.
Specifies whether to use cascade input for the counter,
C[9..1]. Values are ON or OFF. If omitted, default is OFF.
Counters C[9..5] are not available in Cyclone III devices
onwards.
Specifies the counter for the corresponding output clock
port, CLK[9..0]. Values are UNUSED, C0, C1, C2, C3, C4, C5,
C6, C7, C8 or C9. If omitted, the default is C0. This parameter
is not available for Cyclone II and Stratix II devices.
Counters CLK[9..5]_COUNTER are not available for Cyclone
III devices onwards.
Altera Corporation
48
ug-altpll
2014.08.18
ALTPLL Parameters
Parameter
Type
Description
CLK[]_MULTIPLY_BY
Integer Specifies the integer multiplication factor for the VCO
frequency for the corresponding output clock port,
CLK[9..0]. The parameter value must be greater than 0.
Specify this parameter only if the corresponding CLK[9..0]
port is used; however, it is not required if a Clock Settings
assignment is specified for the corresponding CLK[9..0]
port. If omitted, the default is 0. Parameters CLK[9..5]_
MULTIPLY_BY are not available in Cyclone III devices.
CLK[]_OUTPUT_FREQUENCY
Integer Specifies the output frequency of the corresponding output
clock port, CLK[9..0].This parameter is ignored if the
corresponding CLK[9..0] port is not used. This parameter
is unavailable if multiplication or division factors are
specified. If omitted, the default is 0.
CLK[]_PHASE_SHIFT
String
Specifies the phase shift for the corresponding output clock
port, CLK[9..0], in picoseconds (ps). If omitted, the default
is 0. Parameters CLK[9..5]_PHASE_SHIFT are not available
in Cyclone III devices.
CLK[]_TIME_DELAY
String
Specifies, in picoseconds (ps), the delay value to be applied
to the corresponding output clock port, CLK[9..0]. This
parameter affects only the corresponding CLK[9..0] port
and is independent of the corresponding CLK[9..0]_
PHASE_SHIFT parameter; therefore, both parameters can
be used simultaneously. If no units are specified, default
is picoseconds (ps). Legal time delay values range from -3
ns to 6 ns in increments of 0.25 ns. These values should
not be used as parameters except when reprogramming
the PLL using the real-time programming interface.
CLK[]_USE_EVEN_COUNTER_MODE
String
Specifies whether the clock output needs to be forced to
use even counter mode for the corresponding CLK[9..0]
port. Values are ON or OFF. If omitted, the default is OFF.
CLK[]_USE_EVEN_ COUNTER_VALUE
String
Specifies whether the clock output needs to be forced to
use even counter values for the corresponding CLK[9..0]
port. Values are ON or OFF. If omitted, the default is OFF.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
ALTPLL Parameters
Parameter
COMPENSATE_CLOCK
Type
String
49
Description
Specifies the output clock port which should be
compensated for.
• If the OPERATION_MODE parameter is set to normal
mode, the values are CLK[], GCLK[], LCLK[] , or
LVDSCLK[]. Default is CLK0.
• If the OPERATION_MODE parameter is set to zero-delay
buffer mode, value is EXTCLK[]. Default is EXTCLK0.
• If the OPERATION_MODE parameter is set to sourcesynchronous mode, the values are CLK[], LCLK[],
GCLK[], or LVDSCLK[]. This clock cannot be offset with
respect to the reference clock. This relationship is
preserved closely even upon temperature and frequency
changes.
DOWN_SPREAD
String
E[]_HIGH
Integer Specifies the high period count for the corresponding
E[3..0] counter. Values range from 1 through 512. If
omitted, the default is 1.
E[]_INITIAL
Integer Specifies the initial value for the corresponding E[3..0]
counter. Values range from 1 through 512. If omitted, the
default is 1.
E[]_LOW
Integer Specifies the low period count for the corresponding
E[3..0] counter. Values range from 1 through 512. If
omitted, the default is 1.
E[]_MODE
String
E[]_PH
Integer Specifies the phase tap for the corresponding E[3..0]
counter. Values range from 0 through 7. If omitted, the
default is 0.
E[]_TIME_DELAY
String
Specifies, in nanoseconds (ns), the time delay for the
corresponding E[3..0] counter. Values range from 0 ns
to 3 ns. If omitted, the default is 0.
ENABLE[]_COUNTER
String
Specifies the counter for the corresponding ENABLE[1..0]
port. Values are L0 or L1.
ENABLE_SWITCH_OVER_COUNTER
String
Specifies whether to use the switchover counter. Values
are ON or OFF. If omitted, the value is OFF.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Specifies the down spectrum percentage. Values range from
0 through 0.5.
Specifies the mode for the corresponding E[3..0] counter.
Values are BYPASS, ODD, or EVEN. If omitted, the default is
BYPASS.
Altera Corporation
50
ug-altpll
2014.08.18
ALTPLL Parameters
Parameter
Type
Description
EXTCLK[]_COUNTER
String
Specifies the external counter for the corresponding
external clock output port, EXTCLK[3..0]. Values are E0,
E1, E2, or E3. If omitted, the default is E0. This parameter
is only available for Stratix, Stratix GX, and Cyclone
(EXTCLK0) devices.
EXTCLK[]_DIVIDE_BY
Integer Specifies the integer division factor for the corresponding
external clock output port, EXTCLK[3..0], with respect to
the input clock frequency. The parameter value must be
greater than 0. You can specify this parameter only if the
corresponding EXTCLK[3..0] port is used; however, it is
not required if a Clock Settings assignment is specified for
the corresponding EXTCLK[3..0] port. If omitted, the
default is 1. This parameter is not available for Stratix II
devices.
EXTCLK[]_DUTY_CYCLE
Integer Specifies the duty cycle in percentage for the corresponding
external clock output port, EXTCLK[3..0]. If omitted, the
default is 50. This parameter is not available for Stratix II
devices.
EXTCLK[]_MULTIPLY_BY
Integer Specifies the integer multiplication factor for the
corresponding external clock output port, EXTCLK[3..0],
with respect to the input clock frequency. The parameter
value must be greater than 0. You can specify this
parameter only if you use the corresponding EXTCLK[3..0]
port. However, it is not required if a Clock Settings
assignment is specified for the corresponding
EXTCLK[3..0] port. If omitted, the default is 1. This
parameter is not available for Stratix II devices.
EXTCLK[]_PHASE_SHIFT
String
Specifies the phase shift for the corresponding external
clock output port, EXTCLK[3..0]. This parameter is not
available for Stratix II devices.
EXTCLK[]_TIME_DELAY
String
Specifies, in picoseconds (ps), a delay value to be applied
to the corresponding external clock output port,
EXTCLK[3..0]. This parameter affects only the
corresponding EXTCLK[3..0] port and is independent of
the EXTCLK[3..0]_PHASE_SHIFT parameter; therefore you
can use both parameters simultaneously. If no units are
specified, picoseconds (ps) are assumed.
Legal values range from –3 ns to 6 ns in increments of 0.25
ns. Do not use these values as parameters except when
reprogramming the PLL using the real-time programming
interface. This parameter is not available for Stratix II
devices.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
ALTPLL Parameters
Parameter
Type
51
Description
FEEDBACK_SOURCE
String
G[]_HIGH
Integer Specifies the high period count for the corresponding
G[3..0] counter. Values range from 1 to 512. If omitted,
the default is 1.
G[]_INITIAL
Integer Specifies the initial value for the corresponding G[3..0]
counter. Values range from 1 to 512. If omitted, the default
is 1.
G[]_LOW
Integer Specifies the low period count for the corresponding
G[3..0] counter. Values range from 1 to 512. If omitted,
the default is 1.
G[]_MODE
String
G[]_PH
Integer Specifies the phase tap for the corresponding G[3..0]
counter. Values range from 0 to 7. If omitted, the default
is 0.
G[]_TIME_DELAY
String
GATE_LOCK_COUNTER
Integer Specifies the value for the 20-bit counter that gates the
locked output port before sending it to the locked port.
This parameter is required for simulation in third-party
simulators.
GATE_LOCK_SIGNAL
String
INCLK[]_INPUT_FREQUENCY
Integer Specifies the input frequency for the input clock port,
inclk[1..0]. The compiler uses the frequency of the clk0
port to calculate the PLL parameters, but also analyzes and
reports the phase shifts for the clk1 port.
INTENDED_DEVICE_FAMILY
String
INVALID_LOCK_MULTIPLIER
Integer Specifies the scaling factor, in half-clock cycles, for which
the clock output ports must be out-of-lock before the
locked pin goes low.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Specifies which clock output has a board-level connection
to the fbin port. If the OPERATION_MODE parameter is set
to EXTERNAL_FEEDBACK, the FEEDBACK_SOURCE parameter
is needed. Values are EXTCLK[]. If omitted, the value is
EXTCLK0.
Specifies the mode for the corresponding G[3..0] counter.
Values are BYPASS, ODD, or EVEN. If omitted, the default is
BYPASS.
Specifies, in nanoseconds (ns), the time delay for the
corresponding G[3..0] counter. Values range from 0 ns
to 3 ns. If omitted, the default is 0.
Specifies whether the locked port should be gated
internally with a 20-bit programmable counter so it does
not oscillate during initial power-up. Values are NO or YES.
If omitted, default is NO.
This parameter is used for modeling and behavioral
simulation purposes. The default is NONE
Altera Corporation
52
ug-altpll
2014.08.18
ALTPLL Parameters
Parameter
Type
Description
L[]_HIGH
Integer Specifies the high period count for the corresponding
L[1..0] counter. Values range from 1 to 512. If omitted,
the default is 1.
L[]_INITIAL
Integer Specifies the initial value for the corresponding L[1..0]
counter. Values range from 1 to 512. If omitted, the default
is 1.
L[]_LOW
Integer Specifies the low period count for the corresponding
L[1..0] counter. Values range from 1 to 512. If omitted,
the default is 1.
L[]_MODE
String
L[]_PH
Integer Specifies the phase tap for the corresponding L[1..0]
counter. Values range from 0 to 7. If omitted, the default
is 0.
L[]_TIME_DELAY
String
LOCK_HIGH
Integer Specifies the number of half-clock cycles that the output
clocks must be locked before the locked port goes high.
This parameter is required for simulation in third-party
simulators. Available for Stratix IV, Stratix III, Cyclone IV,
and Cyclone III devices only.
LOCK_LOW
Integer Specifies the number of half-clock cycles that the output
clocks must be out-of-lock before the locked port goes
low. This parameter is required for simulation in thirdparty simulators. Available for Stratix IV, Stratix III,
Cyclone IV, and Cyclone III devices only.
LOCK_WINDOW_UI
String
Specifies the value of the LOCK_WINDOW_UI setting. If
omitted, default is 0.05.
LOOP_FILTER_C
String
Specifies, in picofarads (pF), the value of the loop capacitor.
Values range from 5 to 20 pF. The Compiler cannot achieve
all values. If omitted, the default value is 10.
LOOP_FILTER_R
String
Specifies, in kilo ohms (K Ohm), the value of the loop
resistor. Values range from 1 K to 20 K. The Compiler
cannot achieve all values.
LPM_HINT
String
Allows you to specify Altera-specific parameters in VHDL
Design Files (.vhd). The default is UNUSED.
LPM_TYPE
String
Identifies the library of parameterized modules (LPM)
entity name in VHDL Design Files.
Altera Corporation
Specifies the mode for the corresponding L[1..0] counter.
Values are BYPASS, ODD or EVEN. If omitted, the default is
BYPASS.
Specifies, in nanoseconds (ns), the time delay for the
corresponding L[1..0] counter. Values range from 0 ns
to 3 ns. If omitted, the default is 0.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
ALTPLL Parameters
Parameter
Type
53
Description
M
Integer Specifies the modulus for the M counter. Provides direct
access to the internal PLL parameters. If the M parameter
is specified, all advanced parameters must be used. Values
range from 1 to 512. If omitted, the default is 0.
M_INITIAL
Integer Specifies the initial value for the M counter. Provides direct
access to the internal PLL parameters. If the M_INITIAL
parameter is specified, all advanced parameters must be
used. Values range from 0 to 512. If omitted, the default
is 0.
M_PH
Integer Specifies the phase tap for the M counter. Values range
from 0 to 7. If omitted, the default is 0.
M_TEST_SOURCE
Integer Specifies the test source for the M counter. If omitted,
default is 5.
M_TIME_DELAY
Integer Specifies, in nanoseconds (ns), the time delay for the M
counter. Values range from 0 ns through 3 ns. If omitted,
the default is 0. This parameter is not available for Cyclone
II and Stratix II devices.
M2
Integer Specifies the spread spectrum modulus for the M counter.
Provides direct access to the internal PLL parameters. If
the M2 parameter is specified, all advanced parameters must
be used. Values range from 1 to 512. If omitted, the value
is 1.
N
Integer Specifies the modulus for the N counter. Provides direct
access to the internal PLL parameters. If the N parameter
is specified, all advanced parameters must be used. Values
range from 1 to 512. If omitted, the default is 1.
N_TIME_DELAY
Integer Specifies, in nanoseconds (ns), the time delay for the N
counter. Values range from 0 ns through 3 ns. If omitted,
the default is 0. This parameter is not available for
Cyclone II and Stratix II devices.
N2
Integer Specifies the spread spectrum modulus for the N counter.
Provides direct access to the internal PLL parameters. If
the N2 parameter is specified, all advanced parameters must
be used. Values range from 1 through 512. If omitted, the
default is 1.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
54
ug-altpll
2014.08.18
ALTPLL Parameters
Parameter
OPERATION_MODE
Altera Corporation
Type
Description
String
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
ALTPLL Parameters
Parameter
Type
55
Description
Specifies the operation of the PLL. Values are EXTERNAL_
FEEDBACK, NO_COMPENSATION, NORMAL, ZERO_DELAY_
BUFFER, and SOURCE_SYNCHRONOUS. If omitted, the default
is NORMAL.
• In no compensation mode, the PLL does not align a
clock to the input, which leads to better jitter
performance.
• In source-synchronous mode, the clock delay from pin
to I/O input register matches the data delay from pin
to I/O input register.
• Source-synchronous mode allows the clock delay from
pin to I/O input register to match the data delay from
pin to I/O input register.
• In normal mode, the PLL compensates for the delay of
the internal clock network used by the clock output
specified in the COMPENSATE_CLOCK parameter. If the
PLL is also used to drive an external clock output pin,
a corresponding phase shift of the output pin results.
• In zero-delay buffer mode, the PLL must feed an
external clock output pin and compensate for the delay
introduced by that pin. The signal observed on the pin
is synchronized to the input clock. If the PLL is also
used to drive the internal clock network, a
corresponding phase shift of that network results.
• In external feedback mode, the fbin input port must
be connected to an input pin, and there must be a
board-level connection between this input pin and an
external clock output pin, which is specified with
FEEDBACK_SOURCE parameter. The fbin port is aligned
with the input clock. Use the maximum input delay
assignment on the fbin port to specify external board
delay.
Note that for source-synchronous mode and zero-delay
buffer mode, you need to make assignments (in this case,
the PLL_COMPENSATE assignment) in addition to setting
the appropriate mode in the IP core. This allows you to
specify an output pin as a compensation target for a PLL
in zero-delay buffer or external feedback mode, or an input
pin or a group of input pins as compensation targets for a
PLL in Source- Synchronous mode.
If assigned to an output pin, the pin must be fed by the
external clock output port of a PLL in a Stratix, HardCopy
Stratix or Cyclone device, or the compensated clock output
port of a PLL in other devices. Any other output pins fed
by the same PLL generally are not delay compensated,
especially if they have different I/O standards.
If assigned to an input pin or a group of input pins, the
input pins must drive input registers that are clocked by
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
56
ug-altpll
2014.08.18
ALTPLL Parameters
Parameter
Type
Description
the compensated clock output port of a PLL in sourcesynchronous mode.
This parameter is ignored if it is applied to anything other
than an output or input pin as described above
PFD_MAX
Integer Specifies the maximum value for the PFD pin. If omitted,
the default is 0.
PFD_MIN
Integer Specifies the minimum value for the PFD pin. If omitted,
the default is 0.
PLL_TYPE
String
Specifies the type of PLL to instantiate. Values are AUTO,
ENHANCED, FAST, TOP_BOTTOM and LEFT_RIGHT. If omitted,
the default is AUTO.
PORT_ACTIVECLOCK
String
Specifies the ACTIVECLOCK port connectivity. Values are
PORT_USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_ARESET
String
Specifies the ARESET port connectivity. Values are PORT_
USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_CLK[]
String
Specifies the CLK[9..0] port connectivity. Values are PORT_
USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_CLKBAD[]
String
Specifies the CLKBAD[1..0] port connectivity. Values are
PORT_USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_CLKENA[]
String
Specifies the CLKENA[5..0] port connectivity. Values are
PORT_USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_CLKLOSS
String
Specifies the CLKLOSS port connectivity. Values are PORT_
USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_CLKSWITCH
String
Specifies the CLKSWITCH port connectivity. Values are PORT
_ USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_CONFIGUPDATE
String
Specifies the CONFIGUPDATE port connectivity. Values are
PORT_USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_ENABLE[]
String
Specifies the ENABLE[1..0] port connectivity. Values are
PORT_USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
ALTPLL Parameters
Parameter
Type
57
Description
PORT_EXTCLK[]
String
Specifies the EXTCLK[3..0] port connectivity. Values are
PORT_USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_EXTCLKENA[]
String
Specifies the EXTCLKENA[3..0] port connectivity. Values
are PORT_USED or PORT_UNUSED. If omitted, the default is
PORT_UNUSED.
PORT_FBIN
String
Specifies the FBIN port connectivity. Values are PORT_USED
or PORT_UNUSED. If omitted, the default is PORT_UNUSED.
PORT_FBOUT
String
Specifies the FBOUT port connectivity. Values are PORT_
USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_INCLK[]
String
Specifies the INCLK[1..0] port connectivity. Values are
PORT_USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_LOCKED
String
Specifies the LOCKED port connectivity. Values are PORT_
USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_PFDENA
String
Specifies the PFDENA port connectivity. Values are PORT_
USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_PHASECOUNTERSELECT
String
Specifies the PHASECOUNTERSELECT port connectivity.
Values are PORT_USED or PORT_UNUSED. If omitted, the
default is PORT_UNUSED.
PORT_PHASEDONE
String
Specifies the PHASEDONE port connectivity. Values are PORT_
USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_PHASESTEP
String
Specifies the PHASESTEP port connectivity. Values are PORT_
USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_PHASEUPDOWN
String
Specifies the PHASEUPDOWN port connectivity. Values are
PORT_USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_PLLENA
String
Specifies the PLLENA port connectivity. Values are PORT_
USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_SCANACLR
String
Specifies the SCANACLR port connectivity. Values are PORT_
USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
58
ug-altpll
2014.08.18
ALTPLL Parameters
Parameter
Type
Description
PORT_SCANCLK
String
Specifies the SCANCLK port connectivity. Values are PORT_
USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_SCANCLKENA
String
Specifies the SCANCLKENA port connectivity. Values are
PORT_USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_SCANDATA
String
Specifies the SCANDATA port connectivity. Values are PORT_
USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_SCANDONE
String
Specifies the SCANDONE port connectivity. Values are PORT_
USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_SCANREAD
String
Specifies the SCANREAD port connectivity. Values are PORT_
USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_SCANWRITE
String
Specifies the SCANWRITE port connectivity. Values are PORT_
USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_SCLKOUT[]
String
Specifies the SCLKOUT[1..0] port connectivity. Values are
PORT_USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_VCOOVERRANGE
String
Specifies the VCOOVERRANGE port connectivity. Values are
PORT_USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PORT_VCOUNDERRANGE
String
Specifies the VCOUNDERRANGE port connectivity. Values are
PORT_USED or PORT_UNUSED. If omitted, the default is PORT_
UNUSED.
PRIMARY_CLOCK
String
Specifies the primary reference clock of the PLL. Values
are INCLK0 or INCLK1. If omitted, the default is INCLK0.
Use the clock switch scheme to switch between clocks.
Automatic clock switchover is defined differently in
different device families.
QUALIFY_CONF_DONE
String
The values are ON or OFF. If omitted, the default is OFF.
SCAN_CHAIN
String
Specifies the length of the scan chain. Values are LONG or
SHORT. If omitted, the default is LONG. If set to LONG, the
scan chain length is 10 counters. If set to SHORT, the scan
chain length is 6 counters.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
ALTPLL Parameters
Parameter
Type
59
Description
SCLKOUT[]_PHASE_SHIFT
String
Specifies, in picoseconds (ps), the phase shift for the
corresponding sclkout[1..0] port. The maximum phase
value is 7/8 of one VCO period. The VCO phase tap is
shared with the corresponding clock output port,
clk[1..0], and must have the same phase amount that is
less than one VCO period. In LVDS mode, this parameter
default value is 0.
SELF_RESET_ON_GATED_LOSS_LOCK
String
Specifies if the self-reset on gated-lock-loss feature is used.
Values are ON or OFF. If omitted, the default is OFF.
SELF_RESET_ON_LOSS_LOCK
String
Specifies if the self-reset on loss lock feature is used. Values
are ON or OFF. If omitted, the default is OFF.
SKIP_VCO
Integer Specifies if the VCO is skipped. Values are ON or OFF. If
omitted, the default is OFF.
SPREAD_FREQUENCY
Integer Specifies, in picoseconds (ps), the modulation frequency
for spread spectrum. If omitted, the default is 0.
SS
Integer Specifies the modulus for the spread spectrum counter.
Provides direct access to the internal PLL parameters. If
the SS parameter is specified, all advanced parameters must
be used. Values range from 1 to 32768. If omitted, the
default is 1.
SWITCH_OVER_COUNTER
Integer Specifies the number of clock cycles to switch the input
clock after the switchover circuit is initiated. Values are 0
through 31. If omitted, the default is 0.
SWITCH_OVER_ON_GATED_LOCK
String
Specifies whether the gated-lock condition should initiate
a clock switch over. Values are ON or OFF. If omitted, the
value is OFF.
SWITCH_OVER_ON_LOSSCLK
String
Specifies whether the loss-of-lock condition should initiate
a clock switch over. Values are ON or OFF. If omitted, the
value is OFF.
SWITCH_OVER_TYPE
String
Specifies the switchover type. Values are AUTO or MANUAL.
If omitted, the default is AUTO.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
60
ug-altpll
2014.08.18
ALTPLL Parameters
Parameter
USING_FBMIMICBIDIR_PORT
Type
String
Description
Specifies whether the fbmimicbidir port is used. Values
are ON or OFF. If omitted, the default is OFF.
For Stratix III and Stratix IV device families, with the
OPERATION_MODE parameter set to ZERO_DELAY_BUFFER,
and the USING_FBMIMICBIDIR_PORT parameter is set to
OFF, you must perform the following steps:
1. Instantiate an ALT_IOBUF IP core.
2. Connect the fbout and fbin ports to the o and i ports
of the ALT_IOBUF instantiation, respectively.
3. Connect the bidirectional port of the ALT_IOBUF
instantiation to a bidirectional pin, and set the oe port
of the ALT_IOBUF instantiation to 1.
If the OPERATION_MODE parameter is set to ZERO_DELAY_
BUFFER, and the USING_FBMIMICBIDIR_PORT parameter is
set to ON, connect the fbmimicbidir port to a bidirectional
pin. This pin must be placed on the positive feedback
dedicated output pin of the PLL.
VALID_LOCK_MULTIPLIER
Integer Specifies the scaling factor, in half-clock cycles, for which
the clock output ports must be locked before the locked
pin goes high.
VCO_CENTER
Integer Specifies the center value for the VCO pin. Use for
simulation purposes only.
VCO_DIVIDE_BY
Integer Specifies the integer division factor for the VCO pin. If
omitted, the default is 0. If VCO_FREQUENCY_CONTROL is set
to MANUAL_PHASE, specify the VCO frequency as a phase
shift step value; that is, one-eighth of the VCO period.
VCO_FREQUENCY_CONTROL
String
Specifies the integer division factor for the VCO pin. If
omitted, the default is 0. If VCO_FREQUENCY_CONTROL is set
to MANUAL_PHASE, specify the VCO frequency as a phase
shift step value; that is, one-eighth of the VCO period.
Specifies the frequency control value for the VCO pin.
Values are AUTO, MANUAL_FREQUENCY, and MANUAL_PHASE.
If omitted, the default is AUTO.
• AUTO—VCO_MULTIPLY_BY and VCO_DIVIDE_BY values
are ignored and VCO frequency is set automatically.
• MANUAL_FREQUENCY—Specifies the VCO frequency as
a multiple of the input frequency.
• MANUAL_PHASE—Specifies the VCO frequency as a phase
shift step value.
VCO_MAX
Altera Corporation
Integer Specifies the maximum value for the VCO pin. Use for
simulation purposes only.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Design Examples
Parameter
Type
61
Description
VCO_MIN
Integer Specifies the minimum value for the VCO pin. Use for
simulation purposes only.
VCO_MULTIPLY_BY
Integer Specifies the integer multiplication factor for the VCO pin.
If omitted, the default is 0.
VCO_PHASE_SHIFT_STEP
Integer Specifies the phase shift for the VCO pin. If omitted, the
default is 0.
VCO_POST_SCALE
Integer Specifies the VCO operating range. The VCO post-scale
divider value is 1 or 2. If omitted, the default is 1.
WIDTH_CLOCK
Integer Specifies the clock width. Values are 10 for Stratix III
devices, 5 for Cyclone III and Cyclone IV devices, and 6
for all other supported device families. If omitted, the
default is 6. For Stratix III, Stratix IV, Cyclone III, and
Cyclone IV devices, the WIDTH_CLOCK parameter is required
for both clear box and non-clear box implementation to
reflect the correct width.
Related Information
• ALTPLL Input Ports on page 38
• ALTPLL Output Ports on page 41
• ALTPLL Bidirectional Port on page 46
Design Examples
The design examples use the ALTPLL IP core to:
• Generate an external differential clock from an enhanced PLL.
• Generate and modify internal clock signals.
These examples use the IP Catlog and parameter editor. When you complete the examples, you can
incorporate them into your projects.
Related Information
• Design Example 1: Differential Clock on page 62
• Design Example 2: Generating Clock Signals on page 64
Design Files
The design files are available on the Literature and Technical Documentation page of the Altera website.
Related Information
• ddr_clk.zip
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
62
ug-altpll
2014.08.18
Design Example 1: Differential Clock
• ddr-clk-msim.zip
• shift_clk.zip
• shift_clk_msim.zip
Design Example 1: Differential Clock
This design example uses the ALTPLL IP core to generate an external differential clock from an enhanced
PLL. You must generate or modify clock signals to meet design specifications. When you interface to double
data rate (DDR) memory, you must generate a differential SSTL clock signal for the external device. A DDR
DIMM requires three pairs of differential SSTL clocks. You can use enhanced PLLs in Stratix devices to
generate these clock signals.
In this example, perform the following activities:
• Generate a 166-MHz differential SSTL external clock (ddr_clk) output from a 33.33-MHz input clock
using the ALTPLL IP core and the parameter editor.
• Implement the DDR_CLK design by assigning the EP1S10F780 device to the project and compiling the
project.
• Simulate the DDR_CLK design.
Generating a 166-MHz Differential SSTL External Clock
To generate a 166-MHz Differential SSTL external clock, follow these steps:
Before you begin
Download and unzip the ddr_clk.zip.
1.
2.
3.
4.
5.
6.
7.
8.
In the Quartus II software, open the project file \ddr_clk\ddr_clk.qpf.
Open the top-level \ddr_clk\ddr_clk.bdf file. You will complete this project in this example.
Click Tools > IP Catalog. Then expand the I/O folder and select ALTPLL
In Which type of output file do you want to create?, select AHDL.
For What name do you want for the output file?, name the output file ddr_pll.
For What is the frequency of the inclock0 input?, type 33.33, and select MHz.
Under PLL type, click Select the PLL type automatically.
Under Operation mode, select Create an 'fbin' input for an external feedback (External Feedback
Mode).
9. Under Operation mode, for Which output clock will have a board level connection?, select e0 from
the drop-down menu.
10. In the Dynamic configuration section, turn off Create optional inputs for dynamic reconfiguration.
11. In the Optional inputs sections:
a. Turn on Create an ‘pllena’ input to selectively enable the PLL.
b. Turn on Create an ‘areset’ input to asynchronously reset the PLL.
c. Turn off Create an ‘pfdena’ input to selectively enable the phase/frequency detector.
12. In the Lock output section, turn on Create ‘locked’ output.
13. Leave the remaining options at their default settings.
14. Click the Output Clocks tab.
15. Click extclk e0.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Implementing the ddr_clk Design
63
16. Turn on Use this clock.
17. Turn on Enter output clock parameters, and in the Clock multiplication factor box, type 5.
18. In the Clock division factor box, type 1.
19. In the Clock duty cycle (%) box, type 50.00.
20. Click Next.
21. On page 14, repeat step 16 through step 19 for extclk e1.
22. Click Next.
23. On page 15, repeat step 16 through step 19 for extclk e2.
24. Click Next.
25. On page 16, repeat step 16 through step 19 for extclk e3.
26. Click Next. Page 17 appears. No input is required for this page.
27. Click Next. Page 18 appears.
28. On page 18, ensure that the Text Design File (.tdf), Pin Planner File (.ppf), AHDL Include File (.inc),
Block Symbol File (.bsf), and Sample waveforms in summary file (.html and .jpg) are turned on.
29. Click Finish. The ddr_pll module is built.
30. In the Symbol dialog box of the .bdf file, click OK.
31. Move the pointer to place the ddr_pll symbol between the input and output ports in the ddr_clk.bdf
file, connecting the inputs and outputs to the symbol. Click to place the symbol.
32. Save the design.
The following figure shows a completed design file.
Figure 28: ALTPLL ddr_pll Design Schematic
Implementing the ddr_clk Design
To assign the EP1S10F780 device to the project and compile the project, follow these steps:
1.
2.
3.
4.
5.
6.
7.
On the Assignments menu, click Settings. The Settings dialog box appears.
In the Category list, click Device. Select Stratix in the Device Family field.
In the Target device section, under Available devices, select EP1S10F780C5.
Click OK.
On the Processing menu, click Start Compilation.
When the Full Compilation was successful message box appears, click OK.
To view how the module is implemented in the Stratix device, on the Assignments menu, click Timing
Closure Floorplan.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
64
ug-altpll
2014.08.18
®
Functional Results — Simulate the ddr_clk Design in the ModelSim -Altera Software
The ddr_clk design is now implemented.
®
Functional Results — Simulate the ddr_clk Design in the ModelSim -Altera Software
This ModelSim design example is for the ModelSim-Altera (Verilog) version. To simulate the design in the
ModelSim-Altera software, follow these steps:
1. Unzip ddr-clk-msim.zip file to any working directory on your PC.
2. Locate the folder in which you unzipped the files to and open the DDR_CLK.do file in a text editor.
3. In line 1, replace <insert_directory_path_here> with the directory path of the appropriate library files.
For example, C:/Modeltech_ae/altera/verilog/stratix
4. On the File menu, click Save.
5. Start the ModelSim-Altera software.
6. On the File menu, click Change Directory.
7. Select the folder in which you unzipped the files. Click OK.
8. On the Tools menu, click TCL, and click Execute Macro.
9. Select the DDR_CLK.do file and click Open. The DDR_CLK.do file is a script file for the ModelSimAltera software to automate all the necessary settings for the simulation.
10. Verify the results shown in the Waveform Viewer window.
The following figure shows the expected simulation results in the ModelSim-Altera software.
Figure 29: ModelSim Simulation Results
Design Example 2: Generating Clock Signals
This design example uses the ALTPLL IP core to generate and modify internal clock signals. This example
generates three internal clock signals from an external 100-MHz clock signal.
In this example, you perform the following activities:
• Generate 133 MHz, 200 MHz, and 200 MHz clocks that are time shifted by 1.00 ns from a 100 MHz
external input clock using the ALTPLL IP core.
• Implement the shift_clk design by assigning the EP1S10F780 device to the project and compiling the
project.
• Simulate the shift_clk design.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Generating 133-MHz, 200-MHz, and 200-MHz Time-Shifted Clocks
65
Generating 133-MHz, 200-MHz, and 200-MHz Time-Shifted Clocks
To generate 133-MHz, 200-MHz, and 200-MHz time-shifted clocks, follow these steps:
Before you begin
Download and unzip the shift_clk.zip.
1.
2.
3.
4.
5.
6.
7.
8.
In the Quartus II software, open the project file shift_clk.qpf.
Open the top-level shift_clk.qpf file. You complete this project in this example.
Expand the I/O folder and click ALTPLL.
In Which type of output file do you want to create?, select AHDL.
For What name do you want for the output file?, name the output file as shift_pll.
Click Next. Page 3 appears.
To specify the 100 MHz input clock (inclk0), perform the following steps:
On page 3 of the General section, for What is the frequency of the inclock0 input?, type 100 , and select
MHz.
9. Under PLL type, click Select the PLL type automatically.
10. In the Operation mode section, select In Normal Mode.
11. For Which output clock will be compensated for?, select c0.
12. Click Next. Page 4 appears.
13. In the Dynamic configuration section, turn off the Create optional inputs for dynamic reconfiguration
option.
14. In the Optional inputs section, perform the following steps:
a. Turn off Create an ‘pllena’ input to selectively enable the PLL.
b. Turn off Create an ‘areset’ input to asynchronously reset the PLL.
c. Turn off Create an ‘pfdena’ input to selectively enable the phase/frequency detector.
15. In the Lock output section, turn on Create ‘locked’ output.
16. Leave the other options in the Parameter Settings tab as the default.
17. To specify the 133 MHz output clock (c0), perform the following steps:
18. Click the Output Clocks tab to see the output clocks of the PLL. Page 7 appears.
19. On the clk c0 page, turn on Use this clock.
20. In the Clock Tap Settings section, perform the following steps:
a. Turn off Enter output clock frequency.
b. Turn on Enter output clock parameters.
c. For Clock multiplication factor, type 4.
d. For Clock division factor, type 3.
e. For Clock phase shift, type 0 and select deg.
f. For Clock duty cycle (%), type 50.00.
21. Leave the other options at their default values.
22. Click Next. Page 8 appears.
23. To specify the 200 MHz output clock (c1), perform the following steps:
24. On the clk c1 page, turn on Use this clock.
25. In the Clock Tap Settings section, perform the following steps:
a. Turn off Enter output clock frequency.
b. Turn on Enter output clock parameters.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
66
Generating 133-MHz, 200-MHz, and 200-MHz Time-Shifted Clocks
c.
d.
e.
f.
ug-altpll
2014.08.18
For Clock multiplication factor, type 2.
For Clock division factor, type 1.
For Clock phase shift, type 0.00 and select ns.
For Clock duty cycle (%), type 50.00.
26. Leave all other options at their default values.
27. Click Next. Page 9 appears.
28. To specify the 200 MHz output clock c2 with a 1.00 nanosecond delay, perform the following steps:
29. On the clk c2 page, turn on Use this clock.
30. In the Clock Tap Settings section, perform the following steps:
a. Turn off Enter output clock frequency.
b. Turn on Enter output clock parameters.
c. For Clock multiplication factor, type 2.
d. For Clock division factor, type 1.
e. For Clock phase shift, type 1.00 and select deg.
f. For Clock duty cycle (%), type 50.00.
31. Leave all other options at their default values.
32. Click Finish. Page 18 appears.
33. On page 18, ensure that the Text Design File (.tdf), Pin Planner File (.ppf), AHDL Include file (.inc),
Block Symbol File (.bsf), and Sample waveforms in summary file (.html and .jpg) are turned on.
34. Click Finish. The shift_pll module is built.
35. In the Symbol dialog box, click OK.
36. Move the pointer to place the shift_pll symbol between the input and output ports in the shift_clk.bdf.
Click to place the symbol. You have now completed the design file.
37. On the File menu, click Save Project to save the design.
The following figure shows the completed design file.
Altera Corporation
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Implementing the shift_clk Design
67
Figure 30: ALTPLL shift_pll Design Schematic
Implementing the shift_clk Design
To assign the EP1S10F780C5 device to the project and compile the project, follow these steps:
1.
2.
3.
4.
5.
6.
7.
On the Assignments menu, click Settings. The Settings dialog box appears.
In the Category list, click Device. Select Stratix in the Device Family field.
In the Target device section, under the Available devices list, select EP1S10F780C5.
Click OK.
On the Processing menu, click Start Simulation.
When the Full Compilation was successful message box appears, click OK.
To view how the module is implemented in the Stratix device, from the Assignments menu, click Timing
Closure Floorplan.
The shift_clk design is now implemented.
Simulating the shift_clk Design in the ModelSim-Altera Software
This ModelSim design example is for the ModelSim-Altera (Verilog) version. To simulate the design in the
ModelSim-Altera software, follow these steps:
1. Download and unzip the shift_clk_msim.zip fileto any working directory on your PC.
2. Locate the folder in which you unzipped the files to, and open the shift_clk.do file in a text editor.
3. In line 1 of the shift_clk.do file, replace <insert_directory_path_here> with the directory path of the
appropriate library files. For example, C:/Modeltech_ae/altera/verilog/stratix.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation
68
ug-altpll
2014.08.18
Document Revision History
4.
5.
6.
7.
8.
9.
On the File menu, click Save.
Start the ModelSim-Altera software.
On the File menu, click Change Directory.
Select the folder in which you unzipped the files. Click OK.
On the Tools menu, click TCL and click Execute Macro.
Select the shift_clk.do file and click Open. The shift_clk.do fileis a script file for the ModelSim-Altera
software to automate all the necessary settings for the simulation.
10. The Waveform Viewer appears. Verify the waveform shown in the viewer.
The following figure shows the expected simulation results in the ModelSim-Altera software.
Figure 31: ModelSim Simulation Results
Document Revision History
Lists the revision history for this user guide.
Table 20: Document Revision History
Date
Version
Changes Made
August, 2014
2014.08.18 • Updated parameterization steps for legacy parameter editor.
• Added note that this IP core does not support Arria 10 designs.
June 2014
2014.06.30 •
•
•
•
August 2013
2013.08.22 Added a link to AN454: Implementing PLL Reconfiguration in Stratix III and
Stratix IV Devices.
May 2013
9.0
DITA conversion.
November
2009
8.0
Updated to reflect new document organization and format.
Altera Corporation
Replaced MegaWizard Plug-In Manager information with IP Catalog.
Added standard information about upgrading IP cores.
Added standard installation and licensing information.
Removed outdated device support level information. IP core device support
is now available in IP Catalog and parameter editor.
• Updated description in Operation Modes section.
• Added Cyclone IV device in PLL Dynamic Reconfiguration Feature Support
table.
• Updated the Advanced Control Signals summary table.
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
ug-altpll
2014.08.18
Document Revision History
Date
Version
Changes Made
December 2008 7.0
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
March 2007
Updated for software version 7.0, including:
6.0
69
Updated the following sections:
“Device Family Support” section
“Introduction” section
“Features” section
“General Description” section
“Design Examples” section
“Simulation” section
“Ports and Parameters” section
“How to Contact Altera” section
Removed the following sections:
“Resource Utilization & Performance” section
“Software and System Requirements” section
“Instantiating Multifunction in HDL Code” section
“Identifying a Multifunction after Compilation” section
“Signature II Embedded Logic Analyzer” section
Reorganized the “Using the MegaWizard Plug-In Manager” section into
table format.
• Renamed “About this User Guide” section to “Additional Information” and
moved the section to the end of the user guide.
• Added support for Cyclone III devices
• Added Referenced Documents section
December 2006 5.0
Updated to reflect new document organization, additions, and®GUI changes for
Quartus 6.1, including adding information relating to Stratix III devices
May 2006
Updated to reflect new document organization, additions, and GUI changes for
Quartus 6.0
4.0
December 2004 3.0
Updated to reflect new document organization and GUI changes
ALTPLL (Phase-Locked Loop) IP Core User Guide
Send Feedback
Altera Corporation