Quartus® Prime Pro Edition User Guide: Platform Designer

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

3.2. Design Phases of an IP Component

When you define a component with the Platform Designer Component Editor, or a custom _hw.tcl file, you specify the information that Platform Designer requires to instantiate the component in a Platform Designer system and to generate the appropriate output files for synthesis and simulation.

The following phases describe the process when working with components in Platform Designer:

  • Discovery—During the discovery phase, Platform Designer reads the _hw.tcl file to identify information that appears in the IP Catalog, such as the component's name, version, and documentation URLs. Each time you open Platform Designer, the tool searches for the following file types using the default search locations and entries in the IP Search Path:
    • _hw.tcl files—Each _hw.tcl file defines a single component.
    • IP Index (.ipx) files—Each .ipx file indexes a collection of available components, or a reference to other directories to search.
  • Static Component Definition—During the static component definition phase, Platform Designer reads the _hw.tcl file to identify static parameter declarations, interface properties, interface signals, and HDL files that define the component. At this stage of the life cycle, the component interfaces may be only partially defined.
  • Parameterization—During the parameterization phase, after an instance of the component is added to a Platform Designer system, the user of the component specifies parameters with the component’s parameter editor.
  • Validation—During the validation phase, Platform Designer validates the values of each instance's parameters against the allowed ranges specified for each parameter. You can use callback procedures that run during the validation phase to provide validation messages. For example, if there are dependencies between parameters where only certain combinations of values are supported, you can report errors for the unsupported values.
  • Elaboration—During the elaboration phase, Platform Designer queries the component for its interface information. Elaboration is triggered when an instance of a component is added to a system, when its parameters are changed, or when a system property changes. You can use callback procedures that run during the elaboration phase to dynamically control interfaces, signals, and HDL files based on the values of parameters. For example, interfaces defined with static declarations can be enabled or disabled during elaboration. When elaboration is complete, the component's interfaces and design logic must be completely defined.
  • Composition—During the composition phase, a component can manipulate the instances in the component's subsystem. The _hw.tcl file uses a callback procedure to provide parameterization and connectivity of sub-components.
  • Generation—During the generation phase, Platform Designer generates synthesis or simulation files for each component in the system into the appropriate output directories, as well as any additional files that support associated tools.