收集:
vcs
-cm line|cond|fsm|tgl|obc|path 设定coverage的方式
+define+macro=value+ 预编译宏定义
-f filename RTL文件列表
+incdir+directory+ 添加`include 文件时,自动搜索的路径
-R 编译后立即运行
-auto_seed seed
-l logfile文件名
-P pli.tab 定义PLI的列表(Tab)文件
+v2k verilog 标准:2009年加入SystemVerilog后 ,新统一标准 IEEE 1800-2009,
但如果设计中使用了verilog IEEE1364-2001 的一些描述方法
-sverilog 加入sv的支持
-timescale="1ns/100ps"
-ntb_opts
-y 加自动搜索例化模块的文件夹。如顶层模块中会例化很多子模块文件,编译时只需要列出顶层模块,-y 指明其他例化模块源文件的路径即可。要配合 “ +libext+文件后缀+文件后缀+ ” 使用。
+libext+文件后缀+文件后缀+... vcs 只搜索指定后缀名的文件
-notice 显示详尽的诊断信息
-o 指定输出的可执行文件的名字,缺省是simv
+ nospecify 不对SPECIFY 模块进行时序检查和路径延时计算
+ notimingcheck 不进行时序检查;但是还是把path延时加入仿真中
-ccov -cov_hier ccov_hier.cfg
附hier文件:ccov_hier.cfg:
+tree test.i_dut.i_top
begin fsm+cond -tree test.i_dut.i_top.i_cont end //去除某些枝丫
查看:
dve -covdir ccov_test.vdb
可使用exclude去除,并保存为elf文件。可以再次载入,或者-elffile载入:
生成:
urg -dir test.vdb
Verdi:
记录波形:
$fsdbDumpfile("filename.fsdb");
$fsdbDumpvars{level} {scope}; eg: 0,testbench.module_A
打开:
verdi -lib verdi_lib -f filelist.f -sverilog -top yourtopmodulename -ssf 001.fsdb
快捷键:
g:加载信号 Get signals
x:标注信号的值(在源代码中)Active Annotation
L :返回至上一个视图 Reload Design
Ctrl+e:Active Trace
Ctrl+w:Add Signal to Wave
H:hierarchical Name
Z:Zoom In
z:Zoom Out
f:Zoom All
l:Last View
nlint:
语法检测工具。
1. vcs,modelsim只是针对verilog语法进行检查,如果符合语法,那就不会报错。
2. 而nLint会针对你写的电路进行设计规则检查,包括coding style(比如No Glue logic in top module, output signals must be registered等等 ),DFT(相关scan DFF的部分,比如reset signal used as data input等等),Naming Convention(命名规则,方便看code的人理解,例如clock name prefix, for asynchronous signals,end in _a等等),STA(timing相关检查,例如avoid clocks as data(of registers)),Synthesis(电路综合相关规则,例如#delay statements are prohibited等等)。
这些error/warning符合verilog语法,但对于电路设计来说不合理。
Spyglass
同样语法检查工具,业内最先进,跨时钟域
LEC:
ncounter Conformal Constraint Designer
该产品能够使从寄存器传输逻辑(RTL)到最终网表(netlist)的设计流程所有阶段的设计约束得以自动产生和确认。此项新产品能够完成所有设计约束质量的核查,以确保设计者能够预先以高质量的约束开始工作。这样可以减少由于无效约束而导致返工的次数。