Forum: FPGA, VHDL & Co. Simulatorabsturz bei fehlender Sensitivitätsliste (Vivado 2020.1.1)


von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Hallo,

hier ein kleiner Hinweis zu einem Problem, das mich heute ein paar 
Stunden Arbeit gekostet hat...

Als ich den Simulator(*) mit einer kleinen Testbench startete, gab es 
nach kurzer Bedenkzeit einen Absturz von Vivado, wobei noch eine 
Dialogbox mit ein paar kryptischen Java-Fehlermeldungen erschien. Das zu 
simulierende Design war nicht allzu groß und ließ sich auch anstandslos 
synthetisieren, natürlich mit den "üblichen" Warnungen. Wie sich nach 
langer Suche herausstellte, lag das ganze daran, dass ich bei einem rein 
kombinatorischen Prozess vergessen hatte, die Sensitivitätsliste zu 
definieren.

Insgesamt habe ich noch keine derart instabile Version von Vivado erlebt 
wie die 2020.1, auch nach dem Update auf 2020.1.1. Auch bei anderen 
"harmlosen" Aktionen bekomme ich täglich zwischen einem und ca. fünf 
Abstürzen.

Zu (*):
- Vivado 2020.1.1
- VM mit Ubuntu 18.04.5, 64 GB RAM auf AMD Ryzen 9 3900X

von Martin S. (strubi)


Lesenswert?

Ich nehme an du meinst die VHDL-Elaboration?
IMHO seit 2014 eine Katastrophe, einer der Gruende, warum hier in einem 
Projekt eine komplette Migration auf eine andere Architektur erfolgt 
ist.
Ich hoere allerdings, dass es mit Verilog mehr Spass machen soll. Wenn 
man allerdings vom Xilinx-IP abhaengig ist...

von Ingenieur (Gast)


Lesenswert?

Ist das ein generelles Problem dieser Software oder nur der Version oder 
gar des Herstellers an sich?

Ich hörte nälich auch von einem Kunden, dass sie Xilinx komplett aus den 
neuen Produkten rauswerfen, weil die IP-Strategie ihnen nicht gefällt 
und sie damit nicht klarkommen. Ganz blicke ich nicht durch, denn bugs 
in einer SW sollten sich ja doch beheben oder umgehen lassen.

Da muss es also ein grundsätzliches Problem geben, in der 
Firmenstrategie. Wird da nicht genug auf Qualität geachtet? Ist das bei 
den Konkurrenten besser?

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

Ingenieur schrieb:
> Da muss es also ein grundsätzliches Problem geben, in der
> Firmenstrategie. Wird da nicht genug auf Qualität geachtet? Ist das bei
> den Konkurrenten besser?

Naja, ist mit gemischten Gefuehlen zu betrachten. Das Xilinx Oekosystem 
ist schon sehr sehr maechtig, hat halt ueberall mal wieder kleinere 
Probleme die sich im Worst-Case als Showstopper entpuppen koennen. Und 
dann bekommt man halt gerade als kleine Firma richtig uebel Support von 
Xilinx, geschweige denn das Bug Fixes zeitnah ihren Weg in die neuen 
Versionen finden.

Erst heute habe ich wieder mitbekommen, dass eine Firma aus diesem Grund 
auch auf Lattice mal umgestiegen ist und deutlich weniger Aerger hat. 
Nicht weil da prinzipiell erstmal alles besser ist, aber die Wege viel 
kuerzer sind. Selbst ich als Einzelunternehmer bekomme da relativ 
schnell und verlaesslich Rueckmeldung und Support von denen, unmoeglich 
sowas von Xilinx zu erhalten.

Was in Zukunft passiert, wenn AMD die Xilinx Uebernahme durchzieht 
bleibt auch noch abzuwarten. Wie es bei Intel, Microsemi, etc. aussieht 
kann ich leider nicht sagen.

Insgesamt bin ich mit den Xilinx FPGAs sehr zufrieden, auch mit deren 
Software. Allerdings wuerde ich nie eine uneingeschraenkte Empfehlung 
aussprechen. Immerhin gibt es das Xilinx Forum, da bekommt man 
wenigstens einigermassen Hilfe. Was man dort nur nie machen darf: Zu 
glauben, dass ein Bug mit dem naechsten Release wirklich gefixt ist, 
wenn ein Xilinx Mitarbeiter das behauptet. ;-)

von Dussel (Gast)


Lesenswert?

Tobias B. schrieb:
> Wie es bei Intel, Microsemi, etc. aussieht
> kann ich leider nicht sagen.
Über Quartus habe ich mich auch richtig geärgert, aber ich habe das 
Gefühl, dass es damit trotzdem besser ging als jetzt mit Vivado. Bei 
Libero kann ich mich nicht an größere Probleme erinnern. Das habe ich 
aber auch nur bei meiner Bachelorarbeit benutzt und bin da nicht so in 
die Tiefe gegangen.
Bei Quartus habe ich aktuell das Problem, dass sich manche 
mitgelieferten IP nicht benutzen lassen. Die offizielle Lösung ist: Geht 
nicht, wird in Zukunft behoben, nutzen sie eine ältere Version.

Ich weiß nicht mehr, ob es bei Intel oder Xilinx war: Ich hatte einen 
Fehler. Bei der Suche nach der Lösung habe ich dazu einen Beitrag im 
Forum des Herstellers gefunden. 2012 hat jemand danach gefragt. Die 
Antwort war, dass es in Zukunft behoben wird. 2014 hat jemand das Thema 
hochgeholt. Die Antwort war die gleichen wie 2012. 2015 und 2017 ging es 
genauso. Ich hatte den Fehler 2018 oder 2019.

von Xilinx Geplagter (Gast)


Lesenswert?

Andreas S. schrieb:
> Insgesamt habe ich noch keine derart instabile Version von Vivado erlebt
> wie die 2020.1, auch nach dem Update auf 2020.1.1. Auch bei anderen
> "harmlosen" Aktionen bekomme ich täglich zwischen einem und ca. fünf
> Abstürzen.

Na Grossartig. Danke für die Warnung, da kommt ja wieder richtig Freude 
auf. Ich rege mich schon ständig über Vivado 2018.2 auf und habe mir 
überlegt auf eine neuere Version zu wechseln, in dem Fall kann ich mir 
das grad schenken. Gibts irgendeine Version in der Zwischenzeit, die 
einigermassen brauchbar ist?

Insgesamt ist Vivado mit Abstand der grösste Scheisshaufen an Software 
mit dem ich je gezwungen war zu arbeiten - und das will was heissen denn 
ich hab schon diverse Versionen von Altium Designer durchgemacht. 
Abstürze sind an der Tagesordnung, eingegebene Parameter werden immer 
wieder mal igoniert, die Synthese hängt sich gerne auf und ein ganz 
besonderes Schmankerl ist der Hardware-Sever. Dieser schafft sporadisch 
aber zuverlässig, Vivado, das Guest-OS, die Virtual Machine und das 
Host-OS zusammen abzuschiessen. Dass sowas überhaupt möglich ist hätte 
ich mir nie vorstellen können.

von Gustl B. (-gb-)


Lesenswert?

Mich stört ja, dass die Simulation Änderungen am Code nicht übernimmt. 
Ich ändere etwas am Code, und zwar an der Testbench, klicke im Simulator 
oben rechts neben dem Pause Pause Button damit die Simulation neu läuft, 
aber die Änderung wird nicht übernommen.
Es hilft auch nicht die Simulation zu schließen und neu zu öffnen. Es 
hilft nicht mal Vivado zu schließen und neu zu öffnen. Nein, ich muss 
den Ordner sim_1 löschen.
Das war in früheren Versionen schon mal besser und auch mit dieser 
Version ist das Problem nicht immer da, aber sehr oft. Das verdirbt 
einem den Spaß an der Simuliererei.

von Cleee (Gast)


Lesenswert?

Also auch wenn Vivado doch so seine Probleme hat, hier geht es weniger 
um ein "Vivado"-Kernproblem, sondern darum das der mitgelieferte 
Simulator einfach Mist ist. Das sollte die wichtigere Lektion sein. 
Niemand zahlt Geld fuer Xilinx Chips und arbeitet dann nur mit dem 
Vivado Simulator, ergo gibt es keine relevanten Kunden auf deren Druck 
dieses Produkt verbessert werden würde.

Nutze verilator oder ghdl wenn es Uni/Hobby ist oder einen kommerziellen 
Simulator wenn du ernsthaft arbeitest.

von Gustl B. (-gb-)


Lesenswert?

Cleee schrieb:
> hier geht es weniger
> um ein "Vivado"-Kernproblem, sondern darum das der mitgelieferte
> Simulator einfach Mist ist.

Der Simulator ist aber ein Teil von Vivado.

Das wäre wie wenn du sagtest: Wir haben kein Klimaproblem auf der Erde 
sondern nur ein Temperaturproblem.

Cleee schrieb:
> Niemand zahlt Geld fuer Xilinx Chips und arbeitet dann nur mit dem
> Vivado Simulator

Doch, ich. Und zwar weil das bequem ist und in vorigen Versionen sehr 
gut funktioniert hat.

Cleee schrieb:
> Nutze verilator oder ghdl wenn es Uni/Hobby ist

Könnte ich machen, ist aber weniger bequem. Da wäre es mir lieber wenn 
Xilinx die Bugs fixen würde.

von Xilinx Geplagter (Gast)


Lesenswert?

Cleee schrieb:
> Nutze verilator oder ghdl wenn es Uni/Hobby ist oder einen kommerziellen
> Simulator wenn du ernsthaft arbeitest.

Ich finde diese Einstellung bei Software so extrem mühsam. Wenn ich für 
Vivado Geld bezahle (und die Lizenzen für das Programm sind ja alles 
andere als billig), dann erwarte ich, dass das Teil seine Aufgabe 
erfüllt und nicht im Minutentakt den Löffel abgibt.
Während ich bei anderen Produkten bei kaputtem Produkt ein Rückgaberecht 
habe, scheint das bei Software nicht zu exisiteren. Leider ist es total 
illusorisch, aber es wäre schön, wenn es für Software sowas wie 
objektive Kriterien bezüglich Bugs gäbe. Alles was diesen Qualifier 
nicht erfüllt darf nicht verkauft werden (ist ja schliesslich auch ein 
Sicherheitsproblem) bzw. ist ein Kostenrückerstattungsgrund. Mir ist 
klar, dass Software ohne Bugs nicht exisitert, aber das was gewisse 
Hersteller abliefern ist einfach nur zum kotzen.

Wie gesagt - illusorisch da solche objektiven Kriterien wohl nicht 
existieren. Im nächsten Leben vielleicht :(

von Ingenieur (Gast)


Lesenswert?

Xilinx Geplagter schrieb:
> Ich finde diese Einstellung bei Software so extrem mühsam. Wenn ich für
> Vivado Geld bezahle (und die Lizenzen für das Programm sind ja alles
> andere als billig), dann erwarte ich, dass das Teil seine Aufgabe
> erfüllt und nicht im Minutentakt den Löffel abgibt.

Naja, die XI Lizenz ist ja schon ziemlich billig im Vergleich zu einem 
ModelSIM der nix anderes macht, als Simulieren. Da kann man wohl vom 
internen Kram nicht viel erwarten.

von Cleee (Gast)


Lesenswert?

Gustl B. schrieb:
> Cleee schrieb:
>> hier geht es weniger
>> um ein "Vivado"-Kernproblem, sondern darum das der mitgelieferte
>> Simulator einfach Mist ist.
>
> Der Simulator ist aber ein Teil von Vivado.
>
> Das wäre wie wenn du sagtest: Wir haben kein Klimaproblem auf der Erde
> sondern nur ein Temperaturproblem.
>
Der Vergleich hinkt etwas. Wie du aber bestimmt verstanden hastm will 
ich mit der Aussage darauf hinaus das der Simulator wirklich eher ein 
Gimmick in Vivado ist. Die eigentliche Kernfunktion für den allergrößten 
Teil der Nutzer ist die Synthese sowie P&R.

> Cleee schrieb:
>> Niemand zahlt Geld fuer Xilinx Chips und arbeitet dann nur mit dem
>> Vivado Simulator
>
> Doch, ich. Und zwar weil das bequem ist und in vorigen Versionen sehr
> gut funktioniert hat.
Dann frage ich wirklich ehrlich und neugierig: Sind das relevante 
Chipzahlen? 5 für das Kleinserienprojekt zählen in dem Markt mit großen 
Stückzahlen leider weniger. Ich will das System nicht gutreden, ich 
möchte mir nur etwas die Struktur und Gründe erklären.
Ich hab den auch gerne für kleine Unittests genutzt, aber da ist mir 
selbst ohne Softwareinstabilität irgendwann die Lust drauf vergangen.

>
> Cleee schrieb:
>> Nutze verilator oder ghdl wenn es Uni/Hobby ist
>
> Könnte ich machen, ist aber weniger bequem. Da wäre es mir lieber wenn
> Xilinx die Bugs fixen würde.

Bequem würde ich auch in Frage stellen (jedenfalls geht es mir so), in 
allen Projekten die etwas größere Komplexität beinhalten sowie etwas 
mehr Simulationsaufwand erfordern wird der Simulator in meinen Augen 
unhandlich und die Performance is abartig.

Die Welt der EDA-Tools ist leider nicht so einfach die meiste andere 
"klassische" Software. Kommerzielle Simulationstools sind so teuer weil 
sie so unglaublich komplex sind, aber der eine Fall der falsch simuliert 
wird in FPGA/ASIC Realität brutal teuer wird.

von Cleee (Gast)


Lesenswert?

Xilinx Geplagter schrieb:
> Cleee schrieb:
>> Nutze verilator oder ghdl wenn es Uni/Hobby ist oder einen kommerziellen
>> Simulator wenn du ernsthaft arbeitest.
>
> Ich finde diese Einstellung bei Software so extrem mühsam. Wenn ich für
> Vivado Geld bezahle (und die Lizenzen für das Programm sind ja alles
> andere als billig), dann erwarte ich, dass das Teil seine Aufgabe
> erfüllt und nicht im Minutentakt den Löffel abgibt.
Der Simulator kommt aber ja in der Webpack schon "kostenlos" mit. Die 
Lizenz die du kaufst ermöglichen dir ja hauptsächlich die komplexeren 
FPGAs in Synthese/P&R. Ich bezweifle das wirklich jemand die Simulator 
Funktionalität benutzt, beziehungsweise Geld für die Vivadolizent 
ausgibt und da einpreist keinen externen Simulator zu kaufen.

Und wenn du wirklich ein "wichtiger" Kunde für Xilinx bist dann gibt es 
tatsächlich FAEs und speziellen Support der auch schnell hilft. Das ist 
natürlich schade für alle die nur kleine Dinge machen, aber halt eine 
ökonomische Notwendigkeit.

Wenn die Opensource Toolchains wirklich einmal so stabil werden würde 
ich mich freuen. Da kannst du nur noch viel weniger jemand suchen der 
dir hilft kritische Bugs zu fixen...

von Gustl B. (-gb-)


Lesenswert?

Cleee schrieb:
> Der Vergleich hinkt etwas. Wie du aber bestimmt verstanden hastm will
> ich mit der Aussage darauf hinaus das der Simulator wirklich eher ein
> Gimmick in Vivado ist.

Natürlich ist das so. Und trotzdem sollten Fehler auch dort behoben 
werden.  Linux, Libreoffice, ... auch alles kostenlos. Trotzdem bemüht 
man sich da Fehler zu beheben. Ja, müsste man nicht, ist aber nicht 
schön.

von Cleee (Gast)


Lesenswert?

Gustl B. schrieb:
> Cleee schrieb:
>> Der Vergleich hinkt etwas. Wie du aber bestimmt verstanden hastm will
>> ich mit der Aussage darauf hinaus das der Simulator wirklich eher ein
>> Gimmick in Vivado ist.
>
> Natürlich ist das so. Und trotzdem sollten Fehler auch dort behoben
> werden.  Linux, Libreoffice, ... auch alles kostenlos. Trotzdem bemüht
> man sich da Fehler zu beheben. Ja, müsste man nicht, ist aber nicht
> schön.

Das ist aber doch der falsche Vergleich!
Linux und Libreoffice sind OpenSource, da stehen große Organisationen 
dahinter die diese betreuen und vorrantreiben, aber der Dienst ist 
Opensource und Geld wird über andere Wege gemacht.

Xilinx baut eigentlich Chips und verkauft diese, dazu bieten sie eine 
Software um das P&R für diese Architektur zu machen. Der Simulator ist 
nicht wirklich ein wichtiges Produkt an der Stelle, klar wäre es schön 
einen kostenlosen wunderbaren Simulator zu haben, die Erwartung ist nur 
unrealistisch. Du erwartest doch auch nicht mit den Scripten in 
Libreoffice Matlab ersetzen zu können nur weil man damit ja auch schon 
recht viel berechnen kann. Xilinx sorgt sich darum das seine Kunden den 
Kernteil der Software benutzen können (und dazu hatte ich auch schon 
Support in 2 Tagen zu einem komplexen Problem aus dem HQ), aber der 
Simulator verdient kein Geld.

von Gustl B. (-gb-)


Lesenswert?

Ja, ich glaube du hast da schon Recht. Mir geht es ja nicht um 
irgendwelche tollen Funktionen die Xilinx noch einbauen soll. Mir geht 
es darum, dass das fehlerfrei funktioniert was schon vorhanden ist. Aber 
gut, ist wohl zu viel erwartet.

von abc (Gast)


Lesenswert?

Cleee schrieb:
> Du erwartest doch auch nicht mit den Scripten in
> Libreoffice Matlab ersetzen zu können nur weil man damit ja auch schon
> recht viel berechnen kann.

Natürlich nicht, genauso wenig wie mit Excel. Die Opensource-Alternative 
zu Matlab ist Python mit Libraries und noch ein,zwei andere Ansätze.

Noch nicht lang ist es her, da hat jeder Pascal- und insbesondere die 
C-Compiler ordentlich Geld gekostet. Heute sind nicht nur C-Compiler 
kostenfrei, sondern auch vieles andere. Zuletzt kam es für den 
uC-Bereich.

> Xilinx sorgt sich darum das seine Kunden den
> Kernteil der Software benutzen können (und dazu hatte ich auch schon
> Support in 2 Tagen zu einem komplexen Problem aus dem HQ), aber der
> Simulator verdient kein Geld.

Xilinx steckt wesentlichen Aufwand in Software, die nichts mit 
Place&Route zu tun hat. Das was heute Xilinx-HLS heute kostenfrei macht, 
war vor 10 Jahren von anderen Firmen nur für viel Geld zu bekommen.

So kompliziert ist das Simulieren nun auch wieder nicht. Ich finde es 
auch etwas verwunderlich von Xilinx. Wenn Sie einen guten Simulator 
hätten, dann könnten sie ein paar Dollar dafür verlangen. Das hätte 
schon ein paar Vorteile. Aber bisher stecken sie zu wenig Aufwand in den 
Simulator, sondern lieber in die anderen Themen. Vielleicht gehen sie 
davon aus, dass das Pferd der kostenpflichtigen Simulatoren bald stirbt. 
Von unten her ist der Markt ja schon deutlich angefressen. Mit anderen 
Themen geht es ähnlich weiter.

von FPGA-Experte (Gast)


Lesenswert?

abc schrieb:
> So kompliziert ist das Simulieren nun auch wieder nicht. Ich finde es
> auch etwas verwunderlich von Xilinx. Wenn Sie einen guten Simulator
> hätten, dann könnten sie ein paar Dollar dafür verlangen. Das hätte
> schon ein paar Vorteile.

Sie hatten ja mal einen Guten, nämlich den ModelSIM. Der war neben ISE 
der Simulator, den wir ab 2005 benutzt haben. und der Grund war, dass 
der ISE SIM schon damals grosse Mist war. Also haben sie den integriert. 
Aber Mentor war denen dann zu teuer, also sind sie ausgestiegen.

Altera hat es ihnen dann nachgetan und ebenfalls eine Billigversion vom 
ModelSIM integriert. Und der Grund war derselbe. Simulation mit Altera 
war ein Grauss!

Ich empfehle GHDL.

Xilinx Geplagter schrieb:
> Insgesamt ist Vivado mit Abstand der grösste Scheisshaufen an Software
> mit dem ich je gezwungen war zu arbeiten
Dem kann man eingeschränkt zustimmen. Im Vergleich zu ISE eine 
Verbesserung, aber so löcherig, dass man einfach nur Bauchschmerzen 
bekommt.

Das Problem bei Xilinx ist einfach die Anzahl der Schritte, die sie 
unternehmen, ohne den vorherigen stabil zu haben. Es dauert ewig, bis 
ein Fehler draussen weg ist und sobald mal ein Baustein gut unterstützt 
ist, wird er abgekündigt. Das Schlimmste ist die Politik mit den Cores: 
Sobald man auf eine neue Version geht, klappen die Demos nicht mehr, die 
eigenen designs sind obsolet und die Cores müssen aktualisiert werden.

Da scheinen nach wie vor 2 Teams zu werkeln und es ist besser, man macht 
nur jedes 2. update mit, weil die mehr Inkompatiblitäten haben, als 
Progress. Der Mist ist eben, dass du Vivado mehr oder weniger nehmen 
MUSST, wenn du dich auf deren Bausteine eingeschossen hast und nicht 
eine parallele toolchain aufgebaut hast, die auch immer schwerer zu 
halten ist.

Zu ISE-Zeiten haben wir uns um den XST herumgedrückt, nun tunneln wir 
Vivado und deren Baukasten-Malpolitik. Leider sind aber alle scharf aufs 
Kästen malen. FPGA-Entwickler sind eben Spielkinder.

Das Beste ist, man lagert FPGA komplett aus und schreibt nur noch 
Pflichtenhefte. Da reicht Doors und Word und die sind ausreichend 
stabil.

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.