Forum: FPGA, VHDL & Co. Xilinx ISim brauchbar/fehlerfrei?


von ISim (Gast)


Lesenswert?

Hi,

ich arbeite seit Xilinx WebPack 12.x (?) gelegentlich mit ISim.
Seit 14.1 ist mir eigentlich kein Simulationsfehler mehr aufgefallen.
Was ich nur ggÜ ModelSim vermisse ist die analoge Darstellung,
ansonsten ist ISim für meine Begriffe schon brauchbar.

Hat hier jemand negative Erfahrungen mit Xilinx ISim gemacht?

Gruss

von Oswaldo (Gast)


Lesenswert?

ISim schrieb:
> Hi,
>
> ich arbeite seit Xilinx WebPack 12.x (?) gelegentlich mit ISim.
> Seit 14.1 ist mir eigentlich kein Simulationsfehler mehr aufgefallen.
> Was ich nur ggÜ ModelSim vermisse ist die analoge Darstellung,
> ansonsten ist ISim für meine Begriffe schon brauchbar.
>
> Hat hier jemand negative Erfahrungen mit Xilinx ISim gemacht?
>
> Gruss

Wenn du gerne Trabi fährst, dann gibts kaum negative Erfahrungen ;-)

von Christian R. (supachris)


Lesenswert?

Die Krücke ist wirklich nur für einfache Sachen einsetzbar. Der kann 
selbst in der 14.7 noch keine Analogdarstellung, Integer Signale können 
nur binär dargestellt werden, ist viel viel langsamer als sogar ModelSim 
PE, um nur einige ärgerliche Punkte aufzuzählen. Und dann das ewige 
Gemecker, wenn man mal zwei verbundene Designs mit unterschiedlichen 
Chips simulieren will....blabla IP Core Target Device passt 
nicht...achja, und das man für unterschiedliche Testbenches innerhalb 
eines Projektes auch eventuell unterschiedliche Waveform Descriptions 
und Simulationszeiten einstellen könnte, ist denen auch noch nicht in 
den Sinn gekommen.

von Isim (Gast)


Lesenswert?

Also das mit analogen Waveforms wird wohl unter ISE nichts mehr,
bei Vivado gibt's das seit Anfang an schon. Aber für Hobbyprojekte
ist mir ISE lieber.

Integer-Darstellung: kann man beliebig darstellen, die Auswahl
hat allerdings einen Bug!! Wähl man ein signed/unsigned und dann
das Integer-Signal, dann kann man beliebig auswählen. Diesen
Bug gibts seit Anfang an, wurde auch schon X-mal im Xilinx Forum
thematisiert, verbessert wurde es aber nicht.

Geschwindigkeit: Als Hobbyprojekte habe ich mehrere 6502/6510-Systeme,
darunter auch einen completen C64. Bei meinen Libs ist ISim gar nicht
so viel langsamer (hab allerdings seit 13.x keinen Vergleich mehr
gemacht).

Christian R. schrieb:
>...achja, und das man für unterschiedliche Testbenches innerhalb
>eines Projektes auch eventuell unterschiedliche Waveform Descriptions
>und Simulationszeiten einstellen könnte, ist denen auch noch nicht in
>den Sinn gekommen.

Gut, jeder hat seine eigenen Libs, ich z.B. habe eine Lib, die
aus Textfiles die kompletten Waveforms einliest. Zu jedem Testbench
eine eigene Beschreibungsdatei (mit allen anzuzeigenden Signalen) zu
haben sehe ich da als Vorteil. Ich starte die Sim, klicke alle Signale
zusammen und drücke auf "speichern".

kann aber auch nerven, wenn man nur eine Beschreibung braucht.

von Christian R. (supachris)


Lesenswert?

Isim schrieb:
> Ich starte die Sim, klicke alle Signale
> zusammen und drücke auf "speichern".

Ja das mach ich ja auch. Aber wenn ich ISim aus der ISE heraus starte 
kann ich pro ISE Projekt nur ein so ein File gleich mit angeben. Wenn 
ich eine andere Testbench aus dem gleichen Projekt simulieren will, muss 
ich erst umständlich in den Process Properties das Fiel ändern. Naja, 
ich hab ja zum Glück ModelSIm PE auch da.
Das mit dem Integer probier ich mal, dass es da einen Würgaround gibt, 
wusst ich nicht.

von Isim (Gast)


Lesenswert?

Für jeden Testbench verwende ich statt der Std.Einstellung
(per Menü) ein kleines TCT-Skript:

set wavefile hdl/TestBenches/mycomponent_tb
set wavetime  12345
...
if [file exists "$wavefile.wcfg"] {
  wcfg open "$wavefile.wcfg"
} else {
  wcfg    new;
  wave    add  ...;
  ...
  divider add  ...;
  ... blabla ...
  wcfg    save "$wavefile.wcfg"
}
run $wavetime ns

Damit wird dann je Testbench ein eigenes WCFG-File
generiert. Ändert man Signale in ISim, dann werden diese
per "speichern" im korrekten WCFG-File abgespeichert, die
anderen WCFG-Files bleiben erhalten. Nachteile: Das TCL-File
muss dazu für jede Komponente im Kontextmenü angegeben werden
und je Komponente hat man 4 Files (VHDL,TXT bei mir, TCL und
WCFG).

von VHDLler, der ISIM benutzen muss (Gast)


Lesenswert?

Christian R. schrieb:
> Integer Signale können nur binär dargestellt werden
oh, Mist! Genau das Problem habe ich. Siehe hier:
Beitrag "Integer in ISIM als Zahl und nicht als Bitvektor darstellen"
(Habe den Beitrag hier eben erst gefunden und hatte schon gepostet)

Gibt es eine Möglichkeit, das irgendwie per Script zu lösen?

Ich hätte noch dies hier recherchiert, aber das erfordert ja einen 
Eingriff in die VHDL.
Beitrag "Re: Dezimalzahl mit Kommastellen in ISIM darstellen"

Welche weitere Macken hat ISIM, um eine Argumentationskette aufzubauen 
und meine Bosse davon zu überzeugen, dass sie mir was Besseres kaufen?

von Christian R. (supachris)


Lesenswert?

VHDLler, der ISIM benutzen muss schrieb:
> Christian R. schrieb:
>> Integer Signale können nur binär dargestellt werden
> oh, Mist! Genau das Problem habe ich. Siehe hier:
> Beitrag "Integer in ISIM als Zahl und nicht als Bitvektor darstellen"
> (Habe den Beitrag hier eben erst gefunden und hatte schon gepostet)

Ich hab den Workaround da mal gepostet.

> Welche weitere Macken hat ISIM, um eine Argumentationskette aufzubauen
> und meine Bosse davon zu überzeugen, dass sie mir was Besseres kaufen?

Es kann keine Analog-Darstellung und ist grottenlangsam. Selbst das 
ModelSim PE ist da zig mal schneller, vor allem wenn man komplexe Sachen 
wie die MGTs simuliert.

von Strubi (Gast)


Lesenswert?

Moin,

ich habe ISIM komplett eingemottet. Es wurde zwar irgendwann brauchbar, 
aber ist im Endeffekt doch zu verwarzt und die Darstellung im Vergleich 
mit gtkwave unterirdisch. Habe alles auf GHDL migriert und bin voll 
zufrieden damit. IMHO schlägt das Teil Modelsim punkto Co-Simulation und 
Standard-Strenge, allerdings gibts bei riesigen Designs Einschränkungen 
beim Speed. Ebenso muss man bei verstümmelten Simulations-Libraries 
(insbes. Xilinx) aufpassen, die laufen teils nicht, weil sie 
non-standard-Hacks (mit Absicht?) enhalten. Ansonsten ist hier einiges 
zum Thema GHDL zu finden.

Grüsse,

- Strubi

von Ralf (Gast)


Lesenswert?

Ich bin auch dabei, mir GHDL anzugewöhnen, schon mal deshalb wenn man 
was zuhause macht. Die Sourcen und Infos die ich bisher gefunden habe, 
sind aber eher mager. Wo sucht man denn bitte mal, für eine gute 
Anleitung?

von bko (Gast)


Lesenswert?

Ein mini "Howto" für den Einstieg mit 2 Modulen und Testbench hab ich
hier gefunden:
http://www.dossmatik.de/vhdl.html

Sonst halt hier:
http://ghdl.free.fr/ghdl/index.html

GHDL+C:
http://www.fpgarelated.com/showarticle/20.php

von Strubi (Gast)


Lesenswert?

Ralf schrieb:
> Ich bin auch dabei, mir GHDL anzugewöhnen, schon mal deshalb wenn
> man
> was zuhause macht. Die Sourcen und Infos die ich bisher gefunden habe,
> sind aber eher mager. Wo sucht man denn bitte mal, für eine gute
> Anleitung?

Auf deutsch:

http://www.linux-magazin.de/Ausgaben/2012/02/FPGA-Simulation

von berndl (Gast)


Lesenswert?

Strubi schrieb:
> Auf deutsch:
>
> http://www.linux-magazin.de/Ausgaben/2012/02/FPGA-Simulation

wobei die Situation mit GHDL momentan ja nicht so doll ist (ist als 
Paket bei Debian rausgeflogen). Da braucht es dann schon sowas wie: 
https://launchpad.net/~pgavin/+archive/ghdl

Aber Besserung ist ja in Sicht, GHDL wird momentan von einigen 
kompetenten Leuten auf eine solide open-source Basis gestellt. Mixed 
geht halt leider immer noch nicht so einfach, schade, da so einige 
interessante Modelle nur unter Verilog verfuegbar sind. Aber fuer eigene 
Designs: GHDL und GTKwave sind (vor allem unter Linux) erste Wahl.

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.