Wie man mit kleinem Budget einen neuen Chip entwirft
Hardware-Guru Bunnie Huang spricht über die Open-Source-Tools, die er zum Entwerfen von Schaltkreisen verwendet, und warum er seinen eigenen ASIC bauen will
Wir hatten kürzlich ein interessantes Gespräch mit bunnie Huang, Hardware-Guru und Erfinder von Chumby, NeTV und dem Novena-Laptop, unter anderem. Er ist auch der Autor von Hacking the Xbox, The Essential Guide to Electronics in Shenzhen und gleich zwei Artikeln im IEEE Spectrum.
Uns interessierte Huangs Meinung darüber, ob ein kleines, bescheiden finanziertes Team – z. B. ein College-Startup – einen benutzerdefinierten Chip herstellen könnte, so wie solche Gruppen heute mit Leichtigkeit Produkte und Software auf Board-Ebene entwickeln.
Vor allem Softwareunternehmen profitieren von der großen Menge an Open-Source-Code, der für die Entwicklung kommerzieller Produkte zur Verfügung steht. (Eine Studie ergab, dass die durchschnittliche kommerzielle Anwendung 35 % Open-Source-Code enthält.) Wir wollten herausfinden, ob auch Chipdesigner von einem reichhaltigen Ökosystem von Open-Source-Bausteinen profitieren. Oder ist das Chipdesign immer noch so verschlossen und so anspruchsvoll, dass es eigentlich nur für große, etablierte Unternehmen in Frage kommt?
IEEE Spectrum: Warum sollte ein kleines Startup-Unternehmen überhaupt einen eigenen anwendungsspezifischen integrierten Schaltkreis (ASIC) herstellen wollen? Könnte es nicht einfach ein Field-Programmable Gate Array (FPGA) für das Produkt verwenden, das es ausbrüten will?
Huang: FPGAs kommen in der Regel in großen, klobigen Gehäusen daher und verbrauchen viel zu viel Strom.
ASICs sind absolut notwendig für die Herstellung von Dingen wie Hörgeräten, implantierbaren oder essbaren medizinischen Geräten, GPS-Trackern, die von Tieren getragen werden, Mobilfunkgeräten, RFID-Geräten, elektronischen Grußkarten oder anderen Einzweck- und Wegwerfschaltungen.
Ein weiteres Beispiel ist der Treiber-IC im WS2812-Chip – er hat die Beleuchtung revolutioniert, indem er eine RGB-LED mit integriertem seriellem Protokoll in einem einzigen Gehäuse ermöglicht, indem er einen winzigen ASIC in die LEDs einbettet. (Ich habe sogar den Mann getroffen, der die erste kommerziell nutzbare Variante davon entwickelt hat.)
Es gibt also definitiv eine breite Palette wirklich nützlicher, die Industrie verändernder Produkte, an die FPGAs einfach nicht herankommen – in erster Linie das, was man als „billiges Zeug mit geringem Stromverbrauch“ bezeichnen könnte.“
Wie würden Sie entscheiden, wann Sie ein FPGA einsetzen und wann Sie ein ASIC entwickeln? Das kommt darauf an. Bei FPGAs wird im Vergleich zu ASICs viel Silizium verschwendet, so dass die Kostenuntergrenze, die zum großen Teil von der für den Chip benötigten Siliziumfläche abhängt, oft um eine Größenordnung höher liegt, als man es sich wünschen würde. Aber die Herstellung eines ASICs ist auch nicht billig.
Ich stecke gerade mitten in dieser Falle: Ich versuche, die nächste Generation von NeTV zu bauen, die eine FPGA-basierte Videoverarbeitungsmaschine ist. Die ASICs, die eine solche Videoverarbeitung durchführen können, kosten weniger als halb so viel wie ein FPGA und leisten bessere Arbeit (sie können 4K-Video verarbeiten, während meine FPGA-Lösung maximal 1080p unterstützt). Die vorhandenen ASICs verfügen jedoch nicht über alle Funktionen, die ich benötige. Aufgrund einiger anderer Einschränkungen kann ich es mir aber einfach nicht leisten, einen eigenen ASIC für dieses Produkt zu entwickeln.
Eine andere Kategorie von Dingen, für die ASICs wertvoll sind, liegt am anderen Ende des Spektrums: die wirklich anspruchsvollen Dinge. Lassen Sie mich das anhand einer kurzen Anekdote erklären.
Vor einiger Zeit las ich den Artikel über die Tensor Processing Unit (TPU) von Google und dachte: „Verdammt, das will ich haben.“ Also habe ich mir FPGAs angeschaut, um herauszufinden, was nötig wäre, um etwas Gleichwertiges zu bauen.
Ich entdeckte, dass FPGAs, die der TPU von Google auch nur annähernd das Wasser reichen können, jeweils viele Tausend Dollar kosten – und dazu noch extrem teure Softwarelizenzen erfordern. Einige große Unternehmen (wie Microsoft) konnten sich mit FPGA-Herstellern zusammentun, und vermutlich erhielt Microsoft einen ziemlich hohen Preisnachlass. Es könnte also interessante Hardware mit FPGAs entwickeln, um mit Googles TPUs zu konkurrieren. Aber bei so leistungsfähigen FPGAs geht es um etwa 17.000 US-Dollar für einen einzigen Chip, zumindest für die meisten Menschen oder Unternehmen.
Spectrum: Was ist das Mindeste, was jemand ausgeben könnte, um einen ASIC von Grund auf zu entwickeln? Nehmen wir an, der Chip ist sehr einfach. Ich kann mir vorstellen, dass ein guter Teil der Kosten nur für die Software zur Entwicklung des Chips anfallen würde, oder? Und man müsste wissen, welche Designregeln man erfüllen muss. Sind solche Informationen frei verfügbar?
Huang: Ich habe einmal ein wenig darüber geforscht. Es gibt einige Open-Source-Tools, mit denen man vielleicht etwas anfangen kann. Die „SCMOS“-Entwurfsregeln sind die praktikabelsten. Ich glaube, das sind die Entwurfsregeln, die Open-V zu verwenden versucht hat.
Was die Entwurfssoftware angeht, können Sie eine Open-Source-Toolkette auf der Grundlage von Magic (Xcircuit, IRSIM, NetGen, Qrouter und Qflow) verwenden. Wenn Sie es sich leisten können, können Sie auch kommerzielle Close-Source-Produkte wie die von Cadence verwenden.
Ich habe sowohl Magic als auch Cadence Design-Flows verwendet. Mir persönlich hat der Chip-Layout-Editor von Magic mehr Spaß gemacht, aber die Software von Cadence ist eisenfester, da sie für das Design so vieler Chips verwendet wurde. Und das Cadence-Tool zur Simulation der Auswirkungen von parasitären Widerständen und Kapazitäten ist gut erprobt.
Das soll nicht heißen, dass Sie Cadence oder ähnliches verwenden müssen. Ich denke, man könnte Magic verwenden, um einige ICs zu bauen, die wirklich große Toleranzen haben – die Art von ICs, die man in LED-Treibern und vielleicht sogar in Hörgeräten finden kann. Es könnte eine kleine Herausforderung sein, HF-Design zu betreiben, weil die Open-Source-Tools zur Simulation parasitärer Effekte der Aufgabe nicht gewachsen sind. Aber es gibt eine Methode zur Verfeinerung der Modelle, die es Ihnen ermöglichen sollte, ein erfolgreiches Design in zwei oder drei Chippläufen zu entwickeln.
Alles in allem, bis etwa zum 180-Nanometer-Technologieknoten (oder so), könnten Sie mit Open-Source-Tools auskommen. Bei kleineren Dimensionen muss man allerdings mit Masken arbeiten und Formen verwenden, die nicht mehr nur aus einfachen Polygonen bestehen. Und die Design-Kits der verschiedenen Anbieter, die dies ermöglichen, werden immer geschlossener.
180 nm ist nach heutigen Maßstäben ziemlich „groß“. Aber wenn man wirklich eine spezielle Kombination von Schaltkreisen auf einem einzigen Siliziumchip unterbringen wollte, könnte man es auf diese Weise tun. Und es könnte zu einigen neuartigen Produkten führen, die sonst mit diskreten Designs unmöglich wären. Beachten Sie jedoch, dass das Wafer-Level-Chip-Scale-Packaging (WL-CSP) es den Integratoren von Leiterplatten ermöglicht, dem, was Sie mit Ihrem kundenspezifischen ASIC erreichen könnten, ziemlich nahe zu kommen.
Wie viel würde die Herstellung dieses kundenspezifischen ASIC kosten? Eine Schätzung der Kosten für die Masken- und Chipherstellung ist schwierig, da die Preislisten vertraulich sind. Aber ich habe gehört, dass ein einfacher ASIC (z.B. ein paar Quadratmillimeter groß und mit dem 250-nm-Technologieknoten hergestellt) ein paar Tausend Dollar für ein paar Dutzend Muster kosten könnte.
Dieser Preis ist überzeugend genug, dass ich einmal mit dem Gedanken gespielt habe, eine 8- oder 16-Bit-CPU herzustellen, die vollständig inspizierbar wäre. Das könnte für die wirklich sicherheitsbewussten Leute interessant sein, die sicher sein wollen, dass in dem Mikroprozessor, den sie benutzen, nichts Komisches ist. Ich habe mir ausgerechnet, dass mich die Herstellung eines solchen Geräts ein paar tausend Dollar kosten würde. Das ist vergleichbar mit den Kosten für die Entwicklung eines beliebigen Produkts, wirklich. Und es liegt sicherlich im Bereich des Bootstrapping.
Spectrum: Okay, nehmen wir an, ein kleines Startup nutzt kostenlose Design-Tools und findet genug Geld, um zumindest ein paar Chips in Serie zu produzieren. Wären die Designer in der Lage, auf quelloffene Schaltungsentwürfe als Bausteine zurückzugreifen, so wie es Softwareentwickler üblicherweise tun?
Huang: Im Moment gibt es ein ziemlich vernünftiges Repository von freien und offenen Schaltungsblöcken, die auf der Register-Transfer-Ebene (RTL) spezifiziert sind, was normalerweise beim Entwurf von digitalen Chips verwendet wird. Dazu gehört der RISC-V-Mikroprozessor, aber auch Entwürfe wie der lm32, mor1kx usw.
Es gibt auch eine ganze Reihe von „wishbone-kompatiblen“ Entwürfen, darunter Dinge wie Ethernet-Brücken und UARTs. Das OpenCores-Projekt hat eine ziemlich vernünftige Liste solcher Blöcke, von denen einige sogar in ASICs integriert wurden (das meiste davon zielt allerdings auf FPGAs ab).
Was Mixed-Signal und Analog angeht, sind offene Designs ziemlich rar. Das Spannende an Open-V war die Bereitschaft, Analog- und Mixed-Signal-Blöcke zu öffnen und gemeinsam zu nutzen. Diese Entwürfe können zwar nicht auf fortgeschrittenere Fertigungsknoten angewandt werden, aber zumindest im „SCMOS“-Bereich besteht eine vernünftige Chance, dass die Entwürfe in funktionierende Chips umgewandelt werden können.
Es kann allerdings noch lange dauern, bis es einen guten Satz von Analog- und Mixed-Signal-Designblöcken gibt, die in ASICs getestet worden sind, leider. Zu den anderen Dingen, die möglicherweise nie wirklich durch offene Designs verfügbar sein werden, gehören Speicherblöcke wie SRAM, DRAM, Flash und elektrisch programmierbare Fuses. Das liegt daran, dass diese Dinge intime Prozesskenntnisse erfordern, um ausgeführt werden zu können – Kenntnisse, die die Foundries, die die Chips herstellen, möglicherweise nie freigeben werden.
Alles, was ich sagen will: Ein kleiner Akteur könnte sicherlich seinen eigenen ASIC entwerfen und ihn mit nichts anderem als etwas Einfallsreichtum und ein paar tausend Dollar herstellen lassen. Aber er wäre nicht in der Lage, ein anspruchsvolles Design zu entwerfen oder einen hochmodernen Technologieknoten zu verwenden.