![](/user_photo/2706_HbeT2.jpg)
- •Введение
- •1. Основы алгебры логики
- •1.1. Задание функций алгебры логики
- •1.2. Операции алгебры логики
- •1.2.1. Операция отрицание
- •1.2.3. Операция конъюнкция
- •1.2.4. Операция стрелка Пирса
- •1.2.5. Операция штрих Шеффера
- •1.2.6. Операция исключающее ИЛИ
- •1.2.7. Операция сложение по модулю два
- •1.2.8. Операция эквиваленция
- •1.2.9. Операция импликация
- •1.2.10. Операция запрет
- •1.2.11. Другие операции
- •1.3. Функционально полные системы
- •1.4. Свойства операций алгебры логики
- •1.4.1. Свойства операции отрицание
- •1.4.2. Свойства операций конъюнкция и дизъюнкция
- •1.4.3. Свойства операций штрих Шеффера и стрелка Пирса
- •1.4.4. Свойства остальных операций
- •1.5. Аналитическая запись функций алгебры логики
- •1.5.1. Дизъюнктивные нормальные формы
- •1.5.2. Конъюнктивные нормальные формы
- •1.6. Частично заданные функции
- •1.7. Упражнения
- •2. Логические элементы
- •3. МИНИМИЗАЦИЯ ФУНКЦИЙ АЛГЕБРЫ ЛОГИКИ
- •3.1. Метод Квайна
- •3.1.1. Алгоритм метода Квайна
- •3.1.2. Модернизация Мак-Класки метода Квайна
- •3.1.3. Модернизация Нельсона метода Квайна
- •3.1.4. Минимизация частично заданных функций методом Квайна
- •3.1.5. Упражнения
- •3.2. Метод карт Карно
- •3.2.1. Построение карт Карно
- •3.2.2. Минимизация с помощью карт Карно
- •3.2.3. Минимизация частично заданных функций картами Карно
- •3.2.4. Нахождение МКНФ
- •3.2.5. Упражнения
- •3.3. Совместная минимизация функций алгебры логики
- •3.3.1. Совместная минимизация методом общих простых импликант
- •3.3.2. Совместная минимизация методом доопределения частично заданных функций
- •3.3.3. Упражнения
- •4. Комбинационные схемы
- •4.1. Преобразователи кодов
- •4.1.1. Синтез преобразователей кодов
- •4.1.2. Схемы управления 7-сегментными индикаторами
- •4.1.3. Упражнения
- •4.2. Дешифраторы и шифраторы
- •4.2.1. Схемотехника построения дешифраторов
- •4.2.2. Схемотехника построения шифраторов
- •4.2.3. Применение дешифраторов и шифраторов
- •4.2.4. Упражнения
- •4.3. Мультиплексоры и демультиплексоры
- •4.3.1. Мультиплексоры
- •4.3.2. Синтез функций на мультиплексорах
- •4.3.3. Демультиплексоры
- •4.3.4. Упражнения
- •4.4. Сумматоры и схемы сравнения
- •4.4.1. Сумматоры
- •4.4.2. Схемы сравнения
- •4.4.3. Упражнения
- •5. Экспериментальная часть
- •5.1. Синтез и анализ схем с помощью лабораторного макета
- •5.1.1. Описание макета
- •5.1.2. Порядок синтеза и анализа схем
- •5.2. Синтез и анализ цифровых схем в Micro-Cap
- •5.2.1. Описание программы Micro-Cap
- •5.2.2. Синтез схем с помощью Micro-Cap
- •5.2.3. Анализ цифровых схем с помощью Micro-Cap
- •5.2.4. Порядок выполнения работы в Micro-Cap
- •5.3. Примерные задания лабораторных работ
- •6. Библиографический Список
![](/html/2706/198/html_tFiU6RqCWU.HRT4/htmlconvd-fLbqui112x1.jpg)
Цифровая схемотехника
На схему можно нанести дополнительную информацию, например, комментарий, для чего используется режим Text Mode (рис. 5.14).
Готовую схему можно распечатать на принтере (пункт меню File- >Print) или скопировать в графический редактор (пункт меню Edit- >Copy To Clipboard->Copy the Visible Portion of Window in BMP Format).
Схему можно сохранить в файле с расширением cir.
Рис. 5.14
5.2.3. Анализ цифровых схем с помощью Micro-Cap
5.2.3.1. Анализ Dynamic DC
Для анализа схемы в режиме Dynamic DC (расчет характеристик по постоянному току) на входы удобнее всего подать сигналы с цифровых переключателей, которые устанавливаются выбором пункта ме-
ню Component->Animation->Animated Digital Switch (рис.5.15а). Пере-
ключение в противоположное положение осуществляется двойным нажатием левой кнопки мыши в указанной на рис.5.15а точке. Переключение проводится в режиме Select Mode.
Для отображения выходных сигналов также выбираются нужные компоненты, например Component->Animation->Animated Digital Led (рис. 5.15б) или Component->Animation->Animated Seven Segment
(рис. 5.15в). Компонент Digital Led в режиме анализа Dynamic DC показывает уровни цифрового сигнала: красный – 1, черный – 0, серый – на индикатор не подается никакого сигнала. Сигналы с переключателей подаются на входы схемы, а выходные сигналы – на выбранные индикаторы (рис. 5.15г).
После завершения рисования схемы и установки переключателей можно приступать к анализу, для чего необходимо выбрать пункт меню Analysis->Dynamic DC и в появившемся окне (рис. 5.16) нажать ОК. Mi-
112
![](/html/2706/198/html_tFiU6RqCWU.HRT4/htmlconvd-fLbqui113x1.jpg)
Комбинационные схемы
cro-Cap начнет вычислять характеристики, отображать сигналы во всех точках схемы (если была нажата кнопка, разрешающая отображение логических уровней) и управлять индикаторами.
Переключение
а) |
б) |
в) |
г)
Рис. 5.15
Рис. 5.16
При изменении положений переключателей сигналы в схеме автоматически пересчитываются, что позволяет оперативно отслеживать состояние схемы. Данный вариант анализа удобно использовать для отладки схем, т.к. можно одновременно видеть сигналы в разных точ-
113
![](/html/2706/198/html_tFiU6RqCWU.HRT4/htmlconvd-fLbqui114x1.jpg)
Цифровая схемотехника
ках схемы (рис. 5.17а), а также в тех случаях, когда необходимо подавать входные сигналы разных вариантов, например, для исследования работы сумматора или схемы сравнения (рис. 5.17б).
Для выхода из анализа необходимо выбрать пункт меню Dynamic DC->Exit Analysis.
а)
б)
Рис. 5.17
5.2.3.2. Анализ Transient
Если приходится перебирать последовательно все комбинации входных сигналов, особенно при большом числе входов, управлять схемой с помощью переключателей становится неудобно. В этом случае лучше подходит Transient analysis – анализ переходных процессов. Данный вариант анализа позволяет рассчитывать и отображать временные диаграммы сигналов в указанных точках схемы.
114
![](/html/2706/198/html_tFiU6RqCWU.HRT4/htmlconvd-fLbqui115x1.jpg)
Комбинационные схемы
Для анализа схемы в режиме Transient необходимо использовать генераторы сигналов, которые автоматически генерируют последовательности импульсов в соответствии с установленными свойствами и программой. Они расположены в меню Component->Digital Primitives- >Stimulus Generators.
Для генерации периодических сигналов (например, синхроимпульсов) удобно использовать генератор DClock. Он имеет один выход, на котором генерируются последовательно сигналы низкого (0) и высокого (1) уровней. В окне свойств данного генератора задаются длительности сигналов низкого и высокого уровней: Param:Zerowidth и Param:Onewidth (рис. 5.18а). Для установки необходимо выбрать нужное свойство в списке и в поле Value записать величину требуемого интервала времени, а также нужные единицы измерения (n или ns – наносекунды, u или us – микросекунды, m или ms – милисекунды, s – секунды). Например, если задать свойства Param:Zerowidth = 50us и Param:Onewidth= 100us, то сигнал на выходе генератора будет выглядеть так, как показано на рис. 5.18б. Свойство PART задает обозначение генератора на схеме.
а)
0u |
150u |
300u |
450u |
600u |
750u |
б)
Рис. 5.18
115
![](/html/2706/198/html_tFiU6RqCWU.HRT4/htmlconvd-fLbqui116x1.jpg)
Цифровая схемотехника
Для генерации различных последовательностей сигналов (например, чтобы автоматически перебирать все возможные комбинации входов x1, x2, x3, x4 исследуемой схемы) используются генераторы дискретных последовательностей Stim1, Stim2, Stim4, Stim8, Stim16. Они имеют разное количество выходов, сигналы на которых можно запрограммировать в соответствии с требованиями. Программирование проводится в окне свойств генераторов (рис. 5.19а).
а)
0u |
1u |
2u |
3u |
4u |
5u |
6u |
б)
Рис. 5.19
116
![](/html/2706/198/html_tFiU6RqCWU.HRT4/htmlconvd-fLbqui117x1.jpg)
Комбинационные схемы
Свойство COMMAND задает последовательности выходных сигналов генератора, а свойство FORMAT – формат представления чисел
вэтих командах. Значение FORMAT содержит цифры 1, 3 или 4 и их комбинации, где 1 означает двоичный формат числового представления числа, 3 – восьмеричный, а 4 – шестнадцатеричный. Сумма цифр
взначении FORMAT должна быть равна числу выходов генератора. Например, 1111 – четыре выхода генератора задаются в двоичном формате, 44 – восемь выходов генератора задаются в шестнадцатеричном формате.
Для задания последовательности выходных сигналов выбираем свойство COMMAND и задаем идентификатор последовательности в поле Value, например OUT1. В текстовом окне пишется сама последовательность после фразы «.define OUT1». Команды последовательности начинаются с символа «+», после которого пишется время относительно начала последовательности. Самый простой вариант команды – непосредственное задание выходного значения сигналов генератора в формате, определяемом свойством FORMAT. Например:
+10ms 0101 – через 10 мсек после начала последовательности на выходах будут сигналы 0, 1, 0, 1 (слева – старший разряд, на обозначении генератора вывод старшего разряда отмечен точкой).
Задавая последовательно несколько команд, можно задать любые последовательности. Например, для последовательности, показанной
вокне свойств на рис. 5.19а, выходные сигналы будут выглядеть так, как показано на рис. 5.19б.
Другой вариант команд – приращение, всего возможны два варианта: incr by и decr by, после которых ставится число, на которое нужно изменить код выходного сигнала, например:
+50ms incr by 0001 – в момент времени 50 мсек увеличить код на 1 или
+100ms decr by 0011 – в момент времени 100 мсек уменьшить код на 3.
Третий вариант команд позволяет осуществлять зацикливание. Для этого используются метки, формат объявления метки:
+label=name, где name – имя метки
Команда возврата на метку – goto, ее формат:
+t goto name x times, где t – время, а x – количество повторов. Если x = -1, зацикливание повторяется бесконечное число раз, например:
.define OUT1 +0ms 0000 +label=start
+10ms incr by 0001
+20ms goto start -1 times
117
![](/html/2706/198/html_tFiU6RqCWU.HRT4/htmlconvd-fLbqui118x1.jpg)
Цифровая схемотехника
Временная диаграмма такой последовательности представлена на рис. 5.20. Она позволяет перебирать все возможные варианты двоичных сигналов четырех переменных.
0m |
50m |
100m |
150m |
Рис. 5.20
Если необходимо задавать последовательности для пяти и более сигналов, нужно взять соответствующий генератор, программа для него будет выглядеть аналогично. Например, чтобы перебрать все варианты двоичных сигналов шести аргументов, берем генератор Stim8, задаем свойство FORMAT равным 44 (чтобы использовать шестнадцатеричный формат в записи начального значения выходного сигнала и приращения). Свойство COMMAND можно описать так:
.define OUT2 +0ms 00 +label=start +10ms incr by 01
+20ms goto start -1 times
Из 8 выходов используем 6, не забывая, что вывод старшего разряда генератора отмечен точкой.
После завершения рисования схемы и установки генераторов можно приступать к анализу, для чего необходимо выбрать пункт меню Analysis->Transient. Программа проверяет корректность составленной схемы и, если все в порядке, выводит окно задания параметров анали-
за Transient Analysis Limits(рис. 5.21).
Параметр Tim Range задает максимальное и минимальное время расчета переходных процессов. Если второй параметр на указан, то считается, что минимальное время равно нулю. Чтобы графики рисовались в соответствии с этим масштабом, необходимо поставить галочку в переключателе Auto Scale Ranges.
В таблице задаются параметры графиков, которые нужно отобразить. С помощью кнопки Add можно добавить график, а кнопкой Delete – удалить. Поля таблицы имеют следующее назначение:
118
![](/html/2706/198/html_tFiU6RqCWU.HRT4/htmlconvd-fLbqui119x1.jpg)
Комбинационные схемы
P – указывает номер графического поля, в котором будет отображаться данный график. Цифровые сигналы удобнее отображать в одном поле, поэтому пишем здесь число 1.
XExpression – имя переменной, откладываемый по оси X. Для отображения временных характеристик пишется T.
YExression – выражение для переменной, откладываемый по оси Y. Для отображения цифрового сигнала пишется d(…) , где в скобках указывается номер или имя узла схемы, который нужно отобразить на данном графике, например, d(5) для узла номер 5 или d(x1) для узла с именем x1. Можно отобразить состояние одного или нескольких узлов десятичным или шестнадцатеричным числом, для чего записать dec(…) или hex(…), где в скобках перечислены через запятую нужные узлы схемы. Например, выражение dec(x1,x2,x3,x4) позволяет выводить на графике двоичное число x1x2x3x4 в десятичном формате (x1 – старший разряд двоичного числа).
Про назначение остальных полей и кнопок можно прочитать во встроенном HELP’е или в [7, 8]. Запуск расчета и отображения графиков осуществляется кнопкой Run. При этом на дисплее появляется окно Transient анализа, в котором рисуются графики сигналов заданных точек схемы.
Рис. 5.21
В качестве примера переделаем схему, показанную на рис. 5.17а, для Transient анализа. Для этого заменим переключатели на генератор strim4 и зададим последовательность, показанную на рис. 5.20. На
119
![](/html/2706/198/html_tFiU6RqCWU.HRT4/htmlconvd-fLbqui120x1.jpg)
Цифровая схемотехника
схеме обозначим входы x1, x2, x3, x4 , а выход – f (рис. 5.22). Запустим анализ и в столбце YExression зададим выражения, показанные на рис. 5.21а.
Рис. 5.22
После запуска анализа графики будут выглядеть так, так показано на рис. 5.23.
В окне анализа можно изменить масштаб, увеличить или уменьшить изображение, вывести графики на печать или скопировать в графический редактор.
Чтобы вновь вызвать окно Transient Analysis Limits, нужно нажать клавишу F9 или кнопку .
Для выхода из анализа необходимо выбрать пункт меню Transient- >Exit Analysis.
Рис. 5.23
120