本文记录使用Verdi或DVE查看delta cycle的方法和分享一些分析波形的小技巧。

文章目录

  • 查看Delta Cycle的方法
    • Verilog和SV的仿真调度机制
    • 使用Verdi查看Delta Cycle的方法
    • 使用DVE查看Delta Cycle的方法
  • Verdi的一些其他小技巧
    • 总线拆分
    • 事件统计
    • 逻辑运算
    • 修改参数显示进制

查看Delta Cycle的方法

Verilog和SV的仿真调度机制

在仿真时可能会遇到一些设计和验证平台之间竞争冒险的问题。Verilog有一套仿真调度机制,一个时间片(time-slot)被分为Active, Inactive, NBA 区域,可以理解为分别主要用于阻塞赋值、零延时操作和更新非阻塞赋值。SystemVerilog又在这一基础上将设计和验证平台的事件分开调度,在同一时间片之后引入了Observed, Reactive, Postpone 区域,分别执行断言、验证平台和输入采样。SV-2017的IEEE标准中展示了完整的time slot region划分,如下图所示。

一个时间片可分为无限小的delta cycle,其时间精度比最小单位 fs 还小,在使用Verdi或DVE仿真时,可以通过查看delta cycle来分析硬件仿真和验证平台间的准确时序前后关系。

使用Verdi查看Delta Cycle的方法

一个非常简单的例子如下,APB总线是在每周期第二个pclk采到penable的高电平,而非在第一个pclk,那么怎么通过波形上确认呢?在使用VCS仿真时,可以在仿真simv命令后添加选项 +fsdb+region

用Verdi打开fsdb波形后,打开波形窗口 View 选项下的"Region mode",然后点击 Expand/Collapse Time at Cursor,或直接选中波形按w键。

然后就可以看到仿真时刻的delta cycle,并且选中还可以看到当前时刻所在的region。这里绿色区域为Active Region,红色区域为NBA Region。借助event region可以很好理解为何是在第二个pclk采到penable高电平。

另外,也通过选择 Tools -> Event Sequence 来显示图形化的事件序列,效果如图所示。

使用DVE查看Delta Cycle的方法

在VCS仿真命令中添加 -gui 参数即可调用DVE仿真。DVE也可以在仿真进行时观察波形,这里如果没有事先存储波形文件的话,需要在 run 命令前执行"dump -add /*“命令,对全部或指定层次的波形采样。这里给出同样一个APB总线的例子。
在波形窗口打开 Simulator 选项下的 Capture Delta Cycle Values

然后在波形对应时间点,右键选择"Expand Time”,即可看到展开了的delta cycle。

Verdi的一些其他小技巧

总线拆分

选中信号右键 -> Bus Operation -> Expand ad Sub-bus,可以将多比特bus选取特定位宽拆分成sub-bus,或者直接在弹出对话框的 Every 项内输入n值,按每n个bits拆分。

事件统计

选中信号并截选时间段 -> 点击菜单选项 View -> Signal Event Report,可以看到在特定时间段内信号的上升、下降沿次数、频率、占空比等信息,方便统计。

逻辑运算

选中信号右键 -> Logical Operation,可以产生一个新的信号,对选中信号做一些逻辑运算。如可以判断一个地址何时低12位为0。

修改参数显示进制

Verdi顶层 Tools 选项 -> Preferences -> Source Code -> View Options -> Parameter Value Radix,可以把parameter从默认二进制显示替换成如16进制,方便查看。

使用Verdi或DVE分析波形的一些小技巧相关推荐

  1. 中文 查询_查询商标,商标注册通过分析的几个小技巧

    前面我们说到了商标注册前,通常情况下一定要进行商标查询,要进行注册通过可行性分析.只有这样才能保证基本的商标注册通过率,不至于无畏的浪费我们的时间和金钱. 1.我们在进行商标查询,输入要查询的商标时, ...

  2. Eclipse被卡死了或者失去响应了后分析根源的一个小技巧

    大家在使用Eclipse的过程中可能会偶尔遇到该IDE失去响应或者一直停留在某个步骤迟迟结束不了的情况.没有经验的朋友可能会用任务管理器强制结束Eclipse进程,抱着侥幸的心理一次又一次得重试,希望 ...

  3. 初中节点法分析电路_有关初中物理电路分析题的一些小技巧

    emmmmmmm,最近高中学业比较忙,所以就没有在知乎活跃. 国庆到了,我决定,发几篇关于初中各科的一些文章,希望能对师弟师妹们有所帮助. 话不多说,开始正题. 首先,解这种题,你得会一些基本的公式, ...

  4. oracle怎么执行存储过程_分享一个分析Oracle存储过程性能小技巧

    概述 最近接触了物流数据库这一块,OLAP类型的系统,有好多存储过程后面需要去做优化,因为写存储过程中会遇到存储过程执行时间太长问题,如果能知道存储过程里面具体的执行情况是如何的就可以帮助我们进一步分 ...

  5. 抖音直播带货复盘数据怎么分析?3个小技巧快速掌握直播复盘

    直播带货是一个非常庞大.精密而又复杂的项目,转化率低的原因,不是主播的一句话讲的不好或者一款产品选的不好就能解释的了的. 想要提高直播带货的转化率,最有效的方法就是进行直播复盘,而且是每一场直播都要进 ...

  6. verdi fsdb转vcd波形:用于后端功耗分析

    背景1:fsdb.vcd波形文件介绍 FSDB Spring Soft (Novas)公司 Debussy / Verdi 支持的波形文件,一般较小,使用较为广泛,其余仿真工具如ncsim,modle ...

  7. Ubuntu18.04安装VCS、Verdi、dve全套教程亲测(有成功截图)

    通过下面十个步骤,我们就可以在ubuntu上使用vcs.verdi.dve等软件! 下面是成功截图(为证): 一.安装ubuntu系统,这个不在这里讲了,重点安装VCS.Verdi等软件 下面的过程一 ...

  8. 使用VCS 仿真后,通过DVE 观察波形,多维数据显示not load问题及解决方案

    版权声明:本文为CSDN博主「Silent_Majority」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/ ...

  9. 数字IC设计随笔之六(DVE中波形数据alias显示)

    DVE中波形信号alias的定义 在使用VCS做仿真时,将波形中状态值显示为容易理解的具有实际有意义的字符串,将会大大提高debug的效率. 在DVE窗口中选择需要别名替换的信号,然后点击菜单sign ...

最新文章

  1. Java语言类的作用,java 语言Class类的作用,怎么使用?
  2. 如何设计APP版本号?
  3. android自定义样式大全:shape,selector,layer-list,style,动画全部内容
  4. 软件包管理器前端工具yum的使用
  5. Deep Reinforcement Learning for Dialogue Generation-关于生成对话的深度强化学习
  6. We‘re sorry but XX doesn‘t work properly without JavaScript enabled. Please enable it to continue
  7. 什么是SYN包 以及SYN攻击原理
  8. L298N电机驱动模块
  9. 结合mahout的数据挖掘算法介绍
  10. 使用 SSH config 文件
  11. linux wifi自动消失,linux没有wifi
  12. PAT 1007(简单粗暴)
  13. 去年中国水上交通安全形势稳定
  14. 说一说用户思维!!!
  15. asp.net core mvc 错误处理 ExceptionFilterAttribute
  16. android应用程序隐私设置在哪,手机权限设置在哪里_手机设置应用软件权限的具体步骤...
  17. 对于line-height的认识
  18. 你看得懂的海明码校验和纠错原理(一)
  19. 局域网攻击之DHCP Starvation(DHCP饿死)
  20. HJ95.人民币转换

热门文章

  1. sql 时间的模糊查询
  2. Madgwick AHRS算法笔记
  3. win10 租约到期不可连网
  4. [转载]生命科学-人体生物磁场及特异作用
  5. Itext使用 Java导出PDF
  6. 误差棒到底是个什么棒?到底棒不棒!
  7. H3C-2620AP配置日志
  8. xiecheng_spider
  9. 跳出横向的、孤立的牵绊,真正站在新的角度来看待Web3.0
  10. <Linux开发> ubuntu开发工具-Ubuntu测试网速及实时网速图