EDA bringt den Switch auf Trab

Siemens entwickelt für das hochverfügbare EWSD-System ein maßgeschneidertes Diagnose Tool. Modernste FPGA Technologie und EDA Werkzeuge ermöglichen neuartige Teststrategien.

Stellen Sie sich vor, jemand ruft Sie von seinem Mobiltelefon auf Ihrem Handy an und stellt Ihnen eine einfache Frage: “Wie viele Mikroprozessoren sind wohl mit meinem Anruf in irgend einer Form befasst?” Zehn? Zwanzig? Fünfzig? Oder noch mehr? Die richtige Antwort lautet: Niemand weiß es so genau, aber es sind sehr wahrscheinlich Hunderte. Das mag für den Laien überraschend sein. Was aber den Experten mehr überrascht, ist, dass dieses System trotzdem noch immer stabil ist.

Weltweit 1,6 Minuten Ausfall pro Jahr
EWSD (Elektronisches Wähl System Digital) ist nach Angaben von Siemens der stabilste Switch auf dem Markt, was zum einen der Hardware- und Softwarearchitektur zu verdanken ist, zum anderen den hohen Testanstrengungen. Die durchschnittliche Ausfallszeit von allen weltweit installierten EWSD-Systemen liegt bei beeindruckenden 1,6 Minuten pro Jahr. Eine äußerst umfangreiche Software läuft im Kern des EWSD auf dem Coordination Processor (CP). Er besteht aus bis zu 24 Prozessorpaaren, die über einen gemeinsamen, redundanten Hauptspeicher verbunden sind. Natürlich werden trotz aller Entwicklungsmethodik und Qualitätssicherung bei einem so komplexen System nicht alle Fehler entdeckt. Besonders gefürchtet sind sporadische Fehler, die beispielsweise nur in Abständen von Monaten unter seltenen Randbedingungen auftreten. Häufig haben solche Fehler mit der Dynamik in einem komplexen, verteilten Multiprozessorsystem zu tun, wenn also Aktionen unerwartet oft, zu langsam oder zu spät erfolgen.
Zwar stehen viele ausgefeilte Werkzeuge zur Verfügung, um die Software zu analysieren, allerdings verändert die Beobachtung die Dynamik und macht solche Fehler damit schwer reproduzierbar.
Um auch derartigen Problemen auf die Spur zu kommen, wird der Hardware-Tracer (TR113E) eingesetzt, der an speziellen Schnittstellen alle Vorgänge am Prozessor und am Hauptspeicher beobachten kann. Wie technisch anspruchsvoll dieses Gerät bei der neuen Generation CP113E ist, verdeutlicht eine Zahl: Der Tracer muss eine Spitzendatenrate von 2 GByte/s in Echtzeit filtern und aufzeichnen können; dabei sind die Trace-Daten bereits komprimiert. Funktionell handelt es sich beim Tracer um einen Logikanalysator, der jedoch mehrere Erweiterungen hat und daher neu entwickelt werden musste. Kernstück des Tracers ist ein programmierbarer FPGA Baustein.

VHDL-Synthese mit Leonardo Spectrum
Zu Beginn der Entwicklung zeigte eine Studie, dass die Anforderungen ? 194 Signale à 75 Mbit/s ? mit der damals verfügbaren FPGA-Technologie nicht erfüllbar sein würden. Als Xilinx die neueste FPGA Familie Virtex-E ankündigte, deren schnellster und größter Baustein die Anforderungen zu erfüllen versprach, wurde das Projekt gestartet. Auf Basis der ersten Informationen über das Timing dieser Bauelementereihe wurde eine geeignete Schaltungsarchitektur unter massivem Einsatz von Pipelining entwickelt. Trotz der extremen Anforderungen an die Performance sah der Entwurfsablauf für das FPGA eine weitgehende technologieunabhängige Schaltungsbeschreibung in VHDL vor. Die Schaltungsbeschreibung wurde mit Leonardo Spectrum von Mentor synthetisiert und mit der Xilinx Backend Software Alliance auf den Baustein implementiert.
Die eingesetzten EDA-Werkzeuge von Mentor erlaubten einen durchgängig automatisierten Entwurfsablauf. Dies war von großer Bedeutung, weil unter anspruchsvollen Timing Constraints keine Konvergenz der Ergebnisse, die sogenannte Timing Closure, garantiert war.
Das von der ASIC-Entwicklung her bekannte Problem der fehlenden Timing Closure tritt heutzutage verstärkt beim Entwurf von hochkomplexen FPGAs auf.
Dies erforderte zahlreiche Implementierungsläufe, wobei die vergleichsweise kurzen Programmlaufzeiten des Synthesewerkzeugs diese Vorgangsweise erleichterten. Für die Umsetzung war auch die Tatsache von Vorteil, dass die Tools sowohl am PC unter Windows als auch auf Workstations in gleicher Weise verfügbar sind. Funktionserweiterungen in der neuesten Version von Leonardo Spectrum berücksichtigen die gestellten Randbedingungen. Schließlich ermöglichten es erst die Weiterentwicklungen des Synthesewerkzeugs während der Projektdauer, die notwendige FPGA-Performance zu erzielen.

Systemverifikation mit Modelsim
Für die Erstinbetriebnahme des neuen CP wurde von Beginn an der reibungslose Betrieb des Tracers vorausgesetzt, der parallel zum CP entwickelt wurde. Aus diesem Grund wurde das VHDL-Modell des Testgeräts in die Systemsimulation des EWSD Coordination Processors integriert. Um die hohen Ansprüche an die Testumgebung zu verdeutlichen, seien hier die CP-Einheiten dargestellt:
-Zwei Hauptspeicher-Einheiten mit je einem Multi-Millionen-Gatter
ASIC (mit zwei Embedded CPU-Cores) und 512 MB SDRAM;
-mehrere verschiedene Prozessoreinheiten mit je zwei CPUs,
einem Multi-Millionen-Gatter ASIC und 128 MB SDRAM;
-bis zu 16 Peripherie-Modelle und ein ATM-Controller.

Die betreffenden Simulationen wurden mit dem Simulator Modelsim von Mentor durchgeführt, der schon in dieser Phase eine hohe Stabilität zeigte. Die Simulation der ersten 300 µs des Hochlaufs des Gesamtsystems lief über 26 Stunden.
Im Rahmen der Simulationen wurde auch schon die spätere Firmware auf den Prozessoren verifiziert. Durch diese Verifikation des HW-Tracers am virtuellen, simulierten Prototyp des CP wurde erreicht, dass er später sofort zum Test des physikalischen Musters verwendet werden konnte. Da der FPGA-Baustein während der gesamten Entwicklungszeit noch nicht verfügbar war, wurde zusätzlich die Integration der Tracer Hardware und Software (GUI unter Windows 2000) durch Emulation der Hardwareumgebung durchgeführt. Dabei wurde das Tracer-Design über einen in das FPGA inkludierten Patterngenerator mit realistischen Daten stimuliert, die wiederum aus der Systemsimulation des CP abgeleitet wurden.
Der Tracer ist als portables Gerät in einem 3U-CompactPCI-Chassis realisiert. Die FPGAs werden vom Embedded-PC konfiguriert, der die Dateien von der Festplatte lädt. Zum Tool gibt es auch eine Homepage, von der zukünftige Updates und Upgrades geladen werden können. Dies gilt sowohl bezüglich der Software als auch der im FPGA realisierten Logik.

Mentor Graphics
Tel. (0041-1) 308 60 26-00
manfred_zaltron@mentorg.com
http://www.mentor.com