Die meisten Chips können immer nur das eine tun, wofür sie gebaut wurden — die Verdrahtung ist im Werk in das Silizium eingebacken und kann sich nie ändern. Ein FPGA bricht diese Regel. Es ist ein "field-programmable" Chip: ein leeres Meer aus identischen kleinen Logikblöcken und Drähten, die Sie nach der Fertigung konfigurieren, indem Sie ein Design hineinladen. Ein Design laden und es ist ein Taschenrechner; ein anderes laden und derselbe Chip ist eine Ampelsteuerung. Diese Ausstellung lässt Sie die gesamte Reise von ein paar Codezeilen bis zu einem funktionierenden Chip verfolgen — und dann jeden Detail des Geschehens im Inneren beobachten.
Sie beginnen mit echtem Verilog — der Sprache, die Chip-Designer tatsächlich schreiben — und beobachten, wie es durch die echte Toolchain geht: Synthese wertet jede Gleichung für jede Eingabe aus und schreibt die Antworten in eine Lookup-Tabelle (eine 16-Bit-Antworttabelle), Platzierung und Routing platziert diese LUTs in Logikblöcke und konfiguriert die Switch-Boxen, und ein Bitstream wird generiert — die exakte geordnete Bitfolge. Dieser Bitstream wird in einem Flash-Chip gespeichert; beim Einschalten lädt er, Bit für Bit, in die Konfigurations-SRAM-Zellen des FPGAs, und das Silizium erwacht. Das Gerät ausschalten und der SRAM vergisst alles — ein FPGA lädt sein Design bei jedem Einschalten neu. (Zwei ehrliche Hinweise: Platzierung und Routing sind hier vorgewählt für Klarheit, und dies ist eine Logikebenenansicht — echte Signale brauchen auch Zeit und können Glitches erzeugen.) Jetzt hineinzoomen. Einen Logikblock öffnen und seine LUT wird enthüllt als das, was sie physisch ist — ein 16-zu-1-Multiplexer, der sechzehn Speicherzellen ausliest, die Eingaben wählen ein Bit nach dem anderen, sechzehn auf acht auf vier auf zwei auf eins, mit dem live siegreichen Pfad beleuchtet. Tiefer gehen und ein einzelnes Antwortbit ist eine Sechs-Transistor-SRAM-Zelle; eine Switch-Box öffnen und das Routing ist ein Gitter aus Pass-Transistoren, jeder durch ein Konfigurationsbit an oder aus gehalten. Schalter umlegen, den Takt antreiben, und das live Signal beleuchtet jeden Draht auf jeder Ebene.
Das erste FPGA, Xilinx's XC2064, wurde 1985 von Ross Freeman mit nur 64 Logikblöcken erfunden; heutige haben Millionen, und sie betreiben alles von Telefonnetzen und Raumschiffen bis zu den Maschinen, die neue Computerchips testen — geschätzt, weil dieselbe Hardware durch Software neu verdrahtet werden kann, wenn sich Anforderungen ändern. Es ist der unmittelbarste Verwandte von DigiSim selbst: Ein FPGA ist programmierbare Logik, genau das, was Sie Gatter für Gatter im DigiSim Logic Lab aufbauen, in einen Chip verwandelt, den man halten kann.
Technische Daten
- Aus Code
- Echtes Verilog → synthetisieren → platzieren & routen → Bitstream → brennen → ausführen
- Eingebrannt
- Konfigurationsbits schieben in die SRAM-Zellen des Chips — beobachten Sie, wie das Die sich füllt
- Bis zu Atomen zoomen
- Logikblock → LUT als live 16:1-Multiplexer → eine 6-Transistor-SRAM-Zelle
- Designs
- Logikgatter, Halbaddierer, Blinker, Zähler → 7-Segment, Ampel-FSM
Mehr aus Rechentechnik