VCS-verilog compiled simulator是synopsys公司的产品.其仿真速度相当快,而且支持多种调用方式;使用的步骤和modelsim类似,都要先做编译,再调用仿真.
Vcs包括两种调试界面:Text-based:Command Line Interface(CLI) 和 GUI-based(VirSim);仿真主要的两个步骤是编译,运行:
>vcs design.v
//编译verilog的源文件并且生成一个可执行文件simv
>simv
//运行simv
一般情况下都存在vcs 做编译的时候的compile_time_options和运行时候的run_time_options,这些我们在下面再具体介绍.
一.VCS的三种调试模式
使用vcs存在三种调试模式:CLI调试模式,VirSim交互调试模式和VirSim后处理调试模式.下面举例说明:
1. CLI调试模式
CLI调试模式存在两种调用方法,一种是编译后马上执行,一种是把编译执行分开处理
>vcs source.v +cli+3 –R –s
或者
>vcs source.v +cli+3
>simv source.v –s
其中 +cli+[1 2 3 4]是指调试时候交互调试的能力.
+cli+[<module_name>=]1|2|3|4
Enable CLI debugging.
1 enables you to see the values of nets and registers and deposit values to registers.
2 also enables breakpoints on value changes of nets and registers.
3 also enables you to force a value on nets.
4 also enables you to force a value on a register.
You can specify a module to enable CLI debugging only for instances of the module.
-line 能够支持单步调试 但是这些都是会增加运行时间的.
这里不详细介绍CLI 命令具体可以参考usrerguide.注意我们也可以把CLI的命令写成一个script的文件在vcs编译时调用.
>vcs source.v –R –s –include script_file
或者在cli下调用cli>source script_file
2. VirSim交互调试模式
启动VirSim交互调试模式和调用CLI一样也是有两中方法.
>vcs source.v –RI –line +vcsd +cfgfile+filename
或者
>vcs source.v –I –line +vcsd
>vcs source.v -RIG +cfgfile+filename
其中-RI 作用有两个:编译生成可以在VirSim中可执行的文件并且编译后马上启动Virsim;
要编译成可以在VirSim中可执行的文件必须在编译阶段加-I,在要生成vcd或vpd时这个参数一定要添加;-RIG通过一个已编译完成的默认的simv文件启动Virsim,在启动之前一定要通过vcs –RI或者-I对源文件做过编译.
使用vcs编译源文件之后会发现目录下多了simv和/csrc等文件,其中simv是默认的可执行文件,可以在vcs做编译的时候 –o filename改变输出的名字,/csrc是存的增量编译的结果,/simv.daidir如果设置中使用到了PLI就会创建.
具体如何使用VirSim做交互调试这里也不具体介绍,可以参考VirSim的userguide和vcs安装下面的doc的tutorial.
3. VirSim的后处理调试模式
注意什么时候用后处理调试模式,什么时候使用交换模式那?在初步仿真的过程使用交互模式,若是调试一个成熟的设计或者很多人一起做调试这样子可以使用post-processing mode.其主要的方法是通过仿真运行dump数据在vcd或者vpd文件中,运行结束后通过vcd或者vpd观察运行过程的情况,交互调试能力相对较差,但是通过记录的数据可以观察出其中异常的地方;也就是包括两个步骤Write VCD+ file,View result.
>vcs source.v –line –R -PP +vcsd
其中-R自动运行并且生成vcd+文件
-PP编译的时候是faster VirSim post_processing
>VCS –RPP source.v +vpdfile+vcdplus.vpd
注意:VirSim只能处理VCD+ file.VCD文件可以被转换成VCD+格式的文件.
VCD+和VCD有什么不一样那?更快,更小.
VCD+系统任务可以在testbench中使用也可以在仿真的时候添加.(注意使用到这些系统函数时,在vcs编译的时候一定要添加-I或者-RI.)
$vcdpluson(level_number,module_instance,….|net_or reg,….)
level_numbers
指定记录的层次
0- 记录整个指定module_instance的所有信号
1- 记录指定module_instance顶层信号
n- 记录从顶层开始到下面的n层例化模块的信号
module_instance 指定例化名
net_ or reg 指定特定的wire或者reg作为记录的对象,默认是所有信号.
$vcdplusoff(module_instance,….|net_ or reg,…)
其他系统函数可以参见VCS quick reference.
二. 其他情况
注意区别的两个方面:
1. –R –I 不同于-RI
-R –I是编译成VirSim的可执行文件而且马上运行仿真, -RI是编译成VirSim的可执行文件并且调用VirSim.
2. –R –PP 不同于-RPP
-R –PP是编译成VirSim的可执行文件并且在运行的时候加快输出VCD+文件
-RPP是在存在VCD+的条件下调用VirSim进行post processing的调试.
门级仿真需要反标SDF文件,可以在testbench中添加$sdf_annotate系统函数.并且在编译的时候注意要使用standcell的仿真库.
VCS的调试模式
- VCS(9413)
相关推荐
求大佬分享VCS/Verdi 2014或者2018版本的安装包
x求哪位好心大佬分享VCS/Verdi 2014或者2018版本的安装包啊??最好还有相应的安装教程,跪谢!!!!
2021-06-21 06:33:15
基于linux系统实现的vivado调用VCS仿真教程
在linux系统上实现vivado调用VCS仿真教程 作用:vivado调用VCS仿真可以加快工程的仿真和调试,提高效率。 前期准备:确认安装vivado软件和VCS软件 VCS软件最好安装
2018-07-05 03:30:0010452
vcs和verdi的调试及联合仿真案例
若想用Verdi观察波形,需要在仿真时生成fsdb文件,而fsdb在vcs或者modelsim中的生成是通过两个系统调用$fsdbDumpfile $fsdbDumpvars来实现的。
2020-09-22 15:01:557459
VCS实用技巧分享
VCS是编译型verilog仿真器,VCS先将verilog/systemverilog文件转化为C文件,在linux下编译生成的可执行文./simv即可得到仿真结果。
2023-05-30 09:26:05463
什么是VCS
VCS是编译型Verilog模拟器,它完全支持OVI标准的Verilog HDL语言、PLI和SDF。VCS具有目前行业中最高的模拟性能,其出色的内存管理能力足以支持千万门级的ASIC设计,而其模拟精度也完全
2010-07-28 16:28:3512400
EDA仿真:VCS编译Xilinx仿真步骤
选择VCS,再指定库文件存放的路径;如果VCS的环境变量设置好了,那么会自动跳出Simulator executable path的路径的。
2023-03-31 10:21:43613
浅谈VCS的两种仿真flow
几乎所有的芯片设计、芯片验证工程师,每天都在和VCS打交道,但是由于验证环境的统一化管理,一般将不同的编译仿真选项集成在一个文件里,只需要一两个人维护即可。所以大部分人比较少有机会去深入地学习VCS的仿真flow。基于此,本文将介绍VCS仿真的 两种flow ,概述这两种flow分别做了哪些事!
2023-01-10 11:20:381430
SpinalHDL运行VCS+Vivado相关仿真
本篇文章来源于微信群中的网友,分享下在SpinalHDL里如何丝滑的运行VCS跑Vivado相关仿真。自此仿真设计一体化不是问题。
2022-08-10 09:15:171702
如何用vcs+verdi仿真Verilog文件
我们以一个简单的加法器为例,来看下如何用vcs+verdi仿真Verilog文件并查看波形。
源文件内容如下:
2023-05-11 17:03:36652
使用VCS两种仿真flow的基本步骤
VCS是一个高性能、高容量的编译代码仿真器,它将高级抽象的验证技术集成到一个开放的本地平台中。它能够分析、编译和编译Verilog、VHDL、SystemVerilog和OpenVera所描述
2022-05-07 14:20:573333
记录VCS仿真的IP核只有VHDL文件的解决方法
使用VCS仿真Vivado里面的IP核时,如果Vivado的IP核的仿真文件只有VHDL时,仿真将变得有些困难,VCS不能直接仿真VHDL
2023-06-06 11:15:35951
使用VCS仿真Vivado IP核时遇到的问题及解决方案
前年,发表了一篇文章《VCS独立仿真Vivado IP核的一些方法总结》(链接在参考资料1),里面简单讲述了使用VCS仿真Vivado IP核时遇到的一些问题及解决方案,发表之后经过一年多操作上也有些许改进,所以写这篇文章补充下。
2022-08-29 14:41:551264
调试STM32时能下载程序但调试模式(debug)无法进入main函数问题
调试STM32时能下载程序但调试模式(debug)无法进入main函数问题 今天调试程序时,突然发现程序不正常,然后给板子插上JTAG调试器,连上电脑,进入Debug模式,竟然无法进入主程序,连
2021-12-01 13:36:0716
新思科技采用VCS 与 Verdi 结合,推出与众不同的芯片设计
Graphcore 芯片业务副总裁 Phil Horsfield 说:“为了对我们的 IPU 加速器进行全面验证,需要每天进行涵盖数以千计的复杂测试场景的仿真回归分析。新思科技 VCS
2020-08-28 15:22:162964
递归算法的设计模式与调试
文中提出一种通用递归算法的设计模式,并结合实例说明该模式的应用方法和有效性,为研究递归算法提供了有效的解决方案,可推广性强。同时给出了递归程序在调试过程中的一些方法和
2011-11-03 15:04:4824
STM32低功耗模式的调试
低功耗模式的调试型号:STM32L452RET6规格:64PINSTM32支持3种低功耗模式:1.第一种就是睡眠模式,这种模式,电压调节器开启,内核停止运行,外设保持运行状态。这种模式一般适用于等待
2021-12-31 19:01:352
EDA工具vcs2014.03的环境搭建
由于vcs2014只支持gcc4.4的版本,而ubuntu16.4的gcc是5.4,所以需要先把gcc的版本降到4.4。
2018-12-02 09:23:483735
petalinux(二)开启petalinux内核调试模式
获得基于调试模式的petalinux,需要一些特定的配置设定,有一些特定的配置需要设置为了获取PetaLinux基于内核调试工作。
2017-11-18 13:46:4610174
嵌入式远程调试器保护模式下调试功能
嵌入式远程调试器为嵌入式系统开发者提供了一个友好的软件调试平台。探讨了保护模式下的用户目标程序的调试方法。并详细阐述如何运用运行在远程设备上的监控程序实现实模式下
2011-12-01 16:01:3636
实例分析LINUX系统的静/动态集成调试模式
现有的嵌入式LINUX系统开发过程中,所有的工程师都疲惫于使用两种不同的调试模式分别调试系统的内核和应用程序。首先通过一个JTAG调试工具来配置和启动LINUX系统;嵌入式LINUX系统正常运行起来
2017-11-06 11:00:540
VCS独立仿真Vivado IP核的一些方法总结
最近,需要使用VCS仿真一个高速并串转换的Demo,其中需要用到Vivado的SelectIO IP核以及IDELAYCTRL,IDELAY2原语。而此前我只使用VCS仿真过Quartus的IP核。
2023-06-06 11:09:561008
智能手机usb调试在哪_usb调试模式怎么打开
打开各手机论坛,看到许多朋友在问usb调试在哪?usb调试模式怎么打开?USB调试是Android系统提供的一个用于开发工作的功能软件,在每个Android系统上都会自带,USB调试主要作用是在 在
2012-09-24 15:26:00534406
vcs学习笔记(常用选项/仿真流程/代码覆盖率/综合后仿真/图一乐技巧)
VCS是编译型verilog仿真器,VCS先将verilog/systemverilog文件转化为C文件,在linux下编译生成的可执行文./simv即可得到仿真结果。
2022-05-23 16:04:456545
AImotive采用新思科技VCS®仿真和Verdi®调试验证其下一代自动驾驶
新思科技(Synopsys, Inc., 纳斯达克股票代码:SNPS)近日宣布,AImotive已采用新思科技VCS®仿真和Verdi®调试(Verification Continuum®平台
2021-01-13 15:57:341704
利用vcs+verdi仿真工具蜂鸟E200系列处理器仿真分析
开源RISC-V Hummingbird E203(蜂鸟E203)的仿真工具是开源的iverilog,这里利用vcs+verdi仿真工具进行仿真;
2022-11-17 10:28:361531
PLC CPU的三种工作模式
CPU有三种工作模式,分别为:调试,已锁定和可操作。 三种工作模式可以通过:在线->工作模式 设置。 调试:新建的工程默认进入此模式。在调试模式下,可添加断点、给变量强制值,以及启动或停止PLC程序
2023-03-08 15:54:001391
如何使用Synopsys VCS仿真器进行ZYNQ BFM IPI设计仿真
了解如何使用Vivado中的Synopsys VCS仿真器使用ZYNQ BFM IPI设计运行仿真。
我们将演示如何编译仿真库,为IP或整个项目生成仿真脚本,然后运行仿真。
2018-11-29 06:59:004339
如何使用Vivado中的Synopsys VCS仿真器进行仿真
了解如何使用Vivado中的Synopsys VCS仿真器使用MicrBlaze IPI设计运行仿真。
我们将演示如何编译仿真库,为IP或整个项目生成仿真脚本,然后运行仿真。
2018-11-29 06:57:006584
VCS独立仿真Vivado IP核的一些方法总结
前年,发表了一篇文章《VCS独立仿真Vivado IP核的一些方法总结》(链接在参考资料1),里面简单讲述了使用VCS仿真Vivado IP核时遇到的一些问题及解决方案,发表之后经过一年多操作上也有
2021-03-22 10:31:163027
VCS ICO的主要功能有哪些呢?
ico是vcs提供的用于优化覆盖率的feature;一般用户通过dist solver bofore等约束了变量的随机概率,而ico会在用户约束的基础上,做一些自动“修正”,以此来优化随机激励,提高随机多样性,加速覆盖率收敛,缩短 turn-around time TAT。
2023-09-19 14:59:31270
评论
查看更多