Linux下VCS与Verdi联合仿真简易教程及例子示范_vcs和verdi-CSDN博客
one努力翻身的咸鱼博主的这篇文章写的很好,相关内容借鉴复述一下
操作环境:Linux操作系统,VCS、Verdi都已经安装完毕,环境已配好
1. XShell 是一种流行且简单的网络程序,旨在模拟虚拟终端(Terminal)。XShell可以在Windows界面下来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。它支持 RLOGIN、SFTP、SERIAL、TELNET、SSH2 和 SSH1,可以非常方便的对Linux主机进行远程管理。除此之外,其还有丰富的外观配色方案以及样式选择。
我是通过XShell访问公司远端服务器,对Linux主机进行远程管理,用的是SSH协议。
名称:新建会话
端口:**
协议:SSH
用户名:**
2.一些常见命令操作
绝对路径:
相对路径:
命令操作 | 用法 |
cd .. | 返回上一级目录(cd与..之间有空格) |
cd ../../ | 返回前两级目录 |
cd mine | 跳到mine目录下 |
ls | 目录查看 |
ll | |
mkdir | 新建文件夹(可以一个,也可以多个)eg:mkdir A B |
mkdir -p A/B | 新建多级文件夹(B是A的下一级) |
mkdir {A,B}/mem | 在多个文件夹下创建相同的子文件夹 |
gvim led.v/gedit led.v | 用编辑器gvim/gedit新建.v文件,命名为:led |
【Tab】 | 补全 |
source | |
svn info | 首先进入某个svn目录,然后执行svn info命令,来获取您所在目录的URL,以及存储库根目录和其他信息 |
svn up | 用于 Subversion(SVN)版本控制系统的命令,'up'是‘update’缩写,将工作副本更新到最新的版本。 |
svn up -r r3000 | 当前工作副本更新到修订版本 3000 |
3.VCS和Verdi相关介绍
FSDB(Fast Signal Database)是Verdi支持的文件格式,用于保存仿真产生的信号波形。据Verdi文档说明,FSDB比标准的VCD格式节省磁盘空间,处理速度更快。要用VCS仿真器生成FSDB文件,就要调用Verdi提供的FSDB dumping命令,较常用的方法是在Testbench中调用。
4.VCS和Verdi操作
(1)Terminal界面输入vcs和verdi,验证是否环境已配置成功(出现文字也不一定说明配好了,但至少系统有vcs和verdi软件)
(2)需要事先编写好 .v,tb.v文件
注意:要VCS和Verdi联合仿真,需要在testbench里面必须加入下面的代码,这样才能生成.fsdb文件提供给Verdi读取,不然不会输出波形
`ifdef FSDB
initial begin
$fsdbDumpfile("led_tb.fsdb");
$fsdbDumpvars;
end
`endif
(3)用VCS调用编写好的两个RTL文件,进行功能仿真(前仿真)
Terminal输入如下:
vcs -R -full64 +v2k -fsdb +define+FSDB -sverilog led.v led_tb.v timescale.v -l run.log
其中-R表示自动运行仿真,+v2k表示使用Verilog-2001标准,-fsdb表示支持对fsdb相应操作,+define+FSDB相当于在verilog头文件里加上`define FSDB,-sverilog表示支持system verilog,输入.v文件的顺序可以不同(顺序是随意的)-l run.log表示将终端显示的信息在run.log中储存;
(4)当Terminal显示下图,并在文件夹中出现fsdb文件时,代表vcs已经对led编译仿真成功了:
(5)在Terminal输入verdi,可以打开Verdi看波形了
<1>添加文件,如果是按照上面操作,Language这里选择:Verilog-2001
<2>导入代码,完成用Verdi看代码
<3>怎么看波形呢?如下操作,打开VCS功能仿真后生成的.fsdb文件。
<4>然而窗口还是没有看到波形,怎么办?因为此时还没有告诉波形窗口应该看哪个信号的波形,再按如下操作verdi:
<5>如何追溯信号
5.不同的操作
已有tb.v,我写了.v,cmd runv,generate_ram.pl hex,verdi