Hi zusammen, mit welchem FPGA könnte man eigentlich einen PCIe 2.x switch bauen? Wie leistungsstark muss das Teil sein? Reicht da eventuell auch ein CPLD? Danke Grüsse Lars
Warum willst du das tun? Gibt spezialisierte Chips dafür, z.b. https://www.microchip.com/en-us/products/interface-and-connectivity/pcie-switches
Lars schrieb: > mit welchem FPGA könnte man eigentlich einen PCIe 2.x switch bauen? Die Mindestvoraussetzung ist schon einmal, dass das FPGA eine entsprechende Anzahl von PHYs für die gewünschte Anzahl von PCIe-Lanes aufweisen muss und diese PHYs auch explizit für PCIe spezifiziert sind. > Wie leistungsstark muss das Teil sein? PCIe-taugliche PHYs und IPs findet man zwar grundsätzlich schon ab z.B. Xilinx 7 Series, aber ob sie sich für Switches eignen, muss man im Einzelfall schauen. Für den entsprehcneden IP von Rambus heißt es: - Xilinx UltraScale+ series : up to Gen4 x8 on each port - Altera 10 series (Arria, Stratix): up to Gen3 x8 on each port - Older device families (ex. Altera V-series, Xilinx 7-series) can be supported upon request https://www.plda.com/cn/node/231 Von Intel (Altera) gibt es auf jeden Fall einen IP zu kaufen, mit dem ein PCIe Switch realisiert werden kann: https://www.intel.de/content/www/de/de/products/details/fpga/intellectual-property/interface-protocols/pcie-scalable-switch.html > Reicht da eventuell auch ein CPLD? Nein. Neben der reinen Implementierung solltest Du Dir aber auch überlegen, wie Du den ganzen Kram testen willst. Ein hierfür benötigter Gerätepark, z.B. Oszilloskop mit PCIe-Dekoder oder ein PCIe-Protokolltester, kosten mindestens ein Sümmchen im oberen fünfstelligen Bereich. Und sie sind auch nicht ganz einfach zu bedienen. Vor einigen Jahren entwickelte ich für einen Kunden eine Baugruppe mit einem fertigen PCIe Switch von PLX/Broadcom. Um das Ding in Betrieb zu nehmen, mussten wir dann ein Oszilloskop samt zugehörigem Techniker mieten, der die Messungen durchführte und interpretierte. Das ganze war auch gleichzeitig eine Schulung über die entsprechende Messtechnik. Und wohlgemerkt ging es nur darum, für einen fertigen PHY die optimalen Parameter zu finden und die Qualität des Leiterplattenlayouts zu beurteilen. Es hätte mehrerer Wochen an Einarbeitungszeit benötigt, um auch nur ansatzweise damit zurechtzukommen. Und dann benötigt man auch noch entsprechende Detailkenntnisse, um die entsprechenden Protokolle der Dekodersoftware verstehen und beurteilen zu können. Bevor Du Dich also daran machst, einen eigenen PCIe Switch zu implementieren, solltest Du auch einmal versuchen, solch einen fertigen Baustein zu integrieren und konfigurieren.
Lars schrieb: > Hi zusammen, > > mit welchem FPGA könnte man eigentlich einen PCIe 2.x switch bauen? Da du es bei PCIe auch mit einem anspruchsvollen physical layer zu tun hast, bracuhst du einen FPGA der die notwenigen gigabit Transceiver mit entpsrechenden IO Standards unterstützt. Ein Artix 7 bspw. könnte das prinzipiell. Wenn wir jetzt mal arbiträr von einer PCIe Lane pro Port ausgehen dann brauchst du für einen Switch mindestens 3 TX und 3 RX Kanäle, sonst macht es ja auch keinen Sinn. Da findet sich auch was. Das größere Problem könnte sein, dass eventuell die ganzen IP Core Landschaften der FPGA Hersteller mehr auf PCIE Rootcomplex / Device ausgelegt sind. Sprich im worst case musst du viel Logik selbst implementieren. Da kenne ich mich aber nicht aus. Habe PCIe im FPGA nur als device mit klicki-Bunti IP cores gemacht. Lars schrieb: > Wie leistungsstark muss das Teil sein? Reicht da eventuell auch ein > CPLD? Nein. Zum einen wegen den fehlenden IO-Kapazitäten und zum anderen wegen der Logik-Menge.
M. H. schrieb: > Lars schrieb: > Da du es bei PCIe auch mit einem anspruchsvollen physical layer zu tun > hast, bracuhst du einen FPGA der die notwenigen gigabit Transceiver mit > entpsrechenden IO Standards unterstützt. Ein Artix 7 bspw. könnte das > prinzipiell. Bei Xilinx sind es die sogenannten T-Typen (T in der Typbezeichnung) die die für PCIe- nötiogen schnellen Transceiver mitbringen. Da gibt es wohl auch in der Spartan6-Reihe Typvarianten dafür. Bei Spartan6 ist auch ein Hardcore für PCIe inklusive, allerdings für 1.1 . > mit welchem FPGA könnte man eigentlich einen PCIe 2.x switch bauen? Arsch hoch, Griff zum telefon und den (Xilinx-)FAE befragen. Oder auf ner Messe mal die Stände der FPGA-Hersteller abklappern. Die warten darauf solche Kundenanfragen zu beantworten.
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.