6 |
Emacs Verilog Mode |
ルール
大変便利なemacs verilog modeですが、最上位でうまく行かなかったので調査したところ、以下のようなことが分かりました。
中間階層で、下位モジュールインタフェースをパススルーして上位に上げる場合のルールは、
- /*AUTOINPUT*/及び/*AUTOOUTPUT*/
最上位(テストベンチのように)で、信号がその階層内で留まる場合のルールは、
- /*AUTOREGINPUT*/及び/*AUTOWIRE*/
と記述します。
ちなみに、 /*AUTOINPUT*/と/*AUTOREGINPUT*/が同時に存在する場合は /*AUTOINPUT*/が勝ち、/*AUTOOUTPUT*/と/*AUTOWIRE*/が同時に存在する場合は、/*AUTOWIRE*/が勝つようです。
実施結果
まず中間階層に相当する、原始のverilog fileを示します。下位モジュールの信号を上位に上げる場合なので、/*AUTOINPUT*/及び/*AUTOOUTPUT*/と記述し、さらにインターフェース部分には/*AUTOARG*/と記述します。
これに対してC-c C-aを実行すると、以下のように補完されます。
次にテストベンチ相当の、原始のverilog fileを示します。下位モジュールからの信号はこの階層内で留まるため、/*AUTOREGINPUT*/及び/*AUTOWIRE*/と記述します。
これに対してC-c C-aを実行すると、以下のように補完されます。