2016-05-27 16 views
0

berechnen Ich habe Gleitkommazahlen. Sagen wir 4.6 und 3.8. Wir konvertieren sie in einen festen Punkt (Q4.4), indem wir 4.6 x 2^4 = 74 und 3.8 x 2^4 = 61 machen. Wir addieren beide Zahlen 74 + 61 = 135. Nun wandeln wir dieses Ergebnis 135 in Fließkomma um 135/2^4 = 8.4. Dies ergibt einen ganzzahligen Teil des Ergebnisses, das 8 ist.wie Bruchteil einer Gleitkommazahl in Verilog

Nun wird der Bruchteil berechnet (2^-2 + 2^-3 + 2^-4). Kann jemand sagen, wie man diesen Wert von 4 in Verilog bekommt, damit ich es auf 7 Segmentanzeige als 8.4 anzeigen kann?

Antwort

1

Es gibt ein paar einfache Lösungen.

Ein Weg wäre, eine Nachschlagetabelle zu erstellen: für jeden der 16 möglichen Werte, herauszufinden, was der Dezimalpunkt sein sollte (d. H. 0b0111 = 0.4375 ~= .4) und eine case-Anweisung erstellen, um den richtigen Wert zu erzeugen. Dies sollte nicht zu schwer oder zu kompliziert sein, da Sie nur 4 Bits verwenden.

Eine andere Möglichkeit wäre, die Addition selbst vorzunehmen, indem Sie einen BCD-Addierer verwenden, mit dem Sie die höchstwertige Ziffer (d. H. 0b0111 = 250+125+62 = 437 -> 4) extrahieren können.