为可调参数生成DUT端口

可调参数用来调整你的行为模型在模拟可以映射到顶级DUT港口HDL代码生成。HDL Coder™为每个可调参数生成一个DUT端口。

您可以为可调参数生成一个DUT端口,使用它在其中一个块:

  • 获得

  • 常数

  • MATLAB函数

  • MATLAB系统

  • 图表

  • 真值表

  • 状态转换表

这些块的可调参数可以在任何级别的DUT层次,包括在一个参考模型。

不能将HDL与在这些块中使用可调参数的DUT一起使用。如果在这些块之外的块中使用可调参数,那么代码将内联生成,并且不会映射到DUT端口。控件中使用可调参数的值图表真值表块,看在其他块中使用可调参数

您可以在基本工作区或Simulink中定义和存储可调参数金宝app®数据字典。但是,Simulink金宝app数据字典提供了更多的功能。有关详细信息,请参见什么是数据字典?

先决条件

  • 一个可调金宝app参数的所有实例的Simulink编译数据类型必须相同。

  • 金宝app使用相同名称的可调参数的Simulink块必须以相同的数据速率操作。

要了解有关Simulink编译数据类型的金宝app更多信息,请参见控制块参数数据类型

创建并添加映射到DUT端口的可调参数

为可调参数生成DUT端口:

  1. 创建一个可调参数StorageClass设置为ExportedGlobal

    例如,要创建一个可调参数,myParam,并初始化为5,在命令行中,输入:

    myParam = 金宝appSimulink.Parameter;myParam。值= 5;myParam.CoderInfo。StorageClass =“ExportedGlobal”;

    或者,使用模型资源管理器,创建一个可调参数和:

    • 存储类列的内容窗格中,单击配置链接。

    • 对话框窗格中,单击在Coder App中配置。集存储类ExportedGlobal

    看到从内置的数据类包Simulink创建数据对象金宝app

  2. 在你的Simul金宝appink设计中,使用可调参数作为:

    • 恒定值在一个常数块。

    • 获得参数在一个获得块。

    • MATLAB®函数参数MATLAB函数块。

生成的代码

下列硬件描述语言(VHDL)®代码是代码的一个例子,HDL编码器生成的获得块的获得字段设置为可调参数,myParam。您会看到代码生成器创建了一个DUT端口,并添加了一个注释,以指示该端口对应于一个可调参数。

实体s是PORT(In1: IN std_logic_vector(15 DOWNTO 0);——sfix16_En5 myParam: IN std_logic_vector(15减0);——sfix16_En5可调端口Out1: OUT std_logic_vector(31下至0)——sfix32_En10结束年代;s的体系结构rtl为——信号信号myParam_signed: signed(15降为0);—sfix16_En5信号In1_signed: signed(15 DOWNTO 0);——sfix16_En5信号Gain_out1:有符号(31减为0);——sfix32_En10 BEGIN myParam_signed <= signed(myParam);In1_signed < =签署(in);Gain_out1 <= myParam_signed * In1_signed; Out1 <= std_logic_vector(Gain_out1); END rtl;

限制

确保使用触发信号作为时钟复选框默认保持为清除状态。

在其他块中使用可调参数

控件中使用可调参数的值图表真值表布洛克:

  1. 创建可调参数并在常量块中使用它。

  2. 向要使用可调参数的块添加输入端口。

  3. 连接的输出常数阻塞到新的输入端口。

相关的话题