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. Сравнить результаты моделирования с исходной таблицей истинности и сделать вывод относительно достоверности проведенного синтеза.