Parameterizable Macros for Intel® FPGAs User Guide

ID 772350
Date 9/30/2024
Public
Document Table of Contents

1. Parameterizable Macros for Intel FPGAs Overview

This document describes the list of available parameterizable macros, how to perform module instantiation, and the description of available ports and parameters for each macro. These parameterizable macros are available for the following devices in the Quartus® Prime Pro Edition software:
  • Agilex™ FPGA portfolio devices
  • Stratix® 10 devices

You can use these parameterizable macros to more quickly instantiate modules with different numbers of ports and port sizes on a top-level source file. Instantiation templates for these parameterizable macros are available in VHDL and Verilog (and SystemVerilog).

Certain functions are available as both a parameterized macro, and as an IP core that you can parameterize in the IP Parameter Editor. In general, the parameterized macros support a frequently used subset of features supported by IP cores. The parameterized macros are often device-independent, whereas IP cores may target a particular device family and may require regeneration if you target another device family.

For any parameterizable macros you want to use in your design, you should copy the files that define them from the Quartus Prime Pro Edition software installation directory to your RTL source directory. The parameterizable macro files are in the quartus/libraries/megafunctions directory, with names beginning with ipm_.

Add to your project the files you copied using the Project > Add/Remove Files in Project command. Alternately, you can copy and paste the text from the files with the appropriate module or entity into your own files.

Simulation of Parameterizable Macros

For simulating the parameterizable macros, use the following files:

  • \quartus\eda\sim_lib\altera_lnsim.sv - Verilog simulation models
  • \quartus\eda\sim_lib\altera_lnsim_components.vhd - VHDL simulation models

These simulation model files are automatically compiled when you run Generate Simulation Script for IP, assuming there is IP in your project. For more information on Generate Simulation Script for IP, refer to Quartus Prime Pro Edition User Guide: Third-party Simulation.