卢骏 · 2020年07月08日

dvteclipse代码预处理(六)

dvteclipse工具,提供了对代码预处理的功能。

官网上,也对代码预处理进行了介绍:

https://www.dvteclipse.com/do...

这里,以使用ep3命令对代码进行预处理为例,进行说明。

工程结构如下:
1.png

test.svp: 需要使用ep3命令预处理的源文件

test.sv: 使用ep3命令转换之后的文件

Makefile: 使用ep3命令预处理test.svp文件

dvt的代码预处理,关键是 default.build 的文件编写

image.png

◾dvt_pverilog_ext_map:指示预处理之前文件后缀和预处理之后文件后缀

◾dvt_pverilog_ext_path_map: 指示预处理文件位置和预处理之后文件位置,工具会自动将2个目录下的同名文件但不同文件后缀,进行对应

◾dvt_pverilog_run_on_save: 指示当预处理文件保存时,指定执行的run

配置好default.build文件后,重新build工程。打开预处理文件,需要文件右键,选择Open With->PVerilog Language Editor。
2.png

如果没有这个选项,选择Other,在界面中选择PVerilog Language Editor。
3.png

此时test.svp的代码区域,变成下面的界面,在左下角,有[p],[g],Compare。分别表示源文件,生成文件,文件比较。
4.png

生成文件界面:

5.png

比较界面:
6.png

此时,对源文件进行修改,左下角,选择[p]test.svp,切换到源文件。修改后保存,就会自动运行设置的run-ep3,在default.build中配置的run,从而对源文件进行预处理,生成新的文件。
7.png

ep3这个run,其实就是执行make命令。
8.png

以上,就是dvt的文件预处理介绍,其实就是配置run参数,然后对于预处理文件,自动运行该run,得到生成文件,然后工具将源文件和生成文件,进行对应。

以上的run参数,写得比较简单。源文件和生成文件均在同一个目录,而且文件是固定的,如果文件不是固定的,并且源文件和生成文件不是在同一个目录,就需要写比较复杂的run参数。

如以下的run参数。能将dvt中选中的文件,自动预处理,生成到指定的位置去。能够识别.svp, vfp, vp三种待预处理文件。
image.png

◾${selected_resource_loc}: dvt的内建变量,选中文件的绝对路径

◾${selected_resource_name}: dvt的内建变量,选中文件的文件名

首先得到源文件目录和生成文件目录,提取文件后缀,判断源文件类型,然后调用ep3命令,在使用emacd的verilog-mode插件,对源文件进行预处理。

这样,每当源文件保存的时候,就会自动触发该run,对源文件进行预处理,得到目的文件。

自此,dvt工具使用,介绍完毕。以下是整合之后的文档。

更多相关阅读

dvteclipse配置RUN(四)
dvteclipse创建新工程(五)
dvteclipse软件使用(三)

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

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