Die Kombination eines eingebetteten Prozessors und eines FPGAs ist eine Lösung, die wesentlich flexibler und skalierbarer ist als die traditionellen CPUs plus ASICs/ASSPs. Die PCI-Express-Technik liefert den Link mit der hohen Bandbreite zur Verbindung von preisgünstigen Prozessoren mit den neusten, preiswerten FPGAs für die Generierung von speziellen Schnittstellen und kundenspezifischer Peripherie. Die flexible System-architektur erlaubt es, die optimale Hardware-/Software-Aufteilung zu wählen, um die beste Ausgewogenheit zwischen Leistungsfähigkeit, Kosten und Verlustleistung zu erzielen. Die Vorteile von hoher Bandbreite und kompakter Form machen die PCI-Express-Technik in einem eingebetteten System zur natürlichen Wahl für die Kommunikation vom Prozessor zum FPGA. Weitere Reduzierungen bezüglich Kosten, Verlustleistung und Systemgröße können erzielt werden, indem man die PCI-Express-Technik in das Silizium des FPGAs integriert. Eine neue Klasse von preiswerten FPGAs bietet diese Vorzüge durch die Integration von seriellen Transceivern, PCI- Express-Endpunkt-Funktionsblöcken und zusätzlichen Funktionen, um die eingebaute PCI-Express-Verbindungstechnik zu realisieren. Die Anforderungen zum Implementieren eines PCI-Express-Endpunkts schließen den seriellen Transceiver plus dazugehöriger Logik, um den physikalischen Layer zu vervollständigen, ein, dazu weitere zusätzliche Logik zur Implementierung des Data-Link- und Transaction-Layers und Speicher zum Zwischenspeichern der Transaktionen. Bis vor kurzem waren integrierte serielle Transceiver nur in den teuersten Hochleistungs-FPGAs verfügbar. Die neuesten preisgünstigen FPGA-Familien bieten nun Funktionen, Kapazitäten und eine Leistungsfähigkeit, die einst die exklusive Domäne der Hochleistungs-FPGAs waren, wie die Unterstützung für serielle Protokolle über eingebaute Multi-Gigabit-Transceiver. Diese neuen Bausteine ermöglichen es den Entwicklern, komplexe Peripheriefunktionen zu implementieren – einschließlich Hardware-Beschleuniger und Entlastungshardware für die CPU (off-load engines) mit effektiver Breitbandverbindung via PCI-Express-Verbindungen zum Hostprozessor. Soft-IP-Kerne bieten eine bequeme Lösung zum Aufbau von PCI-Express-Endpunkten in FPGAs mit integrierten Transceivern. Eine noch bessere Lösung ist es, die Funktion des PCI-Express-Endpunkts direkt in ein FPGA zu integrieren. Ein in Silizium integrierter Endpunkt reduziert die Kosten und den Leistungsbedarf noch weiter, weil er Transistoren benutzt, anstatt die äquivalente Funktion in die programmierbare Fabric zu implementieren. Dies lässt mehr von der Logik- Fabric übrig, die der Entwickler nutzen kann, um komplexe Funktionen kostengünstiger zu implementieren. Einst die exklusive Domäne von Hochleistungs-FPGAs, sind die Vorteile von eingebauten PCI-Express-Schnittstellen nun ebenfalls in der neusten Generation von preiswerten FPGAs verfügbar. Obwohl die in Silizium integrierten Endpunkt-Funktionsblöcke als „Hard“-IP-Blöcke betrachtet werden, bieten sie dennoch eine wesentliche Flexibilität durch vom Benutzer konfigurierbare Parameter, wie maximale Menge der Daten (payload size), Frequenz des Referenztakts, Decodieren und Filtern des Basis-Adress-Registers, und vieles weitere mehr. Entwicklungswerkzeuge generieren die Dateien, die nötig sind, das Endpunkt-Design zu vollenden, durch Anpassen der konfigurierbaren Funktionen zu den gewünschten Einstellungen, Einsetzen der erforderlichen Taktquellen und Memory-Buffer und Einrichten der Schnittstelle für den applikationsspezifischen Teil der Endpunkt-Funktion. Softwareentwickler genießen schon lange die Vorzüge von Entwicklungsplattformen, die von den Prozessoren-Herstellern bereitgestellt werden. Nun helfen Targeted-Design-Plattformen den FPGA-Entwicklern mit ähnlichen Vorteilen. Diese Plattformmethode machte es den Entwicklern einfach, kundenspezifische Peripherie für eingebettet Systeme durch dasKombinieren von fortschrittlichem Silizium, Entwicklungswerkzeugen, wichtiger IP und erweiterbaren Evaluation-Boards zu entwickeln. Targeted-Referenzdesigns vereinen alle diese Elemente und ergeben damit den geeigneten Startpunkt, von dem aus die Entwickler sehr schnell kundenspezifische Systeme generieren können.
PCI-Express-fähiges Silizium
Die preisgünstige Spartan-6-LXT-Familie von Xilinx enthält eingebaute PCI-Express-Schnittstellen zusammen mit den Ressourcen, die leistungseffiziente Funktionen zum generieren von CPU-Entlastungsmachinen für zeitkritische Verarbeitungsaufgaben und kundenspezifischen Hardwarebeschleunigern für rechenintensive Funktionen (Abbildung 1), benötigen. Diese Bausteine enthalten verlustleistungsarme GTP-Transceiver und einen in Silizium integrierten PCI-Express-Funktionsblock, um damit eine Lane (x1) von Gen-1-Schnittsellen zu liefern. Der Endpunkt-Funktionsblock „befreit“ rund 7.000 Logikzellen an Kapazität, die sonst für die Implementierung eines Soft-IP-Funktionsblocks benötigt würden. Spartan-6-FPGAs werden von der ISE-Design-Tool-Suite unterstützt, die die Aufgabe des Entwicklers durch die automatische Erzeugung kundenspezifischer LogiCORE-IP zur Konfiguration der PCI-Express-Endpunkt-Schnittstelle vereinfacht. Der CORE-Generator biete eine grafische Bedienoberfläche, um die Entwickler durch den Prozess des Einstellens der Schlüsselparameter des Endpunkts zu führen, einschließlich der konfigurierbaren Parameter der GTP-Transceiver und des PCI-Express-Endpunkt-Funktionsblocks, Block-RAM für die benötigten Buffer und der Taktressourcen. Es enthält ebenfalls die Schnittstelle mit dem applikationsspezifischen Teil des PCI-Express-Endpunkt-Designs (Abbildung 2). Das Entwicklungswerkzeug ChipScope Pro Serial I/O bietet die Möglichkeit, die Leistungsfähigkeit der Verbindung zu evaluieren und die EQ-Einstellungen des GTP-Transceivers einzustellen und fein zu justieren. Um die Systementwicklung zu vereinfachen, liefert Xilinx das Evaluierungs-Board SP605, das einen PCI-Express-Steckverbinder beinhaltet, der es einfach macht, die Fähigkeiten des FPGAs innerhalb einer Standard-PC-Plattform zu überprüfen und dann mit der eigenen Entwicklung zu beginnen. Um die Erweiterung des Evaluierungs-Board mit speziellen Steckverbindern oder zusätzlichen Schaltungen zu vereinfachen, enthält das SP605 einen FPGA-Mezzanine-Card-Steckverbinder (FMC), um Tochterkarten von Xilinx und Drittanbietern aufzunehmen. Die „Connectivity Targeted Reference Designs“ erfüllen die Anforderungen für den Aufbau und die Verifikation von zuverlässigen seriellen Verbindungen durch das Bereitstellen von Quellcode, Implementierungs-Skripts sowie jeglicher Software, die erforderlich ist, das Referenzdesign laufen zu lassen (z. B. Treiber, API und GUI) sowie der Dokumentation. Das Referenzdesign für die Spartan-6-FPGAs ist eine funktionsbereite Brücke zwischen den Gigabit-Ethernet- und PCI-Express-Protokollen und bietet eine effektive Plattform zur Evaluierung der integrierten Schlüsselkomponenten in einem Spartan-6-LXT-FPGA (Abbildung 2):
- GTP-Transceiver,
- Integrierter Endpunkt-Funktionsblock für PCI Express
- Memory-Controller-Funktionsblock der DDR/DDR2/DDR3,
- SDRAM und LPDDR unterstützt.
Dieses Referenzdesign enthält ebenfalls eine Reihe von IP-Cores, einschließlich einer „Bus Mastering Packet DMA Engine“ vom Xilinx-Alliance-Programm-Mitglied Northwest Logic und den „Xilinx Platform Studio Local Link Tri-Mode Ethernet MAC“ (XPS-LL-TEMAC). Die DMA-Engine arbeitet in Verbindung mit dem integrierten Endpunkt-Funktionsblock für PCI Express, um den Prozessor vom Overhead beim Datenverkehr zu entlasten und erlaubt eine sehr schnelle Datenübertragung zwischen dem Systemspeicher und dem FPGA. Der PCI-Express-Endpunkt-Funktionsblock stellt eine Schnittstelle zum Hostsystem dar, während die Gigabit-Ethernet- Verbindung eine Netzwerk-Schnittstellenkarte implementiert. Alle diese Elemente kombiniert Xilinx im Spartan-6-FPGA-Connectivity-Kit. Jedes Kit kommt vorkonfiguriert mit dem Spartan-6-Connectivity-Targeted-Referenzdesign, das auf einem Entwicklungsboard Xilinx SP605 (das ein Spartan-6-LX45T-FPGA enthält) geladen und verifiziert ist. Dieses Kit enthält außerdem die vollständige ISE Design Suite: Embedded Edition, Gerätetreiber, Dateien mit Designquellcode und Dateien für das Board-Design. Ein Schlüsselelement dieses Kits ist eine komplette Produktionslizenz der Packet-DMA-Engine von Northwest Logic, die eine effiziente Nutzung der hohen Geschwindigkeit der Multi-Gigabit-Transceiver des Systemspeichers erlaubt. Alle notwendige Software und Dateien sind auf einem USB-Stick, zusammen mit der gedruckten Version des „Hardware-Setup-Guide“ und des „Getting-Started-Guide“, geladen. Dies erlaubt es den Entwicklern, ihre Systeme schnell aufzubauen, die Evaluation zu starten und damit zu beginnen, das Design zu erweitern, um ihre Applikation aufzubauen.
• more@click-Code: EEK7119960
