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.
(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
To download the tool, see the following page:
▶ How to download Quartus® Prime Design Software and Questa* - Intel® FPGA Edition
install
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
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
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)
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>
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
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
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
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
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
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
10. Mass production
Once the actual machine verification is completed, we can move to mass production.
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
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









