modelsim实用教程--前言
前言
Modelsim是一款专业的仿真软件,特别是在Quartus II 11.0之后的版本,都没有配套自身的仿真软件,所以Modelsim成了在FPGA设计流程中的进行功能仿真的首选仿真软件之一。
ModelSim为HDL仿真工具,我们可以利用该软件来实现对所设计的VHDL 或Verilog 程
序进行仿真,其支持IEEE常见的各种硬件描述语言标准。可以进行两种语言的混合仿真,但推荐大家只对一种语言仿真。
ModelSim的版本很多,基本的有 PE、LE、SE版本,PE为个人版本,功能最少,支持的操作系统为32 位WINDOWS 98/NT/ME/2000/XP;LE版本支持的操作系统为32 位LINUX;SE 版本为全功能版本,支持 32 位操作系统 AIX,HP-UX, LINUX + SOLARIS,WINDOWS 98/NT/ME/2000/XP,64 位操作系统WINDOWS ,AIX,LINUX (ITANIUM-2),HP-UX, SOLARIS,以及HP-UX,LINUX 等平台。
ModelSim常见的版本分为ModelSim XE、ModelSim-altera、ModelSim SE三种,其中ModelSim XE为配套xilinx的ISE软件,ModelSim-altera是配套altera的quartus II软件的,而ModelSim SE是属于专业版本,可以独立使用(在仿真中涉及到FPGA厂商的IP核时,需要调用FPGA厂商的IP库文件)。ModelSim版本更新很快,目前的版本都支持VHDL 、Verilog和SystemC 的混合仿真。本章将对ModelSim6.2(在高版本上也是行得通的)版本进行介绍,目的是希望读者在看完本文后,可以简单地使用ModelSim进行仿真,有关更深入地教程,还是参考ModelSim附带的文档。在网址http://www.model.com/support/ 上也可以找到深入的教程。
Modelsim所涉及到的是功能仿真,功能仿真也是FPGA设计的流程之一,也是最耗费时间的之一,由于要验证设计的RTL代码的功能正确性,功能的正确性,包括RTL里面的每一行代码,RTL里面所涉及到的每一种状态机的每一种状态,RTL里面所涉及到的每一种条件下每一种情况等等,由此可以想像得到这将多么地耗费时间,所以高效地使用Modelsim是得有多么地重要,假设设计一个RTL代码,涉及到10个状态机和20个条件判断,每个状态机有10状态,每个条件有10种情况。假设每个状态机每个状态和每个条件判断的每种情况都要修改一次RTL代码,这就需要操作10*10+20*10=100+200=300次,假设每次要按10次鼠标,那总次数就是300*10=3000次。如果采用鼠标窗口操作这得有多繁琐(多设计几个大型工程的话,鼠标也要换了),这得多耗费时间,所以这时就需要采用脚本(每次修改只需调用一条指令就搞定)进行操作,节省时间、节省人力物力。
本文将通过简单的三个例程,详细、细致、图文并茂地介绍modelsim的使用流程,这其中涉及到采用鼠标窗口操作一步一步的地进行编译、调用仿真文件、添加仿真信号、开始仿真的简单流程,也包括调用altera的IP核进行仿真的流程,最后详细介绍采用脚本的方法进行仿真,有效并大大地提高每次修改编译、仿真的效率,只要通过脚本一次性输入,同时也可以设置仿真信号的参数,避免了在每次修改RTL代码后进行鼠标窗口操作的繁琐流程。
其中,最实用专业的是最后的方法—脚本操作,这也是读者所必须掌握的方法!
每日推送不同科技解读,原创深耕解读当下科技,敬请关注微信公众号“科乎”。

modelsim实用教程--前言的更多相关文章
- js模版引擎handlebars.js实用教程
js模版引擎handlebars.js实用教程 阅读本文需要了解基本的Handlebars.js概念,本文并不是Handlebars.js基础教程,而是注重于实际应用,为读者阐述使用过程中可能会遇到的 ...
- freeRTOS中文实用教程6--错误排查
1.前言 本章主要是为刚接触FreeRTOS 的用户指出那些新手通常容易遇到的问题.这里把最主要的篇幅放在栈溢出以及栈溢出侦测上 2.printf-stdarg.c 当调用标准C 库函数时,栈空间使用 ...
- freeRTOS中文实用教程5--内存管理
1.前言 不同的嵌入式系统具有不同的内存配置和时间要求.所以单一的内存分配算法只可能适合部分应用程序. FreeRTOS 将内存分配作为可移植层面(相对于基本的内核代码部分而言).这使得不同的应用程序 ...
- freeRTOS中文实用教程4--资源管理互斥
1.前言 访问一个被多任务共享,或是被任务与中断共享的资源时,需要采用”互斥”技术以保证数据在任何时候都保持一致性.这样做的目的是要确保任务从开始访问资源就具有排它性,直至这个资源又恢复到完整状态 F ...
- freeRTOS中文实用教程4--资源管理概述
1.前言 多任务系统中存在一种潜在的风险.当一个任务在使用某个资源的过程中,即还没有完全结束对资源的访问时,便被切出运行态,使得资源处于非一致,不完整的状态 2.并发抢占导致错误的场景 (1)访问外设 ...
- freeRTOS中文实用教程3--中断管理之中断嵌套
1.前言 最新的 FreeRTOS 移植中允许中断嵌套.中断嵌套需要在 FreeRTOSConfig.h 中设置configKERNEL_INTERRUPT_PRIORITY 和configMAX_S ...
- freeRTOS中文实用教程1--任务
1.前言 FreeRTOS是小型多任务嵌入式操作系统,硬实时性.本章主要讲述任务相关特性及调度相关的知识. 2. 任务的总体特点 任务的状态 (1)任务有两个状态,运行态和非运行态 (2)任务由非运行 ...
- 蓝牙BLE实用教程
蓝牙BLE实用教程 Bluetooth BLE 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 设置 里的修改模板来改变新建文章的内容. 1.蓝牙BLE常见问答 Q: Smart Re ...
- Unix sed实用教程系列目录[已完成]
本系列文章已经译完了,译自awk-sed@theunixschool,收获颇丰,作者没有讲明白的我做了补充,并且尝试讲的更清楚,整理成系列索引,方便学习,开篇非译文,是我为了方便后面的理解写的一篇,感 ...
随机推荐
- Javascript单例模式概念与实例
前言 和其他编程语言一样,Javascript同样拥有着很多种设计模式,比如单例模式.代理模式.观察者模式等,熟练运用Javascript的设计模式可以使我们的代码逻辑更加清晰,并且更加易于维护和重构 ...
- VMware12下安装Debian8.5
参考: Debian 8.2.0 (Jessie) 快速纯净安装教程 Debian 7 安装配置总结 Debian 7.8 系统安装配置过程 软件包管理命令 包命令 从源代码 ...
- Lightbox改造——支持滚轮缩放
在做文章类型的web页时,经常会遇到要点开看大图的需求,LightBox2则是在众多产品中比较优秀的一款Jquery插件.配置就不细说了,今天我主要要分享的是:如何在点开大图后,可以通过鼠标滚轮来缩放 ...
- Exception thrown by the agent : java.rmi.server.ExportException: Port already in use
今天有个应用一直起不来,感觉配置都对啊,奇了怪了.看日志发现如下: STATUS | wrapper | 2017/01/04 08:09:31 | Launching a JVM...INFO | ...
- px、dp和sp,这些单位有什么区别?
DP 这个是最常用但也最难理解的尺寸单位.它与“像素密度”密切相关,所以 首先我们解释一下什么是像素密度.假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算 ...
- BFC布局
这几天都没有写博客,自己的懒惰又要跑出来了,发觉不能再这样下去了,不然就什么都不想干了,然后将之前已经写得差不多的博客重新检视了一遍.这篇博客已经写得挺久的了,但是一直没有发布,现在补充了一些,也让自 ...
- 从Java String实例来理解ANSI、Unicode、BMP、UTF等编码概念
转(http://www.codeceo.com/article/java-string-ansi-unicode-bmp-utf.html#0-tsina-1-10971-397232819ff9a ...
- LinuxMint装JDK和Eclipse
Linux Mint 装JDK和Eclipse 前言 在尝试了好几个发行版后终于锁定了Linux Mint Cinnamon .那么就得配置好环境了. 这里讲一下JAVA环境,配置JDK和Eclips ...
- MVP解析
一套可以直接复制使用的MVP框架 通过对MVP设计模式学习,对MVP也有了一个初步的认识,以登录Login模块为例,封装MVP如下: package com.example.administrator ...
- django 第三天 有关pip使用
软件应用开发的经典模型有这样几个环境:开发环境(development).集成环境(integration).测试环境(testing).QA验证,模拟环境(staging).生产环境(product ...