Intel® Quartus® Prime Pro Edition用户指南: 部分重配置

ID 683834
日期 5/11/2020
Public
文档目录

2.8.5. 生成PR角色仿真模型

使用 Intel® Quartus® Prime EDA Netlist Writer创建PR角色的仿真模型。仿真模型代表角色的后综合(post-synthesis),门级网表(gate-level netlist )。

当对角色使用PR仿真模型时,网表包括模型的一个新的altera_sim_pr_activate顶层信号。您可以异步驱动此信号,通过X加载模型中的所有寄存器。此功能使您能够在PR事件完成时验证新角色的复位顺序。通过检查,使用SystemVerilog assertion或者其他checker来验证复位顺序。

默认情况下,PR仿真模型在pr_activate信号置位时将X异步加载到寄存器的存储单元中。您可以在每个寄存器的基础上或在仿真范围的默认基础上将此行为参数化。仿真模型支持四种内置模式:

  • load X
  • load 1
  • load 0
  • load rand

使用SystemVerilog类指定这些模式:

  • dffeas_pr_load_x
  • dffeas_load_1
  • dffeas_load_0
  • dffeas_load_rand

作为可选,您也可以创建自己的PR激活类(activation class),其中的类(class)必须定义pr_load激活值。

按照以下步骤生成PR设计的仿真模型:

  1. Intel® Quartus® Prime Pro Edition中打开PR工程的基本修订版,然后点击Processing > Start > Start Analysis & Synthesis。或者,运行以下等效命令行:
    quartus_syn <project name> -c <base revision name>
  2. 综合完成后,点击Project > Export Design Partition,对Partition name选择root partition,对Snapshot选择synthesized。点击OK。或者,运行等效命令行:
    quartus_cdb <project name> -c <base revision name> \
         "--export_block root_partition --snapshot synthesized \
         --file <static qdb name>
  3. 点击Project > Revisions,然后将当前修订版切换到要导出的角色的修订版。
  4. 点击Processing > Start > Start Analysis & Synthesis。或者,运行此等效命令行:
    quartus_syn <project name> -c <persona revision name>
  5. 角色修订版的综合完成后,在命令行执行以下命令以生成PR仿真模型:
    quartus_eda <project name> –c <persona revision name> "--pr --simulation \
         --tool=modelsim --format=verilog --partition=<pr partition name> \
         --module=<partition name>=<persona module name>
  6. 对要仿真的所有角色重复步骤3到5。

完整的PR仿真模型生成脚本

quartus_syn <project name> -c <base revision name>
quartus_cdb <project name> -c <base revision name> \
     "--export_block root_partition --snapshot synthesized \
     --file <static qdb name>
quartus_syn <project name> -c <persona revision name>
quartus_eda <project name> –c <persona revision name> \
     "--pr --simulation --tool=modelsim --format=verilog \
     --partition=<pr partition name> --module=<partition name>=\
     <persona module name>