他の入力に依存するパラメーター値を定義する必要があります。次の方法を試しましたが、うまくいきません。他の代替方法はありますか?
module (...)
...
input sel ;
..
case (sel)
0: parameter data1 =5;
1: parameter data1 =5;
endcase
...
ありがとう
他の入力に依存するパラメーター値を定義する必要があります。次の方法を試しましたが、うまくいきません。他の代替方法はありますか?
module (...)
...
input sel ;
..
case (sel)
0: parameter data1 =5;
1: parameter data1 =5;
endcase
...
ありがとう
パラメータは定数であるため、実行時に変更することはできず、動的構造では機能しません。
実行中に変化する入力に基づいて値を設定する必要があり、正しい幅のワイヤまたはレジスタを定義する必要がある場合。
または、定数の場合、値を渡す階層パラメータを使用できますが、それらはすべてパラメータまたは定数に基づいている必要があります。
module top();
localparam DATA_WIDTH = 32;
middle #(
.DATA_WIDTH( DATA_WIDTH )
) middle_0();
endmodule
module middle #(
parameter DATA_WIDTH = -1
//DO NOT MODIFY
parameter DATA_OUT_WIDTH = DATA_WIDTH + 10;
)(
output [DATA_OUT_WIDTH-1:0] data_tx
);
endmodule
あなたの場合:
module (...)
...
input sel ;
..
reg [3:0] data1;
always @*
case (sel)
0: data1 =5;
1: data1 =5;
endcase
end
endmodule