verdi中如何查看force信号信息

2023-11-18

转载: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 begin
        a = 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();
    end
  
    initial 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 -kdb
  
run:
    ./simv +fsdb+force
  
verdi:
    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。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

verdi中如何查看force信号信息 的相关文章

  • Ubuntu虚拟机安装EDA工具:VCS+Verdi+dve2018方法教程

    上个月刚完成Ubuntu虚拟机的安装 xff0c 本教程的基础是你已经安装好了Ubuntu的虚拟机 xff0c 最好是和笔者版本接近的Ubuntu xff0c 具体安装方法已在之前的文章中介绍过了 xff1a https blog csdn
  • VCS-Verdi ubuntu 安装

    前言 金鱼博主今天又花了大半天重装VCS 43 Verdi xff0c 现在记录一下 xff0c 以备下回重装 顺带一提 xff0c 我的安装环境是虚拟机的Ubuntu 16 04 参考 1 安装流程参考自 xff1a https blog
  • 【数字 IC】从底层重新认识 D 触发器、建立时间和保持时间

    目录 1 NMOS 和 PMOS 2 MOS 管搭建逻辑门 3 锁存器和触发器 3 1 交叉耦合反相器 3 2 SR 锁存器 3 3 D 锁存器 3 4 D 触发器 4 D 触发器的建立 保持时间 1 NMOS 和 PMOS MOSFET
  • Verdi 之配置及波形打开

    目录 写在前边 1 verdi的配置 2 波形的产生及打开 写在前边 本部分内容主要对Verdi的学习进行总结 大概分三篇文章进行叙述 1 verdi的配置 1 首先打开 bashrc文件进行环境配置 2 Verdi 配置如下 verdi
  • Verdi实现信号的平移

    在Verilog System verilog中 xxx可以实现延迟指定时间的功能 而在使用verdi查看信号波形并进行分析时 同样也可以实现类似的功能 注 这种信号平移是有其应用场景的 例如 在某些仿真模型中 为了模拟实际的信号延迟 信号
  • 数字IC笔试面试常考问题及答案

    来源 知乎 链接 https zhuanlan zhihu com p 261298869 基础知识 原理务必理解透彻 锁存器的结构 DFF的结构 建立保持时间 亚稳态 STA CDC 亚稳态的成因 危害 解决方法 建立保持时间的计算 违例
  • 【HDLBits 刷题 12】Circuits(8)Finite State Manchines 27-34

    目录 写在前面 Finite State Manchines 2014 q3c m2014 q6b m2014 q6c m2014 q6 2012 q2fsm 2012 q2b 2013 q2afsm 2013 q2bfsm 写在前面 HD
  • verdi学习总结

    verdi学习总结 本篇文章关于Verdi的使用 并长期进行补充与更新 verdi简介 verdi用来查看fsdb波形进行代码的debug 使用流程 1 在tb文件中dump相应的要调试的信号 fsdbDumpvars 0 test top
  • FPGA数字IC刷题58道Verilog题解代码及视频讲解【FPGA探索者】【同步/异步FIFO】【跨时钟】

    牛客 Verilog 刷题入门篇1 24 进阶篇1 34 题解代码 所有代码均能通过测试 配合视频讲解效果更佳 为避免内容冗余 本文只给出代码 部分题目给出必要说明 很多题目本身出题有些问题 着重理解题目 没必要钻牛角尖 本文作者 FPGA
  • 【HDLBits 刷题 4】Verilog Language(4)Procedures 和 More Verilog Features 部分

    目录 写在前面 Procedures Alwaysblock1 Alwaysblock2 Always if Always if2 Always case Always case2 Always casez Always nolatches
  • Vcs+Verdi 联调

    lmg vcs lmdown y 等待两分钟 再次输入指令 lmg vcs 激活license 目录 主要参考示例 问题1 需要修改默认的shell 问题2 v 快速在flist添加路径失败 问题0 bash alias verdi 未找到
  • 芯片设计制造全过程

    芯片设计制造全过程 将一颗芯片从0到1 可以分为芯片设计和芯片制造两部分 芯片设计对应市场上一些fabless公司 这类公司只做芯片设计 而芯片制造对应的是foundary 比如国内的smic TSMC 国外的Samsung GlobalF
  • 数字SOC设计之低功耗设计入门(二)——功耗的分析

    前面学习了进行低功耗的目的个功耗的构成 今天就来分享一下功耗的分析 由于是面向数字IC前端设计的学习 所以这里的功耗分析是基于DC中的power compiler工具 更精确的功耗分析可以采用PT 关于PT的功耗分析可以查阅其他资料 这里不
  • 芯片面积估计方法

    一 概念 芯片面积的主要涵盖部分分为三部分 IO 芯片的信号及电源pad等 Standard cell 实现芯片的功能逻辑 Macro block 第三方IP PLL DAC POR Memory etc 芯片面积估计就是通过目标工艺的库信
  • APB总线详解及手撕代码

    本文的参考资料为官方文档AMBA 3 APB Protocol specification 文档下载地址 https pan baidu com s 1Vsj4RdyCLan6jE quAsEuw pwd w5bi 提取码 w5bi APB
  • 数字SOC设计之低功耗设计入门(三)——系统与架构级低功耗设计

    前面讲解了使用EDA工具 主要是power compiler 进行功耗分析的流程 这里我们将介绍在数字IC中进行低功耗设计的方法 同时也结合EDA工具 主要是Design Compiler 如何实现 我们的讲解的低功耗设计主要是自顶向下的设
  • Design Compiler指南——设计综合过程

    在前面一章介绍完施加约束之后 接下来要做的工作就是将设计进行综合编译 compile 本文我们将主要讨论综合编译的过程 主要分为这样几个部分 优化的三个阶段及其特点 编译的策略 编译层次化的设计 一 优化的三个阶段 这一节我们介绍Desig
  • 【数字电路基础】三态门

    目录 前言 三态门 经典问题 前言 文主要讲解三态门 三态门 其模型为 其实际电路为 其真值表为 B A C 0 0 Z 0 1 Z 1 0 0 1 1 1 注意 Z是高阻 不代表没有电压 而是电压不确定 受自身 旁边cell的影响 经典问
  • 数字后端知识点扫盲——CTS (上)

    后端和前端一样在IC设计中扮演着非常重要的角色 甚至可以说入门的前端设计工程师对timing的理解远不如一个后端设计工程师 因此想要更好的理解电路的timing在后端P R之后或者说在大规模的设计中后端如何实现clock对DFF的驱动 就需
  • 数字后端知识点扫盲——后端设计流程及使用工具

    1 DFT Design For Test 可测性设计 芯片每一步往往都自带测试电路 DFT的目的就是在设计的时候就考虑将来的测试 DFT的常见方法是 在设计中插入scan chain 将非扫描单元 如寄存器 变为扫描单元 DFT工具是sy

随机推荐

  • qt 目录操作(QDir 类)展示系统文件案例

    1 目录操作 QDir 类 QDir类提供对目录结构及其内容的访问 QDir用于操作路径名 访问有关路径和文件的信息以及底层文件系统 它还可以用于访问Qt的资源系统 Qt使用 作为通用目录分隔符 与 在URL中作用路径分隔符的方式相同 如果
  • C++开发象棋一 绘制棋盘

    这是我要和大家分享的基于C 和MFC开发的一个象棋程序 目的是练习编程实践和大家分享同时希望大家能给出指教 进入主题 一 棋盘分析 这是我绘制的棋盘 棋盘的组成由9条竖线和10条横线构成 这儿我们设置每条线间的间隔是50 二 绘制过程 1
  • wdatepicker默认时间为当前时间

    document ready function alert today document getElementById serviceTime value today function today var today new Date va
  • mybatis中的if-else的嵌套使用

    mybatis的if else的嵌套使用方法 案例一 if else 在mybatis的使用过程中 难免会存在使用if else的逻辑 但是实际是没有这种语法的 提供了choose标签来替代这种语法
  • C++回顾——引用和拷贝构造函数

    一 C 中的指针 C和C 指针的最重要的区别在于C 是一种类型要求更强的语言 C不允许随便地把一个类型的指针赋值给另一个类型 但允许通过void 来实现 C 不允许这样做 如果真想把某种类型当做别的类型处理 则必须显示地使用类型转换 二 C
  • lunix断点调试与查看对象

    断点调试命令 如何查看对象内部的属性与方法
  • [高光谱] 开源项目Hyperspectral-Classification Pytorch解析之main

    开源项目Hyperspectral Classification Pytorch解析之main py 编码方式 coding utf 8 项目简介 DEEP LEARNING FOR HYPERSPECTRAL DATA This scri
  • 解决在cmd情况下无法连接MySQL情况(无脑操作教程)

    在输入外部命令 mysql u root p的时候 出现下面的情况 网图 侵删 问题分析 可能是MySQL路径问题没有解决 解决方法 1 打开电脑高级设置 2 点击环境变量 3 找到path路径变量后 点击编辑 4 新建路径 此路径是我保存
  • Java实现图片裁剪预览功能

    在项目中 我们需要做些类似头像上传 图片裁剪的功能 ok看下面文章 需要插件 jQuery Jcrop 后端代码 package org csg upload import java awt Rectangle import java aw
  • std::promise介绍及使用

    一 std promise介绍 std promise是C 11并发编程中常用的一个类 常配合std future使用 其作用是在一个线程t1中保存一个类型typename T的值 可供相绑定的std future对象在另一线程t2中获取
  • 使用OpenCV获取图像中某一点的像素值和修改某一点的像素值

    使用OpenCV获取图像中某一点的像素值和修改某一点的像素值 int my getpixel IplImage img cvLoadImage D Case Train1 bmp 1 CvScalar s for int i 0 i
  • 回文链表和链表reverse()

    链接 判断一个链表是否是回文字符串 快慢指针 链表reverse 考虑是偶数链表还是 reverse 以后都构造不包含头节点都结果链表 其实跟我以前都思路是一样的想法 同样是采用头插入法和分开两个链表的做法情况 public void re
  • 通义千问,阿里版ChatGPT,拿到邀请码了

    大家好 我是章北海mlpy 通义千问是阿里巴巴推出的一个大型预训练模型 是达摩院自主研发的超大规模语言模型 能够回答问题 创作文字 还能表达观点 撰写代码 昨天中午 阿里云通过官方微信公众号对旗下的超大规模语言模型通义千问进行官宣 并面向企
  • 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 无法将“obj\Debug\上位机.exe”复制到“bin\Debug\上位机.exe”。超出了重试计数 10。失败

    项目场景 提示 Visual studio常见bug 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 无法将 obj Debug 上位机 exe 复制到 bin Debug 上位机 exe 超出了重试计数 10 失败 解决方案 提示
  • Unity Shader 基础(2) Image Effect

    Unity Shader 基础 2 Image Effect Unity中 Image Effect 是Post Processing的一种方 Unity自身也提供很多Effect效果供使用 Image Effect的使用官方文档做了很多介
  • Vue使用Element-ui表单发送数据和多张图片到后端

    在做项目的时候遇到一个问题 前端需要上传表单到后端 表单数据包括文本内容和图片 后端我用的是Nodejs 效果类似下图 前端需要向后端传商品名称 价格 描述 商品图片 前端准备 利用Element ui中的表单功能和上传功能 将upload
  • 【面试八股文】每日一题:谈谈你对IO的理解

    谈谈你对IO的理解 每日一题 Java核心 谈谈你对对IO的理解 面试八股文 1 Java基础知识 Java IO Input Output 是Java编程语言中用于处理输入和输出的一组类和接口 它提供了一种在Java程序中读取和写入数据的
  • Web前端部署的几种方法和步骤

    随着互联网技术的发展和普及 Web前端开发已成为当今最重要和最具前景的技能之一 与此同时 如何将 Web 前端部署到服务器上已成为一个必不可少的技能 本文将介绍 Web 前端部署的几种方法和步骤 一 前置准备 在开始 Web 前端部署之前
  • linux安装SecureCRT安装教学

    linux安装SecureCRT安装教学 列如 Anolis OS8 6 安装SecureCRT8 0 目录 系列文章目录 linux安装SecureCRT安装教学教学 前言 一 securecrt安装 二 使用步骤 1 创建securec
  • verdi中如何查看force信号信息

    转载 verdi中如何查看force信号信息 骏的世界 lujun org cn 在仿真中 我们会有对信号进行force的操作 从而实现某些特定的功能 但是在仿真波形中 不能直接从波形上看出 这些信号的驱动 是因为前级电路的驱动 还是因为f