1
私は、Verilogが実数結果を整数結果に丸めていることに気付きました。たとえば、シミュレータを見ると、17/2の結果が9と表示されます。どうすればよいですか?とにかく何かを定義するには:output real reg [11:0] output_value
?それとも、シミュレータの設定で行う必要がありますか?実数、Verilog HDLによる計算
シミュレーションのみ(合成なし)。例:
xは符号付き入力として定義され、output_valueは出力regとして定義されます。
output_value = ((x >>> 1) + x) + 5;
x = + 1の場合、出力値は13/2=6.5
である必要があります。
しかし、シミュレーションするとoutput_value = 6
が表示されます。
ご理解いただけますようお願い申し上げます。さて、私は、x = 1でoutput_value =((x >>> 1)+ x)+ 5を計算しながら、結果を6.5としてどのように得ることができるのだろうかと思います。私はテストベンチでx = 1.0に調整しようとしました。しかし、それは私の問題を解決しませんでした。 xの入力を実数として定義する方法はありますか? –