20.4.2023 | Hochschule für Technik und Umwelt
«Hardware-spezifisches Denken braucht Umgewöhnung»
Was braucht es zum Erfolg als Entwickler oder Entwicklerin in der digitalen Mikroelektronik? Michael Pichler, Teamleiter Mikroelektronik am Institut für Sensorik und Elektronik FHNW und Leiter des MAS Mikroelektronik an der Fachhochschule Nordwestschweiz, verrät im Interview, wie der Einstieg ins Hardware-spezifische Denken gelingt, warum FPGAs aktuell immer beliebter werden, und was die grössten Herausforderungen beim Design digitaler Schaltungen sind.
Was würden Sie jemanden raten, der sich überlegt, seine Karriere in Richtung digitaler Mikroelektronik zu starten oder zu vertiefen?
Michael Pichler: Die Mikroelektronik ist ein Nischenbereich. Aber Personen, die Fachwissen in Mikroelektronik mitbringen, sind sehr gesucht und rar. Es stehen einem viele Türen offen!
Was braucht es, um beispielsweise als Software-Entwickler:in in die Mikroelektronik einzusteigen?
Hardware-Programmierung braucht eine andere Denkweise als Software-Programmierung: VHDL und andere Programmiersprachen, die auf Mikroelektronik ausgerichtet sind, beschreiben nicht nur das Verhalten, sondern auch die Struktur einer Schaltung.
Das braucht zunächst etwas Umgewöhnung – entweder bei einer Stelle, an der man das etwas ausprobieren kann, oder bei einer Weiterbildung, in der man sich als Quereinsteiger:in in die Materie einarbeiten kann.
Unser CAS Mikroelektronik Digital richtet sich an Entwicklerinnen und Entwickler. In fünf Monaten investieren sie zwei Tage pro Woche in das Thema, mit Fokus auf FPGA und System-on-Chip (SoC). Dabei spielt die Praxis eine zentrale Rolle: Der Vormittag ist jeweils dem Unterricht gewidmet, den Nachmittag verbringen die Teilnehmerinnen und Teilnehmer im Labor, wo sie die Theorie gleich anwenden können.
Zum Abschluss realisieren alle Teilnehmenden ein eigenes FPGA-basiertes Projekt und zeigen so, dass sie das Gelernte auch in ihrem Berufsalltag umsetzen können.
Was ist die grundlegende Architektur eines FPGA, und wie unterscheidet sich ein FPGA etwa von einem ASIC oder einem Mikroprozessor?
Ein Mikroprozessor hat in der Regel einen oder wenige zentrale Recheneinheiten oder Cores, die alle dieselbe Komplexität aufweisen. Die Logik wird in Software programmiert und mit der Recheneinheit umgesetzt. Er eignet sich daher, um eine grosse Zahl an unterschiedlichen Problemen zu lösen.
Ein ASIC, also eine anwendungsspezifische integrierte Schaltung, ist optimiert, um ein spezifisches Problem optimal zu lösen. Er besteht aus zahlreichen Logikfunktionen mit einem durch die Funktion vorgegebenem Design.
Ein FPGA, oder Field Programmable Gate Array, besteht ähnlich wie ein ASIC aus einer grossen Zahl an Logikblöcken – aber seine Funktionalität ist programmierbar, ähnlich wie ein Mikroprozessor. Jedoch wird die Logik von Gattern umgesetzt.
Jeder der Logikblöcke in einem FPGA ist konfigurierbar und gleich aufgebaut: er besteht aus einer Lookup-Tabelle, einem Flipflop und einem Multiplexer (Siehe Bild 1). Die Blöcke sind über programmierbare Verbindungen untereinander verbunden. Hinzu kommen I/O-Blöcke. Mit dieser Grundstruktur kann man eigentlich beliebige Funktionen implementieren.
Einfache FPGAs bestehen aus konfigurierbaren Logikblöcken jeweils bestehend aus Lookup-Table, Flipflop und Multiplexer, die mit programmierbaren Verbindungen vernetzt sind, sowie I/O-Blöcken.
Ein Mikroprozessor ist flexibel, ein ASIC löst das Problem optimal – braucht es daneben in Zukunft überhaupt noch FPGAs?
ASICs haben natürlich Vorteile: man kann sie sehr schnell takten, und man erhält eine hohe Performance bei tieferem Energieverbrauch. Hinzu kommt, dass die Chipfläche für dieselbe Funktionalität kleiner ist, als wenn man diese mit einem FPGA realisiert.
Das Problem bei einem ASIC ist aber, dass die Initialkosten sehr hoch sind, da man für die Fertigung chipspezifische Masken herstellen muss. Diese Kosten können in die Millionenhöhe gehen. Daher lohnen sich die ASICs nur in Anwendungen mit hohen Stückzahlen.
Daher sind FPGAs in vielen Bereichen im Vormarsch, wo kleine Stückzahlen gefragt sind.
Ein weiterer Faktor ist die Entwicklungszeit: Während ein FPGA, den ich heute programmiere, morgen bereits im Einsatz sein kann, benötigt ein spezifisch designter Chip eine zusätzliche Zeit für Fertigung und Test von rund 6 Monaten. Wenn also Time-to-Market kritisch ist, sind FPGA gefragt.
Wo liegen die grösstem Herausforderungen beim Design von digitalen Schaltungen auf einem FPGA?
Es gibt generell drei Kriterien, die man optimieren kann beim Design: Zum einen die Fläche – also möglichst wenig Elemente verwenden. Dann die Rechenleistung – der Daten-Durchsatz sowie die Latenz: Will ich eine möglichst grosse Datenmenge in Echtzeit mit minimaler Verzögerung verarbeiten? Und nicht zuletzt der Energieverbrauch – das ist bei Batterie betriebenen Geräten wichtig.
Es ist physikalisch unmöglich, alle Kriterien gleichzeitig zu optimieren. Man muss also definieren, was am wichtigsten ist. Wir arbeiten häufig nach dem Grundsatz «So klein wie möglich und so schnell wie nötig» - der Fokus liegt also auf der Grösse, nicht unbedingt auf der Geschwindigkeit. Aber das ist natürlich anwendungsabhängig.
Bei der Entwicklung von digitalen Schaltungen können nicht alle Kriterien gleichzeitig optimiert werden.
Gibt es ein aktuell spannendes Beispiel aus der Forschung an der FHNW?
Ein aktuelles Beispiel ist die Entwicklung eines FPGAs gemeinsam mit einer Firma in Genf, der für die Kommunikation in Flugzeugen und Airtaxis zum Einsatz kommen soll. Der Fokus liegt hier auf einer sicheren Datenverbindung in der Form eines Mesh-Netzwerks. Gleichzeitig soll die Lösung auch leicht und stromsparend sein.
Dieser Aspekt der Functional Safety ist bei der Entwicklung von Mikroelektronik generell auf dem Vormarsch. Es soll nicht nur funktionieren, sondern auch sicher sein. Das gilt auch für Anwendungen etwa in der Medizintechnik und Automobilelektronik.
Wie lässt sich diese Sicherheit realisieren?
Der Designprozess selbst spielt eine zentrale Rolle. Jeder Schritt muss dokumentiert und nachvollziehbar sein, hinzu kommen regelmässige Reviews. Es gilt, den Prozess zu Beginn zu definieren und dann bis zum Schluss so zu leben. Im Design selber gibt es für kritische Bereiche redundante Schaltungen, dessen Resultate nach einem Mehrheitsentscheid gefällt werden.
Wohin wird sich die FPGA-Technologie in den nächsten Jahren weiterentwickeln?
Die Mikroelektronik als Ganzes entwickelt sich ständig weiter: Sie wird immer kleiner, schneller und billiger.
Dabei sind die FPGAs Vorreiter: Sie gehören immer zu den ersten, welche die modernsten Technologien auch tatsächlich einsetzen. Bei ASICs wäre das kaum zu bezahlen, die Masken würden dann mehrere Millionen Franken kosten.
Der Trend bei den FPGAs selbst geht in zwei Richtungen: Es gibt eine Entwicklung zu kleinen, günstigen Einheiten - aber auch eine andere hin zu grossen, komplexen FPGAs, die weitere Elemente enthalten, wie etwa Microcontroller-Cores, Memoryzellen oder viele Multiplizierer. Auch schnelle A/D- und D/A-Wandler finden sich immer öfters.
Wir sehen einen Trend hin zu einem ganzen System mit einem Bereich, den man selbst funktionalisieren kann – ein System-on-Chip, kurz SoC.
Welche Elemente gehören zu einem System-on-Chip (SoC)?
Die Urdefinition eines SoC ist, dass der Chip nicht nur Logik, sondern auch Mikrokontroller und Speicher beinhaltet. Bei FPGAs sind es jedoch keine grossen Programm- und Datenspeicher, die schaltet man eher extern dazu.
Für den Datenaustausch zwischen den Komponenten kommt ein On-Chip-Bus zum Einsatz, z.B. ein AXI Bus.
Was sind die Vorteile eines SoC?
Da die Wege innerhalb eines SoC sehr kurz sind, können die Busse sehr breit sein, bis hin zu 128 Bit oder noch mehr. Das bedeutet, die Komponenten können in kurzer Zeit viele Daten austauschen.
Gibt es bei SoC momentan spannende Weiterentwicklungen?
Anwendungen in der Künstlichen Intelligenz werden immer wichtiger. Künftige SoC könnten also bereits einen sogenannten AI-Accelerator integriert haben. Das ist eine hochleistungsfähige parallele Rechenmaschine, die speziell für die effiziente Verarbeitung von Workloads aus der künstlichen Intelligenz wie neuronalen Netzen entwickelt wurde. Auch bei solchen spannenden Zukunftsthemen bleiben wir im CAS Mikroelektronik Digital selbstverständlich am Puls der Zeit.
Zur Person
Prof. Michael Pichler ist Teamleiter Mikroelektronik am Institut für Sensorik und Elektronik FHNW, Leiter des MAS Mikroelektronik und Dozent für hardwarenahe Software.
In seiner Forschung liegen die Schwerpunkte bei digitalem Design und Verifikation, VHDL/PSL und System Verilog.
CAS Mikroelektronik Digital
Die nächste Durchführung des CAS Mikroelektronik Digital startet im September 2023.