Hva er GDS-filformatet?
Filtypen .gds er det etablerte utvekslingsformatet for layoutdata til integrerte kretser (IC) og MEMS-masker, formelt kjent som GDSII (Graphic Database System II) eller Calma Stream Format. Det ble utviklet av Calma Company i 1978 og ble de facto-formatet for «tape-out» som brikkedesignere leverer til halvlederstøperier for produksjon av fotomasker.
En .gds-fil er en binær strøm sammensatt av poster med lengdeprefiks, lagret i big-endian byte-rekkefølge. Hver post starter med en 4-byte header som koder postens lengde, type og datatype, etterfulgt av selve dataene. Filen åpnes alltid med en HEADER-post (hex-signatur 00 06 00 02) og avsluttes med ENDLIB. Mellom disse markørene organiserer formatet IC-geometri i et strengt hierarki: bibliotek → strukturer (celler) → elementer. Støttede elementtyper inkluderer:
BOUNDARY- fylte polygoner (den primære formen)PATH- ledningssegmenter med en definert breddeSREF/AREF- enkelt- og matrisereferanser til celler for kompakt hierarkiTEXT- tekstetiketter med posisjon, orientering og forstørrelseBOXogNODE- ytterligere annoteringselementer
All geometri ligger på nummererte lag (layers), med heltallskoordinater skalert av en UNITS-post som mapper databaseenheter til meter.
En .gds-fil lagrer kun geometri og hierarki - den er ikke et skjema eller en netliste. Filstørrelser varierer fra kilobyte for en enkelt celle til mange gigabyte for et fullstendig maskesett. Store filer distribueres ofte som .gds.gz ved bruk av ekstern gzip-komprimering. For moderne design med høy tetthet tilbyr OASIS-formatet bedre komprimering og raskere parsing, og foretrekkes i økende grad over .gds, selv om .gds forblir den dominerende utvekslingsstandarden i EDA-industrien og aksepteres av praktisk talt alle kommersielle støperier.
Sikkerhet og trygghet
RISIKO: LOWEn GDSII-fil er passive geometridata - ingen kjørbar kode - så det er trygt å åpne en i en layout-viser. De reelle bekymringene er konfidensialitet og integritet, ikke skadevare: en .gds er ofte verdifull proprietær IP (et brikkedesign under NDA), så håndter den deretter og unngå å laste opp design til ukjente «GDS viewer/converter»-tjenester på nettet. GDSII har ingen innebygd sjekksum, så verifiser integriteten gjennom din EDA-flyt (DRC/LVS, XOR-sammenligning) i stedet for å stole blindt på filen.
Formatdetaljer
i et nøtteskallProgrammer som åpner GDS-filer
Tekniske detaljer
dyp spesifikasjon| Koding | Binær, big-endian byte-rekkefølge gjennomgående |
| Poststruktur | Strøm av poster med lengdeprefiks; hver post har en 4-byte header: 2-byte lengde, 1-byte posttype, 1-byte datatype, etterfulgt av dataene |
| Filsignatur (magic bytes) | Hex `00 06 00 02` ved offset 0 - HEADER-post med lengde 6, posttype 0x00 (HEADER), datatype 0x02 (2-byte heltall) |
| MIME-type | `application/x-gdsii`; alternativt `application/octet-stream` |
| Koordinatsystem | 4-byte fortegnsbelagte heltall i databaseenheter; `UNITS`-posten parer brukerenheter med en skaleringsfaktor for meter-per-databaseenhet |
| Flyttallsformat | Calma/IBM 8-byte heksadesimalt flyttall (ikke IEEE 754), brukt i `UNITS` og andre felt med reelle verdier |
| Elementtyper | `BOUNDARY` (polygon), `PATH`, `SREF` (cellereferanse), `AREF` (matrisereferanse), `TEXT`, `NODE`, `BOX` |
| Lagmodell | Heltalls lagnumre (0-255 i praksis) paret med et heltalls datatypefelt; ingen innebygd navnetabell - mapping fra lag til formål defineres eksternt i PDK-teknologifiler |
| Hierarki | Rekursivt celle- (struktur) hierarki ved bruk av `BGNSTR`/`STRNAME`/`ENDSTR`-blokker; celler gjenbrukt via `SREF`/`AREF` muliggjør kompakt representasjon av gjentatt geometri |
| Innebygd komprimering | Ingen; filer distribueres vanligvis som `.gds.gz` ved bruk av ekstern gzip-komprimering |
| Typisk filstørrelse | Kilobyte for en enkelt testcelle; titalls gigabyte for en hel brikke eller et fullstendig maskesett |
| Integritetskontroll | Ingen innebygd sjekksum; filintegritet verifiseres av nedstrøms DRC (design rule check) og LVS (layout vs. schematic) verktøy |
| Internt versjonsfelt | 2-byte heltall lagret i `HEADER`-postens data; vanlige verdier er 3, 5 og 6 |
| Støtte for tekst og etiketter | `TEXT`-elementer knytter tekstetiketter til et lag og en datatype, med posisjon, rotasjon, forstørrelse og en av fire fontindekser (0-3) |
| Primært bruksområde | Utveksling av maskelayout for IC og MEMS, tape-out til halvlederstøperier og godkjenning av fotomaskeproduksjon |
| Utgitt | 1978 (Calma GDSII), succeeding GDS I |
| Siste versjon | GDSII (the format is frozen; largely superseded by OASIS for new flows) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | www.artwork.com |
GDS-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om GDS-filer.