gpt4 book ai didi

emacs - 在emacs中使用旺盛的ctags时如何指定和使用verilog语言的头文件

转载 作者:行者123 更新时间:2023-12-03 07:51:35 25 4
gpt4 key购买 nike

我最近开始使用旺盛的ctags和emacs进行Verilog和系统Verilog编码以及代码浏览。我目前使用命令生成标签

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


我的代码包含许多`define宏,它们都在某些扩展名为“ .vh”&“ .svh”的头文件中指定。例如名为foo.vh的头文件具有以下代码

`define WIDTH_ADDRESS 32;


和文件top.v如下调用宏

input [`WIDTH_ADDRESS - 1 : 0] InAddress;


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

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

经过一些研究,我确实看到了一个选项,该选项用于在标签生成期间使用带有ctags的 -h选项来指定头文件。但是我无法使其正常工作,我想我这方面存在一些语法错误。

首先,使用 -h选项指定头文件有什么明显的好处?如果是这样,指定头文件的正确语法是什么?我还可以指定emacs在解析其他文件(扩展名为“ .v”和“ .sv”)之前先查看这些头文件(扩展名为“ .vh”和“ .svh”的文件)

最佳答案

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

我不确定为什么ctags会采用`WIDTH_ADDRESS宏调用。如果WIDTH_ADDRESS被多次定义,则应该选择所有定义,而不是调用。也许是Verilog插件有问题。您始终可以编辑标签文件并删除不需要的条目。使用sed或perl脚本应该很容易做到。

关于emacs - 在emacs中使用旺盛的ctags时如何指定和使用verilog语言的头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9340000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com