ModelSim软件概述 本文节选自特权同学的图书《FPGA设计实战演练(逻辑篇)》 提到FPGA的仿真验证,虽然有众多的EDA工具可供选择,但是大家首先想到的肯定是出自Mentor公司的ModelSim,它常常作为FPGA器件原厂配套开发工具的第三方仿真工具使用。在第四章的第3节里我们介绍了ModelSim的安装,而第六章的各个入门实例中,尤其是第1节里,我们非常详细的手把手的指导大家如何使用ModelSim这个强大的好帮手应用于工程中。但是,可能很多读者对这个ModelSim的庐山真面目还不是十分了解。不要紧,本节我们就要和大家一起系统全面的重新认识一下这个工具。(特权同学,版权所有) 如图9.3所示,这是ModelSim运行工作后的主窗口界面,除了常见的菜单栏和工作区,我们还可以通过点击View菜单下的各个子菜单,打开相应的各种工作窗口。这些工作子窗口可以各种组合的方式显示在界面中供用户使用。(特权同学,版权所有) 图9.3 ModelSim主界面 如果嫌这些子窗口嵌在主界面中显示太小了,可以如图9.4所示,点击子窗口右上角的Dock/Undock按钮将其展开为一个独立的大窗口查看。尤其在查看波形的时候,我们会独立窗口进行查看。(特权同学,版权所有) 图9.5 Dock/Undock按钮 限于篇幅,菜单栏和工具栏的功能我们无法详细介绍,大家可以找本专门介绍ModelSim的书看看,或者直接使用软件附带的Help来学习。这里我们对一些常用界面窗口和基本概念做一些介绍。(特权同学,版权所有) Library,即库,如图9.6所示。但凡做仿真,我们不能不提“库”,即便是叫法不同,但是都是一个意思。如果通俗的解释这个“库”,我认为可以认为它指的就是“仿真模型”。比如我要对某一个FPGA器件做仿真,那么就要有一个和实际FPGA器件相当的一个模型可供Verilog或VHDL语法进行综合或映射后执行其所要实现的设计功能和性能。而“库”就是提供了这样一种模型。因此我们说FPGA仿真中“库”必不可少。那么这些“库”从何而来?既然是必须的,那么厂商们一定已经把它们准备好了,没错,FPGA厂商提供的工具软件里面肯定都包含了这些仿真库。如果我们使用了类似ModelSim-Altera这样的仿真工具,那么“库”的获取就更加“唾手可得”了,根本不需要我们再去做任何“库”的加载配置工作,它已经集成在了工具中,我们只管运行仿真脚本,无需在意它,甚至它的存在与否可能我们还未必能感觉到。除了FPGA器件产生提供的“库”,用户自己编写的测试用例也会出现在ModelSim的工作库中。(特权同学,版权所有) 图9.6 Library子窗口 Transcript,即命令窗口,它的主要作用是输入操作命令和显示输出信息。ModelSim的功能异常强大,但是菜单栏里的那些列项并不足以覆盖所有的可用命令,必须通过命令输入的方式来实现。当然了,我们在测试脚本中编写的诸如$display、$monitor等显示命令,它也都会显示在Transcript窗口中。Transcript窗口的输入命令和输出信息如图9.7所示。(特权同学,版权所有) 图9.7 Transcript窗口 Wave,即波形,这是最直观也是最常见的仿真结果观察窗口。Wave窗口如图9.8所示。(特权同学,版权所有) 图9.8 Wave窗口 仿真运行后,默认加载到Wave窗口中的输入输出信号只有待测试设计顶层文件的输入和输出信号。如图9.9所示,设计者也可以通过sim窗口和Objects窗口来选择需要观察的信号,将它们也添加到Wave窗口中。(特权同学,版权所有) 图9.9 sim窗口和Objects窗口 ModelSim各种强大实用的功能,还有待大家在实践过程中摸索。在前面章节的各个入门实例中,我们都给出了仿真测试的脚步和基本操作步骤,相信大家通过本章的概述和前面的实践操作后,一定能够掌握使用ModelSim进行仿真验证的基本方法。(特权同学,版权所有)
|