Serielle High-Speed-Datenübertragung

FPGA-Implementierung eines PCI-Express-Systems

Seite: 4/4

Anbieter zum Thema

PCIe Compiler Wizard: Hard-IP und Transceiver konfigurieren

Bild 3: PCIe Compiler Wizard der Quartus-II-Software (Archiv: Vogel Business Media)

Ein weiteres wichtiges Designelement ist der PCIe Compiler Wizard als Bestandteil der Quartus-II-Software, der für die Konfiguration des PCIe-Hard-IP-Blocks genutzt wird (Bild 3). Der Wizard konfiguriert alle Einstellungen des PCIe-Hard-IPs bzw. der Embedded-Transceiver und fügt diese unter einem Designblock zusammen. Außerdem generiert er ein Wrapper-File, das die PCIe-Hard-IP-Funktionen und die Transceiver instantiiert sowie ein Tcl-Constraint-File, um entsprechende Constraints in dem Quartus-II-Projekt zu berücksichtigen. Er erzeugt auch ein Synopsys Design Constraints (SDC) File, um Timing-Constraints im Projekt und dem statischen Timing-Analyse-Tool TimeQuest zu erfüllen. Letztendlich generiert der Wizard ein Beispiel für den Applikationslayer und eine Testbench für die ausgewählten Einstellungen während der Compiler läuft.

Die vom Wizard erzeugte Testbench kann zur Untersuchung des PCIe-Designs genutzt werden. Sie erledigt Aufgaben wie die Link-Initialisierung und generiert Verifizierungsmitteilungen im Simulator, damit man feststellen kann, ob der Core läuft. Darüber hinaus wird ein funktionelles Busmodell erzeugt, um die Funktionalität am anderen Ende des PCIe-Links zu emulieren. Um die Simulation für andere Aufgaben anzupassen, können die Bus Functional Model (BFM) Files modifiziert werden. Die Tasks im BFM sind im PCIe Compiler User Guide definiert.

Bild 4: SOPC Builder Tool für die automatisierte Systementwicklung (Archiv: Vogel Business Media)

Als nächster Schritt kommt der SOPC-Builder zur Systemgenerierung zum Einsatz. Dieses grafikgestützte Tool sorgt für eine schnelle und effiziente Entwicklung von Embedded-Systemen, und zwar Komponente für Komponente (Bild 4). Auf Basis der grafisch dargestellten Systemdefinitionen erzeugt der SOPC Builder eine systemspezifische Verbindungs-Schaltfabric (Avalon), eine „Bus“-Struktur, die alle Komponenten miteinander verknüpft. Die Avalon-Schaltfabric automatisiert das Verbindungsdesign, indem sie sich um Dinge wie Adress-Decoder, Datenpfad-Multiplexer oder die Arbitrierungs-Logik auf Basis der Systemverbindungen kümmert.

(ID:298221)