Hallo Hier kurz meine Frage: Wir haben bei uns noch einen Server mit mächtig Bums stehen, der momentan nicht wirklich ausgelastet ist. Weiterhin gehen unsere lokalen PCs in die Knie, wenn ein komplexes Design synthetisiert wird. Die Idee war nun, die Synthese auf dem Server ausführen zu lassen und dabei den (die) Client(s) zu entlasten. Gibt es eine Xilinx-seitige Möglichkeit, das xst dort laufen zu lassen und automatisiert mit den entsprechenden Clients (ISE, EDK) zu verbinden? Das XST UG (http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_3/xst.pdf) lässt sich darüber nicht aus. Kann man hart in die Xilinx TCL Scripte rein halten, um das im ISE bzw. EDK "embedded" zu realisieren? (Wahrscheinlich ja, aber hat dies schon mal jemand gemacht? Was (denke ich) auf jeden Fall geht: man biegt das lokale xst auf eine eigene Applikation um, die dann einen eigene Server-Applikation ruft, die wiederum das xst auf dem Server startet und dann das Ergebnis per Callback mitteilt. Hat das schon mal jemand gemacht? Wenn alle 3 Fragen "nein" wären, würden wir das eventuell mal aus akademischen Interesse in Angriff nehmen. Also würdet ihr das als grundsätzlich sinnvoll erachten? Oder wäre das komplett verschwendete Zeit. Danke für Eure Anregungen.
Grundsätzlich sinnvoll ist das sicherlich, zB bei Cadence Virtuoso geht das meines Wissens auch. Eventuell könntet ihr ja auch über eine Remote-Verbindung direkt auf dem Server arbeiten, ev. in einer VM? (Nur weil das eine einfache Lösung wär)
madler schrieb: > Eventuell könntet ihr ja auch über eine Remote-Verbindung direkt auf dem > Server arbeiten, ev. in einer VM? (Nur weil das eine einfache Lösung > wär) Ja, das wäre sicherlich eine Lösung. Aber eigentlich möchte ich, dass der Client-Benutzer (Student X) auf dem Server keinen Account besitzt. Daher wäre RDP nicht so toll. Vielmehr soll das "unter der Haube" ablaufen.
Eine Möglichkeit wäre eventuell auch ein TeamCity Server, der dann nach einem Commit der Quellcodes den Build anstößt. Die komplette Xilinx Sache lässt sich ja per batch steuern.
hallo! also ersteinmal: ich faende das sehr interessant und sinnvoll, denkt aber daran dass ihr dann mindestens eine lizenz mehr braucht. kein problem wenn die steine die man benutzt von webpack unterstuetzt werden, kann aber falls nicht sehr teuer werden. ich wuerde es wohl so machen: 1) auf jedem clienten einen ftp/http-server installiern, in den wird automatisch ein verzeichnis freigegeben, zu erreichen unter <ip>/~user (genau, so wie lighttpd) 2) auf dem buildserver ein php/python/whatever script installiern, der student geht dann im browser auf <serverip>, gibt seinen usernamen ein, zeigt dem server ueber das webinterface das verzeichnis das er "importiern" soll. das wird dann an den xst weitergegeben. das ist jetzt keine anleitung, ich bin auch einer der immernoch rumclickt in der gui, aber so koennte ich mir das am besten vorstellen. auch vorstellbar ist der weg wie du ihn schon beschrieben hast, also xst durch ein script zu ersetzen. da braeuchte man dann wahrscheinlich ne art selbstgebastelten buildserver, der muesste dann die ganzen dateien annehmen. vorteil dabei waere dann natuerlich dass man die ganze konfiguration des xst schon mitbekommt (aber vorsicht, sicherheitstechnisch ist das recht riskant). ich bin gespannt ob noch andere ideen kommen zachso
Christian R. schrieb: > Eine Möglichkeit wäre eventuell auch ein TeamCity Server, der dann nach > einem Commit der Quellcodes den Build anstößt. Die komplette Xilinx > Sache lässt sich ja per batch steuern. Also so was wie ein SVN Hook (TeamCity kannte ich bis dato nicht, jedoch ist es für diese Uhrzeit nicht akzeptabel, die Website von jetbrains zu lesen ;-)). Wäre auch eine Variante, jedoch muss nicht jeder "Erguss" comitted werden. Also ideal wäre es, andere Collaboration-Tools außen vor zu lassen. Danke bis dato für die Hinweise und Tipps.
@zachso Danke für die Anregung. Wegens den Lizenzen habe ich keine Bauchschmerzen: wir arbeitem im akademischen Bereich mit XUP floating LICs; und exotische Kerne nehmen wir in der Regel nicht. Ehrlich gesagt ist für mich das Schreiben eines "Build-Clients" bzw. eines "Build-Servers" einfacher, als ein Web-Interface mit nachgeschalteter Funktionalität aufzusetzen. Zumal ich den "herkömmlichen" Studenten nicht mit noch mehr "fiesem" Workflow überlasten will ;-)). Also im Idealfall ein Click auf den GUI Button (Generate Bit File), und der Rest läuft autark und (hoffentlich) schneller.
Ich waere sehr interessiert an was auch immer ihr da baut, wuerde mich freuen wenn du deine erfehrungen und vllt. Sogar ein wenig code hier posten koenntest wenn du fertig bist :)
Beim Server musst du aber schauen, ob sich das lohnt. Wenn der Prozessor schnell genug ist und jede Menge schneller RAM zur Verfügung steht, bringts etwas. Allerdings nutzt Xilinx immer nur einen Prozessorkern, da bringt eine Quadcore Kiste überhaupt nix. Nur wie kommen die ganzen Files auf den Server, wenn du nur eine kleine GUI hast mit einem "Bitfile" Button? Du musst ja auf dem Syntheseserver alle Quellcodes, Cores, Projektdateien liegen haben...
Oliver Punk schrieb: > Gibt es eine Xilinx-seitige Möglichkeit, das xst dort laufen zu lassen > und automatisiert mit den entsprechenden Clients (ISE, EDK) zu > verbinden? Für den kompletten Design-Flow ist mir nichts bekannt. Für Place&Route kannst Du eine Art "Server-Farm" nutzen (siehe devref.pdf). Das ist aber nur sinnvoll, wenn das Timing knapp verfehlt wird. Was aber sehr gut geht: Server mit Linux, globaler Filezugriff und xst+Konsorten per Makefile oder ggf. per TCL-Skript aufrufen. Für GUI-Zugriffe kann rdesktop, nomachine oder vnc verwendet werden. Wenn man mehr Synthesen startet als man Prozessoren hat, kann man auch richtig dicke Maschinen in die Knie zwingen :-) (BTDT) Duke
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.