mikrocontroller.net

Forum: FPGA, VHDL & Co. ModelSim


Autor: Marius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Marius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.