Jump to content

Промежуточная форма Калифорнийского технологического института

Промежуточная форма Калифорнийского технологического института (at)
Расширение имени файла
.cif
Тип формата EDA Формат файла

Caltech Intermediate Form ( CIF ) — это формат файла для описания интегральных схем . CIF предоставляет ограниченный набор графических примитивов, полезных для описания двумерных изображений. формы на разных слоях чипа. Формат допускает иерархическое описание, что делает представление кратким. Кроме того, это краткий, но удобочитаемый текстовый формат.

Каждый оператор в CIF состоит из ключевого слова или буквы, за которыми следуют параметры и завершается с точкой с запятой. Параметры должны разделяться пробелами, но ограничений на количество операторов нет. в каждой строке или в отдельных столбцах любого поля. Комментарии можно вставлять где угодно, заключая их в круглые скобки.

Существует всего несколько операторов CIF, и они попадают в одну из двух категорий: геометрия или контроль. Утверждения геометрии: LAYER для переключения слоев маски, BOX нарисовать прямоугольник, WIRE нарисовать путь, ROUNDFLASH нарисовать круг, POLYGON нарисовать произвольный фигура, и CALL для рисования подпрограммы других операторов геометрии. Управляющие операторы DS чтобы начать определение подпрограммы, DF закончить определение подпрограммы, DD удалить определение подпрограммы, 0 через 9 к включать дополнительную информацию, указанную пользователем, и END для завершения файла CIF. Все эти ключевые слова обычно сокращаются до одной или двух уникальных букв.

Геометрия

[ редактировать ]

The LAYER заявление (или письмо L) устанавливает слой маски, который будет использоваться для всей последующей геометрии до следующего такого утверждения. После LAYER Ключевое слово содержит один параметр имени слоя. Например, команда:

    L CC;

устанавливает слой в качестве слоя контакта КМОП (некоторые типичные названия слоев МОП см. на рис. B.1).

NM нМОП-металл
NP нМОП поликремний
ND диффузия nMOS
NC контакт нМОП
NI нМОП-имплантат
NB nMOS похоронен
NG nMOS-стекло
CMF КМОП металл 1
CMS КМОП металл 2
CPG КМОП поликремний
CAA КМОП активен
CSG выбор КМОП
CWG КМОП хорошо
CC контакт КМОП
CVA КМОП через
COG КМОП-остекло
РИСУНОК B.1 Имена слоев CIF для процессов MOS.

The BOX заявление (или письмо B) — наиболее часто используемый способ уточнение геометрии. Он описывает прямоугольник, задавая его длину, ширину, центральное положение и необязательный поворот. Формат следующий:

    B length width xpos ypos [rotation] ;

Без поля вращения четыре числа обозначают прямоугольник, центр которого равен at ( xpos , ypos ) и длина поперек по x и ширина по y. Все числа в CIF являются целыми числами, обозначающими расстояние в сантимикронах, за исключением случаев, когда подпрограмма указано масштабирование (описано позже). Необязательное поле поворота содержит два числа, которые определяют конечную точку вектора. начиная с начала. Значением по умолчанию этого поля является (1, 0), что является вектором, указывающим вправо. Таким образом, пункт о ротации 10 5 определяет поворот на 26,6 градусов против часовой стрелки от нормального. Сходным образом, 10 -10 повернется по часовой стрелке на 45 градусов. Обратите внимание, что величина этого вектора вращения не имеет значения.

РИСУНОК B.2. Пример «проводного» заявления CIF. Заявление: W25 100 200 100 100 200 200 300 200;

The WIRE заявление (или письмо W) используется для построения путь, проходящий между набором точек. Путь может иметь ненулевую ширину и закругленные углы. После WIRE ключевое слово приходит значение ширины, а затем произвольное количество пар координат, описывающих конечные точки. На рисунке B.2 показан образец провода. Обратите внимание, что конечная точка и скругление углов обрабатываются неявно.

The ROUNDFLASH заявление (или письмо R) рисует заполненный круг, учитывая диаметр и координату центра. Например, утверждение:

    R 20 30 40;

нарисует круг радиусом 10 (диаметром 20) с центром в точке (30, 40).

РИСУНОК B.3. Пример оператора CIF «многоугольник». Заявление: P 150 100 200 200 200 300 100 300 100 200;

The POLYGON заявление (или письмо P) занимает серию пары координат и рисует из них заполненный многоугольник. Поскольку заполненные многоугольники должны быть замкнуты, первая и последняя точки координат неявно связаны и не обязательно должны быть одинаковыми. Полигоны могут быть сколь угодно сложными, включая вогнутость и самопересечение. Рисунок B.3 иллюстрирует оператор многоугольника.

Иерархия

[ редактировать ]

The CALL заявление (или письмо C) вызывает коллекцию других заявлений, которые были упакованы с DS и DF. Всем подпрограммам присваиваются номера, когда они определены, и эти номера используются в тот CALL чтобы идентифицировать их. Если, например, LAYER заявление и BOX заявление упакованный в подпрограмму 4, то оператор:

    C 4;

приведет к тому, что коробка будет нарисована на этом слое.

Помимо простого вызова подпрограммы, CALL заявление может включать в себя преобразования, влияющие на геометрию внутри подпрограммы. К подпрограмме в CIF можно применить три преобразования: перемещение, вращение и зеркальное отображение. Перевод указан как буква T за которым следует смещение x, y. Эти смещения будут добавлены ко всем координатам в подпрограмме, чтобы перевести ее графика на маске. Вращение указывается буквой R за которым следует конечная точка вектора x, y это очень похоже на положение о ротации в BOX оператор определяет линию до начала координат. Неповернутая линия имеет конечную точку (1, 0), которая указывает вправо. Зеркальное отображение доступно в двух формах: MX отразить в x и MY отразить в y. Зеркальное отображение немного сбивает с толку, потому что MX вызывает отрицание x координата, которая эффективно отражает ось y.

РИСУНОК B.4 Преобразования «вызова» CIF: (a) Подпрограмма 10: BOX 100 200 50 50; ПРОВОЛОКА 10 50 50 100 150; (б) Призыв: C 10 T -50 0 MX MY; (c) Вызов: C 10 R 0 -1 MX; (г) вызов: C 10 MX R 0 -1;

К объекту и их указанному порядку можно применить любое количество преобразований. — это последовательность, которая будет использоваться для их применения. На рисунке B.4 показаны некоторые примеры, иллюстрирующие важность упорядочения преобразования (обратите внимание, что рисунки B.4c и B.4d дают разные результаты за счет перестановка преобразований).

Определение подпрограмм для использования в CALL утверждение довольно простое. Операторы, подлежащие упаковке, заключаются между DS (определение начать) и DF (окончание определения) высказывания. Аргументы DS оператором являются номер подпрограммы и коэффициент масштабирования подпрограммы. Нет никаких аргументов в пользу DF заявление. Коэффициент масштабирования для подпрограммы состоит из числителя, за которым следует знаменатель. это будет применено ко всем значениям внутри подпрограммы. Такое масштабирование позволяет выражать большие числа меньшим количеством цифр и облегчает масштабирования дизайна. Масштабный коэффициент не может быть изменен при каждом вызове подпрограммы, поскольку он применяется к определению. В качестве примера подпрограмму, показанную на рис. Б.4, можно формально описать следующим образом:

    DS 10 20 2;
      B10 20 5 5;
      W1 5 5 10 15;
    DF;

Обратите внимание, что масштабный коэффициент равен 20/2, что позволяет отбросить конечный ноль. из всех значений внутри подпрограммы.

В подпрограммах CIF допускается произвольная глубина иерархии. Ссылки вперед разрешены при условии, что подпрограмма определена до ее использования. Таким образом, последовательность:

    DS 10;
       ...
      C 11;
    DF;
    DS 11;
       ...
    DF;
    C 10;

законно, но последовательность:

    C 11;
    DS 11;
       ...

    DF;

нет. Это связано с тем, что фактический вызов подпрограммы 11 не не возникает до тех пор, пока не будет определено в первом примере.

Контроль

[ редактировать ]

Подпрограммы CIF можно перезаписать, удалив их, а затем переопределив. DD оператор (определение удаления) принимает один параметр и удаляет каждую подпрограмму, номер которой больше или равен этому значению. Этот оператор полезен при объединении нескольких файлов CIF, поскольку проекты могут быть определяются, вызываются и удаляются, не вызывая конфликтов имен. Однако его не рекомендуется для общего использования в системах САПР.

Расширения CIF можно выполнить с помощью числовых операторов. 0 через 9. Хотя официально он не является частью CIF, для него были разработаны определенные соглашения. использование этих расширений (см. рис. Б.5).

0 слой xy N имя ; Установить именованный узел на указанном слое и в указанной позиции
0V x1 y1 x2 y2 ... xn ; Рисовать векторы
2A "сообщение" T ху ; Разместить сообщение выше указанного места
2B "сообщение" T ху ; Разместить сообщение ниже указанного места
2C "сообщение" T ху ; Поместить сообщение по центру указанного места
2L "сообщение" T ху ; Поместить сообщение слева от указанного места
2R "сообщение" T ху ; Разместить сообщение справа от указанного места
4A lowx lowy highx highy ; Объявить границу ячейки
4B имя экземпляра ; Прикрепить имя экземпляра к ячейке
4N имя сигнала xy ; Маркирует сигнал в определенном месте
9 имя ячейки ; Объявить имя ячейки
91 имя экземпляра ; Прикрепить имя экземпляра к ячейке
94 метка ху ; Разместить этикетку в указанном месте
95 длина этикетки ширина xy ; Разместить этикетку в указанной области
РИСУНОК B.5 Типичные пользовательские расширения CIF.

Последним выражением в файле CIF является END заявление (или письмо E). Он не принимает никаких параметров и обычно не включает точку с запятой.

БНФ-грамматика

[ редактировать ]

Ниже приведена грамматика формата CIF, где cifFile является узлом грамматики верхнего уровня.

cifFile ::= (blank* command? semi)* endCommand blank*
command ::= primCommand | defDeleteCommand | defStartCommand semi (blank* primCommand? semi)* defFinishCommand
primCommand ::= polygonCommand | boxCommand | roundFlashCommand | wireCommand | layerCommand | callCommand | userExtensionCommand | commentCommand
polygonCommand ::= "P" path
boxCommand ::= "B" integer sep integer sep point (sep point)?
roundFlashCommand ::= "R" integer sep point
wireCommand ::= "W" integer sep path
layerCommand ::= "L" blank* shortname
defStartCommand ::= "D" blank* "S" integer (sep integer sep integer)?
defFinishCommand ::= "D" blank* "F"
defDeleteCommand ::= "D" blank* "D" integer
callCommand ::= "C" integer transformation
userExtensionCommand ::= digit userText
commentCommand ::= "(" commentText ")"
endCommand ::= "E"
transformation ::= (blank* ("T" point |"M" blank* "X" |"M" blank* "Y" |"R" point)*)*
path ::= point (sep point)*
point ::= sInteger sep sInteger
sInteger ::= sep* "-"? integerD
integer ::= sep* integerD
integerD ::= digit+
shortname ::= c c? c? c?
c ::= digit | upperChar
userText ::= userChar*
commentText ::= commentChar* | commentText "(" commentText ")" commentText
semi ::= blank* ";" blank*
sep ::= upperChar | blank
digit ::= "0" | "1" | ... | "9"
upperChar ::= "A" | "B" | ... | "Z"
blank ::= any ASCII character except digit, upperChar, "-", "(", ")", or ";"
userChar ::= any ASCII character except ";"
commentChar ::= any ASCII character except "(" or ")"

См. также

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e3a71f2f40364927acb65a70392d6da0__1692148020
URL1:https://arc.ask3.ru/arc/aa/e3/a0/e3a71f2f40364927acb65a70392d6da0.html
Заголовок, (Title) документа по адресу, URL1:
Caltech Intermediate Form - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)