Visible to Intel only — GUID: xjt1506635799315
Ixiasoft
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 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 Intel® FPGA 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 Intel FPGA IP
2.3. Partial Reconfiguration Controller Intel Arria® 10/Cyclone® 10 FPGA IP
2.4. Partial Reconfiguration External Configuration Controller Intel FPGA IP
2.5. Partial Reconfiguration Region Controller Intel® FPGA IP
2.6. Avalon® Memory-Mapped Partial Reconfiguration Freeze Bridge IP
2.7. Avalon® Streaming Partial Reconfiguration Freeze Bridge IP
2.8. Generating and Simulating Intel® FPGA 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
Verilog RTL for External Host PR
VHDL RTL for External Host PR
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
Visible to Intel only — GUID: xjt1506635799315
Ixiasoft
2.3.10. Configuring an External Host for Arria® 10 or Cyclone® 10 GX Designs
When using external host configuration, the external host initiates partial reconfiguration, and monitors the PR status using the external PR dedicated pins during user mode. In this mode, the external host must respond appropriately to the handshake signals for successful partial reconfiguration. The external host writes the partial bitstream data from external memory into the Arria® 10 or Cyclone® 10 GX device. 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 use an external host for your design:
- Click Assignments > Device > Device & Pin Options.
- Select the Enable PR Pins option in the Device & Pin Options dialog box. This option automatically creates the special partial reconfiguration pins, and defines the pins in the device pin-out. This option also automatically connects the pins to PR control block internal path.
Note: If you do not select this option, you must use an internal or HPS host. You do not need to define pins in your design top-level entity.
- Connect these top-level pins to the specific ports in the PR control block.
The following table lists the PR pins that automatically constrain when you turn on Enable PR Pins, and the specific PR control block port connection to the pin:
Pin Name | Type | PR Control Block Port Name | Description |
---|---|---|---|
PR_REQUEST | Input | prrequest | Logic high on this pin indicates that the PR host is requesting partial reconfiguration. |
PR_READY | Output | ready | Logic high on this pin indicates that the PR control block is ready to begin partial reconfiguration. |
PR_DONE | Output | done | Logic high on this pin indicates that the partial reconfiguration is complete. |
PR_ERROR | Output | error | Logic high on this pin indicates an error in the device during partial reconfiguration. |
DATA[31:0] | Input | data | These pins provide connectivity for PR_DATA to transfer the PR bitstream to the PR controller. |
DCLK | Input | clk | Receives synchronous PR_DATA. |
Note:
- PR_DATA can be 8, 16, or 32-bits in width.
- Ensure that you connect the corectl port of the PR control block to 0.
Verilog RTL for External Host PR
module top( // PR control block signals input logic pr_clk, input logic pr_request, input logic [31:0] pr_data, output logic pr_error, output logic pr_ready, output logic pr_done, // User signals input logic i1_main, input logic i2_main, output logic o1 ); // Instantiate the PR control block twentynm_prblock m_prblock ( .clk(pr_clk), .corectl(1'b0), .prrequest(pr_request), .data(pr_data), .error(pr_error), .ready(pr_ready), .done(pr_done) ); // PR Interface partition pr_v1 pr_inst( .i1(i1_main), .i2(i2_main), .o1(o1) ); endmodule
VHDL RTL for External Host PR
library ieee; use ieee.std_logic_1164.all; entity top is port( -- PR control block signals pr_clk: in std_logic; pr_request: in std_logic; pr_data: in std_logic_vector(31 downto 0); pr_error: out std_logic; pr_ready: out std_logic; pr_done: out std_logic; -- User signals i1_main: in std_logic; i2_main: in std_logic; o1: out std_logic ); end top; architecture behav of top is component twentynm_prblock is port( clk: in std_logic; corectl: in std_logic; prrequest: in std_logic; data: in std_logic_vector(31 downto 0); error: out std_logic; ready: out std_logic; done: out std_logic ); end component; component pr_v1 is port( i1: in std_logic; i2: in std_logic; o1: out std_logic ); end component; signal pr_gnd : std_logic; begin pr_gnd <= '0'; -- Instantiate the PR control block m_prblock: twentynm_prblock port map ( pr_clk, pr_gnd, pr_request, pr_data, pr_error, pr_ready, pr_done ); -- PR Interface partition pr_inst : pr_v1 port map ( i1_main, i2_main, o1 ); end behav;