私は最近、Verilog およびシステム Verilog コーディングとコード ブラウジングに熱狂的な ctags と emacs を使い始めました。現在、コマンドを使用してタグを生成しています
ctags -e -R --tag-relative=yes --langmap=verilog:.v.vh.sv.svh
私のコードには、拡張子が「.vh」および「.svh」の特定のヘッダー ファイルですべて指定されている多くの `define マクロが含まれています。たとえば、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 のかなりの数のインスタンスにジャンプします。
いくつかの調査の後、-h
タグ生成中に ctags のオプションを使用してヘッダー ファイルを指定するオプションを見ました。しかし、私はそれを機能させることができませんでした。私の側から構文エラーがあったと思います。
まず、-h
オプションを使用してヘッダー ファイルを指定することの顕著な利点はありますか? もしそうなら、ヘッダーファイルを指定する正しい構文は何ですか? また、他のファイル (拡張子 ".v" & ".sv") を解析する前に、最初にこれらのヘッダー ファイル (拡張子 ".vh" & ".svh" を持つファイル) を調べるように emacs を指定できますか?