热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

modelsim和matlab联合仿真,一个simulink和modelsim联合仿真的简单例子(转)

首先,要安装matlab和modelsim,这个是不用说的了。然后要在matlab里对modelsim进行配置,在命令窗口中输入confi

首先,要安装matlab和modelsim,这个是不用说的了。

然后要在matlab里对modelsim进行配置,在命令窗口中输入configuremodelsim,根据提示一步一步进行即可。

然后在matlab的File/Set Path菜单中加入Modelsim所在的路径。

把matlab的当前路径切换到modelsim的可执行文件所在的目录,在命令窗口中输入

vsim('socketsimulink',4449)

则modelsim软件被启动,在modelsim中创建一个inverter.v文件:

module inverter(sin,sout,clk);

input [7:0] sin;

output [7:0] sout;

input clk;

reg [7:0] sout;

always @(posedge clk)

begin

sout<=~sin;

end

endmodule

这个程序很简单,就是个取反逻辑。

在modelsim的命令窗口输入:

vlib work

vmap work work

vlog inverter.v

如果有出错信息,注意检查modelsim的工作路径与文件的路径是否一致,代码是否有输入错误。

如果编译没有错误,就在命令窗口继续输入:

vsimulink work.inverter

现在modelsim的仿真已经运行起来了,但是这个仿真没有测试向量输入,实际上,modelsim是作为一个服务器,等待着simulink发送输入信号,并把输出信号返回给simulink。

所以我们现在回到matlab,在命令窗口输入simulink,进入simulink环境。

建立一个新的模型文件,在文件窗口内,建立如下的模型:

f6500bb7.jpg

模型由三个模块组成:最左侧的是一个信号源,最右侧的是一个示波器,中间就是simulink和modelsim的桥梁--HDL Cosimulation模块。

Counter Free-Running的参数设置如下:

Number of Bits:8

Sample time:1

这表示信号源输出一个8位二进制数,采样周期为1秒,每个1秒输出值加1。

示波器参数不需要设置,比较复杂的是HDL Cosimulation模块的参数设置,为了描述简单,我这里直接给出参数设置的图片,具体参数的解释在下一篇里讲。

(1)Ports参数

20031027.jpg

(2)Clocks参数

1197960127411eac9d.jpg

(3)Timescales参数

60a724c1.jpg

(4)Connection参数

c92a5a2b.jpg

(5)Tcl参数

b7b969f1.jpg

设置好模块参数后,再设置仿真的配置参数如下:

e29703d2.jpg

下面就可以点击仿真按钮,如果没有错误的话,双击示波器模块,就可以看到输出信号波形,和输入信号相比,两者在数值上正好是二进制的取反。

好,一个simulink和modelsim仿真的完整过程就实现了,有时间再仔细讨论具体的参数。



推荐阅读
author-avatar
立案whan_597
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有