Der Artikel beschreibt das Reverse-Engineering eines proprietären ASICs (Application-Specific Integrated Circuit) aus einer Jane-Street-Rätselchallenge anhand einer Layout-Datei (puzzle.gds) und einer Simulations-Vektordatei (example_inputs.vcd). Durch Identifikation der SkyWater 130-nm-Prozessbibliothek (sky130_fd_sc_hd) konnten Layout-Polygone und Verdrahtungsschichten dekodiert, eine Netlist extrahiert und ein funktionaler Logiksimulator aufgebaut werden. Die systematische Analyse der elf funktionalen Submodule ergab, dass der Chip als Hardware-Validierer für das Logikrätsel „Star Battle“ auf einem 11x11-Graster dient.
Wichtigste Punkte
Eingangsdaten: Die Analyse stützt sich ausschließlich auf die Layoutdatei puzzle.gds (Graphic Data System) und die Testvektoren example_inputs.vcd (Value Change Dump).
Prozess- und Bibliotheksidentifikation: Anhand des Präfixes sky130_fd_sc_hd__ wurde der SkyWater 130 nm Halbleiterprozess identifiziert, was den Zugriff auf öffentliche PDK-Dokumentationen (Process Design Kit) zur Entschlüsselung der Layer-Struktur ermöglichte.
Schichtarchitektur: Das Layout nutzt lokale Verbindungen (li1) sowie fünf Metallschichten (met1 bis met5) für die Signalverdrahtung, verbunden über isolierte Vias (Kontaktschichten).
Netlist-Extraktion: Durch das Nachverfolgen leitender Pfade zwischen Standardzellen wurde eine vollständige Netlist (Schaltungs-Graph) mit 230 Instanzen und 335 Netzen erstellt, einschließlich 92 Flip-Flops (z. B. dfrtp_2) zur Zustandsspeicherung.
Funktionale Regionen: Die Logik wurde in elf funktionale Blöcke (R1 bis R11) unterteilt: Spalten-/Zeilenzähler (R1, R2), ein Patch-Mapping-Lookup-Table (R4 mit 147 Gattern), Spalten- und Zeilen-Checker (R5, R6, R7), ein Nachbarschafts-Prüfer mit Schieberegister (R8), ein Gesamtzähler (R9) sowie ein Erfüllungs- und Ausgabeblock (R10, R11).
Kernfunktion (Star Battle): Die Simulation bewies, dass der Chip das Rätsel Star Battle auf einem 11x11-Graster validiert: Er prüft, ob exakt zwei Sterne pro Zeile, Spalte und Patch platziert sind, sich keine Sterne berühren und genau 22 Sterne im Gesamtgraster vorhanden sind.
Diskussions-Highlights
Didaktische Präsentation: Kommentatoren loben die herausragende grafische und didaktische Aufbereitung der Website, die in ihrer Klarheit an die interaktiven Erklär-Seiten von Ciechanow erinnert.
Netlist als Zwischensprache: Mehrere Diskussionsteilnehmer vergleichen die extrahierte Netlist treffend mit einer „Intermediate Language“ (IL) in der Softwarekompilation – einem semantischen Halbweg zwischen hochsprachlichem Hardwarebeschreibungscode und physischem Silizium.
Vergleich mit Parallel-Lösungen: Es wird auf andere erfolgreiche Lösungsmethoden und Diskussionen zur gleichen Jane-Street-Challenge auf Hacker News verwiesen.
Glossar
ASIC (Application-Specific Integrated Circuit): Ein integrierter Schaltkreis, der für einen spezifischen Verwendungszweck und nicht für den allgemeinen Markt entwickelt wurde.
GDS (Graphic Data System): Ein Standard-Datenformat (GDSII) zur verlustfreien Speicherung von integrierten Schaltungs-Layouts und geometrischen Polygonen.
PDK (Process Design Kit): Eine Sammlung von Dateien und Design-Regeln, die Halbleiter-Fertigungsprozesse für CAD-Werkzeuge beschreiben.
Standardzellen-Bibliothek: Eine vorgefertigte Sammlung von logischen Grundbausteinen (z. B. NAND-Gatter, Flip-Flops), die Chip-Designer als Bausteine verwenden.
Netlist: Eine formale Beschreibung der elektrischen Verbindungen (Netze) zwischen den Pins von elektronischen Bauteilen.
VCD (Value Change Dump): Ein standardisiertes Dateiformat zur Protokollierung von Signaländerungen in digitalen Schaltungen über die Zeit.
Flip-Flop: Ein elektronisches Speicherelement, das ein Bit an digitalem Zustand halten kann und bei einem Taktflanken-Signal aktualisiert wird.
nMOS / pMOS: Typen von Metall-Oxid-Halbleiter-Felderfekttransistoren (MOSFETs), die als elektronische Schalter arbeiten; nMOS leitet bei hoher, pMOS bei niedriger Gate-Spannung.
Via: Eine vertikale elektrische Verbindung (Kontaktloch) zwischen verschiedenen Metallisierungsschichten einer integrierten Schaltung.
Trophische Ebene (Trophic Level): Ursprünglich aus der Ökologie stammendes Konzept (Nahrungskette), das hier als Graph-Analyse zur Bestimmung des Signalflusses von den Eingängen zu den Ausgängen genutzt wird.