VCS 使用小结
常用编译指令为
vcs -full64 -debug_access+all -sverilog -kdb -timescale=1ns/1ns -f <file.f> -top < top name>
编译选项
选项 | 作用 |
---|---|
-full64 | 支持64位模式运行 |
-debug_all | 支持所有debug 操作, all 打开所有权限。(DVE选项) |
-debug_access+all | verdi 选项 |
-kdb | 生成verdi运行的库 |
+define+< define_name >=< value > | 编译时候指定定义常量名及值,优先级大于源文件中的define。同时也可以配合`ifdef 食用 |
-sverilog | 支持编译 system verilog |
-timescale | 定义时间精度 |
-f <file.f> | 源文件集合,将源文件绝对路径置于file.f文件下 |
-top | 定义顶层文件 |
+vcs+fsdbon | 生成novas.fsdb文件 名字无法改变 |
运行方式
./simv
Verdi 使用小结
打开波形常用命令
verdi -ssf name.fsdb &
生成name.fsdb文件的两个方法
1、源文件顶层加入以下语句
initial begin
$fsdbDumpfile("name.fsdb");
$fsdbDumpvars;
//$fsdbDumpvars(value,moudle_name);// 从moudle_name开始 dump第vlaue层
$fsdbDumpMDA();//可以在波形中加入寄存器数组
end
./simv
2、TCL命令+运行
Step1:需要新建 <name>.tcl
文件加入以下代码
call {$fsdbDumpfile("name.fsdb")}
call {$fsdbDumpvars}
run
Step2:需要在运行时加入以下代码
./simv -ucli -i <name>.tcl
-ucli
是启动交互式命令行
-i
是运行<name>.tcl
中的指令
解决Verdi无法加载当前目录.fsdb
的问题
可以检测bashrc文件中有无对verdi命令进行改动
编辑bashrc文件
gvim ~/.bashrc
立即生效bashrc文件
source ~/.bashrc
Verdi波形分组保存问题
可以shift+s将当前分组保存为<name>.rc
文件
通过在波形下r
键,加载已有波形分组
========================================================