Was ist das GDS-Dateiformat?
Die Datei mit der Endung .gds ist das etablierte Austauschformat für Maskenlayout-Daten von integrierten Schaltkreisen (IC) und MEMS, offiziell bekannt als GDSII (Graphic Database System II) oder Calma Stream Format. Es wurde 1978 von der Calma Company entwickelt und wurde zum De-facto-Tape-out-Format, das Chipdesigner an Halbleiter-Foundries zur Fotomaskenherstellung liefern.
Eine .gds-Datei ist ein binärer Datenstrom, der aus Datensätzen mit Längenpräfix besteht und in Big-Endian-Byte-Reihenfolge gespeichert wird. Jeder Datensatz beginnt mit einem 4-Byte-Header, der die Datensatzlänge, den Typ und den Datentyp kodiert, gefolgt von der Nutzlast. Die Datei beginnt immer mit einem HEADER-Datensatz (Hex-Signatur 00 06 00 02) und endet mit ENDLIB. Zwischen diesen Markierungen organisiert das Format die IC-Geometrie in einer strengen Hierarchie: Library → Structures (Zellen) → Elements. Zu den unterstützten Elementtypen gehören:
BOUNDARY- gefüllte Polygone (die primäre Form)PATH- Leitungssegmente mit einer definierten BreiteSREF/AREF- Einzel- und Array-Zellreferenzen für eine kompakte HierarchieTEXT- Zeichenfolgen-Beschriftungen mit Position, Ausrichtung und VergrößerungBOXundNODE- zusätzliche Anmerkungselemente
Alle Geometrien befinden sich auf nummerierten Layern mit ganzzahligen Koordinaten, die durch einen UNITS-Datensatz skaliert werden, der Datenbankeinheiten auf Meter abbildet.
Eine .gds-Datei speichert nur Geometrie und Hierarchie - sie ist kein Schaltplan oder Netzliste. Die Dateigrößen reichen von Kilobytes für eine einzelne Zelle bis zu vielen Gigabytes für einen vollständigen Maskensatz. Große Dateien werden häufig als .gds.gz mit externer gzip-Komprimierung verteilt. Für moderne Designs mit hoher Dichte bietet das OASIS-Format eine bessere Komprimierung und schnelleres Parsen und wird zunehmend gegenüber .gds bevorzugt, obwohl .gds der dominierende Austauschstandard in der EDA-Industrie bleibt und von praktisch jeder kommerziellen Foundry akzeptiert wird.
Sicherheit
RISIKO: LOWEine GDSII-Datei enthält passive Geometriedaten - keinen ausführbaren Code -, daher ist das Öffnen in einem Layout-Viewer sicher. Die eigentlichen Bedenken betreffen Vertraulichkeit und Integrität, nicht Malware: Eine .gds ist oft wertvolles geistiges Eigentum (ein Chipdesign unter NDA), gehen Sie daher entsprechend damit um und vermeiden Sie das Hochladen von Designs zu unbekannten Online-Diensten für «GDS-Viewer/Konverter». GDSII hat keine integrierte Prüfsumme, verifizieren Sie die Integrität daher über Ihren EDA-Flow (DRC/LVS, XOR-Vergleich), anstatt der Datei blind zu vertrauen.
Formatdetails
kurz gefasstProgramme zum Öffnen von GDS-Dateien
Technische Details
technische Spezifikation| Kodierung | Binär, durchgehend Big-Endian-Byte-Reihenfolge |
| Datensatzstruktur | Datenstrom aus Datensätzen mit Längenpräfix; jeder Datensatz hat einen 4-Byte-Header: 2-Byte Länge, 1-Byte Datensatztyp, 1-Byte Datentyp, gefolgt von der Nutzlast |
| Dateisignatur (Magic Bytes) | Hex `00 06 00 02` bei Offset 0 - HEADER-Datensatz mit Länge 6, Datensatztyp 0x00 (HEADER), Datentyp 0x02 (2-Byte-Integer) |
| MIME-Typ | `application/x-gdsii`; Fallback `application/octet-stream` |
| Koordinatensystem | Vorzeichenbehaftete 4-Byte-Integer in Datenbankeinheiten; der `UNITS`-Datensatz koppelt Benutzereinheiten mit einem Skalierungsfaktor (Meter pro Datenbankeinheit) |
| Fließkommaformat | Calma/IBM 8-Byte hexadezimale Fließkommazahl (nicht IEEE 754), verwendet in `UNITS` und anderen reellwertigen Datensatzfeldern |
| Elementtypen | `BOUNDARY` (Polygon), `PATH`, `SREF` (Zellreferenz), `AREF` (Array-Referenz), `TEXT`, `NODE`, `BOX` |
| Layer-Modell | Ganzzahlige Layernummern (in der Praxis 0-255), gepaart mit einem ganzzahligen Datentyp-Feld; keine integrierte Namenstabelle - die Zuordnung von Layer zu Zweck wird extern in PDK-Technologiedateien definiert |
| Hierarchie | Rekursive Zell- (Struktur-) Hierarchie unter Verwendung von `BGNSTR`/`STRNAME`/`ENDSTR`-Blöcken; durch `SREF`/`AREF` wiederverwendete Zellen ermöglichen eine kompakte Darstellung sich wiederholender Geometrie |
| Integrierte Komprimierung | Keine; Dateien werden üblicherweise als `.gds.gz` mit externer gzip-Komprimierung verteilt |
| Typische Dateigröße | Kilobytes für eine einzelne Testzelle; zig Gigabytes für einen Full-Chip- oder Full-Reticle-Maskensatz |
| Integritätsprüfung | Keine integrierte Prüfsumme; die Dateiintegrität wird durch nachgelagerte DRC- (Design Rule Check) und LVS- (Layout vs. Schematic) Sign-off-Tools überprüft |
| Internes Versionsfeld | 2-Byte-Integer, gespeichert in der Nutzlast des `HEADER`-Datensatzes; übliche Werte sind 3, 5 und 6 |
| Text- und Label-Unterstützung | `TEXT`-Elemente ordnen Zeichenfolgen-Labels einem Layer und Datentyp zu, mit Position, Rotation, Vergrößerung und einem von vier Schriftart-Indizes (0-3) |
| Primärer Anwendungsfall | Austausch von IC- und MEMS-Maskenlayouts, Tape-out bei Halbleiter-Foundries und Sign-off der Fotomaskenherstellung |
| Veröffentlicht | 1978 (Calma GDSII), succeeding GDS I |
| Neueste Version | GDSII (the format is frozen; largely superseded by OASIS for new flows) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | www.artwork.com |
GDS-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu GDS-Dateien.