使用第三方仿真时,理解仿真输出VHDL架构有助于成功调试FPGA VI。

测试台结构tb_NiFpgaSimulationModel包含仿真所需的模型层次,如下图所示。

以下列表更详细地介绍了仿真测试台的组件。

tb_NiFpgaSimulationModel—总体测试台架构的默认名称。名称以tb_开始,名称的第二部分是在仿真导出属性对话框信息部分的顶层仿真模型名称

  • 主激励进程—在这里添加代码以设置输入控件、读取显示控件,以及为其他FPGA VI执行其他激励。在NiFPGA_RunNiFpga_Close之间输入想要执行的代码。
  • NiFpgaSimulationModel—仿真模型。
    • NiFpgaSimInterface—总线接口,LabVIEW用来与终端特定代码通信的VHDL。名称以NiFpgaSim开始,并包括interface。名称的其他部分由终端决定。
    • Toplevel架构—特定终端的代码。模型的确切名称因终端而异。
      • TheWindow—要与之交互的代码。TheWindow将CLIP代码和FPGA VI代码进行分组。
        • Clip—在LabVIEW项目中指定的CLIP实例的CLIP仿真代码。您可以在配置组件级IP向导的名称和源页面上为CLIP指定仿真行为。该模型分组下的任意代码都是用户定义的。
        • TheVI—LabVIEW为FPGA VI生成的代码。LabVIEW分配给TheVI的名称来自仿真导出属性对话框源文件页指定的顶层VI的名称。
          • 输入控件和显示控件—FPGA VI中输入控件和显示控件的代码。该部分模型也包含处理FPGA VI重置的代码。
          • VI逻辑—这部分模型包含从FPGA VI的程序框图运行VI逻辑的代码。该部分模型的代码层次结构反映了程序框图的层次结构。例如,模型中的单循环定时结构、平铺式顺序结构、条件结构包含VHDL代码,表示程序框图上的这些节点。
        • (可选)I/O激励/响应—模型的这一部分包含仿真FPGA终端I/O所添加的代码。

TheVI下的VI逻辑

具有多个子程序框图的结构(条件结构、平铺式顺序结构等)的每个帧都有单独的VHDL实体对应。这些VHDL实体的名字以_diag以表明它们代表一个子程序框图。

可重入子VI的VHDL代码表现形式与结构相同。可重入子VI在VHDL代码层次结构中有多个实例。这些实例对应于程序框图中对子VI的调用。

不可重入的子VI包含特殊的VHDL逻辑来管理进入和来自重入子VI的数据流。

VHDL代码还包含表示LabVIEW VI和函数的实体。大多数这些元素都是加密的,但是您可以在其端口映射上看到传入和传出的值。