主要内容

与多个网络生成Simscape HDL代码模型

这个例子展示了如何运行Simscape HDL工作流顾问产生的HDL实现模型Simscape™模型,包含多个网络。你也可以生成一个验证逻辑,数值比较每个Simscape网络与相应的状态空间实现的HDL实现模型。Simscape模型在本例中是一个太阳能逆变器划分为两个网络。学习这个网络是如何分区的,看到的Simscape模型包含一个大型网络分割成多个小型网络

为什么要使用Simscape模型与多个网络

当你Simscape模型包含许多切换元素,整数阶可以包含大量的模式。如此大的HDL实现生成模型设计可以显著消耗了大量的资源,甚至可能无法合成目标FPGA上的设备。减少模式的数量,你可以分区Simscape网络模型中为多个网络,然后运行Simscape HDL工作流顾问。

太阳能逆变器模型与多个网络

打开模型,包含多个网络,运行:

open_system (“sschdlexSolarInverterPartitionedNetworkExample”)

对于这个示例,该模型作为Solar_Power_Inverter_Multiple_Network_HDL保存。这个模型是一样的sschdlexSolarInverterPartitionedNetworkExample但子系统重新排列和太阳能电池板放置在一个逻辑Solar_Panel子系统。

open_system (“Solar_Power_Inverter_Multiple_Network_HDL”)set_param (“Solar_Power_Inverter_Multiple_Network_HDL”,“SimulationCommand”,“更新”)

模型由四个部分组成:太阳能电池板,压力控制器,逆变器控制器,提高变换器和全桥逆变器。太阳能电池板是建模仿真软件利用查找表®。金宝app提高控制器和逆变器控制器提供控制信号boost变换器和全桥逆变器是一个h桥。

原始模型包含boost变换器和全桥逆变器作为一个单独的网络在一个子系统。看到这个模型中,输入:

open_system (“sschdlexSolarInverterSingleNetworkExample”)

分区模型包含两个网络内部独立的子系统。boost变换器,打开PV提高子系统。

open_system (“Solar_Power_Inverter_Multiple_Network_HDL / PV提高”)

全桥逆变器,光伏逆变器子系统。

open_system (“Solar_Power_Inverter_Multiple_Network_HDL /光伏逆变器”)

运行Simscape HDL工作流模型与多个网络顾问

1。打开Simscape HDL工作流顾问为模型,输入:

sschdladvisor (“Solar_Power_Inverter_Multiple_Network_HDL”)
# # #运行Simscape HDL < a href = " matlab:工作流顾问(Solar_Power_Inverter_Multiple_Network_HDL)" > Solar_Power_Inverter_Multiple_Network_HDL < / >更新缓存模型顾问……模型顾问缓存更新。新定制,更新缓存,使用Advisor.Manager。refresh_customizations方法。

2。运行的工作流检查切换线性的任务。

Simscape HDL工作流顾问列表的数量网络出现在模型和代数和微分变量的数量为每个网络。顾问使用解算器配置块来识别每一个独特的网络模型。

3所示。运行提取方程的任务。

任务显示模式的数量,输入,输出,和微分变量为每个Simscape网络。

4所示。运行离散化方程的任务。

状态方程表示现在使用更少的模式。模式的数量58提高转炉和9全桥逆变器,结果的总数67年模式。减少数量的模式保存区域的HDL实现模型在目标设备上。

5。改变验证逻辑宽容1的军医并选择为实现模型生成验证逻辑复选框。运行生成实现模型的任务。

开放的高密度脂蛋白HDL实现模型和验证算法

打开实现模型,点击链接生成实现模型任务日志。重命名和Solar_Power_Inverter_Multiple_Network_StateSpace模型。

open_system (“Solar_Power_Inverter_Multiple_Network_StateSpace”)set_param (“Solar_Power_Inverter_Multiple_Network_StateSpace”,“SimulationCommand”,“更新”)

模型包含两个子系统高密度脂蛋白。高密度脂蛋白子系统块提高变换器的状态方程模型。高密度脂蛋白Subsystem1块全桥逆变器的状态方程模型。验证和Validation1子系统比较功能对等的状态空间表示的boost变换器和全桥逆变器与相应Simscape网络在原始模型。

状态方程参数保存在一个文件Solar_multiple_network_stateSpaceParameters.mat垫。文件包含两个单元阵列结构。一个结构包含提高转换器的参数。其他结构包含了全桥逆变器的参数。

比较功能对等,模拟模型。如果模拟模型产生的断言,可以解决验证不匹配通过修改中的各种设置的组合生成实现模型任务直到Simscape HDL实现模型匹配算法。设置包括增加验证逻辑宽容,增加规划求解的迭代的数量,以及更改浮点精度。有关更多信息,请参见HDL实现模型Simscape算法进行验证

生成HDL代码和验证模型

1。使生成的资源利用率报告。

hdlset_param (“Solar_Power_Inverter_Multiple_Network_StateSpace”,“ResourceReport”,“上”)

2。生成HDL代码之前,建议您使一代的验证模型。验证模型比较生成的输出模型的代码生成后输出的原始模型。欲了解更多,请看生成模型和验证模型

HDLmodelname =“Solar_Power_Inverter_Multiple_Network_StateSpace”;hdlset_param (HDLmodelname“TargetDirectory”,“C: / Temp / hdlsrc”);hdlset_param (HDLmodelname“GenerateValidationModel”,“上”);

3所示。运行makehdl函数来生成代码。生成对高密度脂蛋白HDL代码子系统模块,您可以将块放到另一个顶级的子系统,然后生成HDL代码。名字像HDL_DUT这个子系统。

makehdl (“Solar_Power_Inverter_Single_Network_StateSpace / HDL_DUT”)

HDL代码生成和验证模型保存在C: / Temp / hdlsrc目录中。生成的代码保存为HDL_DUT_tc.vhd。打开验证模型,点击链接gm_Solar_Power_Inverter_Multiple_Network_StateSpace_vnl。基金代码生成日志的命令窗口。

4所示。当你生成HDL代码,打开代码生成报告。资源利用率报告表明大量的蛇,乘数和寄存器可能消耗目标FPGA上的设备。

两个网络的整体资源消耗的资源消耗明显低于一个大型网络。了解单一太阳能逆变器网络的资源消耗,明白了Simscape模型包含一个大型网络分割成多个小型网络

另请参阅

功能

相关的话题