Forum: FPGA, VHDL & Co. ISim immer neu starten?


von Ralph H. (guru)


Lesenswert?

Als Neuling bin ich noch nicht so recht den Umgang mit der XILINX 
Software gewohnt und möchte gern wissen, was ich tun kann..
Ich nutze ISE 12.3 mit einer Testbench die im ISim 12.3 läuft.
Wenn ich nun eine Simulation starte, muss ich bei JEDER Änderung in
der Testbench den ISim wieder beenden und dann aus der ISE neu starten.
Das ist mit der Zeit sehr nervig.. bestimmt kann ich das effektiver 
machen, oder ?

von ISim (Gast)


Lesenswert?

Hi,

das Neustarten nach Änderungen der VHDL-Dateien lässt sich
glaube ich nicht vermeiden. Du kannst aber die Stimulus-Daten
in einer Textdatei ablegen und im TestBench einlesen.
Ich habe mir dazu eine Lib geschrieben, die Stimulus in der
folgenden Form einliest:

enable    ---#############-----
di[7:4]   ---------------------
di[3:0]   --ABC--XUWHL---1234--

Bei Änderungen im Stimulus muss nur der Restart-Button gedrückt
werden.

von Ralph H. (guru)


Lesenswert?

Hm.. Danke Dir! Ich ändere doch aber nur die Parameter in der 
Testbench..und nicht die VHDL Datei des Objektes ?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Ralph H. schrieb:
> Hm.. Danke Dir! Ich ändere doch aber nur die Parameter in der
> Testbench..und nicht die VHDL Datei des Objektes ?
Für den Simulator ist die Testbench das eigentliche Objekt, das abläuft. 
Die zu simulierenden Dateien/Module sind dort einfach nur als 
Komponenten eingebunden. Wenn du also akzeptierst, dass der ISIM neu 
startet, wenn du eine Unterkomponente (= dein Modul) änderst, dann mußt 
du genauso akzeptieren, dass der neu startet, wenn das Top-Modul (= die 
Testbench) geändert wurde.

von Johann (Gast)


Lesenswert?

Ich erzeuge immer die Testbench starte adnn die Simulation mit ISIM 
formatuere mir dann die Waveformen, so wie ich es möchte. Dann speicher 
ich die Waveform (links oben gibt es so ein speicher Symbol) dann muss 
man ISIM schließen, den Fehler in der VHDL Datei ausbessern oder die 
Testbench ändern, die Simulation starten es öffnet sich dann wieder ISIM 
und dann lade ich die Waveform und kann prüfen ob der Fehler nun weg 
ist.

Ich weiß das dies sehr nervig ist mir geht es genauso ich habe leider 
auch noch keine andere Lösung gefunden.

von Ralph H. (guru)


Lesenswert?

Lothar Miller schrieb:
>Wenn du also akzeptierst, dass der ISIM neu startet..
Lach... ich akzeptier das doch nicht Lothar ! :-)
Ich wollte wissen obs ne Lösung dafür gibt, aber offentsichtlich nicht
und dann ist es auch ok, zwar nicht sehr praktikabel aber eben so.
Da frag ich mich nur, was die ganzen GB auf meiner Festplatte suchen :D

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Ralph H. schrieb:
> zwar nicht sehr praktikabel aber eben so.
Ja, früher, als es den Modelsim noch gab, da konnte man einfach die 
entsprechende Datei neu compilieren und auf den Restart-Button drücken.

Den gibts übrigens noch in den alten Versionen, aber für den Anfänger 
ist der noch komplexer zu bedienen und umständlicher als der ISIM. Die 
Lernkurve ist sehr steil, etlichen hat der Schwung nicht gereicht...

von Ralph H. (guru)


Lesenswert?

grins.. naja.. ich muss sagen ich komme ganz gut voran mit dem ISim..
und den ersten Codes :-) dazu aber im anderen Thread mehr..

von Duke Scarring (Gast)


Lesenswert?

Ralph H. schrieb:
> Das ist mit der Zeit sehr nervig.. bestimmt kann ich das effektiver
> machen, oder ?

Das soll wohl in einer der nächsten ISIM-Versionen verbessert werden.
Bei Altera gibt es für kleine Designs auch eine brauchbare 
Modelsim-Variante:

http://www.altera.com/ -> Download Center -> ModelSim-Altera -> 
Individual and Recommended Software Downloads -> ModelSim-Altera 
Starter Edition

Dafür muß man sich nichtmal registrieren oder eine Lizenz beantragen. 
Wenn man dann die Altera-Libs nicht benötigt, kann man sie in der 
modelsim.ini auskommentieren. Und es läuft auch unter Linux.

Duke

von Klaus F. (kfalser)


Lesenswert?

Lothar Miller schrieb:
> Ralph H. schrieb:
>> zwar nicht sehr praktikabel aber eben so.
> Ja, früher, als es den Modelsim noch gab, da konnte man einfach die
> entsprechende Datei neu compilieren und auf den Restart-Button drücken.

Dieses Neustarten lässt sich deshalb nicht vermeiden, weil so ISIM so 
funktioniert, dass die einzelnen VHDL Files zu object modulen kompiliert 
werden.
Eein "VHDL-Linker" (Fuse heisst das Programm) linkt diese object-Module 
zu einem richtigen ausführbaren EXE-File, das dann aufgerufen wird.
Jede Änderung eines beliebigen VHDL Files erfordert einen 
Neu-Kompilation und einen Neustart dieser EXE Datei.
Leider, ModelSim war bequemer.

von Johann (Gast)


Lesenswert?

Was viel schlimmer bei ISIm ist das man nicht die Höhe der Signale 
vergrößern kann und die Zeilenabstände zwischen den Signalen vergrößern 
kann. Wenn man mehr als 10 Signale auf dem Bildschirm hat dann wird es 
sehr unübersichtlich.

Außerdem wären so Zählfunktionen nicht schlecht. Ich würde gerne einen 
Startpunkt und einen Endpunkt festlegen und dann wird gezählt wie viele 
Events dazwischen liegen ohne dies manuell zu zählen. Mein 
Logikanalysator kann dies ohne Probleme

von Duke Scarring (Gast)


Lesenswert?

Johann schrieb:
> Mein
> Logikanalysator kann dies ohne Probleme

Deine Testbench aber auch.

Duke

von Christian R. (supachris)


Lesenswert?

Am meisten vermisse ich beim ISim die Bedienbarkeit. Wenn man das TCL 
einmal begriffen hat, ist ModelSm viel besser bedienbar. Und ISim kann 
immer noch keine Analog-Darstellung. Blöd, dass es kein Modelsim XE mehr 
gibt, da werd ich wohl gleich mal wieder am Anfang des Jahres einen 
Investitionsantrag stellen für das ModelSim PE.

von Anguel S. (anguel)


Lesenswert?

Christian R. schrieb:
> Blöd, dass es kein Modelsim XE mehr
> gibt, da werd ich wohl gleich mal wieder am Anfang des Jahres einen
> Investitionsantrag stellen für das ModelSim PE.

Musst nur aufpassen, dass sich deine Manager dann nicht lieber für China 
entscheiden, vgl. Beitrag "Warum Chinesen so billig VHDL produzieren können"
;) oder doch eher  :(

von Christian R. (supachris)


Lesenswert?

Ich hoffe, dass es in der Fraunhofer Gesellschaft nicht ganz so akut 
dazu kommt. :)

von Anguel S. (anguel)


Lesenswert?

Christian R. schrieb:
> Ich hoffe, dass es in der Fraunhofer Gesellschaft nicht ganz so akut
> dazu kommt. :)

Achso, der ModelSim wird also von unseren Steuern finanziert ;)
Ihr ladet die Chinesen lieber zu euch ein, statt nach China zu reisen. 
Das spart wenigstens Reisekosten ;) Wobei das dann durch die 
Lizenzkosten kompensiert wird.

von Christian R. (supachris)


Lesenswert?

Eher im Gegenteil: Wir bestreiten 60% unserer Projekte durch 
Industrie-Projekte, die meisten davon gehen über einen deutschen Partner 
nach China. Forschung und Entwicklung wird zumindest bei Fraunhofer 
nicht ausgelagert. Selbst die Produktion bleibt hier im einheimischen 
Mittelstand. Nur knapp 40% des Geldes kommt von öffentlichen 
Auftraggebern.

von berndl (Gast)


Lesenswert?

was ich ja an ModelSim richtig aetzend finde: Du kaufst dir eine PE, 
musst dich durch einige Config-Files kaempfen (ja, der Simulator laeuft 
dann erstmal mit einer ns als Aufloesung und dein Xilinx Geraffel tut 
deshalb nicht), musst dich mit dem License Mgr rumschlagen, erstmal die 
Libs compilieren und so weiter und so fort...

Mit ModelSim XE oder AE steht dein ganzes Environment funktionsfaehig 
da, da musst du eigentlich nix tun. Und die teure Lizenz: Erstmal 
basteln und Libs compilieren (ich hab' hier Xilinx, Altera und Lattice).

Vermutlich ist es wirklich so wie in dem parallelen Chinesen Thread 
beschrieben: Nimm geklaute SW, die ist einfacher ans Laufen zu kriegen 
:o(

Und mit dem ISIM kann ich deshalb nix anfangen, weil unsere Designs 
potentiell auf Xilinx, Altera, Lattice laufen muessen. Bleibt halt nur 
ModelSim PE und/oder GHDL (und das hat ja auch so seine Tuecken)

von Klaus F. (kfalser)


Lesenswert?

berndl schrieb:
> Und mit dem ISIM kann ich deshalb nix anfangen, weil unsere Designs
> potentiell auf Xilinx, Altera, Lattice laufen muessen. Bleibt halt nur
> ModelSim PE und/oder GHDL (und das hat ja auch so seine Tuecken)

Auch ich bin vom ISIM nicht unbedingt begeistert, aber im Prinzip sollte 
es ein voller VHDL Simulator sein, der sicher auch die Altera-Libs 
übersetzen kann. Da sind ISIM und GHDL wahrscheinlich gleich.
Und der Nachteil von PE ist, dass man immer weniger mit einer reinen 
VHDL Lizenz anfangen kann, sondern immer öfter eine Mixed-Language 
Lizenz benötigt (z.B. mit EDK). Dann ist PE auch nicht mehr so günstig.

Ich habe einmal von einem Xilinx FAE gehört, dass einer der Gründe für 
den Xilinx Umstieg von ModelSim auf ISIM ist, dass Xilinx in Zukunft die 
Simulation bestimmter IP Cores nur mittels verschlüsselter Bibliotheken 
unterstützen will. In diesem Fall wird man ISIM verwenden müssen.

von moep (Gast)


Lesenswert?

Wenn du unter Linux arbeiten darfst, kannst du dir ja mal
ghdl und gtkwave anschauen. Da kannst du deinen VHDL Code
neu compilieren und dann die aktuelle Waveform in gtkwave neu laden
ohne dass du das Fenster mit den Wellen immer wieder zumachen musst.


Grüße,

moep

von Anguel S. (anguel)


Lesenswert?

Klaus Falser schrieb:
> Und der Nachteil von PE ist, dass man immer weniger mit einer reinen
> VHDL Lizenz anfangen kann, sondern immer öfter eine Mixed-Language
> Lizenz benötigt (z.B. mit EDK). Dann ist PE auch nicht mehr so günstig.

Das ist in der Tat ein großes Problem. Man wird bestraft, dass man die 
"falsche" HDL kann. Welche Optionen hat man denn als ehrlicher 
VHDL-Entwickler, der sich die Lizenz nicht leisten kann, um z.B. einen 
RAM-Core, dessen Modell es nur als Verilog gibt? Gar keine - man lässt 
das Ganze oder verzichtet auf die Simulation.

von Johann (Gast)


Lesenswert?

Jedoch muss man doch dazu sagen das es mit ISOM für den ANfang nicht 
schlecht ist, wenn Xilinx dort noch eine Versesserungen implementiert 
dann kann man damit schon sehr gut arbeiten.

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.