Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания к лабораторным работам по организации ЭВМ.docx
Скачиваний:
19
Добавлен:
01.07.2025
Размер:
10 Мб
Скачать
☆
  1. Лабораторная работа № 4

Синтез логических схем и их исследование

Цель работы: Приобретение навыков синтеза логических схем и их реализации в определенном базисе.

Задание: Записать логические выражения функций в СДНФ и в СКНФ.

Минимизировать полученные выражения с помощью карты Карно.

Перевести выражение в базис И-НЕ или в базис ИЛИ-НЕ (в зависимости от варианта задания). Построить схему устройства в соответствующем базисе.

Теоретическое введение

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

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

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

Функции алгебры логики могут быть заданы в виде:

1. Таблицы истинности (таблицы состояний).

2. Структурной формулы (логического выражения), описывающей функциональную связь между входными и выходными переменными.

3. Временных диаграмм.

Порядок синтеза комбинационных схем и цифровых автоматов:

1. Словесная формулировка задачи, в которой оговаривается число входных и выходных переменных и функциональные связи между ними.

2. Составление таблицы истинности синтезируемой функции.

3. Запись функции (или функций) в виде логического выражения (или системы логических уравнений).

4. Минимизация функции.

5. Построение логической схемы из конкретных логических элементов с использованием логического уравнения в минимальной форме.

Рассмотрим синтез функции на примере.

Пусть функция 3-х переменных задана таблицей истинности (таблица 2.4.1).

Таблица 2.4.1.

Номер

набора

Входы

Выход

Х3

Х2

Х1

F

0

0

0

0

1

1

0

0

1

1

2

0

1

0

0

3

0

1

1

0

4

1

0

0

1

5

1

0

1

0

6

1

1

0

1

7

1

1

1

1

Каждую конкретную комбинацию аргументов называют  набором.  Для краткости набор записывают в виде двоичного числа, цифрами которого являются значения аргументов. Для  п аргументов существует N = 2n наборов.

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

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

Для записи логической функции в дизъюнктивной нормальной форме поступают следующим образом:

1. В таблице истинности выделяют строки, в которых булева функция имеет значение 1.

2. Для каждой такой строки составляют конъюнкцию всех входных переменных, причем записывают сомножитель без инверсии, если переменная принимает значение 1 и с инверсией, если 0. Составляют столько конъюнкций всех аргументов, сколько имеется строк в таблице истинности, в которых функция равна 1. Каждая такая конъюнкция называется конституентой единицы.

Таким образом функцию F запишем в СДНФ:FСДНФ (X1,X2,X3) = X1*·X2*·X3*+ X1·X2*·X3* + X1*·X2*·X3 +X1*·X2·X3 + X1·X2·X3.

Функция представлена суммой групп конституент единицы. Каждая группа состоит из произведения, в которую входят все переменные.

Если схема имеет несколько выходов, то каждый выход описывается своей функцией. Такая система функций называется системой собственных функций.

Для записи функции в коньюнктивной нормальной форме (СКНФ) пользуемся правилом: для каждого набора переменных, при котором функция равна 0, записывается сумма, в которой с отрицанием берутся переменные, имеющие значение 1.

FСКНФ (X1,X2,X3) = (X1+ X2* +X3) (X1*+X2*+X3) (X1*+ X2 +X3*)

Теперь полученные функции необходимо минимизировать.

Простые функции можно минимизировать, используя законы склеивания и поглощения.

Для FСДНФ (X1,X2,X3) склеиваются первый и второй члены, получаем (X2*·X3*), склеиваем первый и третий члены, получаем (X1*·X2*), четвертый и пятый дают (X2·X3).

Получаем минимизированную функцию:

FМДФ (X1,X2,X3) = (X2*· X3*) + (X1*·X2*) + (X2·X3)

Для FСКНФ (X1,X2,X3) склеиваются пе6рвый и второй члены функции, третий остается без изменений..

Получаем минимизированную функцию:

FМКФ (X1,X2,X3) = (X2* +X3) (X1*+X2+ X3*)

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

Минимизация осуществляется за счет операций склеивания и поглощения.

Склеивание происходит в соответствии со следующими правилами:

- склеивание можно осуществлять по единицам (для ДНФ) или по нулям (для КНФ). Причем склеиваемые области (импликаты) должны содержать только единицы для ДНФ (или только нули для КНФ );

- объединяются только прямоугольные области с числом единиц (нулей) 2n, где n – целое число;

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

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

- одна ячейка может входить сразу в несколько областей.

C учетом этих правил сам процесс минимизации можно описать следующим образом: после составления карты Карно и выделения областей смежных единиц необходимо внутри каждой области исключить переменные, дополняющие друг друга, а оставшиеся члены объединить функцией ИЛИ для ДНФ. Следует отметить, что результатом минимизации могут быть эквивалентные друг другу формы, которые соответствуют разным способам покрытия карты Карно областями. На рис. 2.4.1 показана карта Карно для исследуемой нами функции, на которой выделены 3 области из двух рядом стоящих единиц. Для минимизации функции в дизъюнктивной нормальной форме выпишем не изменяющиеся переменные.

Рис. 2.4.1. Карта Карно для трех переменных, минимизация функции в ДНФ, выделены 3 области.

FМДФ (X1,X2,X3) = (X2*· X3*) + (X1*·X2*) + (X2·X3)

Первая выделенная область дает первый член функции, вторая– второй и третья – третий.

В конъюнктивной форме объединяем рядом стоящие нули (рис.2.4.2). Выделили только одну область.

Рис. 2.4.2. Карта Карно для трех переменных, минимизация функции в КНФ, выделена 1 область

Запишем теперь функцию, выписывая не изменяющуюся часть в выделенной области с инверсией переменных. Еще одна конституента нуля не имеет соседних нулей и будет внесена в минимизированную форму без изменения. В результате получим:

FМКФ (X1,X2,X3) = (X2* +X3) (X1*+X2+ X3*)

На основе полученных выражений можно составить схему устройства, реализующего заданную функцию. Схема устройства, полученная на основе СДНФ, изображена на рис. 2.4,3 а на основе СКНФ на рис. 2.4.4.

Рис. 2.4.3. Схема устройства, полученная на основе минимизации СДНФ

Рис. 2.4.4. Схема устройства, полученная на основе минимизации СКНФ

Выполнение лабораторной работы

Для соответствующего варианта задания записать логические выражения в СДНФ и в СКНФ.

Минимизировать полученные выражения с помощью карты Карно.

Перевести выражение в базис И-НЕ (для нечетных вариантов), в базис ИЛИ-НЕ (для четных вариантов).

Построить схему устройства в соответствующем базисе.

Получить временные диаграммы работы устройства. Для этого запрограммировать все кодовые комбинации входных сигналовс помощью Word Generator, подключить соответствующие выводы генератора к входам схемы, подать входные и выходные переменные на входы Logic Analyzer.

Отчет должен содержать заголовок работы, цель исследования и отражать каждый шаг выполнения работы. Заключение обязательно.

Варианты заданий к лабораторной работе

Варианты заданий к лабораторной работе приведены в таблице 2.4.2.

Таблица 2.4.2.

№

Входные переменные

Варианты заданий

X4

X3

X2

X1

F1

F2

F3

F4

F5

F6

F7

F8

F9

F10

F11

F12

0

0

0

0

0

1

1

1

1

0

0

0

1

0

1

0

1

1

0

0

0

1

0

1

0

0

0

1

0

1

1

0

1

0

2

0

0

1

0

0

1

0

0

0

1

1

1

1

0

1

0

3

0

0

1

1

1

0

0

0

1

1

1

1

0

0

0

0

4

0

1

0

0

1

0

1

0

1

0

1

0

1

1

0

0

5

0

1

0

1

1

0

1

1

1

0

0

0

1

1

0

1

6

0

1

1

0

0

1

1

1

1

0

0

0

1

1

1

1

7

0

1

1

1

0

0

1

1

0

1

0

1

1

0

1

1

8

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

1

9

1

0

0

1

1

0

0

0

1

0

1

0

0

0

1

0

10

1

0

1

0

1

1

0

1

1

0

1

0

0

1

1

0

11

1

0

1

1

0

1

0

1

0

1

0

0

1

0

1

0

12

1

1

0

0

0

1

1

0

0

1

1

1

1

1

1

1

13

1

1

0

1

0

1

1

0

1

1

1

1

0

1

0

1

14

1

1

1

0

1

1

0

1

0

0

1

1

0

0

0

1

15

1

1

1

1

1

0

1

1

1

1

0

0

0

0

0

0

Вопросы для подготовки к отчету:

1. Как записать СДНФ, используя таблицу истинности устройства?

2. Как записать СКНФ, используя таблицу истинности устройства?

3. Как минимизировать функцию, используя карты Карно?