人在仿真软件万博1manbetx

万博1manbetxSimulink &基于模型的设计

检测除以零错误

如果你能分析一个Simulink模型,并证明它永远不会遇到设计错误,比如被零除和溢出,那万博1manbetx不是很好吗?因为MATLAB R2011a,这是可能的!

这周,我的朋友Nishaat Vasi的新特性万博1manbetx仿真软件设计验证器

用Simulink设计验证器检测设计错误万博1manbetx

尼沙特·瓦西,客座博主,除零检测器想象一下,在测试赛道上以每小时100英里的速度驾驶一辆新原型车时,由于嵌入式设计的零误差划分导致变速箱毫无理由地换到了第一档。在这种情况下,即使是汽车发烧友也不想成为试车手!在您的Simulink模型中,可以很容易地检测到设计逻辑和数学运算中的此类错误,而不需要进行广泛的测试或模拟运行。万博1manbetx

考虑一个控制器模型的一小部分,它有一个输入总线,我在MATLAB工作空间中定义了它:

控制器实例模型

这个模型可以很好地模拟InBus声明中的输入集,但是我想确保它不会导致任何动态执行错误。我用了新的发现设计错误选择的万博1manbetx仿真软件设计验证器如下:

检测设计错误

该工具突出了模型上的分析结果,使调试潜在问题变得更加容易:

设计检测总结

对于每个带有错误(红色)的块,万博1manbetx仿真软件设计验证器计算信号范围边界,并生成一个测试向量,该测试向量在模拟中再现误差。使用这个测试用例使我能够很容易地识别哪些输入导致了错误,并设计一种防御机制来避免这种情况。您可能会注意到,绿色高亮表示该块没有产生设计违规。检测到的设计错误包括死逻辑、整数溢出、被零除以及违反设计属性和断言。然后,这些信息可以用于改进设计及其需求,或者指导调试和验证的模拟。

Simulink设计验证器概述视频(万博1manbetx1:50)

这个新的R2011a特性可以为您节省大量的时间、精力和金钱来调试设计错误——甚至在运行模拟之前!

现在轮到你了

您如何看待设计错误检测功能?您以前遇到过这样的设计错误吗?离开我们这里的评论

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。