Quartus® Prime Pro Edition User Guide: Block-Based Design

ID 683247
Date 11/07/2023
Public
Document Table of Contents

1.4.2. Creating Design Partitions

Follow these steps to create and modify design partitions:
  1. Click Processing > Start > Start Analysis & Elaboration.
  2. In the Project Navigator, right-click an instance in the Hierarchy tab, point to Design Partition, and click a design partition Type. A design partition icon appears next to each instance you assign.
    Figure 7. Creating a Design Partition from the Project Hierarchy

    This setting corresponds to the following assignment in the .qsf:

    set_instance_assignment -name PARTITION <name> \
         -to <partition hierarchical path>
  3. To view and edit all design partitions in the project, click Assignments > Design Partitions Window.
    Figure 8. Design Partitions Window
  4. Specify the properties of the design partition in the Design Partitions Window. The following settings are available:
    Table 2.  Design Partition Settings
    Option Description
    Partition Name Specifies the partition name. Each partition name must be unique and consist of only alphanumeric characters. The Quartus® Prime software automatically creates a top-level (|) "root_partition" for each project revision.
    Hierarchy Path Specifies the hierarchy path of the entity instance that you assign to the partition. You specify this value in the Create New Partition dialog box. The root partition hierarchy path is |.
    Type Double-click to specify one of the following partition types that control how the Compiler processes and implements the partition:
    • Default—Identifies a standard partition. The Compiler processes the partition using the associated design source files.
    • Reconfigurable—Identifies a reconfigurable partition in a partial reconfiguration flow. Specify the Reconfigurable type to preserve synthesis results, while allowing refit of the partition in the PR flow.
    • Reserved Core—Identifies a partition in a block-based design flow that is reserved for core development by a Consumer reusing the device periphery.
    Empty Specifies an empty partition that the Compiler skips. This setting is incompatible with the Reserved Core and Partition Database File settings for the same partition.
    Partition Database File Specifies a Partition Database File (.qdb) that the Compiler uses during compilation of the partition. You export the .qdb for the stage of compilation that you want to reuse (synthesized or final). Assign the .qdb to a partition to reuse those results in another context.
    Entity Re-binding
    • PR Flow—specifies the entity that replaces the default persona in each implementation revision.
    • Root Partition Reuse Flow —specifies the entity that replaces the reserved core logic in the consumer project.
    Color Specifies the color-coding of the partition in the Chip Planner and Design Partition Planner displays.
    Post Synthesis Export File Automatically exports post-synthesis compilation results for the partition to the specified .qdb file each time Analysis & Synthesis runs. You can automatically export any design partition that does not have a preserved parent partition, including the root_partition.
    Post Final Export File Automatically exports post-final compilation results for the partition to the specified .qdb file each time the final stage of the Fitter runs. You can automatically export any design partition that does not have a preserved parent partition, including the root_partition.

Following compilation, you can view details about design partition implementation in the Compilation View tab of the Design Partitions Window. The synthesis and Fitter reports provide additional information about .qdb file assignments.

Figure 9. Design Partition Window Compilation View Tab
Note: You can only preserve paths inside a partition, and cannot preserve the paths crossing from one partition to another. Although you cannot merge partitions together, you can create a RTL wrapper to wrap modules that you want to group into a partition, and then assign a design partition to the RTL wrapper.