- •Исследование, разработка и применение параметризованных аналоговых элементов в составе библиотеки аналоговых базовых и сложно-функциональных блоков.
- •210100 «Электроника и наноэлектроника»
- •Глава 1. Литературный обзор. 7
- •Глава 2. Исследование и разработка оптимальных параметризованных элементов второго уровня под выбранный класс задач. 30
- •Глава 3. Применение спроектированных параметризованных аналоговых ячеек второго уровня в составе базовых блоков. 81
- •Введение.
- •Положения, выносимые на защиту.
- •Основная часть. Глава 1. Литературный обзор.
- •Автоматизация проектирования аналоговых микросхем. Обзор существующих решений.
- •Pcell – определение, способы реализации и применение.
- •Аналоговые ячейки второго уровня. Их применение.
- •Специфика физического проектирования.
- •Причины рассогласования элементов и способы их устранения.
- •Построение согласованных элементов.
- •Размещение согласуемых элементов с общим центром.
- •Уменьшение технологического влияния соседних структур для лучшего согласования элементов.
- •Рекомендации по согласованию моп-транзисторов.
- •Рекомендации по согласованию конденсаторов.
- •Методы защиты от включения тиристорной защелки.
- •Язык skill. Краткие сведения.
- •Выводы.
- •Глава 2. Исследование и разработка оптимальных параметризованных элементов второго уровня под выбранный класс задач.
- •Введение.
- •Построение элементарных параметризованных ячеек.
- •Определение изменяемых параметров.
- •Создание топологических эскизов.
- •Построение ячейки транзистора на языке skill.
- •Оптимизация программного кода.
- •Построение параметризованных аналоговых ячеек второго уровня.
- •Способы применения элементарных ячеек в составе проектируемых аналоговых ячеек второго уровня.
- •Согласование элементов на примере построения матрицы согласованных конденсаторов с соотношением элементов 1:1.
- •Построение разводки.
- •Использование элементов защиты.
- •Способы задания изменяемых параметров и их ограничений.
- •Оптимизация ячеек.
- •Методика проектирования высокоточных параметризованных аналоговых ячеек второго уровня на языке skill.
- •Глава 3. Применение спроектированных параметризованных аналоговых ячеек второго уровня в составе базовых блоков.
- •Компаратор.
- •Операционный усилитель.
- •Устройство выборки и хранения (увх).
- •Преимущества и недостатки использования спроектированных параметризованных аналоговых ячеек второго уровня.
- •Заключение.
- •Список литературы.
- •Приложение.
Построение параметризованных аналоговых ячеек второго уровня.
Аналоговые ячейки второго уровня требуют более тщательного подходы при построении, чем элементарные ячейки. Их конструкции более сложные и для достижения необходимых характеристик, требуют выполнение многих условий. Большую роль при построении высокоточных ячеек имеет согласованность составляющих их элементов. Особое внимание необходимо уделять защите ячеек от негативных факторов, таких как помехи по подложке, влияние механического напряжения, проявление эффекта электромиграции, возникновение антенного эффекта, включение паразитного тиристора и т.п.
В этом разделе будет рассматриваться процесс создания аналоговых ячеек второго уровня, на примере матрицы согласованных конденсаторов и аналоговых ключей, с учетом согласования элементов и их защиты от паразитных эффектов.
Структура кода не отличается от структуры, описанной при построении элементарных ячеек. Поэтому будем уделять внимание тем моментам, которые не были рассмотрены в части 2.2.
Способы применения элементарных ячеек в составе проектируемых аналоговых ячеек второго уровня.
Все аналоговые ячейки второго уровня состоят из элементарных ячеек. Поэтому при написании кода можно использовать уже созданные ячейки. Рассмотрим способы реализации данной задумки.
Самым примитивным и простым подходом при этом является копирование кода и вставка его в новую ячейку. Но этот вариант применим, если для построения ячейки нужны всего несколько элементарных ячеек. При увеличении этого количества будет сильно увеличиваться код. Поэтому этот способ нецелесообразно использовать для параметризованных ячеек, конструкция которых не является фиксированной.
Для использования уже созданной библиотеки в составе новых ячеек можно применять конструкцию procedure(), в которую помещается код той ячейки, которую необходимо использовать при построении других ячеек.
Структура данной конструкции:
procedure( «имя функции»(«параметры» @key «необязательные параметры»)
«тело кода»
)
Каждая конструкция имеет свое название функции, которое будет использоваться каждый раз, когда необходимо вставить элементарную ячейку в новую создаваемую ячейку.
Все процедуры прописываются в файле libinit.il. Он находится в библиотеке, в которой создаются ячейки. Файл подгружается всегда, когда запускается Cadence.
Таким образом, указывая в программе название функции, значения параметров и координаты местоположения ячейки, компилятор загружает необходимые элементы и вставляет их в создаваемую ячейку.
Но данный способ имеет существенный недостаток. При дельнейшем использовании ячеек как самостоятельных элементов система выдаст ошибку при проверке на соответствие правил проектирования.
Третьим способом и рекомендуемым для применения является использование функций dbOpenCellViewByType() и dbCreateParamInst(). Главным условие возможности применения этого метода является существование готовой ячейки.
masterCV = dbOpenCellViewByType ("Lib2013" "eCA01" "layout") – функция открывает существующую ячейку
dbCreateParamInst ( inCellView masterCV nil list(X_crd1 Y_crd1) "R0" 1
list(
list("w" "string" width) - ширина
list("l" "string" length) - длина
)
)
В данной функции указываются координаты местоположения вставляемой ячейки, ориентация и список параметров.
Этот способ применим ко всем созданным ячейкам. Поэтому является более универсальным.
