Часть 8: СОЗДАНИЕ НОВОГО ОКРУЖЕНИЯ


plug

8-9: Как изменения технологии сказываются на существующих библиотеках

plug



Когда технология создана, компоненты доступны для разработки. Вскоре будет много библиотек схем, которые будут использовать эту новую технологию. Что случится с этими библиотеками, когда описание технологии изменится? В большинстве случаев изменения корректно взаимодействуют с существующими библиотеками. Однако некоторые изменения осуществляются труднее и могут повредить существующие библиотеки. В этом разделе обсуждаются возможные изменения и показывается, как поступать в затруднительных ситуациях.

Информация технологии появляется в четырех разных местах: слои, дуги, узлы и основная информация  технологии (Miscellaneous Info facet, design-rules, color maps и variables). Информация в этих областях может быть добавлена, удалена или модифицирована. Далее в разделе обрисовываются все эти ситуации.

Добавление слоев, добавление дуг, добавление узлов, добавление основной информации

Добавление информации не влияет не существующую цепь. Все более поздние разработки цепей могут использовать новые элементы технологии.

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

Если слои добавлены в конец, тогда таблицы будут просто иметь пустые элементы для новых слоев. Если, однако, слои добавлены в середину, элементы в таблицах слоев станут ассоциированы с неправильными слоями. Вам необходимо отредактировать таблицы слоев и поправить их элементы.

Удаление слоев

Все ссылки на удаленные слои в любых узлах или дугах технологии становятся бессмысленны. Это не портит библиотеки, которые используют слои, но портит описания узлов и дуг в технологии. Геометрия в этих узлах и дугах должна быть перемещена на другой слой.

Удаление слоя может вызвать такие же проблемы, как при добавлении слоя: несовместимые таблицы слоя. При удалении слоев элементы таблиц слоя будут ассоциироваться неправильно. Вам следует отредактировать таблицы и исправить элементы.

Удаление узлов, удаление дуг

Это вызовет сообщение о ошибке при чтении библиотеки о попытке использовать удаленные элементы. В этом случае вы можете заменить их другим узлом или дугой для использования вместо теперь неизвестных компонент.

Удаление основной информации

Это всецело зависит от того, где информация используется. Например, средства анализа могут сбоить при попытке найти требуемую им информацию.

Модификация слоев

Это полностью прозрачная операция. Любые изменения цвета, стиля или информации о штриховке (включая изменения карты цветов) появятся во всех библиотеках, которые используют технологию. Изменения в I/O эквивалентах или SPICE паразитных параметрах будут доступны во всех существующих библиотеках. Изменение функции слоя может сказаться на способности редактора технологии расшифровать узлы или дуги, которые используют этот слой (например, если вы измените функцию "polysilicon" или "diffusion" слоев, которые формируют транзистор, редактор будет не способен идентифицировать этот транзистор). Переименование слоя не вызывает побочных эффектов.

Модификация дуг, модификация узлов

Это не так просто, как модификация слоя, поскольку дуги и узлы появляются в библиотеках цепей, тогда как слои нет. Если вы переименовали узел или дугу, это вызовет ошибку при чтении библиотеки, которая пытается использовать узлы со старыми именами. Следовательно, вы должны вначале создать новый узел или дугу, преобразовать существующие в новый тип, а затем удалить старый узел или дугу.

Многие фрагменты информации в правой части фасета узла или дуги используются только для вновь созданных цепей, и НЕ  воздействуют на уже существующие в библиотеках компоненты. Факторы дуги "Fixed-angle", "Wipes pins", "Extend arcs" и "Angle increment" не сказываются на существующих библиотеках. Фактор узла "Square node" также не сказывается на существующих цепях и применяется только к последующим разработкам.

Другие факторы сказываются на существующих цепях. Изменения поля "Function" и для дуг, и для узлов, проходит во все существующие компоненты, так что сказываются на средствах анализа в части рассмотрения старых цепей. Если поле "Serpentine Transistor" в узлах выключается, любые существующие транзисторы, которые имеют серпантиновидные описания, будут преобразованы в большие прямоугольные узлы с неверными соединениями (то есть, заполнятся мусором). К сожалению, может оказаться невозможным сохранить поле "Serpentine Transistor" включенным, если геометрия не приспособлена к стандартному набору редактором технологии для распознавания отдельных частей. Если узел не серпантиновидный, включение фактора не сказывается. И, наконец, факторы узла "Invisible with 1 or 2 arcs" и "Lockable" корректно сказываются на всех существующих схемах.

Более общей модификацией дуг и узлов является изменение их графических описаний. Простое правило подходит ко всем подобным изменениям: если вы изменили размер ограничивающего контура, это, возможно, вызовет не желаемые изменения пропорций во всех существующих цепях. Это происходит по причине того, что информация ограничивающего контура - это все, что запоминается в библиотеке, а размеры слоя определены в терминах этого контура.

Например, положим, что есть активная дуга определенная с двумя слоями: diffusion (2 wide) и well (8 wide) (диффузный двойной ширины, и карман шириной 8). Дуги в библиотеках, соответственно, записаны с шириной 8 (наибольший размер). Система знает, что диффузия уже, чем предельная дуга с 3 на каждой стороне.

Figure 8.15

Теперь, если вы измените карман, так что он станет шириной 10, система определит, что диффузия должна быть сужена к предельной дуге с 4 на каждой стороне, и для существующих дуг с шириной 8 диффузия будет усажена до нуля и исчезнет. Размеры таких дуг должны меняться индивидуально, что может быть скучновато.

Вот пример того, как изменения геометрии узла могут вызвать трудности. Положим, есть транзистор, который имеет активную часть (шириной 2) и часть затвора (шириной 2). Каждая часть расширяется поперек области транзистора на 2, так что сделаем полный узел размером 6х6. Размер каждой пересекающейся части будет определен на 2 уже, чем ограничивающий контур на каждой стороне. Если части изменятся так, что они расширятся только на 1, тогда определение каждой полосы будет изменено на 1 меньше, чем размер рамки на каждой стороне. Все существующие транзисторы будут вдруг иметь полосы шириной 4, где предполагалось, что используется ширина 2.

В обоих этих примерах, возможно, предпочтительней сохранить старую технологию и дать новой технологии другое имя. Тогда старые библиотеки могут читаться в старую технологию, а команда Make Layout View... (сделать отображение компоновки) меню View может быть использована для преобразования в новую технологию. Эта команда использует функциональную зависимость узлов и дуг для ассоциации с компонентами, масштабируя их подходящим образом, относительно их предустановленных размеров. Изменение завершается при удалении старой технологии - переименовывая новую технологию старым именем, а затем сохраняя библиотеку.

Модификация основной информации

Это, как правило, оставляет ситуацию прозрачной: измененная информация появляется во всех существующих библиотеках, и сказывается на тех подсистемах, которые используют информацию. Например, изменение заголовков в SPICE будет видно тогда, когда в следующий раз генерируется симуляция SPICE. Изменения правил разработки будет использовано даже со старыми библиотеками.

Есть один исключительный фрагмент информации, который НЕ меняется в существующих библиотеках: значение лямбда в смешанном фасете информации (Miscellaneous Information facet). Изменение этого значения заставляет измениться технологию, и по этой причине все в дальнейшем создаваемые библиотеки будут иметь это новое значение. Однако, если вы прочитываете любую старую библиотеку, формирователь значения лямбды будет использован для этой библиотеки. Хотя, поскольку значение лямбда в технологии запоминается в библиотеках, любая новая схема, создаваемая в этой библиотеке, будет также иметь старое значение лямбда. Только переключением библиотек к той, что с текущим значением лямбды (или изменением значения лямбды командой Change Units... меню Technology), может установить новое значение.


Prev

Предыдущий

   

Contents

Содержание

   

Следующий

Next