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. ASP.NET MVC全局观

    全局      首先我们来看一副图片,由于这幅图是我自己画的,不是摘自微软官方,所以如果有什么不到位的地方还望海涵! 首先,用户通过Web浏览器向服务器发送一条url请求,这里请求的url不再是xxx ...

  2. Swift中的便利构造器和构造器链

    import UIKit // 1.一个类中至少有一个指定构造器, 其必须负责初始化类中所有的实例存储属性 // 2.便利构造器属于次要的, 辅助性的构造器 // 3.类中可以不定义便利构造器, 便利 ...

  3. SignalR2.0开发实例之——负载均衡

    SignalR 2.0作为一个新的而且强大的通信工具,发布博客之后得到了很多人的支持,谢谢...也有人对性能和架设等问题提出了各种质疑..真的很感谢.. 我特意下载了SignalR 2.0的源码硬着头 ...

  4. uva 10963 - The Swallowing Ground

    #include <iostream> #include <cstdio> #include <cstdlib> #include <set> usin ...

  5. 分享8款精美的jQuery图片播放插件

    本文将和大家一起分享8款精美的jQuery图片播放插件,每一款插件均有演示和源码下载,有兴趣的朋友可以下载使用和研究.废话不多说了,直接上这些插件. 1.3D轮播相册 这款3D相册插件利用了HTML5 ...

  6. keypress和keydown事件及keyCode和keyChar

    二:keypress和keydown事件: 现只在IE10.chrome(版本 32.0.1700.107 m).firefox(25.0.1)中测试了.   IE8 chrome firefox $ ...

  7. struts2标签自动错行、换行问题

    <s:radio list="#{0:'男',1:'女' }" value="student.sex" name="student.sex&qu ...

  8. php对象中类的继承性访问类型控制

    类型的访问控制通过使用修饰符允许开发人员对类中成员的访问进行限制.这是PHP5的新特性,也是OOP语言中的重要特性,大多数OOP语言都已支持此特性.PHP5支持如下三种访问修饰符,在类的封装中我们已经 ...

  9. set{变量 = value;}get{return 变量;}

    形如: public string _customValue        {            set { _customValue = value; }            get { re ...

  10. Ubuntu-Java-Scala-Spark-IEDA-configure

    最近要接触数据分析,需要快速入门,就想在Ubuntu下配置IDEA和Spark编程环境. 1.下载jdk #java /etc/profile .zshrc, 或者直接在终端输入export JAVA ...