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

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

1.1. Block-Based Design Terminology

This document refers to the following terms to explain block-based design methods:

Table 1.  Block-Based Design Terminology
Term Description
Black Box File RTL source file that contains only port and module or entity definitions, without any logic. Include parameters or generics passed to the module or entity to ensure that the configuration matches the implementation in the Consumer project.

Block

Logic that comprises a hierarchical design instance, typically represented by a Verilog module or VHDL entity. You designate a design block as a design partition to empty or export the block.
Consumer A Consumer can reuse a design partition that a Developer exports as a Partition Database File (.qdb) from another project.
Core Partition A design partition that contains only FPGA resources for the implementation of core logic, such as LUTs, registers, M20K memory blocks, and DSPs. A core partition cannot include periphery resources.

Design Partition

A logical, named, hierarchical boundary assignment that you can apply to a design instance. Creating a partition creates a logical boundary and prevents logic optimization and merging with parent or child partitions. Design partitions facilitate incremental block-based compilation and design block reuse by logically separating instances.

Developer A Developer creates and exports a design partition as a .qdb for use in a Consumer project.

Floorplanning

Planning the physical layout of FPGA device resources. The manual process of assigning the logical design hierarchy and periphery to physical regions in the device and I/O.

Logic Lock Region Constraints

Constrains the placement and routing of logic to a specific region in the target device. Specify the region origin, height, width, and any of the following options:
  • Reserved—prevents the Fitter from placing non-member logic within the region.
  • Core-Only—applies the constraint only to core logic in the region, and does not include periphery logic in the region.
  • Routing Region—restricts the routing of connections between region members to the specified area. The routing region is non-exclusive. Other resources in the parent or sibling hierarchy levels can use that routing area. You can restrict the routing region to areas equal to or larger than the Logic Lock region, up to the entire chip. The default routing region is the entire chip.
  • Size/State—fixes the size and locks the state of the region. The Fixed/Locked option defines a region of fixed size and locked location. The Auto/Floating option defines a region with a floating location that automatically sizes to the logic.

Project

The Quartus® Prime software organizes the source files, settings, and constraints within a project of one or more revisions. The Quartus® Prime Project File (.qpf) stores the project name and references each project revision that you create.

Root Partition

The Quartus® Prime software automatically creates a top-level "root_partition" with a hierarchy path of |for each project revision. The root partition includes all device periphery resources (such as I/O, HSSIO, memory interfaces, and PCIe*) and associated core resources. You can export and reuse periphery resources by exporting the root partition and reserving a region for subsequent development (the reserved core) by a Consumer.

Snapshot

A snapshot is a view of the design after a compilation stage. The Quartus® Prime Compiler generates a snapshot of the compilation database after each compilation stage. You can export a specific snapshot for incremental block-based compilation, design block reuse, and team based designs.