Hello. My name is Taro Washimiya and I provide technical support for Intel® FPGA products at Macnica.
We provided an overview of FPGA PLLs in "Intel® FPGA PLLs", but here we will explain the steps to use the IOPLL Intel FPGA IP.
The FPGA families that can use the IOPLL Intel FPGA IP can be found in PLLs for Intel® FPGAs.
content
tools to use
- Intel® Quartus® Prime Pro Edition Development Software
- ModelSim® - Intel® FPGA Edition
See the Quartus® Prime Edition Comparison for the relationship between target FPGAs and development tool editions.
If you don't have the development software installed, you can get it from the Intel® FPGA website.
For details, please see the content below.
How to Download Intel® Quartus® Prime Software and ModelSim® - Intel® FPGA Edition
How to Install Intel® Quartus® Prime Software and ModelSim® - Intel® FPGA Edition
1. Generate IOPLL Intel FPGA IP
Here, Cyclone® 10 GX project is used as an example.
Open a project whose target device is Cyclone® 10 GX or create a new project.
(For Quartus® Prime project creation, refer to Quartus® Getting Started Guide - How to Create a Project.)
Type pll into the IP Catalog search bar within Quartus® Prime.
Then you can easily locate the IOPLL Intel FPGA IP.
With the IOPLL Intel FPGA IPhighlighted, click Add.
IP Parameter Editor launches.
Specify the folder path to generate the IOPLL Intel FPGA IP and the name you want to give to the created IOPLL Intel PPGA IP and click Create.
It is recommended that the IP be generated in the working folder of the project or a folder below it.
The IOPLL Intel FPGA IP Parameter Settings window launches.
If you want to see detailed documentation and explanations of each setting item here, click the Details tab.
This section provides an overview of the main setting items on each tab.
PLL tab
Configure general settings such as reference clock (input clock) frequency, locked pin enable/disable, number of output clocks, and output clock settings.
Here, as an example, the settings are set as shown in the table below.
Reference clock frequency |
50 (MHz) |
Enable locked output port |
✔ (On) |
Compensation Mode |
direct |
Number Of Clocks |
2 |
outclk0 |
|
Desired frequency |
100 (MHz) |
Desired Pahse Shift |
0 (ps) |
Desired Duty Cycle |
50 (%) |
outclk1 |
|
Desired frequency |
100 (MHz) |
Desired Pahse Shift |
90 (degrees) |
Desired Duty Cycle |
50 (%) |
Settings tab
Configure PLL bandwidth preset, Clock Switchover (function to switch between two inputs), LVDS External PLL, and external clock output.
To output the clock generated by the PLL to the outside of the FPGA, output from a dedicated port is recommended. Make settings for that.
Other tabs allow you to set the following parameters: See the IOPLL Intel FPGA IP User Guide for more information.
Cascading tab
Depending on the FPGA series, PLL cascade connection is supported, and this setting is made.
Dynamic Reconfiguration Tab
Set up dynamic reconfiguration.
Advanced Parameters Tab
You can see the PLL parameter names and parameter values, such as the PLL M/N/C counter value and VCO frequency.
After setting various parameters, save the settings by selecting File menu ⇒ Save in IP Parameter Editor Pro.
Click Generate HDL on the bottom right to display a screen for selecting the HDL language to generate.
The Synthesis section selects the language of the files Quartus Prime uses for logic synthesis.
In the Simulation section, select the simulation model language for the EDA simulator.
Click Generate to generate the IP.
Close the IP Parameter Editor.
You have now completed generating the IOPLL Intel FPGA IP. Let's proceed with logic design by connecting with the user circuit you are designing.
If you want to change the parameter settings of the IOPLL Intel FPGA IP, please refer to this FAQ.
[FAQ] How to start IP editing screen
After making the necessary edits, generate the IOPLL Intel FPGA IP again.
2. Connection with user circuit
Once the IOPLL Intel FPGA IP is generated, connect it with user logic.
If you are not familiar with Verilog-HDL or VHDL, please refer here. See Calling Subordinate Modules (Blocks) within this page.
Let's start! Verilog-HDL <with exercises>
Let's start! VHDL <with exercises>
If you are designing with a schematic (circuit diagram), you can not simulate it as it is, so we recommend that you design with HDL.
(* Pro Edition does not have the function to convert schematic files to HDL.)
3. Check by simulation
Let's check the behavior in simulation.
This time we will use ModelSim® - Intel® FPGA Edition.
A testbench is required for verification in simulation, but the testbench is created by the user.
See here for instructions on how to create a testbench.
Let's start! Test bench
Once you have your testbench, you are ready to simulate!
You can manually navigate and simulate with ModelSim®, but here is a convenient method. please refer.
Simulating with msel_setup.tcl
Click here for recommended articles/materials
PLL division/multiplication
Application of PLL (Let's reduce EMI with spread spectrum!)
The intimate relationship between PLL loop bandwidth and spread spectrum
PLLs in Intel® FPGAs
List of IP-related articles and materials
Intel FPGA Development Flow / Top Page