Datum:
hallo, ich will einen digitalen Filter mit dem Xilinx ISE Simulator simulieren und habe dazu meine Eingangswerte binär in einer Datei stimulus.dat. Diese sollen mit dem Xilinx ISE eingelsen simuliert und dann wieder in eine andere Datei geschrieben werden. Dies funktioniert auch wunderbar, wenn ich es mit ModelSim simuliere, aber der Standardsimulator bringt mir den Fehler: ERROR:Simulator:29 - at 0 ns : Could not read binary file ..\data_scripts\stimulus.bin, because it was not written by Xilinx Simulator on line 85 in file "J:/plb_alt/tb_fir/f.vhd" Leider muss ich es aber mit dem ISE Simulator zum laufen bringen. Hier meine einfachste Programmvariante: read_input: process type char_file is file of character; file c_file_handle: char_file; variable C: character; begin file_open(c_file_handle, "..\data_scripts\stimulus.bin", READ_MODE); while not endfile(c_file_handle) loop read (c_file_handle, c); din(7 downto 0) <= conv_std_logic_vector(character'pos(c), 8); read (c_file_handle, c); din(15 downto 8) <= conv_std_logic_vector(character'pos(c), 8); end loop; file_close(c_file_handle); end process; ... das traurige daran is blos, dass das hier fast 1:1 aus den Language Templates des XILINX ISE raus ist. muss ich den Simulator vielleicht mit irgendwelchen Parametern aufrufen???
Datum:
sorry, formatierung vergessen:
read_input: process type char_file is file of character; file c_file_handle: char_file; variable C: character; begin file_open(c_file_handle, "..\data_scripts\stimulus.bin", READ_MODE); while not endfile(c_file_handle) loop read (c_file_handle, c); din(7 downto 0) <= conv_std_logic_vector(character'pos(c), 8); read (c_file_handle, c); din(15 downto 8) <= conv_std_logic_vector(character'pos(c), 8); end loop; file_close(c_file_handle); end process; |
Datum:
Schau mal im xst.pdf. Ich glaube da gibt es ein Kapitel (VHDL language support?), wo drin steht welche VHDL-Sachen von ISE unterstützt werden und welche nicht. Rick
Datum:
@Rick danke für den Tipp. hab mal die xst.pdf durchgepflügt. Da steht schon einiges über File IO drin. Mich wundert nur, dass das Programm mit ModelSim funktioniert, aber der ISE Simulator nicht will. Anscheinend nimmt es ModelSim einfach nicht so streng mit den Formaten. chris
Datum:
Nein. Modelsim ist State-of-the-art. Das muß einfach mehr können. Rick
Datum:
Angehängte Dateien:so, wenn noch jemand anders das problem haben sollte. anscheinend braucht der xilinx simulator eine präambel, damit er erkennt, dass die datei von ihm ist. jedenfalls habe ich mit dem write-befehl einfach eine neue datei erstellt und nachher wieder gelesen. die präambel lautet: ÖÉÊÓ«§¨ und danach noch ein linefeed. ich habe eine funktionierende datei mit "hallo" drin angehängt... chris
Datum:
Hey, danke! Mit diversen Funktionen kann man dem Synthesiser (xst) auch beibringen, hexdump, Intel-hex u.ä. einzulesen, um Speicherinhalte vorzubelegen. Rick
Datum:
Ich versuche eine BMP Datei mit dem xilinx simulator zu öffnen. Was natürlich nicht geht (s.o.) Modelsim läuft bei mir leider nicht, und immer wenn ich versuche die Präambel in das BMP File einzufügen, meldet der simulator bein Lesen , das die Datei corrupt sei. Es muss doch irgendwie eine Möglichkeit geben, eine normale BMP datei zu öffnen.