2016-05-27 69 views
0

浮動小数点数があります。 4.6と3.8と言うことができます。 4.6×2^4 = 74と3.8×2^4 = 61を使ってそれらを固定小数点(Q4.4)に変換します。74 + 61 = 135の両方の数値を加算します。 135/2^4 = 8.4である。これは8の結果の整数部分を与えます。Verilogで浮動小数点数の小数部を計算する方法

ここで、小数部分は(2^-2 + 2^-3 + 2^-4)を実行することによって計算されます。 誰かがverilogでこの4の値を取得する方法を教えてもらえますか?それで私は7セグメント表示で8.4として表示できますか?

答えて

1

シンプルなソリューションがいくつかあります。

ルックアップテーブルを作成する方法の1つは、可能な16個の値のそれぞれについて、小数点をどうするか(つまり0b0111 = 0.4375 ~= .4)と正しい値を生成するcase文を作成することです。あなたは4ビットしか使用していないので、これはあまりにも複雑ではありません。

もう1つの選択肢は、BCD加算器を使用して自分で加算することです。これにより、最上位桁(つまり、0b0111 = 250+125+62 = 437 -> 4)を抽出できます。

関連する問題