Visible to Intel only — GUID: fsi1639770113644
Ixiasoft
Visible to Intel only — GUID: fsi1639770113644
Ixiasoft
2.8.6.1. Monitoring the SDM
The SDM simulation model exposes the following additional simulation-only ports through the altera_config_stream_endpoint module:
- sim_only_state
- sim_only_pr_id
You connect these simulation ports to the config_stream_endpoint_pr_if SystemVerilog interface. This connection allows monitoring of the SDM using your testbench’s SDM monitor.
The Quartus® Prime software automatically instantiates the config_stream_endpoint_pr_if interface when generating the simulation file set of the Partial Reconfiguration Controller and the Partial Reconfiguration External Configuration Controller IP.
You can obtain a reference to the config_stream_endpoint_pr_if that the IP instantiates by using the following singleton:
intel_pr_mailbox_test_pkg::config_stream_endpoint_pr_if_mgr
The following example shows this reference:
virtual config_stream_endpoint_pr_if pr_mailbox_if intel_pr_mailbox_test_pkg::config_stream_endpoint_pr_if_mgr pr_mbox_mgr; // Get the PR Config Stream Endpoint from the pr_mbox manager pr_mbox_mgr = intel_pr_mailbox_test_pkg::config_stream_endpoint_pr_if_mgr\ ::get(); pr_mailbox_if = pr_mbox_mgr.if_ref;
The following is the code for the config_stream_endpoint_pr_if interface:
interface config_stream_endpoint_pr_if (input logic clk); wire [31:0] sim_only_state; wire [31:0] sim_only_pr_id; endinterface : config_stream_endpoint_pr_if
Refer to the following file for more information on the config_stream_endpoint_pr_if interface:
<installation directory>/eda/sim_lib/altera_lnsim.sv
The simulation state of the SDM simulation model represents the PR_EVENT_TYPE enumeration state of the SDM. The config_stream_endpoint_pr_test_pkg SystemVerilog package defines these enumerations. These states represent the different allowed states for the SDM. The following are SDM enumeration definitions:
package config_stream_endpoint_pr_test_pkg; typedef enum logic [31:0] { NONE, IDLE, PR_REQUEST, PR_IN_PROGRESS, PR_COMPLETE_SUCCESS, PR_COMPLETE_ERROR, PR_INCOMPLETE_SYS_BUSY, PR_INCOMPLETE_BAD_DATA } PR_EVENT_TYPE;