概述
这两天由于工作需要在弄simulink,一个非常强大的工具,以前没有接触过,本次工作内容是把模块里面一些固定的constant量作为input口给拉出来,这样可以实现实时改变参数。
使用的工具是matlab的simulink。
下图是一个mux的模块叫做index Vector,第一个输入时控制位,网上找到说这个东西选择都是1+控制变量值,其实不是的,这个与index Vector的配置有关,这个可以选择从0开始还是从1开始,如果从0开始那么就是从控制变量+1,如果从1开始,那么控制变量值是多少就输出哪个分支的值,实验才能获取最准确的结果。
常数变量可以是单独一个数值也可以是一个数组,下面所示,上面的constant就是3个唯一的数值,而下面的是一个数组。
下面那个scope是类似示波器的东西,可以观测波形。
例外还有一个激励源也比较常用就是step,一个给阶跃信号的信号发生器。
生成代码的时候把激励还有观测的都去掉,然后切换文件夹的命令是cd,跟linux很像,直接cd是查看当前的文件夹
Generate SystemVerilog DPI Component 的配置在MathWorks的Help Center-支持-搜索就行,帮助中心的网址如下:
https://ww2.mathworks.cn/help/index.html
最近遇到一个问题就是包含各个子函数的export function的define文件生成不出来,后来勾选generate code only可以了
然后又遇到一个问题,说没有rtw_modelmap.h文件,我看了一下参考的,应该有这个文件,查询发现与CAPI有关,参考下面
https://ww2.mathworks.cn/help/rtw/ug/data-interchange-using-the-c-api.html
也还是不行,暂时直接拷贝的.h,问题应该是用到的.h文件没有一起打包生成
还有一个值得注意的是,我们照着simulink去画模块后,名字不能跟库的一直,否则生成code有问题,我生成的code发现dpi.sv和dpi.c里面的函数名不一致,期望是一致才对,不一致就导致model输出不对了
最后
以上就是舒适泥猴桃为你收集整理的simulin学习笔记的全部内容,希望文章能够帮你解决simulin学习笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复