Serielle High-Speed-Datenübertragung

FPGA-Implementierung eines PCI-Express-Systems

Seite: 3/4

Anbieter zum Thema

Protokoll-Stack für Daten; FPGA-Logik für Anwendung

Bild 2: Blockdiagramm des PCI-Express-Hard-IP-Blocks (Archiv: Vogel Business Media)

Der PCIe-Hard-IP-Block (Bild 2) enthält einen PCIe-Protokoll-Stack, einen Adapterblock, ein Local Management Interface (LMI), Test- und Debug-Interface, Clock/Reset-Auswahl sowie einige spezielle Puffer. Der Protokoll-Stack wiederum beinhaltet die Transaktions-, Data-Link- und PHYMAC-Layer-Funktionen. Die Funktionen im Protokoll-Stack sorgen für die Verarbeitung der Datenpakete, während die Anwendungsebene von der FPGA-Logik realisiert wird.

Der Adapterblock bietet verschiedene Interface-Optionen für die Verbindung mit der Anwendungslogik, während das LMI für die Applikation den Zugriff auf die Konfiguration des Transaktions-Layers erlaubt. Darüber hinaus enthält der PCIe-Hard-IP-Block zwei Busse (Test-in und Test-out), die für die Überwachung und Steuerung der Core-Funktionalität genutzt werden können, was beim Debugging hilfreich ist. Beispiele für die Verwendung der Test-in/Test-out-Busse sind das Aktivieren bzw. Deaktivieren von Scrambling, die Überwachung des Power-Management-Status und des Verhaltens der Hard-IP-Layer.

Der PCIe-Hard-IP-Blocks der Arria-II-GX-FPGAs bietet zudem noch weitere Funktionen:

  • maximale konfigurierbare Payload-Größe (128, 256 oder 512 Byte),
  • ein virtueller Kanal,
  • 16 KByte Empfangs-Puffer,
  • 2 KByte Transmit-Retry-Puffer,
  • 64 Bit Applikations-Datenpfadbreite,
  • Interrupt-Unterstützung (Legacy, MSI und MSI-X),
  • Advanced Error Reporting (AER),
  • Power-Management-Unterstützung.

(ID:298221)