电子说
描述
分层符号属性提供了将模型参数值向下传递到其子示意图级别的灵活性,用户可以对传递到子原理图级别的值进行数据限制,数据限制有助于避免对内部模型使用不切实际的值。
本文解释了对使用分层符号属性传递的值实施数据限制的步骤。
使用带有简单分层原理图和符号的测试设计来说明解决方案。请按照本文末尾的网盘链接下载测试设计文件,在SaberRD中打开测试设计并打开分层块。恒定控制源和PWL控制源用于传递数字和字符串数据类型,如下所示。
运行瞬态仿真,并绘制信号out1和out2。
现在,让我们分别限制用户在pass_real或pass_string属性中输入任何随机数或字符串值。请按照以下步骤实施数据限制:
1、数据限制逻辑
数据限制逻辑采用MAST语言编写,保存为扩展名为*.sin的文件格式,如下图所示。按照本文末尾的网盘链接下载data_restriction_logic.sin。将文件保存在与测试设计相同的位置。按照此处编写的逻辑,用户只能为 pass_real 属性输入10、15和20等值。
同样,pass_string属性将限制除data_file.txt之外的任何数据文件名。验证逻辑不限于这些值。你可以根据你的数据限制要求重写data_restriction_logic.sin文件中的代码。
2、执行 MAST 代码
MAST 代码是通过在 SaberInclude 模板中定义它并将 Saber Include 符号放置在分层原理图中来执行的,如下所示。Saber Include 文件将 MAST 代码与设计一起加载到模拟器中。
现在,保存设计并运行瞬态分析。由于对分层符号属性应用了数据限制,因此仿真器器无法加载设计。
可以根据你的要求在data_restriction_logic.sin文件中编辑脚本窗口中显示的错误消息。
现在,仅当pass_real和pass_string属性的值分别为10,15或20 和data_file.txt时,分层模块才允许运行模拟。
全部0条评论
快来发表一下你的评论吧 !