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的脚本文件

    4)-gui=verdi -verdi_opts "rcFile /my.rc/" 在simv的仿真中,指定verdi的opt。

-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. Android Studio的SVN Performing VCS Refresh/Commit 长时间不结束

    给Android Studio项目里面的一个文件改名以后,再提交SVN时总是提示冲突,没办法解决.再后来不知道怎么弄的,每次提交时停留在SVN Performing VCS Refresh始终都不会完 ...

  2. android studio如何开启与禁用版本控制vcs

    1.开启

  3. VCS仿真查看coverage

    VCS仿真查看coverage Design compiler & simulate #!/bin/csh -f setenv NOVAS_HOME /EDASynopsys/verdi3-I ...

  4. VCS仿真 Dump Memory

    VCS仿真 Dump Memory 两种方法 vcs联合verdi生成fsdb文件 vcs生成vpd文件 VCS联合verdi生成fsdb文件 1.testbench中加入如下语句: initial ...

  5. VCS仿真生成fsdb文件(Verilog)

    VCS仿真生成fsdb文件(Verilog) 一.环境 Linux 平台 csh环境 VCS 64bit Verdi3 二.开始仿真 1. 联合仿真环境配置 a.在testbench中加入如下语句: ...

  6. VCS仿真生成vpd文件(verilog)

    VCS仿真生成vpd文件(verilog) 一.环境与文件 Linux平台  csh环境 VCS 64bit 代码文件请参考<一个简单的Verilog计数器模型> 二.开始仿真 1.com ...

  7. VCS引起的oracle数据库异常重新启动一例

    1. 环境描写叙述 操作系统版本号:SUSE Linux Enterprise Server 10 sp2 (x86_64) 数据库版本号:Oracle 11.1.0.7.16 VCS版本号:5.1 ...

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

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

  9. 在VCS仿真器中使用FSDB[转载]

    来源:https://www.cnblogs.com/catannie/p/8099331.html FSDB(Fast Signal Database)是Verdi支持的文件格式,用于保存仿真产生的 ...

  10. 在VCS仿真器中使用FSDB

    FSDB(Fast Signal Database)是Verdi支持的文件格式,用于保存仿真产生的信号波形.据Verdi文档说明,FSDB比标准的VCD格式节省磁盘空间,处理速度更快.要用VCS仿真器 ...

随机推荐

  1. 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库——操作系统配置,安装必备软件

    注意未经说明,所有本文中所有操作都默认需要作为root用户进行操作. 一.安装zmodem,用于远程上传下载文件,安装gedit,方便重定向到远程windows上编辑文件(通过xlanuch) [ro ...

  2. R 540

    好久没写题解了嘻嘻嘻,昨天补edu自闭了一天还没补完fg这div3令人愉悦. A: #include <bits/stdc++.h> #define mk(a,b) make_pair(a ...

  3. poj1321_kuagnbin带你飞专题一

    棋盘问题 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 43565   Accepted: 21163 Descriptio ...

  4. linux搭建mysql集群

    一.公共配置 请在三个虚拟机上分别配置此处的配置项. 1. 安装虚拟机 虚拟机操作系统安装CentOS 6.5的x86_64版本. 2. 拷贝mysql cluster 下载以下版本的MySQL-Cl ...

  5. windows 下安装 mongodb 时间太久,卡在那里不动

    1.mongodb官网下载:http://www.mongodb.org/downloads 2.双击程序安装,会出现如下,卡着不动,时间太久,也取消不了 3.是因为安装时默认勾选 compass 图 ...

  6. oracle 字符转换成数字

    1>函数转换 select nvl2(translate(a.data, '\1234567890.', '\'), null, a.data) n, a.data from rpt_detai ...

  7. 唉,可爱的小朋友---(DFS)

    唉,小朋友是比较麻烦的.在一个幼儿园里,老师要上一节游戏课,有N个小朋友要玩游戏,做游戏时要用小皮球,但是幼儿园里只有M个小皮球,而且有些小朋友不喜欢和一些小朋友在一起玩,而只喜欢和另一些小朋友一起玩 ...

  8. Python学习之旅(三十五)

    Python基础知识(34):电子邮件(Ⅰ) 几乎所有的编程语言都支持发送和接收电子邮件 在使用Python收发邮件前,请先准备好至少两个电子邮件,如xxx@163.com,xxx@sina.com, ...

  9. day18 十八、random、shutil、shevle、logging

    一.random 模块:随机数 1. import random # .[,]整数 random randint(,) print(random.randint(, )) # 随机产生[,]中的一个数 ...

  10. 悬线法 || BZOJ3039: 玉蟾宫 || Luogu P4147 玉蟾宫

    题面: P4147 玉蟾宫 题解:过于板子举报了 #include<cstdio> #include<cstring> #include<iostream> #de ...