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???
sorry, formatierung vergessen:
1 | read_input: process |
2 | type char_file is file of character; |
3 | file c_file_handle: char_file; |
4 | variable C: character; |
5 | begin
|
6 | file_open(c_file_handle, "..\data_scripts\stimulus.bin", READ_MODE); |
7 | while not endfile(c_file_handle) loop |
8 | |
9 | read (c_file_handle, c); |
10 | din(7 downto 0) <= conv_std_logic_vector(character'pos(c), 8); |
11 | read (c_file_handle, c); |
12 | din(15 downto 8) <= conv_std_logic_vector(character'pos(c), 8); |
13 | |
14 | end loop; |
15 | file_close(c_file_handle); |
16 | end process; |
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
@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
Nein. Modelsim ist State-of-the-art. Das muß einfach mehr können. Rick
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
Hey, danke! Mit diversen Funktionen kann man dem Synthesiser (xst) auch beibringen, hexdump, Intel-hex u.ä. einzulesen, um Speicherinhalte vorzubelegen. Rick
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.