Site Search

This page describes the Altera® FPGA development flow and provides information you should refer to at each development phase.

 

First of all, what is an FPGA? I want to use FPGA, but I don't know where to start! If so, this article is a must-see!
FPGA is a magic box!

<Honto no Honto Introduction>
Part 1. Creating an environment to start FPGA development
Part 2. What to prepare to start FPGA development
Part 3. Necessary knowledge to start FPGA development
Part 4. Flow of FPGA development
Part 5. Introduction of useful content

 

To develop Altera® FPGAs, use the Quartus® Prime design software. If you want to easily understand the basic operations of Quartus® Prime, you can learn it with this tutorial.
Quartus Prime Quick Tutorial

Our popular hands-on seminars are now available online! You can take the course anytime, anywhere, at your own pace.
"Quartus® Prime Introductory Trial" video revealed!
 "Nios® II Introductory Trial" video now available!
"SoC Startup Trial" revealed in video!
 "Altera® HLS Introductory Trial" video now available!

Altera® FPGA Development Flow Diagram

Altera® FPGA development proceeds as shown in the diagram below. To jump to each development phase, click the corresponding number.

1. Preparation
2. Examination of functional specifications
3.Logic circuit design
4. Logic simulation
5. Constraint setting
6. Compile
7. Timing verification
8. Programming
9. Actual equipment verification
10. Mass production

(Click the appropriate number to jump to each development phase.)
 1. Preparation
Download / Install / License setup
 2. Examination of functional specifications
FPGA selection / configuration / power supply & power consumption estimation / board simulation
 3. Logic circuit design
IP Information / Nios® II Information / SoC FPGA Information / OpenCL™ Information
Information on High Level Synthesis (HLS) / New to HDL design
 4. Logical simulation
 5. Constraint setting
 6. Compile
 7. Timing Verification
 8. Programming
 9. Actual equipment verification
10. Mass production

1. Preparation

Confirmation of correspondence status

Before proceeding with FPGA / CPLD design and development, let's find out what development environment you should prepare.

The development software you use will vary depending on the FPGA/CPLD function you are developing and the device you are using. Incidentally, development software is sometimes called a "tool." Be sure to check the OS of the PC on which you will install the tool and the memory capacity it will have in advance.
<Support table>
Quartus® Prime - Windows® OS Support / Operating System Support (External site: Altera)
Quartus® Prime - Supported Devices Compatibility Chart
The memory capacity to be installed in the PC depends on the FPGA / CPLD to be developed. Details are written in the release notes. (It is easy to find if you search for Memory Recommendations in the release notes.)
<Release Notes>
Quartus® Prime Pro Edition Release Notes < PDF > (External site: Altera)
Quartus® Prime Standard Edition Release Notes < PDF > (External site: Altera)
There are two versions of Quartus® Prime: a paid version that requires a license and a free version that does not require a license. There are differences in the devices and features supported.
<Edition Comparison>
Quartus® Prime Edition Comparison (External Site: Altera)

download

install

Article header library 109705 pic03 2

After downloading the installation file (installer) for the tool you want to install, the next step is installation.

For information on how to install each tool, please see here. (If you are using the Nios® II embedded processor, you will also need the Nios® II Software Build Tools (Nios® II SBT), which is installed automatically when you install Quartus® Prime.)

How to install the Quartus® Prime Design Software and Questa*-Intel® FPGA Edition
How to install Intel® SoC FPGA Embedded Development Suite (SoC EDS) ver.20.1
How to Install the Intel® FPGA Software Development Kit (SDK) for OpenCL™

License settings

Article header library 109705 pic04 2

Once you have installed the tools, get and set up your license file. (The free-to-use Quartus® Prime Lite Edition can be used without obtaining and setting up a license file.)

To generate or update license files, sign in to the Altera® website and go to a dedicated site called the Intel FPGA Self-Service License Center.

 

■ For sign-in, see the information below.

How to sign up for an Intel® Account

How to register for the Intel® FPGA Self-Service License Center

 

■ See below for information on how to obtain a license file.

How to obtain new licenses for Quartus® Prime, IP and Questa*-Intel® FPGA Edition
How to Obtain Quartus® Prime, IP and Questa*-Intel® FPGA Edition Licenses for Maintenance Renewal
How to change the NIC ID (Host ID) associated with the Quartus® Prime, IP and Questa*-Intel® FPGA Edition licenses
How to issue (reissue) a license file for a NIC ID-assigned Quartus® Prime, IP, and Questa* - Intel® FPGA Edition license
How to obtain and set up a Questa* - Intel® FPGA Starter Edition license file

How to obtain a license file for the Nios® V processor IP

 

■ See the information below for setting up the license file.

Altera® FPGA licenses include FIXED LICENSE and FLOAT License There are two types, each with different setting methods.
Quartus® Prime Licensing
How to setup FIXED licenses for Quartus® Prime, IP and Questa*-Intel® FPGA Edition
How to setup FLOAT licensing for Quartus® Prime, IP and Questa*-Intel® FPGA Edition
How to set up the Arm® Development Studio (DS) for Intel® SoC FPGA Edition license

 

 ▲ Return to Altera® FPGA development flow chart

2. Examination of functional specifications

Consider the specifications of the functions to be implemented in FPGA / CPLD, and create block diagrams and specifications. By doing some paperwork and using Quartus® Prime to create a simple design (digital logic circuit), we thoroughly consider whether the functionality we want to implement is feasible.

In addition, in order to build a highly reliable logic circuit, it is important to learn the basics of design techniques, which are key points in RTL design of FPGA / CPLD. Before designing a logic circuit, we will introduce articles that FPGA / CPLD users must see. (Since it is easy to impose timing constraints, we recommend synchronous design especially for FPGA/CPLD. Regarding timing constraints, 5. Constraint setting Please refer to the. )

[A Must-See for Beginners in RTL Design] Series Articles
[A must-see for RTL design beginners] Differences between synchronous and asynchronous design
[Must-see for Beginners in RTL Design] Impact on the System when Inputting Asynchronous Signals
[A Must-See for RTL Design Beginners] Effects of Hazard Signals on Systems

Now, I would like to introduce some materials and articles that I would like you to check in advance before proceeding with the specific consideration of FPGA.

FPGA selection

▶ Device Selection: Product Specifications (External site: Altera)
Device information (external site: Altera)
▶ Pin information: Pin connection guidelines/ pinout (external site: Altera)
Various documents: User guides / application notes (external site: Altera)
Development kit information (external site: Altera)

configuration

Configuring the FPGA
Remote System Upgrade for Altera® FPGAs
Active Serial Configuration Design & Debug Guidelines / FPGA Guidelines

Estimated Power Supply & Power Consumption

FPGA Power Consumption Types and Calculation Methods
Power & Thermal Design & Debug Guidelines/FPGA Guidelines
Enpirion® related articles and resources

board simulation

Substrate simulation (HyperLynx)
SI (signal quality)
PI (power quality)
Thermal
DRC (Design Rule Check)

 ▲ Return to Altera® FPGA development flow chart

3. Logic circuit design

Quartus® Prime supports design in hardware description languages (HDL) such as Verilog HDL, SystemVerilog, and VHDL, as well as schematic design. Quartus® Prime also allows mixing HDL and schematics in the same project.

To begin FPGA/CPLD development with Quartus® Prime, you must first create a project. After creating the project, we will create the design (digital logic circuit) in HDL and circuit diagrams, but if you want to design in circuit diagrams, please refer to the following materials.

Getting Started with Quartus® - Material for Beginners
Quartus® Prime - How to create a project
Quartus® Prime - Using the Schematic Editor

Quartus® Step-Up Guide - Material for Intermediate Users
Quartus® Prime - Managing Projects
Quartus® Prime - Device Migration
Quartus® Prime - Using the Qsys System Integration Tool

* Qsys from Quartus Prime v17.1 Platform Designer has been renamed to

IP information

Altera® and third parties provide various Intellectual Property (IP) for FPGAs. Please refer to this page if you are using IP.
▶ What is Altera® FPGA IP? (External site: Altera)

<PLL>
Altera® FPGA PLL (← Check this page to see which PLL section you are referring to)
    IOPLL edition / Altera PLL edition / ALTPLL edition

<External Memory Interface>

DDR memory controller implemented in Altera® FPGA!
    EMIF Design & Debug Guidelines / FPGA Guidelines
    EMIF Layout Guidelines/FPGA Guidelines
    DDR4 / DDR3

<PCI Express>
PCI Express with Altera® FPGAs
    PCI Express Design & Debug Guidelines / FPGA Guidelines
    Avalon-ST Edition / Avalon-MM Edition

<JESD204>
JESD204B on Altera® FPGAs

<HDMI>
Easily display 4K video using HDMI 2.0 IP on Arria® 10 FPGA

Nios® II Information

If you are implementing the Nios® II processor in your design, here are some resources and articles to help you:
Nios® II Processor on Altera® FPGAs
Nios® II Processor What is it? (External site: Altera)

SoC FPGA Information

If you are using SoC FPGAs with integrated Arm® cores, please refer to the documents and articles listed here.
Altera® FPGA SoC FPGA
▶ What is SoC FPGA? (External site: Altera)

OpenCL™ Information

If you are using the Intel® FPGA SDK for OpenCL™, please refer to the following documents and articles:
▶What is Intel® FPGA SDK for OpenCL™? (External site: Altera)

Information about High Level Synthesis (HLS)

If you are using the Intel® HLS Compiler, here are some resources and articles to help you:
Intel® FPGA HLS Compiler
Intel® HLS Compiler What is it? (External site: Altera)

New to HDL design

If you don't know how to write a hardware technology language (HDL), we have prepared content that you can learn with textbooks and exercises. If you learn this, you will be able to write a minimum description. Please take a look.
Let's start! Verilog HDL <with exercises>
Let's start! VHDL <with exercises>

 ▲ Return to Altera® FPGA development flow chart

4. Logical simulation

After the design is completed, the logic is verified by logic simulation. The simulation uses an RTL simulator such as ModelSim® - Intel® FPGA Edition, but the RTL simulator does not support schematics as Quartus® Prime does. For information on how to convert Quartus® Prime schematics to HDL, see Quartus® Prime - Using the Schematic Editor.
 

Altera® FPGA Functional Simulation with NativeLink (Standard Edition, Lite Edition)

How to functionally simulate a design containing IP generated by Quartus® Prime Pro Edition on Questa* - Intel® FPGA Edition (for Pro Edition)

 
<Quartus® Beginner's Guide>-BeginnerA user materials for
ModelSim® - Intel® FPGA Edition - How to RTL Simulation

ModelSim/Questa

For mid-range and higher FPGA development, we recommend Questa or ModelSim for their fast simulation speed.
RTL Simulator & Debug Tool / Questa / ModelSim

▲ Return to Altera® FPGA development flow chart

5. Constraint setting

After the RTL simulation is finished, pinouts, device settings, and various constraints are applied. Before compiling, be sure to make the necessary settings and constraints.

<Quartus® Beginner's Guide>-BeginnerMaterials for users
Quartus® Prime - How to set device options
Quartus® Prime - How to make pin assignments
Quartus® Prime - Timing Constraint Methods

<Quartus® Step-up Guide>- IntermediateA user materials for
Quartus® Prime - How to set up the EDA tool
Quartus® Prime - Constraint Method (Assignment Editor)
Quartus® Prime - How to set common pin options

▲ Return to Altera® FPGA development flow chart

6. Compile

After completing various settings and constraints, compile. Full compilation performs logic synthesis, placement and routing, timing analysis, and creation of programming files. After compiling, be sure to check the compilation report.

<Quartus® Beginner's Guide>-BeginnerA user materials for
Quartus® Prime - How to read the compilation report file

<
Quartus® Step-up Guide>-Materials for intermediate users

Using Quartus® Prime - Design Space Explorer II

▲ Return to Altera® FPGA development flow chart

7. Timing Verification

Check the timing analysis results at the same time as the compilation report. Timing analysis results on the compilation report are summary information only, use the TimeQuest Timing Analyzer to see detailed results.

<Quartus® Beginner's Guide>-BeginnerA user materials for
Quartus® Prime - How to do Timing Analysis

< FPGA guidelines
Timing & Implementation Design & Debug Guidelines/FPGA Guidelines

▲ Return to Altera® FPGA development flow chart

8. Programming

At this point, you will be ready to debug on the actual device. To write data to the FPGA/CPLD or configuration device, launch the Quartus® Prime Programmer and write to the device via an Altera® FPGA download cable (such as USB-Blaster™ II or USB-Blaster™).

<Quartus® Beginner's Guide > Beginneruser Materials for
Quartus® Prime - How to Program Devices

<Quartus® Step-up Guide>- Intermediateuser Materials for
Quartus® Prime - Generate and Convert Programming Files

<For those who want to know more>
Programming EPCQ devices via FPGA (JIC programming)
Installing the USB-Blaster™ II driver
Installing the USB-Blaster™ driver
Change the TCK frequency of the USB-Blaster™ II

▲ Return to Altera® FPGA development flow chart

9. Actual equipment verification

If the evaluation board is powered on again and the data is successfully transferred from the configuration device to the FPGA, it enters the phase of verifying the operation of the FPGA.

Getting Started with Quartus® - Material for Beginners
Using the Quartus® Prime - Signal Tap Logic Analyzer

<Those who want to know more>
Let's try FPGA on-chip debugging "Signal Tap"

* SignalTap®II
from Quartus Prime v17.1 Signal Tap has been renamed to

 ▲ Return to Altera® FPGA development flow chart

10. Mass production

Once the actual machine verification is completed, we can move to mass production.


 ▲ Return to Altera® FPGA development flow chart

Recommended information

Article/Material

<FPGA Guidelines>
FPGA Guidelines Related Articles and Materials

<Information on each FPGA family> (External site: Altera)
Agilex™
Stratix® 10 / Stratix® V / Stratix® IV
Arria® 10 / Arria® V / Arria® II
Cyclone® 10 / Cyclone® V / Cyclone® IV
MAX® 10 / MAX® V / MAX® II
All FPGAs

*For documentation, click "Support" on each page.

FAQ

Altera® FPGA FAQs

Seminar/Workshop

Quartus® Prime Introductory Trial Course <Free>
Nios® II Introductory Trial Course <Free>
SoC Startup Trial <Free>
Custom microcontroller design trial ~ Experience embedded design using MAX® 10 FPGA! ~ <Free>

Macnica original workshop

 ▲ Return to Altera® FPGA development flow chart