Компоненты и технологии, № 1'2002
Знакомство с пакетом OrCAD 9.1
Урок 1.
В последние годы даже самые консервативно настроенные разработчики аппаратуры вынуждены пересмотреть свое отношение к САПР как к большим и дорогостоящим игрушкам, обнаружив в них весьма мощные и эффективные инструментальные средства. Особенно привлекательной выглядит возможность наконец-то заменить действующий макет имитационной моделью, а натурные эксперименты — модельными. Как говорят, лиха беда начало. Особенно трудно сделать первый шаг, а оступившись, не послать все к черту. Цель предлагаемых уроков как раз и заключается в том, чтобы помочь читателю преодолеть по возможности быстро и без моральных потрясений самый трудный этап в любом деле — начало работы с новым незнакомым продуктом САПР ОгСДй 9.1.
Вам предлагается восемь уроков, каждый из которых заканчивается практическим результатом. Согласитесь, промежуточный результат, пусть и самый маленький, служит хорошим стимулом к тому, чтобы сделать следующий шаг. Начнем?
Александр Шалагинов, к. т. н.
Система автоматизированного проектирования OrCAD 9.1 является одним из лидеров на рынке инструментальных средств проектирования электронной аппаратуры. Ее разработчик — фирма OrCAD — хорошо известна во всем мире и не нуждается в представлении.
Доступ к программам этого пакета осуществляется из стартового меню Windows. Щелкнем мышкой на кнопке «Пуск» и выберем пункт «Программы». В появившемся списке приложений найдем имя нужного пакета OrCAD 9.1 и затем — команду за пуска графического редактора.
О
Capture CIS.
На экране монитора появится его окно (рис.1), в левой части которого расположен менеджер проекта, а правую часть занимает область рисования. Впрочем, таким будет экран, если в редактор загружен какой-либо проект, вы же увидите более скучную картину.
С помощью этого редактора создается принципиальная схема проектируемого устройства. Кроме того, на OrCAD Capture возлагается еще одна весьма важная функция — он служит управляющей обо-
Рис. 1. Рабочее окно графического редактора OrCAD Capture, работающего в режиме проектирования схем
Выбор объектов Рисование цепей Рисование шин Нанесение входов в шину Земля
Порт иерархического блока Соединитель страниц Линия Прямоугольник Дуга
Размещение компонента
Именование цепей
Задание точки соединения двух цепей
Питание
Размещение иерархического блока
Вывод иерархического блока
Некоммутированный вывод
Полилиния
Эллипс (окружность)
Текст
Рис. 2. Палитра инструментов редактора OrCAD Capture в режиме проектирования схем
108
- www.finestreet.ru -
-Q-
Компоненты и технологии, № 1'2002
лочкой, из которой можно запускать другие программы пакета.
Понятно, что запустить редактор OrCAD Capture можно и другими способами. Например, если уже имеются файлы, созданные этим редактором (файлы с расширением *.opj, *.dsn или *.olb), то достаточно выделить любой из них и дважды щелкнуть мышью на его имени.
Рассмотрим более внимательно структуру окна редактора OrCAD Capture. В верхней части экрана находится выпадающее меню, а немного ниже — панель инструментов, на которой размещены кнопки наиболее часто используемых команд. Эту панель при желании можно отключить командой View/Toolbar.
Если активизировать окно области рисования, то появится палитра инструментов Tool Palette, с помощью которой проектируется принципиальная схема. По умолчанию панель Tool Palette располагается вертикально в правой части экрана и дублирует команды меню Place. Так как инструменты этой панели очень важны, мы прокомментируем их более подробно (рис. 2).
Наиболее часто используемые кнопки расположены в верхней части панели:
Кнопка Select предназначена для переключения курсора мыши в режим выбора (выделения) объектов схемы (элементов, цепей, имен и т. п.).
Кнопка Place Part позволяет размещать компоненты.
Кнопка Place wire предназначена для соединения компонентов проводниками (цепями).
С помощью кнопки Place net alias вводятся имена проводников (цепей).
Названных кнопок вполне достаточно, чтобы создать простую схему, поэтому остальные инструменты оставим пока без внимания.
Экран редактора Capture содержит менеджер проекта (на рис. 1 слева) и область рисования (там же, справа). Обратите внимание: содержимое меню команд зависит от того, какое из названных окон активно.
Проектирование новой схемы начинается с создания нового проекта. Для этого надо ввести команду File/New/Project или щелкнуть на кнопке Create document, расположенной на панели инструментов. Дело в том что кроме схемы проект содержит много другой информации, например описания входных сигналов, модели компонентов, библиотеки символов, кэш проекта (Design cache) и т. п.
На экране появится диалоговая панель New Project (рис. 3), в которой надо задать имя проекта (верхнее поле), например mux2, выбрать тип проекта и определить, где он будет располагаться на жестком диске (нижнее поле). Заметим, что можно указать для нашего проекта несуществующую папку — OrCAD Capture создаст ее автоматически.
В САПР OrCAD определены четыре типа проектов — это видно на диалоговой панели New Project. Мы выберем проект типа PCB — Simulate (вторая сверху кнопка), хотя само название проекта — PC Board Wizard — кажется
Рис. 3. Диалоговая панель для задания параметров нового проекта
самым неподходящим для наших целей. Однако именно этот тип проекта рекомендуется разработчиками пакета, если мы собираемся использовать в нем цифровые микросхемы нижнего и среднего уровней интеграции.
Задав всю необходимую информацию и нажав кнопку OK, вы увидите другую диалоговую панель — PCB Project Wizard. Если цель работы включает моделирование проекта, то надо установить флажок Enable project simulation и выбрать тип моделей, например, VHDL (модели, созданные на языке описания аппаратуры VHDL) (рис. 4).
Нажмем кнопку «Далее» и на новой панели в левом окне (внизу) отыщем нужную библиотеку компонентов ttl.olb, которую кнопкой Add добавим к проекту. Имя библиотеки
Рис. 4. Задаем режим моделирования PCB-проекта и тип используемых моделей
Ш.о1Ь появится в правом окне (рис. 5). Здесь следует оговориться: в девятой версии ОгСАБ нет такой библиотеки, поэтому ее пришлось импортировать из седьмой версии.
Аналогичную операцию проделаем и с библиотекой функциональных моделей компо-
нентов ttl.vhd, написанных на языке VHDL. Нажав на кнопку «Готово», мы переведем редактор в режим рисования схемы. По умолчанию OrCAD Capture именует схему как SCHEMATIC1 : PAGE1. И то и другое имя легко изменить, щелкнув правой кнопкой мыши на неугодном имени и указав в открывшемся контекстном меню команду Rename. Большую схему можно разместить на нескольких страницах.
Попробуем нарисовать какую-нибудь простую цифровую схему, например ту, что показана в окне графического редактора на рис.1. Это мультиплексор на два входа mux2. Щелкнем на пиктограмме Place Part (Разместить компонент). Появится диалоговая панель с одноименным названием (рис. 6), на которой видны имена подключенных к проекту библиотек (левое нижнее окно) и список имеющихся в них компонентов, например 7401/TTL, 7402/TTL и так далее. Каждая строка содержит имя компонента (7408) и имя библиотеки, в которой он находится (TTL), разделенные символом «/».
Рис. 5. Подключаем к проекту библиотеку графических описаний компонентов ИЫЬ
Рис. 6. Диалоговая панель Place Part для выбора нужного компонента
С помощью вертикальной линейки прокрутки можно просматривать этот список. В него входит содержимое всех доступных графическому редактору библиотек. Просмотр полного списка — занятие весьма трудоемкое и неэффективное. Количество элементов в нем может достигать нескольких тысяч, если к проекту подключено много библиотек. Поэтому рекомендуется отключить неиспользуемые библиотеки, выделив их и щелкнув на кнопке Remove Library.
Выделив одну библиотеку, вы увидите содержимое только этой конкретной библиотеки. Щелкните на любом имени компонента, и его графический образ появится в правом нижнем окне (рис. 6). К сожалению, более подробной информации здесь не приводится, разве что сведения о числе секций (количестве элементов Parts per Pkg:) в корпусе микросхемы. Поэтому о функции компонента приходится судить по его внешнему виду, что для сложных объектов сделать практически невозможно.
В списке библиотек вы обнаружите одно загадочное имя — Design Cache. Это так называемый кэш проекта, который содержит копии графических образов компонентов, используемых в схеме. Он остается пустым до тех пор, пока мы не разместим на схеме хотя
-www.finestreet.ru -
109
О
Компоненты и технологии, № 1'2002
бы один компонент. Кэш проекта весьма полезная вещь, так как делает проект независимым от библиотек, из которых были взяты соответствующие символы.
Кроме того, все модификации символа проекта будут вноситься в его копию, не искажая при этом системную библиотеку.
Вооружившись полученными знаниями, перейдем к практическим действиям. Активизируем библиотеку TTL и выделим компонент 7404, выполняющий функцию отрицания.
Нажмем кнопку OK и укажем в области рисования желаемое место. Чтобы зафиксировать положение элемента, щелкнем левой кнопкой мыши. Обратите внимание: рядом с его графическим образом появилось имя U1A — это позиционное обозначение компонента. Переместим курсор в другое место и опять нажмем левую кнопку. На экране появится еще один такой же элемент с именем U2A. Таким образом можно размещать сколько угодно копий, пока вы не нажмете клавишу [Esc] или правую кнопку мыши, исполнив затем команду End Mode в открывшемся контекстном меню. Есть еще один способ снять активность текущей команды — переместить курсор мыши на пиктограмму Select и щелкнуть левой кнопкой.
Подведем курсор к ненужному нам элементу U2A и выделим его щелчком мыши. По умолчанию выделенный элемент помечается красным цветом. Нажмем клавишу Del, и элемент исчезнет с экрана.
Аналогичным путем отправимся на поиски остальных элементов мультиплексора. Опять щелкнем на пиктограмме Place Part и выделим компонент 7408, выполняющий функцию 2И. Разместим на рисунке две копии этого элемента U3A и U4A. Редактор нумерует элементы по порядку, не обращая внимания на удаленные объекты. Нам осталось найти последний элемент 7432, реализующий функцию 2ИЛИ. Теперь эта работа не представляет для нас никаких трудностей. Чтобы получить законченную схему, размещенные элементы необходимо соединить проводниками. Для этого надо щелкнуть на пиктограмме Place wire (Разместить проводник). Обратите внимание: курсор мыши изменил свою форму, теперь он похож на небольшое перекрестие. Выполним все необходимые соединения. Добавим также цепи для входных и выходных сигналов. Чтобы нарисовать сложную цепь, неоднократно меняющую направление, необходимо в точках излома фиксировать уже нарисованную часть проводника щелчком левой кнопки мыши. Чтобы закончить рисование цепи, надо нажать правую кнопку мыши, а затем исполнить команду End Wire либо произвести двойной щелчок в точке, где заканчивается проводник. Рисование цепи автоматически прекращается, как только она достигает какого-либо вывода компонента. При этом активность команды не снимается. Чтобы закончить процесс рисования проводников надо нажать клавишу [Esc] или щелкнуть на пиктограмме Select (или выбрать новую команду).
Визуальный контроль подключения цепи к контакту весьма прост: свободный вывод компонента заканчивается небольшим квадратиком, который исчезает, если произошло соединение. И наоборот, если проводник подключается к другой цепи, то в точке их соприкосновения появляется так называемое Junction-соединение (довольно жирная точка малинового цвета). Добавим, что если проводники соприкасаются своими концами, то создаваемый электрический контакт не порождает Junction-соединения.
Заканчивая проектирование схемы, назначим имена входным и выходным цепям. Щелкнем на пиктограмме Place net alias, показанной справа.
Откроется панель Place Net Alias, используемая для задания алиасного имени цепи (рис. 7). Введем с клавиатуры имя, например D0, и нажмем кнопку OK. Теперь надо указать, для какой цепи это имя предназначено. По этой причине габаритный прямоугольник, привязанный к курсору мыши и показывающий размеры имени, необходимо
N1
Рис. 7. Ввод дополнительного (пользовательского, алиасного) имени проводника
«прижать» непосредственно к той цепи, которую мы именуем.
Проделайте эту операцию для всех внешних цепей. Внутренние цепи можно не именовать. В этом случае они сохранят системные имена, которые им присвоил графический редактор (весьма неудобные для визуального восприятия).
Основная работа выполнена, и теперь ¡щ] схему можно запустить на моделирование. С этой целью активизируем окно менеджера проекта и выполним команду Tools/Simulate... или нажмем на иконку, изображенную справа.
В качестве ответа на запрос о способе моделирования укажем верхнюю строчку In design (рис. 8). Кстати, она выбирается по умолчанию. После этого автоматически запустится программа моделирования OrCAD Simulate. Она сообщит, что проект открыт, и поинтересуется, хотим ли мы загрузить схему прямо сейчас. Ответим утвердительно, хотя модели-
Рис. 9. Программирование периодического сигнала D0 с помощью закладки Clock
ровать схему еще рано, так как не определены диаграммы входных сигналов.
Активизируем команду Stimulus/New Interactive... и зададим описания входных воздействий (стимулов). В нашем примере проще всего выбрать закладку Clock (периодический сигнал) и щелкнуть на кнопке Browse... Появится список сигналов, из которого выберем вход D0 и нажмем OK. Остается установить уровни сигнала на вершине импульса и в паузе между ними, а также их длительности. В левое верхнее поле Set to введем 0, в нижнее — 1, и зададим длительности по 100 нс. Нажмем кнопку Add (добавить) и убедимся, что запрограммированное нами описание появилось в окне Stimulus Descriptions (рис. 9).
Аналогичным образом зададим параметры сигналов D1 и A, указав для первого длительности по 200 нс, а для второго — по 800 нс. Сохраним созданные временные диаграммы
Щ List1
HEID
пз D0 D1 А Q
О 1 0' 1 0' О U1 Ж.
49 1 1 □
100 1 1' 1 □' □ □ '
200 1 0' 1 1' О 0'
249 1 О1 1 I1 0 I1
300 1 1' 1 1' О 1'
400 1 1 □ 1'
449 1 □' 1 □' □ □ '
500 1 1' 1 0' О 0'
600 1 О1 1 I1 0 О1
649 1 0' 1 1' О 1'
700 1 1' 1 1' □ 1'
800 1 □' 1 □' 1 1'
849 1 0' 1 0' 1 0'
900 1 I1 1 О1 1 О1 jd
б
Рис. 10. Результаты моделирования мультиплексора mux2
110
- www.finestreet.ru -
а
О
Компоненты и технологии, № 1'2002
в файле mux2.stm (расширение *.stm редактор предлагает по умолчанию). Моделятор сделает запрос о необходимости подключения файла с описанием входных сигналов к проекту. Если вы ответите на него утвердительно, то в окне менеджера проекта (в папке In Design) появится еще одна строчка: .\mux2.stm.
Ну вот, теперь все готово для верификации схемы. Остается лишь определить условия моделирования. Выберем в выпадающем меню моделятора команду Simulate/Run..., зададим время моделирования, например 2000 нс, и нажмем OK. Если Вы не отключили панель инструментов Toolbar, то запустить схему на моделирование можно иначе, щелкнув по пиктограмме Run (показана справа) или нажав F5. Программа выполнит требуемую работу и сообщит о ее результатах. Через некоторое время они появятся на экране монитора в табличном виде (рис. 10, а) и в форме временных диа грамм (рис. 10, б). По умолчанию дан ные выдаются обо всех сигналах, которые имеются в нашей схеме.
Сигналы, не представляющие интереса для данного эксперимента (VCC, GND, внутренние сигналы N00022, N00040 и N00046), удалены с экрана монитора. Делается это очень просто — выделяется неугодный сигнал, а затем нажимается клавиша Delete. Порядок следования сигналов в таблице и на временных диаграммах тоже легко изменить — достаточно выделить сигнал и «отбуксировать» его в нужное место.
Растянем наблюдаемые сигналы по оси времени так, чтобы были видны задержки между переключениями на входах D0, D1 и выхо-
а
-МИ шш
Соэтеэсс satpwi ЧЫш Dub lDDiiB Г 20Dus зоопв
5СН1ИАТ1С1 SCHEMATIC! 1 t'l ■о- т
......1......1...................
RCHElUTtCI мэ 1 1 [
3CIIEIUTICI я ид шт ошллл!......!................- 4 ...........Г
1 :
1 IZZ1 iU Л
Рис. 11. Измерение временной задержки при прохождении сигнала D0 на выход Q
де Q. Для этого надо активизировать команду View/Zoom In или несколько раз щелкнуть по иконке, показанной справа.
Остается лишь измерить величину задержки. Выделим сигнал D0, щелкнем мышью в окрестности того переключения, куда мы хотим поместить визирную линейку (вертикальную линию черного цвета). Управляющими клавишами «^» и «^» поставим ее точно на желаемое переключение (рис. 11). Теперь выделим выходной сигнал Q и щелкнем мышью на временной линейке серого цвета, расположенной в верхней части окна временных диаграмм. На нижней границе измерительной линейки появится маркер (Delta Marker 1) в форме небольшого ползунка. Выделим его и управляющими клавишами «^» и «^» переместим в нужное место. В статусной строке найдем запись D1 = 149, 49. Первая цифра указывает абсолютное положение маркера D1 на временной линейке, вторая — его положение относительно визирной линейки. Это и есть интересующая нас задержка.
Измеренная задержка связана с прохождением сигнала через элементы 7408 и 7432 (на рис. 1 они имеют позиционные обозначения
U3A и U5A). Откройте библиотечный файл E:\OrCAD_9\Capture\Library\ttLvhd, найдите в нем описания VHDL-моделей названных элементов и просуммируйте их задержки. Вы получите то же самое число 49 нс, подтверждающее правильность выполненных измерений.
Как говорится, лиха беда начало. Кажется, оно у нас получилось вполне успешным. Теперь попробуйте самостоятельно проделать ту же самую работу еще раз, выбрав в качестве объекта проектирования любую схему, которая вам понравится. МИ
-www.finestreet.ru -
111
-Q-