仅对英特尔可见 — GUID: ddc1491933305113
Ixiasoft
仅对英特尔可见 — GUID: ddc1491933305113
Ixiasoft
2.8.4. Intel® Arria® 10和 Intel® Cyclone® 10 GX PR控制模块仿真模型
Intel® Arria® 10和 Intel® Cyclone® 10 GX PR控制模块支持PR仿真。发送一个仿真RBF (PR比特流)可使PR控制模块相应地运行至PR仿真成功或者PR仿真失败。要激活PR区域仿真wrapper中一个特定PR角色的仿真,使用一个在仿真RBF中编码的PR ID以及PR控制模块。作为独立仿真或者Partial Reconfiguration Controller IP core仿真文件集的一部分对PR控制模块进行仿真。
PR控制模块仿真模型包含两个额外的simulation-only端口—sim_state和sim_pr_id。将这些仿真端口和其他端口连接到twentynm_prblock_if SystemVerilog接口。此连接支持使用测试台的PR控制模块监控器对PR控制模块进行监控。当生成Partial Reconfiguration IP core的仿真文件集时, Intel® Quartus® Prime软件自动例化twentynm_prblock_if接口。如下例所示,获得一个到twentynm_prblock_if的参考,twentynm_prblock_if是IP使用alt_pr_test_pkg::twentynm_prblock_if_mgr singleton进行例化:
virtual twentynm_prblock_if prblock_if; alt_pr_test_pkg::twentynm_prblock_if_mgr cb_mgr; // Get the PR control block from the prblock manager cb_mgr = alt_pr_test_pkg::twentynm_prblock_if_mgr::get(); prblock_if = cb_mgr.if_ref;
interface twentynm_prblock_if(input logic pr_clk, input logic clk); logic prrequest; logic [31:0] data; wire error; wire ready; wire done; logic [31:0] sim_only_state; wire [31:0] sim_only_pr_id; // All signals are async except data clocking cb1 @(posedge pr_clk); output data; endclocking endinterface : twentynm_prblock_if关于twentynm_prblock_if接口的详细信息,请参考<installation directory> /eda/sim_lib/altera_lnsim.sv文件。
package twentynm_prblock_test_pkg; typedef enum logic [31:0] { NONE, IDLE, PR_REQUEST, PR_IN_PROGRESS, PR_COMPLETE_SUCCESS, PR_COMPLETE_ERROR, PR_INCOMPLETE_EARLY_WITHDRAWL, PR_INCOMPLETE_LATE_WITHDRAWL } PR_EVENT_TYPE;
当仿真状态为PR_IN_PROGRESS时,受影响的PR区域必须通过置位pr_activate 信号将其仿真输出多路复用器驱动为X。此操作在部分重配置期间仿真PR区域的未知输出。此外,您必须在PR仿真模型中置位pr_activate信号以通过PR激活值加载PR模型中的所有寄存器。
一旦仿真状态达到PR_COMPLETE_SUCCESS,使用相应的PR区域仿真wrapper mux sel信号来激活相应的PR角色。您可以解码此区域以及从PR控制模块的sim_only_pr_id信号解码特定的选择信号。
1 | zero padding blocks | 0x00000000 |
2 | PR_HEADER_WORD | 0x0000A65C |
3 | PR_ID | 32-bit user ID |
4 | PRDATA_COUNT_0 | 0x01234567 |
5 | PRDATA_COUNT_1 | 0x89ABCDEF |
6 | PRDATA_COUNT_2 | 0x02468ACE |
7 | PRDATA_COUNT_3 | 0x13579BDF |