卢骏 · 2020年07月04日

dvteclipse打开demo工程(二)

下面,介绍一下,该软件如何打开demo工程。

在终端,输入 dvt, 就会启动dvt软件。
1.png

打开软件后,在左上角工程目录,会自动出现2个文件夹。其中DVT-Examples,里面是软件提供的demo工程,可以使用这些demo,来熟悉工具的使用。
2.png

展开,选择systemverilog下的uvm-1.2_ubus工程。
3.png

此时,在工程目录,就会出现该工程,并且自动打开README.txt,然后开始对代码进行build。此处的build,是对工程中的源代码,进行语法分析,以及建立依赖关系,和EDA工具的compile不一样。
4.png

build结果出现error

Error: UNDEFINED_OPERATION: Operator '?' is undefined for argument types 'logic', 'string' at line 960 in
/tools/…../base/uvm_root.svh[compile index 60]

查看报错原因,是因为uvm_root.svh代码有错误,可是这个是UVM的官方代码了,是不应该会报错的。这个问题,稍后来解决。

展开.dvt文件夹,下面有一个default.build文件。这个文件很重要,该文件,向工具指示了需要build哪些文件。

-uvm: 工具需要build UVM 的源代码。

如果环境变量,$UVM_HOME有指定,那么build这个环境变量指定的UVM库。

如果环境变量,$UVM_HOME没有指定,那么build $DVT_UVM_HOME这个环境变量指定的UVM库。

examples/ubus_tb_top.sv: build 当前目录下examples文件夹下的ubus_tb_top.sv文件

+incdir+sv: 将当前目录下sv文件夹,加入到include的搜索目录,当代码中有`include时,会include的搜索目录中搜索。

+incdir+examples: 将当前目录下examples文件夹,加入到include的搜索目录

刚刚build出现的error,就是因为这个-uvm选项出现问题。DVT工具自己有一套内部的verilog,systemverilog解析器,而这个解析器,可能相比VCS,IRUN,版本会比较低些,有些sv的语法支持不太好,因此build UVM库,就不要build VCS或者IRUN下的UVM库,而是应该build DVT下的UVM库。

将-uvm,改成以下,直接build DVT下的UVM库。注意,要使用绝对路径。
6.png

工程右键,选择Project->Rebuild,对工程进行build。
7.png

build成功,console打印build过程中的信息。
8.png

查看源文件,会发现源文件,语法高亮了。
9.png

DVT是实时检查语法的,每隔一定时间,或者是每当我们保存源文件,会对文件修改的地方进行检查。如果发现错误,就会提示错误。

比如以下有一个error,定义了不存在的类型,aaa。这些DVT工具,都会提示error信息。我们根据这些error信息,就可以提前知道代码哪里写得有问题,就可以直接进行修改,就不用等之后代码在EDA工具上,编译的时候,才能发现问题。
10.png

更多相关阅读

dvteclipse工具简介(一)
irun的增量编译
VCS与verdi联合进行单步调试

原文首发于骏的世界博客
作者:卢骏
更多IC设计相关的文章请关注IC设计极术专栏,每日更新。

推荐阅读
关注数
20196
内容数
1307
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息