-1
私の問題は本当にシンプルなようですが、何とかそれを動作させることができません。 私は3ビット信号を出力するモジュールをVerilogで作成しようとしています。私はこれまでに非常に多くの異なる方法を試しましたが、どれもうまくいかないようです。 私はコードをコンパイルするためにVeriwellを使用しています。私は大学でこれをやっているので、私はそれを使うことを余儀なくされていますので、別のコンパイラを勧めないでください。Verilogモジュールの3ビット出力
ここで私が試したいくつかの方法があるが、それらのどれも (私は常に警告「ポートのサイズがポート#2に一致していません」を取得)働いた
module testmod (in, out);
input [2:0] in;
output [2:0] out;
wire [2:0] out;
assign out = in; //trying just to connect in to out
endmodule
module testmod (in, out);
input [2:0] in;
output [2:0] out;
wire [2:0] out;
assign out = 3'b1; //trying to assign a random value to out
endmodule
module testmod (in, out);
input [2:0] in;
output [2:0] out;
reg [2:0] test;
always @(in)
test = in; //saving in in a register (which i believe is unnecessary but I've tried it nonetheless)
wire [2:0] out;
assign out = test; //trying just to connect in to out
endmodule
私はこのようなモジュールをインスタンス化します:
testmod mod (.in(3'b1), .out(out));
EXACT警告メッセージを送信します。コード内のどの行が参照されているかを表示します。 edaplaygroundでコードを実行します。メッセージはもっと意味があるかもしれません。 – toolic
テストベンチでどのように「out」と宣言しましたか?あなたはそれをまったく宣言しましたか?あなたはそれを1ビットの信号として宣言しましたか( 'wire out;')? 'wire [2:0] out 'として宣言する必要があります。 – toolic