HDL代码生成的系统对象
高密度脂蛋白编码器™既金宝app支持预定义和用户定义的系统对象代码生成。
为什么要使用系统对象吗?
系统对象提供一个设计优势,因为:
你可以节省时间在设计和测试通过使用现有的系统对象™组件。
你可以设计和定制系统对象在多个设计重用。
你可以定义你的算法的系统对象,和重用在一个MATLAB设计的多个实例。
这个成语不能用于MATLAB函数的状态。例如,如果算法状态,需要使用持久变量,函数不能多次实例化设计。相反,您需要为每个实例复制和重命名的功能。
HDL代码生成系统对象模块化和更具可读性。
预定义的系统对象
预定义的系统对象用MATLAB可用®、DSP系统工具箱™和通信工具箱支持™HDL代码生成。金宝app列表,请参阅预定义的系统对象支持HDL代码生成金宝app。
用户定义的系统对象
您可以创建用户定义的系统对象HDL代码生成。例如,看到的为用户定义的系统对象生成代码。
HDL代码生成的局限性系统对象
以下限制适用于HDL代码生成系统对象:
你的设计可以调用系统对象只有一次。
你不能调用对象在一个嵌套的条件语句,如一个嵌套循环,
如果
声明中,或开关
声明。你不能调用对象在一个条件语句包含一个矩阵索引操作。
一个系统对象必须声明持久如果状态。
系统对象的状态,当它有一个可调私人或公共属性,或属性
DiscreteState
属性。您可以使用
dsp.Delay
系统对象只有在前馈延时建模。不支持枚举。金宝app
不支持全局变量。金宝app
金宝app支持方法
为预定义的系统对象调用对象本身是支持HDL代码生成,但没有其他对象支持功能。金宝app
为用户定义的系统对象,要么一步
方法,或输出
和更新
HDL代码生成方法,支持。金宝app
额外的限制为预定义的系统对象
预定义的系统对象不支持从在HDL金宝app代码生成MATLAB系统块。
为用户定义的额外的限制系统对象
除了限制系统对象以下限制适用于用户定义的系统对象HDL代码生成:
在
setupImpl
和resetImpl
方法,如果属性或变量赋值,值必须是常数。如果你的设计使用
输出
和更新
方法,它可以调用每一个方法只有一次/系统对象。初始和重置属性的值必须在编译时常量。
用户定义的系统对象不得公共属性。
内具有多个输出的系统对象不能被称为一个条件语句。
系统对象示例HDL代码生成
学习如何使用系统对象HDL代码生成、查看MATLAB设计下面的例子: