AN 1007: Partial Reconfiguration Design Simulation Tutorial

ID 819958
Date 5/17/2024
Public

5. Partial Reconfiguration Simulation Requirements

“PR mode” of the EDA netlist writer (Required for PR Reset Sequence Verification )

“PR mode” of the EDA netlist is a post-synthesis technology mapped netlist for each persona. It uses PR simulation model of DFFEAS and models:

  • The physical effect of registers powering up as unknown ‘X’ after PR
  • Forcing the registers to unknown ‘X’ during PR
    • Requires the registers to be explicitly reset to a known state after PR
    • Causes all outputs of the PR region being unknown ‘X’ during PR
  • Supports loading 0, 1, or random 0/1 during PR (instead of X)
  • X-pessimistic LUTs models

PR Mode DFFEAS

Adds a new simulation only port on the model, pr_activate, to async load X into the register
  • This has the effect of making the register drive the unknown state
  • Ties pr_activate to a top level signal of the simulation model for the PR persona and drive that signal from the testbench
  • Generates reports for the register values if any of the corresponding events are triggered

PR Simulation Wrapper (Required for Persona Swapping Simulation )

PR Simulation Wrapper instantiate all personas in a single module, Personas can be RTL or PR Simulation model. It also includes

  • Input and output multiplexers (altera_pr_wrapper_mux_in & altera_pr_wrapper_mux_out)
  • PR region interface (altera_pr_persona_if)
    • Allows to connect the wrapper multiplexers to a testbench driver
  • The PR select lines: PR Input/Output Mux Control
    • Simulation-only signals inside the PR region model: to switch between the different PR personas
    • Can be driven by the testbench
Figure 2. PR Simulation Wrapper file example

PR Region Interface : altera_pr_persona_if

It is defined in <QUARTUS_INSTALL_DIR>/eda/sim_lib/altera_lnsim.sv

Figure 3. altera_pr_persona_if file

PR Input and Output Multiplexers

  • Defined in <QUARTUS_INSTALL_DIR> /eda/sim_lib/altera_lnsim.sv
  • Designate which persona is active in the simulation
  • Used for swapping the personas in the design
Figure 4. altera_pr_wrapper_mux_in & altera_pr_wrapper_mux_out files

Testbench

  • Drives the pr_activate and persona_select signals
  • Selects a persona, asserts pr_activate to start PR, deasserts pr_activate, triggers the report storage events, resets the PR region
Figure 5. PR Simulation Wrapper file example