Che cos'è il formato di file GDS?
Il file .gds è il formato di scambio consolidato per i dati di layout delle maschere di circuiti integrati (IC) e MEMS, formalmente noto come GDSII (Graphic Database System II) o Calma Stream Format. Sviluppato dalla Calma Company nel 1978, è diventato il formato di tape-out de facto che i progettisti di chip consegnano alle fonderie di semiconduttori per la fabbricazione delle fotomaschere.
Un file .gds è un flusso binario composto da record con prefisso di lunghezza, memorizzati in ordine di byte big-endian. Ogni record inizia con un'intestazione di 4 byte che codifica la lunghezza del record, il tipo e il tipo di dati, seguita dal payload dei dati. Il file si apre sempre con un record HEADER (firma esadecimale 00 06 00 02) e si chiude con ENDLIB. Tra questi marcatori, il formato organizza la geometria dell'IC in una gerarchia rigorosa: libreria → strutture (celle) → elementi. I tipi di elementi supportati includono:
BOUNDARY- poligoni pieni (la forma primaria)PATH- segmenti di filo con una larghezza definitaSREF/AREF- riferimenti a celle singole e array per una gerarchia compattaTEXT- etichette di stringhe con posizione, orientamento e ingrandimentoBOXeNODE- elementi di annotazione aggiuntivi
Tutta la geometria risiede su livelli numerati, con coordinate intere scalate da un record UNITS che mappa le unità del database in metri.
Un file .gds memorizza solo geometria e gerarchia - non è uno schema o una netlist. Le dimensioni dei file variano da kilobyte per una singola cella a molti gigabyte per un set di maschere a reticolo completo. I file di grandi dimensioni sono comunemente distribuiti come .gds.gz utilizzando la compressione esterna gzip. Per i moderni design ad alta densità, il formato OASIS offre una migliore compressione e un parsing più veloce ed è sempre più preferito rispetto al .gds, sebbene il .gds rimanga lo standard di interscambio dominante nell'industria EDA ed è accettato da virtualmente ogni fonderia commerciale.
Sicurezza e incolumità
RISCHIO: LOWUn file GDSII contiene dati geometrici passivi - nessun codice eseguibile - quindi aprirne uno in un visualizzatore di layout è sicuro. Le vere preoccupazioni riguardano la riservatezza e l'integrità, non il malware: un .gds è spesso una preziosa proprietà intellettuale (un design di chip sotto NDA), quindi maneggialo di conseguenza ed evita di caricare i design su servizi online sconosciuti di «visualizzazione/conversione GDS». GDSII non ha un checksum integrato, quindi verifica l'integrità attraverso il tuo flusso EDA (DRC/LVS, confronto XOR) invece di fidarti ciecamente del file.
Dettagli del formato
in sintesiProgrammi che aprono file GDS
Dettagli tecnici
specifiche approfondite| Codifica | Binario, ordine dei byte big-endian in tutto il file |
| Struttura dei record | Flusso di record con prefisso di lunghezza; ogni record ha un'intestazione di 4 byte: lunghezza di 2 byte, tipo di record di 1 byte, tipo di dati di 1 byte, seguito dal payload |
| Firma del file (magic bytes) | Hex `00 06 00 02` all'offset 0 - record HEADER con lunghezza 6, tipo record 0x00 (HEADER), tipo dati 0x02 (intero a 2 byte) |
| Tipo MIME | `application/x-gdsii`; fallback `application/octet-stream` |
| Sistema di coordinate | Interi con segno a 4 byte in unità di database; il record `UNITS` accoppia le unità utente con un fattore di scala metri-per-unità-database |
| Formato virgola mobile | Virgola mobile esadecimale a 8 byte Calma/IBM (non IEEE 754), utilizzata in `UNITS` e altri campi record a valore reale |
| Tipi di elementi | `BOUNDARY` (poligono), `PATH`, `SREF` (riferimento cella), `AREF` (riferimento array), `TEXT`, `NODE`, `BOX` |
| Modello dei livelli | Numeri di livello interi (0-255 in pratica) accoppiati con un campo datatype intero; nessuna tabella dei nomi integrata - la mappatura livello-scopo è definita esternamente nei file tecnologici PDK |
| Gerarchia | Gerarchia ricorsiva di celle (strutture) che utilizza blocchi `BGNSTR`/`STRNAME`/`ENDSTR`; le celle riutilizzate tramite `SREF`/`AREF` consentono una rappresentazione compatta della geometria ripetuta |
| Compressione integrata | Nessuna; i file sono comunemente distribuiti come `.gds.gz` utilizzando la compressione esterna gzip |
| Dimensione tipica del file | Kilobyte per una singola cella di test; decine di gigabyte per un set di maschere full-chip o full-reticle |
| Controllo integrità | Nessun checksum integrato; l'integrità del file viene verificata dagli strumenti di sign-off DRC (design rule check) e LVS (layout vs. schematic) a valle |
| Campo versione interna | Intero a 2 byte memorizzato nel payload del record `HEADER`; i valori comuni sono 3, 5 e 6 |
| Supporto testo ed etichette | Gli elementi `TEXT` collegano etichette di stringhe a un livello e datatype, con posizione, rotazione, ingrandimento e uno di quattro indici di carattere (0-3) |
| Caso d'uso primario | Scambio di layout di maschere IC e MEMS, tape-out di fonderie di semiconduttori e sign-off per la fabbricazione di fotomaschere |
| Rilasciato | 1978 (Calma GDSII), succeeding GDS I |
| Ultima versione | GDSII (the format is frozen; largely superseded by OASIS for new flows) |
| Standard aperto | Sì · royalty-free |
| Specifica | www.artwork.com |
Conversioni GDS
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file GDS.