Rechenleistung extrem

Das schnellste FPGA der Welt

3. November 2010, 10:36 Uhr | Frank Riemenschneider
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Das Konzept der "Data-Tokens"

picoPIPE
Bild 2: Die Bausteine eines picoPIPE.
© Elektronik

Ein wichtiges Konzept sind die „Data Tokens“. In konventioneller Logik ist ein „Data Token“ ein logischer Wert zum Zeitpunkt einer Taktflanke. In traditionellen Logik-Implementierungen sind die Daten zwar stets präsent. Sie sind jedoch nur dann gültig, wenn eine Taktflanke von einem Speicherelement empfangen wird, und auch die Weiterleitung erfolgt nur zu diesen Zeitpunkten. Wenn also Daten von einem Speicherelement zum nächsten weitergereicht werden, wird nur ein bestimmter gültiger Datenwert, also ein „Data Token“, weitergeleitet.

PicoPIPE-Stufen sind die kleinsten, nicht weiter unterteilbaren Elemente der FPGA-Fabric, mit denen sich beliebige logische Funktionen implementieren lassen. PicoPIPEs nutzen zur Implementierung einer Logikfunktion explizite „Data Tokens“, anstatt die Daten als Reaktion auf eine globale Taktflanke weiterzuleiten. Ein „Data Token“ in der picoPIPE-Logik lässt sich als Kombination aus Daten und Taktflanke betrachten. Und es ist genau diese neue Darstellungsweise der „Data Tokens“, die dem picoPIPEFabric den Betrieb mit einer so hohen Frequenz erlaubt.

Die Grundbestandteile einer pico- PIPE sind das Connection-Element (CE), das Functional-Element (FE), die Boundary-Elemente (BEs) und der Link (Bild 2). Links verbinden CEs, FEs und BEs zu Pipeline-Netzwerken (Bild 3). Sobald aus ihnen Netzwerke gebildet werden, entspricht die pico- PIPE-Implementierung genau der Funktionalität einer konventionellen Lösung, allerdings mit der Eignung für einen wesentlich höheren Durchsatz.

Jede Pipelinestufe kann ein „Data Token“ enthalten. Dementsprechend weist die picoPIPE-Technologie vom Design her eine hohe Pipeline-Intensität auf. In traditionellen Logikdesigns verändert sich die berechnete Logikfunktion, wenn zusätzliche Pipelinestufen hinzugefügt werden. Anders bei der picoPIPE-Technologie: picoPIPE-Pipelinestufen wie zum Beispiel Connection- Elemente lassen sich hinzufügen, ohne dass dadurch automatisch ein neues „Data Token“ in die Schaltung eingefügt wird. Möglich ist dies, weil bei der picoPIPE-Technologie Takt und Daten zu einem einzigen „Data Token“ kombiniert sind. Es kommt deshalb kein neues „Data Token“ hinzu, nur weil man eine weitere Pipelinestufe einfügt. Dementsprechend können Pipelinestufen (bzw. Connection-Elemente) an beliebigen Stellen einer Schaltung nachgerüstet werden, ohne dass sich hierdurch die von der Schaltung berechnete Logikfunktion verändert. Das Pipelining ist somit für den Anwender transparent.

Pipelinestufen
Bild 3: Die PicoPIPE-Pipelinestufen.
© Elektronik

Wird in synchroner Logik eine Pipelinestufe (d.h. ein Register- bzw. Speicherelement) hinzugefügt, muss diese Stufe nach wie vor von einem globalen Takt angesteuert werden, womit zwangsläufig ein neues „Data Token“ hinzukommt und sich die Funktion der Logik verändert. Bei der pico- PIPE-Technologie dagegen wird durch das Einfügen eines Connection-Elements nicht automatisch ein neues „Data Token“ hinzugefügt, so dass sich auch die Logik nicht verändert. Neu hinzukommende Pipelinestufen erhöhen zwar die Latenz geringfügig, andere Auswirkungen gibt es aber nicht.

CEs unterscheiden sich von allen bisher üblichen Logikstrukturen. Sie lassen sich für einen von zwei möglichen Betriebszuständen initialisieren: „State-Holding“ oder „Not State-Holding“. Wird für den State-Holding- Zustand initialisiert, übernimmt ein Connection-Element eine ähnliche Funktion wie ein Register in einem konventionellen Design, und es wird zu Beginn ein „Data Token“ für die betreffende Pipelinestufe erzeugt. Erfolgt die Initialisierung dagegen für den Betriebszustand „Not State-Holding“, verhält es sich wie ein schlichter Repeater. Der Hauptunterschied zwischen einer Serie nicht initialisierter CEs und einer einfachen Leitung ist, dass jede Pipelinestufe nach wie vor ein „Data Token“ enthalten kann, auch wenn sie eingangs keines enthält. Diese Eigenheit hat entscheidenden Anteil an der Durchsatzsteigerung der Achronix-FPGAs, während die exakte logische Äquivalenz zu einer konventionellen Schaltung gewahrt bleibt.

FEs entsprechen in ihrer Funktionalität kombinatorischer Logik. Der einzige Unterschied besteht darin, wie ankommende und abgehende Daten behandelt werden. Das lokale Handshaking innerhalb eines picoPIPE-Netzwerks bringt es mit sich, dass auch die FEs die Daten per Handshaking entgegennehmen und ausgeben müssen. Dieses Handshaking ist die Gewähr dafür, dass ausschließlich gültige und stabilisierte Daten weitergeleitet werden.


  1. Das schnellste FPGA der Welt
  2. Das Konzept der "Data-Tokens"
  3. Implementierung synchroner Logik
  4. Die Vorteile hoher Verarbeitungsleistung
  5. Fertigungspartnerschaft mit Intel macht den Unterschied
  6. Achronix-CEO detailliert Pläne

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Componeers GmbH

Weitere Artikel zu Programmierbare Logik-ICs