El estándar de intercambio de sistemas de ilustraciones abiertas ( OASIS [1] ) es un lenguaje utilizado por las computadoras para representar y expresar un patrón electrónico para un circuito integrado durante su diseño y fabricación. El lenguaje define el código requerido para formas geométricas como rectángulos, trapezoides y polígonos. Define el tipo de propiedades que cada uno puede tener, cómo se pueden organizar en celdas que contienen patrones hechos por estas formas y define cómo cada uno puede colocarse en relación con el otro.
Introducción
OASIS es el supuesto sucesor comercial del lenguaje de diseño de patrones electrónicos de fabricación y diseño de circuitos integrados, GDSII .
GDSII se creó en la década de 1970 cuando los diseños de circuitos integrados tenían unos cientos de miles de formas geométricas, propiedades y ubicaciones para administrar. Hoy en día, puede haber miles de millones de formas, propiedades y ubicaciones para administrar. Los creadores y usuarios de OASIS afirmaron que el crecimiento de las capacidades de almacenamiento y manejo de datos de las estaciones de trabajo fue superado con creces por el crecimiento de la complejidad del diseño de circuitos integrados. [2] Por lo tanto, OASIS intenta resolver el supuesto problema del gran tamaño de los archivos GDSII introduciendo tipos complicados de formas geométricas (solo 25 tipos de trapezoides) para reducir el tamaño de los datos. Además, se implementó un formato numérico de longitud variable (similar a la codificación de longitud de ejecución ) para coordenadas. Finalmente, cada celda del archivo OASIS se puede comprimir de forma independiente mediante el algoritmo similar a gzip .
El esfuerzo para crear el formato OASIS comenzó en junio de 2001. El lanzamiento de la versión 1.0 tuvo lugar en marzo de 2004. Su uso requirió el desarrollo de nuevos lectores y escritores OASIS que pudieran acoplarse a equipos de diseño y fabricación ya equipados con lectores y escritores GDSII . Su adopción nació de un esfuerzo concertado entre el diseño de circuitos integrados, equipos, fotomáscaras, fabless, propiedad intelectual (IP) de terceros y empresas de fabricación de los Estados Unidos, Japón, Taiwán, Corea y Europa.
Una versión restringida de OASIS, llamada OASIS.MASK , aborda las necesidades únicas de los equipos de fabricación de fotomáscaras semiconductoras, como generadores de patrones y sistemas de inspección. Tanto OASIS como OASIS.MASK son estándares de la industria .
Archivo de datos de ejemplo
A continuación se muestra una representación de texto legible por humanos del archivo binario OASIS que permitió la expresión de la vista de celda "superior" anterior llamada "Formas_y_celdas_ colocadas_dentro de una celda_IC". La celda superior está definida por un registro de PROPIEDAD estándar a nivel de archivo llamado S_TOP_CELL. El registro de PROPIEDAD a continuación hace referencia a un registro PROPNAME (refNum = 0) que tiene una cadena de nombre de propiedad llamada S_TOP_CELL. La celda superior contiene la ubicación de tres celdas llamadas "celdas inferiores". Las celdas inferiores contienen solo formas geométricas.
Cada línea de la representación de OASIS a continuación contiene (desde la izquierda) un número de registro y un tipo de registro seguido de un conjunto de valores que definen ese tipo de registro. Por ejemplo, el primer registro de RECTÁNGULO a continuación define el siguiente tipo de forma de rectángulo, su tamaño y su ubicación absoluta:
- Capa
- Tipo de datos
- Ancho
- Altura
- Coordenada x inferior izquierda
- Coordenada y inferior izquierda
En este registro de RECTÁNGULO está ausente una opción para describir las ubicaciones de instancias repetidas del rectángulo. Además, este tipo de registro permite la descripción de un cuadrado definiendo el valor solo para el ancho. Para habilitar estas descripciones, se debe establecer lo que se denomina patrón de bits para el registro RECTÁNGULO. Para un registro de RECTÁNGULO, el patrón de bits (ya sea un 1 (habilitado) o un 0 (deshabilitado)) es:
SWHXYRDL (Cuadrado, Ancho, Alto, Coordenada X, Coordenada Y, Repetición, Tipo de datos, Número de capa).
Para este registro de RECTÁNGULO, el patrón de bits se establece en 0WHXY0DL (No es un cuadrado, Ancho, Alto, Coordenada X, Coordenada Y, No repetitivo, Tipo de datos, Número de capa). El primer y segundo registro de RECTÁNGULO en la celda "Cell_Placed_Shapes_2" (CELL refNum = 1) "definen instancias repetidas de un rectángulo. El primer registro de RECTÁNGULO (SW0XYRDL) usa una repetición de tipo 10 (rep = rep10). El segundo registro de RECTÁNGULO (0WHXYR0L) utiliza una repetición de tipo 11 (rep = Rep11). Hay un total de once tipos de repetición (Rep1-Rep11). En el segundo patrón de bits de registro de RECTÁNGULO, el tipo de datos (D) se estableció en '0' porque el mismo tipo de datos utilizado en el primer registro de RECTÁNGULO se aplica al segundo registro de RECTÁNGULO Otras formas geométricas soportadas por OASIS que tienen los tipos de registro POLYGON, TRAPEZOID, CTRAPEZOID, CIRCLE y PATH se definen mediante diferentes patrones de bits.
De acuerdo con los registros de CELLNAME a continuación, las celdas inferiores tienen las siguientes cadenas de nombre de celda "Cell_Placed_Shapes_1,... _2 y... _3". Cada número de capa que se ha asignado a una forma geométrica tiene una asociación con un registro NOMBRE DE LAYERNAME que define un intervalo de capa y una cadena de nombre de capa . En esta vista, la cadena de nombre de capa, "Layer_Color_Mapping", define los intervalos de capa utilizados en una tabla de colores de capa "layercolormap.data".
El siguiente ejemplo no pretendía ser una descripción exhaustiva del lenguaje OASIS. El objetivo fue brindar al lector interesado una comprensión general del alcance del lenguaje OASIS y cómo se aplica a la representación y expresión de los patrones de trazado electrónico que definen un circuito integrado.
- MAGIA "% SEMI-OASIS \ 015 \ 0121 versión de INICIO = "1.0" unidad = real0 (1000) offsetFlag = 0 compensaciones = [(0,0) (0,0) (0,0) (0,0) (0,0) (0,0)]28 PROPIEDAD 00010CNS refNum = 0 count = (1) string12 ("Formas_y_celdas_ colocadas_en_una_célula_IC")7 PROPNAME nombre = "S_TOP_CELL" refNum = (0)3 CELLNAME nombre = "Cell_Placed_Shapes_1" refNum = (0)3 CELLNAME name = "Cell_Placed_Shapes_2" refNum = (1)3 CELLNAME name = "Cell_Placed_Shapes_3" refNum = (2)3 CELLNAME name = "Formas_ colocadas_y_celdas_en_una_célula_IC" refNum = (3)11 LAYERNAME name = "Layer_Color_Mapping" capas = 3 (25:25) tipos de datos = 1 (0: 0)11 LAYERNAME name = "Layer_Color_Mapping" capas = 4 (41:46) tipos de datos = 1 (0: 0)11 LAYERNAME name = "Layer_Color_Mapping" capas = 3 (49:49) tipos de datos = 1 (0: 0)11 LAYERNAME name = "Layer_Color_Mapping" capas = 3 (63:63) tipos de datos = 1 (0: 0)13 CELDA refNum = 317 COLOCACIÓN CNXY0000 refNum = 0 x = 0 y = 017 COLOCACIÓN CNXY0000 refNum = 1 x = 0 y = 017 COLOCACIÓN CNXY0000 refNum = 2 x = 0 y = 013 CELDA refNum = 020 RECTÁNGULO 0WHXY0DL capa = 41 tipo de datos = 1 ancho = 3960 alto = 1980 x = -440 y = -22020 RECTÁNGULO 00H0Y00L capa = 42 altura = 2420 y = 176020 RECTÁNGULO 0WHXY00L capa = 63 ancho = 3080 alto = 3960 x = 0 y = 020 RECTÁNGULO 0WHXY00L capa = 43 ancho = 2255 alto = 55 x = 110 y = 60520 RECTÁNGULO 0WH0Y000 ancho = 2860 alto = 330 y = 66020 RECTÁNGULO 00H0Y000 altura = 110 y = 253020 RECTÁNGULO 0WH0Y000 ancho = 2750 alto = 220 y = 264020 RECTÁNGULO 0WH0Y000 ancho = 2255 alto = 550 y = 286020 RECTÁNGULO 0WHXY000 ancho = 330 alto = 440 x = 2035 y = 16520 RECTÁNGULO 0WH0Y000 ancho = 935 alto = 220 y = 231020 RECTÁNGULO 0WH0Y000 ancho = 330 alto = 385 y = 341020 RECTÁNGULO S00XY000 x = 2585 y = 346520 RECTÁNGULO 0WHXY00L capa = 44 ancho = 3330 alto = 1665 x = -125 y = 176020 RECTÁNGULO 0WH0Y000 ancho = 2670 alto = 410 y = 342520 RECTÁNGULO 0WH0Y000 ancho = 3330 alto = 250 y = 383520 RECTÁNGULO 0WHXY000 ancho = 250 alto = 410 x = 2955 y = 342520 RECTÁNGULO 0WHXY00L capa = 45 ancho = 3330 alto = 1885 x = -125 y = -12520 RECTÁNGULO SW0XY000 ancho = 410 x = 2545 y = 342513 CELDA refNum = 120 RECTÁNGULO SW0XYRDL capa = 25 tipo de datos = 0 ancho = 160 x = 195 y = 690 rep = rep10 [dim = 15 disp = (g (0,1430) g (0,1045) g (550, -1375) g (220 , -550) g (165, -495) g (0,1870) g (165, -495) g (825, -1870) g (0,3300) g (275, -1980) g (165,1540) g (110,440) g (55, -2805) g (0,1650))]20 RECTÁNGULO 0WHXYR0L capa = 46 ancho = 340 alto = 220 x = 105 y = 2030 rep = rep11 [dim = 3 cuadrícula = 10 disp = (g (55, -21) g (165, -22))]20 RECTÁNGULO 0WH0YR00 ancho = 505 alto = 120 y = 2250 rep = rep10 [dim = 3 disp = (g (2365, -1100) g (0,880))]20 RECTÁNGULO 0W0XY000 ancho = 285 x = 325 y = 137020 RECTÁNGULO 0WH0Y000 ancho = 120 alto = 540 y = 149020 RECTÁNGULO 00HXY000 altura = 1045 x = 490 y = 32520 RECTÁNGULO 00H0YR00 altura = 1320 y = 2370 rep = rep2 [xdim = 2 dx = 935]20 RECTÁNGULO 0WHXY000 ancho = 890 alto = 120 x = 655 y = 170020 RECTÁNGULO 0WHXY000 ancho = 120 alto = 825 x = 875 y = 32520 RECTÁNGULO SW00YR00 ancho = 340 y = 1150 rep = rep10 [dim = 3 disp = (g (330,880) g (1265,990))]2 FIN
Estándar en la industria
OASIS y OASIS.MASK son ahora estándares formales de la industria . Ambos son propiedad y están mantenidos por la organización de comercio y normas SEMI . SEMI presta servicios a las industrias de equipos y materiales semiconductores en todo el mundo.
Las especificaciones de pago para SEMI P39 OASIS y SEMI P44 OASIS.MASK se pueden descargar del sitio web de SEMI.
enlaces externos
Notas al pie
- ^ El nombre comercial OASIS es una marca registrada en los EE. UU. De Thomas J. Grebinski, Alamo, California y con licencia de uso exclusivo de SEMI .
- ^ http://www.eetimes.com/document.asp?doc_id=1276148