ЛАБОРАТОРНАЯ РАБОТА №1
АНАЛИЗ И СИНТЕЗ КОМБИНАЦИОННЫХ СХЕМ
Целью работы является освоение основных этапов синтеза комбинационных схем типовых узлов вычислительной техники с использованием механизма имитационного моделирования программы Electronics Workbench.
1. Основные положения
Существующие электронные схемы принято делить на два класса - аналоговые и цифровые. Аналоговые схемы предназначены для преобразования и обработки сигналов, изменяющихся по закону непрерывной функции (это различного рода усилители, генераторы, модуляторы, фильтры и т.д.). Цифровые схемы оперируют с сигналами, изменяющимися по закону дискретной функции. При этом в большинстве случаев эта функция является двоичной, так как возможные её значения определяются символами двоичного алфавита: 0 или 1. Этим дискретным значениям в схеме соответствуют два хорошо различающихся уровня напряжения: высокий или H-уровень (high - высокий) и низкий или L-уровень (low - низкий). Величины H- и L- уровней зависят только от типа используемой транзисторной технологии и, например, для TTL- технологии они составляют
UH ( 2,4 В (типовые 3,4 В), UL ( 0,4 В (типовые 0,2 В).
В свою очередь электронные схемы в вычислительной технике по принципу функционирования принято делить на два типа - комбинационные и последовательностные (цифровые автоматы).
Комбинационной называют схему с n входами и m выходами, для которой совокупность выходных сигналов в данный момент времени полностью определяется совокупностью входных сигналов для этого же момента времени и не зависит от входных сигналов, действующих в предыдущие моменты времени. Последнее замечание отличает комбинационную схему от цифровых автоматов, которым посвящены последующие работы.
Задача анализа комбинационных схем сводится к нахождению системы логических (булевых) функций, определяющих логику работы такой схемы.
Синтез является задачей, обратной анализу, и заключается в построении комбинационной схемы по заданным условиям работы. Эти условия определяют количество входов и выходов схемы, а также закон соответствия двоичных наборов входных и выходных переменных (сигналов).
В общем случае можно выделить несколько этапов синтеза:
Формирование логических условий работы рассматриваемой схемы или узла путём составления таблицы истинности для каждого из выходов комбинационной схемы.
Получение по таблице истинности или на основании использования методов минимизации минимальных нормальных форм в дизъюнктивной или конъюнктивной форме (ДНФ или КНФ).
Преобразование минимальных нормальных форм к виду, соответствующему выбранному (или заданному) набору логических элементов (логическому базису).
Построение комбинационной схемы.
Применительно к данному лабораторному практикуму этот перечень нужно дополнить этапом исследования (моделирования) комбинационной схемы «на рабочем столе» программы Electronics Workbench на предмет проверки правильности её функционирования.
При выполнении практической работы по синтезу комбинационной схемы некоторые этапы могут быть опущены или видоизменены. Так, работа функционального узла может быть задана уже в формализованном виде с помощью системы булевых функций. Не всегда актуальным является и этап минимизации, т.к. комбинационную схему можно реализовать не на основе логических элементов, а используя постоянные запоминающие устройства или программируемые логические матрицы.
2. Индивидуальные задания
Индивидуальные задания к работе включают синтез комбинационных схем практически важных функциональных узлов, использующихся в схемотехнике вычислительных устройств. В зависимости от сложности задачи (или её недостаточной освещённости в рекомендуемой литературе) после формулировки задания даются краткие пояснения, следуя которым можно решить поставленную задачу. Выбор логического базиса для реализации схемы осуществляется самостоятельно из состава элементов программы Electronics Workbench.
Общее замечание к выполнению заданий. Предложенные для синтеза функциональные узлы относятся к комбинационным схемам с несколькими выходами, каждый из которых описывается своей булевой функцией. Поэтому оптимальная схема узла может быть получена лишь при совместной минимизации системы булевых функций (см. соответствующий раздел математической логики), выявляющей общие компоненты (простые импликанты) для различных объединений их этих функций.
Задание 1. Пятиразрядный преобразователь прямого кода в дополнительный и обратно (один разряд знаковый, четыре - цифровых).
ПОЯСНЕНИЯ к решению [Л.2].
Сопоставление прямого и дополнительного кодов показывает, что последний (для отрицательных чисел) отличается от первого инверсными значениями старших цифровых разрядов после первого справа разряда, содержащего "1". Младший цифровой и знаковый разряд всегда остаётся равными для обоих кодов. Данное правило, применительно к n-разрядному коду (ai - разряд числа на входе преобразователя, bi - на выходе), можно записать в следующем виде ((n-1)-й - знаковый разряд):
bi = ai ( (ai-1 V...V a0), i = n-2, n-3, ,1 и
bi = ai , для i = 0; n-1.
Для положительных чисел:
bi = ai, i = n-1, ,0.
Схема должна быть единой и выполнять предписанные ей функции независимо от того, какие числа подаются на её вход - положительные или отрицательные в каком-либо из рассматриваемых кодов.
Задание 2. Приоритетный шифратор PRCD (8(3) для преобразования 8-разрядного входного кода в двоичный код числа i, где i - номер позиции старшей единицы во входном коде.
а7
а6
а5
а4
а3
а2
а1
а0
GS
A2
A1
A0

0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
1
1
0
0
0

0
0
0
0
0
0
1
x
1
0
0
1

0
0
0
0
0
1
x
x
1
0
1
0




.
.
.







0
1
x
x
x
x
x
x
1
1
1
0

1
x
x
x
x
x
x
x
1
1
1
1


а) б)
Рис. 1.1 Приоритетный шифратор 8(3(а) и таблица истинности его работы(б)
ПОЯСНЕНИЯ к решению [Л.3].
Получение минимальной формы для каждой из функций приоритетного шифратора рис. 1.1 с помощью классических методов минимизации вызывает затруднение, так как число аргументов функции n=8. Однако минимальные формы можно быстро получить, используя два правила из булевой алгебры:
правило склеивания
xy V x = x;
следствие из дистрибутивного закона
x V y = x V y.
Так, например, применяя первое правило к отмеченной строке таблицы истинности для А1, можно получить импликанту , а их совместное использование для двух последних строк позволяет получить
а7 V = a7 V a6.
Итак, следуя данным рекомендациям, вы быстро определите минимальные формы для каждой из функций.
Работу схемы сравнить с интегральной схемой 74148 приоритетного шифратора 8>3 (отечественный аналог 155ИВ1).
Задание 3 включает две части:
построение одноразрядного сумматора на сдвоенном мультиплексоре 4(1 (74153 или К155КП2);
разработку схемы сопряжения мультиплексоров 8>1 (74151 или 155КП7) и 4>1 (74153) с целью получения устройства с функциями мультиплексора 16(1.
ПОЯСНЕНИЯ к решению [Л.4]. Изображение сумматора и мультиплексора на функциональной схеме приведено соответственно на рис. 1.2, а и б, где приняты следующие обозначения: ai и bi - одноимённые i - разряды слагаемых, si - разряд суммы, а ci и ci+1 - переносы в i-й и (i+1) - разряды соответственно.

Рис. 1.2 Одноразрядный сумматор (а), сдвоенный мультиплексор 4(1 (б), мультиплексор 8(1 (в), таблица истинности одной половины сдвоенного мультиплексора КП2 (г).
Мультиплексор имеет входы информационные D0...D3 и адресные A2, A1. Двоичный код адреса означает номер того информационного входа, который коммутируется на выход F1 (F2). (см. таблицу истинности рис. 1.2, г). Адресные входы для сдвоенного мультиплексора являются общими для обеих половин схемы.
Одним из полезных применений мультиплексора является использование его в качестве универсального логического модуля для воспроизведения булевых функций. Как следует из таблицы истинности мультиплексора К155КП2 (рис. 1.2, г), уравнение, описывающее его работу для одного из выходов F1, имеет вид
(1.1)
Поставленная выше задача требует реализации на данном мультиплексоре двух функции от трёх переменных ( si = (1((ai, bi, ci) и ci+1 = (2((ai, bi, ci) ). В общем случае на основе мультиплексора могут быть воспроизведены булевые функции от числа переменных n ( m, где m - число адресных входов мультиплексора. Случай n=m считается тривиальным в отличие от n > m, когда требуется предварительное разложение искомой функции в ряд Шеннона по m переменным.
Пусть n=m+1=3 (т.е. m=2). Представим произвольную булевую функцию y=f(x3, x2, x1) её разложением по переменным x2 и x1 (т.е. тем переменным, которые задаются на адресные входы):
 (1.2)
Здесь f0, f1, f2, f3 – остаточные функции от одного аргумента - переменной x3. Сравнение уравнений (1.1) и (1.2), позволяет выработать подход к реализации метода. В заключение отметим, что функцию si требуется получить на выходе F1 мультиплексора, а функцию ci+1 - на выходе F2. При затруднении с решением как первой, так и второй частей Задания 3 обратитесь к литературе [Л. 2, 3, 4].
Задание 4 включает две части:
построение одноразрядного вычитателя на сдвоенном мультиплексоре 4(1 (74153 или К155КП2);
разработку схемы сопряжения двух дешифраторов DC 3(8 (74138 или К531ИД7) с целью получения устройства с функциями дешифратора 4(16.
ПОЯСНЕНИЯ к решению [Л. 2, 3, 4].
На рис. 1.3, а приведено условное изображение вычитателя и стандартное функциональное обозначение дешифратора DC 3(8 (К531ИД7, рис. 1.3, б). Для вычитателя приняты следующие обозначения входов и выходов: ai и di - одноимённые разряды операндов вычитателя, si - разряд разности, bi - заём из i-го разряда, а bi+1 - заём из i+1 разряда.

а) б) К531ИД7
Рис. 1.3 Вычитатель (а) и дешифратор К531ИД7 (б)
Дешифратор относится к схемам, преобразующим двоичный код на его входах в активный сигнал на одном из его выходов. Полный дешифратор на n-входов имеет 2n выходов. Поэтому при определении дешифратора допустимо сокращённое обозначение его типа DC (3-8( - дешифратор стремя входами и восьмью выходами.
Дешифратор К531ИД7 имеет инверсные выходы (активный низкий уровень), что и отражено на функциональном обозначении. Для решения вопросов Задания 4 рекомендуется использование методики, принципиальные положения которой изложены к Заданию 3.
Задание 5. Синтез комбинационной схемы 3-разрядной схемы инкрементора/декрементора, условное изображение которого, с учётом назначений входов и выходов, приведено на рис. 1.4.
ПОЯСНЕНИЯ к решению [Л.3].
Из функционального назначения схемы следует, что при Y=0 между значением разряда ai входного слова А и переносом в этот разряд qi=ci должна выполняться операция сложения, а при Y=1 между разрядом ai и заёмом qi=bi – вычитания. Структура таблицы истинности приведена в табл. 1.1.

а) б)
Рис. 1.4 Инкрементор/декрементор (а) и его функциональное описание (б)
Таблица 1.1
Y
ai
qi
si
qi+1
Режим

0
0
0
0
0


0
0
1
1
0


0
1
0
1
0
Инкремент

0
1
1
0
1


1
0
0
0



1
0
1
1
1
Декремент

1
1
0
1
0


1
1
1
0
0


Определив значения для функций выходов si и qi+1, можно получить необходимые логические соотношения, которые будут справедливыми для i=1, 2. В дальнейшем надо только определиться с начальными значениями переноса/заёма при формировании функций so и q1 (i=0).
Задание 6. Преобразователь 4-разрядного двоичного кода в код Грея и обратно. Логический базис – элемент ИСКЛЮЧАЮЩЕЕ ИЛИ.
ПОЯСНЕНИЯ к решению [Л. 2 ,3 ,4].
В некоторых случаях необходим числовой код, построенный таким образом, чтобы при переходе от одного числа к следующему изменялся бы всегда только один двоичный разряд. Этим свойством обладает код Грея, использующийся, например, при разметки координат клеток карт Карно, в преобразователях углового положения вала в цифровой код и в других случаях. Соответствие между двоичным кодом и кода Грея для четырехразрядных чисел отражено в табл. 1.2.

Используя стандартную методику синтеза с минимизацией на картах Карно, можно легко решить прямую задачу. Решение обратной задачи (преобразования кода Грея в двоичный код) – сложнее. Сложность заключается в преобразовании минимальных логических форм типа И/ИЛИ к виду, использующему только операцию ИСКЛЮЧАЮЩЕЕ ИЛИ (mod 2). Решение можно значительно упростить, если рассмотреть карты Карно для функций выходов (i (i= 1, 2, 3, 4) как объекты преобразования одной функции в другую на основе операции ИСКЛЮЧАЮЩЕЕ ИЛИ. Для пояснения высказанного предложения на рис.1.5 приведены карты Карно для функций выходов (3 и (2. Сравнение этих карт Карно между собой позволяет убедиться в преобразовании карты Карно для (3 в карту для (2 на основе соотношения: (2 = (3 ( (2 = (3 V (2.
Если это понятно, то решение обратной задачи не вызывает затруднений.
Задание 7. Исследование работы многоразрядного сумматора с последовательным и параллельным переносами
ПОЯСНЕНИЯ к решению [Л.3, 4, 8]. Исследование работы многоразрядного сумматора провести в три этапа.
Двоичный код
Код Грея

(4
(3
(2
(1
(4
(3
(2
(1

0
0
0
0
0
0
0
0

0
0
0
1
0
0
0
1

0
0
1
0
0
0
1
1

0
0
1
1
0
0
1
0

0
1
0
0
0
1
1
0

0
1
0
1
0
1
1
1

0
1
1
0
0
1
0
1

0
1
1
1
0
1
0
0

1
0
0
0
1
1
0
0

1
0
0
1
1
1
0
1

1
0
1
0
1
1
1
1

1
0
1
1
1
1
1
0

1
1
0
0
1
0
1
0

1
1
0
1
1
0
1
1

1
1
1
0
1
0
0
1

1
1
1
1
1
0
0
0

Таблица 1.2
Трёхразрядный сумматор (3...4 разряда) с последовательным переносам на основе одноразрядного сумматора, который представить в виде подсхемы (Subcircuit).
На основе выведенных соотношений для межразрядных переносов построить и провести исследование трёхразрядной схемы сумматора с параллельным переносом.
Выполнить описание (назначение выводов) 4-разрядного сумматора с параллельным переносом К155ИМ6 (74283).
Задание 8. Синтез схемы преобразователя прямого кода двоичных чисел (4 разряда, включая знаковый) в дополнительный код (вариант 2).
Правило преобразования. Для преобразования дополнительного (прямого) кода отрицательного числа в прямой (дополнительный) код необходимо проинвертировать цифровые разряды исходного числа и, к полученному результату, прибавить «1». Положительные числа имеют одинаковое представление в обоих кодах.
ПОЯСНЕНИЯ к решению. Инвертированием цифровых разрядов ?i управляет знаковый разряд ?s на основе использования логической операции Исключающее ИЛИ
?s( ?i i=1, 2, 3.
Прибавление +1 выполнить с использованием сумматора на ИС К155ИМ6 (74283), представленный на рис. 1.6
Задание 9. 3-разрядный цифровой компаратор, определяющий отношения «равно» и «больше» для двоичных чисел А и В.
ПОЯСНЕНИЯ к решению. Предлагается на выбор два способа.
Анализ на истинность указанных соотношений на основе выполнения поразрядных логических операций над одноимёнными разрядами обоих чисел. Данный способ подробно изложен в [Л. 2, 8].
Выполнение операции вычитания А-В на многоразрядном сумматоре (пусть это будет ИС К155ИМ6 (74283)) с последующим анализом результата вычитания (флагов). Для этого достаточно проанализировать результат выполнения ассемблерной команды Cmp dst, src для беззнаковых операндов. Можно также обратиться и к литературе [Л. 3].
Задание 10. Схема вычитания двух 4-разрядных двоичных чисел с вычислением абсолютной величины и знака разности, использующей циклический перенос.
ПОЯСНЕНИЯ к решению. Предварительно рассмотрим реализацию операции вычитания двоичных чисел А и В, заменив её сложением числа А с поразрядным дополнением числа В. Поразрядное дополнение числа В вводится соотношением 2n-1-B и, фактически, сводится к простому инвертированию всех разрядов числа
A-B = A+2n-1-B = 2n+(A-B)-1. (1.3)
В зависимости от знака разности возможны два случая.
А-В>0. В этом случае реализация соотношения (1.3) приводит к формированию переноса из старшего разряда CF=2n и для получения правильного результата необходимо выполнить операцию циклического сложения с образовавшимся переносом.
2n+(A-B)-1
+ L---(20
-------
A-B>0 или |А-В|
Отметим, что здесь знак разности можно получить как ?s= ?cf
Пример.
А=5=0101(2) А = 0101(2)
B=3=0011(2) 2n-1-B = 1100(2)
---------
1 0001(2)
L-(1 Сложение с циклическим переносом
-----
0010(2)=2
Графическая иллюстрация рассмотренного случая приведена на рис. 1.7.
А-В?0. В этом случае перенос при реализации выражения (1.3) не возникает (убедитесь в этом самостоятельно), а вычитание равных чисел приводит к формированию числа 11...1.
Модифицируем данный случай на удовлетворения требования, сформулированного в задании – получения модуля разности с указанием её знака. Для этого схемным путём сформируем искусственный перенос, который бы инициировал операцию поразрядного дополнения величины (1.3) и указывал на наличие отрицательной разности
2n-1-(2n+(A-B)-1) = (B-А) = ¦A-B¦. (1.4)
Для выполнения задания нужно объединить схемы рис. 1.7 и 1.8 в одну.
Задание 11. Устройство контроля чётности при передаче данных.
ПОЯСНЕНИЯ к решению. Простейший способ обнаружения ошибок при передаче данных заключается в передаче разряда проверки на чётность P. (рис. 1.9). В контрольный разряд (КР) чётности записывается «0», если число единиц
в информационном слове чётное и наоборот - в случае нечётного числа. При этом общее количество передаваемых единиц по каналу связи, включая КР, всегда будет чётным. На принимающей стороне КР вычисляется тем же способом для информационных разрядов и сравнивается с переданным КР. При несовпадении фиксируется ошибка передачи. Исправить ошибку, к сожалению, невозможно, - надо использовать более сложные способы помехоустойчивого кодирования данных.
При выполнении задания произведите синтез блока формирования КР, а также покажите возможность использования в схеме ИС 1533ИП5 (SN 74280).
Задание 12. Преобразователь кода 8-4-2-1 в 7-разрядный код семисегментного индикатора для представления 16-теричных чисел 0, ..., 9, А, b, C, d, E, F.
ПОЯСНЕНИЯ к решению. Для вывода чисел широко применяются семисегментные индикаторы, в которых семь сегментов-диодов расположены так, что при зажигании определённой их комбинации высвечивается тот или иной символ (рис. 1.10, а). Выпускаются семисегментные индикаторы с общим анодом или катодом. Для управления сегментами удобны элементы с выходом типа «общий коллектор», так как в этом случае подключается внешний резистор, сопротивление которого можно задать с учётом характеристик применяемых светодиодов (рис. 1.10, б – сегмент зажигается, когда выходной транзистор управляющего элемента отпирается; рис. 1.10, в – отпирается).
Таблица 1.3
16-теричная цифра
Код
8-4-2-1
7-сегментный выход



7 6 5 4 - 3 2 1 0

0
0000
0 1 1 1 - 1 1 1 1

1
0001
0 0 0 0 - 0 1 1 0

2
0010
0 1 0 1 – 1 1 0 1

...
...
...

A
1010
0 1 1 1 – 0 1 1 1

b
1011
0 1 1 1 – 1 1 0 0

...
...
...

F
1111
0 1 1 1 – 0 0 0 1

Преобразователь кода 8-4-2-1 в 7-разрядный код семисегментного индикатора для представления 16-теричных чисел 0, ..., 9, А, b, C, d, E, F должен работать в соответствии с таблицей истинности табл. 1.3. Проверку работы дешифратора произвести путём подключения к его выходам семисегментного индикатора из библиотеки EWB 5.12.
3. Замечания к выполнению работы и содержание отчёта
Прежде чем приступить к реализации задания по макетированию и исследованию комбинационной схемы на экране персонального компьютера с помощью программы EWB 5.12, целесообразно выполнить ряд действий ознакомительного характера.
Ознакомится с вводным описанием пользователя программы EWB 5.12
“Электронная лаборатория на IBM PC”
Выполнить показательные примеры моделирования комбинационных схем в программе EWB 5.12, помещённые каталоге Work_ewb512.
Выполнить необходимые этапы синтеза комбинационной схемы индивидуального задания, учитывая заданный логический базис. Если базис не задан, то проектант свободен в выборе элементов библиотеки элементов EWB 5.12.
Содержание отчёта должно включать
Материал последнего пункта данного параграфа,
Файл(ы) моделирования разработанной схемы с необходимыми распечатками графических материалов.
ЛИТЕРАТУРА
1. Каган Б.М. Электронные вычислительные машины и системы: Учебное пособие для вузов. – М.: Энергоатомиздат, 1991.-592 с: ил.
2. Угрюмов Е. П. Проектирование элементов и узлов ЭВМ: Учеб. пособие для вузов. – М.: Высшая Школа, 1987.-318 с.: ил.
3. Потемкин И. С. Функциональные узлы цифровой автоматики. – М.: Энергоатомиздат, 1988.-320 с.: ил.
4. Зельдин Е. А. Цифровые интегральные микросхемы в информационно-измерительной аппаратуре. – Л.: Энергоатомиздат, 1986.-280 с.: ил.
5. Пухальский Г.И., Новосельцева Т. Я. Проектирование дискретных устройств на интегральных микросхемах: Справочник. -М.: Радио и связь, 1990.-304 с.: ил.
6. Цифровые ЭВМ: Практикум / К.Г.Самофалов, В.И.Корнейчук, В.П.Тарасенко; Под общ. ред. К.Г.Самофалова. - К.: Выща шк.,1990.-225с.:Ил
7. Скляров В. А. Синтез автоматов на матричных БИС / Под. Ред. С. И. Баранова. – Минск: Наука и техника, 1984.-288 с.: ил.
8. . Угрюмов Е. П. Цифровая схемотехника.- СПб.: БХВ – Санкт-Петербург, 2000. – 528 с.: ил.
Работа подготовил доцент кафедры ВТ НГТУ В. А. Афанасьев.
Редакция 2002г.