EDA09--VCS 操作实践(二)

这篇具有很好参考价值的文章主要介绍了EDA09--VCS 操作实践(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前面介绍过了VCS的基本知识,现在进行VCS操作实践,介绍两类,即交互式操作和后处理两种。
本次操作所用到的所有文件脚本都在这里,大家下载下来即可:链接: link
本次操作所用到的所有文件脚本都在这里,大家下载下来即可:链接: link
本次操作所用到的所有文件脚本都在这里,大家下载下来即可:链接: link

一、交互式操作步骤

每一步都要用户手动操作,例如在一个文件夹中只有RTL设计adder4.v和测试文件test_adder4.v,如图:
vcs仿真时间设置,EDA学习,html,github,前端

1.1 编译

输入编译指令:

vcs -full64 -sverilog -debug_all -timescale=1ns/1ns adder4.v test_adder4.v  -l com.log

编译成功后有…/simv up to data,界面如下:
vcs仿真时间设置,EDA学习,html,github,前端此时查看文件夹下内容有如下:
vcs仿真时间设置,EDA学习,html,github,前端
其中com.log存放生产日志文件, 可执行文件simv。

1.2 启动dve

输入命令:

dve &

结果为:
vcs仿真时间设置,EDA学习,html,github,前端
随后跳出DVE初始界面如下:
vcs仿真时间设置,EDA学习,html,github,前端1、点击simulator下setup选项;
vcs仿真时间设置,EDA学习,html,github,前端2、点击如下选项;
vcs仿真时间设置,EDA学习,html,github,前端3、选择simv文件,确定;
vcs仿真时间设置,EDA学习,html,github,前端4、这时波形已经加进来了,如下:

vcs仿真时间设置,EDA学习,html,github,前端5、我们需要波形跑多长时间需要用户自己输入,在界面下方找到dve命令输入框,输入命令 run 100 ,则波形运行100仿真单位,我们可以多跑一段时间,这里我们跑1000。
vcs仿真时间设置,EDA学习,html,github,前端
6、把波形调出来查看,选中一个波形,CTRL+a全选,右键add to waves,最后new wave view。
vcs仿真时间设置,EDA学习,html,github,前端7、随后波形出现,按gf键全屏。
vcs仿真时间设置,EDA学习,html,github,前端8、接下来就和Modelism操作一致了,该怎么操作就不多讲了…

二、后处理模式

这次我们不手动跑波形,而是让仿真器自己按照我们提前写的Testbench把波形跑好,直接用DVE展示。

2.1 编译

输入编译命令:

vcs -full64 -sverilog -debug_all -timescale=1ns/1ns adder4.v test_adder4.v  -l com.log

编译结果和交互式一样,有显示信息,../simv up to data

2.2 运行

输入运行指令:

simv -l sim.log

如图则表示运行成功,
vcs仿真时间设置,EDA学习,html,github,前端
运行会产生波形记录文件,即所产生波形信息,波形文件大体有两种,vcd和vpd,波形文件的产生需要在Testbench中添加代码,

下面是产生vcd文件的一般方法,即在initial激励块前加上一块,initial激励块$finish前加一句即可。

initial begin
    $dumpfile("test_adder4.vcd");
    $dumpvars(1,test_adder4);
    $dumpon;
end

initial begin
    测试激励
 #100  $dumpoff;
 #1000 $finish;
end

下面是产生VPD文件的一般方法,即在initial激励块前加上一块,initial激励块$finish前加一句即可。

initial begin
    $vcdplusfile("test_adder4.vpd");
    $vcdpluson(0,test_adder4);
    $vcdplustraceon(test_adder4);
end
initial begin
    测试激励
#100  $vcdplustraceoff(test_adder4);
      $vcdplusoff(test_adder4);
#1000  $finish;
end

文件vcd和vpd的产生方法。,具体查看链接: link
另外,本文的工程文件后续打包发出来,大家随意查看…


运行完之后打开文件夹,会产生一个vpd文件,这就是产生记录波形信息的文件。vpd和vcd等其他波形文件的区别上个链接也有介绍,具体查看链接: link
vcs仿真时间设置,EDA学习,html,github,前端

2.3、调试

输入调试命令如下,

dve -full64 -vpd test_adder4.vpd &

直接弹出DVE窗口,可以看到波形文件已经添加进去了。
vcs仿真时间设置,EDA学习,html,github,前端
把波形调出来查看,选中一个波形,CTRL+a全选,右键add to waves,最后new wave view。
vcs仿真时间设置,EDA学习,html,github,前端

三、Makefile脚本

后处理模式下指令要一步一步写,这样比较麻烦,我们可以把需要用到的指令集合为一个脚本,运行脚本即可完成所有操作。写脚本之前需要一个准备工作。

3.1、准备步骤

首先,把所有的.v文件相对位置打包起来,这样运行文件的时候就不用一个一个的把.v文件全写出来,而是直接以-f命令运行存储相对位置的文件
使用命令:

find -name "*.v" > file.list

将文件内所有.v文件的相对位置打包之后会在文件夹内部创建一个文件,文件加及其file.list内部如下:
vcs仿真时间设置,EDA学习,html,github,前端
vcs仿真时间设置,EDA学习,html,github,前端
如何检查打包是否正确?点击一个.v文件名,按住g+f,ctrl+o,看是否跳转至设计文件即可。

3.2、编写脚本

创建脚本文件Makefile,并用gvim打开,
命令:

g ./Makefile

Makefile用TCL语言编写,语法要求遵守TCL语法,内容在后处理的三条命令上修改得到,大家瞅不明白的可以看看以前写的TCL脚本语言和VCS知识内容等相关篇目。
Makefile内部输入如下脚本:

all:com sim run_dve


com:
	vcs                          \
	-full64 -sverilog -debug_all \
	-timescale=1ns/1ns           \
	-f file.list                 \
	-l com.log



sim:
	simv -l sim.log

run_dve:
	dve -full64 -vpd test_adder4.vpd &

cm:	
	  vcs                                    \
			-f file.list                     \
			-timescale=1ns/1ns               \
			-full64 +v2k                     \
			-debug_all                       \
			-cm line+cond+fsm+tgl            
	
	./simv  -cm line+cond+fsm+tgl            \
	        -l com.log
			
	  dve   -full64                          \
	        -cov                             \
			-covdir                          \
			simv.vdb


clean:
	 rm -rf  *~  core  csrc  simv*  vc_hdrs.h  ucli.key  urg* *.log  novas.* *.fsdb* verdiLog  64* DVEfiles *.vpd *.vcd *.dump *.vdb

其中 com编译,sim运行,run_dve调试,cm代码覆盖率。all:com sim run_dve 可以一次性运行三条命令。脚本中加入了clean指令,意思是每次退出前删除运行所产生的垃圾文件,保持好习惯。

输入如下命令即可直接进入DVE界面查看仿真波形(如下),和前面一样,直接选择添加波形即可。

make all

vcs仿真时间设置,EDA学习,html,github,前端输入如下命令即可直接进入DVE界面查看代码覆盖率(如下),和前面一样,直接选择添加波形即可。

make cm

vcs仿真时间设置,EDA学习,html,github,前端代码覆盖率查看比较简单,直接对应选项双击即可。
至此,前仿真结束,还有门级后仿真,,,,,加油!!!文章来源地址https://www.toymoban.com/news/detail-663662.html

到了这里,关于EDA09--VCS 操作实践(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [VCS、verdi、makefile] 联合仿真 ——步骤

    目录 1、vcs、verdi简介和安装 2、Verdi的配置 3、vcs与Verdi联合仿真的Makefile脚本 1、基于Verilog系统函数Makefile脚本 1.1 先在tb文件中添加代码段,仿真后可以产生.fsdb文件  1.2 Makefile写法 2、基于ucli/tcl接口Makefile脚本 4、Verdi的使用       建议去淘宝买别人别人装好的环境,自己整

    2024年02月01日
    浏览(37)
  • 逻辑仿真工具VCS的使用-Makefile

            Gvim写RTL code,VCS仿真,Verdi看波形,DC做综合下约束,Primetime做STA,Spyglass做异步时序分析。            VCS全称Verilog Computer Simulation ,VCS是逻辑仿真EDA工具的编译源代码的命令。要用VCS做编译仿真,首先得有一个RTL代码,比如我们写了一个全加器和全加器的

    2024年02月02日
    浏览(40)
  • 新手教程01:逻辑仿真工具VCS的基础使用

    目录 前言 利用图形化界面的方法使用VCS 1. 新建文件夹,存放需要仿真的Verilog源代码和testbench测试文件​ 2. 使用cd命令进入该文件夹路径下,对需要编译的文件生成file.list文件 3. 使用vcs命令编译仿真需要的verilog代码 4. 启动VCS图形化界面 5. 进行仿真,生成波形 总结 零基础

    2024年02月09日
    浏览(43)
  • 【数字IC设计】VCS仿真DesignWare IP

    DesignWare是SoC/ASIC设计者最钟爱的设计IP库和验证IP库。它包括一个独立于工艺的、经验证的、可综合的虚拟微架构的元件集合,包括逻辑、算术、存储和专用元件系列,超过140个模块。DesignWare和 Design Compiler的结合可以极大地改进综合的结果,并缩短设计周期。Synopsys在DesignW

    2024年02月14日
    浏览(50)
  • Linux下VCS&Verdi入门级联合仿真教程

    前言 如果没有安装VCS和Verdi,可以先移步到VCS Veidi 下载与安装教程 一站式虚拟机套餐,感谢这位博主大大的分享,极大的减轻了我工具安装带来的烦恼。 VCSVerdi介绍 博主在上一篇博文《ASIC设计流程及对应EDA工具简介》中介绍了ASIC设计流程中常用的EDA工具。大家使用过的V

    2024年02月15日
    浏览(59)
  • 【VCS+Verdi联合仿真】~ 以计数器为例

    首先,先声明一下,我写这篇博客的时候我就是一个纯小白,实不相瞒,刚刚学了一天,哈哈哈,没错,你没看错,就是一天!!!主要是因为前天因为刷题和找工作的需要,需要熟悉VCS和Verdi的联合仿真(据说是很好用,随大流呗!!!),所以才会有接下来的一些相关博

    2023年04月12日
    浏览(33)
  • 新手教程03:通过makefile脚本使用VCS+Verdi进行联合仿真

    目录 前言 makefile脚本的方式使用VCS 1. 自动生成 .fsdb 文件 2. 生成 filelist.f 文件 3. 书写 makefile 脚本 4. termial 中运行仿真 5. verdi 的快捷操作 总结 零基础初学数字IC,学会什么写什么,与大家一起进步。 本文主要介绍如何通过makefile脚本的方式用VCS+Verdi进行联合仿真。 因为要使

    2024年02月13日
    浏览(37)
  • 基于vcs+uvm+xilinx ip的仿真平台的半自动化搭建

    系 统:ubuntu 18.04 仿真平台:vcs_2018.09-SP2 开发平台:vivado 2019.2 本文的主要目的是自动化搭建基于vcs+uvm+xilinx ip的仿真平台,节省平台搭建的时间与精力。 拿到一个项目,一般的平台搭建的步骤:去网上找一个makefile脚本(或者使用原项目脚本),修改相应的软件路径,添加

    2024年01月18日
    浏览(45)
  • Shell+VCS学习1

    mkdir rmdir rm mkdir 创建文件夹 -p 确保目录名称存在,不存在的就建一个。 若 runoob2 目录原本不存在,则建立一个。(注:本例若不加 -p 参数,且原本 runoob2 目录不存在,则产生错误。) 2. rmdir 删除文件夹 于目前目录有适当权限的所有使用者 filename:删除空的目录。 参数: -

    2024年02月01日
    浏览(31)
  • VCS学习笔记(二)

    VCS仿真分两步法和三步法,两步法包含:Compiling、Simulating;三步法包含:Analyzing、Elaborating、Simulating。 两步法只支持Verilog和systemVerilog语言编写的工程,不支持带vhdl语言的工程编译。三步法支持VHDL、Verilog和混合HDL编译。本文阐述三步法仿真方式: VCS提供了vhdlan和vlogan可执

    2024年02月01日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包