O que é o formato de ficheiro GDS?
O arquivo .gds é o formato de intercâmbio estabelecido para dados de layout de máscara de circuitos integrados (IC) e MEMS, formalmente conhecido como GDSII (Graphic Database System II) ou Calma Stream Format. Desenvolvido pela Calma Company em 1978, tornou-se o formato de «tape-out» de fato que os projetistas de chips entregam às fundições de semicondutores para a fabricação de fotomáscaras.
Um arquivo .gds é um fluxo binário composto por registros prefixados por comprimento, armazenados na ordem de bytes «big-endian». Cada registro começa com um cabeçalho de 4 bytes que codifica o comprimento do registro, o tipo e o tipo de dado, seguido pela carga útil de dados. O arquivo sempre abre com um registro HEADER (assinatura hexadecimal 00 06 00 02) e fecha com ENDLIB. Entre esses marcadores, o formato organiza a geometria do IC em uma hierarquia estrita: biblioteca → estruturas (células) → elementos. Os tipos de elementos suportados incluem:
BOUNDARY- polígonos preenchidos (a forma primária)PATH- segmentos de fio com uma largura definidaSREF/AREF- referências de célula única e em matriz para hierarquia compactaTEXT- etiquetas de texto com posição, orientação e ampliaçãoBOXeNODE- elementos de anotação adicionais
Toda a geometria reside em camadas numeradas, com coordenadas inteiras dimensionadas por um registro UNITS que mapeia unidades de banco de dados para metros.
Um arquivo .gds armazena apenas geometria e hierarquia - não é um esquemático ou «netlist». Os tamanhos dos arquivos variam de kilobytes para uma única célula a muitos gigabytes para um conjunto completo de máscaras de retículo. Arquivos grandes são comumente distribuídos como .gds.gz usando compressão gzip externa. Para designs modernos de alta densidade, o formato OASIS oferece melhor compressão e análise mais rápida, sendo cada vez mais preferido em relação ao .gds, embora o .gds continue sendo o padrão de intercâmbio dominante em toda a indústria de EDA e seja aceito por virtualmente todas as fundições comerciais.
Segurança e proteção
RISCO: LOWUm arquivo GDSII contém dados de geometria passiva - sem código executável - portanto, abrir um em um visualizador de layout é seguro. As preocupações reais são confidencialidade e integridade, não malware: um .gds é frequentemente uma IP proprietária valiosa (um design de chip sob NDA), portanto, manuseie-o adequadamente e evite enviar designs para serviços online desconhecidos de «visualizador/conversor de GDS». O GDSII não possui checksum integrado, portanto, verifique a integridade através do seu fluxo de EDA (DRC/LVS, comparação XOR) em vez de confiar cegamente no arquivo.
Detalhes do formato
em resumoProgramas que abrem arquivos GDS
Detalhes técnicos
especificação profunda| Codificação | Binário, ordem de bytes «big-endian» em todo o arquivo |
| Estrutura de registro | Fluxo de registros prefixados por comprimento; cada registro possui um cabeçalho de 4 bytes: comprimento de 2 bytes, tipo de registro de 1 byte, tipo de dado de 1 byte, seguido pela carga útil |
| Assinatura do arquivo (magic bytes) | Hex `00 06 00 02` no deslocamento 0 - registro HEADER com comprimento 6, tipo de registro 0x00 (HEADER), tipo de dado 0x02 (inteiro de 2 bytes) |
| Tipo MIME | `application/x-gdsii`; alternativa `application/octet-stream` |
| Sistema de coordenadas | Inteiros de 4 bytes com sinal em unidades de banco de dados; o registro `UNITS` associa unidades do usuário com um fator de escala de metros por unidade de banco de dados |
| Formato de ponto flutuante | Ponto flutuante hexadecimal de 8 bytes Calma/IBM (não IEEE 754), usado em `UNITS` e outros campos de registro de valor real |
| Tipos de elementos | `BOUNDARY` (polígono), `PATH`, `SREF` (referência de célula), `AREF` (referência de matriz), `TEXT`, `NODE`, `BOX` |
| Modelo de camadas | Números de camada inteiros (0-255 na prática) pareados com um campo de tipo de dado inteiro; sem tabela de nomes integrada - o mapeamento de camada para finalidade é definido externamente em arquivos de tecnologia PDK |
| Hierarquia | Hierarquia recursiva de células (estruturas) usando blocos `BGNSTR`/`STRNAME`/`ENDSTR`; células reutilizadas via `SREF`/`AREF` permitem representação compacta de geometria repetida |
| Compressão integrada | Nenhuma; os arquivos são comumente distribuídos como `.gds.gz` usando compressão gzip externa |
| Tamanho de arquivo típico | Kilobytes para uma única célula de teste; dezenas de gigabytes para um chip completo ou conjunto de máscaras de retículo |
| Verificação de integridade | Nenhum checksum integrado; a integridade do arquivo é verificada por ferramentas de sign-off DRC (verificação de regras de design) e LVS (layout vs. esquemático) |
| Campo de versão interna | Inteiro de 2 bytes armazenado na carga útil do registro `HEADER`; valores comuns são 3, 5 e 6 |
| Suporte a texto e etiquetas | Elementos `TEXT` anexam etiquetas de string a uma camada e tipo de dado, com posição, rotação, ampliação e um de quatro índices de fonte (0-3) |
| Caso de uso principal | Intercâmbio de layout de máscara de IC e MEMS, «tape-out» de fundição de semicondutores e sign-off de fabricação de fotomáscaras |
| Lançado | 1978 (Calma GDSII), succeeding GDS I |
| Versão mais recente | GDSII (the format is frozen; largely superseded by OASIS for new flows) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | www.artwork.com |
Conversões de GDS
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos GDS.