5 |
a (b c ) b | c |
2 |
a b c |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
a (b | c ) |
a (b c ) a b c |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
7 |
a b c |
2 |
|
|
|
|
|
|
|
|
|
|
|||||||||
a b c a b c |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
8 |
a b c a (b c) |
2 |
a | (b c) |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
a b c a (b c ) |
a (b c ) |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
10 |
a | (b c) b c |
2 |
a b c |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
11 |
a (b c) | (b | c) |
2 |
|
|
|
|
|
|
|
|
|
|
|||||||||
a b | c |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
12 |
a (b c) b c |
2 |
a (b c b c) a (b c) |
||||||||||||||||||
7 |
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
13 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
a b ~ c |
a b c a b a c |
||||||||||||||||||||
8 |
|||||||||||||||||||||
14 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
(a b) c a b a c |
a (b c ) |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
(a b) (a b) c c (a b) |
||||||||||
15 |
|
|
|
|
|
|
|||||||||||||||
a b a c a b c |
(a b ) |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Определить тип и количество логических элементов, необходимых для реализации исходной ФАЛ:
Тип |
Реализуемая опе- |
Количество |
|
рация |
ЛЭ |
||
|
|||
|
|
|
…………………………………………………………
Всего
Например, реализация ФАЛ у = a | (b c ) b c требует логические элемен-
ты:
Тип |
Реализуемая опе- |
Количество |
|
рация |
ЛЭ |
||
|
|||
НЕ |
Инверсия |
2 |
|
ИЛИ |
Дизъюнкция |
2 |
|
И-НЕ |
Штрих Шеффера |
1 |
|
ИЛИ-НЕ |
Стрелка Пирса |
1 |
|
|
Всего |
6 |
3. Упростить исходное выражение до двух логических операций.
Чтобы получить компактную запись сложного выражения, прежде всего, це-
6
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таблица 1. Пример работы с ФАЛ в командном окне
|
Исходная таблица |
|
|
|
|
|
|
|
|
||||
|
|
истинности |
|
Командное окно (Command Window) |
|||||||||
аргументы |
функция |
|
|
|
MATLAB |
|
|
||||||
с |
|
b |
a |
|
y |
|
|
|
|
|
|
|
|
0 |
|
0 |
0 |
|
1 |
>>A=[0 1 0 1 0 1 0 1]; |
|
|
|
||||
0 |
|
0 |
1 |
|
0 |
>>B=[0 0 1 1 0 0 1 1]; |
|
|
|
||||
0 |
|
1 |
0 |
|
1 |
>>C=[0 0 0 0 1 1 1 1]; |
|
|
|
||||
|
|
>>Y1= ~(A&(B|~C))|~(~B|C) |
|
||||||||||
0 |
|
1 |
1 |
|
1 |
|
|||||||
|
|
Y1 = |
|
|
|
|
|
|
|
||||
1 |
|
0 |
0 |
|
1 |
|
|
|
|
|
|
|
|
|
|
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
||||
1 |
|
0 |
1 |
|
1 |
||||||||
|
|
>> Y2= ~(A&~xor(B,C)) |
|
|
|||||||||
1 |
|
1 |
0 |
|
1 |
|
|
||||||
|
|
Y2 = |
|
|
|
|
|
|
|
||||
1 |
|
1 |
1 |
|
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
скобках всегда вычисляются первыми;
лесообразно заменить в нем такие элементарные ФАЛ, как стрелка Пирса, штрих Шеффера, исключающее ИЛИ и эквивалентность их сложной формой записи. При этом необходимо помнить, что порядок вычисления логического выражения определяется тремя основными факторами:
– скобки. Выражения в
–приоритет операций. По убыванию приоритета логические операции располагаются в следующем порядке:
инверсия отдельного аргумента,
штрих Шеффера, стрелка Пирса, эквивалентность,
конъюнкция,
операции типа дизъюнкции – собственно дизъюнкция и исключающее ИЛИ (неравнозначность);
–когда порядок вычисления выражения не задан скобками, а уровень приоритета операций одинаков, выражение вычисляется слева направо.
Например, выражение |
a | (b c ) b c |
следует переписать как |
a (b c) b c .
Затем в полученном выражении с помощью законов и тождеств алгебры логики, а также сложной формой записи элементарных ФАЛ добиваются наименьшего числа операций. При этом в случае использования закона двойственности знак общей инверсии преобразуется в скобки.
Так, для приведенного примера:
a (b c ) b c (a b c ) b c a b c b c
a (b c) a (b c) a b c a (b ~ c) a | (b ~ c).
4. С помощью системы MATLAB проверить эквивалентность исходной и упрощенной ФАЛ.
Различные ФАЛ от одного и того же количества аргументов эквивалентны, если на всем множестве входных двоичных наборов их значения совпадают.
В системе MATLAB значения ФАЛ можно получить следующим образом. В командном окне (Command Window) системы MATLAB построчно в виде век- торов-строк вводятся значения аргументов ФАЛ в соответствии с последовательностью входных двоичных наборов (табл. 1). При этом соседние элементы вектора-строки разделяются пробелом, а командная строка завершается символом «;», который означает запрет вывода на экран результата выполнения данной командной строки после перехода на следующую строку путем нажатия клавиши Enter.
После этого в очередной командной строке вводится ФАЛ, логическое выра-
7
жение которой записывается с помощью стандартных для языка MATLAB операторов или функций (табл. 2). При этом в конце командной строки символ «;» не ставится, что после нажатия клавиши Enter обусловливает вывод на экран результатов вычислений в виде вектора-строки с указанием имени функции (см. табл. 1).
Таблица 2. Логические операторы и функции MATLAB
Функция |
Название |
Оператор |
and() |
Логическое И |
& |
or() |
Логическое ИЛИ |
| |
not() |
Логическое НЕ |
~ |
xor() |
Исключающее ИЛИ |
|
Y1=or(not(and(A,or(B,not(C)))),not(or(not(B),C))),
Y2=not(and(A,not(xor(B,C)))).
Пример записи ФАЛ с помощью операторов языка MATLAB приведен в табл. 1. Конечно, ФАЛ можно записать и с помощью только функций MATLAB, например
Но тогда выражения становятся громоздкими, что повышает вероятность ошибки как при записи, так и вводе в рабочее поле того или иного окна MATLAB.
5. Определить тип и количество логических элементов, необходимых для реализации полученной ФАЛ. На основании сравнения с таблицей п.2 работы сделать вывод относительно целесообразности упрощения ФАЛ.
2. КОМБИНАЦИОННЫЕ ЦИФРОВЫЕ УСТРОЙСТВА (КЦУ)
Применяются для построения потенциальных автоматов – автоматов без памяти. В таких реализациях значение выходной переменной зависит только от значений входных переменных.
Подготовка к работе
По указанной литературе изучить методику синтеза КЦУ.
Задания и методические указания к их выполнению
1.Из табл. 3 в соответствии с номером варианта N выбрать закон функционирования КЦУ c четырьмя входами и одним выходом.
В таблице в круглых скобках указаны десятичные номера двоичных наборов, на которых функция принимает значение 0, в квадратных скобках – 1, а не указанные наборы являются безразличными.
2.Методами карт Карно и Квайна получить минимальную ФАЛ.
Таблица 3. Закон функционирования КЦУ
N |
Скобочная запись |
N |
Скобочная запись |
|
таблицы истинно- |
|
таблицы истинности |
|
сти |
|
|
1 |
[0,1,2,8,9,(11,12,13,14 |
1 |
(0,1,2,8,9,[11,12,13,14 |
|
,15)] |
6 |
,15]) |
8
2 |
[1,2,3,9,10,(8,12,13,14 |
1 |
(1,2,3,9,10,[8,12,13,14 |
|
,15)] |
7 |
,15]) |
3 |
[2,3,4,10,11,(7,8,13,14 |
1 |
(2,3,4,10,11,[7,8,13,14 |
|
,15)] |
8 |
,15]) |
4 |
[3,4,5,11,12,(6,7,13,14 |
1 |
(3,4,5,11,12,[6,7,13,14 |
|
,15)] |
9 |
,15]) |
5 |
[4,5,6,12,13,(0,1,8,14, |
2 |
(4,5,6,12,13,[0,1,8,14, |
|
15)] |
0 |
15]) |
6 |
[5,6,7,13,14,(0,1,8,9,1 |
2 |
(5,6,7,13,14,[0,1,8,9,1 |
|
5)] |
1 |
5]) |
7 |
[6,7,8,14,15,(0,1,9,10, |
2 |
(6,7,8,14,15,[0,1,9,10, |
|
11)] |
2 |
11]) |
8 |
[0,1,8,9,10,(4,5,6,13,1 |
2 |
(0,1,8,9,10,[4,5,6,13,1 |
|
5)] |
3 |
5]) |
9 |
[1,3,5,10,11,(2,4,8,12, |
2 |
(1,3,5,10,11,[2,4,8,12, |
|
13)] |
4 |
13]) |
10 |
[3,5,7,11,12,(4,8,10,14 |
2 |
(3,5,7,11,12,[4,8,10,14 |
|
,15)] |
5 |
,15]) |
11 |
[5,7,9,13,14,(6,8,12,11 |
2 |
(5,7,9,13,14,[6,8,12,11 |
|
,15)] |
6 |
,15]) |
12 |
[7,9,11,13,15,(4,6,8,10 |
2 |
(7,9,11,13,15,[4,6,8,10 |
|
,12)] |
7 |
,12]) |
13 |
[0,2,4,13,15,(5,6,8,10, |
2 |
(0,2,4,13,15,[5,6,8,10, |
|
12)] |
8 |
12]) |
14 |
[2,4,6,10,12,(8,9,11,13 |
2 |
(2,4,6,10,12,[8,9,11,13 |
|
,15)] |
9 |
,15]) |
15 |
[4,6,8,12,14,(1,3,9,13, |
3 |
(4,6,8,12,14,[1,3,9,13, |
|
15)] |
0 |
15]) |
При формировании областей в карте Карно следует начинать с клетки, соответствующей определенному входному набору и в наименьшей степени связанной с другими аналогичными клетками. Этот прием повторяется для остальных еще не сгруппированных клеток, соответствующим определенным входным наборам, и т.д. При таком подходе удается избежать лишних областей.
В методе Квайна пара подбирается к каждому еще не сгруппированному члену ФАЛ. Кроме того, метод Квайна носит циклический характер. То есть к результату преобразования вновь применяется группировка и т.д. В случае сложного конечного результата заново минимизировать ФАЛ, по-другому группируя ее члены. Кроме того, полученный результат иногда можно дополнительно упростить с помощью законов и тождеств алгебры логики.
3. С помощью системы MATLAB проверить эквивалентность минимальной ФАЛ исходной таблице истинности.
Данное задание выполняется аналогично п.4 предыдущей лабораторной работы за одним исключением: в векторах-строках следует использовать только значения аргументов, соответствующие определенным двоичным наборам.
9
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
4. Записать минимальную ФАЛ в базисе И-НЕ для четных N и ИЛИ-НЕ для нечетных N.
С этой целью используются законы двойной инверсии и двойственности.
Например, y |
ab |
c в базисе: |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
И-НЕ: y ab |
|
|
|
|
|
|
|
|
c ; |
|||||||
c |
ab |
c |
ab |
|||||||||||||
ИЛИ-НЕ: y |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ab |
|
c |
ab |
c |
a b c a b c . |
|||||||||||
5.В соответствии с ФАЛ, полученными в предыдущем пункте, разработать структурную схему устройства.
6.В системе MATLAB+Simulink создать модель устройства, убедиться в достоверности проведенного синтеза и сохранить модель под именем kcu<№ варианта>.mdl.
Процесс моделирования цифрового устройства можно разделить на 3 этапа:
1. Подготовка поля модели и настройка параметров моделирования.
а). Запустить систему MATLAB, а затем библиотеку Simulink Library Browser (разделы библиотеки компоновщика моделей). Эта библиотека открывается либо командой Start\Simulink\Library Browser (кнопка Start находится в левом нижнем углу окна MATLAB), либо нажатием кнопки Simulink панели инструментов окна MATLAB:
Каждый раздел библиотеки может содержать подразделы (рис. 3). Управление просмотром содержимого раздела и подраздела аналогично управлению деревом папок в проводнике операционной системы Windows.
раздел
подраздел
Рис. 3. Структура Simulink Library Browser
б).Открыть окно модели, для чего в окне Simulink Library Browser открыть пункт File оконного меню и в опции New выбрать команду Model (Script).
в). С целью настройки параметров моделирования в окне модели выполнить следующие действия:
10