用到的命令一般都写到.do文件中,使用脚本语言进行批量处理。

  • Step 1: Map libraries

  • Step 2: Compile the design

  • Step 3: Optimize the design (OPTIONAL)

  • Step 4: Load the design into the simulator

  • Step 5: Run the simulation

  • Step 6: Debug the design Note: Design optimization in step 3 limits debugging visibility

1.1 step1: 库与文件的映射

1.1.1 GUI方式

  1. File > New > Project

  1. 输入库名字

  1. 添加设计文件到工程中

1.1.2 命令行方式

vlib <library_name>
vmap work <library_name>
  • vlib 命令

  • 简介

这个命令创建一个设计库(design library)。必须使用vlib命令而不是操作系统命令来创建库目录或索引文件。

  • 语法

vlib -help
vlib [-short |-dos |-long |-unix] [-format { 1|3|4 }]
[-type {directory | archive | flat}]
[{-lock |-unlock} <design_unit>] [-locklib |-unlocklib] [-unnamed_designs <value>]
[-compress |-nocompress]
<library_name>
  • 描述

如果指定的库已经作为有效的ModelSim库存在,则vlib命令将退出,并发出警告消息,而不会影响该库。该命令通过-help选项提供附加信息。

  • vmap命令

  • 简介

vmap命令通过修改modelsim.ini文件来定义逻辑库名和目录之间的映射。

  • 语法

vmap [-c |-del <logical_name> ... |<logical_name> [<path>] ][-modelsimini <path/modelsim.ini>]
  • 描述

如果没有参数,vmap将读取适当的 modelsim.ini 文件,并将当前逻辑库打印到物理目录映射到transcript。

1.2 step2:编译设计

1.2.1 GUI方式

点击 Compile > Compile 或者 Compile > Compile All。

1.2.2 命令行方式

vlog file1.v file2.v ...
(Verilog)
vcom file1.vhd file2.vhd ...
(VHDL)
sccom <top> (SystemC)
sccom -link <top>
  • vlog 命令

  • 简介

vlog命令将Verilog源代码和SystemVerilog扩展编译到指定的工作库(或默认情况下编译到工作库)。可接受压缩的SystemVerilog源文件(用zlib压缩的源文件)。

  • 语法

vlog [options] <filename> [<filename> ...]

介绍几个常用的option:

  • -L

(可选)在指定的资源库中搜索预编译模块。在运行vsim命令时,还必须指定此处指定的库搜索选项。

  • +incdir+

(可选)指定目录以搜索`include 编译器指令中包含的文件。默认情况下,首先搜索当前目录,然后按+incdir选项在命令行中的显示顺序搜索指定的目录。您可以指定多个+incdir选项,也可以在单个+incdir选项中指定多个以“+”分隔的目录。当编译一个导入ModelSim附带的OVM包的文件时,不需要在OVM目录中指定+incdir+。例如,如果你的.sv文件包含:

import ovm_pkg::*;
`include "ovm_macros.svh"

vlog命令会自动为你添加+incdir开关,发出如下提示:

** Note: (vlog-2286) Using implicit
+incdir+<install_dir>/<ovm_dir>/src
from import ovm_pkg

但是,如果使用的是开放版本的OVM,则需要使用+incdir开关显式指定该目录。请注意,内置UVM库的包导入现在添加了一个隐式的+incdir条目,它派生自包导入位置。

  • 描述

  • vlog命令可以从ModelSim或操作系统命令提示符中调用。它也可以在仿真过程中被调用。

  • 编译库依赖于主版本。当在主要版本之间移动时,必须使用-refresh参数刷新vlog编译库。对于小版本则不是这样。

  • vlog命令的所有参数都区分大小写:-WORK和-work不相等。

  • SystemVerilog要求vlog命令的默认行为是将命令行上列出的每个Verilog设计文件视为单独的编译单元。要将单个命令行中列出的多个文件视为单个编译单元,可以使用vlog -mfcu参数或 modelsim.ini文件的MultiFileCompilationUnit变量。

1.3 step3:优化设计(可选)

1.3.1 GUI方式

禁用优化:

  • Simulate > Start Simulation

  • 取消勾选 Enable Optimization 按钮

设置优化选项:

  • Simulate > Design Optimization

  • 设置选项

1.3.2 命令行方式

当在modelsim.ini文件中voptflow = 1开启优化。

1.4 step4:往仿真器加载设计

1.4.1 GUI方式

  1. 点击 Simulate > Start Simulation

  1. 点击顶层设计模块

  1. 点击 OK

1.4.2 命令行方式

vsim <top>
vsim <opt_name>
  • vsim 命令

  • 简介

vsim命令调用vsim仿真器,您可以使用它来查看以前仿真运行的结果(当使用-view参数调用时).

  • 语法

vsim  [options] 

介绍几个常用的option:

  • -vopt

(可选)如果vopt没有被手动调用,通知vsim自动执行vopt命令。除非在modelsim.ini中将VoptFlow变量设置为0,否则不需要。

  • -novopt

(可选)防止ModelSim自动运行vopt命令。如果在modelsim中将VoptFlow变量设置为1(优化已打开)。如果没有手动调用,vsim会自动运行vopt。如果指定此参数,应确保使用编译命令(vcom或vlog)指定。除非与QuestaADMS一起使用电源感知仿真,否则不建议使用此参数。如果使用此参数,将显示以下警告:

** Warning: (vsim-8891) All optimizations are turned off because the -novopt argument is in effect. This will cause your simulation to run very slowly. If you are using this argument to preserve visibility for Debug or PLI features, please see the User’s Manual section on Preserving Object Visibility with vopt.
  • 描述

  • 要手动中断设计加载,使用Break键或在shell中按

  • sim命令的所有参数都是区分大小写的;例如-g和-G是不相等的。

1.5 step5:运行仿真


(这一步一般使用GUI模式)

1.5.1 GUI方式

上述图片从左到右依次是:

  1. Run

  1. continueRun

  1. Run -All

1.5.2 命令行方式

  • run 命令

  • 简介

此命令将仿真向前推进指定的时间步数。

  • 语法

run {[<timesteps>[<time_units>]] |-all |-continue|-final |-finish |-init |-next } | {-step [-current] [<n>] [-out] [-over [<n>]] [-this]}
  • 描述

在运行操作完成后,您可以使用以下首选变量控制任何返回值:

  • noRunTimeMsg:设置为0表示显示仿真时间和增量信息,设置为1表示不显示。

  • noRunStatusMsg:设置为0表示显示运行状态信息,设置为1表示不显示。

1.6 step6:调试设计

Modelsim 操作结构和流程相关推荐

  1. 麦克风阵列技术 三 ( 声源定位 波束形成 去混响 麦克风阵列结构设计 声学结构确认流程)

    麦克风阵列技术 麦克风阵列技术详解 声源定位 延时估计 角度计算 波束形成 波束形成模型 波束形成基本理论 去混响 麦克风阵列结构设计 声学结构确认流程 紧接上一个博客文章,此为第三部分.上一部分见: ...

  2. 利用返回引用来操作结构体

    1 #include "stdafx.h" 2 #include <iostream.h> 3 #include <string.h> 4 5 /***** ...

  3. 【C 语言】结构体 ( 结构体变量内存操作 | 通过 “ . “ 操作符操作结构体内存空间 | 通过 “ -> “ 操作符操作结构体内存空间 )

    文章目录 一.通过 " . " 操作符操作结构体内存空间 二.通过 " -> " 操作符操作结构体内存空间 三.代码示例 一.通过 " . &q ...

  4. 【研发管理】结构化流程框架

    借鉴华为的架构化流程框架思想,在某些思想上极具借鉴意义.如何体现市场驱动.客户需求导向.把产品开发作为投资来管理的思想. 架构化流程框架能够解决: 满足客户需求 有差异化竞争力 能商业成功 高质量的产 ...

  5. php中数据类型、数组排序、循环语句、混编、操作本地文件流程、常用API、函数、魔术常量

    php中数据类型: php中有7种数据类型,分别是: //1.String字符串,用引号包裹的字符,如:$str = 'hello word';//2.Integer整型,可以是正数或负数,有十进制. ...

  6. VSCode自定义代码片段15——git命令操作一个完整流程

    git命令操作一个完整流程 {// git'command// 15 如何自定义用户代码片段:VSCode =>左下角设置 =>用户代码片段 => 新建全局代码片段文件... =&g ...

  7. c 语言程序上机考试系统,计算机二级C语言上机考试操作步骤及流程

    计算机二级C语言上机考试操作步骤及流程 二级C语言上机考试操作步骤 一.进入考试系统 单击桌面上的"考试系统"图标,进入考试启动界面."考试启动界面"如图1所示 ...

  8. 计算机二级c语言考试上机内容,计算机二级c语言上机考试操作步骤及流程

    计算机二级c语言上机考试操作步骤及流程 (11页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 二级 C 语言上机考试操作步骤一.进入考试 ...

  9. 计算机二级c语言考上机考试吗,计算机二级c语言上机考试操作步骤及流程

    计算机二级c语言上机考试操作步骤及流程 (11页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 - 1 -二级 C 语言上机考试操作步骤一 ...

最新文章

  1. 精选Pycharm里6大神器插件
  2. 神舟测试软件,Ultra-Simulator 业务自动拔测软件
  3. 第 3 章 镜像 - 014 - 镜像的缓存特性
  4. 基于GDI+用C#编写的.NET流程图控件开发周记(2011-08-05)
  5. mysql 远程攻击_gopher 协议攻击内网 mysql
  6. 如何胜任一个小型公司的技术总监?我的感想
  7. if 判断成绩 ,整百制
  8. css居中的几种方法_CSS布局中的水平居中的方法
  9. iframe缓存无法清空_详解Http缓存机制
  10. mysql 5.7 sql mode_MySQL 5.7版本sql_mode=only_full_group_by问题
  11. libcurl 发送邮件_libcurl smtp发送邮件附件大小限制问题
  12. c语言作业答案运行成功图片,桂林电子科技大学 C语言 程序设计 习题 答案(周信东) 实验1 C程序的运行环境和最简单的C程序设计...
  13. 41.Linux/Unix 系统编程手册(下) -- 共享库基础
  14. java 使用response方式下载txt文件
  15. 大数据分析师应掌握哪种编程语言
  16. Redis可视化客户端管理及监控工具TreeNMS
  17. Nvidia风扇速度自动调节工具推荐
  18. 【红外遥控器】基于FPGA的学习型红外遥控器verilog开发
  19. C. Pythagorean Triples
  20. 推荐算法(一)——音乐歌单智能推荐

热门文章

  1. 简易计算器(java)
  2. 【ZeloEngine】Lua调试器
  3. android布局常用占位符
  4. ffmpeg api接口实现rtmp推流的两种方式
  5. 【webpack】使用webpack打包图片文件、打包时生成单独的css文件
  6. 802.1x认证失败配置(guest vlan)
  7. 开始我的OMAP之路
  8. OMAP开发资源推荐(可以帮你少走不少弯路)
  9. 数据库从入门到精通 01
  10. jQuery在线地址