VCS仿真 Dump Memory


两种方法

  • vcs联合verdi生成fsdb文件
  • vcs生成vpd文件

VCS联合verdi生成fsdb文件

1.testbench中加入如下语句:

initial begin
$fsdbDumpfile("tb.fsdb");
$fsdbDumpvars;
end always@(posedge clk)
begin
$fsdbDumpMDA(R1); //每个时钟dump出mem的值,verdi记录值的变化
$fsdbDumpMDA(R2);
end

2.注意调用 vcs -debug_pp 开始仿真

3.测试使用的verilog代码与仿真脚本

testbench

`timescale 1ns/100ps

module Testbench;

  reg          clk;

  integer      i;
reg R1[7:0];
reg [3:0] R2[7:0]; initial begin
clk = 0; for (i=0; i<8; i=i+1) begin
R1[i] = 1'b0;
R2[i] = 4'h0;
end #10; for (i=0; i<8; i=i+1) begin
R1[i] = $random;
R2[i] = $random;
end repeat(5) @(posedge clk); for (i=0; i<8; i=i+1) begin
R1[i] = $random;
R2[i] = $random;
end repeat(60) @(posedge clk);
$finish;
end always #200 clk = ~clk; initial begin
$fsdbDumpfile("tb.fsdb");
$fsdbDumpvars;
end always@(posedge clk)
begin
$fsdbDumpMDA(R1); //每个时钟dump出mem的值,verdi记录值的变化
$fsdbDumpMDA(R2);
end endmodule

注意:此处仅是示范dumpMemory,实际中需要每一个时钟沿都需dump数据

vcs仿真脚本

#!/bin/bash -f

export NOVAS_HOME="/EDA/Synopsys/verdi/vJ-2014.12-SP2"
export NOVAS_PLI="${NOVAS_HOME}/share/PLI/VCS/LINUX64"
export LD_LIBRARY_PATH="$NOVAS_PLI" export NOVAS="${NOVAS_HOME}/share/PLI/VCS/LINUX64" export novas_args="-P $NOVAS/novas.tab $NOVAS/pli.a " vcs +v2k -sverilog +vcs+lic+wait -full64 -debug_pp \
+warn=noCDNYI,noIPDW,noILLGO,noTMR,noPHNE,noIRIID-W \
-Mupdate +notimingcheck +nospecify \
${novas_args}\
-f file.f \ ./simv

4.使用Verdi查看结果

verdi 打开波形文件,选择>>Tool>>Memory/MDA

5.截图(verdi)



vcs生成vpd文件

1.lab文件

testbench

`timescale 1ns/100ps

module Testbench;

  reg          clk;

  integer      i;
reg R1[7:0];
reg [3:0] R2[7:0]; initial begin
clk = 0; for (i=0; i<8; i=i+1) begin
R1[i] = 1'b0;
R2[i] = 4'h0;
end #10; for (i=0; i<8; i=i+1) begin
R1[i] = $random;
R2[i] = $random;
end repeat(5) @(posedge clk); for (i=0; i<8; i=i+1) begin
R1[i] = $random;
R2[i] = $random;
end repeat(60) @(posedge clk);
$finish;
end always #200 clk = ~clk; initial begin
$vcdpluson();
end always@(posedge clk)
begin
$vcdplusmemon();
end endmodule

vcs脚本

vcs -full64 Testbench.v  -debug_pp +vcd+vcdpluson

./simv

2.截图(dve)

参考文献

http://www.edaboard.com/thread59624.html

verdi3手册

VCS仿真 Dump Memory的更多相关文章

  1. VCS仿真查看coverage

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

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

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

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

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

  4. 转:VCS仿真vivado IP的方法

    vivado中的仿真库和模型与ISE中的是不一样的,因此在vivado中使用VCS进行仿真的方法也与ISE中不一样. VCS可以通过两种方法对XILINX的器件进行功能仿真和门级仿真,这两种方法是 P ...

  5. 【CCS仿真】如何将CCS仿真时memory中的数据以Hex、Integer、 Long 、Float、 Addressable Unit类型保存到PC

    2013-12-04 19:07:05 将在CCS中仿真的数据导入电脑上时,可以选择不同的数据类型,以便分析,具体方法如下: 在CCS菜单中,选择File—>Data—>Save,弹出以下 ...

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

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

  7. 数字IC设计入门必备——VIM自定义模板调用与VCS基本仿真操作示例

    一.前言 毕业论文答辩结束,闲下来写篇文章.芯片研发人员都在Linux系统下借助各种EDA工具和代码语言完成工作,因此提高代码开发效率,熟练运用开发工具是十分必要的.本文讲述VIM编辑神器的veril ...

  8. VCS

    timing check相关的, +notimingcheck命令,可以用在compile时,也可以用在run time的时候, 都是将检查timing的系统函数,都disable掉了, 加在comp ...

  9. vcs命令

    转载:VCS_weixin_34256074的博客-CSDN博客 timing check相关的: +notimingcheck命令,可以用在compile时,也可以用在run time的时候, 都是 ...

随机推荐

  1. Drawable与Bitmap 自定义

    Drawable简介 Drawable是Android平下通用的图形对象,它可以装载常用格式的图像,比如GIF.PNG.JPG,当然也支持BMP.相比于View,我们并不需要去考虑如何measure. ...

  2. OD: Format String, SQL Injection, XSS

    Format String 格式化串漏洞 考虑如下的代码: #include<stdio.h> int main() { int a=44,b=77; printf("a=%d, ...

  3. web前端之文件上传

    前言 最近太忙一直没时间认真的写博客(哈哈哈),最近pm提一个需求,移动端需要一个上传图片的功能,允许多选.删除.预览.点击查看大图并可以滑动.虽然听起来很多,但是这个功能在web上实现过啊,使用we ...

  4. js生成随机数的方法小结

    js生成随机数主要用到了内置的Math对象的random()方法.用法如:Math.random().它返回的是一个 0 ~ 1 之间的随机数.有了这么一个方法,那生成任意随机数就好理解了.比如实际中 ...

  5. (转)sp_executesql介绍和使用

    execute相信大家都用的用熟了,简写为exec,除了用来执行存储过程,一般都用来执行动态Sql sp_executesql,sql2005中引入的新的系统存储过程,也是用来处理动态sql的, 如: ...

  6. [转]Xcode的重构功能

    Xcode提供了以下几个重构功能: Rename Extract Create Superclass Move Up Move Down Encapsulate 在菜单栏中的位置如下图: 在代码区里直 ...

  7. UVALive 5792 Diccionário Portuñol

    字符串匹配问题 有n个a串个m个b串,讲a的前缀和b的后缀粘在一起有多少个不同的新串. 首先求不同的前缀和后缀肯定好求了,就用字典树分别存一下a个倒过来的b. 那个问题就是解决例如,abcd,和bcd ...

  8. mac版sublime text2包管理器安装步骤

    第一步: control+-打开命令执行窗口. 第二步: 将包管理器的代码复制到命令执行窗口: import urllib2,os,hashlib; h = '2915d1851351e5ee549c ...

  9. Go语言之defer

    defer语句被用于预定对一个函数的调用.我们把这类被defer语句调用的函数称为延迟函数.注意,defer语句只能出现在函数或方法的内部. 一条defer语句总是以关键字defer开始.在defer ...

  10. php基础之二 函数

    一.语句:分支语句,循环语句 1.分支语句: 1.1 if $a = 7;if($a == 5){ echo "相等";}else{ echo "不相等";} ...