可调参数用来调整你的行为模型在模拟可以映射到顶级DUT港口HDL代码生成。HDL Coder™为每个可调参数生成一个DUT端口。
您可以为可调参数生成一个DUT端口,使用它在其中一个块:
获得
常数
MATLAB函数
MATLAB系统
图表
真值表
状态转换表
这些块的可调参数可以在任何级别的DUT层次,包括在一个参考模型。
不能将HDL与在这些块中使用可调参数的DUT一起使用。如果在这些块之外的块中使用可调参数,那么代码将内联生成,并且不会映射到DUT端口。控件中使用可调参数的值图表或真值表块,看在其他块中使用可调参数。
您可以在基本工作区或Simulink中定义和存储可调参数金宝app®数据字典。但是,Simulink金宝app数据字典提供了更多的功能。有关详细信息,请参见什么是数据字典?。
一个可调金宝app参数的所有实例的Simulink编译数据类型必须相同。
金宝app使用相同名称的可调参数的Simulink块必须以相同的数据速率操作。
要了解有关Simulink编译数据类型的金宝app更多信息,请参见控制块参数数据类型。
为可调参数生成DUT端口:
创建一个可调参数StorageClass
设置为ExportedGlobal
。
例如,要创建一个可调参数,myParam
,并初始化为5,在命令行中,输入:
myParam = 金宝appSimulink.Parameter;myParam。值= 5;myParam.CoderInfo。StorageClass =“ExportedGlobal”;
或者,使用模型资源管理器,创建一个可调参数和:
在存储类列的内容窗格中,单击配置链接。
在对话框窗格中,单击在Coder App中配置。集存储类来ExportedGlobal
。
在你的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;
确保使用触发信号作为时钟复选框默认保持为清除状态。
控件中使用可调参数的值图表或真值表布洛克:
向要使用可调参数的块添加输入端口。
连接的输出常数阻塞到新的输入端口。