Домашние задания и методические указания по их выполнению
1.2.1. Общие сведения о САПР Cadence и базовые понятия
САПР Cadence состоит из нескольких инструментов для различных задач. Основные инструменты:
· схемотехнический редактор;
· топологический редактор;
· инструменты верификации;
· инструменты моделирования.
Cadence имеет графический интерфейс, который базируется на окнах, формах и меню. Главные окна в Cadence это:
· Command Interpreter Window (CIW) - управляет окружением. Все инструменты могут быть запущены средствами этого окна. В этом окне также пишется отчет большинства приложений.
· Library manager - показывает список библиотек и различных конструкций которые находятся в них – категории, ячейки, виды (представление ячейки).
· Design Window - показывает текущий проект. Возможно открытие нескольких Design Window одновременно.
· Текстовые окна показывают различные отчеты.
Меню в Cadence в основном с вытеснением нижней строки (pull-down menu), т.е. меню появляется после нажатия на заголовок. Есть еще всплывающие меню, которые появляются при нажатии правой кнопки.
Формы используются для ввода особой информации. Например, размеры транзисторов, свойства инстанций.
Все проекты имеют схожую иерархическую структуру. Проекты состоят из библиотеки, ячеек, видов, и инстанций.
Все данные в Cadence хранятся в библиотеках. Существуют Reference библиотеки, в которых находятся основные блоки, и библиотеки, в которых находятся сами проекты.
1.2.2. Библиотеки и виды
Каждая библиотека состоит из ячеек, которые в свою очередь содержат виды (рис. 1.1).
Рис. 1.1. Визуальное представление ячейки
Ячейка - это объект базы данных, который состоит из набора видов. Вид - представление ячейки /1/. Это может быть электрическая схема (schematic) /2/, топология (layout) /3/ или другое представление ячейки.
1.2.3. Инстанции и иерархия
Главная причина использования иерархических структур в проектах - это экономия времени проектирования и экономия объема информации в базе данных. Например, в проекте 3 одинаковых блока, в которых по 500 одинаковых приборов. Создается 1 блок и в дальнейшем используется этот блок как инстанция. Для работы как с инстанцией ячейка должна иметь вид symbol, только этот вид можно использовать при работе с инстанциями (исключение самые простые приборы)
Таким образом, создавая сложные структуры, используя инстанции, получается иерархический проект. В Cadence можно работать во всех уровнях иерархии.
1.2.4. Технологический файл
Так как существует много различных технологий (тех. процессов), с различными правилами проектирования и свойствами элементов, Cadence «должен знать» информацию о технологии, с которой работает. Эта информация хранится в технологическом файле или в технологической библиотеке. Каждая библиотека подключается к своему технологическому файлу.
Технологические библиотеки содержат информацию:
· о проводниках, контактах, транзисторах;
· Design Rules (правила проектирования) - минимальные размеры объектов и расстояния между ними;
· Display - цвета и шаблоны отображаемые на экране;
· электрические свойства: сопротивление, емкость.
Технологические библиотеки обычно поставляются в составе Design Kit.
1.2.5. Язык программирования skill
В Cadence используется язык программирования skill /4, 5/. C помощью этого языка можно автоматизировать многие операции. Подробнее об этом языке можно прочитать в документации Cadence.
1.2.6. Процесс проектирования
Процесс проектирования можно изобразить следующим образом:
1. Создание проекта.
2. Анализ проекта.
3. Создание топологии.
4. Верификация.
Создание электрической схемы проекта.
Создание библиотеки проекта
Для создания новой библиотеки необходимо использовать меню File New Library… в окне CIW (Command Interpreter Window) или из Library Manager. Далее необходимо задать имя библиотеки и выбрать опцию “Attach to an existing techfile”. В появившемся затем окне выбрать технологическую библиотеку (см. рис.1.2).
Рис. 1.2. Диалоговые окна создания новой библиотеки
Создание электрической схемы
После создания библиотеки можно приступить к вводу электрической схемы проекта. Для этой цели используется инструмент Cadence Composer Schematic /1/. Основные операции при создании электрической схемы: создание ячейки с соответствующим видом, выбор и расположение элементов, редактирование свойств объектов, прорисовка шин межсоединений, добавление выводов и текстовых меток и т.д.
Процесс создания электрической схемы удобно рассмотреть на примере инвертора (см. рис. 1.3).
Рис. 1.3. Электрическая схема инвертора
Внешний вид рабочего окна Cadence Composer Schematic представлен на рис. 1.4.
Рис. 1.4. Внешний вид рабочего окна Cadence Composer Schematic
Последовательность действий для создания схемы
1. Вставить инстанции nmos и pmos транзисторов Add Instance...
2. В появившемся окне нажать browse (или вручную заполнить поля library, cell, view). Появится окно похожее на File Manager. В нем выбрать library, cell, view для транзисторов.
3. В окне Add Instance нажать Hide.
4. В окне Schematic Editor расположить выбранные инстанции. Инстанции можно добавлять сколько угодно раз, пока не нажмете Esc. Таким же образом добавляем выводы земли и питания.
5. Обозначить входные и выходные терминалы (пины) схемы AddPin
6. Определить название терминала Pin Names и Direction Hide
7. Расположить терминал в нужном месте. Такие же операции нужно проделать для остальных пинов.
8. Соединить все узлы схемы Add Wire (narrow)или выбрать операцию на панели слева. Необходимо определить начальную и конечную точки узла, редактор автоматически выберет как провести соединение. Если автоматическое расположение не устраивает, можно выбрать и промежуточные точки. При соединении узлов нужно быть уверенным, что нужные узлы соединены. Все терминалы приборов отображают тот узел, к которому они подсоединены. Если узел соединен с пином, то имя узла будет именем этого пина. Чтобы избежать ошибок при соединении узлов в редакторе есть подсказки – ближайший к курсору узел или терминал подсвечивается ромбом. Соединять следует от ромба к ромбу.
При наличии в схеме большого количества узлов целесообразно их подписывать для упрощения чтения схемы. Еще одной причиной использования меток является то, что если даже сделать разрыв в соединении, а узлы подписать с двух сторон меткой то это будет считаться соединением. Чаще всего это используется для шин земли и питания и тактовых сигналов. Также текстовыми метками указываются адреса широких шин.
Редактирование свойств приборов и пинов
Вызвать форму свойств прибора или пина; выделить прибор или пин и нажать (q)
Свойства транзистора
Library Name, Cell Name, View Name – наименование библиотеки, ячейки и вида прибора.
Instance Name – название прибора в данной схеме
Total Width – полная ширина канала
Width per finger – ширина одного «пальца» (затвора)
Length – длина канала
Number of fingers – количество «пальцев»
Multiplier – коэффициент умножения ширины канала
Свойства пина
Name – имя пина
Direction – направление (входной или выходной пин)
Эти свойства можно применять к единичному прибору, ко всем выделенным и ко всем инстанциям в схеме – Apply to
Редактирование положения приборов и соединений
• Stretch m– двигать объект, не обрывая соединений;
• Copy c– копировать объект;
• Move M– двигать объект, все соединения с ним будут разорваны;
• Rotate j– повернуть объект, сохранив соединения;
У каждой операции есть дополнительные опции. Они вызываются следующим образом:
• Активировать операцию;
• F3
Появится меню:
• Snap mode - в каких направлениях возможно перемещение объекта;
• Rotate - повернуть на 90 градусов;
• Sideways - отобразить слева направо;
• Upside Down - отобразить сверху вниз.
В операции Copy есть еще опции:
• Array - создать массив элементов;
Rows - количество элементов в ряду;
Columns - количество элементов в столбце.
Добавлять разные приборы можно добавлением всего одной инстанции, затем скопировать ее нужное количество раз и изменить свойства инстанций.
Создание символа элемента
После завершения ввода электрической схемы устройства необходимо создать его символьное представление. Для этого в окне Composer Schematic выбирают меню Design Create Cellview From Cellview… В появившемся окне выбирают вид symbol и задают расположение выводов у элемента. Далее формируется внешний вид символа элемента (см. рис. 1.5).
Рис. 1.5. Диалоговые окна создания символа
Создание схемы тестовых воздействий
Последний шаг - это создание электрической схемы для моделирования элемента (схемы тестовых воздействий). Для создания схемы тестовых воздействий необходимо создать новый проект, в котором задать все необходимые источники напряжения/тока, нагрузочные элементы и т.д. В общем случае схема тестовых воздействий содержит: моделируемый элемент, источники земли и питания, источники постоянного/импульсного напряжения и тока, выходную нагрузку.
Схемотехническое моделирование
В рамках данного лабораторного практикума рассматривается моделирование с использованием симулятора Spectre.
1. В окне Composer Schematic: меню Tools Analog Environment (см. рис. 1.6).
а)
Рис. 1.6. а) Запуск Analog Environment (ADE);
б) Внешний вид окна ADE
б)
Рис. 1.6. а) Запуск Analog Environment (ADE);
б) Внешний вид окна ADE (продолжение)
2. В окне ADE: меню Setup Simulator/Directory/Host… В появившемся окне необходимо выбрать симулятор spectre (см. рис. 1.7).
Рис. 1.7. Выбор симулятора
В окне ADE доступны различные опции моделирования. В этой лабораторной работе выполняется временное моделирование, для этого необходимо задать тип анализа tran (меню Analyses Choose…) и все необходимые параметры и точность моделирования, переменные (меню Variables Edit…), отображаемые на графике выводы (меню Outputs To be Plotted Select on Schematic) (см. рис. 1.8, 1.6, б):
Рис. 1.8. Окно установки типа анализа
В меню Setup Model Libraries… устанавливают файл моделей и используемые секции этого файла (см. рис. 1.9).
Рис. 1.9. Окно установки математических моделей
3. Запуск моделирование осуществляется через меню Simulation Netlist and Run. После окончания моделирования появится окно с результатами /6/ (см. рис. 1.10).
Рис. 1.10. Окно с результатами моделирования
Контрольные вопросы
1. Для каких целей используется САПР Cadence?
2. Почему в Cadence используют иерархическую структуру проекта?
3. Что подразумевается под понятием ячейка?
4. Какие секции моделей существуют? В чем их сущность?
5. Что такое технологический файл, для чего он нужен?
Лабораторные задания
1. Собрать схему устройства, соответствующего номеру варианта (см. приложение 1).
Лабораторное задание выполняется в несколько этапов:
1. Создание библиотеки (имя библиотеки – studentX, где Х – номер варианта задания)
2. Создание ячейки (имя должно соответствовать типу устройства, например 4NAND – соответствует элементу 4 И-НЕ)
3. Составление схемы на транзисторах.
4. Создание символа устройства.
2. Составить схему тестовых воздействий
Схема тестовых воздействий должна находиться в той же ячейке что и весь проект. Имя схемы – schematic_mod.
3. Провести схемотехническое моделирование
Моделирование проводится при температуре 27 ºС, для типовых моделей. Фронты входных сигналов задать 50 пксек. В процессе выполнения лабораторного задания замерить фронты выходного сигнала (по уровню 0,1 и 0,9 сигнала), и задержку переключения (по уровню 0,5 сигнала). В качестве источников входных сигналов использовать генераторы «Vpulse». Результаты моделирования должны быть занесены в таблицу.
Вход | Фронт, пкс | Задержка переключения, пкс | ||
01 | 10 | 01 | 10 | |
Контрольные вопросы и задания
1. Сформулируйте последовательность действий для создания проекта.
2. Что такой ADE? Для каких целей он используется? Как запустить ADE?
3. О чем говорит эта ошибка: «M0 is an instance of an undefined model nmos4»?
4. Сформулируйте последовательность действий для проведения схемотехнического моделирования.