Matlab和Modelsim联合仿真

软件版本:

Matlab R2012a x64

Modelsim SE-64 10.2c

安装好以上版本的软件后,不用做其他设置,直接进行下面的步骤。如果matlab使用到S-function函数的话,需要安装和设置相应编译器等,在此不再详细描述。

操作步骤

1.     在matlab工作空间中输入cosimWizard,回车后弹出如下对话框:

如上图,如果正确安装了Modelsim软件,Matlab会自动识别出,请确认上面红色方框中的选择和图中一致。

2.     点击Next后,弹出如下对话框:


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

点击Next按钮后,会显示如下对话框:


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

3.     正确编译后,matlab会进入下一步,显示如下对话框:


在红色圈出的编译框中输入仿真的顶层模块名字xxx,其他不用更改,输入后点击Next按钮,matlab会弹出一个DOS窗口,进行一些文件生成和操作,不用管,完成后DOS窗口会自动关闭。

4.     然后会进入下一个步骤,设置输入输出端口。这里需要注意的,如果有时钟和复位信号的话,而且这两个信号在simulink工作空间中不单独给输入信号,就需要在此进行单独设置,设置后生成的仿真模块不在包含这两个引脚,但是会依据设置的情况内部直接给定激励。如下图,在此我们将clk_sys_s设置为时钟信号,并在随后弹出的对话框中对其进行设置。复位信号rst_sys我们在simulink中给出激励,在此不再进行设置。


5.     点击上图Next后进入下一步,设置输出信号的采样周期,在此我们将输出信号的采样周期设置为xxx(s),如下图:


需要注意,此处的采样周期需要填写数字,单位s,填写工作空间中定义好的变量名字有时会出错。


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



7.     点击Next按钮,进入下一步,如下图:


8.     上图中不用进行任何设置,直接点击Next按钮,进入下一步,如下图:


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




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


选择Simulation选项卡,如下图


将图中的xxx2.5改为xxx3即可,如下图


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


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

  • 6
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
MatlabModelsim联合仿真可以实现FPGA图像处理的验证。具体步骤如下: 1. 使用Matlab对原始图像进行处理,生成txt文档(例如post_img.txt),可以使用img_data_gen.m脚本来实现这一步骤。这个txt文档包含了图像的数据。 2. 在Modelsim中建立一个工程,命名为top_tb,并编写测试代码。测试代码中需要包含待测试的模块top.v,该模块包含了图像处理模块和图像生成模块(类似于VGA模块)。测试代码的文件名为top_tb.v。 3. 在测试模块top_tb中,可以进行仿真波形的查看。同时,通过代码中的逻辑,将VGA数据逐像素地写入到post_img.txt文档中。 4. 使用Matlab对post_img.txt文档进行处理,将其转换成图像的形式。可以使用img_data_show.m脚本来实现这一步骤。 通过以上步骤,就可以实现MatlabModelsim联合FPGA图像处理仿真。具体实现方法可以参考上述引用\[1\]和\[2\]中提供的原理图和步骤分析。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [Modelsim联合Matlab进行FPGA图像处理仿真与测试的学习总结(以RGB转Ycbcr转Gray为例)](https://blog.csdn.net/H19981118/article/details/124799121)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值