[SystemVerilog] モジュールの信号宣言スタイル(ANSI, NONANSI)

SystemVerilog LRM(1800-2012) の 「23.2.2.2 ANSI style list of port declarations」に色々な記述時にどうなるか書かれています。

  • LRM p668 exampleより
  • module mh_nonansi(x, y);
      input wire x;
      output tri0 y;
      ...
    endmodule
    
    module mh0 (wire x); // inout wire logic x
    
    module mh1 (integer x); // inout wire integer x
    
    module mh2 (inout integer x); // inout wire integer x
    
    module mh3 ([5:0] x); // inout wire logic [5:0] x
    
    module mh4 (var x); // ERROR: direction defaults to inout,
                        // which cannot be var
    
    module mh5 (input x); // input wire logic x
    
    module mh6 (input var x); // input var logic x
    
    module mh7 (input var integer x); // input var integer x
    
    module mh8 (output x); // output wire logic x
    
    module mh9 (output var x); // output var logic x
    
    module mh10(output signed [5:0] x); // output wire logic signed [5:0] x
    
    module mh11(output integer x); // output var integer x
    
    module mh12(ref [5:0] x); // ref var logic [5:0] x
    
    module mh13(ref x [5:0]); // ref var logic x [5:0]

default の信号は inout
基本は wire ですが、mh11の時だけ var になるのがなんか気持ち悪いですね。


現在は、どちらのスタイルが主流なのか分かりませんが、
個人的には、ANSIの書き方のほうが好きです。

関連記事

コメントの投稿

非公開コメント

プロフィール

Kocha

Author:Kocha
なんでもチャレンジ!(^o^)/
E-mail
github:Kocha
イベントカレンダー

カレンダー
09 | 2017/10 | 11
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 - - - -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数