- •Исследование, разработка и применение параметризованных аналоговых элементов в составе библиотеки аналоговых базовых и сложно-функциональных блоков.
- •210100 «Электроника и наноэлектроника»
- •Глава 1. Литературный обзор. 7
- •Глава 2. Исследование и разработка оптимальных параметризованных элементов второго уровня под выбранный класс задач. 30
- •Глава 3. Применение спроектированных параметризованных аналоговых ячеек второго уровня в составе базовых блоков. 81
- •Введение.
- •Положения, выносимые на защиту.
- •Основная часть. Глава 1. Литературный обзор.
- •Автоматизация проектирования аналоговых микросхем. Обзор существующих решений.
- •Pcell – определение, способы реализации и применение.
- •Аналоговые ячейки второго уровня. Их применение.
- •Специфика физического проектирования.
- •Причины рассогласования элементов и способы их устранения.
- •Построение согласованных элементов.
- •Размещение согласуемых элементов с общим центром.
- •Уменьшение технологического влияния соседних структур для лучшего согласования элементов.
- •Рекомендации по согласованию моп-транзисторов.
- •Рекомендации по согласованию конденсаторов.
- •Методы защиты от включения тиристорной защелки.
- •Язык skill. Краткие сведения.
- •Выводы.
- •Глава 2. Исследование и разработка оптимальных параметризованных элементов второго уровня под выбранный класс задач.
- •Введение.
- •Построение элементарных параметризованных ячеек.
- •Определение изменяемых параметров.
- •Создание топологических эскизов.
- •Построение ячейки транзистора на языке skill.
- •Оптимизация программного кода.
- •Построение параметризованных аналоговых ячеек второго уровня.
- •Способы применения элементарных ячеек в составе проектируемых аналоговых ячеек второго уровня.
- •Согласование элементов на примере построения матрицы согласованных конденсаторов с соотношением элементов 1:1.
- •Построение разводки.
- •Использование элементов защиты.
- •Способы задания изменяемых параметров и их ограничений.
- •Оптимизация ячеек.
- •Методика проектирования высокоточных параметризованных аналоговых ячеек второго уровня на языке skill.
- •Глава 3. Применение спроектированных параметризованных аналоговых ячеек второго уровня в составе базовых блоков.
- •Компаратор.
- •Операционный усилитель.
- •Устройство выборки и хранения (увх).
- •Преимущества и недостатки использования спроектированных параметризованных аналоговых ячеек второго уровня.
- •Заключение.
- •Список литературы.
- •Приложение.
Язык skill. Краткие сведения.
Язык SKILL – это высокоуровневый, интерактивный язык программирования, основанный на популярном языке Lisp, который является одним из основных средств моделирования различных аспектов искусственного интеллекта. SKILL используется для написания скриптов в САПР Virtuoso компании Cadence Design Systems. Он позволяет быстро и легко настраивать существующие приложения САПР, а так же развивать новые.
Синтаксис языка похож на всем привычный синтаксис языка С. Поэтому как начинающему, так и продвинутому программисту не составит труда его изучить. SKILL идеально подходит для прототипирования. Разработчик может пошагово проверять свой алгоритм, прежде чем включать его в большой код. SKILL так же можно использовать в качестве калькулятора.
Программа на языке SKILL состоит из последовательности выражений (форм). Результат работы программы состоит в вычислении этих выражений. Все выражения записываются в виде списков — одной из основных структур языка. Список является последовательностью элементов любого рода, в том числе других списков. Например, (list 1 2 (list 1 2)) возвращает (1 2 (1 2)).
Выражения представляются списками в префиксной записи: первый элемент должен быть формой, то есть функцией, оператором, макросом или специальным оператором; прочие элементы — аргументы этой формы, передаваемые форме для обработки. Специальные операторы позволяют управлять последовательностью вычислений. С их помощью реализуются ветвления и циклы. Например, мы имеем изменяемый параметр х. И хотим, чтобы, когда х больше 5 на экране появлялась надпись «х больше 5», а в ином случае – «х меньше 5». Пример кода, который будет выполнять данный алгоритм, указан ниже.
if( (x > 5)
then print("х больше 5")
else print("х меньше 5")
)
В данном примере была использована функция print(). Она выдает на экран выражение, которое ей задается в качестве аргумента в двойных кавычках.
Внешне исходный код программы на SKILLе отличается обилием круглых скобок; редактирование программ значительно упрощается использованием текстового редактора, поддерживающего автоматическое выравнивание кода, подсветку соответствующих пар скобок.
SKILL наиболее приспособлен для создания библиотек параметризованных ячеек. Он прост в использовании и предоставляет все возможности для написания скриптов, позволяющих автоматически создавать топологию элементов.
Как и все языки программирования, язык SKILL имеет свои функции, операторы, макросы. Они помогают разработчикам реализовывать свои задумки. Один и тот же алгоритм можно воплотить в жизнь разными способами. Данная возможность дает программисту свободу действий и полет фантазии, что в наше время является большим плюсом.
Подробное описание функций можно найти в документациях, разработанных компанией Cadence. Например, документ SKILL Language Reference дает полное растолкование базовых функций. Таким образом, разработчик может всегда найти нужную ему информацию о возможностях языка SKILL.
