Стандарт Open Artwork System Interchange Standard ( OASIS [1] ) - это язык, используемый компьютерами для представления и выражения электронного рисунка для интегральной схемы во время ее проектирования и производства. Язык определяет код, необходимый для геометрических фигур, таких как прямоугольники, трапеции и многоугольники. Он определяет тип свойств, которые могут быть у каждого, как они могут быть организованы в ячейки, содержащие шаблоны, созданные этими фигурами, и определяет, как каждая из них может быть размещена относительно друг друга.
Вступление
OASIS является предполагаемым коммерческим преемником языка проектирования интегральных схем и производства электронных схем, GDSII .
GDSII был создан в 1970-х годах, когда в проектах интегральных схем требовалось управлять несколькими сотнями тысяч геометрических форм, свойств и размещений. Сегодня можно управлять миллиардами форм, свойств и размещений. Создатели и пользователи OASIS утверждали, что рост возможностей хранения и обработки данных на рабочих станциях намного опережал рост сложности компоновки интегральных схем. [2] Таким образом, OASIS пытается решить предполагаемую проблему большого размера файлов GDSII путем введения сложных типов геометрических форм (только 25 типов трапеций) для уменьшения размера данных. Также был реализован числовой формат переменной длины (аналогичный кодированию длин серий ) для координат. Наконец, каждая ячейка в файле OASIS может быть независимо сжата с помощью алгоритма, подобного gzip .
Работа по созданию формата OASIS началась в июне 2001 года. Выпуск версии 1.0 состоялся в марте 2004 года. Его использование потребовало разработки новых считывающих и записывающих устройств OASIS, которые можно было бы объединить с оборудованием для проектирования и производства, уже оснащенным считывающими и записывающими устройствами GDSII. . Его принятие было результатом совместных усилий разработчиков интегральных схем, оборудования, фотошаблонов, фаблет, интеллектуальной собственности (IP) третьих сторон и производственных компаний из США, Японии, Тайваня, Кореи и Европы.
Ограниченная версия OASIS, называемая OASIS.MASK , удовлетворяет уникальные потребности оборудования для производства полупроводниковых фотошаблонов, такого как генераторы шаблонов и системы контроля. И OASIS, и OASIS.MASK являются отраслевыми стандартами .
Пример файла данных
Ниже приведено удобочитаемое текстовое представление двоичного файла OASIS, в котором разрешено выражение вышеупомянутого «верхнего» вида ячеек под названием «Placed_shapes_and_cells_within_an_IC_cell». Верхняя ячейка определяется стандартной записью PROPERTY уровня файла с именем S_TOP_CELL. Запись PROPERTY ниже ссылается на запись PROPNAME (refNum = 0), которая имеет строку имени свойства с именем S_TOP_CELL. Верхняя ячейка содержит размещение трех ячеек, называемых «нижними ячейками». Нижние ячейки содержат только геометрические фигуры.
Каждая строка представления OASIS ниже содержит (слева) номер записи и тип записи, за которыми следует набор значений, определяющих этот тип записи. Например, первая запись RECTANGLE ниже определяет следующий тип формы прямоугольника, его размер и его абсолютное расположение:
- Слой
- Тип данных
- Ширина
- Высота
- Левая нижняя координата x
- Левая нижняя координата Y
В этой записи ПРЯМОУГОЛЬНИКА отсутствует опция для описания местоположения повторяющихся экземпляров прямоугольника. Кроме того, этот тип записи позволяет описывать квадрат, определяя только значение ширины. Чтобы включить эти описания, необходимо установить то, что называется битовой комбинацией для записи RECTANGLE. Для записи RECTANGLE битовый шаблон (1 (включен) или 0 (отключен)):
SWHXYRDL (квадрат, ширина, высота, координата X, координата Y, повторение, тип данных, номер слоя).
Для этой записи RECTANGLE битовый шаблон установлен на 0WHXY0DL (не квадрат, ширина, высота, координата X, координата Y, не повторяется, тип данных, номер слоя). Первая и вторая записи RECTANGLE в ячейке Cell_Placed_Shapes_2 (CELL refNum = 1) определяют повторяющиеся экземпляры прямоугольника. Первая запись RECTANGLE (SW0XYRDL) использует повторение типа 10 (rep = rep10). Вторая запись RECTANGLE (0WHXYR0L) использует повторение типа 11 (rep = Rep11). Всего существует одиннадцать типов повторения (Rep1-Rep11). Во втором шаблоне битов записи RECTANGLE тип данных (D) был установлен на '0', потому что тот же тип данных используется в первая запись RECTANGLE применяется ко второй записи RECTANGLE. Другие поддерживаемые OASIS геометрические фигуры, имеющие типы записей POLYGON, TRAPEZOID, CTRAPEZOID, CIRCLE и PATH, определяются разными битовыми шаблонами.
Согласно записям CELLNAME ниже, нижние ячейки имеют следующие строки имен ячеек "Cell_Placed_Shapes_1,... _2 и... _3". Каждый номер слоя , который был назначен геометрической фигуре, связан с записью LAYERNAME, которая определяет интервал слоя и строку имени слоя . В этом представлении строка имени слоя «Layer_Color_Mapping» определяет интервалы слоев, используемые в таблице цветов слоя «layercolormap.data».
Приведенный ниже пример не был исчерпывающим описанием языка OASIS. Цель заключалась в том, чтобы дать заинтересованному читателю общее представление об объеме языка OASIS и о том, как он применяется к представлению и выражению шаблонов электронной компоновки, которые определяют интегральную схему.
- МАГИЯ "% ПОЛУОАЗИС \ 015 \ 0121 START version = "1.0" unit = real0 (1000) offsetFlag = 0 смещения = [(0,0) (0,0) (0,0) (0,0) (0,0) (0,0)]28 СОБСТВЕННОСТЬ 00010CNS refNum = 0 count = (1) string12 ("Placed_shapes_and_cells_within_an_IC_cell")7 PROPNAME name = "S_TOP_CELL" refNum = (0)3 CELLNAME name = "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 = "Placed_shapes_and_cells_within_an_IC_cell" refNum = (3)11 LAYERNAME name = "Layer_Color_Mapping" слои = 3 (25:25) типы данных = 1 (0: 0)11 LAYERNAME name = "Layer_Color_Mapping" слои = 4 (41:46) типы данных = 1 (0: 0)11 LAYERNAME name = "Layer_Color_Mapping" слои = 3 (49:49) типы данных = 1 (0: 0)11 LAYERNAME name = "Layer_Color_Mapping" слои = 3 (63:63) типы данных = 1 (0: 0)13 ЯЧЕЙКА refNum = 317 РАЗМЕЩЕНИЕ CNXY0000 refNum = 0 x = 0 y = 017 РАЗМЕЩЕНИЕ CNXY0000 refNum = 1 x = 0 y = 017 РАЗМЕЩЕНИЕ CNXY0000 refNum = 2 x = 0 y = 013 ЯЧЕЙКА refNum = 020 ПРЯМОУГОЛЬНИК 0WHXY0DL слой = 41 тип данных = 1 ширина = 3960 высота = 1980 x = -440 y = -22020 ПРЯМОУГОЛЬНИК 00H0Y00L слой = 42 высота = 2420 y = 176020 ПРЯМОУГОЛЬНИК 0WHXY00L слой = 63 ширина = 3080 высота = 3960 x = 0 y = 020 ПРЯМОУГОЛЬНИК 0WHXY00L слой = 43 ширина = 2255 высота = 55 x = 110 y = 60520 ПРЯМОУГОЛЬНИК 0WH0Y000 ширина = 2860 высота = 330 y = 66020 ПРЯМОУГОЛЬНИК 00H0Y000 высота = 110 y = 253020 ПРЯМОУГОЛЬНИК 0WH0Y000 ширина = 2750 высота = 220 y = 264020 ПРЯМОУГОЛЬНИК 0WH0Y000 ширина = 2255 высота = 550 y = 286020 ПРЯМОУГОЛЬНИК 0WHXY000 ширина = 330 высота = 440 x = 2035 y = 16520 ПРЯМОУГОЛЬНИК 0WH0Y000 ширина = 935 высота = 220 y = 231020 ПРЯМОУГОЛЬНИК 0WH0Y000 ширина = 330 высота = 385 y = 341020 ПРЯМОУГОЛЬНИК S00XY000 x = 2585 y = 346520 ПРЯМОУГОЛЬНИК 0WHXY00L слой = 44 ширина = 3330 высота = 1665 x = -125 y = 176020 ПРЯМОУГОЛЬНИК 0WH0Y000 ширина = 2670 высота = 410 y = 342520 ПРЯМОУГОЛЬНИК 0WH0Y000 ширина = 3330 высота = 250 y = 383520 ПРЯМОУГОЛЬНИК 0WHXY000 ширина = 250 высота = 410 x = 2955 y = 342520 ПРЯМОУГОЛЬНИК 0WHXY00L слой = 45 ширина = 3330 высота = 1885 x = -125 y = -12520 ПРЯМОУГОЛЬНИК SW0XY000 ширина = 410 x = 2545 y = 342513 ЯЧЕЙКА refNum = 120 RECTANGLE SW0XYRDL layer = 25 datatype = 0 width = 160 x = 195 y = 690 rep = rep10 [dim = 15 disp = (g (0,1430) g (0,1045) g (550, -1375) g (220) , -550) г (165, -495) г (0,1870) г (165, -495) г (825, -1870) г (0,3300) г (275, -1980) г (165,1540) г (110,440) г (55, -2805) г (0,1650))]20 ПРЯМОУГОЛЬНИК 0WHXYR0L слой = 46 ширина = 340 высота = 220 x = 105 y = 2030 rep = rep11 [dim = 3 grid = 10 disp = (g (55, -21) g (165, -22))]20 ПРЯМОУГОЛЬНИК 0WH0YR00 ширина = 505 высота = 120 y = 2250 rep = rep10 [dim = 3 disp = (g (2365, -1100) g (0,880))]20 ПРЯМОУГОЛЬНИК 0W0XY000 ширина = 285 x = 325 y = 137020 ПРЯМОУГОЛЬНИК 0WH0Y000 ширина = 120 высота = 540 y = 149020 ПРЯМОУГОЛЬНИК 00HXY000 высота = 1045 x = 490 y = 32520 ПРЯМОУГОЛЬНИК 00H0YR00 height = 1320 y = 2370 rep = rep2 [xdim = 2 dx = 935]20 ПРЯМОУГОЛЬНИК 0WHXY000 ширина = 890 высота = 120 x = 655 y = 170020 ПРЯМОУГОЛЬНИК 0WHXY000 ширина = 120 высота = 825 x = 875 y = 32520 ПРЯМОУГОЛЬНИК SW00YR00 width = 340 y = 1150 rep = rep10 [dim = 3 disp = (g (330 880) g (1265 990))]2 КОНЕЦ
Промышленный стандарт
OASIS и OASIS.MASK теперь являются официальными отраслевыми стандартами . Оба принадлежат и обслуживаются торговой организацией SEMI . SEMI обслуживает промышленность по производству полупроводниковых материалов и оборудования по всему миру.
Платные спецификации для SEMI P39 OASIS и SEMI P44 OASIS.MASK можно загрузить с веб-сайта SEMI.
Внешние ссылки
Сноски
- ^ Торговое название OASIS является зарегистрированным товарным знаком Томаса Дж. Гребински, Аламо, Калифорния, в США и лицензировано для использования исключительно компанией SEMI .
- ^ http://www.eetimes.com/document.asp?doc_id=1276148