Hintergrund-Info gefällig?

Viele Projekte lassen sich mit modernen Mikrocontrollern realisieren. Dazu gehören z. B. ATmega, ARM, 8051er, PIC, ... Die Arbeit damit ist vergleichbar einfach und mit geringem Lern-Aufwand zu beginnen. Ein Microcontroller wird meistens in der Programmiersprache C programmiert. Die zusätzlich notwendige Hardware ist leicht verfügbar. Man kann auch einfach selbst eine Platine entwickeln und einen solchen Mikrocontroller auflöten.

Während Mikrocontroller mit einem Programm gefüttert werden, das dann Schritt für Schritt abgearbeitet wird, ist für die beiden anderen Kategorien (FPGA und ASIC) eine völlig andere Entwicklung notwendig. Für diese Chips wird nämlich Logik entwickelt, die ihre Aufgaben meistens parallel und gleichzeitig abhandelt. Die Entwicklung von ASICs und FPGAs ist sehr ähnlich, unterscheidet sich aber grundlegend vom Programmieren für einen Mikrocontroller oder PC.

 

„Die Idee hinter ‚Invent a Chip‘ ist nicht nur ein spannender Wettbewerb. ‚Invent a Chip‘ ermöglicht auch jeder Schülerin und jedem Schüler, die eigene Kreativität spielerisch und ohne vertiefte technische Kenntnisse in geniale, hochtechnologische Produkte umzusetzen. Ich wünsche mir, dass es dadurch gelingt, auch mehr jungen Menschen die Faszination an Technik und Naturwissenschaften näher zu bringen.“
Dipl.-Ing. Dr. techn. Clemens Ostermaier, Absolvent TU Wien,
Promotion Sub Auspiciis Praesidentis

 

Die gewünschte Funktionalität eines FPGAs oder ASICs wird mit einer so genannten Hardware-Beschreibungs-Sprache (engl. Hardware Description Language, HDL) beschrieben. Die zwei wichtigsten sind VHDL und Verilog. Beides schaut Programm-Source-Code sehr ähnlich (bei unseren Beispielen kannst Du ein kurzes Code-Stück sehen), enthält aber spezielle Elemente für die Logik und Signale. Ganz im Gegensatz zu Software-Entwicklung ist bei Hardware-Entwicklung die Überprüfung der eigenen Entwicklungen ein viel wichtigerer Punkt. Dazu wird der Code mit speziellen Programmen simuliert und kontrolliert, ob alles wie gewünscht funktioniert (Verifikation).

Analog zum Compilieren eines Programms wird eine Hardware-Entwicklung synthetisiert. Für FPGAs wird dabei (analog zum Maschinen-Code eines Mikrocontrollers) der Config-Bitstream erzeugt. FPGAs werden als fertiger Chip gekauft und werden dann mit diesem Config-Bitstream gefüttert. Dadurch werden sie so konfiguriert, dass sie die entwickelten Logik-Funktionen realisieren.

Für ASICs wird bei der Synthese (und einigen nachfolgenden Schritten) das komplette Chip-Layout mit allen Transistoren, Gattern und Leitungen erzeugt, die die zuvor z. B. in VHDL beschriebene Funktionalität realisieren. Aus diesem Layout wird dann der Halbleiter hergestellt.

Die oben beschriebenen Angaben beziehen sich auf rein digitale Chips. Natürlich gibt es auch analoge Chips (z.B. Spannungsregler, Verstärker für Kopfhörer, AD-Wandler, ...). Die Entwicklung von analogen Chips ist wieder komplett verschieden, und noch viel aufwändiger. Daher müssen wir den Wettbewerb leider auf digitale Chips beschränken.

  © 2012 OVE Österreichischer Verband für Elektrotechnik Kontakt