使用UCLI控制VCS仿真(常用于dump波形) 您所在的位置:网站首页 使用vcs编译verilog的命令 使用UCLI控制VCS仿真(常用于dump波形)

使用UCLI控制VCS仿真(常用于dump波形)

2023-04-21 11:38| 来源: 网络整理| 查看: 265

基础介绍

Unified Command Line Interface (UCLI) 提供了与VCS交互仿真的控制命令,即与VCS的命令行输入接口。

UCLI的命令是基于Tcl脚本语言进行编写的,也就是说可以编写Tcl脚本来实现:

控制仿真dump fsdb或者vpd波形文件保存或恢复仿真状态force或release某个信号使用breakpoints或scope以及内建宏等信息对设计进行调试

因此可以很灵活的进行调试和仿真控制。

参考命令:

simv -ucli -i xxx.tcl

这里我们吃进去一个xxx.tcl文件,其中包含了想要的UCLI命令。

但要注意的是根据编译选项权限的不同,能够使用的UCLI的范围有限:

UCLI命令及选项有很多,我们以比较常用的dump波形的应用场景来做介绍,其他的请参考手册:

call:一个可以调用Verilog或PLI的接口命令。dump:指定波形文件dump的信息,比如指定dump的层次范围及深度,使能控制,变量等。run:控制UCL的仿真时间应用场景场景1

从仿真开头开始dump 10ns的vpd波形文件,然后仿真结束,参考Tcl脚本:

call {$vcdpluson} run 10ns finish场景2

从仿真开头开始,先等10ns,然后开始dump vpd波形文件,直到仿真结束,参考Tcl脚本:

run 10ns call {$vcdpluson} run场景3

从仿真开头开始,先等10ns,然后开始dump vpd波形文件,直到仿真结束,参考Tcl脚本:

run 10ns dump -file vcdplus.vpd -type VPD dump -add top.DUT -depth 0 -fid VPD0 run场景4

从仿真开头开始,先等10ns,然后开始dump vpd波形文件,但只dump20ns的波形,即只dump仿真时间10ns~30ns之间的波形,然后停止dump并等待仿真结束,参考Tcl脚本:

run 10ns dump -file vcdplus.vpd -type VPD dump -add top.DUT -depth 0 -fid VPD0 run 20ns dump -close run补充

1、如果要更精细化的dump波形控制则使用dump命令,否则使用call调用系统函数即可。

2、如果要dump DUT设计中的某一部分波形,则改变dump -add后面的top.DUT的层次路径就可以。

3、可以添加多行dump -add 语句来增量添加要dump的设计层次波形,参考:

dump -add top.DUT.A -depth 0 -fid VPD0 dump -add top.DUT.B -depth 0 -fid VPD0 dump -add top.DUT.C -depth 0 -fid VPD0 ...

4、如果要dump fsdb文件的话,参考:

dump -file test.vpd -type FSDB

5、-depth如果为0,则dump指定层次下所有的波形,如果为1,则只dump指定层次的波形,如果是其他数值则dump只当层次下的级数对应的波形。

6、如果要dump memory或多维数组信号以及断言,则在dump命令后面添加-aggregates选项,参考:

dump -add top.DUT -depth 0 -aggregates -fid VPD0小结

就像之前说的,UCLI命令及选项有很多,我们这里只是以比较常用的dump波形的应用场景来做介绍,可以控制dump波形的范围,时间窗口长度以及数据类型,从而节约时间,提升效率,更详细的UCLI功能请参考手册。

如果你想系统的学习芯片验证和UVM,欢迎点击以下课程链接:

如果你想系统的学习芯片领域的脚本编写,欢迎点击以下课程链接:

公众号:程序员Marshall


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有