Elektronikentwicklung Sind Systemdesigner nur überflüssige Mittelsmänner?

Redakteur: Holger Heller

Fragt man Elektronikentwickler nach ihrer Interpretation des Begriffs ‚Systemdesign‘, so erhält man viele Antworten. Allgemein versteht man darunter das Design jenes elektronikbasierten Systems, das für ein bestimmtes Produkt oder Gerät benötigt wird. Das Systemkonzept bedeutet aber meist etwas ganz anderes.

Firmen zum Thema

Ein Elektronikentwicklungssystem, das auch die Hardware einschließt, wird zu einer durchgängigen Designumgebung (Bild: Altium)
Ein Elektronikentwicklungssystem, das auch die Hardware einschließt, wird zu einer durchgängigen Designumgebung (Bild: Altium)

Selbstverständlich spielt der Blickwinkel hierbei eine Rolle. Die für den Bereich Technik zuständigen Personen im Management eines Unternehmens werden zu einer abstrakten Sichtweise neigen, die übergeordnete Systemdesign-Aspekte einbezieht, wie z.B. Einkauf, Produktion, Lifecycle Management usw., denn das zu erstellende System beinhaltet schließlich alle diese Aspekte.

Hardware-Ingenieure dagegen dürften unter dem System die physischen Bauelemente verstehen, die zusammen das System ergeben und die zur Unterstützung der Software erforderlich sind, was eine verständlicherweise hardwareorientierte Sichtweise darstellt. Im vorliegenden Fall ist dies eine stärker fokussierte, auf diese technische Disziplin ausgerichtete Perspektive.

Die wohl bekannteste Sichtweise des Systemdesigns dürfte jedoch im Embedded-Design-Bereich zu suchen sein. Hier versteht man unter dem Systemdesign die Anwendung höherer algorithmischer Modellierungs- und Softwaresprachen, die elektronische Systeme in programmierbaren Bausteinen beschreiben. Traditionell wird das System als System-on-Chip-Design (SoC) implementiert, das sich in einem ASIC bzw. zunehmend auch in einem FPGA befindet. Diese Methode wendet sich an Softwareentwickler und dient ihnen als Möglichkeit, den Umgang mit obskuren Hardwarebeschreibungssprachen (Hardware Description Languages – HDLs) zu vermeiden und sich gleichzeitig einen vertrauten Weg zum Umgang mit komplexen SoC-Systemen zu erschließen.

Zunehmende Designkomplexität in den Griff bekommen

Die allgemeinen Ansätze kommen hier vom Hardwaredesign oder von der Embedded-Entwicklung her, beziehen die jeweils andere Disziplin dabei aber nur in sehr begrenztem Umfang ein. Keiner von beiden ist ein Allheilmittel für das Problem der zunehmenden Designkomplexität, und aus dem Blickwinkel der Systementwicklung berücksichtigt keines das zu entwickelnde System in seiner wirklichen Gesamtheit.

Üblicherweise obliegt dies einem führenden Design-Manager oder -Team, dessen Aufgabe es ist, die Design-Spezifikation in die größeren, übergeordneten Elemente des Hardware- und Embedded-Design-Bereichs umzusetzen: Verwende jenes FPGA, jenen Prozessor, jenen Algorithmus, jene Peripherie usw. Der Systemdesigner hat hierbei überall die Hand im Spiel. Er betrachtet das Design von einer höheren Warte aus, um die Entwicklung in die richtigen Bahnen zu lenken, indem er für alle Disziplinen bestimmte Vorgaben festlegt.

Alle Beteiligten konzentrieren sich auf ihren Teil des Puzzles, und erst ganz am Ende des Designprozesses wird alles zum kompletten Produktdesign zusammengefügt. Es ist die Aufgabe jener Personen, die die Produktentwicklung insgesamt überblicken (oft ist dies ein Systemdesigner), die potenziell inkompatiblen Bestandteile eines Designs zu definieren und so miteinander zu verflechten, dass die an das Design gestellten Anforderungen erfüllt werden. Und diese verlangen letztendlich nach einem Produktdesign, das im Konkurrenzkampf auf dem Markt erfolgreich ist.

Nicht nur ein Produkt kaufen, sondern Erfahrung erwerben

Wenn man den Produktentwicklungsprozess von einer höheren, systemorientierten Warte aus betrachtet, so ergibt sich hieraus die Chance, auch außerhalb der Grenzen des Elektronikdesigns nach Möglichkeiten zur Realisierung von Alleinstellungsmerkmalen zu suchen. Das ist allerdings einfacher gesagt als getan, denn der Trend in der Elektronik geht zu einer immer stärkeren Spezialisierung, um die Komplexität der neuen Technologie beherrschen zu können. Je stärker aber der Fokus auf die Details gerichtet wird, umso mehr gerät das Große, Ganze aus dem Blick.

Der vielleicht folgerichtigste Weg, das Produktdesign aus einer größeren Gesamtschau zu betrachten, ist es, den Standpunkt derjenigen einzunehmen, die die aus dem Elektronikdesign hervorgehenden Produkte kaufen und benutzen sollen. Neu hierbei ist die Erkenntnis, dass die Kunden nicht einfach nur ein Produkt kaufen, sondern vielmehr eine Erfahrung erwerben, die weit über die im jeweiligen Gerät enthaltene Elektronik hinausgeht.

Es geht dann weniger um Schaltungen und Software-Algorithmen, sondern mehr um das Entwickeln der Benutzerschnittstelle, um die Interaktion des Geräts mit der Außenwelt und darum, an welche Systeme und Services das Produkt angebunden wird. An erster Stelle steht das Look-and-Feel des Produkts und die Art und Weise, wie es funktioniert. Dies wird durch die Software definiert. Die Elektronik-Hardware und -Systeme zur Unterstützung dieser Funktionalität werden erst danach entsprechend dem jeweiligen Bedarf hinzugefügt.

Durchgängige Entwicklungsumgebung von Vorteil

Für einen systemorientiert arbeitenden Designer ergibt sich das Potenzial, diesen Ansatz zu wählen, wenn die verschiedenen Design-Disziplinen in einer einzigen, durchgängigen Entwicklungsumgebung zusammengefasst werden, die den Abstraktionsgrad des Designs insgesamt anhebt. Damit dies möglich ist, muss das Design der Hardware, der Software und der programmierbaren Hardware in einem durchgängigen System gebündelt werden, das sich auf einen gemeinsamen Bestand an Designdaten stützt. Dieses Daten-Reservoir wird zum zentralen Bezugspunkt für die Systeme eines gesamten Unternehmens und ermöglicht die Echtzeit-Interaktion zwischen den verschiedenen Design-Disziplinen.

Das eben Beschriebene unterscheidet sich übrigens grundlegend von dem Konzept, den Abstraktionsgrad allein im Embedded-Bereich anzuheben, indem man beispielsweise auf C-basierte Systemsprachen oder die Algorithmenmodellierung übergeht. Wird das High-Level Embedded Design dagegen in einer durchgängigen Designumgebung implementiert, die sich auf einen zentralen Datenbestand bezieht, so schließt es die anderen Disziplinen prinzipbedingt mit ein. Sobald die Möglichkeit geboten wird, ein komplettes, zusammenhängendes System unter Einschluss von Applikations-Software und Hardware zu entwerfen, erschließt sich das wirkliche Systemdesign in seinem eigentlichen Wortsinn.

Wenn die Anhebung des Abstraktionsgrads alle Designdisziplinen erfasst, kann der Designer das gesamte Produktdesign mit einem höheren, soft-orientierten Ansatz in Angriff nehmen. Mit einer auf Schaltplänen oder Flussdiagrammen basierenden grafischen Designoberfläche lassen sich IP-Blöcke, Softwareroutinen und I/O-Systeme rasch zusammenfügen, um innovative Produkt-Funktionalitäten auszuloten und zu entwickeln, ohne von technischen Details abgelenkt zu werden. Die durchgängige Designumgebung macht es möglich, mit der Systemdesign-Methodik die komplette Funktionalität des Produkts, und nicht nur eine Teilmenge, zu entwickeln.

Detaillierte Entwicklung nach Abschluss auf höherer Ebene

Spartenspezifische Entwicklungen (z.B. die detaillierte Embedded-Entwicklung oder das Leiterplattendesign) werden damit natürlich nicht überflüssig, nehmen aber im Gesamtkontext des Systemdesigns nur noch eine sekundäre, eher unterstützende Rolle ein. Die detaillierte Entwicklung beginnt erst, wenn das Design auf der höheren Ebene vollständig ausgearbeitet ist, denn hierbei kristallisiert sich heraus, welche Hard und Software eigentlich benötigt wird. Auf ähnliche Weise lässt sich die Aufteilung auf Hard und Software während des auf der abstrakten Ebene vonstattengehenden Designprozesses sondieren und festlegen.

Ergänzendes zum Thema
Softwareorientiertes Design

Der Systemdesigner ist nicht mehr nur ein Mittelsmann oder eine Aufsichtsperson. Ein softwareorientiertes Designkonzept auf der Basis einer durchgängigen, abstrakten und kohärenten Designumgebung macht es vielmehr möglich, komplette Designkonzepte rasch zu sondieren, erfassen und implementieren. Ohne von technischen Details aufgehalten zu werden, kann sich der Produktentwicklungsprozess auf die Innovation und das Realisieren einer Nutzererfahrung konzentrieren, die die nächste Generation elektronischer Produkte definiert.

Das Erscheinen der geeigneten Tools bringt auch eine neue Art von Elektronikdesignern hervor, die das Design eines elektronischen Produkts nach konventioneller Betrachtungsweise von hinten nach vorn angehen, indem sie mit der Software beginnen, anstatt sich zunächst auf die Hardware zu konzentrieren. Ausgehend von ihrem vorhandenen Softwareentwicklungs-Know-How, können diese ‚System-Level Designer‘ sich der Realisierung eines Produkts auf einer höheren, am Benutzer ausgerichteten Ebene widmen.

Softwareentwickler mit grundlegenden Hardwarekenntnissen können Hardware-IP-Blöcke in FPGAs zusammenfügen, während softwarekundige Hardwareingenieure das gleiche mit einer schaltplanbasierten Oberfläche erledigen können. C-to-Hardware-Transformationssysteme schlagen eine Brücke zwischen beiden Disziplinen. Die eigentliche Hardware kann dabei entweder aus vorgefertigten Schaltungsteilen erstellt oder als individuelles Design entwickelt werden.

Designsystem und FPGA-Entwicklungsplattform

Einen Schritt weiterführen lässt sich dieses Konzept, indem man das durchgängige Designsystem mit einer kostengünstigen FPGA-Hardwareentwicklungs-Plattform kombiniert, die mit ergänzender Hardware und gängigen I/O-Systemen aufwartet und deren steckbare Peripherie-Boards nach Belieben ausgetauscht werden können.

Wird zwischen dieser Hardwareplattform und der High-Level-Designsoftware eine intelligente, höhere Kommunikationsebene eingerichtet, so kann der Designer direkt mit allen Bereichen des Entwicklungs-Boards interagieren, anstatt nur schlicht die Möglichkeit zum Programmieren des On-Board-FPGA zu haben. Das System ermöglicht auch das umgehende Austauschen der Peripherie-Boards, woraufhin die Software automatisch die Interface-Schichten und Konfigurationsdateien entsprechend aktualisiert. Das gesamte Entwicklungssystem einschließlich der physischen Hardware agiert hier wie eine einzige zusammenhängende Designumgebung.

Aus der Sicht des Systemdesigns können Softwareentwickler diese High-Level-Designsysteme nutzen, um Design-Optionen in Echtzeit und auf realer Hardware zu entwickeln und auszuloten. Diese Hardware könnte unter bestimmten Bedingungen auch als finales Produkt verwendet werden, wenn es sich beispielsweise um Kleinserien handelt. Ein softwareorientierter Systemingenieur sieht sich hierdurch mit der einzigartigen Fähigkeit ausgestattet, in kurzer Zeit ein komplettes Produkt oder zumindest eine Machbarkeitsstudie anzufertigen.

* * Rob Evans... ist Technical Editor bei Altium, Australien.

(ID:23840990)