主要内容

为FIL接口生成准备DUT

FIL生成所需的文件和信息

对于fil巫师

准备好以下项目或信息:

  • 为您打算测试的设计提供HDL代码(手动写入或软件)。

  • 选择HDL文件并指定顶级模块名称。

  • 查看端口设置并确保FIL向导识别输入和输出信号和信号尺寸按预期。

  • 如果您使用的是Simulink万博1manbetx®,提供模拟模型,准备接收万博1manbetx生成的FIL块。

下一步

对于HDL工作流程顾问

您可以从任何合适的Simulink模型生成代码并运行fil。万博1manbetx

下一步

应用FIL系统对象要求

系统对象的FIL过程

FIL向导和HDL编码器™HDL Workflow Advisor每个都执行以下操作:

  • 将HDL代码转换为系统对象输入和输出。

  • 步行识别:FPGA设备,源文件,I / O端口和端口信息。

  • 将逻辑添加到被测设备(DUT)以与MATLAB通信®

    通常,该逻辑很小,对设计的适合对FPGA的影响很小。

  • 创建编程文件和FIL系统对象。

笔记

如果设计不适合设备或不符合定时目标,则软件可能无法创建编程文件。在这种情况下,您可能会看到一个警告,设计不符合定时目标,但它仍然生成编程文件,或者您可能会收到错误且没有编程文件。要么改变你的设计,要么使用不同的开发板。

当FIL接口生成完成时,可以使用该方法programfpga.将编程文件加载到FPGA板上。您还可以使用此方法来调整运行时选项和信号属性。

准备好开始,阅读以下主题并确保您的DUT遵守每个部分中描述的规则和指南:

当您完成这些部分时,下一步转到其中系统对象生成带有fil向导或者使用MATLAB的HDL Workflow Advisor进行仿真

用于FIL系统对象的HDL代码注意事项

使用旧版或自动生成的HDL代码时遵循这些规则以生成FIL系统对象。

类别 考虑
HDL文件 所有HDL名称必须在VHDL中定义合法®1993年标准。
顶级设计
  • 顶级设计必须是VHDL或Verilog®

  • 顶级HDL文件必须包含具有与文件名相同的实体/模块。

  • FIL块生成支持组合和顺序逻辑。万博1manbetx对于组合逻辑,CLK,CLK_ENABLE和RESET不需要。

输入和输出
  • 输入和输出端口必须具有以下类型:

    • std_logic(vhdl)

    • std_logic_vector(vhdl)

    • REG,Wire(Verilog)

  • 矢量端口范围必须是:

    • 下降(例如,下降到0,9:0)

    • 文字。不支持使用泛型(VHDL)或参数(Verilog)。万博1manbetx(例如,不支持DOD到B或A:B)万博1manbetx

      不支持下降到语法万博1manbetx

  • 对于Verilog,端口名称必须小写。模块名称必须小写。

  • 必须包括所有输入和输出端口。

  • 必须至少有一个输出端口。

  • 顺序HDL设计必须仅具有顶部实体的一个时钟。时钟和重置是必需的。对于组合HDL设计,不需要时钟束。

  • 命名时钟信号或者CLK.。如果时钟未命名或者CLK.,指定哪个信号是FIL向导中的时钟信号。

  • 时钟端口必须是1位。对于VHDL,它必须是std_logic类型。

重启
  • HDL设计必须重置为能够在仿真之前重置FPGA。

  • 对于顺序设计,必须只有一个重置。时钟和重置是必需的。对于组合HDL设计,不需要时钟束。

  • 命名重置信号重启或者RST.。如果重置未命名重启或者RST.,指定哪个信号是FIL向导中的复位信号。

  • 重置端口必须为1位。对于VHDL,这些端口必须是类型std_logic.

时钟使能
  • 对于顺序设计,如果选择时钟使能,则必须只有一个。

  • 时钟使能端口必须为1位。对于VHDL,这些端口必须是类型std_logic.

  • 如果您有一个时钟启用,请将其命名为以下之一:Clock_Enable.Clock_enb.Clock_en.clk_enable.clk_enb.clk_en.ce。如果时钟使能未命名为这些名称之一,则指定哪个信号是FIL向导中的时钟使能信号。

DUT实体 DUT级别的所有端口必须指定位宽度。不允许使用变量宽度的变量。
时钟边缘 通过正边缘时钟DUT输入和输出端口。不允许负边缘。
不受支持万博1manbetx的数据类型
  • 双向港口

  • 数组,记录类型

不受支持万博1manbetx的构造
  • VHDL配置声明

  • Verilog包括文件

  • 逃脱的名字

  • 重复的端口名称(Verilog)

系统对象的特定于文件规则

FIL输入和输出数据集限制
  • 总输入数据大小必须小于1467字节。输入数据大小是舍入到最接近字节的输入位的总和。

  • 输出数据大小也必须小于1467字节。输出数据大小是向最接近字节的输出位的总和。

输出帧大小

输出帧大小=输入帧大小×超频物料/outputdownsample.

马铃薯FIL系统对象的代码注意事项

matlab兼容性

HDL Verifier™FIL模拟仅支持以下数据类型:万博1manbetx

  • 整数

  • 逻辑

  • 固定点

应用FIL块要求

块的FIL过程

FIL向导和HDL编码器HDL Workflow Advisor每个都执行以下操作:

  • 将HDL代码转换为带有定时的块信号。

  • 步行识别:FPGA设备,源文件,I / O端口和端口信息。

  • 将逻辑添加到被测设备(DUT)以与Simulink通信。万博1manbetx

    通常,该逻辑很小,对设计的适合对FPGA的影响很小。

  • 创建编程文件和FIL模拟块。

笔记

如果设计不适合设备或不符合定时目标,则软件可能无法创建编程文件。在这种情况下,您可能会看到一个警告,设计不符合定时目标,但它仍然生成编程文件,或者您可能会收到错误且没有编程文件。要么改变你的设计,要么使用不同的开发板。

在FIL接口生成完成后,使用FIL块屏蔽将编程文件加载到FPGA板上。您还可以调整运行时选项和信号属性。

准备好开始,阅读以下主题并确保您的DUT遵守每个部分中描述的规则和指南:

当您完成这些部分时,下一步转到块生成带有fil向导或者使用HDL Workflow Advisor for Simulink进行仿真万博1manbetx

用于FIL块的HDL代码注意事项

使用遗留或自动生成的HDL代码时遵循这些规则以生成FIL块。

类别 考虑
HDL文件 所有HDL名称必须在VHDL 1993标准中定义合法。
顶级设计
  • 顶级设计必须是VHDL或Verilog。

  • 顶级HDL文件必须包含具有与文件名相同的实体/模块。

  • FIL块生成支持组合和顺序逻辑。万博1manbetx对于组合逻辑,CLK,CLK_ENABLE和RESET不需要。

输入和输出
  • 输入和输出端口必须具有以下类型:

    • std_logic(vhdl)

    • std_logic_vector(vhdl)

    • REG,Wire(Verilog)

  • 矢量端口范围必须是:

    • 下降(例如,下降到0,9:0)

    • 文字。不支持使用泛型(VHDL)或参数(Verilog)。万博1manbetx(例如,不支持DOD到B或A:B)万博1manbetx

      不支持下降到语法万博1manbetx

  • 对于Verilog,端口名称必须小写。模块名称必须小写。

  • 必须包括所有输入和输出端口。

  • 必须至少有一个输出端口。

  • 顺序HDL设计必须仅具有顶部实体的一个时钟。时钟和重置是必需的。对于组合HDL设计,不需要时钟束。

  • 命名时钟信号或者CLK.。如果时钟未命名或者CLK.,指定哪个信号是FIL向导中的时钟信号。

  • 时钟端口必须是1位。对于VHDL,它必须是std_logic类型。

重启
  • HDL设计必须重置为能够在仿真之前重置FPGA。

  • 对于顺序设计,必须只有一个重置。时钟和重置是必需的。对于组合HDL设计,不需要时钟束。

  • 命名重置信号重启或者RST.。如果重置未命名重启或者RST.,指定哪个信号是FIL向导中的复位信号。

  • 重置端口必须为1位。对于VHDL,这些端口必须是类型std_logic.

时钟使能
  • 对于顺序设计,如果选择时钟使能,则必须只有一个。

  • 时钟使能端口必须为1位。对于VHDL,这些端口必须是类型std_logic.

  • 如果您有一个时钟启用,请将其命名为以下之一:Clock_Enable.Clock_enb.Clock_en.clk_enable.clk_enb.clk_en.ce。如果时钟使能未命名为这些名称之一,则指定哪个信号是FIL向导中的时钟使能信号。

DUT实体 DUT级别的所有端口必须指定位宽度。不允许使用变量宽度的变量。
时钟边缘 通过正边缘时钟DUT输入和输出端口。不允许负边缘。
不受支持万博1manbetx的数据类型
  • 双向港口

  • 数组,记录类型

不受支持万博1manbetx的构造
  • VHDL配置声明

  • Verilog包括文件

  • 逃脱的名字

  • 重复的端口名称(Verilog)

万博1manbetxfil块的模型注意事项

遵循这些规则将FIL块集成到SIMULINK模型中。万博1manbetx

类别 考虑
一般模型规则
  • 使用单个任务求解器模式(使用配置参数设置)。HDL验证器FIL不支持多任务求解模式。万博1manbetx

  • 选择离散,固定步骤溶剂或可变步长溶剂。HDL Verifier Fil支万博1manbetx持两种类型的求解器。

与simulink的不兼容万博1manbetx

HDL验证程序FIL模拟当前不支持以下内容:万博1manbetx

  • 触发子系统中的FIL块的实例化

  • 在异步函数呼叫子系统中实例化fil块

  • 连续采样时间

  • 非零采样时间偏移量

初始化

RAM初始化:Simulink每次从时间万博1manbetx0开始,这意味着在Simulink模型中的RAM初始化为零,每个运行都会初始化为零。但是,这种假设在硬件中不正确。FPGA中的RAM从一个模拟结束到下一个仿真的末尾保持其值。如果您的设计中有RAM,则第一个模拟匹配Simulink,但随后的运行可能不匹配。万博1manbetx解决方法是在重新运行模拟之前重新加载FPGA比特流。要重新加载比特流,请单击“加载在块块掩码上。

块的特定于文件规则

fil块设置规则
  • 输入帧大小必须是输出帧大小的整数倍数。

  • 所有信号必须与硬件中的相应端口相同的位宽度。

  • 在帧模式下,所有输入必须具有相同的帧大小,并且所有输出必须具有相同的帧大小(但可能与输入不同)。

  • 处理作为帧时,所有输入信号必须具有相同的采样时间,并且所有输出信号必须具有相同的采样时间。输出采样时间可以与输入采样时间不同。

  • 处理作为样本时,仅支持标量。万博1manbetx处理作为帧时,仅支持列向量(N-1)。万博1manbetx

  • 万博1manbetx支持的数据类型是内置数据类型和定点数据类型。

  • 将复杂信号分成真实和虚数。FIL模拟不支持复杂信号。万博1manbetx

  • 输出帧大小必须小于输入帧大小。此要求可确保输出帧有足够的数据以在时间0中驱动值0.您可以通过减少输出帧大小或采样时间来避免此错误,或增加输入帧大小或采样时间。

FIL字节大小限制
  • 总输入数据大小必须小于1467字节。输入数据大小是舍入到最接近字节的输入位的总和。

  • 输出数据大小也必须小于1467字节。输出数据大小是向最接近字节的输出位的总和。