转载:verdi中如何查看force信号信息 | 骏的世界 (lujun.org.cn)

在仿真中,我们会有对信号进行force的操作,从而实现某些特定的功能。但是在仿真波形中,不能直接从波形上看出,这些信号的驱动,是因为前级电路的驱动,还是因为force的原因的驱动。从而使debug非常的不友好。

其实在verdi中,是可以直接看到force信号的信息的。这样的话,就会方便我们去debug force的信号。

要想要verdi中,查看force信号,就需要vcs在仿真时候,生成fsdb波形时,加入force信号的波形信息。只需要在仿真参数中,加入 +fsdb+force 参数即可。当fsdb波形生成后,就可以在verdi中,直接查看到信号的force信息。

如以下代码:

module tb_top();reg a;reg b;wire c;my_and u_my_and(a, b, c);initial begina = 1;b = 0;#10;force u_my_and.a = 1'b1;force u_my_and.b = 1'b1;#10;force u_my_and.a = 1'b0;force u_my_and.b = 1'b0;#10;release u_my_and.a;release u_my_and.b;#10;$finish();endinitial begin$fsdbDumpfile("force.fsdb");$fsdbDumpvars(0, "tb_top");end
endmodule: tb_top

其中my_and模块,代码如下:

module my_and(input a,input b,output c
);assign c = a & b;
endmodule

编译仿真的Makefile如下:

compile:vcs -full64 -sverilog  -debug_acces=all my_and.v tb_top.sv -kdbrun:./simv +fsdb+forceverdi:verdi -dbdir simv.daidir -ssf force.fsdb

在仿真的时候,加上+fsdb+force选项。

打开verdi,查看信号

从波形上,能够清晰的看到force信号的信息。用紫色虚线标识的波形,就表示这一段时间内,信号是被force驱动的。

  • 向下的紫色箭头,表示这个时候,有force语句针对该信号

  • 向上的紫色箭头,表示这个时候,有release语句针对该信号

    通过特殊的紫色波形标记,就可以很清晰的知道信号的force信息了。

在一个环境中,可能force的信号比较多,通过上面的波形方式,去把每一个信号给拉出来,判断信号是否有force,效率就会比较低了。

此时,我们可以使用fsdbreport命令,从波形里面,把所有的信号force的信息,全部给抓出来,保存在一个文件中,这样,我们通过该文件,就可以知道仿真过程中的所有信号force信息。

命令如下:

fsdbreport xxx.fsdb -find_forces -s "/*" -level level_number -o xxx.txt

其中:

  • xxx.fsdb:是输入的fsdb波形文件

  • -s: 指定查找force信息的层次, /* 表示从最顶层开始

  • -level:表示从指定的层次,向下查找层次的数目。0表示指定的层次和以下所有的层次。1表示指定的层次,2表示指定的层次和下一层次。之后依次类推,一般都是直接使用0

  • -o:指定输出文件

针对刚刚上述产生的force.fsdb波形,来提取force信息。命令如下:

fsdbreport force.fsdb -find_forces -s "/*" -level 0 -o force.txt

生成的force.txt信息如下:

该文件中,会打印每一个force信号的信息:

  • force信号的层次路径

  • force信号在什么时刻被force,force的值是多少

  • force信号在什么时刻被release

通过查阅该文件,就可以知道波形文件中,所有的force信号的信息,从而可以帮助我们去debug。

verdi中如何查看force信号信息相关推荐

  1. php查看CPU信息,Linux_Linux中如何查看CPU的信息,top命令是Linux下常用的性能分 - phpStudy...

    Linux中如何查看CPU的信息 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. top - 02: ...

  2. 在10g/11g中如何查看SQL Profiles信息

    在10g/11g中如何查看SQL Profiles的信息? 在Oracle 10g中,可以查询以下的数据字段表来获取信息: SQLPROF$ATTR.SQLPROF$.SQLPROF$DESC 在Or ...

  3. 在linux系统中如何查看cpu,Linux中如何查看CPU的信息

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. top - 02:53:32 up 16 days, ...

  4. kali中exiftool命令查看图片exif信息

    目录 kali中exiftool查看图片exif信息 1.安装exiftool 2.exiftool的使用 3例:查看图片exif kali中exiftool查看图片exif信息 注:还可以用来生成图 ...

  5. dve 二维数组信号 显示波形_交互式仿真下dve和verdi中查看二维数组值

    在交互式仿真中,可以通过dve工具和verdi工具,查看二维数组的值.但是不能查看稀疏数组的值. 什么是稀疏数组,类似于如下定义: reg [7:0] memory [bit[63:0]] 一.dve ...

  6. linux 查看显卡信号_Linux中查看显卡硬件信息

    Linux中查看显卡硬件信息 https://ywnz.com/linuxjc/67.html lspci -vnn | grep VGA -A 12 lshw -C display 查看当前使用的显 ...

  7. 转: 如何从keystore file中查看数字证书信息

    转: http://www.shuziqianming.com/201302/certificate-information-in-a-keystore-file/ 如何从keystore file中 ...

  8. .Net 中的反射(查看基本类型信息) - Part.2

    转自:http://www.cnblogs.com/JimmyZhang/archive/2008/02/17/1071372.html 反射概述 和Type类 1.反射的作用 简单来说,反射提供这样 ...

  9. Ubuntu系统中查看电脑驱动信息

    Ubuntu系统中查看电脑驱动信息 sudo ubuntu-drivers devices 俺的电脑显示以下信息 俺有一块6GB的GTX1060显卡 hello@hello-XPS-8930:~$ W ...

最新文章

  1. Linux那些事儿 之 戏说USB(27)设备的生命线(十)
  2. php 获取搜狗微信 sn,PHP 获取百度和搜狗收录量 代码 可用于EMLOG
  3. MySQL5.6 Performance_schema
  4. usb host控制devie进入suspend模式
  5. matlab lpfilter.m,histroi/statmoments/lpfilter/dftuv的Matlab程序
  6. matlab fftshift_数字信号处理没有Matlab?用Python一样很爽
  7. 元宇宙系列白皮书——未来已来:全球XR产业洞察
  8. 爆款入门 | 第 14 期微生物组-扩增子16S分析和可视化(线上/线下同时开课,2022.4)...
  9. thinkphp5 后台多选删除_TP5(thinkPHP框架)实现后台清除缓存功能示例
  10. 代理模式 委派模式 策略模式_委派模式和策略模式
  11. Node-webpack基本使用和详细案例
  12. 计算机网络协议到底分几层,一次讲清楚
  13. Android的数据库(SQLite)学习
  14. 3.4 小乌龟git使用说明
  15. ctfmon是什么启动项_Windows7系统启动项里没有ctfmon.exe怎么办?
  16. vue.js 密码加密_几种常见的密码简介
  17. 用泰勒展开式计算sin(x)的值
  18. 趋势科技2013/2014序列号
  19. palantir_Palantir Technologies有望成为今年最大的IPO
  20. python/sympy求解矩阵方程

热门文章

  1. 齿轮建模 图片及链接
  2. 【Linux集群基础环境搭建】基于虚拟机的多节点Linux网络环境搭建(超详细)
  3. matlab ode45三体问题,关于ode45中erf函数(输入必须为实数完全数的报错问题)
  4. ExtJs6入门-使用SenchaCmd命令创建第一个ExtJs6的HelloWorld项目
  5. CNN分类中批量读取数据及制作标签时报错:could not broadcast input array from shape (128,128,3) into shape (128,128)
  6. MS08067安全实验室『网络安全实战周训练营』现正免费报名,明晚八点上线!持续有课~...
  7. 瑞利、莱斯与Nakagami-m信道衰落模型
  8. C语言软件分层的方法,单片机程序分层设计思想
  9. 基于ghOSt用户调度器的环境搭建
  10. 区块链是如何升级的?