Урок 1. Знакомство с пакетом OrCAD 9.1

Система автоматизированного проектирования OrCAD 9.1 является одним из лидеров на рынке инструментальных средств проектирования электронной аппаратуры. Её разработчик - фирма OrCAD хорошо известна во всём мире и не нуждается в представлении.

Доступ к программам этого пакета осуществляется из стартового меню Windows. Щёлкнем мышкой на кнопке Пуск и выберем команду Программы. В появившемся списке приложений найдём имя нужного пакета OrCAD_9.1 и затем команду запуска графического редактора:

Capture CIS.

На экране монитора появится его окно (рис.1), в левой части которого расположен менеджер проекта, а правую часть занимает область рисования. Впрочем, таким будет экран, если в редактор загружен какой-либо проект. Вы увидите более скучную картину.

С помощью этого редактора создаётся принципиальная схема проектируемого устройства. Кроме того, на OrCAD Capture возлагается ещё одна весьма важная функция: он служит также управляющей оболочкой, из которой можно запускать другие программы пакета.


Рис.1. Рабочее окно графического редактора OrCAD Capture,
работающего в режиме проектирования схем

Понятно, что запустить редактор OrCAD Capture можно и другими способами. Например, если уже имеются файлы, созданные этим редактором (файлы с расширением *.opj, *.dsn или *.olb), то достаточно выделить любой из них и дважды щёлкнуть мышью на его имени.

Рассмотрим более внимательно структуру окна редактора OrCAD Capture. В верхней части экрана находится выпадающее меню, а немного ниже - панель инструментов, на которой размещены кнопки наиболее часто используемых команд. Эту панель при желании можно отключить командой View/Toolbar.

НЕ нашли? Не то? Что вы ищете?

Если активизировать окно области рисования, то появится палитра инструментов Tool Palette, с помощью которой проектируется принципиальная схема. По умолчанию панель Tool Palette располагается вертикально в правой части экрана и дублирует команды меню Place. Так как инструменты этой панели очень важны, мы прокомментируем их более подробно (рис. 2).

Выбор объектов Размещение компонента

Рисование цепей Именование цепей

Рисование шин Задание точки соединения двух цепей

Нанесение входов в шину Питание

Земля Размещение иерархического блока

Порт иерархического блока Вывод иерархического блока

Соединитель страниц Не коммутированный вывод

Линия Полилиния

Прямоугольник Эллипс (окружность)

Дуга Текст

Рис.2. Палитра инструментов редактора OrCAD Capture в режиме проектирования схем

Наиболее часто используемые кнопки расположены в верхней части панели:

Кнопка Select предназначена для переключения курсора мыши в режим выбора (выделения) объектов схемы (элементов, цепей, имён и т. п.).

Кнопка Place Part позволяет размещать компоненты.

Кнопка Place wire предназначена для соединения компонентов проводниками (цепями).

С помощью кнопки Place net alias вводятся имена проводников (цепей).

Названных кнопок вполне достаточно, чтобы создать простую схему, поэтому остальные инструменты оставим пока без внимания.

Экран редактора Capture содержит менеджер проекта (на рис.1 слева) и область рисования (там же справа). Обратите внимание, содержимое меню команд зависит от того, какое из названных окон активно.

Проектирование новой схемы начинается с создания нового проекта. Для этого надо ввести команду File/New/Project или щёлкнуть на кнопке Create document, расположенной на панели инструментов. Дело в том, что кроме схемы проект содержит много другой информации, например описания входных сигналов, модели компонентов, библиотеки символов, кэш проекта (Design cache) и т. п.

На экране появится диалоговая панель New Project (рис. 3), в которой надо задать имя проекта (верхнее поле), например mux2, выбрать тип проекта и определить, где он будет располагаться на жёстком диске (нижнее поле). Заметим, что можно указать для нашего проекта не существующую папку – редактор OrCAD Capture создаст её автоматически.


Рис. 3. Диалоговая панель для задания параметров нового проекта

В САПР OrCAD определены четыре типа проектов – это видно на диалоговой панели New Project. Мы выберем проект типа PCB – Simulate (вторая сверху кнопка), хотя само название проекта PC Board Wizard кажется самым неподходящим для наших целей. Однако именно этот тип проекта рекомендуется разработчиками пакета, если мы собираемся использовать в нём цифровые микросхемы нижнего и среднего уровней интеграции.

Задав всю необходимую информацию и нажав кнопку OK, вы увидите другую диалоговую панель PCB Project Wizard. Если цель работы включает моделирование проекта, то надо установить флажок Enable project simulation, и выбрать тип моделей, например – VHDL (модели, созданные на языке описания аппаратуры VHDL) (рис. 4).

Нажмём кнопку Далее > и на новой панели в левом окне (внизу) отыщем нужную библиотеку компонентов ttl. olb, которую кнопкой Add добавим к проекту. Имя библиотеки ttl. olb появится в правом окне (рис. 5). Здесь следует оговориться, в 9-ой версии OrCAD нет такой библиотеки, поэтому её пришлось импортировать из 7-ой версии.

Аналогичную операцию проделаем и с библиотекой функциональных моделей компонентов ttl. vhd, написанных на языке VHDL. Нажав на кнопку Готово, мы переведём редактор в режим рисования схемы. По умолчанию OrCAD Capture именует схему как SCHEMATIC1 : PAGE1. И то, и другое имя легко изменить, щёлкнув правой кнопкой мыши на неугодном имени и указав в открывшемся контекстном меню команду Rename. Большую схему можно разместить на нескольких страницах.


Рис. 4. Задаём режим моделирования PCB-проекта и тип используемых моделей


Рис.5. Подключаем к проекту библиотеку графических описаний компонентов ttl.olb

Попробуем нарисовать какую-нибудь простую цифровую схему, например ту, что показана в окне графического редактора на рис.1. Это мультиплексор на два входа mux2.

Щёлкнем на пиктограмме Place Part (Разместить компонент). Появится диалоговая панель с одноимённым названием (рис.6), на которой видны имена подключённых к проекту библиотек (левое нижнее окно) и список имеющихся в них компонентов: например, 7401/TTL, 7402/TTL и так далее. Каждая строка содержит имя компонента (7408) и имя библиотеки, в которой он находится (TTL), разделённые символом «/».


Рис. 6. Диалоговая панель Place Part для выбора нужного компонента

С помощью вертикальной линейки прокрутки можно просматривать этот список. В него входит содержимое всех доступных графическому редактору библиотек. Просмотр полного списка - занятие весьма трудоёмкое и неэффективное. Количество элементов в нём может достигать нескольких тысяч, если к проекту подключено много библиотек. Поэтому рекомендуется отключить неиспользуемые библиотеки, выделив их и щёлкнув на кнопке Remove Library.

Выделив одну библиотеку, вы увидите содержимое только этой конкретной библиотеки. Щёлкните на любом имени компонента, и его графический образ появится в правом нижнем окне (рис.6). К сожалению, более подробной информации здесь не приводится, разве что сведения о числе секций (количестве элементов Parts per Pkg:) в корпусе микросхемы. Поэтому о функции компонента приходится судить по его внешнему виду, что для сложных объектов сделать практически невозможно.

В списке библиотек Вы обнаружите одно загадочное имя - Design Cache. Это так называемый кэш проекта, который содержит копии графических образов компонентов, используемых в схеме. Он остаётся пустым до тех пор, пока мы не разместим на схеме хотя бы один компонент. Кэш проекта весьма полезная вещь, так как делает проект независимым от библиотек, из которых были взяты соответствующие символы.

Кроме того, все модификации символа проекта будут вноситься в его копию, не искажая при этом системную библиотеку.

Вооружившись полученными знаниями, перейдём к практическим действиям. Активизируем библиотеку 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. Теперь надо указать, для какой цепи это имя предназначено. По этой причине габаритный прямоугольник, привязанный к курсору мыши и показывающий размеры имени, необходимо «прижать» непосредственно к той цепи, которую мы именуем.


Рис. 7. Ввод дополнительного (пользовательского, алиасного) имени проводника

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

Основная работа выполнена, и теперь схему можно запустить на моделирование. С этой целью активизируем окно менеджера проекта и выполним команду Tools/Simulate… или нажмём на иконку, изображённую справа.

В качестве ответа на запрос о способе моделирования, укажем верхнюю строчку In design (рис.8). Кстати, она выбирается по умолчанию.

После этого автоматически запустится программа моделирования OrCAD Simulate. Она сообщит, что проект открыт, и поинтересуется, хотим ли мы загрузить схему прямо сейчас. Ответим на него утвердительно.

Тем не менее, моделировать схему ещё рано, так как не определены диаграммы входных сигналов.


Рис. 8. Выбор способа моделирования

Активизируем команду Stimulus/New Interactive… и зададим описания входных воздействий (стимулов). В нашем примере проще всего выбрать закладку Clock (периодический сигнал) и щёлкнуть на кнопке Browse.… Появится список сигналов, из которого выберем вход D0 и нажмём OK.

Остаётся установить уровни сигнала на вершине импульса и в паузе между ними, а также их длительности. В левое верхнее поле Set to введём 0, в нижнее – 1, и зададим длительности по 100 ns. Нажмём кнопку Add (добавить) и убедимся, что запрограммированное нами описание появилось в окне Stimulus Descriptions (рис.9).


Рис. 9. Программирование периодического сигнала D0 с помощью закладки Clock

Аналогичным образом зададим параметры сигналов D1 и A, указав для первого длительности по 200 ns, а для второго – по 800 ns. Сохраним созданные временные диаграммы в файле mux2.stm (расширение *.stm редактор предлагает по умолчанию). Моделятор сделает запрос о необходимости подключения файла с описанием входных сигналов к проекту. Если Вы ответите на него утвердительно, то в окне менеджера проекта (в папке In Design) появится ещё одна строчка: .\mux2.stm.

Ну вот, теперь всё готово для верификации схемы. Остаётся лишь определить условия моделирования. Выберем в выпадающем меню моделятора команду Simulate/Run, зададим время моделирования, например 2000 ns, и нажмём OK.

Если Вы не отключили панель инструментов Toolbar, то запустить схему на моделирование можно иначе, щёлкнув по пиктограмме Run (показана справа) или нажав F5.

Программа выполнит требуемую работу и сообщит о её результатах. Через некоторое время они появятся на экране монитора в табличном виде (рис.10, а) и в форме временных диаграмм (рис.10, б). По умолчанию данные выдаются обо всех сигналах, которые имеются в нашей схеме.


а)


б)

Рис. 10. Результаты моделирования мультиплексора mux2

Сигналы, не представляющие интереса для данного эксперимента (VCC, GND, внутренние сигналы N00022, N00040 и N00046), удалены с экрана монитора. Делается это очень просто: выделяется неугодный сигнал, а затем нажимается клавиша Delete. Порядок следования сигналов в таблице и на временных диаграммах тоже легко изменить: достаточно выделить сигнал и отбуксировать его в нужное место.

Растянем наблюдаемые сигналы по оси времени так, чтобы были видны задержки между переключениями на входах D0, D1 и выходе Q. Для этого надо активизировать команду View/Zoom In или несколько раз щёлкнуть по иконке, показанной справа.

Остаётся лишь измерить величину задержки. Выделим сигнал D0, щёлкнем мышью в окрестности того переключения, куда мы хотим поместить визирную линейку (вертикальную линию черного цвета). Управляющими клавишами “®” и “” поставим её точно на желаемое переключение (рис.11).

Теперь выделим выходной сигнал Q и щёлкнем мышью на временной линейке серого цвета, расположенной в верхней части окна временных диаграмм. На нижней границе измерительной линейки появится маркёр (Delta Marker 1) в форме небольшого ползунка. Выделим его и управляющими клавишами “®” и “” переместим в нужное место.

В статусной строке найдём запись D1 = 149, 49. Первая цифра указывает абсолютное положение маркёра D1 на временной линейке, вторая – его положение относительно визирной линейки. Это и есть интересующая нас задержка.


Рис.11. Измерение временной задержки при прохождении сигнала D0 на выход Q

Измеренная задержка связана с прохождением сигнала через элементы 7408 и 7432 (на рис.1 они имеют позиционные обозначения U3A и U5A). Откройте библиотечный файл E:\OrCAD_9\Capture\Library\ttl. vhd, найдите в нём описания VHDL-моделей названных элементов и просуммируйте их задержки. Вы получите то же самое число 49 ns, подтверждающее правильность выполненных измерений.

Как говорится - лиха беда начало. Кажется, оно у нас получилось вполне успешным. Теперь попробуйте самостоятельно проделать ту же самую работу ещё раз, выбрав в качестве объекта проектирования любую схему, которая Вам понравится.