Реализация символьного представления компонента 'Инвертор'

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    221,2 Кб
  • Опубликовано:
    2016-01-24
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Реализация символьного представления компонента 'Инвертор'

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего профессионального образования

«Инженерно-техническая академия южного федерального университета»

Институт компьютерных технологий и информационной безопасности

Кафедра САПР





Пояснительная записка к курсовой работе

по курсу «Автоматизация проектирования СБИС»


Выполнил

ст-т группы КТсз 6-5 Кудрявцев Павел Александрович

Принял

ас-т Запорожец Дмитрий Юрьевич




Таганрог 2016

Постановка задачи

Используя САПР Cadence:

Создать символьное представление компонента «Инвертор».

Построить принципиальную схему СБИС, основанной на КМОП-структуре.

Построить топологию СБИС, реализующую заданную логическую функцию.

Теоретическая часть

САПР Cadence

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

Каждый новый процессор - это многолетний труд тысяч и людей, ведь современный чип содержит сотни миллионов транзисторов, не за горами и чипы с миллиардом элементов. Изготовителям приходится иметь дело со слоями материала толщиной всего в несколько молекул. Естественно, нет никакой возможности отлаживать подобный проект на уровне прототипа, необходимо осуществлять проектирование нового процессора с использованием средств компьютерного моделирования. Это многоступенчатый процесс - от создания логической структуры процессора до разработки корпуса микросхемы и подготовки шаблона для литографии. Все подобные расчеты делаются с помощью специального программного обеспечения - систем автоматизированного проектирования (САПР), а создают это программное обеспечение такие компании, как Cadence Design Systems (далее Cadence). В каталоге компании Cadence большое количество программных средств, таких как средства проектирования печатных плат, средства высокоуровневой верификации, системы проектирования цифровых и аналоговых схем, средства физической верификации.

САПР Cadence используют сегодня многие ведущие производители микроэлектроники. "Наша компания занимается выпуском программного обеспечения, которое позволяет пройти весь маршрут проектирования - от идей конструкторов до реализации устройства в виде коммерческого продукта", - утверждает руководство российского представительства компании Cadence.

Несмотря на серьезное отставание технологической базы российской микроэлектроники от уровня развитых западных стран, российские предприятия и центры проектирования имеют устойчивый интерес к продуктам Cadence, в частности, расположенные в г. Зеленограде предприятия электронной индустрии. Именно поэтому компания Cadence инвестирует свои средства в Российский рынок микроэлектроники и не только поставляет им свою продукцию, но и ведет активную программу развития и поддержки микроэлектроники в российских вузах, предоставляя учебным заведениям свои продукты и обучение.

Комплементарные МОП-структуры

Комплементарные МОП-структуры относятся к широкому классу логических схем, называемых статическими схемами, в которых в каждый момент времени каждый выход элементов соединяется либо с питанием (vdd), либо с питанием с малым сопротивлением (vss). Кроме того, предполагается, что выходы элементов в любой момент времени описываются булевой функцией в реализованной схеме.

Функция цепи PUN обеспечивает соединение между выходом и vdd всегда, когда выход логического элемента равным 1. Подобным образом функция в цепи PDN является соединением с выходом vss, когда выход логического элемента предполагается равным 0. Данные цепи задаются по взаимоисключающему принципу. В одном режиме ток проводит только одна цепь.

При создании данных цепей необходимо иметь ввиду следующие соображения:

) Транзистор можно рассматривать как ключ, управляемый отпирающим импульсом;

) Ключ n-МОП транзистора включен, когда управляющий сигнал имеет высокий уровень (1) и выключен, когда управляющий сигнал имеет низкий уровень;

) р-МОП транзистор действует как обратный ключ ;

) Разгрузочная сеть PDN создается с использованием n-МОП устройств, а р-МОП транзистор применяется в нагрузочной цепи.

При создании логических функций следует руководствоваться следующим набором правил:

) n-МОП устройства соединенные последовательно соответствуют функции И, n-МОП устройства соединенные параллельно - функции ИЛИ

) р-МОП устройства соединенные последовательно соответствуют функции ИЛИ-НЕ, р-МОП устройства соединенные параллельно - функции И-НЕ

) Используя теорему де Моргана можно показать, что нагрузочная и разгрузочная сети комплементарных МОП-структур являются дуальными. Это означает, что параллельное соединение транзисторов в нагрузочной цепи соответствуют последовательному соединению соответствующих устройств в разгрузочной цепь и наоборот, следовательно для создания К-МОП элемента одна из цепей , например PDN реализуется с использованием и параллельного и последовательного соединений. Другая сеть строится путем использования принципа дуального прохода по иерархическому представлению, замена последовательных подсетей параллельными, а параллельных - последовательными;

) Полный К-МОП элемент создается за счет объединения цепи PDN и PUN;

) Комплементарный элемент по своей природе является инвертирующим, поэтому он реализует такие функции как НЕ-И или НЕ-ИЛИ;

) Реализация не инвертирующих булевых функций таких как И, ИЛИ, исключающее ИЛИ требует дополнительного каскада инверторов;

) Число транзисторов, требуемое для реализации логических элементов с n входами равно 2n.


Практическая часть

Создание символьного представления компонента

В окне редактора проектирования символа (вместо окна редактора проектирования схем), набираем для имени ячейки представление symbol или указываем программный пакет Composer-Symbol. Для этого в окне командного интерпретатора CIW из меню Tools вызывается команда Library Manager.

Рис. 1. Открытие окна Library Manager

В появившемся окне Library Manager выбираем имя библиотеки (library) и далее в основном меню - команду File→New→Cell View для создания нового представления.

В строке Cell Name вводим имя ячейки. В строке, требующей указать программу графического редактора (Tool), вводим Composer-Symbol, при этом автоматически в строке View Name появится слово symbol (символ) (рис. 31) или, если в строке, требующей указать имя представления (View ), вводится слово symbol (символ), то при этом автоматически в строке Tool появится программа Composer-Symbol.

После нажатия ОК на экране дисплея откроется окно редактора символов.

Рис. 2. Окно графического редактора символов

Из меню Add вызываем команду Shape→Polygon. Далее необходимо нарисовать три отрезка, образующих треугольник инвертора.. Для описания другой формы символа, например окружности, выбираем Add→Shape→Сircle - прорисовка окружности в конце символа инвертора. Чтобы нарисовать окружность, вводим щелчком мышки точка центра окружности, затем указываем точку в стороне для определения радиуса окружности.

Рис. 3. Прорисовка многоугольной и круглой формы символа

Чтобы ввести внешние выводы символа, необходимо выполнить следующие действия:

в окне графического редактора символов выбираем Add→Pin;

заполняем появившуюся форму окна Add Pin, набрав имена внешних выводов, разделив их пробелами.

В окне Add Pin в графе Direction выбираем из списка направление сигнала (Input(вход)/Output(выход));

теперь курсором можно указать точку размещения входного вывода;

Рис. 4. Задание, размещение и установка внешних выводов символа

Для описания меток символа вызываем команда Label из меню Add.

В качестве имени метки появится интерпретирующая метка [@instanceName]. Редактор интерпретирует метку, задавая ей уникальное имя, когда символ размещается на схематике . Квадратные скобки [ ] ограничивают выражение замены. Любой текст в квадратных скобках не интерпретируется. Символ @ показывает начало выражения замены, например, [@instanceName].

Чтобы добавить обычную метку, устанавливаем Label Type в значение normalLabel, а LabelChoice в Logical Label.

Затем вводим имя метки inv.

Рис. 5. Описание имени метки

Для определения прямоугольника, ограничивающего символ:

вызываем команду Selection Box из меню Add;

указываем Automatic на появившейся форме. Ограничивающий прямоугольник вокруг символа ставится автоматически.

Для ввода комментариев выбираем в окне графического редактора команда Add→Note→Shape. Текст комментариев вводим в окне Add Note Shape.

Для установки начала координат символ размещается в центре символьного окна:

привязку начала координат к входному внешнему выводу выполняем щелчком левой кнопки мышки на выводе А.

Рис. 6. Ограничивающий прямоугольник и комментарии к символу

Для сохранения символа в базе данных вызываем команду Save в меню Design.

Рис. 7. Сохранение символа

Построение принципиальной схемы СБИС, основанной на КМОП-структуре

Чтобы открыть окно редактора схемного проектирования, набираем для имени ячейки представление schematic или указываем программный пакет Composer-Schematic. Для этого в окне командного интерпретатора CIW из меню Tools вызываем команду Library Manager.

Рис. 8. Открытие окна Library Manager

В появившемся окне Library Manager выбираем имя библиотеки (library) и далее в основном меню - команду File→New→Cell View для создания нового представления.

В строке Cell Name вводим имя ячейки. В строке, требующей указать программу графического редактора (Tool), вводим Composer-Schematic, при этом автоматически в строке View Name появится слово schematic.

Рис. 9. Новое представление Cell View

Рис. 10. Окно графического редактора схем

В первую очередь создадим инвертор. Для этого понадобится p-МОП-транзистор и n-МОП-транзистор. Для этого в меню Add следует выбрать вкладку Instance, после чего необходимо выбрать из библиотек необходимые элементы и части схемы. p-МОП находится в библиотеке (Library) pCells, ячейке (Cell) pmos, представление (View) symbol. n-МОП находится в библиотеке (Library) pCells, ячейке (Cell) nmos, представление (View) symbol . Также нам понадобятся элементы, обозначающие сигнал высокого уровня (VDD) и обозначающий сигнал низкого уровня (GND). Данные элементы находятся в библиотеке (Library) basic, ячейке (Cell) VDD и GND соответственно, представление (View) symbol.

Последовательно разместим данные символы в рабочей области редактора.

Рис. 11. Расположение символов

Необходимо добавить выводы будущего инвертора. Для этого в меню Add выберем пункт Pin. В появившееся окне в поле Pin names укажем имя контакта «А». В поле Direction выбирается тип контакта. В данном случае выберем input (входящий сигнал). Не закрывая окно, разместим данный контакт. После этого в окне Add Pin создадим контакт c именем Pin names «B» и типом контакта Direction: output.

Далее необходимо указать связи между элементами. Для этого на левой панели инструментов выбираем иконку  (Wire). Левым щелчком мыши указываем точки, которые необходимо соединить.

Рис. 12. Схема инвертора

символ метка компонент инвертор

Проведем верификацию построенного инвертора. Для этого на панели инструментов нажмем кнопку  (Check and Save). При наличии ошибок система выдаст окно сообщения, иначе сохранение подтвердится звуковым сигналом.

Для дальнейшего использования инвертора как элемента нам необходимо произвести процедуру свертки. Для этого в меню вызовем Design → Create Cellview → From Cellview. В последовательно появившихся двух окнах нажимаем Ok.

После генерации система откроет окно схемного редактора с созданным символом инвертора. Выбрав в окне редактора [@partName], нажимаем на панели инструментов кнопку  Properties (Свойства) и меняем имя элемента. Нажимаем ОК,  (Save) и закрываем окно приложения.

Рис. 13. Свернутый символ

Реализуем сначала загрузочную, а затем и разгрузочную цепи. Разместим и соединим необходимые элементы. Для загрузочной цепи используем pmos транзисторы, для разгрузочной - nmos транзисторы.

Рис. 14. Реализация загрузочной цепи для логической функции ИЛИ

Рис. 15. Реализация разгрузочной цепи для логической функции ИЛИ

Для того чтобы на выходе сигнал не инвертировался, добавим из нашей библиотеки созданный ранее инвертор. Добавим недостающие межсоединения. Конечный вид реализации логической функции ИЛИ. Проведем верификацию построенной схемы. Для этого на панели инструментов нажмем кнопку  (Check and Save).

Рис. 16. Реализация логической операции ИЛИ

Построение топологии СБИС, реализующую заданную логическую функцию

Для запуска редактора топологии необходимо выполнить в командной строке (Shell) команды cd cell_design далее layoutPlus. Теперь необходимо создать топологию: File → New → Cellview. В качестве редактора выберем Virtuoso, а в качестве имени представления - имя созданной ранее схемы. Таким образом, в одной ячейке хранится символьное, схематическое и топологическое представления необходимой логической функции.

Рис. 17. Окно создания топологического представления

Далее откроется рабочее окно редактора топологии Virtuoso. Отличительной особенностью от предыдущих редакторов является наличие окна выбора материала LSW

Рис. 18. Рабочее окно редактора топологии Virtuoso

Похожие работы на - Реализация символьного представления компонента 'Инвертор'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!