转载:VCS_weixin_34256074的博客-CSDN博客

timing check相关的:

      +notimingcheck命令,可以用在compile时,也可以用在run time的时候,

      都是将检查timing的系统函数,都disable掉了,

      加在compile的时候,不会编译到worklib中,速度可快,可以测试gate env;

      setuphold,recrem指定的delay signal只有在run time时加这个option,才会被产生;

                        build的时候加,delay信号不会被产生;

      该命令相比较与ucli中的tcheck命令有最高的优先级;

vcs中license相关的run cmd:+vcs+lic+wait,无限的等待下去;

                +licwait timeout,最多等待指定的时间;

compile_option:

    1)+no_notifier,寄存器中的notifier不会toggle,不会产生x,先利用该option解决violation,

      防止x的传递,导致很难debug;

    2)+no_tchk_msg,不显示timing violation的log信息,

    3)+neg_tchk,是能negative的timing check,如果不加该option,所有的nagative time被约束为0;

    4)+lca,使用一些vcs提供的最新的feature。

    5)-fsdb  -kdb,可以直接从fsdb中打开work,当前工程,不需要verdi重新编译。

    6)+define+macros=value,定义一个macros,它的值为value。

      相比较与不需要加define的情况,多是uvm,testplusargs,等参数,可以直接+value,传递值。

run_option:

    1)+ntb_random_seed = value,将simv的随机seed设定为某个值,srandom(seed)有更高的优先级;

    2)+ntb_random_seed_automatic,每次仿真随机产生seed,不会存在两次simv相同seed的情况;

    3)-ucli -do file,直接执行ucli的脚本文件

-force_list,可以放在elaborate和simulation过程中,指定force信息的输出。

VCS动态加载DPI shared lib,在vcs compile之后,调用GCC执行C的编译,产生so文件。

  在vcs run的时候,手动加载so。加载的命令包括:

  1) -sv_liblist,指定一个so的list文件,其中的so不需要加后缀名。

  2) -sv_root,加lib so的hier。之后再加-sv_lib。

  3) -sv_lib,加lib名,不需要加后缀。

VCS动态加载PLI shared lib,

  1)在VCS编译时,加入-P pli.tab等指定。

  2)在runtime时,每个lib加load选项,simv -load ./pli1.so -load ./pli2.so

unified simulation profile可以报告CPU time和machine memory的使用情况,

  profrpt是一个基于python的脚本,来产生text或者html的report。

  需要在compile和simulation的时候,都加入-simprofile选项。

  profrpt time,或者profrpt mem

system task:

  severity类型的报告:

    1) $fatal,$error,$warning,$info;

  assert control类型:

    1) $assertoff,$asserton,$assertkill;参数(depth,hier_path)

  数值计算类型:

    1) $onehot,$onehot0,$isunknown,$countx,$countz,$countunknown;

  ASCII文件VCD file;

    1) $dumpall,$dumpoff,$dumpon,$dumpfile,$dumpflush,$dumpvars;

  VPD文件,直接用DVE打开;

    1) $vcdplus...

  assertion monitor类型:

    只能在initial的block中使用,显示每一个clock assertion的动作:

    1) $assert_monitor([0|1],assertion_identifier) assertion_identifier可以是一个hier name;

    2) $assert_monitor_off,$assert_monitor_on,控制$assert_monitor task。

  system task类型:

    1) $system(cmd), 2) $systemf(cmd);

  log file类型:

    1) $log("filename"),写入log,优先级高于-l指定的logfile,

    2) $nolog(“filename”),

  File IO操作:

    1) $fclose,$fopen,$fread,$fwrite,

  Loading memory:

    1) $readmemb/h/o, 2) $writememb/h/o

  指定timescale:

    1) $timeformar;

    2) 显示时间,$time,$stime,

  simulation control:

    1) $stop,$finish;

  Timing check类型的:

    1) $disable_warnings,$enable_warnings,

    2) $hold,$nochange等。

  random类型:

    1)返回某个分布的随机值,$dist_exponential,$dist_normal,

      $random,

    2)$get_initial_random_seed,拿到当前seed的值;

  控制VCS:

    1)$reset,将simulation time reset到零,

  SDF file:

    1) $sdf_annotate()

  X和Z的conditional的检查:

    1)$xzcheckon(level_number,   hier_name),每次hier下有一个warning,便报出来;

    2)$xzcheckoff(level_number,  hier_name),

VCS对uvm有一个内嵌式的支持,uvm的库被放在$VCS_HOME/etc/uvm-1.2中,可以在VCS编译过程中,显示指明-ntb_opts uvm-1.2 options来使用uvm。

  vcs -sverilog -ntb_opts uvm-1.2   (vlogan不支持直接ntb_opts)    

    -top   指定snapshot的顶层

    -kdb   可以整合vcs的DB到verdi的db,直接通过verdi -ssf novas.fsdb打开verdi的工程

    -lca   表示使用vcs的用户限制的功能

VCS中dump fsdb的波形,之前需要添加novas.tab和pli.a的文件路径,-P $VERDI_LIB/novas.tab  $VERDI_LIB/pli.a

现在

  1)设置$NOVAS_HOME的值,

  2)在code中调用$fsdbDumpvars的task,

  3)vcs编译中增加-debug_access+r的权限

  4)编译中加入-fsdb

使用verdi进行gui调试,-verdi或者-gui=verdi选项

后启动verdi命令:

verdi -ssf <fsdb_file>   verdi -simflow -dbdir <path> -top <top_name>

VCS提供的dpi,getenv,拿到当前terminal下的环境变量;

force,release与assign类似,是verilog中支持的结构。

$deposit(hier, value),是VCS中提供的task,

vcs命令的更多相关文章

  1. vcs 下使用system verilog调用c函数

    c中要加入<svdpi.h> sv的tb中加入 import "DPI-C" function int funcname(); 仿真时,vcs命令行中加入 +vc fu ...

  2. linux下的EDA——VCS使用

    原帖地址:https://blog.csdn.net/moon9999/article/details/75283926 在Linux下对verilogHDL进行功能仿真时非常必要的,下面提供两种常见 ...

  3. VCS常用仿真选项开关及步骤总结

    转自:https://blog.csdn.net/bcs_01/article/details/79803304 转自:https://blog.csdn.net/wonder_coole/artic ...

  4. 转:SYNOPSYS VCS Makefile文件编写与研究

    SYNOPSYS VCS Makefile文件编写与研究 这个Makefile是synopsys提供的模板,看上去非常好用,你只要按部就班提供实际项目的参数就可以了.我们来看这个文件的头部说明:mak ...

  5. Git for PyCharm

    Git for PyCharm Using PyCharm's Git integration locally:http://confluence.jetbrains.com/display/PYH/ ...

  6. 最全Pycharm教程(37)——Pycharm版本号控制之基础篇

    1.主题 介绍Pycharm的版本号控制系统 2.准备工作 (1)Pycharm版本号为2.7或者更高 (2)已经创建一个project.參见Getting Started tutorial (3)安 ...

  7. Golang 模块(Module)官方手册

    官方原文: https://github.com/golang/go/wiki/Modules Go 1.11包括此处建议的对版本模块的初步支持.模块是Go 1.11中的实验性加入功能,并计划纳入反馈 ...

  8. 最全Pycharm教程(39)——Pycharm版本控制之本地Git用法

    1.主题 介绍如果通过Pycharm使用本地Git集. 2.准备工作 (1)PyCharm版本为2.7或更高 (2)已经创建一个工程 (3)Git插件可用,对应可执行文件在 Git page页面正确配 ...

  9. coverage report

    转载:http://blog.sina.cn/dpool/blog/s/blog_7853c3910102yn77.html VCS仿真可以分成两步法或三步法, 对Mix language, 必须用三 ...

随机推荐

  1. 浅谈一种浮标浮岛式水质监测“智能哨兵”助力水质监测,多环境应用ke轻松测水!

    浮岛式水质监测站能够在实际使用中,安装方便,能够采集多种参数,溶解氧  氨氮  电导率  盐分 pH值  COD  水位  节省时间和人工,浮标水质监测站是设立在河流.湖泊.水库.近岸海域等流 域内的 ...

  2. vue随记

    (一)使用props传值: <HeadTitle name-data="100"></HeadTitle> props:['nameData'] 父组件传递 ...

  3. vscode 本地启动配置

    安装vscode 编辑器后,找到插件 1.安装Debugger for Chrome 2.找到本地需要启动的项目,配置文件,从左到右依次点击红圈中的按钮,然后出现launch.json文件,在里面添加 ...

  4. ecshop增加调用字段问题汇总

    一.ecshop文章列表页调用缩略图.网页描述等 打开includes/lib_article.php文件,大约在69行 添加 $arr[$article_id]['description'] = $ ...

  5. DS博客作业05--查找

    这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业05--查找 这个作业的目标 学习查找的相关结构 姓名 黄静 目录 0.PTA得分截图 1.本周学习总结 1.1 ...

  6. Jmeter系列(30)- 性能指标(3) | 性能指标峰值

    性能指标峰值 简述 彻底理解了性能指标(1)(2)的内容,这一篇随笔其实就不用看了,而且大家也能猜到这一篇内容是啥:二八原则 性能指标不要硬性的往那些性能指标上去靠,要根据业务来,熟悉业务,明白了解你 ...

  7. javascript 高阶函数 currying & uncurrying

    * currying var currying = function(fn) { var args = []; return function() { if (arguments.length === ...

  8. redis被360禁止,设置启动

    https://blog.csdn.net/blick__winkel/article/details/77986481 一.下载windows版本的Redis 去官网找了很久,发现原来在官网上可以下 ...

  9. 51nod1355-斐波那契的最小公倍数【min-max容斥】

    正题 题目链接:http://www.51nod.com/Challenge/Problem.html#problemId=1355 题目大意 定义\(f_i\)表示斐波那契的第\(i\)项,给出一个 ...

  10. VueCLI3 创建vue项目

    关于旧版本 Vue CLI 的包名称由 vue-cli 改成了 @vue/cli. 如果你已经全局安装了旧版本的 vue-cli (1.x 或 2.x),你需要先通过 npm uninstall vu ...