Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование ЦУ в системе M+S.doc
Скачиваний:
18
Добавлен:
10.06.2015
Размер:
955 Кб
Скачать

2. Комбинационные цифровые устройства (кцу)

Применяются для построения потенциальных автоматов – автоматов без памяти. В таких реализациях значение выходной переменной зависит только от значений входных переменных.

Подготовка к работе

По указанной литературе изучить методику синтеза КЦУ.

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

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

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

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

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

N

Скобочная запись таблицы истинности

N

Скобочная запись таблицы истинности

1

[0,1,2,8,9,(11,12,13,14,15)]

16

(0,1,2,8,9,[11,12,13,14,15])

2

[1,2,3,9,10,(8,12,13,14,15)]

17

(1,2,3,9,10,[8,12,13,14,15])

3

[2,3,4,10,11,(7,8,13,14,15)]

18

(2,3,4,10,11,[7,8,13,14,15])

4

[3,4,5,11,12,(6,7,13,14,15)]

19

(3,4,5,11,12,[6,7,13,14,15])

5

[4,5,6,12,13,(0,1,8,14,15)]

20

(4,5,6,12,13,[0,1,8,14,15])

6

[5,6,7,13,14,(0,1,8,9,15)]

21

(5,6,7,13,14,[0,1,8,9,15])

7

[6,7,8,14,15,(0,1,9,10,11)]

22

(6,7,8,14,15,[0,1,9,10,11])

8

[0,1,8,9,10,(4,5,6,13,15)]

23

(0,1,8,9,10,[4,5,6,13,15])

9

[1,3,5,10,11,(2,4,8,12,13)]

24

(1,3,5,10,11,[2,4,8,12,13])

10

[3,5,7,11,12,(4,8,10,14,15)]

25

(3,5,7,11,12,[4,8,10,14,15])

11

[5,7,9,13,14,(6,8,12,11,15)]

26

(5,7,9,13,14,[6,8,12,11,15])

12

[7,9,11,13,15,(4,6,8,10,12)]

27

(7,9,11,13,15,[4,6,8,10,12])

13

[0,2,4,13,15,(5,6,8,10,12)]

28

(0,2,4,13,15,[5,6,8,10,12])

14

[2,4,6,10,12,(8,9,11,13,15)]

29

(2,4,6,10,12,[8,9,11,13,15])

15

[4,6,8,12,14,(1,3,9,13,15)]

30

(4,6,8,12,14,[1,3,9,13,15])

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

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

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

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

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

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

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

  • И-НЕ: ;

  • ИЛИ-НЕ: .

5. В соответствии с ФАЛ, полученными в предыдущем пункте, разработать структурную схему устройства.

6. В системе MATLAB+Simulink создать модель устройства, убедиться в достоверности проведенного синтеза и сохранить модель под именем kcu<№ варианта>.mdl.

Процесс моделирования цифрового устройства можно разделить на 3 этапа:

1. Подготовка поля модели и настройка параметров моделирования.

  1. З апустить систему MATLAB, а затем библиотеку Simulink Library Browser (разделы библиотеки компоновщика моделей). Эта библиотека открывается либо командой Start\Simulink\Library Browser (кнопка Start находится в левом нижнем углу окна MATLAB), либо нажатием кнопки Simulink панели инструментов окна MATLAB:

Каждый раздел библиотеки может содержать подразделы (рис. 3). Управление просмотром содержимого раздела и подраздела аналогично управлению деревом папок в проводнике операционной системы Windows.

раздел

подраздел

Рис. 3. Структура Simulink Library Browser

  1. Открыть окно модели, для чего в окне Simulink Library Browser открыть пункт File оконного меню и в опции New выбрать команду Model (Script).

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

  • в окне 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 значения каждого аргумента (столбца матрицы) располагаются в соответствующем векторе-строке. Каждый элемент этого вектора представляется в формате:

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

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

П

Таблица 4. Пример матриц исходных данных для блоков From workspace

№ такта модели

Исходная таблица

истинности

Командное окно (Command Window)

Аргументы

Функция

b

a

y

0

0

0

0

>>A=[0 0;1 0;2 1];

>>B=[0 0;1 1;2 1];

>> Y' % вывод результата в строку

ans =

0 0 1

0

1

~

1

1

0

0

2

1

1

1

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