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
Antwort
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
Ja, aber das ist nicht von einer Eingabedatei, noch ist es im Format" 3.76 ". So beantwortet es seine Frage nicht. – JHBonarius
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
Vielleicht, aber er sollte darauf eingehen. Zeigen Sie mehr Codebeispiele usw. Er sollte zumindest den Code anzeigen, der nicht synthetisiert werden kann. – JHBonarius
- 1. VHDL - Array von std_logic_vectors konvertieren in std_logic_vector
- 2. Genaue Regeln, um zu bestimmen, was Verilog-Tool synthetisierbaren ist
- 3. konvertieren Sie eine Ganzzahl in eine Zeichenfolge - VHDL
- 4. VHDL Syntaxfehler zu verwenden, wenn
- 5. Integer-Eingangsports in Verilog Simillar zu VHDL?
- 6. Finden Sie die größte Bitbreite von synthetisierbaren Datentypen in Systemverilog
- 7. Array in VHDL auswählen
- 8. VHDL Erklärung in Worten
- 9. VHDL-Konstante in Generics
- 10. Serialisierungscode in VHDL
- 11. Unsigned in VHDL
- 12. Optionale Ports in VHDL?
- 13. verallgemeinerte Aggregat in VHDL
- 14. mehrdimensionale Arrays in VHDL
- 15. VHDL - XILINX CORDIC Algorithmus
- 16. X Wert in vhdl
- 17. Simulationsfehler in vhdl
- 18. NULL-Anweisung in VHDL
- 19. if-Anweisung in VHDL
- 20. Fehler in VHDL-Code
- 21. VHDL-Codefehler
- 22. VHDL: Dieses Konstrukt wird nur in VHDL 1076-2008 unterstützt
- 23. VHDL-Prozeduren
- 24. VHDL: conv_std_logic_vector Parameter Fehler
- 25. VHDL Bereichszuweisung
- 26. VHDL-Empfindlichkeitsliste
- 27. Fehler in Wahrheitstabelle in vhdl
- 28. Vhdl Snake - wie Tail-Implementierung zu automatisieren
- 29. VHDL-Fehler "Prozess-Taktung ist zu komplex."
- 30. VHDL Zuordnung zu einem Array-Typ
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
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. –
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