对样例SoC配置verdi,用其进行debug


目录

使用verdi快速启动,节省编译时间



使用verdi快速启动,节省编译时间

首先VCS能够工作的前提是有filelist(vcs使用-f参数),

VCS需要对RTL源文件进行编译,然后仿真,顺带着能够生成波形文件(VCS使用-fsdb选项就会产生供verdi使用的层级关系),

正因为编译,才能知道设计文件的层级关系

VCS = 源文件(编译后得到层级关系) +  仿真 + 生成fsdb波形

再来看verdi,正常情况下,它也需要对源文件进行编译才能显示层级关系

此外,还需要波形文件

Verdi = 源文件(编译后得到层级关系)+ 读取fsdb波形

如果使用这种方式,verdi可能有需要编译一遍,效率很低

那么verdi能够直接用VCS编译之后的结果快速启动吗?如何做呢?

VCS Compile阶段加上“-kdb -lca”这个选项,这样就能在VCS Compile中看到simv.daidir/kdb.elab++这个目录,这个目录就是VCS为Verdi产生的库,其实就是VCS帮Verdi生成了一个Verdi认识的中间文件

如果有了​simv.daidir/kdb.elab++库文件, 可以用“Verdi -elab simv.daidir/kdb" 命令打开Verdi。用这种方式,启动GUI界面仍然少不掉,但是会把Verdi Compile filelist.f的时间改为import库文件,这一步几乎是瞬间完成,因此能节省不少时间

这样就是能够节省下来verdi拿到源文件然后编译的时间了~~~


具体做法

首先在testbench中添加语句

initial begin$fsdbDumpfile("tb.fsdb");$fsdbDumpvars();end

然后添加vcs的编译选项,然后编译仿真运行,

-full64 //产生64位的可执行文件,不加这一个选项,vcs编译的时候可能出错
-fsdb //产生fsdb波形
-lca -kdb //产生供verdi使用的中间文件simv.daidir/kdb.elab++,减少Verdi编译时间

最后启动Verdi

verdi -ssy -ssv -elab simv.daidir/kdb //读取vcs的产生的中间文件,并解析出文件结构
-ssf tb.fsdb  //读取波形文件
-nologo //不会出现verdi的启动界面
& //linux命令,表示后台运行

ps:Verdi的 -ssy -ssv 选项

现在的VCS的filelist并不是指定具体的文件,而是通过指定文件夹,让VCS在文件夹下自动找到RTL文件

VCS有时候还会使用-y选项和-v选项(感兴趣的自己查阅~~)

verdi在这样的情况下是解析不了层级结构的;

因此为了解决这个问题,Verdi使用-ssy -ssv来正常显示文件结构


参考博客:

http://blog.sina.com.cn/s/blog_13f7886010102xqlu.html

参考文章:

https://wenku.baidu.com/view/3d9a68ebf021dd36a32d7375a417866fb94ac042.html

https://wenku.baidu.com/view/5ca5f8c231126edb6e1a1098.html

使用M0 DesignStart 的样例SoC(example system) - 3 verdi环境配置相关推荐

  1. ESB项目培训样例说明

    公司项目整体分为两类:一类是产品加交付类项目,另一类为产品加培训类项目.公司所有的解决方案都离不开ESB企业服务总线,所以不管是技术人员还是研发人员对ESB的产品功能都要非常了解,因为在涉及到ESB项 ...

  2. PHY6222国产M0内核低功耗多协议蓝牙SoC芯片智能家居MESH方案替代NRF52810/52832

    随着IOT领域智能穿戴.智能家居.智慧医疗等市场应用对蓝牙芯片低功耗.低成本要求的不断提高,PHY62系列芯片应运而生. PHY6222简介 结构框图 性能优势 自主知识产权协议栈 射频性能 超低功耗 ...

  3. 验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为两个素数的和。如6=3+3,8=3+5,,18=5+13。试编写程序,要求将输入的一个偶数表示成两个素数之和。 输入输出样例如下:

    验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为两个素数的和.如6=3+3,8=3+5,,18=5+13.试编写程序,要求将输入的一个偶数表示成两个素数之和. 输入输出样例如下: 98 98 = ...

  4. YOLOv4 资源环境配置和测试样例效果

    YOLOv4 资源环境配置和测试样例效果 基本环境:cuda=10.0,cudnn>=7.0, opencv>=2.4 一.下载yolov4 git clone https://githu ...

  5. 2021年大数据常用语言Scala(三十二):scala高级用法 样例类

    目录 样例类 定义样例类 样例类方法 样例对象 样例类 样例类是一种特殊类,它可以用来快速定义一个用于保存数据的类(类似于Java POJO类),而且它会自动生成apply方法,允许我们快速地创建样例 ...

  6. 在Ubuntu下构建Bullet以及执行Bullet的样例程序

    在Ubuntu下构建Bullet以及执行Bullet的样例程序 1.找到Bullet的下载页,地址是:https://code.google.com/p/bullet/downloads/list 2 ...

  7. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  8. Oracle简单脚本演示样例

    Oracle简单脚本演示样例 1.添加表 --改动日期:2014.09.21 --改动人:易小群 --改动内容:新增採购支付情况表 DECLARE VC_STR           VARCHAR2( ...

  9. 【ZooKeeper Notes 3】ZooKeeper Java API 使用样例

    查看PDF版本 转载请注明:@ni掌柜 nileader@gmail.com ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务框架,包含一组简单的原语集合.通过这些原语言的组合使用, ...

最新文章

  1. 证券期货交易高并发模型
  2. codeforce 570 problem E 51Nod-1503-猪和回文
  3. 笔试算法题及解答(Python)
  4. maven <type>pom</type><scope>import</scope>
  5. java的两种运行机制_Java☞JVM工作原理
  6. JS关于时间的一些计算与获取
  7. ACL在路由器上设置例子
  8. LINUX的“脏奶牛”
  9. geek_How-To Geek正在寻找安全作家
  10. 关于如何用od反汇编win32 控制台程序
  11. translucent 属性
  12. 诺基亚继续打情怀牌:怀旧小屏手机入网!
  13. SQLi LABS Less 16 布尔盲注
  14. $GOPATH not set 问题解决方案
  15. ASP.NET 服务端GZIP压缩
  16. radio后台数据回显
  17. Fliqlo屏保mac
  18. 计算机网络编程基础知识总结思维导图
  19. Windows 7下旋转屏幕的快捷键
  20. linux双击启动脚本文件

热门文章

  1. KNN的实现(超级具体)
  2. Android第三方集成之一键分享ShareSDK的使用eclipse篇 #CSDN博文精选# #IT# #第三方集成# #安卓#
  3. 【AI视野·今日Robot 机器人论文速览 第二十六期】Wed, 3 Nov 2021
  4. javaweb汽车租赁系统springboot+vue+nodejs
  5. 福建省计算机二级知识点,福建省计算机二级语言复习资料.doc
  6. 狂肝数天,万字文章带你保姆级重识c语言(一篇足以)
  7. Verilog HDL 硬件描述语言基础
  8. javascript开源电子表格
  9. 最新互联网地图资质办理-2021测绘资质新规
  10. cad2020安装1603错误_解决CAD安装过程中出现1603致命错误的方法