Kann man seine vhdl simulation auf einem externen Server laufen lassen?
Habe gar keine Zeit 2 Std. jedes mal zu warten xD.
Oder auf welche PC Komponente kommt es denn da an?
Welche CPU ist da am besten?
Dankee
Wenn Mutti genug Geld gibt, dann lass dir ein VMWare ESXi hosten.
Da kannst du dann Wind00fse, Linuexe und andern Kram virtuell drauf tun.
Das kann man (zur Not) natuerlich auch selber tun.
ja wie geht n das?
kannst du ein Beispiel nennen wie man vorgehen muss um diesen "service"
in Anspruch nehmen zu können?
Also muss man zuerst einen kostenpflichtigen externen Server finden mit
passender Leistung und dann darauf VMWare installieren wo dann mein
VIvado ist oder was?
Kennst du irgendwas in der Richtung?
Vielen Dank :D
Modelsim kann man wunderbar auch nicht lokal über Kommandozeile laufen
lassen. Auch mehrere Instanzen parallel. Dank textio kann man da Stimuli
einlesen und Ergebnisse wegschreiben. Asserts und so kann man aus dem
Transcript rausholen.
Schnöselesser schrieb:> ja irgendwie geht das mit vivado auch.
Modelsim ist da schneller.
> aber ich brauche ja trotzdem mehr> Leistung xD> Mein PC is zu langsam
Erstmal kannst du deine Hardwarebeschreibung so schreiben, dass sie
schnell simuliert. Also alles getaktet und nur von diesem einen Takt
abhängig. Prozesse nur mit dem Takt in der Sensitivitätsliste.
Und außerdem nur das simulieren was du simulieren musst. Xilinx IP wie
MMCM/PLL muss man meist nicht simulieren. Und wenn man das simuliert
dann man es das eher langsam.
Testuser schrieb:> Schnöselesser schrieb:>> ja irgendwie geht das mit vivado auch.>> Modelsim ist da schneller.>>> aber ich brauche ja trotzdem mehr>> Leistung xD>> Mein PC is zu langsam>> Erstmal kannst du deine Hardwarebeschreibung so schreiben, dass sie> schnell simuliert. Also alles getaktet und nur von diesem einen Takt> abhängig. Prozesse nur mit dem Takt in der Sensitivitätsliste.> Und außerdem nur das simulieren was du simulieren musst. Xilinx IP wie> MMCM/PLL muss man meist nicht simulieren. Und wenn man das simuliert> dann man es das eher langsam.
ich glaube das dauert aber einfach so lange....
Testuser schrieb:> Kann sein, kann aber auch sein, dass man den Code effizienter schreiben> kann und das dann deutlich schneller simuliert.
das wäre am besten :D
Mit GHDL geht das grundsaetzlich in der Cloud legal und bei Dockerhub,
gitlab u.a. auch kostenlos bis guenstig. Ich rate aber zu einer
bezahlten Loesung, ansonsten man schnell als mutmasslicher Miner von der
Nutzung der freien Server ausgeschlossen werden kann.
Wenn es sich um synthesefaehigen und 'sauberen' clock-synchronen Code
handelt, kannst du auch mit yosys und dem CXXRTL-Backend einiges
beschleunigen, brauchst allerdings ein Stimulus-Frontend, braucht etwas
C++-Code oder man macht's per Python Co-Simulation.
Schnöselesser schrieb:> das wäre am besten :D
Dann zeig doch mal den Code der langsam simuliert. Oder packe das
Projekt als .zip hier in den Anhang.
Wir könnten ja mal Benchmarks machen und dein Projekt als Referenz
nehmen. Mich würde auch mal interessieren was wie starke Auswirkungen
hat, CPU Kerne, CPU Cache, Intel vs. AMD, RAM, HDD vs. SSD, ... und auch
Vivado vs. Modelsim vs. GHDL.
Martin S. schrieb:> Ich rate aber zu einer> bezahlten Loesung, ansonsten man schnell als mutmasslicher Miner von der> Nutzung der freien Server ausgeschlossen werden kann.
schlagt mir gerne mal eine Toolchain vor. Hab da gar keine Idee.
Werde aber auch mal meinen Code prüfen lassen.
Aber habe die Vermutung, dass es einfach langsam ist..
Vielen Dank :D
Also es geht um die Simulation des Xaui Cores mit dem dem xilinx example
design.
Details:
Dabei nehmen der status vector und der debug vector bei mir erst nach
ca. 1,5 bis 2 std den Wert 0xfc und debug 0x3f an.
Dann erst arbeitet der Core richtig.
Der Core ist unter Vivado 2019 erhältlich. Im IP Katalog.
Also ich füge den Core erst hinzu. Dann Rechtsklick und dann example
design.
Und dann lasse ich das laufen.
Und dann warte ich zwei Stunden.
Und dann arbeitet der Core.
dut_ready wird dann high bzw status = 0xfc und debug 0x3f
Signal werden dann erstmalig übersetzt von xgmii nach xaui bzw.
andersrum.
Soll ich den Code nochmal hochladen?
Würde mich wirklich interessieren wie das bei euch ist!!!
Wollte mal zwei XAUIs hintereinander testen.
Es hat sich angefühlt wie 4 Stunden.
Fuer
> diese vmware dinger 768 (logical) cpus haben xD und 6TB RAM
muss Mutti aber schon tief in den Geldspeicher langen.
Damit koenntest du 768 Simulationen parallel laufen lassen.
Wenn das Tool multithreaded ist, und dein OS 768 CPUs kann,
wuerde sich, optimistisch gerechnet, die Simulationszeit auf
ein 1/768 verkuerzen.
Mann will sich ja nicht einschraenken muessen.
P.S.: Die Genomanalytiker machen es so. Und die sind bestimmt nicht
doof.
https://github.com/myshareplace/xauiexmaple
hier hab das einfach mal hochgeladen.
ich denke man kann es auch in einem vivado 21 öffnen etc.
dann müsst ihr nicht extra 2019 runterladen.
P.S.: Wenn dir das simuleren zu lange dauert, kaufe einfach
reale Hardware, einige reale hinreichend schnelle Oszis, LAs
und Patterngeneratoren.
Dann musst du nicht warten, sondern kannst dir das ganze in
Farbe und 3D live ansehen!
So hat man das frueher mit der ganz "normalen" Elektronik ja auch
gemacht.
Cptn Cisco schrieb:> P.S.: Wenn dir das simuleren zu lange dauert, kaufe einfach> reale Hardware, einige reale hinreichend schnelle Oszis, LAs> und Patterngeneratoren.>> Dann musst du nicht warten, sondern kannst dir das ganze in> Farbe und 3D live ansehen!>> So hat man das frueher mit der ganz "normalen" Elektronik ja auch> gemacht.
nachdem ich das erste mal vor paar Wochen die Möglichkeit hatte das auf
meinem FPGA zu machen, war ich fasziniert davon, dass die Synthese
schneller ist als die Simulation.
Der xaui core ist dann auch in wenigen millisekunden bereit.
Zudem ist so eine Simulation auch gar nicht so ungefährlich. Die
Realität ist doch immer anders.
Muss aber aus anderen Gründen diese Simulation anfertigen.
Du bestätigst damit aber meine Vermutung, dass man so auch testen kann/
sollte :DDD
> Der xaui core ist dann auch in wenigen millisekunden bereit.
Was auch nicht verwunderlich ist.
Das ist ja schon eine ueberwiegend "fertige" Netzliste.
> Muss ... anfertigen.
Mein Beileid.
Tobias B. schrieb:> Falls du mit Xilinx unterwegs bist, dann ist das vll eine Option:>> https://www.xilinx.com/products/design-tools/acceleration-zone/ef-vivado-sdx-vu9p-op-fl-nl.html
Ja habe Xilinx
Habe das gestern auch schon kurz gesehen, aber die haben das so
beschrieben, dass ich nicht verstehe, ob ich meine Simulation dort
laufen lassen kann xD
Cptn Cisco schrieb:> Der xaui core ist dann auch in wenigen millisekunden bereit.>> Was auch nicht verwunderlich ist.> Das ist ja schon eine ueberwiegend "fertige" Netzliste.
ok ja gut ..
... der 10GEMAC hingegeben is auch in der Simulation nach ein paar
millisekunden bereit...
Ich kann mir vorstellen, dass es um die Transceiver Simulation geht, die
hier so lange Zeit kostet.
Vielleich kann man genau da eingreifen und das verkürzen :D
Schnöselesser schrieb:> Also es geht um die Simulation des Xaui Cores mit dem dem xilinx example> design.
Sag das doch gleich.
Vermutlich ist bei der ganzen Geschichte einfach wegen der Komplexitaet
die Bremse drin, ausser, du hast die Dollar-Lizenz fuer Modelsim.
Wenn du das IP-Core-Geschrabbel einsetzt: keine Chance auf legal per
OpenSource via GHDL, da vercryptet. Da vermutlich eine Menge
Abhaengigkeiten bestehen, kommst du auch mit den einschlaegigen Tools
wohl nicht viel weiter.
Martin S. schrieb:> Wenn du das IP-Core-Geschrabbel einsetzt:
aus genau solchen Gründen sollte man zusehen, auf IP-Geschnodder nur
zurückzugreifen, wenn nötig.
Servus,
Ich würde einen Kasten Bier gegen ein Glas Wasser wetten, dass es die
Transceiver im Core sind, evtl. noch auf Artix-7.
Ich erinnere mich dunkel dass da ein Bug im Sim- Model mit Simulation
"in echter Zeit" umgangen wird. Und Transceiver auf Millisekunden zu
simulieren macht alt. 8o)
Ansonsten ist ISIM/xsim von der Simulationsgeschwindigkeit her relativ
flott.
SG
Schloßgeist
Martin S. schrieb:> Wenn du das IP-Core-Geschrabbel einsetzt: keine Chance auf legal per> OpenSource via GHDL, da vercryptet.
Das waere noch das kleinere Uebel. Mittlerweile gibts von Xilinx fast
nichts mehr in VHDL. :-(
K.A. ob es das bei Xilinx auch gibt aber viele Intel IP-Cores haben eine
Konfigurationsoption damit nicht die komplette Initialisierungssequenz
taktgenau simuliert wird sondern eine verkürzte. Schau mal ob der
Xaui-Core auch sowas hat.
Schnöselesser schrieb:> Oder auf welche PC Komponente kommt es denn da an?
Single-core CPU Leistung.
Lange danach kommt dann RAM Geschwindigkeit.
Cptn Cisco schrieb:> Damit koenntest du 768 Simulationen parallel laufen lassen.> Wenn das Tool multithreaded ist, und dein OS 768 CPUs kann,> wuerde sich, optimistisch gerechnet, die Simulationszeit auf> ein 1/768 verkuerzen.> Mann will sich ja nicht einschraenken muessen.
Gesammt Simulation beschleunigen durch parallele kleine Simulationen
funktioniert super. Ist gut geeignet um jeweils kleine Teile eines
Systems oder Libraries zu testen, ähnlich wie Unit test in der Software
gerne gebaut werden. Also z. B. separate Simulationen für einen SPI
Master:
- Sende 8 bit
- Sende 16 bit
- Lese 8 bit
- Lese 16 bit
- Sende/Lese 8 bit
- Sende/Lese 16 bit
Ist z. B. mit Python Vunit auch einfach aufzusetzen und laufen zu
lassen.
Problem: Jede parallele Simulation braucht eine eigene Lizenz. Kein
Problem bei GHDL. Geht richtig ins Geld bei Modelsim.
Weiss jemand wie sich hier Xilinx Isim verhält?
Tobias B. schrieb:> Das waere noch das kleinere Uebel. Mittlerweile gibts von Xilinx fast> nichts mehr in VHDL. :-(
Es reicht in vielen Fällen ja auch, wenn es etwas mal in VHDL irgendwo
gegeben hat, man es gefunden, kopiert, angepasst und dann generic-isiert
hat, um es zu verallgemeinern und dann später einsetzen zu können.
Ich bin jetzt zwar nicht auf dem aktuellen Stand, aber die
Modelsims u.a. die bei Intel, Xilinx etc für lau dabei waren,
die hatten alle eine Bremse. Der richtige Modelsim/Questasim
kostet dann richtig Geld.
Gruß, Gerhard