Modelsim10.2c使用教程(一个完整工程的仿真)

 这学期在玩Altera的板子,不不, 现在应该叫intel PSG。在QuartusII13.0上老喜欢用modelsim_ae做仿真,小工程用起来也方便,但是我做IIC配置摄像头的时序仿真时,就显得有些吃力,所以还是用modelsim_se才是正点。参加了一个集成电路设计大赛,企业杯。是一家国产FPGA公司,他们的FPGA开发板已经做到了40nm的级别,虽然这和业界标杆还有很大差距,但是看到我们国家在进步,差距一定会逐渐缩小的,该公司的PDS编译工具,用起来也很容易上手,不过没有带仿真工具,所以只能使用modelsim仿真喽。

  以前老想用QuartusII和modelsim单独仿真,找了很多方法都没有实现,但看了一个前辈的视频后,一下改变了我的想法,光使用modelsim也可以完成一个工程的建立,而且在建立工程的时候将代码,仿真,和ip都分类管理,会更加方便后面的工程设计。我把我的做的笔记整理出来,介绍使用modelsim单独仿真。(还是modelsim_se用起来快。。)

一、 使用modelsim完成一个工程的仿真

双击打开modelsim se-64 10.2c

弹出如图所示界面

点击new——project——弹出如图所示界面

点击browse,选择你要将仿真工程建立的位置,这里再顺便提一下,工程的建立,在使用QuartusII13.0建立工程时,软件不会像vivado将工程代码仿真自动分类,所以作为一名合格工程师,首先是工程建立有序、明朗,不能乱糟糟。所以在添加文件的时候要将文件分类如下图所示

在这个工程中,分为四个文件夹IP core文件夹,专门放置需要调用的IP核,Dev工程文件夹,新建工程目录时写在里面即可,sim仿真文件夹,将仿真文件新建在其中,最后是src代码文件夹,将代码单独放在一个文件夹里,需要时可以进行再次细分。

如图所示,选择将新建的modelsim仿真文件添加到对应工程的sim文件夹下,然后点击确定

输入工程名,点击OK,注意仿真工程名尽量与待测试工程名一致,虽然不一致也不会有什么影响。

然后添加需要测试的文件

先将sim文件夹中的文件添加进来,

重复上面步骤,再讲scr工程中的文件添加进来

然后点击close完成操作

点击如图所示操作可以将文件进行编译查错,

然后选择tb文件,右键点击simulate without optimization

会弹出wave、objects、library、project等窗口

在transcript上输出命令,.main clear 可以进行清屏操作

输入run 200us可以是工程跑200us

输入restart是重新开始

点击sim窗口,右键点击可以add wave,添加波形

点击如图所示按钮,可以将信号变简

Ctrl A全选+Ctrl G将信号智能排序

然后在transcript中输入,.main clear可以清屏

输入run xxxus可以按你的要求让波形跑多少us s ms。

最后点击wave就可以查看波形

二、 添加新的文件进行仿真

当更改文件后,要重新添加文件进来,右键点击add project——>exiting file,找到文件添加进来,点击OK,重新编译。

输入.main clear清除当前窗口的内容

输入run200us + run 50us可以看出,仿真完全正确的。

三、使用modelsim打开曾经的工程

File——open——找到需要仿真工程对的sim文件夹——打开.mpf文件即可。

转载请注明出处:NingHeChuan(宁河川)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

从APM角度上看:NoSQL和关系数据库并无不同

Michael Kopp拥有十年以上C++、Java/JEE的架构及开发经验,现Compuware技术策略师,专攻大规模产品部署的架构和性能。 以下为译文: 传...

2428
来自专栏程序员互动联盟

编程高手为啥都喜欢耍脚本?

脚本编程几乎在每一个平台上都存在,这是因为利用脚本常常会简化、加快很多批量处理的工作,它能实现很多传统编程语言的功能,但是对编写者却不需要关心什么编译器、解释器...

3485
来自专栏华章科技

如何用 Python 打造一个聊天机器人?

不知道玩Slack的人多不多?国内有一个类似的产品,之前搞PythonTG翻译组在用,但是没怎么用起来。感觉这些产品提供的灵活性还蛮大的,可以自己实现许多有意思...

1095
来自专栏杨建荣的学习笔记

了解一下Lua,没准用得上

记得在知乎里面有一个网友提问:写工业级别代码是怎样一种体验?褚霸回复到:看lua源码就知道啥叫工业级 什么是Lua,我们有必要花一点时间来了解一...

3496
来自专栏京东技术

99%的人都理解错了HTTP中GET与POST的区别

2072
来自专栏杨建荣的学习笔记

datapump跨平台升级迁移的对比测试和优化 (r8笔记第81天)

目前计划对跨平台的数据库环境进行迁移,一来降低运维成本,二来更加可控。其实对于很多机器来说,如果机器跑了很多年,一直没有重启过,那么时间长了,一 个直...

36911
来自专栏deed博客

权限何必那么高

1864
来自专栏织云平台团队的专栏

如何优雅地实现高可用系统?

4239
来自专栏CSDN技术头条

创建一个分布式网络爬虫的故事

编者按:作者通过创建和扩展自己的分布式爬虫,介绍了一系列工具和架构, 包括分布式体系结构、扩展、爬虫礼仪、安全、调试工具、Python 中的多任务处理等。以下为...

2598
来自专栏西枫里博客

启用CDN后,QQ互联登录出现异常的问题。

博客群里的网友都说网站真实IP没隐藏有巨大的被D风险。隐藏网站真实IP最简单的办法就是做内容分发网络,用户在访问网站的时候是访问就近的CDN节点,ping出来的...

1862

扫码关注云+社区

领取腾讯云代金券