Forum: FPGA, VHDL & Co. Fehlermeldung Modelsim


von Christian P. (kron)


Lesenswert?

Hallo,

ich benutze Xilinx Foundation 8.1i SP3 und Modelsim XE III 6.1e.
Nachdem ich letztlich ein bißchen rumprobiert hatte, um ein
RAM-Modell zum laufen zu kriegen, bekomme ich jetzt bei "normalen"
Testbenches folgende Fehlermeldung(en):

# ** Error: (vcom-13) Recompile 
C:/Modeltech_xe_starter_6.1e/xilinx/vhdl/unisim.vcomponents because 
C:\Modeltech_xe_starter_6.1e\win32xoem/../ieee.std_logic_1164 has 
changed.
# ** Error: dcm_1.vhd(27): (vcom-1195) Cannot find expanded name: 
'unisim.vcomponents'.
# ** Error: dcm_1.vhd(27): Unknown record element "vcomponents".
# ** Error: dcm_1.vhd(30): VHDL Compiler exiting
# ** Error: C:/Modeltech_xe_starter_6.1e/win32xoem/vcom failed.

Ich habe die Xilinx Libraries nochmal neu runtergeladen und entpackt
und habe den Befehl "vcom -force_refresh -work xilinxcorelib" als 
mögliche Lösung gefunden und probiert, hat aber beides nichts geändert.
Ich habe auch schon Modelsim neu installiert, das hat aber auch nichts 
gebracht.

Kann mir dazu jemand einen Tipp geben?

von Christian P. (kron)


Lesenswert?

Nachtrag: Ich habe im UUT einen DCM, wenn ich den entferne, läuft 
Modelsim durch und es geht! Was sagt mir das?

von Falk B. (falk)


Lesenswert?

@ Christian Peters (kron)

>Nachtrag: Ich habe im UUT einen DCM, wenn ich den entferne, läuft
>Modelsim durch und es geht! Was sagt mir das?

DCMs simulioeren ist zu 99,999% sinnlos. Generiere die Takte vom DCM in 
der Testbench und gut.

MfG
Falk

von Christian P. (kron)


Lesenswert?

Ja, jetzt wo du's sagst...
Hab da gar nicht drüber nachgedacht, danke. :)

von Martin (Gast)


Lesenswert?

Hatte auch mal so ein Problem. Bei mir war der Pfad auch nach dem 
Neuinstall nicht richtig. Schau mal im Modelsim (Workspace) unter 
Library ob der Pfad auch stimmt?? Nur so eine Idee

von Matthias (Gast)


Lesenswert?

Ich klick in solchen fällen die libraries, über die er meckert, im 
"Library"-Tab vom Modelsim mit der rechten Maustaste an und drücke auf 
"refresh", das hat bisher die Probleme gottseidank immer gelöst.

Und DCM simulieren kann auch zu seltsamen Problemen führen, wir hatten 
ein funktionierendes Design wo ein Takt und ein Clock Enable aus dem 
selben Counter erzeugt wurden. Lief problemlos.

Dann stellten wir auf eine DCM um, weil der Takt zu dem Clock Enable in 
der Phase verschiebbar sein sollte. Auf einmal wurde der durch das Clock 
Enable gesteuerte Prozess immer eine Taktflanke zu früh ausgewertet. Im 
Wave-Window kam das Signal immer noch wie zuvor, aber die Auswertung des 
Prozesses war ganz klar eine Flanke zu früh. Nach mehrfachem Kontakt mit 
Mentor war die Erklärung, dass es sich um eine Race Condition bei den 
Delta Delays handelt, irgendwie hat die DCM dazu geführt, dass das 
CE-Signal auf einmal im selben Delta Cycle zugewiesen wird in der auch 
die Clock für den Prozess zugewiesen wird.

Ich habs dann mit "after"-Statements gelöst, ist allerdings nicht die 
reine Lehre der funktionalen Simulation.

Für solche Probleme ist übrigens das "List"-Window sehr hilfreich.

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
Noch kein Account? Hier anmelden.