20
Introduction to Altera IP Cores 2014.06.30 UG-01056-4.0 Subscribe Send Feedback Altera ® and strategic IP partners offer a broad portfolio of off-the-shelf, configurable IP cores optimized for Altera devices. Altera delivers an IP core library with the Quartus ® II software. OpenCore Plus IP evaluation enables fast acquisition, evaluation, and hardware testing of all Altera IP cores. Nearly all complex FPGA designs include optimized logic from IP cores. You can integrate optimized and verified IP cores into your design to shorten design cycles and maximize performance. The Quartus II software includes the Altera IP Library, and supports IP cores from other sources. You can define and generate a custom IP variation to represent complex design logic in your project. The Altera IP Library includes the following IP core types: Basic functions DSP functions Interface protocols Memory interfaces and controllers Processors and peripherals Related Information IP User Guide Documentation Installing and Licensing IP Cores The Quartus II software includes the Altera IP Library. The library provides many useful IP core functions for production use without additional license. You can fully evaluate any licensed Altera IP core in simulation and in hardware until you are satisfied with its functionality and performance. Some Altera IP cores, such as MegaCore ® functions, require that you purchase a separate license for production use. After you purchase a license, visit the Self Service Licensing Center to obtain a license number for any Altera product. Figure 1: IP Core Installation Path acds quartus &RQWDLQV WKH 4XDUWXV ,, VRIWZDUH ip &RQWDLQV WKH $OWHUD ,3 /LEUDU\ DQG WKLUGSDUW\ ,3 FRUHV altera &RQWDLQV WKH $OWHUD ,3 /LEUDU\ VRXUFH FRGH IP core name! &RQWDLQV WKH ,3 FRUH VRXUFH ILOHV The default IP installation directory on Windows is <drive>:\altera\<version number>; on Linux it is <home directory>/altera/ <version number>. Note: ISO 9001:2008 Registered © 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

Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

Introduction to Altera IP Cores2014.06.30

UG-01056-4.0 Subscribe Send Feedback

Altera® and strategic IP partners offer a broad portfolio of off-the-shelf, configurable IP cores optimized forAltera devices. Altera delivers an IP core library with the Quartus® II software. OpenCore Plus IP evaluationenables fast acquisition, evaluation, and hardware testing of all Altera IP cores.

Nearly all complex FPGA designs include optimized logic from IP cores. You can integrate optimized andverified IP cores into your design to shorten design cycles and maximize performance. The Quartus IIsoftware includes the Altera IP Library, and supports IP cores from other sources. You can define andgenerate a custom IP variation to represent complex design logic in your project.

The Altera IP Library includes the following IP core types:

• Basic functions• DSP functions• Interface protocols• Memory interfaces and controllers• Processors and peripherals

Related InformationIP User Guide Documentation

Installing and Licensing IP CoresThe Quartus II software includes the Altera IP Library. The library provides many useful IP core functionsfor production use without additional license. You can fully evaluate any licensedAltera IP core in simulationand in hardware until you are satisfied with its functionality and performance. Some Altera IP cores, suchas MegaCore® functions, require that you purchase a separate license for production use. After you purchasea license, visit the Self Service Licensing Center to obtain a license number for any Altera product.

Figure 1: IP Core Installation Path

acdsquartus - Contains the Quartus II softwareip - 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

The default IP installation directory on Windows is <drive>:\altera\<version number>; on Linux itis <home directory>/altera/ <version number>.

Note:

ISO9001:2008Registered

© 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX wordsand logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All otherwords and logos identified as trademarks or service marks are the property of their respective holders as described atwww.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance withAltera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumesno responsibility or liability arising out of the application or use of any information, product, or service described herein except as expresslyagreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any publishedinformation and before placing orders for products or services.

www.altera.com

101 Innovation Drive, San Jose, CA 95134

Page 2: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

Related Information

• Adding IP Cores to IP Catalog on page 6

• Altera Licensing Site

• Altera Software Installation and Licensing Manual

OpenCore Plus IP EvaluationAltera's free OpenCore Plus feature allows you to evaluate licensed MegaCore IP cores in simulation andhardware before purchase. You need only purchase a license for MegaCore IP cores if you decide to takeyour design to production. OpenCore Plus supports the following evaluations:

• Simulate the behavior of a licensed IP core in your system.• Verify the functionality, size, and speed of the IP core quickly and easily.• Generate time-limited device programming files for designs that include IP cores.• Program a device with your IP core and verify your design in hardware

OpenCore Plus evaluation supports the following two operation modes:

• Untethered—run the design containing the licensed IP for a limited time.• Tethered—run the design containing the licensed IP for a longer time or indefinitely. This requires a

connection between your board and the host computer.

All IP cores using OpenCore Plus in a design time out simultaneously when any IP core times out.Note:

Customizing and Generating IP CoresYou can customize IP cores to support a wide variety of applications. The Quartus II IP Catalog displays IPcores available for the current target device. The parameter editor guides you to set parameter values foroptional ports, features, and output files.

IP Catalog and Parameter EditorTheQuartus II IP Catalog (Tools > IPCatalog) and parameter editor help you easily customize and integrateIP cores into your project. You can use the IP Catalog and parameter editor to select, customize, and generatefiles representing your custom IP variation.

The IP Catalog automatically displays the IP cores available for your target device. Double-click any IP corename to launch the parameter editor and generate files representing your IP variation. The parameter editorprompts you to specify your IP variation name, optional ports, architecture features, and output file generationoptions. The parameter editor generates a top-level .qsys or .qip file representing the IP core in your project.Alternatively, you can define an IP variation without an open Quartus II project. When no project is open,select the Device Family directly in IP Catalog to filter IP cores by device.

The IP Catalog is also available in Qsys (View > IP Catalog). The Qsys IP Catalog includes exclusivesystem interconnect, video and image processing, and other system-level IP that are not available inthe Quartus II IP Catalog.

Note:

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.

Introduction to Altera IP CoresAltera Corporation

Send Feedback

UG-01056-4.0OpenCore Plus IP Evaluation2 2014.06.30

Page 3: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

• Right-click an IP core name in IPCatalog to display details about supported devices, installation location,and links to documentation.

Figure 2: Quartus II IP Catalog

Search and filter IP for your target device

Double-click to customize, right-click for information

The IP Catalog and parameter editor replace the MegaWizard™

Plug-In Manager in the Quartus IIsoftware. The Quartus II software may generate messages that refer to the MegaWizard Plug-In

Note:

Manager. Substitute "IP Catalog and parameter editor" for "MegaWizard Plug-In Manager" in thesemessages.

Using the Parameter EditorThe parameter editor helps you to configure your IP variation ports, parameters, architecture features, andoutput file generation options.

• Use preset settings in the parameter editor (where provided) to instantly apply preset parameter valuesfor specific applications.

• View port and parameter descriptions, and links to documentation.• Generate testbench systems or example designs (where provided).

Altera CorporationIntroduction to Altera IP Cores

Send Feedback

3Using the Parameter EditorUG-01056-4.02014.06.30

Page 4: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

Figure 3: IP Parameter Editors

View IP portand parameterdetails

Apply preset parameters forspecific applications

Specify your IP variation nameand target device

Legacy parametereditors

Specifying IP Core Parameters and OptionsFollow these steps to specify IP core parameters and options.

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 for your custom IP variation. This name identifies the IP core variation files inyour project. If prompted, also specify the target Altera device family and output file HDL preference.Click OK.

3. Specify parameters and options for your IP variation:

• Optionally select preset parameter values. Presets specify all initial parameter values for specificapplications (where provided).

• Specify parameters defining the IP core functionality, port configurations, and device-specific features.• Specify options for generation of a timing netlist, simulation model, testbench, or example design

(where applicable).• Specify options for processing the IP core files in other EDA tools.

4. Click Finish or Generate to generate synthesis and other optional files matching your IP variationspecifications. The parameter editor generates the top-level .qip or .qsys IP variation file and HDL filesfor synthesis and simulation. Some IP cores also simultaneously generate a testbench or example designfor hardware testing.

5. To generate a simulation testbench, click Generate > Generate Testbench System. Generate TestbenchSystem is not available for some IP cores that do not provide a simulation testbench.

6. To generate a top-level HDL example for hardware verification, click Generate > HDL Example.Generate > HDL Example is not available for some IP cores.

The top-level IP variation is added to the current Quartus II project. Click Project > Add/Remove Files inProject to manually add a .qip or .qsys file to a project. Make appropriate pin assignments to connect ports.

Introduction to Altera IP CoresAltera Corporation

Send Feedback

UG-01056-4.0Specifying IP Core Parameters and Options4 2014.06.30

Page 5: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

Files Generated for Altera IP CoresThe Quartus II software generates one or more of the following output file structures for your Altera IP corevariation.

Figure 4: IP Core Generated Files

Generated IP File Output C Generated IP File Output D

Generated IP File Output B<Project Directory>

<your_ip>.html - IP core generation report

<your_ip>_testbench.v or .vhd - Testbench file 1

<your_ip>.bsf - Block symbol schematic file

<your_ip>_syn.v or .vhd - Timing & resource estimation netlist1<your_ip>_bb - Verilog HDL black box EDA synthesis file

<your_ip>.vo or .vho - IP functional simulation model 2

<your_ip>.qip - Quartus II IP integration file<your_ip>.v or .vhd - Top-level HDL IP variation definition

<your_ip>_block_period_stim.txt - Testbench simulation data 1

<your_ip>-library - Contains IP subcomponent synthesis libraries

Generated IP File Output A<Project Directory>

<your_ip>.v or .vhd - Top-level IP synthesis file

<your_ip>_inst.v or .vhd - Sample instantiation template

<your_ip>.bsf - Block symbol schematic file

<your_ip>.vo or .vho - IP functional simulation model 2<your_ip>_syn.v or .vhd - Timing & resource estimation netlist1

<your_ip>_bb.v - Verilog HDL black box EDA synthesis file

<your_ip>.qip - Quartus II IP integration file

greybox_tmp 3<your_ip>.cmp - VHDL component declaration file

<Project Directory>

<your_ip>_sim 1

<Altera IP>_instance.vo - IPFS model 2

<simulator_vendor><simulator setup scripts>

<your_ip>.qip - Quartus II IP integration file

<your_ip>.sip - Lists files for simulation

<your_ip>_testbench 1

<your_ip>.v, .sv. or .vhd - Top-level IP synthesis file

<Altera IP_name>_instance

<your_ip>_syn.v or .vhd - Timing & resource estimation netlist1<your_ip>.cmp - VHDL component declaration file<your_ip>.bsf - Block symbol schematic file

<your_ip> - IP core synthesis files<your_ip>.sv, .v, or .vhd - HDL synthesis files<your_ip>.sdc - Timing constraints file

<your_ip>.ppf - XML I/O pin information file<your_ip>.spd - Combines individual simulation scripts 1

<your_ip>_sim.f - Refers to simulation models and scripts 1

<Project Directory>

<your_ip>_bb.v - Verilog HDL black box EDA synthesis file<your_ip>_inst.v or .vhd - Sample instantiation template

synthesis - IP synthesis files

<your_ip>.qip - Lists files for synthesis

testbench - Simulation testbench files 1

<testbench_hdl_files>

<simulator_vendor> - Testbench for supported simulators

<simulation_testbench_files>

<your_ip>.v or .vhd - Top-level IP variation synthesis file

simulation - IP simulation files<your_ip>.sip - NativeLink simulation integration file

<simulator vendor> - Simulator setup scripts<simulator_setup_scripts>

<your_ip> - IP core variation files

<your_ip>.qip or .qsys - System or IP integration file

<your_ip>_generation.rpt - IP generation report

<your_ip>.bsf - Block symbol schematic file<your_ip>.ppf - XML I/O pin information file<your_ip>.spd - Combines individual simulation startup scripts 1

<your_ip>.html - Contains memory map

<your_ip>.sopcinfo - Software tool-chain integration file

<your_ip>_syn.v or .vhd - Timing & resource estimation netlist 1

<your_ip>.debuginfo - Lists files for synthesis

<your_ip>.v, .vhd, .vo, .vho - HDL or IPFS models2

<your_ip>_tb - Testbench for supported simulators<your_ip>_tb.v or .vhd - Top-level HDL testbench file

Notes:1. If supported and enabled for your IP variation2. If functional simulation models are generated3. Ignore this directory

Altera CorporationIntroduction to Altera IP Cores

Send Feedback

5Files Generated for Altera IP CoresUG-01056-4.02014.06.30

Page 6: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

To manually add an IP variation to a Quartus II project, clickProject >Add/Remove Files in Projectand add only the IP variation .qip or .qsys file to the project. Do not manually add the top-level HDLfile to the project.

Note:

IP Core General SettingsYou can use the following settings to control how the Quartus II software manages IP cores in your project.

Table 1: IP Core General Setting Locations

DescriptionSetting Location

• Specify your IPgenerationHDLpreference. The parameter editor generatesIP files in your preferred HDL by default.

• Increase Maximum Qsys memory usage size if you experience slowprocessing for large systems, or if Qsys reports an Out of Memory error.

Tools > Options > IPSettings

Or

Assignments > Settings >IP Settings (only enabledwith open project)

• Specify project and global IP search locations. The Quartus II softwaresearches for IP cores in the project directory, in the Altera installationdirectory, and in the IP search path.

Tools > Options > IPCatalog Search Locations

Or

Assignments > Settings >IPCatalogSearchLocations

• NativeLink Settings allow you to automatically compile testbenches forsupported simulators. You can also specify a script to compile the testbench,and a script to set up the simulation.

Assignments > Settings >Simulation

Adding IP Cores to IP CatalogThe IP Catalog automatically displays Altera IP cores found in the project directory, in the Altera installationdirectory, and in the defined IP search path. You can include IP libraries and files from other locations byadding search path locations. To add global or project-specific search path locations, clickTools >Options >IP Search Locations and specify the path to your IP cores.

Introduction to Altera IP CoresAltera Corporation

Send Feedback

UG-01056-4.0IP Core General Settings6 2014.06.30

Page 7: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

Figure 5: Specifying IP Search Locations

Adds new global IP search paths

Changes search path order

Adds new project-specific IP search paths

Lists current project and global search paths

If your project includes two IP core files with the same name, the following search path precedence rulesdetermine the resolution of files:

1. Project directory.2. Project database directory.3. Project IP search path specified in IP Search Locations, or with the SEARCH_PATH assignment in the

revision .qsf.4. Global IP search path specified in IP Search Locations, or with the SEARCH_PATH assignment in the

quartus2.ini file.5. Quartus II software libraries directory, such as <Quartus II Installation>\libraries.

Upgrading Outdated IP CoresEach IP core has a release version number that corresponds to its Quartus II software release. When youinclude IP cores from a previous version of the Quartus II software in your project, click Project > UpgradeIP Components to identify and upgrade any outdated IP cores.

TheQuartus II software prompts you to upgrade an IP core when the latest version includes port, parameter,or feature changes. The Quartus II software also notifies you when IP cores are unsupported or cannotupgrade in the current version of the Quartus II software. Most Altera IP cores support automatic simulta-neous upgrade, as indicated in the Upgrade IP Components dialog box. IP cores unsupported by auto-upgrade may require regeneration in the parameter editor, as indicated in the Upgrade IP Componentsdialog box.

Altera CorporationIntroduction to Altera IP Cores

Send Feedback

7Upgrading Outdated IP CoresUG-01056-4.02014.06.30

Page 8: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

Before you begin

Upgrading IP cores changes your original design files. If you have not already preserved your original sourcefiles, click Project > Archive Project and save the project archive.

1. In the latest version of the Quartus II software, open the Quartus II project containing an outdated IPcore variation.

File paths in a restored project archive must be relative to the project directory and you mustreference the IP variation .v or .vhd file or .qsys file, not the .qip file.

Note:

2. ClickProject >Upgrade IPComponents. TheUpgrade IPComponents dialog box displays all outdatedIP cores in your project, along with basic instructions for upgrading each core.

3. To simultaneously upgrade all IP cores that support automatic upgrade, click Perform AutomaticUpgrade. The IP variation upgrades to the latest version.

4. To upgrade IP cores unsupported by automatic upgrade, follow these steps:a. Select the IP core in the Upgrade IP Components dialog box.b. Click Upgrade in Editor. The parameter editor appears.c. ClickFinish orGenerate to regenerate the IP variation and complete the upgrade. The version number

updates when complete.

Figure 6: Upgrading Outdated IP Cores

Displays upgradestatus for all IP coresin the Project

Upgrades all IP core that support “Auto Upgrade”Upgrades individual IP cores unsupported by “Auto Upgrade”

Indicates that IP upgrade is:RequiredOptionalCompleteUnsupported

Example 1: Upgrading IP Cores at the Command Line

Alternatively, you can upgrade IP cores at the command line. To upgrade a single IP core, type thefollowing command:

quartus_sh --ip_upgrade -variation_files <my_ip_path> <project>

To upgrade a list of IP cores, type the following command:

quartus_sh --ip_upgrade -variation_files "<my_ip>.qsys;<my_ip>.<hdl>; <project>"

Introduction to Altera IP CoresAltera Corporation

Send Feedback

UG-01056-4.0Upgrading Outdated IP Cores8 2014.06.30

Page 9: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

IP cores older than Quartus II software version 12.0 do not support upgrade. Alteraverifies that the current version of the Quartus II software compiles the previous

Note:

version of each IP core. The MegaCore IP Library Release Notes reports anyverification exceptions forMegaCore IP. TheQuartus II Software andDevice SupportRelease Notes reports any verification exceptions for other IP cores. Altera does notverify compilation for IP cores older than the previous two releases.

Related Information

• MegaCore IP Library Release Notes

• Quartus II Software and Device Support Release Notes

Simulating Altera IP Cores in other EDA ToolsThe Quartus II software supports RTL- and gate-level design simulation of Altera IP cores in supportedEDA simulators. Simulation involves setting up your simulator working environment, compiling simulationmodel libraries, and running your simulation.

You can use the functional simulation model and the testbench or example design generated with your IPcore for simulation. The functional simulation model and testbench files are generated in a projectsubdirectory. This directory may also include scripts to compile and run the testbench. For a complete listof 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.

Figure 7: Simulation in Quartus II Design Flow

Post-fit timingsimulation netlist Post-fit timing

simulation (3)

Post-fit functionalsimulation netlist

Post-fit functionalsimulation

Analysis & Synthesis

Fitter(place-and-route)

TimeQuest Timing Analyzer

Device Programmer

Quartus IIDesign Flow Gate-Level Simulation

Post-synthesisfunctionalsimulation

Post-synthesis functionalsimulation netlist

(Optional) Post-fittiming simulation

RTL Simulation

Design Entry(HDL, Qsys, DSP Builder)

Altera SimulationModels

EDANetlistWriter

Altera CorporationIntroduction to Altera IP Cores

Send Feedback

9Simulating Altera IP Cores in other EDA ToolsUG-01056-4.02014.06.30

Page 10: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

Altera IP supports a variety of simulation models, including simulation-specific IP functionalsimulationmodels and encryptedRTLmodels, and plain text RTLmodels. These are all cycle-accurate

Note:

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 isgenerated, and you can simulate that model. Use the simulation models only for simulation and notfor synthesis or any other purposes. Using these models for synthesis creates a nonfunctional design.

Related InformationSimulating Altera Designs

Simulation FlowsThe Quartus II software supports integration with EDA simulators.

Table 2: Simulation Flows

DescriptionSimulationFlow

The NativeLink automated flow supports a variety of design flows. Do not use NativeLink if yourequire direct control over every aspect of simulation.

• UseNativeLink to generate simulation scripts to compile your design and simulation libraries,and to automatically launch your simulator.

• Specify your own compilation, elaboration, and simulation scripts for testbench and simulationmodel files that have not been analyzed by the Quartus II software.

• Use NativeLink to supplement your scripts by automatically compiling design files, IPsimulation model files, and Altera simulation library models.

NativeLinkflow

Custom flows support manual control of all aspects of simulation, including the following:

• Manually compile and simulate testbench, design, IP, and simulation model libraries, or writescripts to automate compilation and simulation in your simulator.

• Use the Simulation Library Compiler to compile simulation libraries for all Altera devicesand supported third-party simulators and languages.

Use the custom flow if you require any of the following:

• Custom compilation commands for design, IP, or simulation library model files (forexample, macros, debugging or optimization options, or other simulator-specific options).

• Multi-pass simulation flows.• Flows that use dynamically generated simulation scripts.

Customflows

Altera supports specialized flows for various design variations, including the following:

• For simulation of Altera example designs, refer to the documentation for the example designor to the IP core user guide.

• For simulation of Qsys designs, refer to Creating a System with Qsys.• For simulation of designs that include the Nios II embedded processor, refer to Simulating

a Nios II Embedded Processor.

Specializedflows

Introduction to Altera IP CoresAltera Corporation

Send Feedback

UG-01056-4.0Simulation Flows10 2014.06.30

Page 11: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

Related Information

• IP User Guide Documentation

• Creating a System with Qsys

• Simulating a Nios II Embedded Processor

Simulator SupportThe Quartus II software supports specific EDA simulator versions for RTL and gate-level simulation.

Table 3: Supported Simulators

PlatformVersionSimulatorVendor

Windows9.3Active-HDLAldec

Windows, Linux2013.10Riviera-PROAldec

Linux13.1Incisive EnterpriseCadence

Windows, Linux10.1eModelSim-Altera (provided)Mentor Graphics

Windows10.1eModelSim PEMentor Graphics

Windows, Linux10.2cModelSim SEMentor Graphics

Windows, Linux10.2cQuestaSimMentor Graphics

Linux2013.06-sp1VCS/VCS MXSynopsys

Simulation LevelsThe Quartus II software supports various levels of simulation in supported EDA simulators.

Table 4: Supported Simulation Levels

Simulation InputDescriptionSimulation Level

• Design source/testbench• Altera simulation libraries• Altera IP plain text or IEEE encrypted

RTL models• IP simulation models• Altera IP functional simulation models• Altera IP bus functional models• Qsys-generated models• Verification IP

Cycle-accurate simulation usingVerilogHDL,SystemVerilog, andVHDLdesign source codewith simulation models provided by Alteraand other IP providers.

RTL

• Testbench• Altera simulation libraries• Post-synthesis or post-fit functional

netlist• Altera IP bus functional models

Simulation using a post-synthesis or post-fitfunctional netlist testing the post-synthesisfunctional netlist, or post-fit functional netlist.

Gate-levelfunctional

Altera CorporationIntroduction to Altera IP Cores

Send Feedback

11Simulator SupportUG-01056-4.02014.06.30

Page 12: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

Simulation InputDescriptionSimulation Level

• Testbench• Altera simulation libraries• Post-fit timing netlist• Post-fit StandardDelayOutput File (.sdo)

Simulation using a post-fit timing netlist,testing functional and timing. Not supportedfor Arria V, Cyclone V, or Stratix V devices.

Gate-leveltiming

Gate-level timing simulation of an entire design can be slow and should be avoided. Gate-level timingsimulation is not supported for Arria

®V, Cyclone

®V, or Stratix

®V devices. Use TimeQuest static

timing analysis rather than gate-level timing simulation.

Note:

HDL SupportThe Quartus II software provides the following HDL support for EDA simulators.

Table 5: HDL Support

DescriptionLanguage

• For VHDL RTL simulation, compile design files directly in your simulator. To useNativeLink automation, analyze and elaborate your design in theQuartus II software,and then use the NativeLink simulator scripts to compile the design files in yoursimulator. You must also compile simulation models from the Altera simulationlibraries and simulation models for the IP cores in your design. Use the SimulationLibrary Compiler or NativeLink to compile simulation models.

• For gate-level simulation, the EDA Netlist Writer generates a synthesized designnetlist VHDL Output File (.vho). Compile the .vho in your simulator. You may alsoneed to compile models from the Altera simulation libraries.

• IEEE 1364-2005 encryptedVerilogHDL simulationmodels are encrypted separatelyfor each Altera-supported simulation vendor. If you want to simulate the model ina VHDL design, you need either a simulator that is capable of VHDL/Verilog HDLco-simulation, or any Mentor Graphics single language VHDL simulator.

VHDL

• For RTL simulation in Verilog HDL or SystemVerilog, compile your design files inyour simulator. To use NativeLink automation, analyze and elaborate your designin theQuartus II software, and then use theNativeLink simulator scripts to compileyour design files in your simulator. You must also compile simulation models fromtheAltera simulation libraries and simulationmodels for the IP cores in your design.Use the Simulation Library Compiler or NativeLink to compile simulation models.

• For gate-level simulation, the EDA Netlist Writer generates a synthesized designnetlist Verilog Output File (.vo). Compile the .vo in your simulator.

Verilog HDL

SystemVerilog

• If your design is a mix of VHDL, Verilog HDL, and SystemVerilog files, you mustuse a mixed language simulator. Since Altera supports both languages, choose themost convenient language for any Altera IP core in your design.

• Altera provides Arria V, Cyclone V, Stratix V, and newer simulation model librariesand IP simulation models in Verilog HDL and IEEE encrypted Verilog. Yoursimulator's co-simulation capabilities support VHDL simulation of these modelsusing VHDL “wrapper” files. Altera provides the wrapper for Verilog models toinstantiate these models directly from your VHDL design.

Mixed HDL

Introduction to Altera IP CoresAltera Corporation

Send Feedback

UG-01056-4.0HDL Support12 2014.06.30

Page 13: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

DescriptionLanguage

You must convert schematics to HDL format before simulation. You can use theconverted VHDL or Verilog HDL files for RTL simulation.

Schematic

Compiling Simulation ModelsThe Quartus II software includes simulation models for Altera IP cores.

These models include IP functional simulation models, and device family-specific models in the <QuartusII installation path>/eda/sim_lib directory. These models include IEEE encrypted Verilog HDL models forboth Verilog HDL and VHDL simulation. Before running simulation, you must compile the appropriatesimulation models from the Altera simulation libraries.

Use any of the following methods to compile Altera simulation models:

• Use the NativeLink feature to automatically compile your design, Altera IP, simulation model libraries,and testbench.

• Run the Simulation Library Compiler to compile all RTL and gate-level simulation model libraries foryour device, simulator, and design language.

• Compile Altera simulation models manually with your simulator.

After you compile the simulation model libraries, you can reuse these libraries in subsequent simulationsto avoid having to compile them again.

The specified timescale precision must be within 1ps when using Altera simulation models.Note:

Related InformationAltera Simulation Models

Generating IP Simulation Files for RTL SimulationThe Quartus II software supports both Verilog HDL and VHDL simulation of encrypted and unencryptedAltera IP cores. If your design includes Altera IP cores, you must compile any corresponding IP simulationmodels in your simulator with the rest of your design and testbench. The Quartus II software generates andcopies the simulation models for IP cores to your project directory.

You can use the following files to simulate your Altera IP variation.

Altera CorporationIntroduction to Altera IP Cores

Send Feedback

13Compiling Simulation ModelsUG-01056-4.02014.06.30

Page 14: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

Table 6: Altera IP Simulation Files

File NameDescriptionFile Type

Cadence

• cds.lib

• ncsim_setup.sh

• hdl.var

Mentor Graphics

• msim_setup.tcl

Synopsys

• synopsys_sim.setup• vcs_setup.sh

• vcsmx_setup.sh

Aldec

• rivierapro_setup.tcl

Simulator-specific script to compile, elaborate,and simulate Altera IP models and simulationmodel library files. Copy the commands intoyour simulation script, or edit these files tocompile, elaborate, and simulate your designand testbench.

Simulatorsetup script

<design name>.sipContains IP core simulation library mappinginformation. The.sip files enable NativeLinksimulation and the Quartus II Archiver for IPcores.

Quartus IISimulation IPFile (.sip)

<my_ip>.vho

<my_ip>.vo

IP functional simulation models are cycle-accurate VHDL or Verilog HDL modelsgenerated by the Quartus II software for someAltera IP cores. IP functional simulationmodels support fast functional simulation ofIP using industry-standardVHDL andVerilogHDL simulators.

IP functionalsimulationmodels

<my_ip>.vArria V, Cyclone V, Stratix V, and newersimulation model libraries and IP simulationmodels are provided inVerilogHDL and IEEEencrypted Verilog HDL. VHDL simulation ofthese models is supported using yoursimulator's co-simulation capabilities. IEEEencryptedVerilogHDLmodels are significantlyfaster than IP functional simulation models.

IEEEencryptedmodels

Generating IP Functional Simulation Models for RTL SimulationAltera provides IP functional simulationmodels for someAltera IP cores. To generate IP functional simulationmodels, follow these steps:

• Turn on the Generate Simulation Model option when parameterizing the IP core.• When you simulate your design, compile only the .vo or .vho for these IP cores in your simulator. In this

case you should not compile the corresponding HDL file. The encrypted HDL file supports synthesis byonly the Quartus II software.

Altera IP cores that do not require IP functional simulation models for simulation, do not providethe Generate Simulation Model option in the IP core parameter editor.

Note:

Introduction to Altera IP CoresAltera Corporation

Send Feedback

UG-01056-4.0Generating IP Functional Simulation Models for RTL Simulation14 2014.06.30

Page 15: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

Many recently released Altera IP cores support RTL simulation using IEEE Verilog HDL encryption.IEEE encryptedmodels are significantly faster than IP functional simulationmodels. You can simulatethe models in both Verilog HDL and VHDL designs.

Note:

Related InformationAN 343: OpenCore Evaluation of AMPP Megafunctions

Generating Simulation ScriptsYou can automatically generate simulation scripts to set up supported simulators. These scripts compile therequired device libraries and system design files in the correct order, and then elaborate or load the top-leveldesign for simulation. You can also use scripts to modify the top-level simulation environment, independentof IP simulation files that are replaced during regeneration. You can modify the scripts to set up supportedsimulators.

Use the NativeLink feature to generate simulation scripts to automate simulation steps. You can reuse thesegenerated files and simulation scripts in a custom simulation flow. NativeLink optionally generates scriptsfor your simulator in the project subdirectory.

1. Click Assignments > Settings.2. Under EDA Tool Settings, click Simulation.3. Select the Tool name of your simulator.4. Click More NativeLink Settings.5. Turn on Generate third-party EDA tool command scripts without running the EDA tool.

Table 7: NativeLink Generated Scripts for RTL Simulation

UseSimulation FileSimulator(s)

Source directly with your simulator./simulation/modelsim/<my_ip>.doMentor GraphicsModelSimQuestaSim

Source directly with your simulator./simulation/modelsim/<my_ip>.doAldec Riviera Pro

Add your testbench file name to this options fileto pass the file to VCS using the -file option. Ifyou specify a testbench file to NativeLink,NativeLink generates an .sh script that runs VCS.

/simulation/modelsim/<revision name>_<rtl or gate>.vcs

Synopsys VCS

Run this script at the command line using thecommand: quartus_sh -t <script>

Any testbench you specify with NativeLink isincluded in this script.

/simulation/scsim/<revision name>_vcsmx_<rtl or gate>_<verilog or vhdl>.tcl

Synopsys VCS MX

Run this script at the command line using thecommand: quartus_sh -t <script>.

Any testbench you specify with NativeLink isincluded in this script.

/simulation/ncsim/<revision name>_ncsim_<rtl or gate>_<verilog or vhdl>.tcl

Cadence Incisive(NC SIM)

Altera CorporationIntroduction to Altera IP Cores

Send Feedback

15Generating Simulation ScriptsUG-01056-4.02014.06.30

Page 16: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

You can use the following script variables:

• TOP_LEVEL_NAME—The top-level entity of your simulation is often a testbench that instantiates yourdesign, and then your design instantiates IP cores and/orQsys systems. Set the value of TOP_LEVEL_NAMEto the top-level entity.

• QSYS_SIMDIR—Specifies the top-level directory containing the simulation files.• Other variables control the compilation, elaboration, and simulation process.

Generating Custom Simulation Scripts with ip-make-simscriptUse the ip-make-simscript utility to generate simulation command scripts for multiple IP cores or Qsyssystems. Specify all Simulation Package Descriptor files (.spd), each of which lists the required simulationfiles for the corresponding IP core or Qsys system. The IP parameter editor generates the .spd files.

ip-make-simscript compiles IP simulation models into various simulation libraries. Use the compile-to-work option to compile all simulation files into a single work library. Use this option only if you require asimplified library structure.

When you specify multiple .spd files, the ip-make-simscript utility generates a single simulation scriptcontaining all required simulation information. The default value of TOP_LEVEL_NAME is the TOP_LEVEL_NAMEdefined in the IP core or Qsys .spd file.

Set appropriate variables in the script, or edit the variable assignment directly in the script. If the simulationscript is a Tcl file that is sourced in the simulator, set the variables before sourcing the script. If the simulationscript is a shell script, pass in the variables as command-line arguments to the shell script.

• To run ip-make-simscript, type the following at the command prompt:

<Quartus II installation path>\quartus\sopc_builder\bin\ip-make-simscript

Table 8: ip-make-simscript Examples

StatusDescriptionOption

RequiredDescribes the list of compiled files andmemorymodel hierarchy. If your design includesmultiple IP cores or Qsys systems that include.spd files, use this option for each file. Forexample:

ip-make-simscript --spd=ip1.spd --

spd=ip2.spd

--spd=<file>

OptionalSpecifies the location of output files. Ifunspecified, the default setting is the directoryfrom which ip-make-simscript is run.

--output-directory=<directory>

OptionalCompiles all design files to the default worklibrary. Use this option only if you encounterproblems managing your simulation withmultiple libraries.

--compile-to-work

OptionalUses relative paths whenever possible.--use-relative-paths

Introduction to Altera IP CoresAltera Corporation

Send Feedback

UG-01056-4.0Generating Custom Simulation Scripts with ip-make-simscript16 2014.06.30

Page 17: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

Related Information

• Aldec Active-HDL and Riviera-PRO Support

• Synopsys VCS and VCS MX Support

• Mentor Graphics ModelSim and QuestaSim Support

Synthesizing Altera IP Cores in Other EDA ToolsYou can use supported EDA tools to synthesize a design that includes Altera IP cores. When you generatethe IP core synthesis files for use with third-party EDA synthesis tools, you can optionally create an areaand timing estimation netlist. To enable generation, turn on Create timing and resource estimates forthird-party EDA synthesis tools when customizing your IP variation.

The area and timing estimation netlist describes the IP core connectivity and architecture, but does notinclude details about the true functionality. This information enables certain third-party synthesis tools tobetter report area and timing estimates. In addition, synthesis tools can use the timing information to achievetiming-driven optimizations and improve the quality of results.

The Quartus II software generates the <variant name>_syn.v netlist file in Verilog HDL format regardless ofthe output file format you specify. If you use this netlist for synthesis, you must include the IP core wrapperfile <variant name>.v or <variant name>.vhd in your Quartus II project.

Related InformationQuartus II Integrated Synthesis

Instantiating IP Cores in HDLYou can instantiate an IP core directly in your HDL code by calling the IP core name and declaring itsparameters, in the same manner as any other module, component, or subdesign. When instantiating an IPcore in VHDL, you must include the associated libraries.

Accessing HDL Code TemplatesThe Quartus II software includes code examples or templates for inferred RAMs, ROMs, shift registers,arithmetic functions, and DSP functions optimized for Altera devices. To access HDL code templates todefine these IP cores in HDL, follow these steps:

1. Open a file in the text editor.2. Click Edit > Insert template.3. In the Insert Template dialog box, click the + icon to expand either the Verilog HDL category or the

VHDL category, depending on the HDL you prefer.4. Under Full Designs, expand the navigation tree to display the type of functions you want to infer.5. Select the function to display the code in the Preview pane, and then click Insert.

Altera CorporationIntroduction to Altera IP Cores

Send Feedback

17Synthesizing Altera IP Cores in Other EDA ToolsUG-01056-4.02014.06.30

Page 18: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

Example Top-Level Verilog HDL ModuleVerilog HDL ALTFP_MULT in Top-Level Module with One Input Connected to Multiplexer.

module MF_top (a, b, sel, datab, clock, result); input [31:0] a, b, datab; input clock, sel; output [31:0] result; wire [31:0] wire_dataa;

assign wire_dataa = (sel)? a : b; altfp_mult inst1 (.dataa(wire_dataa), .datab(datab), .clock(clock), .result(result));

defparam inst1.pipeline = 11, inst1.width_exp = 8, inst1.width_man = 23, inst1.exception_handling = "no"; endmodule

Example Top-Level VHDL ModuleVHDL ALTFP_MULT in Top-Level Module with One Input Connected to Multiplexer.

library ieee;use ieee.std_logic_1164.all; library altera_mf;use altera_mf.altera_mf_components.all;

entity MF_top is port (clock, sel : in std_logic; a, b, datab : in std_logic_vector(31 downto 0); result : out std_logic_vector(31 downto 0));end entity;

architecture arch_MF_top of MF_top issignal wire_dataa : std_logic_vector(31 downto 0);begin

wire_dataa <= a when (sel = '1') else b;

inst1 : altfp_mult generic map ( pipeline => 11, width_exp => 8, width_man => 23, exception_handling => "no") port map ( dataa => wire_dataa, datab => datab, clock => clock, result => result); end arch_MF_top;

Generating a Qsys System or IP Variation with qsys-generateYou can use the qsys-generate utility to generate RTL for your Qsys system, IP core, simulation modelsand scripts, and to create testbench systems for testing your Qsys system in a simulator using BFMs. Outputfrom the qsys-generate command is the same as when generating using the Qsys GUI.

Introduction to Altera IP CoresAltera Corporation

Send Feedback

UG-01056-4.0Example Top-Level Verilog HDL Module18 2014.06.30

Page 19: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

The following is a list of options that you can use with the qsys-generate utility:

• <1st arg file>—Required. The name of the .qsys system file to generate.• --synthesis=<VERILOG|VHDL>—Optional. Creates synthesis HDL files that Qsys uses to compile the

system in a Quartus II project. You must specify the preferred generation language for the top-level RTLfile for the generated Qsys system.

• --block-symbol-file—Optional. Creates a block symbol file (.bsf) for the system.• --simulation=<VERILOG|VHDL>—Optional. Creates a simulation model for the system. The simulation

model contains generated HDL files for the simulator, and may include simulation-only features. Youmust specify the preferred simulation language.

• --testbench=<SIMPLE|STANDARD>—Optional. Creates a testbench system. The testbench systeminstantiates the original system, adding bus functional models to drive the top-level interfaces. Oncegenerated, the bus functional models interact with the system in the simulator.

• --testbench-simulation=<VERILOG|VHDL>—Optional. After creating the testbench system, also createa simulation model for the testbench system.

• --output-directory=<value>—Optional. Sets the output directory. Each generation target is createdin a subdirectory of the output directory. If you do not specify the output directory, a subdirectory of thecurrent working directory matching the name of the system is used.

• --search-path=<value>—Optional. If omitted, a standard default path is used. If provided, a comma-separated list of paths is searched. To include the standard path in your replacement, use "$", for example,"/extra/dir,$".

• --jvm-max-heap-size=<value>—Optional. The maximum memory size that Qsys uses for allocationswhen running this tool. The value is specified as <size><unit> where unit can be m (or M) for multiplesof megabytes or g (or G) for multiples of gigabytes. The default value is 512m.

• --family=<value>—Optional. Sets the device family.• --part=<value>—Optional. Sets the device part number. If set, this option overrides the --family

option.• --allow-mixed-language-simulation—Optional. Enables a mixed language simulation model

generation. If true, if a preferred simulation language is set, Qsys uses a fileset of the component for thesimulation model generation. When false, which is the default, Qsys uses the language specified with--file-set=<value> for all IP components for simulation model generation.

• --file-set=<value>—Optional. Allows you to choose the type output to generate, for example,QUARTUS_SYNTH, SIM_VERLOG, or VHDL.

Document Revision HistoryThis document has the following revision history.

ChangesVersionDate

• Changed title from Introduction toMegafunctions to Introductionto Altera IP Cores

• Increased scope of document to include updated informationabout licensing, customizing, upgrading, and simulating all AlteraIP cores.

• Replaced MegaWizard Plug-In Manager with IP Cataloginformation.

4.0June 2014

Altera CorporationIntroduction to Altera IP Cores

Send Feedback

19Document Revision HistoryUG-01056-4.02014.06.30

Page 20: Introduction to Altera IP Cores · 2020. 6. 6. · IP cores in your project, along with basic instructions for upgrading each core. 3. To simultaneously upgrade all IP cores that

ChangesVersionDate

• Reorganization of content into topics.• First tracking of changes in Document Revision History.

3.0May 2013

Introduction to Altera IP CoresAltera Corporation

Send Feedback

UG-01056-4.0Document Revision History20 2014.06.30