2016-10-29 3 views
1

Angenommen, ich habe einen Festkommawert in meinem VHDL-Code, der als std_logic_vector definiert ist. Ich weiß, dass meine letzten 4-Bit die Dezimalstellen sind.Zeige einen Festkommawert in Vivado

Wenn ich den Simulator benutze, werden natürlich die letzten 4 Bits nicht als Dezimalzahlen angezeigt, gibt es eine Möglichkeit, sie in der Simulation zu ändern, so dass die Simulation weiß, dass das 3. Bit den Wert 0,5 hat der Wert von 0,25 und so weiter?

Antwort

1

Es ist in Vivado möglich, das Ergebnis im Simulator als Fixpunkt Darstellung zu zeigen.

Wenn Sie im Simulator auf das Signal klicken, das im Fixpunkt angezeigt werden soll, klicken Sie auf radix -> real settings. Dort erhalten Sie das folgende Fenster und Sie können Fixpunkt wählen.

Real settings window

Real settings window

1

Ich bezweifle, dass dies leider möglich ist. Speziell für std_logic die Typen sind die folgenden:

'U': Uninitialized. This signal hasn't been set yet.

'X': Unknown Impossible to determine this value/result.

'0': Logic 0

'1': Logic 1

'Z': High Impedance

'W': Weak signal, can't tell if it should be 0 or 1.

'L': Weak signal that should probably go to 0 'H': Weak signal that should probably go to 1

'-': Don't care.

Als Ergebnis der Simulator NUR die oben genannten Symbole erkennt, etwas anderes wird in Fehler zur Folge haben, darunter eine Gleitkommazahl ein wenig zu beschreiben. Hier ist ein Beispiel von mir einen Gleitkommawert zu setzen versuchen, angezeigt werden:

add_force {/test/a[27]} -radix unsigned {0.4 0ns}

ERROR: [Simtcl 6-179] Couldn't add force for the following reason: Illegal value '0.4': Could not convert value '0.4' to a decimal number.

I Vivado auch als getaggt beobachtet also denke ich, Sie den integrierten Simulator verwenden. In meinem Beispiel war die Dezimalzahl der Gleitkommazahl am nächsten. Es gibt keine eingebaute Variable bei Vivado, um Fließkomma zur Anzeige in der Simulation zu unterstützen. Unten sehen Sie die Radix, die es unterstützt, so dass Sie streng auf nur diese Auswahlmöglichkeiten beschränkt sind, die alles außer ASCII Fehler ergeben, aber ich denke nicht, dass das das Verhalten ist, das Sie wollen.

1