仅对英特尔可见 — GUID: xjt1506635799315
Ixiasoft
1.1. 部分重配置术语
1.2. 部分重配置过程序列
1.3. 内部主机部分重配置
1.4. 外部主机部分重配置
1.5. 部分重配置设计考量
1.6. 部分重配置设计流程
1.7. 层次化部分重配置(Hierarchical Partial Reconfiguration)
1.8. 部分重配置设计时序分析
1.9. 部分重配置设计仿真
1.10. 部分重配置设计调试
1.11. PR比特流安全性验证( Intel® Stratix® 10和 Intel® Agilex™ 设计)
1.12. PR比特流压缩和加密( Intel® Arria® 10和 Intel® Cyclone® 10 GX设计)
1.13. 避免PR编程错误
1.14. 对PR设计导出与版本兼容的编译数据库
1.15. 创建一个部分重配置设计修订历史
2.1. 内部和外部PR主机配置
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-MM Partial Reconfiguration Freeze Bridge Intel® FPGA IP
2.7. Avalon-ST Partial Reconfiguration Freeze Bridge Intel® FPGA IP
2.8. 生成和仿真 Intel® FPGA IP
2.9. Intel® Quartus® Prime Pro Edition用户指南:部分重配置存档
2.10. 部分重配置解决方案IP用户指南修订历史
2.3.1. 从接口(Slave Interface)
2.3.2. 重配置序列
2.3.3. 中断接口(Interrupt Interface)
2.3.4. 参数
2.3.5. 端口
2.3.6. 时序规范
2.3.7. PR控制模块和CRC模块Verilog HDL手动例化
2.3.8. PR控制模块和CRC模块VHDL手动例化
2.3.9. PR控制模块信号
2.3.10. 为 Intel® Arria® 10或者 Intel® Cyclone® 10 GX设计配置一个外部主机
Verilog RTL for External Host PR
VHDL RTL for External Host PR
仅对英特尔可见 — GUID: xjt1506635799315
Ixiasoft
2.3.10. 为 Intel® Arria® 10或者 Intel® Cyclone® 10 GX设计配置一个外部主机
使用外部主机配置时,外部主机会启动部分重配置,并在用户模式下使用外部PR专用管脚监视PR状态。在这种模式下,外部主机必须对握手信号做出适当响应,以成功进行部分重配置。外部主机将部分比特流数据从外部存储器写入 Intel® Arria® 10或者 Intel® Cyclone® 10 GX器件中。确保准备正确的PR区域用于部分重配置,以协调系统级别的部分重配置。重配置后,将PR区域返回到操作状态。
在设计中使用一个外部主机:
- 点击Assignments > Device > Device & Pin Options。
- 在Device & Pin Options对话框中选择Enable PR Pins选项。此选项自动创建特殊的部分重配置管脚,并在device pin-out出中定义管脚。此选项还自动将管脚连接到PR控制模块的内部路径。
注: 如果不选择此选项,那么必须使用一个内部主机或者HPS主机。您无需在设计顶层实体中定义管脚。
- 将这些顶层管脚连接到PR控制模块中的特定端口。
下表列出了Enable PR Pins开启时自动约束的PR管脚 ,以及到此引脚的特定PR控制块端口连接:
管脚名称 | 类型 | PR控制模块端口名称 | 描述 |
---|---|---|---|
PR_REQUEST | Input | prrequest | 此管脚上的逻辑高电平表示PR主机正在请求部分重配置。 |
PR_READY | Output | ready | 此管脚上的逻辑高电平表示PR控制模块已准备好开始部分重配置。 |
PR_DONE | Output | done | 此管脚上的逻辑高电平表示部分重配置完成。 |
PR_ERROR | Output | error | 此管脚上的逻辑高电平表示重配置期间器件中的一个错误。 |
DATA[31:0] | Input | data | 这些管脚对PR_DATA提供连接性,将PR比特流传输到PR控制器。 |
DCLK | Input | clk | 接收同步的PR_DATA。 |
注:
- PR_DATA的宽度可以是8,16或者32-bits。
- 确保将PR控制模块的corectl端口连接到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;