In 1996 veröffentlichte Adrian Thompson von der Sussex University eine bemerkenswerte Arbeit über einen FPGA-Schaltkreis, der sich entwickelte, um bestimmte Funktionen auszuführen. Unter Verwendung von evolutionären Algorithmen wurde jede Generation von Schaltungen auf ihre Fitness geprüft, indem sie intrinsisch - also innerhalb des Xilinx XC6216 FPGA selbst - getestet wurde. Wenn die Schaltung der gewünschten Funktion näher kam, durfte sie sich weiterentwickeln. Tausende von Generationen später hatte die Schaltung ihr Ziel erreicht: die Unterscheidung zwischen 1kHz und 10kHz Eingangssignalen. Und das ohne einen eigenen Taktgeber und ohne den Einsatz von externen Komponenten.
 
Circuit Shorts: Evolving Hardware

Bemerkenswert ist, dass einige scheinbar unnötige Teile der Schaltung - für das menschliche Auge! - wesentlich für die korrekte Leistung waren. Ohne diese Elemente verschlechterte sich die Leistungsfähigkeit der Schaltung; sie beeinflussten die Schaltung indirekt. Das Verschieben desselben Schaltkreises in einen anderen Teil desselben FPGAs könnte seine Fitness verschlechtern, was eine weitere Evolution erfordert; das Verschieben des Schaltkreises in eine andere gleiche FPGA-Instanz, so sagte Thompson voraus, wird sehr wahrscheinlich ebenfalls zu einer unterschiedlich starken Verschlechterung führen. Mit einigen technischen Zugeständnissen könnten diese Effekte jedoch dazu führen, dass die Schaltung über Geräte und Umgebungsbedingungen hinweg funktioniert.
 
Das Papier ist sehr zugänglich, und es ist auch 25 Jahre später noch inspirierend. Stellen Sie sich vor, das Programm zur Fitnessbewertung wird im FPGA implementiert und dieser programmiert sich dann selbst, je nachdem, welche Funktion er benötigt, ausgehend von einem kleinen Kern einer Schaltung. Das Ergebnis könnte dann so gestaltet werden, dass es nur auf diesem einen FPGA funktioniert, und auch nur an einer Stelle darin. Non-fungible circuits, anyone?
 
Es wird immer noch an evolvierbarer Hardware gearbeitet, aber soweit ich das beurteilen kann, hat das noch keine Mainstream-Anwendung gefunden. Allerdings werden Thompsons Erkenntnisse über die physikalische Einzigartigkeit gleicher FPGA-Instanzen auch bei der Erstellung von Physical Unclonable Functions (PUFs) verwendet, bei denen die Einzigartigkeit jedes Siliziumchips aufgrund von Fertigungsvariabilität genutzt wird, um chip-spezifische IDs zu erstellen.
 
Diese Arbeit erinnert mich auch daran, dass in letzter Zeit Halbleiterfirmen enthüllt haben, dass sie KI nutzen, um die physische Platzierung von Chips zu unterstützen, um ... KI-Chips zu erstellen. Wie bei Thompsons Schaltung frage ich mich, wie diese Unternehmen letztendlich mit der Unsicherheit umgehen werden, die dem Prozess innewohnt: Eine Schaltung, die ein Mensch nicht vollständig verstehen oder selbst nachbilden kann, ist schwer - wenn nicht sogar unmöglich - vollständig zu verifizieren und zu charakterisieren.
 
Ich wette, dass es eine wirklich interessante Leistung wäre, Thompsons Experiment auf moderner Hardware zu wiederholen. Jetzt, wo wir Open-Source-FPGA-Entwicklungstools haben, können wir das viel einfacher machen! Wer ist bereit für die Herausforderung?

Mehr über Schaltungsdesign, sich entwickelnde Hardware und mehr

Interessieren Sie sich für Schaltungsdesign, FPGAs und verwandte Themen?
 
ElektorPCB4Makers.com