Verilogが実数の結果を整数の結果に丸めていることに気づきました。たとえば、シミュレーターを見ると、17/2の結果が9と表示されます。どうすればよいですか?とにかく:のようなものを定義することはありますoutput real reg [11:0] output_value
か?それとも、シミュレーターの設定でやらなければならないことですか?
シミュレーションのみ(合成なし)。例:
xは符号付き入力として定義され、output_valueは出力regとして定義されます。
output_value = ((x >>> 1) + x) + 5;
x = + 1の場合、出力値は次のようになります13/2=6.5
。
ただし、シミュレートすると、が表示されますoutput_value = 6
。