はじめに
Verilogでは1ビットの信号は宣言しなくてもWireと認識されます。
それは、default_nettype というDirectiveのデフォルト値がWireだからです。
module top;
assign a = 1; // エラーにならない。
endmodule
default_nettype none
default_nettype をNoneに設定すると、1ビットの信号はWireと認識されないためエラーとなります。
`default_nettype none
module top;
assign a = 1; // エラーになる。
endmodule
取れる値
wire/tri/tri0/tri1/wand/triand/wor/troor/trireg/uwire/none
まとめ
default_nettypeについて調べました。
SystemVerilogでPort宣言するときにinputだけで良いのは、default_nettypeがWireだからなんですね。
module dut(
input clk, // ここ
input din, // ここ
output logic dout
);
コメント