在SaberRD中实现对分层符号属性值的数据限制

电子说

1.3w人已加入

描述

描述

分层符号属性提供了将模型参数值向下传递到其子示意图级别的灵活性,用户可以对传递到子原理图级别的值进行数据限制,数据限制有助于避免对内部模型使用不切实际的值。

本文解释了对使用分层符号属性传递的值实施数据限制的步骤。

使用带有简单分层原理图和符号的测试设计来说明解决方案。请按照本文末尾的网盘链接下载测试设计文件,在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时,分层模块才允许运行模拟。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分