赞
踩
目录
三、基本仿真流程(Basic simulation flow)
3.1 创建工作库(create a working library)
3.2 编译设计(Compiling Your Design)
3.3 加载仿真器并运行(Loading the Simulator with Your Design and Running the Simulation)
3.4 调试结果(Debugging Your Results)
Modelsim 是一款对于VHDL, Verilog, SystemVerilog, SystemC以及混合语言设计的仿真验证工具。
本系列提供了ModelSim仿真环境的简要概念性概述。它主要分为五个方面:
- Design Optimizations(设计优化)
- Basic simulation flow(基本仿真流程)
Project flow(项目流程) Multiple library flow(多库流程) Debugging tools(调试工具)
在讨论基本的仿真流程之前,了解设计优化是很重要的。默认情况下,ModelSim优化会自动在所有设计上执行。这些优化旨在最大化仿真器的性能,在一些Verilog设计中,比非优化的运行产生高达10倍的改进。
然而,全局优化可能对可以查看的设计模拟结果的可见性产生影响——某些信号和过程可能不可见。如果这些信号和过程对调试设计很重要,那么可能有必要通过从特定模块中删除优化来定制仿真。
因此,对于如何最好地应用优化到设计做出明智的决定是很重要的。在ModelSim中执行全局优化的工具称为vopt。请参考ModelSim用户手册中的使用vopt优化设计章节,了解关于优化权衡和定制的完整讨论。有关命令语法和用法的详细信息,请参考参考手册中的vopt。
下图显示了在ModelSim中模拟设计的基本步骤。
在ModelSim中,所有的设计都被编译到一个库中。设计者通常通过创建一个称为“work”的工作库来在ModelSim中启动一个新的仿真,这是编译器使用的默认库名称,作为编译设计单元的默认目标。
在创建工作库后,我们就可以在库中编译我们的设计。ModelSim库格式可以兼容所有受支持的平台。你可以在任何平台上仿真你的设计,而无需重新编译你的设计。
在设计编译过后,通过在顶层模块(Verilog)或配置或实体/架构对(VHDL)上调用仿真器,可以用设计加载仿真器。
假设设计加载成功,则将仿真时间设置为零,并输入运行命令以开始仿真。
如果没有得到预期的结果,我们可以使用ModelSim的调试环境来跟踪问题的原因。
HDL设计最终还是要应用于我们的项目中,尽管我们可能不需要在modelsim中使用到项目,但是它们可以简化与工具的交互,并且对于组织文件和指定仿真设置很有用。
下图显示了在Modelsim项目中仿真设计的基本步骤:
如你所见,该流程与基本的仿真流程类似。然而,有两个重要的区别:
ModelSim以两种方式使用库: 1)作为一个本地工作库,其中包含你的设计的编译版本;2)作为一个资源库。工作库的内容将在您重新编译和更新设计时发生更改。资源库通常是静态的,它可以作为设计的部件源。您可以创建自己的资源库,也可以由另一个设计团队或第三方提供。
你可以指定在编译设计时将使用哪些资源库,并且有一些规则可以指定搜索它们的顺序。一个同时使用工作库和资源库的常见示例是:你的门级设计(RTL代码)和tb被编译到工作库中,设计参考的模块(例如IP)在单独的资源库中。
下图显示了使用多个库进行仿真的基本步骤:
你还可以从项目中链接到资源库。如果您正在使用一个项目,您将用以下两个步骤替换上面的第一步:创建项目,并将tb添加到项目中。
ModelSim提供了许多工具来调试和分析你的设计。随后的课程将介绍其中一些工具,包括:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。