Quartus® Prime Pro Edition User Guide: Partial Reconfiguration
ID
683834
Date
5/16/2025
Public
1.1. What's New In This Version
1.2. Partial Reconfiguration Terminology
1.3. Partial Reconfiguration Process Sequence
1.4. Internal Host Partial Reconfiguration
1.5. External Host Partial Reconfiguration
1.6. Partial Reconfiguration Design Flow
1.7. Partial Reconfiguration Design Considerations
1.8. Hierarchical Partial Reconfiguration
1.9. Partial Reconfiguration Design Timing Analysis
1.10. Partial Reconfiguration Design Simulation
1.11. Partial Reconfiguration Design Debugging
1.12. Partial Reconfiguration Security ( Stratix® 10 and Agilex™ 7 Designs)
1.13. PR Bitstream Compression and Encryption ( Arria® 10 and Cyclone® 10 GX Designs)
1.14. Avoiding PR Programming Errors
1.15. Exporting a Version-Compatible Compilation Database for PR Designs
1.16. Creating a Partial Reconfiguration Design Revision History
1.6.1. Step 1: Identify Partial Reconfiguration Resources
1.6.2. Step 2: Create Design Partitions
1.6.3. Step 3: Floorplan the Design
1.6.4. Step 4: Add the Partial Reconfiguration Controller IP
1.6.5. Step 5: Define Personas
1.6.6. Step 6: Create Revisions for Personas
1.6.7. Step 7: Compile the Base Revision and Export the Static Region
1.6.8. Step 8: Setup PR Implementation Revisions
1.6.9. Step 9: Program the FPGA Device
1.6.9.1. Generating PR Bitstream Files
1.6.9.2. Generating PR Bitstream Files
1.6.9.3. Partial Reconfiguration Bitstream Compatibility Checking
1.6.9.4. Raw Binary Programming File Byte Sequence Transmission Examples
1.6.9.5. Generating a Merged .pmsf File from Multiple .pmsf Files ( Arria® 10 and Cyclone® 10 GX Designs)
1.7.1. Partial Reconfiguration Design Guidelines
1.7.2. PR Design Timing Closure Best Practices
1.7.3. PR File Management
1.7.4. Evaluating PR Region Initial Conditions
1.7.5. Creating Wrapper Logic for PR Regions
1.7.6. Creating Freeze Logic for PR Regions
1.7.7. Resetting the PR Region Registers
1.7.8. Promoting Global Signals in a PR Region
1.7.9. Planning Clocks and other Global Routing
1.7.10. Implementing Clock Enable for On-Chip Memories
2.1. Internal and External PR Host Configurations
2.2. Partial Reconfiguration Controller IP
2.3. Partial Reconfiguration Controller Arria® 10/Cyclone® 10 IP
2.4. Partial Reconfiguration External Configuration Controller IP
2.5. Partial Reconfiguration Region Controller IP
2.6. Avalon® -MM Partial Reconfiguration Freeze Bridge IP
2.7. Avalon® -ST Partial Reconfiguration Freeze Bridge IP
2.8. Generating and Simulating Altera* IP
2.9. Quartus® Prime Pro Edition User Guide: Partial Reconfiguration Archive
2.10. Partial Reconfiguration Solutions IP User Guide Revision History
2.3.1. Agent Interface
2.3.2. Reconfiguration Sequence
2.3.3. Interrupt Interface
2.3.4. Parameters
2.3.5. Ports
2.3.6. Timing Specifications
2.3.7. PR Control Block and CRC Block Verilog HDL Manual Instantiation
2.3.8. PR Control Block and CRC Block VHDL Manual Instantiation
2.3.9. PR Control Block Signals
2.3.10. Configuring an External Host for Arria® 10 or Cyclone® 10 GX Designs
2.8.1. Specifying the IP Parameters and Options ( Quartus® Prime Pro Edition)
2.8.2. Running the Freeze Bridge Update script
2.8.3. IP Core Generation Output ( Quartus® Prime Pro Edition)
2.8.4. Arria® 10 and Cyclone® 10 GX PR Control Block Simulation Model
2.8.5. Generating the PR Persona Simulation Model
2.8.6. Secure Device Manager Partial Reconfiguration Simulation Model
2.4.4. Configuring an External Host ( Stratix® 10 or Agilex™ FPGA Portfolio Devices)
You can optionally use an external host to write the partial bitstream data from external memory into the Stratix® 10 or Agilex™ FPGA Portfolio device. When using external host configuration, the external host initiates partial reconfiguration by asserting the pr_request signal. The external host monitors the PR status through the pr_done and pr_error signals.
The external host must respond appropriately to the handshake signals for successful partial reconfiguration. Co-ordinate system-level partial reconfiguration by ensuring that you prepare the correct PR region for partial reconfiguration. After reconfiguration, return the PR region into operating state.
To configure an external host, follow these steps:
- Parameterize and generate the Partial Reconfiguration External Configuration Controller IP, as Specifying IP Parameters and Options describes.
- Connect the Partial Reconfiguration External Configuration Controller pr_request, pr_done, and pr_error signals to top-level pins for control and monitor by the external host. You can assign the pin location by clicking Assignments > Pin Planner.
- Click Assignments > Device, and then click the Device & Pin Options button.
- In the Category list, click Configuration.
- For the Configuration scheme, select the scheme that matches with your full device configuration. For example, if your full device configuration uses the AVSTx32 scheme, the PR configuration must use AVSTx32.This option automatically reserves dedicated Avalon® streaming configuration pins for partial reconfiguration during user mode. The pins are exactly same as the Avalon® streaming pins that you use for full device configuration.
The following table describes the PR pins that the external host uses. The PR streaming to Avalon® streaming pins must conform to the Avalon® streaming specification for data transfer with backpressure.
Pin Name | Type | Description |
---|---|---|
pr_request | Input | User-assigned port connected to Partial Reconfiguration External Configuration Controller IP. Logic high on this pin indicates that the PR host is requesting partial reconfiguration. |
pr_done | Output | User-assigned port connected to Partial Reconfiguration External Configuration Controller IP. Logic high on this pin indicates that the partial reconfiguration is complete. |
pr_error | Output | User-assigned port connected to Partial Reconfiguration External Configuration Controller IP. Logic high on this pin indicates an error in the device during partial reconfiguration. |
avst_data: avstx8 - [7:0] avstx16 - [15:0] avstx32 - [31:0] |
Input | These pins provide connectivity for the external host to transfer the PR bitstream to the SDM. The avstx8 data pins are part of the SDM I/O. avstx16 and avstx32 data pins are from I/O 48 bank 3A. |
avst_clk | Input | Clocks the Avalon® streaming interfaces. avst_data and avst_valid are synchronous with avst_clk. The avstx8 clk pin is part of the SDM I/O. avstx16 and avstx32 are from I/O 48 bank 3A. |
avst_valid | Input | Logic high on this pin indicates the data in avst_data is valid data. The avstx8 data pins are part of the SDM I/O. avstx16 and avstx32 data pins are from I/O 48 bank 3A. |
avst_ready | Output | Logic high on this pin indicates the SDM is ready to accept data from an external host. This output is part of the SDM I/O. |