Quartus® Prime Pro Edition User Guide: Platform Designer

ID 683609
Date 7/08/2024
Public
Document Table of Contents

3.4. Creating Generic Components in a System

Platform Designer allows you to add generic components with the implementation defined in _hw.tcl (IP type), in an HDL file (HDL type), or with only a partially defined implementation (Blackbox type). The generic component enables hierarchical isolation of the IP components by separating the component instantiation from the component implementation. This generic component is available as Generic Component in the Platform Designer IP Catalog.

When you generate a system containing a generic component, the system's RTL instantiates the component, but does not provide the implementation for the component. Rather, you must provide the implementation for the component in a downstream compiler such as Quartus® Prime software or in RTL code.

The following generic component Implementation Types are available in the Component Instantiation editor, depending on your use case:

Table 40.  Component Implementation Type Options
Implementation Type Description
IP The default implementation type that defines the component in _hw.tcl and preserves the component as a .ip file. Platform Designer automatically manages components with the Implementation Type of IP in the following ways:
  • Runs background checks against the port widths between the IP component and the .ip file to ensure continuity.
  • Scans the .ip file for the error flag to determine if any component has parameterization errors.
  • Checks for system-info mismatches between the IP file and the IP component in the system, and prompts resolution with IP instantiation warnings in the Instantiation Messages tab.
HDL Defines a generic component from existing RTL. You can load the signals, interfaces, and parameters of the generic component from the HDL file containing the RTL. The HDL parameters are represented as constants local to a module, which you can redefine when instantiating the module. Generic HDL components have no .ip file.
Blackbox Defines a generic component that represents only the signal and interface boundary of an entity, without providing the component's implementation. You then provide the implementation of the component for processing with the Quartus® Prime software or an RTL simulator. Generic blackbox components have no .ip file.
  1. From the Platform Designer IP Catalog, double-click Generic Component. The Component Instantiation editor appears.
  2. For Implementation Type, click IP, HDL, Blackbox, or HLS for your generic component. Refer to Component Implementation Type Options.
  3. Add parameters to the generic component, as applicable:
    • To add parameters to a generic HDL component, click the Add File button under Implementation Files to specify the RTL that defines your generic component, as Adding Generic HDL Component Parameters describes.
    • To add parameters to a generic Blackbox component, click the Parameters tab, and then Add Parameter button to define the parameters for your generic component, as Adding Generic Blackbox Component Parameters describes.
    Figure 141. Component Instantiation Editor
  4. Add interfaces and signals to the generic component, as Adding Generic Component Interfaces and Signals describes.
  5. Click Finish, the generic component appears in the System View.
  6. In the System View, select the generic component that you create in step 5.
    Figure 142. New Generic Component in System View
  7. In the System View tab, double-click the Export column to export the signal(s) when you generate the system HDL.
  8. In the Parameters tab for the component, modify the default parameter values as needed.
  9. In Platform Designer, click the Generate HDL button. Platform Designer generates the HDL for the system and generic component according to your specifications.