Hallo zusammen! Ich habe meine VHDL Datei erfolgreich mit XILINX ISE compiliert. Nach dem ich dann die Testbench (Wavegenerator) auch erstellt habe, wollte ich diese im MODEL SIM simulieren lassen. Leider meldete mir ModelSim folgenden Fehler: # ** Failure: (vsim-3807) Types do not match between component and entity for port clk Ich habe dann in den Foren nach gleichem Fehler gesucht und herausgefunden, dass wenn ich bei meiner entity die eingänge vom Datentyp BIT auf STD_LOGIC wechsle, dass die Simulation dann funktioniert. Aber meine Frage ist, warum funktioniert es mit dem Datentyp BIT nicht?? Weiter habe ich bemerkt dass aus meiner VHD Datei eine VHW Datei für ModelSim generiert wird. Aber die VHD Datei und die VHW Datei stimmen in der entity nicht überein! Darum meldet der ModelSim Kompiler auch diesen Fehler. Warum wird die entity überhaupt einfacht verändert?? Gibt es Compilation Standards die BIT Datentypen nicht mehr akzeptieren ? Folgende entity habe ich im VHD File: entity SynShift is generic(WIDTH : natural := 4; SHW : natural := 2); Port ( CLK : in bit; LOAD : in bit; R_L : in bit; DIN : in std_logic_vector(WIDTH - 1 downto 0); YOUT : out std_logic_vector(WIDTH - 1 downto 0)); end SynShift; Und folgende component wird im VHW File generiert: ENTITY Test_Shift IS END Test_Shift; ARCHITECTURE testbench_arch OF Test_Shift IS FILE RESULTS: TEXT OPEN WRITE_MODE IS "results.txt"; COMPONENT SynShift PORT ( CLK : In STD_LOGIC; LOAD : In STD_LOGIC; R_L : In STD_LOGIC; DIN : In std_logic_vector (3 DownTo 0); YOUT : Out std_logic_vector (3 DownTo 0) ); END COMPONENT; Wäre froh um eine antwort.... MFG Marius
Ich nehme mal an, dass der Waveformgenerator einfach von std_logic ausgeht. So ein Problem hatten wir hier schonmal glaube ich mich zu erinnern. Da stimmten die Ports der instanziierten Komponente und der dazugehörigen Entity auch nicht überein. Die Lösung dafür besteht wahrscheinlich darin, den Waveformgenerator links liegen zu lassen und die Testbench selber zu schreiben. T.M.
Hi, T.M. erinnert sich richtig. Du musst Dir selber das Testbench schreiben oder die VHW Datei zum Projekt adden (ADD testbench to project) und dann die Enity von Hand korregieren. Gruß, Dirk
Ok, danke! Ich hatte mir darum vorgestellt, dass es vielleicht eine Methode gibt, um das vhw file mit BIT Datentyp zu kompilieren, also eine Einstellung die besagt, was für Bibliotheken genutzt werden, entweder STANDARD oder STD_LOGIC.... MFG Marius
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.