FPGA vs. ASIC: Syntheseablauf und HDL

Abschnittsübersicht

1. Zwei Wege vom Schaltungsentwurf zum Silizium

Für die Umsetzung einer digitalen Schaltung in Hardware stehen grundsätzlich zwei Wege zur Verfügung. Ein ASIC (Application-Specific Integrated Circuit) wird für genau eine Anwendung entworfen und in den in früheren Kapiteln beschriebenen Prozessschritten – Fotolithografie, Ätzen, Dotierung, Metallisierung – als Standardzellen-Layout gefertigt; die Funktion liegt nach der Herstellung unveränderlich fest. Ein FPGA (Field-Programmable Gate Array) dagegen besteht aus einem Raster vorgefertigter, aber konfigurierbarer Logikblöcke (typischerweise Lookup-Tables mit wenigen Eingängen, kombiniert mit Flip-Flops) und einem programmierbaren Verbindungsnetzwerk, dessen Funktion erst nach der Fertigung – und im Feld beliebig oft erneut – über ein Konfigurationsbitstream festgelegt wird.

FPGA-Grundarchitektur

Der grundlegende Unterschied liegt damit im Zeitpunkt der Festlegung: Beim ASIC ist die Verdrahtung physisch in Metalllagen gegossen, beim FPGA wird sie elektronisch nachgebildet – mit entsprechenden Kompromissen bei Fläche, Geschwindigkeit und Leistungsaufnahme.

2. Hardware-Beschreibungssprachen und der Syntheseablauf

Sowohl ASICs als auch FPGAs werden heute nahezu ausschließlich über Hardware-Beschreibungssprachen (Hardware Description Languages, HDL) wie VHDL oder (System-)Verilog entworfen, die das gewünschte Schaltungsverhalten auf Register-Transfer-Ebene (RTL) beschreiben – also als Datenfluss zwischen Registern und die dazwischenliegende kombinatorische Logik, ohne bereits konkrete Gatter festzulegen. Ein Logiksynthese-Werkzeug übersetzt diese RTL-Beschreibung automatisch in eine Netzliste aus tatsächlichen Gattern (beim ASIC aus einer Standardzellenbibliothek, beim FPGA aus Lookup-Tables und Flip-Flops) und optimiert dabei nach Vorgaben für Fläche, Geschwindigkeit und Leistungsaufnahme.

Syntheseablauf: von der HDL zum Silizium

Im Anschluss übernimmt beim ASIC der Place-and-Route-Schritt die physische Platzierung der Zellen und Verdrahtung auf dem Chip, bevor daraus die Maskendaten (GDSII) für die Fertigung entstehen; beim FPGA übernimmt ein vergleichbarer Schritt die Zuordnung der Logik auf konkrete Lookup-Tables und Verbindungsressourcen des jeweiligen Chips, bevor daraus ein Konfigurationsbitstream erzeugt wird, der beim Einschalten in das FPGA geladen wird. Beide Abläufe enden mit einer Timing-Analyse, die sicherstellt, dass alle Pfade die in der statischen Timing-Analyse beschriebenen Setup- und Hold-Bedingungen bei der Zielfrequenz einhalten.

Kapitel weiterlesen

Die weiteren Abschnitte dieses Kapitels sind Teil der einmaligen Freischaltung. Du erhältst Zugang zu allen Wissenskapiteln und sämtlichen PDF-Downloads.

1,99 € einmalig · kein Abo

Alle Inhalte freischalten

Bereits gekauft? Zugang wiederherstellen