• Keine Ergebnisse gefunden

SRAM-basierten FPGAs im Kontext des CBM Experiments

German Summary – Deutsche

gefügt werden und das selbst nachdem die Hardware schon verbaut wurde. Der Einsatz von FPGAs für die Elektronik des CBM Experiments ist daher wünschenswert.

Leider sind FPGAs nicht in jedem Fall bedingungslos einsetzbar. Die einzigen FPGAs, die für das CBM Experiment in Betracht kommen sind kommerzielle Massenware, alle anderen Lösungen sind zu teuer. Diese FPGAs basieren entweder auf SRAM- oder auf Flash-Technologie und beide können nicht ohne weiteres in Umgebungen mit radioakti-ver Strahlung eingesetzt werden. SRAM-basierte FPGAs werden durch so genannte Sin-gle Event Upsets(SEUs) erheblich gestört, Flash-basierte FPGAs werden zu schnell durch Total Ionizing DoseEffekte unbrauchbar.

Für SRAM-basierte FPGAs existiert eine Reihe an Techniken um Strahlungseffekte ab-zuschwächen, allerdings müssen diese für jeden speziellen Einsatzzweck sorgfältig neu analysiert werden.

Im Falle von CBM ist z.B. nicht klar, ob die höheren Kosten durch den zusätzlichen Ressourcenverbrauch redundant ausgelegter Logik nicht schon die generellen Vorteile des Einsatzes von FPGAs aufwiegen. Es ist nicht einmal klar, ob Techniken die schon erfolgreich in Weltraummissionen angewandt wurden auch bei den viel höheren Strah-lungsniveaus des CBM Experiments noch effektiv funktionieren. In der vorliegenden Ar-beit wurden deshalb die existierenden Techniken analysiert, geeignete Techniken für den oben angesprochenen Auslesekontoller ausgewählt und umgesetzt und schließlich deren Wirksamkeit in Strahltests überprüft.

Stand der Technik

Es existieren verschiedene Ansätze um ungewollte Strahlungseffekte in Elektronik zu unterdrücken. Der dominierende Störfaktor beim Betrieb von SRAM-basierten FPGAs in einer Umgebung mit ionisierender Strahlung sind so genannte Single Event Upsets (SEUs). SEUs treten auf, wenn ionisierende Strahlung auf SRAM Zellen trifft. Der in der SRAM Zelle gespeicherte Wert kann dann durch die Strahlung verändert werden und man spricht von einem SEU oder Bitflip. Die wichtigsten Gegenmaßnahmen für FPGAs, die auch für den Einsatzzweck bei CBM in Betracht kommen sindTriple Modular Redund-nacy(TMR) in Kombination mit Scrubbing. Beide Techniken sollten kombiniert werden um einen relativ effektiven Schutz gegen SEUs zu erreichen.

Bei TMR wird die Logik dreifach instanziiert und die drei Ausgänge mit einer Mehr-heitsentscheidung zusammengefasst. So kann einer der drei Logikteile beschädigt wer-den und die Ausgänge werwer-den immer noch mit einer Mehrheit von 2:1 richtig gewer-tet. Der Nachteil liegt darin, dass die Schaltung mindestens um den Faktor drei größer wird und damit mindestens dreimal so viele Ressourcen verbraucht. Realistsch ist al-lerdings ein noch höherer Wert, in der Literatur wird oftmals der Faktor Sechs genannt [WRGC03b], [WRGC03a], [MMPW07], [Wir14, Seite 30]. Dieses Problem beschränkt sich nicht nur auf die Kosten für die zusätzlichen Ressourcen, sondern hat auch zur Konse-quenz, dass TMR auf lange Sicht nicht ohne einen Mechanismus zur Reparatur von Feh-lern funktioniert. Es kann sogar gezeigt werden, dass TMR ohne Reparaturmechanismus

verstanden sein. Die Funktionalität eines FPGAs wird zum großen Teil von Speicher-zellen (SRAM) bestimmt, dabei sind dynamische und statische SpeicherSpeicher-zellen zu unter-scheiden. Dynamische Zellen speichern den derzeitigen Status der Logik, stellen also Register und integrierten Arbeitsspeicher dar. Sie ändern ihren Zustand während des Betriebs. Statische Zellen bestimmen die Funktionalität der kombinatorischen Logik, sie bilden Logikgatter und deren Verschaltung ab. Sie ändern ihren Zustand während des Betriebs nicht.

Die dynamischen Zellen können durch geschickte Rückkopplung der Resultate der er-wähnten Mehrheitsentscheider korrigiert werden. Der Großteil der Speicherzellen eines FPGAs ist allerdings statischer Natur. Der üblicherweise eingesetzte Reparaturmechanis-mus für den statischen Teil der SRAM Zellen istScrubbing. Da die statischen Zellen ihren Wert während des Betriebs nicht verändern, kann man diesen Wert periodisch aktuali-sieren. Falls die Logik durch einen SEU beschädigt wurde, wird dieser wieder auf den korrekten Wert zurückgesetzt.

Xilinx FPGAs waren die ersten FPGAs, die solch eine Aktualisierung der statischen Speicherzellen im laufenden Betrieb erlauben. Das Ganze läuft im Hintergrund ab, ohne dass dabei das Design angehalten werden muss. Dazu muss ein Konfigurationskontroller entwickelt werden, der periodisch oder nach einem anderen Algorithmus, die statischen SRAM Zellen aktualisiert, aber die dynamischen Zellen nicht anfasst. Solch ein Kontroller war aus einem früheren Projekt der Arbeitsgruppe schon vorhanden [Eng09] und konnte mit recht geringem Aufwand wiederverwendet werden.

Ansatz und Verwirklichung

Das größte Problem bei der Implementierung eines Strahlentoleranten Auslesekontrol-lers für CBM ist die vollständige Umsetzung von TMR. Eine Versechsfachung der Res-sourcenbedarfs ist schon aus ökonomischer Sicht nicht realisierbar. Hinzu kommt, dass bei steigender Komplexität des Designs der Aufwand einer TMR Implementierung im-mens zunimmt. Zum Beispiel ist eine einfache Signalweitergabe in einen Logikbereich der mit einem anderen Takt betrieben wird nicht wirklich möglich wenn man TMR abso-lut vollständig implementieren möchte.

Eine Tatsache die der Entwicklung entgegenkommt ist allerdings, dass bei CBM keine absolut hundertprozentige Zuverlässigkeit erforderlich ist. Die Detektoren selbst arbei-ten schon mit Effizienzen in der Größenordnung von nur etwa 95%, solange durch strah-lungsbedingte Fehler in der Ausleseelektronik kein signifikanter Beitrag hinzukommt, können einzelne Fehler geduldet werden.

Für den CBM Auslesekontroller wurde deshalb entschieden, nur die wichtigsten Teile mit TMR zu schützen. Es wurde die Kontrollogik und ihre Statusregister mit TMR im-plementiert, der gesamte Datenpfad, der etwa 90% des Designs ausmacht, wurde ohne Redundanz implementiert. Dieser Ansatz wurde als Selective TMR bezeichnet. Zur

Er-kennung von Fehlern wurden die Daten mit einer CRC Checksumme versehen, korrupte Daten können also zwar nicht korrigiert, aber immerhin erkannt werden. Abbildung E.1 zeigt einen Vergleich des Ressourcenverbrauchs für ein Design ohne Redundanz, ein De-sign das mitSelective TMRimplementiert wurde und eine Hochrechnung für ein Design mit vollständigem TMR.

0 10k 20k 30k 40k 50k 60k

Flip-Flops Look-Up Tables

Ressourcen

Vergleich des Ressourcenverbrauchs

Klassisches TMR (Literatur)Keine RedundanzSelective TMR

9265 12214 55590

6314 13462

37884

Abbildung E.1.:Ressourcenverbrauch (Flip-Flops und Look-Up Tables) der GET4 Aus-lesefirmware in der Version wie sie während des Strahltests 2012 verwendet wurde.

Die Daten basieren auf den Zahlenwerten aus der Ausgabedatei des Xilinx Programms MAP. Der rote Balken stellt die verbrauchten Ressourcen der ursprünglichen Firmware ohne redundante Logik dar, die grünen Balken beziehen sich auf die Firmware deren Logik mitSelective TMRversehen wurde. Zum besseren Vergleich wurde auch eine Ab-schätzung des Verbrauchs bei Verwendung herkömmlicher TMR Lösungen als graue Balken hinzugefügt. Nach eingehender Literaturrecherche wurde als Abschätzung für die grauen Balken der sechsfache Ressourcenverbrauch der ursprünglichen Firmware ohne redundante Logik verwendet.

Ohne weitere Maßnahmen kann es durch die fehlende Redundanz an manchen Stel-len des Designs vorkommen, dass bestimmte Logikteile, z.B. solche die als endlicher Zustandsautomat realisiert wurden, nicht mehr in ein korrektes Verhalten zurückfallen, selbst wenn die ursprüngliche Fehlerquelle (der SEU) korrigiert wurde. Diese Tatsache wurde schon während der Entwicklung berücksichtigt und die endlichen Zustandsau-tomaten und vergleichbare Logik so konzipiert, dass sie aus jedem beliebigen Zustand immer in ein korrektes Verhalten zurückfallen. Auch die höheren Designebenen wurden so realisiert, dass keine Verklemmung auftritt. Zum Beispiel warten die Kommunikati-onsprotokolle durch Einsatz von Timeout-Funktionalität, auch bei nicht konformem Ver-halten der Gegenstelle, niemals unendlich lange auf eine korrekte Antwort.

Ergebnisse

Da nicht ganz klar war, wie effizient der Strahlenschutz noch ist, wenn nicht alle Teile mit TMR implementiert wurden, wurde das Design am Forschungszentrum Jülich direkt

0 10 20 30 40 50

600 620 640 660 680 700 720 740 760 0

10k 20k 30k

minutes since last reset accumulated SEUs in reference

time in minutes

(a) Scrubbing ist deaktiviert. Das Setup muss innerhalb weniger als einer Minute komplett neu gestartet werden, nur innerhalb der Zeitfenster als kein Teilchenstrahl verfügbar war läuft es stabil.

0 10 20 30 40 50 60

400 420 440 460 480 500 520 540 560 580 0 10k 20k 30k 40k

minutes since last reset accumulated SEUs in reference board

time in minutes minutes since last reset

accumulated SEUs

(b) Scrubbing ist aktiviert. Das Setup läuft über mehrere Minuten stabil.

Abbildung E.2.:Der rote Graph zeigt die Anzahl an SEUs, die seit Beginn des Testlaufs im Referenzboard akkumuliert wurden, der blaue Graph repräsentiert die Zeit, die seit dem letzten Neustart des Setups vergangen ist. Jedes mal wenn der blaue Graph auf die Null zurückfällt wurde ein nicht behebbarer Fehler detektiert. Während den in grün un-terlegten Zeitfenstern wurde vom Synchrotron aus technischen Gründen kein Teilchen-strahl geliefert. Dieses Bild wurde schon in [MGO+13a] und [MGO+13b] veröffentlicht.