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

  1. Generating IOPLL Intel FPGA IP
  2. Connection with user circuit
  3. Confirmed by simulation

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.

 

Figure 1-1 Selecting the IOPLL Intel FPGA IP in the IP Catalog

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.

Figure 1-2 Specify Folder Path and Name to Generate IOPLL Intel FPGA IP

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.

Figure 1-3 IOPLL Intel FPGA IP Parameter Setting Window

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

 

Figure 1-4 IOPLL Intel FPGA IP parameter setting window - General tab (1)
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 (%)

 

Figure 1-5 IOPLL Intel FPGA IP parameter setting window - General tab (2)

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.

Article header library 127305 pic06 1
Figure 1-6 IOPLL Intel FPGA IP Parameter Settings Window - Settings Tab

 

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.

Article header library 127305 pic07 1
Figure 1-7 Generation Window

Click Generate to generate the IP.

Article header library 127305 pic08 1
Figure 1-8 IOPLL Intel FPGA IP generation complete

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

How to edit and use msim_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