debussy(verdi之前的Debug工具)

verdi:若想用Verdi观察波形,需要在仿真时生成fsdb文件,而fsdb在vcs或者modelsim中的生成是通过两个系统调用$fsdbDumpfile $fsdbDumpvars来实现的。而这两个系统调用并不是Verilog中规定的,是Verdi以pli(Programming Language Interface)的方式实现的。这就需要让vcs编译时能找到相应的库。

例如:

其中波形文件有以下种类:

生成FSDB波形

使用verdi之前,应配置哪些环境变量(bash使用export,cshell使用setenv)

$VERDI_HOME/NOVAS_HOME(为设置PATH做准备)

$PATH(让系统能够找到verdi)

$LD_LIBRARY_PATH(让系统linux能够找到verdi需要的库文件)

$LD_LIBRARY_PATH目录库文件类似于Windows的dll,包括*.so(共享对象),*.a(静态库)等,库文件还需要*.tab(表格文件)来获取对应的信息。

linux命令

echo(sed):查询环境变量,如PATH

which:查询当前软件是否配置成功

uname:查询当前系统信息,如硬件平台

echo $PATH | sed ‘s/\:/\n/g’//全局使用\:替代\n

echo $LD_LIBRARY_PATH | sed ‘s/\:/\n/g’

which verdi

uname -i 获取硬件平台信息:如硬件平台64bit为x86_64/amd64,32bit平台为i386

两种方法:

(1)使用verilog系统函数

initial begin

$fsdbDumpfile("top_tb.fsdb");

$fsdbDumpvars(0,"tob_tb");

end

(2)使用Ucli/Tcl接口(生成fsdb波形)

global env

fsdbDumpfile "$env(demo_fifo).fsdb"

fsdbDumpvars 0 "top_tb"

run

Synopsys:VCS + Verdi

Cadence :irun + Verdi

Mentor :Questa + Verdi

com:

vcs -full64 \

-sverilog \

-debug_pp \ # 使能UCLI命令

-LDFLAGS \ # 传递参数给VCS的linker,与以下三行配合使用

-rdynamic \ # 指示需加载的动态库,如libsscore_vcs201209.so

-P ${VERDI_HOME}/share/PLI/VCS/${PLATFORM}/novas.tab \ # 加载表格文件

${VERDI_HOME}/share/PLI/VCS/${PLANTFORM}/pli.a \ # 加载静态库

-f ../${demo_name}/tb_top.f \

+vcs+lic+wait \

-l compile.log

sim:

./simv \

-ucli -i ../scripts/dump_fsdb_vcs.tcl \ # ucli的输入文件(-i)为tcl脚本

+fsdb+autoflush \ # 命令行参数autoflush,一边仿真一边dump波形,如果没有该参数,那么不会dump波形,需要在ucli命令run 100ns后键入fsdbDumpflush才会dump波形

-l sim.log

debug:

verdi \

-sv \ # 支持sv

-f ../${demo_name}/tb_top.f \ # 加载设计文件列表

-top tb_top \ # 指定设计顶层

-nologo # 关掉欢迎界面

//支持+incdir+xx 设置include文件目录

//+libext+.v 设置库文件后缀

//-v 设置可搜索设计的文件

//-y 设置可搜索设计的目录

global env # tcl脚本引用环境变量,Makefile中通过export定义

fsdbDumpfile "$env(demo_name).fsdb" # 设置波形文件名,受环境变量env(demo_name)控制 # demo_name在makefile中使用export demo_name=demo_fifo

fsdbDumpvars 0 "tb_top" # 设置波形的顶层和层次,表示将tb_top作为顶层,Dump所有层次

run # 设置完dump信息,启动仿真(此时仿真器被ucli控制) 可以run 100ns会在仿真100ns的时候停下来下来

verdi使用linux命令,verdi工具的使用相关推荐

  1. linux 命令行 过滤,利用linux命令行工具进行文本行过滤

    在日常工作中会遇到需要筛选过滤要查看的日志等文本文件的任务,例如需要查看日志文件的最后几行等. 下面总结一下常见的对文本行过滤的方法. 常用命令行工具 接下来主要使用的是head,tail,sed和a ...

  2. 实用!五款新型 Linux 命令行工具

    使用新的替代工具来改进旧的命令行工具. 作者 | Ricardo Gerardi 译者 | 弯月,责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 以下为译文: 在Linux/Unix系统 ...

  3. linux下磁盘高级工具,Linux命令行工具-di

    今天小编要跟大家分享的文章是关于Linux命令行工具-di.如果你是个Linux命令行用户,你肯定会使用df命令检查文件系统的磁盘使用情况.尽管df是一个受欢迎的命令,但仍然不能提供一些高级的功能,如 ...

  4. jq输出文本_如何用 Linux 命令行工具解析和格式化输出 JSON | Linux 中国

    我们将使用 Linux 上的命令行工具解析并格式化打印 JSON.它对于在 shell 脚本中处理大型 JSON 数据或在 shell 脚本中处理 JSON 数据非常有用.-- Ostechnix J ...

  5. 局域网网络流量监控_18个监控网络带宽的Linux命令行工具

    本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示.一些命令可以显示单个进程所使用的带宽 ...

  6. 学习linux的好助手-linux命令解释工具

    有时候在听学习视频时,看到大佬输入没见过的linux命令行,就不知道什么意思. 现在可以通过在线工具Linux命令解释工具输入你的命令,就会告诉你什么意思,并且对每个参数进行了解释,简直是菜鸟的福音. ...

  7. linux服务器返回json,Linux 命令行工具解析和格式化输出 JSON的方法

    JSON 是一种轻量级且与语言无关的数据存储格式,易于与大多数编程语言集成,也易于人类理解 -- 当然,如果格式正确的话.JSON 这个词代表 J ava S cript O bject N otat ...

  8. linux rm替代命令_5种基本Linux命令行工具的现代替代品

    linux rm替代命令 在Linux / Unix系统的日常使用中,我们使用许多命令行工具来完成工作并理解和管理我们的系统,例如du用来监视磁盘利用率, top用来显示系统资源. 其中一些工具已经存 ...

  9. [Linux] 命令行工具

    1. 基本工具 1.1 特殊字符 shell的特殊字符有:&.;.|.*.?.'.".`.[.].(.).$.<.>.{.}.^.#./.\.%.!.~.+.要将这些具有 ...

最新文章

  1. python猜年龄代码_python入门教程NO.7用python来写一个猜数字游戏
  2. EDM HTML编写建议和规范
  3. 关于错误 1 error C4996: 'getch': The POSIX name for this item is deprecated.问题解决方式
  4. 网站升级到新服务器,第一次折腾站点升级HTTPS 虽胜尤败
  5. 程序员进阶架构师路线
  6. 阿呆做网站(1)--基本功能
  7. ML/DL-复习笔记【十】- 分组卷积和深度可分离卷积的区别
  8. 如何让php支持mysql的,怎么让php支持MySql
  9. 数字证书是什么,主要应用于哪些方面?
  10. java换行(java换行代码)
  11. java 时间英文格式_Java英文日期格式解析
  12. c语言网页版在线编译器_简单好用的网页版在线公式编辑器
  13. unity 半透明效果shader
  14. Java里氏转换_里氏代换原则、依赖倒转原则 | 学步园
  15. 刷机总是出现missed hello_金立-GN3002L 无法开机,怎么能解锁刷机呢?
  16. 【苹果相册】苹果推信群发准入ProvisioningProfile还分为开发和分发
  17. IP根域名服务器以及域名服务器对国家安全的真正意义。
  18. Mxnet训练自己的数据集并测试
  19. 电子邮箱免费申请注册教程,公司企业邮箱怎么开通注册?
  20. [SAP ABAP开发技术总结]屏幕跳转

热门文章

  1. UML中的stereotype
  2. cisco switch命令大全
  3. 数据库设计中的14个技巧
  4. Linux 之 Kickstart
  5. J-Link驱动下载和JLINK下载Hex程序
  6. Stormpath发布了简化移动和前端身份验证的客户端API
  7. 改善代码设计 —— 组织好你的数“.NET研究”据(Composing Data)
  8. [原创]Paros工具培训介绍
  9. [文摘20090224]天干和地支
  10. Oozie 出现 ClassNotFoundException 解决方法