Intel® Quartus® Prime Pro Edition User Guide: Partial Reconfiguration
ID
683834
Date
1/11/2022
Public
A newer version of this document is available. Customers should click here to go to the newest version.
2.1. What's New In This Version
2.2. Partial Reconfiguration Terminology
2.3. Partial Reconfiguration Process Sequence
2.4. Internal Host Partial Reconfiguration
2.5. External Host Partial Reconfiguration
2.6. Partial Reconfiguration Design Flow
2.7. Partial Reconfiguration Design Considerations
2.8. Hierarchical Partial Reconfiguration
2.9. Partial Reconfiguration Design Timing Analysis
2.10. Partial Reconfiguration Design Simulation
2.11. Partial Reconfiguration Design Debugging
2.12. Partial Reconfiguration Security ( Intel® Stratix® 10 Designs)
2.13. PR Bitstream Compression and Encryption ( Intel® Arria® 10 and Intel® Cyclone® 10 GX Designs)
2.14. Avoiding PR Programming Errors
2.15. Exporting a Version-Compatible Compilation Database for PR Designs
2.16. Creating a Partial Reconfiguration Design Revision History
2.6.1. Step 1: Identify Partial Reconfiguration Resources
2.6.2. Step 2: Create Design Partitions
2.6.3. Step 3: Floorplan the Design
2.6.4. Step 4: Add the Partial Reconfiguration Controller Intel® FPGA IP
2.6.5. Step 5: Define Personas
2.6.6. Step 6: Create Revisions for Personas
2.6.7. Step 7: Compile the Base Revision and Export the Static Region
2.6.8. Step 8: Setup PR Implementation Revisions
2.6.9. Step 9: Program the FPGA Device
2.6.9.1. Generating PR Bitstream Files
2.6.9.2. Generating PR Bitstream Files
2.6.9.3. Partial Reconfiguration Bitstream Compatibility Checking
2.6.9.4. Raw Binary Programming File Byte Sequence Transmission Examples
2.6.9.5. Generating a Merged .pmsf File from Multiple .pmsf Files ( Intel® Arria® 10 and Intel® Cyclone® 10 GX Designs)
2.7.1. Partial Reconfiguration Design Guidelines
2.7.2. PR Design Timing Closure Best Practices
2.7.3. PR File Management
2.7.4. Evaluating PR Region Initial Conditions
2.7.5. Creating Wrapper Logic for PR Regions
2.7.6. Creating Freeze Logic for PR Regions
2.7.7. Resetting the PR Region Registers
2.7.8. Promoting Global Signals in a PR Region
2.7.9. Planning Clocks and other Global Routing
2.7.10. Implementing Clock Enable for On-Chip Memories with Initialized Contents
3.1. Internal and External PR Host Configurations
3.2. Partial Reconfiguration Controller Intel FPGA IP
3.3. Partial Reconfiguration Controller Intel Arria® 10/Cyclone® 10 FPGA IP
3.4. Partial Reconfiguration External Configuration Controller Intel FPGA IP
3.5. Partial Reconfiguration Region Controller Intel® FPGA IP
3.6. Avalon® Memory-Mapped Partial Reconfiguration Freeze Bridge IP
3.7. Avalon® Streaming Partial Reconfiguration Freeze Bridge IP
3.8. Generating and Simulating Intel® FPGA IP
3.9. Intel® Quartus® Prime Pro Edition User Guide: Partial Reconfiguration Archive
3.10. Partial Reconfiguration Solutions IP User Guide Revision History
3.3.1. Agent Interface
3.3.2. Reconfiguration Sequence
3.3.3. Interrupt Interface
3.3.4. Parameters
3.3.5. Ports
3.3.6. Timing Specifications
3.3.7. PR Control Block and CRC Block Verilog HDL Manual Instantiation
3.3.8. PR Control Block and CRC Block VHDL Manual Instantiation
3.3.9. PR Control Block Signals
3.3.10. Configuring an External Host for Intel® Arria® 10 or Intel® Cyclone® 10 GX Designs
3.8.1. Specifying the IP Core Parameters and Options ( Intel® Quartus® Prime Pro Edition)
3.8.2. Running the Freeze Bridge Update script
3.8.3. IP Core Generation Output ( Intel® Quartus® Prime Pro Edition)
3.8.4. Intel® Arria® 10 and Intel® Cyclone® 10 GX PR Control Block Simulation Model
3.8.5. Generating the PR Persona Simulation Model
3.8.6. Secure Device Manager Partial Reconfiguration Simulation Model
2.6.6. Step 6: Create Revisions for Personas
Create a base revision for the design, as well as PR implementation revisions for each of the personas.
When you define revisions in the GUI or at the command line, the Intel® Quartus® Prime software automatically adds these assignments required for PR implementation:
- Entity Rebinding assignment (ENTITY_REBINDING)—for each PR partition, the software adds an entity rebinding assignment with a place holder for the entity name. Your design may not require all of the entity rebinding assignments of each PR partition, based on the design and the implementation revision. For example, in HPR designs that use the default persona for the parent partition, you add the .qdb file for the PR parent, and then use entity rebinding only for the child.
- QDB File Partition assignment (QDB_FILE_PARTITION)—the software adds this assignment for the static region, if you specify a .qdb file name.
- Revision Type Assignment (REVISION_TYPE)
To create the PR implementation revisions:
- Click Project > Revisions.
- To create a new revision, double-click <<new revision>>.
- Specify a unique Revision name.
- Select an existing revision for the Based on revision option.
- For the Revision type, select Partial Reconfiguration - Base for the base revision or Partial Reconfiguration - Persona Implementation for an implementation revision.
- Click Apply and OK.
Figure 11. Creating Revisions
The following assignments in the respective revision's .qsf file correspond to specifying the revision type from the Settings dialog box:
Base Revision Assignment:
set_global_assignment -name REVISION_TYPE PR_BASE
Implementation Revision Assignment:
set_global_assignment -name REVISION_TYPE PR_IMPL
For each PR partition, the Intel® Quartus® Prime software also adds the entity rebinding assignment to the .qsf:
set_instance_assignment -name ENTITY_REBINDING <entity_name> -to <hierarchical_path>
If you base a new implementation revision on an existing .qdb file, The Intel® Quartus® Prime software also adds the .qdb file partition assignment, with a place holder for the file name:
set_instance_assignment -name QDB_FILE_PARTITION <QDB file name>
As an example, to create a new implementation revision that uses a .qdb file from a base revision, use the following command:
create_revision impl_new -based_on <base_revision> \ -new_rev_type impl -root_partition_qdb_file base_static.qdb
- impl_new—specifies the name of a new implementation revision.
- -based_on <based_on_revision> — specifies the PR base revision that the new impl revision is based on. Some global assignments from the based_on revision are copied over to the impl revision. Placeholder entity rebinding assignments are created in the impl revision for each PR partition in the base.
- -new_rev_type <rev_type>— only useful rev-type is impl.
- root_partition_qdb_file <qdb_file>—creates a QDB_FILE_PARTITION assignment in impl revision with the specified .qdb file.
Figure 12. Partial Reconfiguration Compilation Flow