前言
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代码后进行鼠标窗口操作的繁琐流程。
其中,最实用专业的是最后的方法—脚本操作,这也是读者所必须掌握的方法!