2017-06-11 3 views
0

Ich habe eine Zeichenfolge, die eine Zahl zum Beispiel 3,76 enthält, möchte ich diese geparste Zeichenfolge in eine sfixed Wert in VHDL konvertieren. Der Trick, den ich benutzte, ist, die Zeichenkette mit real'image (string) in real umzuwandeln und dann to_fixed(value, integer part, -precision) aufzurufen. Dieser Ansatz ist jedoch nicht synthetisierbar (real'image). Ich möchte wissen, ob es eine andere Möglichkeit gibt, wie eine Zeichenfolge in std_logic_vector zu transformieren und dann mit To_slv() in sfixed zu konvertieren. Was sind die Schritte, um eine Zeichenfolge für Beispiel 3.76 zu sfixed Notation in synthetisierbaren VHDL zu transformieren?Konvertieren String-Nummer zu sfixed in synthetisierbaren VHDL

+1

Wo kommt die Zeichenfolge her? Datei? ROM? andere IO? Wie stellst du dir das Parsen in Hardware vor? Vielleicht sollten Sie mehr über Ihre Anwendung und Ihre Einstellung erklären. – JHBonarius

+0

Die Zeichenfolge stammt aus einer Eingabedatei. Diese Datei enthält Strings in diesem Format zum Beispiel 3.344 1.456 4.452. Diese Werte werden bei der Initialisierung in feste Variablen geladen. –

+1

Sie haben also eine Datei und Sie möchten Code synthetisieren, der die Information in der Datei in ein Signal umwandelt. Wie bildest du den FPGA, der Datei-IO macht? Wie wird die Datei das FPGA überhaupt erreichen? Sie verbinden eine HDD mit dem FPGA? – JHBonarius

Antwort

1

Die FPHDL Bibliothek, mit Angeboten z. Der Typ sfixed bietet eine Konvertierungsfunktion from_string. Weitere Informationen finden Sie in der Datei .

Diese Beispiele sind aus der Dokumentation:

signal a : ufixed (3 downto –3); 
begin 
    a <= from_string (“0000.000”, a’high, a’low); 
    a <= from_string (“0001.000”, a); 
    a <= from_string (“0000.100”); -- Works only if size is exact 
+0

Ja, aber das ist nicht von einer Eingabedatei, noch ist es im Format" 3.76 ". So beantwortet es seine Frage nicht. – JHBonarius

+0

Seine primäre Frage ist, eine 'string' Eingabe in eine' sfixed' umzuwandeln. Seine zweite Frage geht in Richtung Datei-I/O. Er zeigte auch, dass sein erster Versuch, 'real'image (...) zu verwenden, nicht funktioniert, also kann man annehmen, dass er bereits das Lesen von Dateien implementiert hat. – Paebbels

+0

Vielleicht, aber er sollte darauf eingehen. Zeigen Sie mehr Codebeispiele usw. Er sollte zumindest den Code anzeigen, der nicht synthetisiert werden kann. – JHBonarius