Matlab和Modelsim联合仿真

软件版本:

Matlab R2012a x64
Modelsim SE-64 10.2c
安装好以上版本的软件后,不用做其他设置,直接进行下面的步骤。如果matlab使用到S-function函数的话,需要安装和设置相应编译器等,在此不再详细描述。
操作步骤 1.在matlab工作空间中输入cosimWizard,回车后弹出如下对话框:
Matlab和Modelsim联合仿真
文章图片
Matlab和Modelsim联合仿真
文章图片


如上图,如果正确安装了Modelsim软件,Matlab会自动识别出,请确认上面红色方框中的选择和图中一致。
2.点击Next后,弹出如下对话框:
Matlab和Modelsim联合仿真
文章图片

Matlab和Modelsim联合仿真
文章图片

点击上图中Add按钮,将工程中的HDL文件添加进来,请注意工程文件中的顺序需要仔细考虑,如果次序错误,可能导致编译通不过(对于我们的工程需要先添加xxx.vhd,然后再添加其他文件,因为此文件中主要定义了一些常量和数据类型,需要被其他文件调用)。添加文件后的界面如下:
Matlab和Modelsim联合仿真
文章图片

Matlab和Modelsim联合仿真
文章图片

点击Next按钮后,会显示如下对话框:
Matlab和Modelsim联合仿真
文章图片

Matlab和Modelsim联合仿真
文章图片

再次点击Next,Status窗口中会显示“CompilingHDL files. Please wait ...”,matlab会对添加进去的文件进行编译(当然是调用了modelsim进行编译),如果没有任何问题会直接进入下一步,如果有问题,Status窗口会给出提示,返回去修改正确后重新按照上面的步骤操作即可。
3.正确编译后,matlab会进入下一步,显示如下对话框:
Matlab和Modelsim联合仿真
文章图片

Matlab和Modelsim联合仿真
文章图片

在红色圈出的编译框中输入仿真的顶层模块名字xxx,其他不用更改,输入后点击Next按钮,matlab会弹出一个DOS窗口,进行一些文件生成和操作,不用管,完成后DOS窗口会自动关闭。
4.然后会进入下一个步骤,设置输入输出端口。这里需要注意的,如果有时钟和复位信号的话,而且这两个信号在simulink工作空间中不单独给输入信号,就需要在此进行单独设置,设置后生成的仿真模块不在包含这两个引脚,但是会依据设置的情况内部直接给定激励。如下图,在此我们将clk_sys_s设置为时钟信号,并在随后弹出的对话框中对其进行设置。复位信号rst_sys我们在simulink中给出激励,在此不再进行设置。
Matlab和Modelsim联合仿真
文章图片

Matlab和Modelsim联合仿真
文章图片

5.点击上图Next后进入下一步,设置输出信号的采样周期,在此我们将输出信号的采样周期设置为xxx(s),如下图:
Matlab和Modelsim联合仿真
文章图片

需要注意,此处的采样周期需要填写数字,单位s,填写工作空间中定义好的变量名字有时会出错。
Matlab和Modelsim联合仿真
文章图片



【Matlab和Modelsim联合仿真】6.点击Next按钮后,进入下一步,设置系统时钟信号,在此我们将系统时钟周期设置为xxxns,请注意时间的单位需要在下拉框中单独设置。如下图:
Matlab和Modelsim联合仿真
文章图片


Matlab和Modelsim联合仿真
文章图片

7.点击Next按钮,进入下一步,如下图:
Matlab和Modelsim联合仿真
文章图片

Matlab和Modelsim联合仿真
文章图片

8.上图中不用进行任何设置,直接点击Next按钮,进入下一步,如下图:
Matlab和Modelsim联合仿真
文章图片

Matlab和Modelsim联合仿真
文章图片

9.上图中依然不用做任何设置,直接点Finish完成设置。完成后matlab会自动新建一个simulink模型文件,并在里面包含如下图所示三个文件。其中左边的一个是模型对应的接口文件;右上方的是模型的编译快捷方式,双击即可自动调用modelsim命令,完成模型对应的所有HDL文件的自动编译;右下方的是启动仿真器的快捷方式,双击即可自动启动modelsim,并完成simulink和modelsim的链接。可以将此三个文件拷贝到搭建好的simulink模型中即可使用。
Matlab和Modelsim联合仿真
文章图片



Matlab和Modelsim联合仿真
文章图片



10.需要补充说明一点的是,正常情况下到上面第9步就可以结束了,但是因为我们的系统时钟周期为xx5ns,为奇数,在仿真时,时钟的占空比是50%,会产生带小数点的高电平和低电平周期,影响仿真速度,且容易出问题,我们需要双击上图中的matlab模块,对其进行手动修改。双击后弹出如下对话框:
Matlab和Modelsim联合仿真
文章图片


选择Simulation选项卡,如下图
Matlab和Modelsim联合仿真
文章图片


将图中的xxx2.5改为xxx3即可,如下图
Matlab和Modelsim联合仿真
文章图片


点击Apply按钮和OK按钮即可。

上文用到的图,均因本人从事的是商业项目,不便透漏与项目有关的信息,因此涂抹掉了与项目相关的部分信息,如有不明白的,可以留言或发邮件,我会尽量全部答复。

    推荐阅读