忍者ブログ

EDA Blog

Verilog、SystemVerilog、SystemCなど、ハードウェア記述言語についてのブログです。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

現在、新しいコメントを受け付けない設定になっています。

[verilog-mode] verilog-auto-star

SystemVerilogの.*を使うと、ポート名とネット名が同じであればインスタンス時にわざわざ記述する必要はありません。
記述は簡潔になりますが、他人の書いたコードをデバッグするときにはモジュール間の接続がすぐに分からずに苦労する場合があるかもしれません。

verilog-modeverilog-auto-starという機能を使うと、.*を展開してくれます。
ただし、この機能はデフォルトでは無効なので、.emacsに下記の設定を追加しておく必要があります。

(setq verilog-auto-star-expand t)


たとえば、下記のようなポートCLK、DIN、DOUTを持つモジュールがあるとします。

module sample (input CLK, input DIN, output DOUT);
logic ff0, ff1;
always_ff @(posedge CLK) begin
ff0 <= DIN;
ff1 <= ff0;
end

assign DOUT = ff1;
endmodule


そして、モジュールsampleを.*を使ってインスタンスしているモジュールがあるとします。

module sample_vt;
logic CLK, DIN;
wire DOUT;

sample DUT ( .*);
endmodule


C-c C-aを押すと、下記のように.*を展開してくれます。

module sample_vt;
logic CLK, DIN;
wire DOUT;

sample DUT ( .*,
// Outputs
.DOUT (DOUT), // Implicit .*
// Inputs
.CLK (CLK), // Implicit .*
.DIN (DIN)); // Implicit .*
endmodule


.*を展開した状態で保存しても、自動的に.*に戻してから保存してくれます。

拍手[0回]

PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

カレンダー

04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

フリーエリア

最新CM

[04/11 なつたん]

最新TB

プロフィール

HN:
aston_martin
性別:
非公開

ブログ内検索

カウンター

アクセス解析