2012-02-18 239 views
3

我最近开始使用exuberant ctags和emacs进行verilog &系统verilog编码和代码浏览。我目前使用生成的命令如何指定和使用verilog语言的头文件,同时在emacs中使用丰富的ctags

ctags -e -R --tag-relative=yes --langmap=verilog:.v.vh.sv.svh 

我的代码中包含了大量的'定义它们都在一定的头文件扩展名为指定宏“.vh” &“.svh”的标签。对于例如命名为foo.vh头文件具有下面的代码

`define WIDTH_ADDRESS 32; 

和文件top.v调用宏如下

input [`WIDTH_ADDRESS - 1 : 0] InAddress; 

在使用浏览top.v文件emacs,有没有什么办法可以直接跳转到foo.vh文件中的宏定义?

我一直在使用M-x tags-search <RET> WIDTH_ADDRESS <RET>一段时间,但在到达foo.vh文件之前,它会跳转到其他文件中其他文件的其他WIDTH_ADDRESS实例。

经过一番研究,我没有看到指定使用-h选项与标签生成过程中的ctags头文件的选项。然而,我无法让它工作,我想我的部分有一些语法错误。

,首先是有指定使用-h选项头文件中的任何显着的好处是什么?如果是这样,指定头文件的正确语法是什么?也可我指定的emacs解析其他文件之前寻找到这些头文件第一(扩展文件“.vh” &“.svh‘)(扩展名为’.V” &“.sv”)

回答

1

的语法-h选项是-h .vh.svh

我不知道为什么C标签是捡'WIDTH_ADDRESS宏调用。如果WIDTH_ADDRESS被定义了多次,它应该选择所有的定义,但不是调用。也许这是Verilog插件的问题。您始终可以编辑标签文件并删除不想要的条目。这应该很容易与一个sed或perl脚本。

相关问题