VCS仿真 Dump Memory
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)

参考文献
verdi3手册
VCS仿真 Dump Memory的更多相关文章
- VCS仿真查看coverage
VCS仿真查看coverage Design compiler & simulate #!/bin/csh -f setenv NOVAS_HOME /EDASynopsys/verdi3-I ...
- VCS仿真生成fsdb文件(Verilog)
VCS仿真生成fsdb文件(Verilog) 一.环境 Linux 平台 csh环境 VCS 64bit Verdi3 二.开始仿真 1. 联合仿真环境配置 a.在testbench中加入如下语句: ...
- VCS仿真生成vpd文件(verilog)
VCS仿真生成vpd文件(verilog) 一.环境与文件 Linux平台 csh环境 VCS 64bit 代码文件请参考<一个简单的Verilog计数器模型> 二.开始仿真 1.com ...
- 转:VCS仿真vivado IP的方法
vivado中的仿真库和模型与ISE中的是不一样的,因此在vivado中使用VCS进行仿真的方法也与ISE中不一样. VCS可以通过两种方法对XILINX的器件进行功能仿真和门级仿真,这两种方法是 P ...
- 【CCS仿真】如何将CCS仿真时memory中的数据以Hex、Integer、 Long 、Float、 Addressable Unit类型保存到PC
2013-12-04 19:07:05 将在CCS中仿真的数据导入电脑上时,可以选择不同的数据类型,以便分析,具体方法如下: 在CCS菜单中,选择File—>Data—>Save,弹出以下 ...
- VCS常用仿真选项开关及步骤总结
转自:https://blog.csdn.net/bcs_01/article/details/79803304 转自:https://blog.csdn.net/wonder_coole/artic ...
- 数字IC设计入门必备——VIM自定义模板调用与VCS基本仿真操作示例
一.前言 毕业论文答辩结束,闲下来写篇文章.芯片研发人员都在Linux系统下借助各种EDA工具和代码语言完成工作,因此提高代码开发效率,熟练运用开发工具是十分必要的.本文讲述VIM编辑神器的veril ...
- VCS
timing check相关的, +notimingcheck命令,可以用在compile时,也可以用在run time的时候, 都是将检查timing的系统函数,都disable掉了, 加在comp ...
- vcs命令
转载:VCS_weixin_34256074的博客-CSDN博客 timing check相关的: +notimingcheck命令,可以用在compile时,也可以用在run time的时候, 都是 ...
随机推荐
- 迟到的tkinter---学校选课刷屏器
今儿上午选修了一门<结构分析与程序设计>,发现是用VB编写结构力学受力图示的一门课,VB高中学过,但是基本已经忘得差不多了,今儿老师让用VB编写了一个计算器,匆忙的百度了一下后就完成了觉得 ...
- String.PadLeft - 格式对齐
语法:public string PadLeft( int totalWidth, char paddingChar ) 概述,实现的效果是右对齐,返回一个总长度为 totalWidth,如果实际长度 ...
- MRC和ARC混编
iOS5.0以后就开始可以使用ARC( Automatic Reference Counting:自动引用计数)来代替之前的MRC(Manual Reference Counting:人工引用计数). ...
- java下tcp的socket连接
serverDemo package cn.stat.p4.ipdemo; import java.io.IOException; import java.io.InputStream; import ...
- Collection使用方法
package cn.stat.p3.conection.demo; import java.util.ArrayList; import java.util.Collection; import j ...
- asp.net 发送邮件代码 System.Net.Mail
前台页面 SendEmail.aspx 代码 using System.Net.Mail;using System.Net; <h2> 发送电子邮件演示 </h2> <t ...
- javascript之事件绑定
曾经写过一篇随笔,attachEvent和addEventListener,跟本文内容有很多相似之处 本文链接:javascript之事件绑定 1.原始写法 <div onclick=" ...
- isArray
判断一个玩意是不是数组: (1)新方法:Array.isArray(); (2)旧方法:toString(); <!doctype html> <html lang="en ...
- Linux_access the file or directory which start with "-"
cd -- filename/dirName [ccmobil@vm-a65a-fc19 wstemp]$ cd -/ -bash: cd: -: invalid option cd: usage: ...
- RBAC(Role-Based Access Control)基于角色的访问控制
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成"用 ...