Co to jest format pliku GDS?
Plik .gds to uznany format wymiany danych o układach masek układów scalonych (IC) i MEMS, formalnie znany jako GDSII (Graphic Database System II) lub Calma Stream Format. Opracowany przez firmę Calma Company w 1978 roku, stał się de facto formatem „tape-out”, który projektanci chipów dostarczają do fabryk półprzewodników w celu produkcji masek fotolitograficznych.
Plik .gds to strumień binarny składający się z rekordów o określonej długości, przechowywanych w kolejności bajtów big-endian. Każdy rekord zaczyna się od 4-bajtowego nagłówka kodującego długość rekordu, jego typ oraz typ danych, po których następuje ładunek danych. Plik zawsze otwiera się rekordem HEADER (sygnatura hex 00 06 00 02) i kończy znacznikiem ENDLIB. Pomiędzy tymi znacznikami format organizuje geometrię układu scalonego w ścisłej hierarchii: biblioteka → struktury (komórki) → elementy. Obsługiwane typy elementów obejmują:
BOUNDARY- wypełnione wielokąty (podstawowy kształt)PATH- segmenty ścieżek o zdefiniowanej szerokościSREF/AREF- pojedyncze i tablicowe odwołania do komórek dla zwartej hierarchiiTEXT- etykiety tekstowe z pozycją, orientacją i powiększeniemBOXiNODE- dodatkowe elementy adnotacji
Cała geometria znajduje się na numerowanych warstwach, ze współrzędnymi całkowitymi skalowanymi przez rekord UNITS, który mapuje jednostki bazy danych na metry.
Plik .gds przechowuje wyłącznie geometrię i hierarchię - nie jest to schemat ani netlista. Rozmiary plików wahają się od kilobajtów dla pojedynczej komórki do wielu gigabajtów dla pełnego zestawu masek. Duże pliki są powszechnie dystrybuowane jako .gds.gz przy użyciu zewnętrznej kompresji gzip. W przypadku nowoczesnych projektów o wysokiej gęstości, format OASIS oferuje lepszą kompresję i szybsze przetwarzanie, i jest coraz częściej preferowany nad .gds, choć .gds pozostaje dominującym standardem wymiany w branży EDA i jest akceptowany przez praktycznie każdą komercyjną fabrykę.
Bezpieczeństwo
RYZYKO: LOWPlik GDSII to pasywne dane geometryczne - nie zawiera kodu wykonywalnego - więc otwieranie go w przeglądarce układów jest bezpieczne. Prawdziwym problemem jest poufność i integralność, a nie złośliwe oprogramowanie: .gds to często cenna własność intelektualna (projekt chipu objęty NDA), więc należy obchodzić się z nim ostrożnie i unikać przesyłania projektów do nieznanych serwisów online typu „GDS viewer/converter”. GDSII nie ma wbudowanej sumy kontrolnej, więc weryfikuj integralność poprzez przepływ EDA (DRC/LVS, porównanie XOR), zamiast ufać plikowi bezkrytycznie.
Szczegóły formatu
w pigułceProgramy otwierające pliki GDS
Szczegóły techniczne
specyfikacja| Kodowanie | Binarne, kolejność bajtów big-endian w całym pliku |
| Struktura rekordu | Strumień rekordów z prefiksem długości; każdy rekord ma 4-bajtowy nagłówek: 2 bajty długości, 1 bajt typu rekordu, 1 bajt typu danych, a następnie ładunek |
| Sygnatura pliku (magic bytes) | Hex `00 06 00 02` pod offsetem 0 - rekord HEADER o długości 6, typ rekordu 0x00 (HEADER), typ danych 0x02 (2-bajtowa liczba całkowita) |
| Typ MIME | `application/x-gdsii`; zapasowy `application/octet-stream` |
| Układ współrzędnych | 4-bajtowe liczby całkowite ze znakiem w jednostkach bazy danych; rekord `UNITS` paruje jednostki użytkownika ze współczynnikiem skali metrów na jednostkę bazy danych |
| Format zmiennoprzecinkowy | 8-bajtowy szesnastkowy format zmiennoprzecinkowy Calma/IBM (nie IEEE 754), używany w `UNITS` i innych polach rekordów o wartościach rzeczywistych |
| Typy elementów | `BOUNDARY` (wielokąt), `PATH`, `SREF` (odwołanie do komórki), `AREF` (odwołanie do tablicy), `TEXT`, `NODE`, `BOX` |
| Model warstw | Całkowite numery warstw (w praktyce 0-255) sparowane z całkowitym polem typu danych; brak wbudowanej tabeli nazw - mapowanie warstwy do przeznaczenia jest definiowane zewnętrznie w plikach technologicznych PDK |
| Hierarchia | Rekurencyjna hierarchia komórek (struktur) przy użyciu bloków `BGNSTR`/`STRNAME`/`ENDSTR`; komórki używane ponownie przez `SREF`/`AREF` umożliwiają zwartą reprezentację powtarzalnej geometrii |
| Wbudowana kompresja | Brak; pliki są powszechnie dystrybuowane jako `.gds.gz` przy użyciu zewnętrznej kompresji gzip |
| Typowy rozmiar pliku | Kilobajty dla pojedynczej komórki testowej; dziesiątki gigabajtów dla pełnego chipu lub zestawu masek |
| Kontrola integralności | Brak wbudowanej sumy kontrolnej; integralność pliku jest weryfikowana przez narzędzia DRC (sprawdzanie reguł projektowych) i LVS (układ vs schemat) na etapie końcowym |
| Wewnętrzne pole wersji | 2-bajtowa liczba całkowita przechowywana w ładunku rekordu `HEADER`; typowe wartości to 3, 5 i 6 |
| Obsługa tekstu i etykiet | Elementy `TEXT` przypisują etykiety tekstowe do warstwy i typu danych, z pozycją, obrotem, powiększeniem i jednym z czterech indeksów czcionek (0-3) |
| Główny przypadek użycia | Wymiana układów masek IC i MEMS, proces tape-out w fabrykach półprzewodników oraz zatwierdzanie produkcji masek fotolitograficznych |
| Wydano | 1978 (Calma GDSII), succeeding GDS I |
| Najnowsza wersja | GDSII (the format is frozen; largely superseded by OASIS for new flows) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | www.artwork.com |
Konwersje GDS
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki GDS.