Bis in die frühen 1980er-Jahre wurde Software zumeist in maschinennahen Sprachen erstellt, bis hin zu quasi Maschinencode wie Assembler. Mit leistungsfähigeren Prozessoren kam diese Art der Programmierung schnell an ihre Grenzen. Sie war aufgrund der explodierenden Komplexität schlicht nicht mehr handhabbar und es musste ein neuer Weg gefunden werden, mit dieser Komplexität Schritt zu halten. Die Lösung lag in Programmiersprachen, mit denen sich auf einer höheren Abstraktionsebene entwickeln ließ, ohne sich um Details der Implementierung einzelner Sprachkonstrukte auf Maschinencode-Ebene zu kümmern. Die Rede ist von Hochsprachen, wie beispielsweise C, Java oder Matlab, die aus der heutigen Softwareentwicklung nicht mehr wegzudenken sind. Untersuchungen wie der Tiobe-Index zeigen, dass mehr als 98 Prozent der weltweiten Softwareproduktion mit Hochsprachen erfolgt.

Bild 1: Schematischer Elektronik-Entwicklungsprozess: viele Prozessschritte lassen sich algorithmisch abbilden und damit automatisieren.

Bild 1: Schematischer Elektronik-Entwicklungsprozess: Viele Prozessschritte lassen sich algorithmisch abbilden und damit automatisieren. Contunity

Dabei liegen die Vorteile klar auf der Hand: einerseits das Ermöglichen der Beherrschung hochkomplexer Software-Systeme, andererseits eine dramatische Aufwands- und Zeiteinsparung. Als Nebeneffekt entsteht damit Freiraum, sich um die Architektur und Funktionen der zu erstellenden Software zu kümmern. Um es überspitzt zu sagen: Wer wollte heute noch via Assembler in Bits und Bytes kramen, wenn sich durch die Anwendung von Hochsprachen viel mehr auf den Kundenwert fokussieren lässt?

Die Entwicklung hin zu höheren Abstraktionsebenen in der Software-Erstellung ist übrigens bei Weitem nicht zu Ende. Als Beispiele seien Serverless-Computing oder Machine-Learning-as-a-Service genannt. Eine analoge Entwicklung ist beim Chip-Design zu beobachten. Ohne aktuelle EDA-Umgebungen wäre die Entwicklung von Prozessoren in der heutigen Komplexität schlicht unmöglich. Dass es doch geht, ist der erreichten Abstraktion und Design-Automatisierung zu verdanken. Ganz anders sieht es jedoch bei der Entwicklung diskreter Schaltungen aus.

Hardwareentwicklung auf dem Stand von gestern?

Tabelle 1: Gegenüberstellung des bisherigen und des zukünftigen Hardware-Entwicklungsprozesses.

Tabelle 1: Gegenüberstellung des bisherigen und des zukünftigen Hardware-Entwicklungsprozesses. Contunity

In der Hardware-Entwicklung ist die Situation geradezu ernüchternd. Während für Software nahezu monatlich neue Frameworks und Designprozesse auf den Markt kommen, tut sich bei Werkzeugen und Methodik für die Hardware-Entwicklung seit mehr als zehn Jahren fast nichts. Der Abstraktions- und Automatisierungsgrad ist viel geringer als in der Software-Entwicklung. Gängige Industriepraxis ist es, diskrete Schaltungen bis hinunter auf die unterste Bauteilebene manuell zu entwickeln, und das bei neuen Versionen und Varianten wieder und wieder. Modularisierung, Standardisierung und Wiederverwendung werden zwar häufig beschworen, in der Praxis jedoch nur von einer kleinen Minderheit der Unternehmen beherrscht. Das heißt, dass sämtliche Entscheidungen von der Anforderungs- bis zur Bauteilebene von Menschen zu treffen sind. Festlegungen zur Dimensionierung, Auswahl und schließlich auch zur Positionierung der einzelnen Bauteile nehmen dabei einen großen Raum ein – und sind doch nur repetitive, „mechanische“ Tätigkeiten, die geradezu nach maschineller Erledigung schreien. Unterm Strich bedeutet das erhebliche Defizite für den heutigen Prozess:

  • Fehleranfälligkeit: Das Vorgehen ist aufgrund des extrem großen Anteils manueller Tätigkeiten hochgradig fehleranfällig. Die Konsequenz sind viele ungeplante und teure Rekursionen.
  • Innovationsbehinderung: Es bleibt vergleichsweise wenig Freiraum, sich um den kreativen Anteil der Entwicklung zu kümmern, mit dem Kundenwert erzeugt wird. Stattdessen verschwindet der Großteil der Entwicklungskapazität in „mechanischer“ Tätigkeit.
  • Kompetenzverschwendung: Der Bedarf an fähigen Hardware-Entwicklern und Layoutern ist hoch und wächst kontinuierlich weiter. 2016 prognostizierten VDE und IW einen Mehrbedarf von 100.000 Elektroingenieuren bis 2026. Der Arbeitsmarkt hingegen ist seit Jahren leergefegt. Vor diesem Hintergrund ist es sträflicher Leichtsinn, dass die Hardware-Entwicklung bisher kaum automatisiert ist und folglich wertvolle Kompetenzen verschwendet werden.

Zu aufwändig und kostenintensiv

Bild 2: Funktionales Modell einer LAN-Karte zur Einbindung in einen industriellen Regelungsprozess.

Bild 2: Funktionales Modell einer LAN-Karte zur Einbindung in einen industriellen Regelungsprozess. Contunity

Das bedeutet, dass die Entwicklung diskreter Elektronik nach heutiger industrieller Praxis viel zu lang dauert und deutlich zu aufwändig und kostenintensiv ist. Es besteht ein erhebliches Effizienzpotenzial und es ist an der Zeit, dieses zu heben. Das Software-Engineering hat es vorgemacht: Prozesse, die sich in Maschinen-Algorithmen abbilden lassen und auch abgebildet werden, beschleunigen und flexibilisieren die Entwicklung erheblich. Für das Hardware-Engineering lassen sich alle Prozessschritte algorithmisch abbilden, die nach der kreativen Leistung der Anforderungserhebung und funktionalen Beschreibung folgen: Modul- und Bauteileauswahl, Erstellung von Schaltplan und Layout sowie die Erzeugung von Hardware-naher Software.

Damit lautet die oben für Software gestellte Frage, umformuliert für Hardware: Wer will heute noch in Widerstands-, Kondensator- und sonstigen (virtuellen) Bauteile-Kisten kramen, wenn durch die Automatisierung des Hardware-Engineerings Freiraum für Innovation und die Schaffung von Kundenwert entsteht? Die Antwort darauf ist leider bei Weitem (noch) nicht so selbstverständlich wie für die Software-Welt.

Die Hardware-Entwicklung der Zukunft

Bild 3: Das Layout der LAN-Karte. Durch sofortige Verfügbarkeit von Hardware-Mustern verkürzen sich die Enwicklungszeiten enorm.

Bild 3: Das Layout der LAN-Karte. Durch sofortige Verfügbarkeit von Hardware-Mustern verkürzen sich die Enwicklungszeiten enorm. Contunity

Eines ist offensichtlich: Zukünftig werden auch im Hardware-Engineering alle Prozessschritte, die sich algorithmisch abbilden lassen, automatisiert. Im schematisch und vereinfacht dargestellten Entwicklungsprozess (Bild 1) sind das alle Schritte zwischen der Funktionsspezifikation und der Leiterplattenfertigung. Folglich kann sich der Anwender auf die funktionale Modellierung seines Elektroniksystems fokussieren (Schritte Anforderungs- und Funktionsspezifikation) und braucht sich nur wenig um dessen Umsetzung in Schaltplan, Layout und Stückliste kümmern. Oder anders gesagt: der Entwicklung liegt ein modellbasierter Ansatz zugrunde, der bei der Anforderungs- und Funktionsspezifikation beginnt. Auf Basis des Gesamtmodells des gewünschten Elektroniksystems leisten Software-Algorithmen die nachfolgenden Implementierungsschritte. Das klappt unter der Voraussetzung, dass die Elemente, die zur Funktionsmodellierung zum Einsatz kommen, als Schaltungsmodule vorliegen. Deren Beschreibung muss den Schaltplan, die verwendeten Bauteile, das Layout, die zugehörigen Software-Anteile und Metadaten, wie zum Beispiel Spannungsniveaus, Signal-Typen oder Layer-Setup umfassen. Der Automatisierungs-Algorithmus verwendet diese Schaltungsmodule und generiert daraus die Outputs, die das zu erstellende Elektroniksystem vollständig repräsentieren: Schaltplan, Layout, Stückliste, Hardware-nahe Software und – sofern gewünscht – auch die Applikations-Software. Bereits existierende Moduldatenbanken lassen sich dabei wiederverwenden. Je nach deren Beschaffenheit muss einmalig die Ergänzung oder Anpassung der Metadaten erfolgen.

Dieser Automatisierungsgrad führt zu einer dramatischen Zeit-, Aufwands- und Kosteneinsparung, zudem sinken die Kompetenzanforderungen. In Tabelle 1 sind der bisherige und der zukünftige Hardware-Engineering-Prozess anhand charakteristischer Kriterien gegenübergestellt. Die Überlegenheit des automatisierten Prozesses wird damit nochmals sehr offensichtlich.

Automatisierung satt

Die Engineering-Plattform von Contunity realisiert alle oben beschriebenen Schritte zur Automatisierung der Elektronikentwicklung, ausgehend von einem funktionalen Modell. Deren Herzstück sind die Contunity-eigenen Automatisierungs-Algorithmen für die Hardware- Entwicklung, basierend auf aktuellen Erkenntnissen aus künstlicher Intelligenz und Machine-Learning. Zusammen mit industriell üblicher Methodik für modellbasierte Software-Entwicklung wird damit die vollständige Automatisierung der Entwicklung eingebetteter Systeme erreicht. Dieser Automatisierungsgrad ist bisher weltweit einmalig und kennzeichnet die Richtung, in die sich die Entwicklung elektronischer Systeme mit rasanter Geschwindigkeit bewegen wird. Die Plattform steht im Sinne des Software-as-a-Service (SaaS) als sofort einsatzfähige Cloud-Anwendung bereit, analog zu beispielsweise Fusion 360 von Autodesk oder Office 365 von Microsoft. Darüber hinaus ist die Installation „on-premises“ für höchste Datensicherheit verfügbar.

Die Benutzereingabe erfolgt mittels eines intuitiv zu bedienenden graphischen Editors, der an das bekannte Benutzererlebnis von Werkzeugen mit graphischer Eingabe anschließt, wie zum Beispiel Matlab/Simulink oder Labview, siehe Bild 2. Damit ist die Einarbeitungs- und Schulungszeit auf ein Minimum reduziert. Anwender können auf Moduldatenbanken von Contunity zurückgreifen oder mit eigenen Bibliotheken arbeiten. Letztere lassen sich via API-Schnittstellen aus vorhandenen CAE-Werkzeugen importieren, beispielsweise aus Altium- oder Mentor-Umgebungen. Ebenso ist es möglich, die Ergebnisse, also Schaltplan, Layout, Stückliste, für die bei den Anwendern vorhandene Werkzeuge zu exportieren. Damit dockt die Contunity-Plattform reibungslos an existierende Toolchains an. Derzeit wird die Plattform im Rahmen von Pilotprojekten mit Industriepartnern produktiv eingesetzt und weiterentwickelt, offizieller Marktstart ist Anfang 2020.

Praxisbeispiel

Bild 4: Die Leiterplatte der LAN-Karte: Die Elektronik wurde vollautomatisch aus dem funktionalen Modell generiert.

Bild 4: Die Leiterplatte der LAN-Karte: Die Elektronik wurde vollautomatisch aus dem funktionalen Modell generiert. Contunity

Die Abbildungen 2 bis 4 zeigen ein Anwendungsbeispiel, dargestellt mittels des funktionalen Modells, des Layouts und einem Rendering der Leiterplatte. Dabei geht es um eine LAN-Karte zur Einbindung in einen industriellen Regelungsprozess. Die Elektronik wurde vollautomatisch aus dem funktionalen Modell generiert. Die Automatisierung führt zu einer drastischen Aufwandseinsparung: Für Schaltplanerstellung mit Modul- und Bauteileauswahl sowie Leitplattendesign sind bei manuellem Vorgehen 160 Stunden nötig. Bei Einstaz der Contunity-Plattform reduziert sich der Aufwand um mehr als 95 Prozent auf nur noch 3 Stunden..

Darüber hinaus sind aus Sicht der Pilotkunden folgende Vorteile sehr relevant:

  • Erhebliche Verkürzung von Entwicklungszeiten durch sofortige Verfügbarkeit von Hardware-Mustern, die zum Beispiel für Software-Tests verwendbar sind.
  • Standardisierung über Entwicklungsgruppen und Standorte hinweg durch Verwendung der Modulbibliothek.
  • Schnelle und prozesssichere Erstellung von Varianten und Durchführung von Änderungen.
  • Schnelle Erstellung von spezifischer Hardware für den Einsatz in Testumgebungen.

In einer weiteren Ausbaustufe wird Contunity eine Sharing-Plattform aufbauen, vergleichbar mit bekannten App-Stores, über die sich Schaltungsmodule, Bauteile und Dienstleistungen direkt vertreiben lassen. Das bietet Bauteile- und Chipherstellern sowie Entwicklungs- und Produktionsdienstleistern einen zusätzlichen attraktiven Marktzugang und neuen Absatzkanal.

Die Zukunft beginnt jetzt

Bild 5: Die Plattform wird derzeit im Rahmen von Pilotprojekten mit Industriepartnern produktiv eingesetzt udn weiterentwickelt, offizieller Marktstart soll Anfang 2020 sein.

Bild 5: Die Plattform wird derzeit im Rahmen von Pilotprojekten mit Industriepartnern produktiv eingesetzt und weiterentwickelt, offizieller Marktstart ist 2020. Contunity

Das Hardware-Engineering für elektronische Systeme durchläuft heute eine Entwicklung, die das Software-Engineering bereits vor Jahrzehnten durchlaufen hat: hin zu modellbasierter funktionaler Modellierung und hoher Automatisierung. Angesichts des immensen Bedarfs an Elektronikentwicklung bei gleichzeitigem massivem Engpass am Arbeitsmarkt werden die herkömmlichen Entwicklungsprozesse und Werkzeuge sukzessive vom Markt verdrängt. Die Vorteile für Unternehmen, die sich dieser Entwicklung früh anschließen, liegen auf der Hand: einerseits sinken die Entwicklungszeiten, -aufwände und -kosten drastisch, andererseits steigt die Ergebnisqualität aufgrund von Modularisierung, Standardisierung und Wiederverwendung erheblich – beides sind essenzielle Wettbewerbsvorteile angesichts sich weiter beschleunigender Innovationszyklen. Die Contunity-Plattform ermöglicht als derzeit weltweit einziges Werkzeug die vollständige Automatisierung der Elektronikentwicklung.