Типовые КЦУ
Подготовка к работе
По указанной литературе изучить:
- условное графическое обозначение и правила работы типовых КЦУ: дешифраторов, шифраторов и мультиплексоров;
- методику синтеза шифратора (CD); дешифратора (DC);
- методику синтеза мультиплексора (MS); демультиплексора (DMS);
- объекты Simulink подбиблиотеки Logic and Bit Opera-tions, Sinks, Sources для моделирования типовых ЦУ.
Цель работы
Изучить методику синтеза типовых КЦУ и их моделирование.
Задание и порядок выполнения работы
1. Задание 1. В соответствии с номером варианта N синтезировать неприоритетный шифратор 5х3 без стробирования с прямыми входами для четных N и инверсными входами для нечётных N инверсными входами для нечетных N. Исходные данные для синтезируемого шифратора приведены в табл. 10.1.
Таблица 10.1. Закон функционирования шифратора
N | Требуемые выходные двоичные наборы | N | Требуемые выходные двоичные наборы | N | Требуемые выходные двоичные наборы |
3, 4, 5, 6, 7 | 2, 4, 5, 6, 7 | 2, 3, 4, 5, 7 | |||
0, 4, 5, 6, 7 | 0, 3, 5, 6, 7 | 0, 3, 4, 5, 6 | |||
0, 1, 5, 6, 7 | 0, 1, 4, 6, 7 | 0, 1, 3, 5, 6 | |||
0, 1, 2, 6, 7 | 0, 1, 2, 5, 7 | 2, 3, 4, 5, 6 | |||
0, 1, 2, 3, 7 | 0, 1, 2, 3, 6 | 0, 2, 3, 5, 7 | |||
2, 3, 5, 6, 7 | 2, 3, 4, 6, 7 | 0, 1, 3, 4, 7 | |||
0, 3, 4, 6, 7 | 0, 3, 4, 5, 7 | 1, 3, 5, 6, 7 | |||
0, 1, 4, 5, 7 | 0, 1, 4, 5, 6 | 0, 2, 3, 4, 6 | |||
0, 1, 2, 5, 6 | 0, 1, 2, 4, 6 | 1, 2, 4, 6, 7 | |||
1, 2, 3, 5, 7 | 1, 2, 3, 4, 6 | 1, 2, 4, 5, 6 |
1.1. Составить таблицу истинности шифратора, на основе её анализа и законов алгебры логики вывести систему минимальных ФАЛ.
1.2. В командном окне системы MATLAB с помощью соответствующей программы убедиться в достоверности полученного аналитического описания работы шифратора.
1.3. В системе MATLAB + Simulink создать модель устройства, убедиться в достоверности проведенного синтеза и сохранить модель.
2. Задание 2. В соответствии с номером варианта N синтезировать дешифратор 3´5 без стробирования с прямыми выходами для четных N и инверсными выходами для нечетных N. Исходные данные для синтезируемого дешифратора приведены в табл. 10.2.
Таблица 10.2. Закон функционирования дешифратора
N | Определенные входные двоичные наборы | N | Определенные входные двоичные наборы | N | Определенные входные двоичные наборы |
3, 4, 5, 6, 7 | 2, 4, 5, 6, 7 | 2, 3, 4, 5, 7 | |||
0, 4, 5, 6, 7 | 0, 3, 5, 6, 7 | 0, 3, 4, 5, 6 | |||
0, 1, 5, 6, 7 | 0, 1, 4, 6, 7 | 0, 1, 3, 5, 6 | |||
0, 1, 2, 6, 7 | 0, 1, 2, 5, 7 | 2, 3, 4, 5, 6 | |||
0, 1, 2, 3, 7 | 0, 1, 2, 3, 6 | 0, 2, 3, 5, 7 | |||
2, 3, 5, 6, 7 | 2, 3, 4, 6, 7 | 0, 1, 3, 4, 7 | |||
0, 3, 4, 6, 7 | 0, 3, 4, 5, 7 | 1, 3, 5, 6, 7 | |||
0, 1, 4, 5, 7 | 0, 1, 4, 5, 6 | 0, 2, 3, 4, 6 | |||
0, 1, 2, 5, 6 | 0, 1, 2, 4, 6 | 1, 2, 4, 6, 7 | |||
1, 2, 3, 5, 7 | 1, 2, 3, 4, 6 | 1, 2, 4, 5, 6 |
2.1. Составить таблицу истинности шифратора, на основе её анализа и законов алгебры логики вывести систему минимальных ФАЛ.
2.2. В командном окне системы MATLAB с помощью соответствующей программы убедиться в достоверности полученного аналитического описания работы дешифратора.
2.3. В системе MATLAB + Simulink создать модель устройства, убедиться в достоверности проведенного синтеза и сохранить модель.
3. Задание 3. Используя предыдущее устройство, синтезировать мультиплексор 5´1 без стробирования с прямым выходом.
3.1. Записать минимальную ФАЛ.
3.2. Создать подпрограмму, соответствующую ФАЛ, сохранить её ее под именем K<№ варианта>.m
3.3. В командном окне системы MATLAB убедиться в достоверности полученного аналитического описания работы мультиплексора.
3.4. В системе MATLAB + Simulink создать модель устройства, убедиться в достоверности проведенного синтеза и сохранить модель.
- скопировать в отчет модели, результаты проверки;
- сделать выводы относительно приемов быстрого вывода минимальных ФАЛ для типовых КЦУ.
Технология выполнения Задания 1
Шифратор преобразует десятичные числа в двоичную систему счисления.
Шифратор с m выходами и n= 2m входами называется полным, в противном случае – неполным, например, 5х3.
Рассмотрим пример построения неполного шифратора для преобразования десятиразрядного кода в двоичный код с прямыми входами и требуемыми двоичными наборами на выходе 0, 2, 4, 5, 7.
Таблица 10.3. Таблица истинности шифратора примера
|
В соответствующей таблице истинности (табл. 10,3) приведена двойная индексация аргументов X: без скобок отвечает номерам выходных двоичных наборов, а в скобках – естественной последовательности входов.
Аналогично для функций Y: без скобок отвечает номерам двоичных разрядов, а в скобках – естественной последовательности выходов.
Имена переменных в скобках удобны при программном моделировании, поскольку в MATLAB нумерация элементов матриц начинается с 1.
Как видно из табл. 10.3 y0=1, если х5 или х7 равны 1. Значит у0 = х5Úх7. Далее, первое сверху единичное значение у1 (см. табл. 10.3) определяется аргументом x2, а второе – х7. На этом основании можно записать ФАЛ в ДНФ: у1 = х2Úх7. Минимальная ФАЛ для последнего выхода устройства: у2 = х4Úх5Úх7.
Система минимальных функций СДНФ имеет вид:
у0 = х5Úх7;
у1 = х2Úх7; (1)
у2 = х4Úх5Úх7.
Программирование в командном окне является еще одним способом моделирования. Однако приемлем он лишь для относительно простых устройств.
В таком моделировании, прежде всего, необходимо определиться относительно вида представления входных и выходных данных. В системе MATLAB их можно задать в виде вектора-строки или матрицы. В первом случае значения функции придется получать последовательно, всякий раз задавая следующий по порядку входной двоичный набор. В результате потребуется n прогонов программы, где n – число строк таблицы истинности. Во втором случае достаточно одного прогона, что и определяет выбор вида представления данных.
Далее необходимо решить вопрос о структуре входных двоичных наборов. Этот параметр должен отвечать единственному требованию – естественным образом отвечать особенностям моделируемого устройства. В данном случае эта особенность заключается в возможности активного состояния на одном из входов.
Например, с учетом сказанного и в соответствии с табл. 10.3 матрицы входных (X) и выходных (Y) данных будут иметь вид:
1 2 3 4 5 1 2 3
Далее на основании полученных матриц и аналитического описания работы устройства разрабатывается программа на языке MATLAB, которая вводится в командное окно системы. При этом следует пользоваться именами переменных, индексированными в естественной последовательности входов и выходов устройства (для табл. 10.3 – в скобках).
Например, рассмотренному шифратору соответствует следующее из возможных программных решений:
>> X=[1 0 0 0 0; 0 1 0 0 0; 0 0 1 0 0; 0 0 0 1 0; 0 0 0 0 1]
X =
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
y0 = х5Úх7; y1 = х2Úх7; у2 = х4Úх5Ú х7 |
Y(i,1)=X(i,5)|X(i,4);
Y(i,2)=X(i,5)|X(i,2);
Y(i,3)=X(i,5)|X(i,4)|X(i,3);
end;
>> Y
Y =
5×3 logical array
0 0 0
0 1 0
0 0 1
1 0 1
1 1 1
В Simulink создали модель шифратора 5х3 и убедились в достоверности проведенного синтеза.
Рис. 10.1 Модель синтезируемого шифратора