基本的に入力が64ビットのLUTであるモジュールがあります。LUTのalwaysブロックは、入力を200を超える異なる整数と比較するcaseステートメントで構成されます。caseステートメントのデフォルトのcaseは、出力にデフォルト値を割り当てる前に、入力が100より大きいかどうかをチェックします。
私の問題は、合成すると65ビットのコンパレータにつながることです。大きなコンパレータが合成されないようにするためのより良い方法があるかどうか疑問に思いました。
これが私のコードスニペットです:
always @(in)
begin
case (in)
-100: out <= 495050;
-99: out <= 500000;
...
99: out <= 99500000;
100: out <= 99504950;
default:
begin
if (in > 100)
out <= 99504950;
else
out <= 495050;
end
endcase
end
ありがとう、
ファイサル