前言

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实用教程--前言的更多相关文章

  1. js模版引擎handlebars.js实用教程

    js模版引擎handlebars.js实用教程 阅读本文需要了解基本的Handlebars.js概念,本文并不是Handlebars.js基础教程,而是注重于实际应用,为读者阐述使用过程中可能会遇到的 ...

  2. freeRTOS中文实用教程6--错误排查

    1.前言 本章主要是为刚接触FreeRTOS 的用户指出那些新手通常容易遇到的问题.这里把最主要的篇幅放在栈溢出以及栈溢出侦测上 2.printf-stdarg.c 当调用标准C 库函数时,栈空间使用 ...

  3. freeRTOS中文实用教程5--内存管理

    1.前言 不同的嵌入式系统具有不同的内存配置和时间要求.所以单一的内存分配算法只可能适合部分应用程序. FreeRTOS 将内存分配作为可移植层面(相对于基本的内核代码部分而言).这使得不同的应用程序 ...

  4. freeRTOS中文实用教程4--资源管理互斥

    1.前言 访问一个被多任务共享,或是被任务与中断共享的资源时,需要采用”互斥”技术以保证数据在任何时候都保持一致性.这样做的目的是要确保任务从开始访问资源就具有排它性,直至这个资源又恢复到完整状态 F ...

  5. freeRTOS中文实用教程4--资源管理概述

    1.前言 多任务系统中存在一种潜在的风险.当一个任务在使用某个资源的过程中,即还没有完全结束对资源的访问时,便被切出运行态,使得资源处于非一致,不完整的状态 2.并发抢占导致错误的场景 (1)访问外设 ...

  6. freeRTOS中文实用教程3--中断管理之中断嵌套

    1.前言 最新的 FreeRTOS 移植中允许中断嵌套.中断嵌套需要在 FreeRTOSConfig.h 中设置configKERNEL_INTERRUPT_PRIORITY 和configMAX_S ...

  7. freeRTOS中文实用教程1--任务

    1.前言 FreeRTOS是小型多任务嵌入式操作系统,硬实时性.本章主要讲述任务相关特性及调度相关的知识. 2. 任务的总体特点 任务的状态 (1)任务有两个状态,运行态和非运行态 (2)任务由非运行 ...

  8. 蓝牙BLE实用教程

    蓝牙BLE实用教程 Bluetooth BLE 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 设置 里的修改模板来改变新建文章的内容. 1.蓝牙BLE常见问答 Q: Smart Re ...

  9. Unix sed实用教程系列目录[已完成]

    本系列文章已经译完了,译自awk-sed@theunixschool,收获颇丰,作者没有讲明白的我做了补充,并且尝试讲的更清楚,整理成系列索引,方便学习,开篇非译文,是我为了方便后面的理解写的一篇,感 ...

随机推荐

  1. dicom通讯的工作方式及dicom标准简介

    本文主要讲述dicom标准及dicom通讯的工作方式.dicom全称医学数字图像与通讯 其实嘛就两个方面 那就是“存储”跟“通讯”. 文件数据组织方式  网络数据组织方式.文件数据组织方式就是解析静态 ...

  2. Visual Studio问题集锦:coloader80.dll未正确安装

    问题 今天在修改之前的一个项目的时候报了一个错,大概内容如下: 有一个 Visual Studio 的 DLL 文件(coloader80.dll)未正确安装.请通过"控制面板"中 ...

  3. 一次页面从Jq到Vuejs+PartialView的迁徙

    题外话 本篇分享不能帮助你入门vue,入门的文章也是无意义的,官方文档http://cn.vuejs.org/v2/guide/ 已经写的不能再清晰了.希望我们勇敢的主动地给自己创造实践的机会. 手里 ...

  4. App内测神器之蒲公英

    一.前言部分 没使用蒲公英之前一直采用非常傻B的方式给公司App做内部测试,要么发个测试包让公司测试人员用iTUnes 自己安装 要么苦逼的一个个在我Xcode上直接安装测试包,操作起来又麻烦又苦逼, ...

  5. linux添加启动器图标(Ubuntu为例)

     添加启动器图标,以eclipse为例,%表示命令提示符,shell命令:%nano /usr/share/applications/eclipse.desktop-----------[Deskto ...

  6. Mybatis学习(一)

    1)先导入pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww ...

  7. 用C#从数据库动态生成AdminLTE菜单的一种方法

    当前的应用设计风格趋于Flat扁平化,很多基于BootStrap实现了很多UI非常漂亮的管理界面(Bootstrap admin template). 此核心文件开源在Github:https://g ...

  8. ng-option指令使用记录,设置默认值需要注意

    ng-options一般有以下用法: 数组作为数据源: label for value in array select as label for value in array label group ...

  9. SharePoint Designer 2013 连接 Office 365 必需安装2个SP

    第一个: 32位电脑安装链接:http://www.microsoft.com/downloads/details.aspx?FamilyId=278a31eb-0cf9-4b30-a670-9c9d ...

  10. iOS网络2——NSURLSession使用详解

    原文在此 一.整体介绍 NSURLSession在2013年随着iOS7的发布一起面世,苹果对它的定位是作为NSURLConnection的替代者,然后逐步将NSURLConnection退出历史舞台 ...