Задания и методические указания к их выполнению

1. Из табл. 3 в соответствии с номером варианта N выбрать закон функционирования КЦУ c четырьмя входами и одним выходом.

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

2. Методами карт Карно и Квайна получить минимальную ФАЛ.

Таблица 3. Закон функционирования КЦУ

N Скобочная запись таблицы истинности N Скобочная запись таблицы истинности
[0,1,2,8,9,(11,12,13,14,15)] (0,1,2,8,9,[11,12,13,14,15])
[1,2,3,9,10,(8,12,13,14,15)] (1,2,3,9,10,[8,12,13,14,15])
[2,3,4,10,11,(7,8,13,14,15)] (2,3,4,10,11,[7,8,13,14,15])
[3,4,5,11,12,(6,7,13,14,15)] (3,4,5,11,12,[6,7,13,14,15])
[4,5,6,12,13,(0,1,8,14,15)] (4,5,6,12,13,[0,1,8,14,15])
[5,6,7,13,14,(0,1,8,9,15)] (5,6,7,13,14,[0,1,8,9,15])
[6,7,8,14,15,(0,1,9,10,11)] (6,7,8,14,15,[0,1,9,10,11])
[0,1,8,9,10,(4,5,6,13,15)] (0,1,8,9,10,[4,5,6,13,15])
[1,3,5,10,11,(2,4,8,12,13)] (1,3,5,10,11,[2,4,8,12,13])
[3,5,7,11,12,(4,8,10,14,15)] (3,5,7,11,12,[4,8,10,14,15])
[5,7,9,13,14,(6,8,12,11,15)] (5,7,9,13,14,[6,8,12,11,15])
[7,9,11,13,15,(4,6,8,10,12)] (7,9,11,13,15,[4,6,8,10,12])
[0,2,4,13,15,(5,6,8,10,12)] (0,2,4,13,15,[5,6,8,10,12])
[2,4,6,10,12,(8,9,11,13,15)] (2,4,6,10,12,[8,9,11,13,15])
[4,6,8,12,14,(1,3,9,13,15)] (4,6,8,12,14,[1,3,9,13,15])

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

В методе Квайна пара подбирается к каждому еще не сгруппированному члену ФАЛ. Кроме того, метод Квайна носит циклический характер. То есть к результату преобразования вновь применяется группировка и т.д. В случае сложного конечного результата заново минимизировать ФАЛ, по-другому группируя ее члены. Кроме того, полученный результат иногда можно дополнительно упростить с помощью законов и тождеств алгебры логики.

3. С помощью системы MATLAB проверить эквивалентность минимальной ФАЛ исходной таблице истинности.

Данное задание выполняется аналогично п.4 предыдущей лабораторной работы за одним исключением: в векторах-строках следует использовать только значения аргументов, соответствующие определенным двоичным наборам.

4. Записать минимальную ФАЛ в базисе И-НЕ для четных N и ИЛИ-НЕ для нечетных N.

С этой целью используются законы двойной инверсии и двойственности.

Например, в базисе:

- И-НЕ: ;

- ИЛИ-НЕ: .

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).

в). С целью настройки параметров моделирования в окне модели выполнить следующие действия:

-

 
 

в окне Simulation stop time (конечное время моделирования) панели инструментов задать необходимое время моделирования – количество тактов работы устройства. Обычно оно определяется числом определенных состояний устройства и подсчитывается, начиная с нуля;

- в пункте меню Simulation выбрать команду Configuration Parameters…(конфигурация параметров …). В списке Solver (разрешение) открывшегося окна выбрать discrete (no continuous states) (дискретное (не непрерывные состояния)) и кнопкой ОК закрыть данное окно.

2. Построение модели.

Модель должна содержать блок ввода исходных двоичных наборов, структурную схему устройства и блок регистрации результатов моделирования. Все эти блоки располагаются в рабочем поле окна модели в указанном порядке слева направо путем перетаскивания их компьютерной мышью из соответствующих разделов и/или подразделов библиотеки Simulink. В данной работе целесообразны следующие блоки:

а) From workspace (из рабочего поля) – находится в подразделе Sources (источники) раздела Simulink (окно Simulink Library Browser). Блок читает значения аргументов ФАЛ (входные двоичные наборы) из командного окна MATLAB.

При моделировании схемы устройства с числом входов (аргументов ФАЛ) k >1 требуется k блоков From workspace.

Для настройки параметров блока используется соответствующее окно диалога (открывается двойным щелчком компьютерной мышью по его изображению или командой …Parameters… контекстного меню), где:

– в строке Data ввести имя аргумента в строгом соответствии с форматом его записи в командном окне MATLAB;

– в строке Sample time задать шаг изменения времени (тактов), в случае цифровых устройств равный 1;

– в списке Form output after-final data value by (значение данных после последнего такта) выбрать Setting to zero (установить в 0).

Значения аргументов записываются в виде матрицы:

0 0 … 1

Х = ……………….. ,

n-1 1 … 0

номер х0хN-1

аргументы ФАЛ
такта

 

где n – число определенных двоичных наборов, а N – количество аргументов ФАЛ (входов устройства). При этом, во-первых, достаточно указать только определенные двоичные наборы, что вполне оправдано. Во-вторых, соответствующие такты модели имеют сквозную нумерацию (0, 1, 2, …) в независимости от номеров определенных двоичных наборов.

При вводе в командное окно MATLAB значения каждого аргумента (столбца матрицы) располагаются в соответствующем векторе-строке. Каждый элемент этого вектора представляется в формате:

<номер такта><пробел><значение аргумента в такте>

и отделяется от соседнего элемента символом «;».

Пример матриц входных двоичных наборов для частично определенного устройства с двумя входами a, b и одним выходом y приведен в табл. 4;

б) Logical Operator (логический оператор) – расположен в подразделе Logic and Bit Operations (логика и побитные операции) раздела Simulink библиотеки. Блок реализует логические элементы типа И (AND), ИЛИ (OR), НЕ (NOT), И-НЕ (NAND), ИЛИ-НЕ (NOR), исключающее ИЛИ (XOR).

Для настройки параметров блока на вкладке Main (главная) соответствующего окна диалога выполнить следующие действия:

– в списке Operator выбрать нужный оператор;

– в строке Number of input ports задать нужное количество входов;

в) To workspace (в рабочее поле) – находится в подразделе Sinks (приемники) раздела Simulink библиотеки. Блок регистрирует результаты моделирования, но лишь по одному из выходов устройства или по одной его шине. При этом в случае шины данные представляются в блоке матрицей, i-я строка которой соответствует i-у такту работы устройства. В случае же отдельного выхода устройства данные представляются вектором-столбцом.

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

– в строку Variable name (имя переменной) ввести имя выходной переменной (ФАЛ);

– в списке Save format выбрать Array (массив);

– снять флаг Log fixed-point data as a fi object.

Наконец, блоки соединяются путем протягивания компьютерной мышью с нажатой левой ее клавишей выхода одного блока к входу другого. Соединение организуются с помощью левой клавиши мыши (протягивание от выхода одного блока до входа другого или наоборот), а узел с разветвлением – правой клавишей. Так, модель для примера, приведенного в табл. 4, показана на рис. 4.

Рис. 4. Моделирование логического элемента И

3. Запуск модели на исполнение и просмотр результатов моделирования.

Созданная модель запускается на исполнение кнопкой Start Simulation, расположенной на панели инструментов окна модели (см. рис. 4).

По окончании заданного цикла работы в окне Workspace системного окна MATLAB образуются папки под именами выходных переменных, помеченные галочкой. Доступ к их содержимому обеспечивает двойной щелчок компьютерной мыши по соответствующей пиктограмме.

Другим и более простым способом просмотра результатов является их вывод в командное окно MATLAB как показано в табл. 4, где апостроф в имени выходной переменной означает транспонирование матрицы или вектора-столбца блока To workspace.

7. Сравнить результаты моделирования с исходной таблицей истинности и сделать вывод относительно достоверности проведенного синтеза.