Anbieter zum Thema
FPGAs sind eine ideale Plattform für Applikationen auf PCI-Express-Basis. Weil FPGAs programmierbar sind, bieten sie die Flexibilität, einzelne Aspekte erst an später Stelle innerhalb des Designzyklus‘ umzusetzen – und zwar mit kurzen Umsetzungszeiten. Die Entwickler können auch ohne weiteres Funktionen verändern oder hinzufügen, wenn sich im Laufe des Designs entsprechende Anforderungen ergeben. FPGA-Designs ermöglichen auch, Updates durchzuführen, um so Veränderungen der Spezifikationen umzusetzen, so dass Designs in punkto Produktabkündigung „future-proof“ werden.
Darüber hinaus ermöglicht die programmierbare Plattform, das gleiche FPGA zur Implementierung von Schnittstellenlösungen zu verwenden, die eine Anbindung an eine Vielzahl anderer PCI-Express-Chipsets ermöglichen: Endpoints, Root-Complex oder Switches. In das FPGA lassen sich aber auch andere Funktionen implementieren, die das System benötigt. Hierdurch verringert sich die Anzahl der Bauelemente auf dem Board; gleichzeitig sinken die Gesamtkosten des Systems.
PCI-Express-Lösungen

FPGAs stellen eine flexibel programmierbare Plattform für Systemdesigns dar. Mit Hilfe eines Pakets, das IP-Cores, Hardwareplattformen, Demo-Designs, Treiber und Software enthält, lassen sich Entwicklungszyklen verkürzen und die Komplexität des Designs verringern. Eine gemeinsame Design-Anforderung für eine PCI-Express-Lösung besteht darin, das System mit einer Bridge-Funktion zwischen den seriellen Schnittstellen von PCI-Express (Endpoint Devices) und einem früher einmal gängigen parallelen „Legacy“-Bus-Interface auszustatten (Bild 1).
Ein FPGA mit einem Root-Complex-IP-Core für PCI-Express stellt die wesentlichen Bausteine zur Verfügung. Als Alternative hierzu gibt es auch ASSPs und ASICs, in denen diese Brücken-Funktionalität enthalten ist. Im Gegensatz zu FPGAs können diese Bausteine nur eine festgelegte Konfiguration implementieren, die sich nicht verändern lässt, um die zahlreichen parallelen Busschnittstellen zu bedienen, die auf dem Markt verfügbar sind.
Andererseits versetzt eine programmierbare FPGA-Plattform die Entwickler in die Lage, spezifische Veränderungen in ihrem Design vorzunehmen, um so genau die Bridge-Funktion zu implementieren, die zur Schnittstelle passt, die auf dem jeweiligen Board verfügbar ist. Es lassen sich auch mehrere Bridges oder unterschiedliche Brücken-Konfigurationen in ein einziges FPGA implementieren, so dass die Anzahl der insgesamt auf der Leiterplatte montierten Bauelemente sinkt. Ein FPGA kann in Kombination mit dem Root-Complex-IP-Core für PCI-Express zahlreiche andere Bridge-Lösungen ermöglichen, die in einem Design benötigt werden.
Root-Complex für PCI-Express
Ein PCI-Express-Endpoint arbeitet als Upstream-Einheit, kann aber nicht downstream kommunizieren. Diese Funktion könnte eine Root-Complex-Einheit übernehmen – aber eine voll ausgestattete Root-Complex-Implementierung ist in Bezug auf die hierfür verwendeten FPGA-Gates ziemlich teuer. Stattdessen ist eine „Light-Version“ des Root-Complex-Cores mit einem Subset der Funktionen der Transaktionsebene als adäquate Lösung angebracht, um damit die meisten Bridge-Funktionalitäten zu implementieren.

Gemäß Bild 1 besteht die Bridge aus zwei Basis-Bausteinen. Der erste Bausteinblock ist der Root-Complex-IP-Core für PCI-Express (oder Root-Complex-lite), der als Interface zum PCI-Express-Endpoint-Device fungiert. Der zweite Bausteinblock ist die Brückenlogik, welche die Schnittstelle zum lokalen Bus bzw. zum Parallel-Interface herstellt.
(ID:347112)