МИЭТ:ИЭМС. Консультационный центр.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » МИЭТ:ИЭМС. Консультационный центр. » Логическое проектирование » Практические советы по OrCAD/Schematics


Практические советы по OrCAD/Schematics

Сообщений 1 страница 4 из 4

1

К этапу логического проектирования.

Зачастую, для проверки работоспособности функционального логического блока требуется проверить только некоторые из множества возможных комбинаций значений входных сигналов.
Характерным примером является простейший шифратор, например из 8 в 3, преобразующий входное число в коде "1 из N" в простое двоичное число. Т.о., в этом комбинационном устройстве входное число принимает только восемь из 64 возможных значений.
Ситуация еще более усложняется, если входные сигналы должны быть апериодичны. В вариантах курсовых такое встречается в декодерах последовательностей чисел (2012г. - простых, Люка и Фибоначчи )
Для упрощения и наглядности работы со входными сигналами можно воспользоваться редактором входных воздействий Stimulus Editor. С его помощью входные сигналы соответствующие "сложным" последовательностям входных чисел могут быть просто нарисованы.

Как это выгдядит:

пример работы в редакторе Stimulus Editor

Курсовые работы. КМИП, ЦИС. Практические советы по Schematics/PSpice

С чего начать:

1) В Schematics выполнить  "Analysis" -> "Edit Stimuli".    В результате в окне Stimulus Editor будет открыт для редактирования и автоматически подключен к текущей схеме одноименный файл тестовых воздействий с расширением *.STL.

2) В Stimulus Editor выполнить "Stimulus" -> "New". В открывшемся окне (см. рисунок выше): задать имя сигнала; выбрать тип сигнала - отметить точкой "Signal" в зоне "Digital"; выбрать значение сигнала в нулевой момент времени - "initial value", выбрать 0 или 1.

3) В Stimulus Editor выполнить "Plot" -> "Axis Settings". В открывшемся окне (см. рисунок выше): задать отображаемый диапазон по шкале времени (например от 0 до 300us); отметить точкой "Auto Range"; задать шаг редактирования сигналов по оси времени (например 10us).

4) В Stimulus Editor нарисовать сигнал: нажать иконку с карандашом и нарисовать сигнал. Тут особой точности с позиционированием мышки соблюдать не требуется, сигнал будет меняться с шагом, заданном ранее в пердыдущем п.п.3

5) Нарисовать остальные сигналы, чтобы получить нужную последовательность значений входных чисел и сохранить файл.

6) В Schematics добавить необходимое число элементов DigStim (источников "именных" цифровых сигналов) и задать их параметр "Stimulus" в соответствии с именами созданных в Stimulus Editor сигналов.

Общие замечания к написанному:

Элементы библиотек стандартной логики 74-х серий имеют задержки до 30нс, при пути сигнала в схеме равном 10 задержка на схему составит 300нс. Очевидно, что входные сигналы нельзя менять чаще, чем 300нс. Поэтому рекомендую задать шаг редактирования сигналов в Stimulus Editor равным 10мкс.
Созданный *.STL файл тестовых воздействий автоматически подключается к схеме, из окна которой выполнена команда "Analysis" -> "Edit Stimuli". Для подключения этого файла к другой схеме надо выполнить "Analysis" -> "Library and Incllude Files" и подключить *.STL, как "Add Stimulus".

Если вы удалили тестовый файл *.STL, то его обязательно нужно отключить от всех схем, к которым он был подключен. В противном случае схемы не будут моделироваться - возникнет ошибка типа "Не найден файл ...."

Изложенная информация не претендует на полное описание работы со Stimulus Editor. Для более глубокого изучения рекомендую "метод научного тыка" - универсальный метод исследования программного обеспечения путем направленного поиска необходимых пользователю функций и настроек. Считаю, что направление и начальные данные для дальнейшей самостоятельной работы я задал.

Отредактировано gummi (2012-04-10 22:45:44)

0

2

В части логического проектирования курсовой работы схемы функциональных блоков и всего устройства должны быть построены и промоделированы в OrCAD. Для построения схем годятся элементы любой библиотеки стандартной логики 74, 74НС, 74НСТ, 74АС ... Перечень названий эелементов можно найти в описании элементов библиотек соответствующих серий микросхем или в описании лабораторной работы №6 по курсу СПП ИМС (см. сайт gummi-qdn.narod2.ru). Также в этих библиотеках можно найти элементы, реализующие функции ИСКЛЮЧАЮЩЕЕ_ИЛИ и ИСКЛЮЧАЮЩЕЕ_ИЛИ-НЕ.

Опять к логическому моделированию
Описанный выше метод формирования последоваетельностей входных чисел далеко не всегда нужен. Зачастую проверка функционирования логическго устройства или его части (блока) требует проверки реакции схемы на все возможные комбинации входных сигналов. В этом случае удобно использовать простые источники цифрового сигнала DigClock. Номинальные значения параметров входных сигналов можно выбрать по одной из двух систем:
1) перебор всех комбинаций в порядке простой двоичной системы счисления -  DELAY = 0,  ONTIME = To*2^i, OFFTIME = To*2^i;
2) перебор всех комбинаций в порядке кода Грея -  DELAY = To*2^i,  ONTIME = To*2^(i+1), OFFTIME = To*2^(i+1).
Где:
То - характерный интервал времени единичного состояния системы,  например То = 10us:
i - порядковый индекс входного сигнала / индекс разряда входного многорязрядного числа.

Для сверки результатов моделирования работы функционального блока с требуемой таблицей истинности удобно использовать представление входных и выходных чисел в шестнадцатеричной форме (HEX). Для этого в графическом постпроцессоре Probe предназначена функция конкатенации - {}.
Например вывод четырех-разрядного числа Х (см.рисунок) должен быть записан в формате - {x3 x2 x1 x0}
Где х3 - имя старшего разряда числа Х, а х0 - младшего.

Примерный вид результата в Probe:

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

Практические советы по OrCAD/Schematics

Итого: если в тексте курсовой работы в таблицах истинности дополнительно привести значения входных/выходнх сигналов в шестнадцатеричной форме (можно спокойно переводить числа из одной системы счисления в другую с помощью стандартного калькулятора Windows), а в Probe вместо вороха одноразрядных диаграмм  вывести "свернутые" в НЕХ форму значения сигналов, то проверить выполнение таблицы истинности становится много проще.

Итого 2. В части логического моделирования в пояснительной записке к курсовой работе должно быть отображено:

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

- скриншоты собранных в Schematics логических схем в удобочитаемом виде, входы/выходы должны быть четко обозначены;

- скриншоты полного моделирования функциональных блоков, ясно подтверждающие правильность их работы;

- скриншоты моделирования устройства вцелом  (если такое моделирование полностью выполнить сложно, то допускается выборочная проверка);

- определенные по схеме устройства вцелом значения максимального пути сигнала Nmax и максимального коэффициента разветвления в схеме Мсх.

Отредактировано gummi (2012-04-23 23:03:16)

0

3

По просьбам трудящихся. ЭЛЕМЕНТЫ ЦИФРОВЫХ БИБЛИОТЕК 74-х СЕРИЙ

(все элементы для библиотек 7400, 74НС, 74АС, 74НСТ, 74АСТ (...) с одинаковыми номерами должны совпадать по назначению), хх - индекс серии микросхем, ! - инверсия

триггеры
   74 хх 76 - трриггер JK, срабатывающий по срезу с асинхронными инверсными сбросом и установкой
   74 хх 73 - трриггер JK, срабатывающий по срезу с асинхронным инверсным сбросом
   74 хх 74 - трриггер DC, срабатывающий по фронту с асинхронными инверсными сбросом и установкой

стандартные вентили
   74 хх 00 - 2-и-не
   74 хх 02 - 2-или-не
   74 хх 04 - инвертор
   74 хх 08 - 2-и
   74 хх 10 - 3-и-не
   74 хх 11 - 3-и
   74 хх 27 - 3-или-не
   74 хх 32 - 2-или
   74 хх 86 - 2-входовое исключающее или (оно же XOR2, оно же f=a⊕b)
   74 хх 51 - и-или-не (f=!(ab+cd)   или f=!(a+b)(c+d), лично не проверял)
   74 хх 4075 - 3-или
   74 хх 7266 - 2-входовое исключающее или-не (оно же XNOR2, оно же f=!(a⊕b))

стандартные комбинационные блоки
   74 хх 46А, 47А, 48, 49 - дешифратор семисегментного индикатора
   74 хх 151 - мультиплексор 8-в-1 с входом разрешения
   74 хх 152 - мультиплексор 8-в-1 без входа разрешения
   74 хх 153 - два мультиплексора 4-в-1 в одом блоке
   74 хх 157 - четыре мультиплексора 2-в-1 в одом блоке
   74 хх 158 - четыре мультиплексора 2-в-1 в одом блоке с инверсным выходом
   74 хх 238 - дешифратор/демультиплексор 3-в-8
   74 хх 239 - дешифратор/демультиплексор 2-в-4

и многое многое другое
   регистры, счетчики, дес. счетчики, приоритетные шифраторы, триггеры-защелки (синхр. уровнем), ....

0

4

В прошлом семестре с кр ЦИС и в этом семестре с ОПЭКБ (КМИП) стала довольно часто попадаться ошибка в схемах функциональных блоков, приводящая к параллельным закороткам между одинаковыми блоками на общей схеме устройства.

Ошибка связана с использованием меток глобальных узлов  BUBBLE и GLOBAL внутри символов, т.е. в их схемах-начинках. Вот пара скриншотов поясняющих, как правильно делать, а как делать нельзя.
Дело в том, что все bubble с одинаковым именем будут электрически соединены между собой вне зависимости от того, на каком уровне иерархии сложного устройства вы их использовали.

Например см. скрины. В схеме мультиплексора (МХ) кроме "интерфейса" информационные входы отмечены еще и bubble "Xi". Допустим, в схеме устройства использовано два таких мультиплексора. Пусть на вход Х1 певого МХ подается сигнал А, а к Х1 второго МХ подключен сигнал В. Тогда получится, что А и В закорочены между собой через одноименные bubble "X1" внутри каждого МХ. => Схема моделироваться не будет.

Скрины:

Практические советы по OrCAD/Schematics  Практические советы по OrCAD/Schematics Практические советы по OrCAD/Schematics

Итого вывод - не использовать bubble и global в межсоединениях в схемах-начинках функциональных блоков. Единственное исключение - общий узел питания в начинках схемотехнических логическиих элементов (global "Vdd" в схемах лог.вентилей на транзисторах.)

P.S.: Внимательные люди увидят, с помощью каких источников в логическом моделировании подавать константы 0 и 1.
P.Р.S.: Кто-то заинтересуется, как очистить картинки схем от "лишней" информации - сетки, имен/названий элементов и блоков. Почитать можно в Schematics(all).pdf в разделе меню Options => Display Preferences...

0


Вы здесь » МИЭТ:ИЭМС. Консультационный центр. » Логическое проектирование » Практические советы по OrCAD/Schematics