QuestaSim 仿真常用命令

1.编译命令 vlog

  • 命令格式:vlog [options] <filename>[<filename>...]

  • 命令选项

    • -cover[=<spec>],<spec>可指定为{b|c|e|s|f|t}

    • +define+<macro_name>[=<macro_text>],该选项等同于在编译源文件时添加``define <macro_name> <macro_text>`也可在一个+define后添加多个宏定义(也可以分开)

      vlog +define+one=r1+two=r2+three=r3 test.v

    • (-f | -file)<filename>,对应一个参数文件,文件内可添加更多的编译选项内容

    • +incdir+<directory>,指明对于源文件中使用`include编译导向时将会查找对应文件的文件夹

    • (-l | -logfile)<filename>生成编译时的log记录文件。

    • -L <libname> 指定在编译时在哪些库中搜索预先编译的模块。

    • -novopt编译时不作优化

    • -lint编译时作语义检查(例如,为input端口赋值、访问未声明的变量、访问数组的范围越界等)

    • {+initmem | +initreg}[=<spec>][+{0|1│X│Z}],初始化{数组│变量},<spec>可以为(r|b|e),只对静态变量(例如硬件信号或者static变量)起作用

    • -quiet过滤一些加载库的信息,使得log信息更简洁

    • -timescale[ =]I[ ]<time_units>/<time_precision> 指明那些未指定时间单位的module/interface/program/package等。-timescale=1ns/1ps

    • -warning <msg_number>[,<msg_number>..]将指定消息严重级别降为warning级别

    • -work <library_name>在编译时将目标编译到指定的库中,库名可以是逻辑库名或者库的对应路径

2.编译相关命令 vlib/vdir

  • vlib <library_name>按照库指定路径和库名去创建库。
  • vdir -all显示当前所有编译库、预编译库中的内容。
  • vdir [-lib <library _name>][<design_unit>],显示指定库(库名或路径)的内容,或者指定模块的信息。
  • verror [-fmt | -full][-kind <tool>] {-all | <msgNum>}显示{全部│指定msgNum},有关某一个指令<tool>的错误描述内容,便于理解错误。

3.仿真命令 vsim

  • 命令格式:vsim [options]

  • 命令选项

    • [-batch | -c | -gui | -i ]采用后台模式(-batch)、命令行模式(-c) 、用户界面模式(-gui)或者交互模式(-i) 。
    • -do "<command_string>" | <do_file_name>传入并执行Tcl命令或者脚本文件
    • -f <filename>传入带有仿真选项的文件,可在仿真过程中解析并采用这些仿真选项。
    • [-g |-G]<Name>=<Value> ..., -g可以覆盖那些没有被显式赋值(采取默认值)的参数,而-G则可以覆盖那些已经被显式赋值的参数。
    • -immedassert | -noimmedassert,使能或禁止立即断言( immediate assertion)。
    • -solvefaildebug=<value>,使能随机化失败调试,如果value不给值,则使能基本调试功能。
    • -sv_lib <shared_obj>导入DPI共享对象(shared object),用于导入DPI方法。
    • -sv_seed <integer>| random,用于指定仿真时的随机种子
    • -title <title>在仿真窗口指定当前仿真的"标题",便于调试多个同时进行的仿真窗口。
    • -wlf <file_name>指定保存的保存文件,默认输出vsim.wlf。
    • -coverage使能覆盖率收集,但要求编译时添加+cover选项
    • -viewcov [<dataset_name>=]<UCDB_filename>调用coverageview模式查看UCDB覆盖率数据。
    • -coverstore <dir_path> -testname <name>在仿真结束时保存覆盖率数据结果,必须要单独调用coverage save命令
    • -default_radix <radix>在仿真时指定变量显示的默认格式({ascii | binary | decimal | hexadecimal | octal | symbolic | unsigned})
    • -uvmcontrol={all | certe | disable | msglog | none | struct | trlog | verbose}使能UVM有关调试功能。
    • -classdebug -msgmode both -uvmcontrol=all(应用方式)

4.存储相关命令 mem

  • mem list [-r][<path>]∶显示目标路径下的数组信号/变量。

  • mem display:显示目标mem的内容,相关命令mem search。

  • mem load:向目标mem中加载指定数据(从文件中或者命令行参数)。

  • mem save:将目标mem中的数据保存到指定文件。

5.类调试相关命令 classinfo

  • classinfo instances <class_type>:显示目标类的实例。
  • classinfo isa <class_type>:显示继承于目标类的子类。
  • classinfo stats:显示当前仿真有关类占据内存的状态信息。
  • classinfo types <pattern> :显示正则表达式中相关的类型名。

6.虚拟信号相关命令 virtual

  • virtual region:创建虚拟层次。
  • virtual signal:创建虚拟信号。
  • virtual function:创建虚拟组合逻辑(可添加延迟)信号。
  • virtual show:显示仿真中的虚拟层次、信号。
  • virtual describe:对virtual信号进行详细说明。
  • virtual delete:移除virtual信号。

7.UVM调试交互

前提: vsim -uvmcontrol=all -classdebug

  • uvm configtracing {0 | 1}︰跟踪configuration database set & get。
  • uvm displayobjections [<uvm_object_path>]:返回当前仿真中的objections raise & drop。
  • uvm findregisters [-acc] <uvm_reg_block_path>:返回寄存器模型后门映射的寄存器路径。
  • uvm findsequences [<component_path>]:返回当前仿真中的activesequences。
  • uvm handle <uvm_object_path>:返回UVM对象的句柄值。
  • uvm printconfig [<uvm_component_path> [<config_obj_name>]]:显示与目标组件和配置对象相关的配置信息。
  • uvm printfactory:打印已经在工厂注册的各个UVM类型。
  • uvm printtopology:打印UVM层次结构。
  • uvm setverbosity <uvm_report_verbosity level>[<uvm_component_path>]:设置UVM冗余度。

8.覆盖率相关命令

coverage 记录功能:

  • coverage open <filename>[<logicalname>]:在GUI模式下打开某个UCDB文件,并为其指定某个逻辑名称。coverage open last.ucdb test
  • coverage attribute :用来显示或者设置与当前UCDB/Test/Object有关的属性(attribute) 。
  • coverage ranktest:根据在已合并的UCDB数据库中的各个test对于覆盖率的贡献进行排序。
  • coverage tag:将覆盖率数据库中的不同数据目标贴上标签(tag),继而跟验证计划(xml)中的覆盖目标进行映射。
  • coverage testnames:显示目前加载UCDB数据库中包含的各个test名。
  • coverage save:在仿真中将覆盖率数据保存为UCDB文件。

vcover 处理功能:

  • vcover attribute:显示当前加载UCDB的属性。
    vcover attribute -ucdb [-name <attribute> ...] <ucdb_file> | <coverstore>[ : test]

  • vcover merge:将多个通过"coverage save"命令创建的UCDB文件进行合并。
    vcover merge <merge_options> { [-out] <outfile><file1>[<file2> ...<filen>] }

  • vcover remove:将已合并进去的测试计划(testplan)相关数据和映射链接移除。
    vcover remove -tplan { [-out] <outfile>} <infile> [-[wprof=<filename>] [-proftick=<integer>] [-stats [=[+ | -]<feature>[,[+ | -]<mode>] ]

  • vcover report:从之前已经保存或者处理的UCDB数据中打印覆盖率信息或者过滤信息。
    vcover report <rpt_args> <ucdb__or_coverstore_test>

    vcover report -html <input_ucdb> <rpt_args>

  • vcover testnames:显示指定UCDB数据中的test集合。

    vcover testnames <file> <options>

  • vcover history:显示目标UCDB文件的生成过程(命令记录)。

    vcover history < hist_options > <file>

9.常用仿真内建命令

  • do <filename> [<parameter_value>..….]:执行一个DO tcl脚本。
  • echo [<text_string>]:在Transcript窗口显示信息。
  • [environment | env] [-dataset | -nodataset] [<pathname> | -forward | -back] :显示或改变当前的数据/信号所在的路径,相关命令show。
  • [examine | exa]:显示一个或者多个目标变量/信号的数值。
  • exit [-f]:退出当前仿真。
  • quit [{-force | -f}| -sim]:强制退出,或者卸载当前仿真但不退出SIM,相关命令stop。
  • find:按照指定类型和名称找到信号/变量。
  • force {<object_name> <value>[[@]<time_info>][,[@]<time_info>]... [-freeze | -deposit | -drive][-cancel [@]<time_info>][-repeat [@]<time__info>]:如下
    force -freeze /top/p/addr 0 100,1 150 -r 200 -cancel 2000
  • noforce:去除在某些信号上已添加的force效用。
  • log:创建波形文件并且将对应数据保存到WLF格式文件中。
  • setenv <varname>[<value>]︰设置环境变量,相关命令: unsetenv,printenv。
  • simstats:显示与编译、仿真有关的数据信息。
  • report [files | where | simulator control | simulator state]:报告与仿真有关的文件、配置、控制和状态,相关命令: where
  • checkpoint <filename>:将仿真状态、波形等文件均保存下来,并且在当前仿真中可以利用restore命令回退。
  • when:在信号状态或者仿真时间满足条件时,可执行预定任务。
  • wlf2log | wlf2vcd:将WLF波形文件转换为log或者vcd格式,相关命令vcd2wlf。
  • vcd file | vcd add | vcd {on | off}:用来记录信号变化的vcd格式文件的相关命令。

QuestaSim 仿真常用命令相关推荐

  1. linux 桌面显示 kvm,Linux的桌面虚拟化技术KVM(五)——virsh常用命令

    (1).virsh常用命令 virsh list 查看已打开虚拟机列表 virsh list --all 查看所有虚拟机列表 virsh version 查看 virsh 版本号 virsh star ...

  2. 命令集matlab,Matlab常用命令集2

    Matlab常用命令集: O o ode1 非Stiff 微分方程变步长解算器 ode15s Stiff 微分方程变步长解算器 ode23t 适度Stiff 微分方程解算器 ode23tb Stiff ...

  3. 华为交换机配置常用命令

    华为交换机配置常用命令 一.配置软件和硬件 1.配置(Console)电缆连接 配置电缆是一根8芯屏蔽电缆,一端是压接的RJ-45连接器,插入交换机的Console口里:另一端则同时带有一个DB-9( ...

  4. Linux常用命令简介

    su  su命令是最基本的命令之一,常用于不同用户间切换.例如,如果登录为 user1,要切换为user2,只要用如下命令:  $su user2  然后系统提示输入user2口令,输入正确的口令之后 ...

  5. Matlab:常用命令大全

    MATLAB常用命令 清理会话命令 系统命令 输入输出命令 向量.矩阵和阵列命令 绘画命令 按字母表索引 A a  abs 绝对值.模.字符的ASCII码值  acos 反余弦  acosh 反双曲余 ...

  6. matlab中集合的表示,Matlab常用命令集合

    1.常用命令-->管理命令和函数 addpath添加目录到MATLAB搜索路径doc在Web浏览器上现实HTML文档help显示Matlab命令和M文件的在线帮助helpwin helpdesk ...

  7. linux常用命令加实例大全

    目  录 引言    1 一.安装和登录    2 (一)    login    2 (二)    shutdown    2 (三)    halt    3 (四)    reboot    3 ...

  8. linux下常用命令

    目  录 引言    1 一.安装和登录    2 (一)    login    2 (二)    shutdown    2 (三)    halt    3 (四)    reboot    3 ...

  9. mplayer说明及常用命令

    mplayer说明 MPlayer:是一款开源多媒体播放器,以GNU通用公共许可证发布. 此款软件可在各主流操作系统使用,例如Linux和其他类Unix系统.Windows及Mac OS X系统. 在 ...

最新文章

  1. JDBC 4.2 Specifications 中文翻译 -- 第九章 连接
  2. MySQL优化INSERT的性能
  3. P1447 [NOI2010]能量采集(mobius反演)
  4. 手把手带你写一个JavaScript类型判断小工具
  5. oracle 判断是否位汉字,js判断字符是否是汉字的两种方法小结
  6. 在Kubernetes上运行区块链服务(BaaS)
  7. SSL 1108——【USACO 2.1】海明码(DFS)
  8. Sql Server参数化查询之where in和like实现之xml和DataTable传参
  9. 〖Android〗屏幕触屏事件录制与回放
  10. C语言在链表里存储线段,C语言链表详解课件.ppt
  11. RS码(Reed-Solomon码)
  12. 计算机联锁与全电子执行单元,计算机联锁全电子执行单元.docx
  13. 华为交换机s2700怎么重置_华为s2700交换机初次使用常用配置命令
  14. 20张高清数据分析全知识地图,拿去吧你
  15. 解决“ImportError: cannot import name ‘_validate_lengths‘”问题
  16. 充分利用计算机在教学中的作用,浅谈多媒体在教学中的作用
  17. 搜狗输入法5.0_马化腾又出手!将全资收购搜狗,后者盘前疯涨超45%
  18. 手工玫瑰花_手工折纸玫瑰花的超级好学教程(转)
  19. 机器学习最优化算法的演变,FTRL一路走来,从LR - SGD - TG - FOBOS - RDA - FTRL
  20. Mac安装微信支付安全控件问题

热门文章

  1. 无耻,无知的韩国人!
  2. 41家大公司年度福利比较 大公司福利档案揭秘
  3. c#语言猜数字游戏,C#实现猜数字游戏
  4. 【ggplot】复杂柱状图:自定义颜色、标签、位置、坐标轴和主题
  5. 最全的Office 2003图标集合
  6. 世界经典咖啡@配制方法
  7. Excel公式向导,不会函数也可以单条件求平均值
  8. 时钟(CLOCK)置换算法
  9. 原创 | GIS属性表转为Excel表格
  10. 无光照渲染shader-二次元