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
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 ;-)
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.
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.
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.
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).
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.
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
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?
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
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.