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

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

2.2.1. Design Block Reuse Overview

In design block reuse flows, you export a core or root partition for reuse in another project that targets the same Intel® FPGA device family.
You can share one of the following compilation snapshots for a partition across projects or with other designers:
  • Synthesized snapshot
  • Final snapshot

Core partition reuse enables preservation and export of compilation results for a core partition. Reuse of the core partition allows an IP developer to create and optimize an IP once and share it across multiple projects.

Root partition reuse enables preservation and export of compilation results for a top-level (or root) partition that describes the device periphery, along with associated core logic. Reuse of the periphery allows a board developer to create and optimize a platform design with device periphery logic once, and then share that root partition with other board users who create custom core logic. The periphery resources include all the hardened IP in the device periphery, such as general purpose I/O, PLLs, high-speed transceivers, PCIe, and external memory interfaces.

Team members can work on different partitions separately, and then bring them together later, facilitating a team-based design environment. A team lead integrates the partitions in the system and provides guidance to ensure that each partition uses the appropriate device resource and achieves design requirements during the full design integration. A Developer initially creates and exports a block as a partition in one Intel® Quartus® Prime project. Subsequently, a Consumer reuses the partition in a different project.1 To avoid resource conflicts, floorplanning is essential when reusing final snapshot partitions.

1 For brevity, this document uses Developer to indicate the person or project that originates a reusable block, and uses Consumer to indicate the person or project that consumes a reusable block.