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. CSS 特殊样式设置集合

    1. 父窗口宽度不定,要求内部两个子块, 第一个子块宽度固定,第二个子块宽度自适应. 第一个子块宽度固定,定位为绝对定位 position:absolute;  第二个子块设置margin-left即 ...

  2. 转载——SQL Server数据库性能优化之SQL语句篇

    转载自:http://www.blogjava.net/allen-zhe/archive/2010/07/23/326927.html 1. 按需索取字段,跟“SELECT *”说拜拜 字段的提取一 ...

  3. POJ 3045 Cow Acrobats (贪心)

    POJ 3045 Cow Acrobats 这是个贪心的题目,和网上的很多题解略有不同,我的贪心是从最下层开始,每次找到能使该层的牛的风险最小的方案, 记录风险值,上移一层,继续贪心. 最后从遍历每一 ...

  4. centos6 安装 lamp

    首先更新一下yum -y update 安装Apache yum install httpd httpd-devel 安装完成后,用/etc/init.d/httpd start 启动apache 设 ...

  5. [HDU] 1068 Girls and Boys(二分图最大匹配)

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1068 本题求二分图最大独立点集.因为最大独立点集=顶点数-最大匹配数.所以转化为求最大匹配.因为没有给 ...

  6. cf A. Down the Hatch!

    http://codeforces.com/contest/332/problem/A #include <cstdio> #include <iostream> #inclu ...

  7. Cmake 脚本对预处理器的宏定义

    我们有些时候会在#if   #ifndef   等预编译命令里面看到_WIN32等定义的宏.但是有些宏定义,你即使通过Visual Studio右键的go to definitions 和go to ...

  8. iOS 9之SFSafariViewController

    金田( github 示例源码) 有时候需要在App内部打开一个网页,例如为了展示公司官网,产品列表信息,Facebook,微博等.以前都是使用 UIWebView,iOS 8引入了WKWebView ...

  9. 解决比较Oracle中CLOB字段问题

    解决比较Oracle中CLOB字段问题   Oracle中CLOB和BLOB字段虽说在开发中满足了存放超大内容的要求,但是在一些简单使用中确频频带来麻烦.CLOB中存放的是指针,并不能直接取到实际值. ...

  10. 2014.7.7 模拟赛【小K的农场】

    3.小K的农场(farm.pas/cpp/c) [题目描述] 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共m个),以下列三 ...