Министерство образования и науки Российской Федерации
Южно-Уральский Государственный Университет
Кафедра Автоматики и Управления
Пояснительная записка к курсовой работе
по курсу: «Цифровые автоматы»
«Построение кодопреобразователя»
Руководитель Радкевич И. А.
« » 2007г.
Автор работы
студентка группы ЗФ-228-с
Ватутина /Лазуко/ А. Л.
« » 2007г.
Проект защищен с оценкой
_________________________
«» 2007г.
Челябинск 2007 год
Содержание
Задание
Введение
Понятие о дискретном (цифровом) автомате.
Основные понятия алгебры логики.
Понятия теории графов
Граф-дерево автомата Мура.
Граф-дерево автомата Мили.
Таблица переходов по автомату Мили
Таблица выходов по автомату Мили
Минимизация цифрового автомата Мили.
Таблица переходов с распределением неопределённостей.
Исключение недостижимых состояний.
Определение класса совместимости.
Классы единичной совместимости
Классы двоичной совместимости
Классы троичной совместимости
Классы четверичной совместимости
Классы пятеричной совместимости
Таблица состояний и выходов нормализованного автомата
Структурный синтез цифрового автомата
Выбор триггера
Представление функции возбуждения
Таблица состояний и выходов нормализованного автомата
Минимизирующие карты
Минимизация функций по методу Квайна
Минимизация функций по методу Мак-Класки
Заключение –PAGE_BREAK–
Литература
Задание
Построить устройство для преобразования последовательного двоично-десятичного кода X = (хЗ, х2, х1, х0), который подаётся на вход устройства z = (z3, z2, z1, z0). Десятичный эквивалент X двоично-десятичного кода может быть вычислен: Х=Ë xipi, где xi = 0, 1 — цифра двоично-десятичного кода, a pi — вес i-ro разряда.
Вариант задания представлен в таблице:
Номер варианта
X
Р3Р2Р1P0
z
Р3Р2Р1P0
24
4311
5211
Цель
Исследование влияния алгоритмов синтеза цифровых автоматов на сложность структуры самого цифрового автомата.
Любое цифровое устройство с необходимым поведением может быть спроектировано на основе единой модели, а именно как автомат Мили или автомат Мура. В работе изучаются синхронные варианты автоматов Мили и Мура. Синхронизация обеспечивает устойчивость состояний автомата и позволяет провести его синтез простейшим образом.
Введение
В ходе выполнения курсовой работы было реализовано построение кодопреобразователя по заданным значениям функций входа и выхода.
На первом уровне реализации работы была составлена таблица соответствий входного и выходного сигналов для десяти заданных значений и произведены преобразования для соблюдения условия автоматности.
На следующем уровне работы было произведено построение граф-деревьев абстрактных автоматов Мура и Мили. Затем по графу составлены таблицы переходов и выходов для автомата Мили.
На третьем уровне работы произведена минимизация автомата Мили путём составления таблицы переходов с распределением неопределённостей, исключением недостижимых состояний проектируемого автомата, определение классов совместимости до получения нормализованного автомата, построение графа полученного автомата.
На четвёртом уровне работы был произведён структурный синтез цифрового автомата с кодированием двоичным кодом входной, выходной функций автомата, а также функции состояний. Определена таблица состояний выбранного для реализации кодопреобразователя D-триггера.
Пятым этапом выполнения работы была минимизация с помощью диаграмм Вейча, функций выхода кодопреобразователя и возбуждения D-триггера, а также их реализация в базисе И, ИЛИ, НЕ.
На последнем уровне работы была составлена схема последовательного кодопреобразователя заданного входного кода в заданный выходной на простейших цифровых автоматах с памятью.
Особенностью цифрового автомата является зависимость оператора преобразования А от предыдущих состояний кодопреобразователя, то есть наличие памяти у цифрового автомата. В частном случае отсутствия памяти у цифрового автомата, он является логической схемой. Таким образом, предметами исследования в теории цифровых автоматов являются как собственно цифровые автоматы (системы с памятью), так и автоматы без памяти или логические схемы.
Наиболее разработана теория цифровых автоматов применительно к канонической структуре цифрового автомата, представленной на рис.1. Для дальнейшего рассмотрения используется только эта структура цифрового автомата.
/>
КСВХ — входная комбинационная схема; П — память; КсВЬ1Х— выходная комбинационная схема; Х- входной цифровой код; В — код возбуждения памяти; А — код состояния памяти; Y— выходной код.
Рис.1. Каноническая структурная схема цифрового автомата
По структурной схеме цифрового автомата видно, что входные коды входной и выходной комбинационных схем получаются в результате конкатенации (объединения) входного кода и кода состояния памяти цифрового автомата.
Понятие о дискретном (цифровом) автомате.
Дискретными автоматами принято называть устройства, служащие для преобразования дискретной информации. В современных цифровых автоматах принято обычно отождествлять буквы используемого стандартного алфавита с цифрами той или иной системы счисления (чаще всего двоичной или десятичной). Поэтому дискретные автоматы принято также называть цифровыми автоматами.
Основным качеством, выделяющим дискретные автоматы из числа всех других преобразователей информации, является наличие дискретного (при этом реальных автоматах всегда конечного) множества внутренних состояний и свойства скачкообразного перехода автомата из одного состояния в другое. Скачкообразность перехода означает возможность трактовать этот переход как мгновенный, причем как такой, который совершается непосредственно, минуя какие-либо промежуточные состояния.
Изменения состояний цифрового автомата называются входными сигналами, возникающими вне автомата и передающимися в автомат по конечному числу входных каналов.
Результатом работы цифрового автомата является выдача выходных сигналов, передаваемых из автомата во внешние цепи по конечному числу выходных каналов.
Цифровой автомата (первого или второго рода) называется правильным, если выходной сигнал y(t) определяется одним лишь его состоянием (a(t-1) или a(t)) и не зависит явно от входного сигнала x(t). Автоматы первого рода обычно также называют автоматами Мили, по имени американского ученого, который впервые начал их систематическое изучение. Особый интерес на практике имеют правильные автоматы второго рода, известные обычно под более кратким названием автоматов Мура.
Основные понятия алгебры логики.
Понятие цифрового автомата было введено как модель для описания функционирования устройств, предназначенных для переработки цифровой или дискретной информации.
Для формального описания цифровых автоматов применяется аппарат алгебры логики, созданной английским математиком Дж. Булем (1815-1864). Поэтому алгебру логики называют алгеброй Буля или булевой алгеброй.
В алгебре логики применительно к описанию цифровых автоматов, работающих в двоичном представлении кодов (или цифровой информации) основными понятиями являются логическая (булева) переменная и логическая функция (функция алгебры логики — ФАЛ).
Логическая (булева) переменная — такая величина х, которая может принимать только два значения: х = {0,1}.
Логическая функция (функция алгебры логики — ФАЛ) — функция многих аргументов f(xn-1, хn-2, …, х0), принимающая значения равные нулю или единице на наборах логических переменных xn-1, хn-2, …, х0.
В дальнейшем в формальных описаниях наборов переменных и логических функций сами наборы переменных интерпретируются как двоичные коды (числа). В двоичных кодах расположение логических переменных упорядочено в порядке уменьшения индекса слева направо, и каждая логическая переменная имеет вес в зависимости от позиции в коде, увеличивающийся справа налево. Вес каждой i-той логической переменной, являющейся значением разряда двоичного числа равен 2i (i = 0,…,n-l).
Для n-разрядного кода общее количество уникальных наборов переменных: N = 2n (1)
Максимальное числовое значение двоичного кода равно: Aмакс=2n — 1 (2)
Значения всех логических функций от одной переменной представлены в таблице 1.
Таблица 1
X
f(x)
f1(x)
f2(x)
f3(x)
1
1
1 продолжение
–PAGE_BREAK—-PAGE_BREAK—-PAGE_BREAK—-PAGE_BREAK–
a15
a16
a17
a18
a19
a20
a21
1
1
1
1
1
1
1
–
–
–
1
1
–
–
–
–
–
–
–
–
–
–
x/a
a22
a23
a24
a25
a26
a27
a28
a29
a30
a31
a32
a33
a34
a35
a.36
a37
a38
a39
a40
a41
1
1
1
1
1
1
1
1
1
1
1
1
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
Строки этих таблиц соответствуют входным сигнальным множествам х, а столбцы состояниям а, причем первый левый столбец означает начальное состояние инициального цифрового автомата.
В нашем варианте функция определена не полностью, поэтому функцию необходимо доопределить. Это доопределение произвольное и зависит от задачи, которая ставится перед доопределением. В дальнейшем предполагается производить минимизацию функции, поэтому доопределение лучше произвести так, чтобы минимальная форма функции получилась проще, чем минимальная дизьюктивная нормальная функция, получаемая при других доопределениях.
Минимизация цифрового автомата Мили.
Абстрактный автомат, построенный по техническому заданию формальным или эвристическим методами, обычно не является минимальным по количеству состояний. Построение эквивалентного ему абстрактного цифрового автомата с наименьшим числом состояний и является задачей оптимизации. При минимизации числа состояний уменьшается стоимость, как блока памяти автомата, так и его входной и выходной комбинационных схем.
Два полностью определённых автомата называются эквивалентными, если они индуцируют (производят) одно и то же отображение множества входных слов во множество выходных слов. Частичный цифровой автомат А называется эквивалентным продолжением частичного автомата В, если индуцируемое им отображение совпадает с отображением, индуцируемым автоматом В на всех допустимых для автомата В словах.
Полностью определённый автомат является частным случаем частичного автомата.
Таблица переходов с распределением неопределённостей.
Первым (предварительным) этапом всякой минимизации является выделение неопределенных выходных сигналов и состояний и внесение соответствующей неопределенности в таблицы переходов и выходов автомата. Внесение неопределенности не должно изменять исходного отображения, которое должен индуцировать рассматриваемый автомат. Степень полноты внесенной неопределенности определяет в значительной мере и возможности последующей минимизации.
Исключение недостижимых состояний.
Если в автомате имеется состояние (но только не начальное), в которое он не может попасть под воздействием любого допустимого входного слова, то такое состояние называется недостижимым. Недостижимые состояния исключаются из описания абстрактного автомата без изменения, индуцируемого автоматом отображения. Автомат, все состояния которого достижимы, является связным автоматом.
Определение класса совместимости.
Состояния аi и aj называются совместимыми, если, двигаясь из этих состояний под воздействием любого входного сигнала, автомат индуцирует одинаковое его отображение.
Состояния называются i-совместимыми для i=1, 2,…, если результат применения к этим состояниям любого слова длины i будет одинаковым. Классы совместимых состояний могут быть найдены непосредственно по таблице выходов. В один и тот же 1 — класс зачисляются состояния, обозначающие совпадающие (с точностью до неопределённых выходных сигналов) столбцы таблицы выходов. Классы (i+1) — совместимости получаются из классов i — совместимости путём их расщепления на классы (i+1) — совместимости. Для этого у каждого состояния, принадлежащего j — классу i — совместимости Cj(i), номера классов (индексы), в которые автомат переходит под воздействием каждой входной буквы. Если номер класса не определён, то ставится специальный символ, например, прочерк. Индексы классов, в которые переходит автомат под действием входного сигнала, образуют отметку. Множество состояний с одинаковыми отметками в классе Cj(i) образуют классы (i+1) — совместимости. При выполнении операции расщепления классов специальный символ неопределённости может быть заменён номером (индексом) любого класса. Если операцию расщепления i-классов применить последовательно, начиная с 1-класса, то через конечное число шагов процесс расщепления закончится. Нерасщепляемые далее классы образуют классы совместимых состояний. Иногда отметки состояний разных классов совпадают, но объединять такие состояния в один класс (i+1) — совместимости совершенно недопустимо.
Задачей минимизации методом расщепления классов является получение как можно меньшего количества и как можно большей ёмкости классов конечной совместимости. продолжение
–PAGE_BREAK–
Классы единичной совместимости
В классы единичной совместимости поместим:
C1(1)
1
1
1
1
1
1
2
1
1
3
1
1
4
1
–
5
2
–
6
2
–
7
1
1
8
1
1
9
2
2
12
1
–
13
1
–
14
2
–
15
2
–
18
2
–
19
2
–
22
1
–
23
2
–
26
1
–
27
2
–
32
1
–
34
1
–
36
1
–
38
1
–
40
1
–
C2(1)
1
10
1
1
11
2
2
16
1
–
17
1
–
20
2
–
21
2
–
24
1
–
25
2
–
28
1
–
29
2
–
30
1
–
31
2
–
33
1
–
35
1
–
37
1
–
39
1
–
41
1
–
Видим, что в таблицах есть несовместимые переходы классов, поэтому продолжим разбиение.
Классы двоичной совместимости
D1(2)
1
1
1
1
1
1
2
2
2
3
1
1
4
2
–
7
1
1
8
2
2
12
1
–
13
2
–
22
3
–
26
3
–
D2(2)
1
5
4
–
6
6 продолжение
–PAGE_BREAK—-PAGE_BREAK—-PAGE_BREAK—-PAGE_BREAK—-PAGE_BREAK–
G12(5)
1
9
20
19
G13(5)
1
14
21
–
18
21
–
G14(5)
1
6
23
–
G15(5)
1
15
26
–
19
26
–
G16(5)
1
23
22
–
27
22
–
G17(5)
1
32
1
–
34
1
–
36
1
–
38
1
–
40
1
–
G18(5)
1
10
13
15
G19(5)
1
17
16
–
G20(5)
1
16
10
–
G21(5)
1
24
17
–
28
17
–
30
17
–
G22(5)
1
33
1
–
35
1
–
37
1
–
39
1
–
41
1
–
G23(5)
1
11
25
24
G24(5)
1
21
26
–
G25(5)
1
20
21
–
G26(5)
1
25
22
–
29
22
–
31
22
–
При построении нормализованного автомата переход d = (Ci, zj) считается неопределённым, если для всех состояний этого класса не определены переходы в другое состояние. Если хотя бы для одного состояния класса переход определён, то в клетку таблицы нормализованного автомата заносится индекс класса, в который переходит цифровой автомат из этого состояния. Таким образом, доопределяются неопределённые переходы исходного автомата. Нормализованный автомат является эквивалентным любому из минимизированных автоматов и не имеет, как минимум, ни одной пары совместимых состояний. В соответствии с изложенной методикой минимизации получаются либо полностью определённые, либо частичные нормализованные автоматы. продолжение
–PAGE_BREAK–
У полностью определённых автоматов класс конечной совместимости не пересекаются, поэтому нормализованный автомат является единственным и процесс минимизации этим заканчивается. В случае получения частичного автомата классы i-совместимости пересекаются. Это приводит к тому, что нормализованный автомат может описываться конечным количеством вариантов таблиц или графов. В случае частичных автоматов часто отказываются от достижения абсолютной минимизации и ограничиваются нахождением нормализованного автомата и его эвристическим доопределением.
Таблица состояний и выходов нормализованного автомата
Вх/сост
G1
G2
G3
G4
G5
G6
G7
G8
G9
G10
G11
G12
G13
G2/0
G3/0
G4/0
G5/0
G10/0
G11/0
G12/0
G13/0
G16/0
G17/0
G18/0
G20/0
G21/0
1
G6/0
G7/0
G8/0
G9/0
-/-
G14/0
-/-
G15/0
-/-
-/-
-/-
G19/0
-/-
Вх/сост
G14
G15
G16
G17
G18
G19
G20
G21
G23
G24
G25
G26
G23/0
G26/0
G22/0
G1/0
G13/0
G16/0
G10/1
G17/1
G25/1
G26/1
G21/0
G22/1
1
-/-
-/- продолжение
–PAGE_BREAK–
-/-
-/-
G15/1
-/-
-/-
-/-
G24/1
-/-
-/-
-/-
В результате всех преобразований мы получили нормализованный минимизированный автомат, по которому построим граф автомата Мили:
/>
Структурный синтез цифрового автомата
Структурный синтез цифрового автомата— это кодирование его входных и переменных и состояний автомата и получение функции возбуждения и функций выходов триггера.
Задачей этапа структурного синтеза является построение принципиальной схемы автомата из элементарных автоматов заданного типа. Элементарные автоматы подразделяются на два больших класса:
элементарные автоматы памяти (запоминающие элементы);
элементарные автоматы без памяти (элементарные комбинационные схемы или логические элементы).
Задача синтеза цифрового автомата имеет решение в том случае, если система элементарных автоматов является структурно полной.
Всякая система элементарных автоматов, содержащая элементарный автомат, Мура (триггер) и какую-нибудь функционально полную систему логических элементов является структурно полной системой.
Если автомат имеет М состояний, то для двоичного структурного алфавита количество триггеров в блоке памяти этого автомата
n=]log2M[ (1)
где ]…[- ближайшее большее целое число.
Если в каждую клетку таблицы переходов и выходов записать двоичный код, соответствующий размещённым там состояниям или выходным сигналам цифрового автомата, то таким образом получаются кодированные таблицы переходов и выходов.
Кодированная таблица выходов является табличным описанием системы булевых функций, реализуемых схемой КСВЫХ. Кодированная таблица переходов только после переработки с использованием матрицы переходов для заданного типа триггеров будет называться кодированной таблицей возбуждений и соответствовать описанию комбинационной схемы КСВХ.
Таким образом, задача синтеза состоит в определении по таблицам функций выхода и функций возбуждения триггеров заданного типа в блоке памяти, минимизации их для выбранной элементной базы и схемной реализации в функционально полном базисе элементов.
Выбор триггера
Комбинационная схема с обратными связями, имеющая два устойчивых состояния и предназначенная для хранения одного бита информации, называется элементарным автоматом или триггером.
Для синтеза цифровых автоматов триггеры рассматриваются как элементы систем, и важным является изучение его поведения в системе, а не внутренняя структура или принципиальная схема. В этом состоит системотехнический подход к изучению триггеров различных типов.
Триггер типа RS.Название триггера происходит от английских слов setи reset, он имеет два входа — Sдля установки триггера в единицу и Rдля установки его в ноль. Как правило, он имеет два выхода: прямой и инверсный. Если для перевода триггера из одного состояния в другое на установочные входы необходимо подавать не логические единица, а нули, то такой триггер называется триггером с инверсным управлением.
/>
Рис. 2. Триггеры типа RSс прямым (а) и инверсным (б) управлением
Триггер типа JK.Триггер типа JKработает также как и триггер RS, с той лишь разницей, что допустима одновременная подача сигналов J=K=1, которая изменяет его состояние на обратное. Вход Kэквивалентен входу R, а вход J— входу S.
Триггер типа D. Название триггера происходит от английского слова «задержка» (delay). Триггер имеет один вход. На выходе он должен повторять сигнал, существовавший на своем входе в предыдущий такт: D-триггеры всегда выпускаются синхронными, так как асинхронный триггер работает просто как повторитель входных сигналов.
/>
Рис. 3. Условные обозначения JKи Dтриггера.
Триггер типа T.триггеры этого типа выпускаются промышленностью как самостоятельные устройства. Они могут быть собраны из триггеров других типов как на рис. 4. логическая единица, приложенная к T-входу триггера, меняет его состояние на обратное.
/>
Рис. 4. Счетные триггеры
Триггер типа RST.Это счетный триггер с двумя установочными входами. Многовходовый триггер в цифровом автомате позволяет упростить его структуру.
Для решения нашей задачи выберем D-триггер, который имеет всего один вход (D) и на выходе он повторяет сигнал на входе D, существовавший в предыдущем такте автоматного времени.
Поскольку в пределах периода синхроимпульсов входной сигнал появляется в произвольный момент времени, то на выход входной сигнал проходит с произвольной задержкой, не превышающей длительность периода синхросигнала.
Представление функции возбуждения
По формуле (1) рассчитаем необходимое количество разрядов для кодирования: N = ]log223[ = 5 разрядов.
Если в каждую клетку таблицы переходов и выходов записать двоичный код, соответствующий размещённым там состояниям или выходным сигналам цифрового автомата, то таким образом получаются кодированные таблицы переходов и выходов.
Кодированная таблица выходов является табличным описанием системы булевых функций, реализуемых схемой КСвых. Кодированная таблица переходов только после переработки с использованием матрицы переходов для заданного типа триггеров будет называться кодированной таблицей возбуждений и соответствовать описанию комбинационной схемы КСВХ. Очевидно, что при кодировании переходов и выходов можно придерживаться двух принципов описания булевых функций. Если желательно получить табличное описание функций выходов с наименьшим количеством единичных значений, то для кодирования часто встречающихся в таблице выходов сигналов следует использовать коды с максимально возможным количеством нулей в коде, а для кодирования следующих по количеству ссылок в таблице выходов сигналов использовать коды с увеличивающимся количеством единиц в кодовых комбинациях. Для кодирования состояний блока памяти на Dтриггерах также можно использовать этот принцип кодирования, поскольку таблица возбуждений для них совпадает с таблицей переходов. Рекомендовать этот принцип для,всеобщего применения при синтезе автоматов нельзя, так как при минимизации булевых функций возможно получение более простых результирующих форм представления функций, имеющих более сложную запись в СДНФ (Нормальная дизьюктивная форма— это набор переменных без общих отрицаний и скобок. Совершенная НДФ— это когда все наборы переменных имею одинаковую длину. СДНФ— это набор конъюнкций переменных одинаковой длины). Этот принцип можно использовать только в том случае, если ФАЛ выходов и ФАЛ возбуждений для Dтриггеров не подлежат минимизации, поскольку реализуются на мультиплексорах, дешифраторах или постоянных запоминающих устройствах. продолжение
–PAGE_BREAK–
Второй принцип кодирования соответствует противоположному подходу и ориентирован на возможность получения значительных упрощений ФАЛ в результате минимизации. Для кодирования выходных сигналов с максимальным количеством ссылок в таблице выходов используется код с максимальным количеством единиц, а для кодирования следующих по количеству ссылок в таблице выходных сигналов использовать коды с уменьшающимся количеством единиц в кодовых комбинациях. Этот принцип также без оговорок применим для кодирования состояний блока памяти на D триггерах для случая применения элементной базы, требующей минимизации для своей реализации. Минимальный по материальным затратам вариант кодирования выбирается из конечных результатов при использовании всевозможных вариантов кодирования.
Таблица состояний и выходов нормализованного автомата
Вх/сост
G1
G2
G3
G4
G5
G6
G7
G8
G9
G10
G11
G12
G13
G2/0
G3/0
G4/0
G5/0
G10/0
G11/0
G12/0
G13/0
G16/0
G17/0
G18/0
G20/0
G21/0
1
G6/0
G7/0
G8/0
G9/0
-/-
G14/0
-/-
G15/0
-/-
-/-
-/-
G19/0
-/-
Вх/сост
G14
G15
G16
G17
G18
G19
G20
G21
G23
G24
G25
G26
G23/0
G26/0
G22/0
G1/0
G13/0
G16/0
G10/1
G17/1
G25/1
G26/1
G21/0
G22/1
1
-/-
-/-
-/-
-/-
G15/1
-/-
-/-
-/-
G24/1
-/-
-/-
-/-
Закодируем состояния тремя разрядами:
Состояние/код
Q4Q3Q2Q1Q
G1
00000
G2
00001
G3
00010
G4
00011
G5
00100
G6
00101
G7
00110
G8
00111
G9
01000
G10
01001
G11 продолжение
–PAGE_BREAK—-PAGE_BREAK–
D4D3D2D1D
Y
000000
00001
000001
00010
000010
00011
000011
00100
000100
01001
000101
01010
000110
01011
000111
01100
001000
01111
001001
10000
001010
10001
001011
10011
001100
10100
001101
10110
001110
11001
001111
10101
010000
00000
010001
01100
1
010010
01111
1
010011
01001
1
010100
10000
1
010101
00000
1
010110
11000
1
010111
11001
1
011000
10100
1
011001
10101
1
100000
00101
100001
00110
100010
00111
100011
01000
100100
00000
100101
01101
100110
00000
100111
01110
101000
00000
101001
00000
101010
00000
101011
10010
101100
00000
101101
00000
101110
00000
101111
00000
110000
00000
110001
01110
1
110010
00000
1
110011
00000
1
110100
00000
1
110101
00000
1
110110
10111
1
1101111
00000
1
111000
00000
1
111001
00000
1
Поскольку числовая СДНФ форма ФАЛ имеет самую компактную запись и позволяет при необходимости перейти к любому другому описанию этой функции, по таблице истинности функций выходов и входов запишем именно в числовой форме функции выходов Y, D1, D2, D3, D4, D5от
xQ4Q3Q2Q1Q.
Y =
D4 =
v010110v010111v011000v011001v101011v110110
D3 =
v010011v010110v010111v100011v100101v100111v110001
D2 =
D1 =
V100001v100010v100111v101011v110001v110110
D=
Для дальнейшей работы необходимо минимизировать полученные выходные функции автомата.
Минимизирующие карты
Одним из видов представления ФАЛ от небольшого числа переменных (как правило, не больше 5) являются диаграммы Карно или Вейча, которые строятся на развёртках многомерных кубов на плоскость. При этом вершины куба представляются клетками карты, координаты которых совпадают с координатами соответствующих вершин куба. Карта заполняется путём пометки кодов вершин, соответствующих наборам, на которых ФАЛ равна единице. Другими символами помечаются коды наборов, на которых ФАЛ не определена. Таким образом, диаграмма на карте Карно или Вейча соответствует представлению ФАЛ в СДНФ. Если строится карта Карно для нечётного количества переменных в наборе, то на расстоянии единицы слева от исходной карты для чётного количества переменных изображается повёрнутая на 180° вокруг оси, проходящей между исходной и новой картами, новая карта той же размерности. После этого в старшем разряде двоичных кодов наборов исходной карты добавляются незначащие нули, а в старшем разряде новой карты добавляются единицы. Эти две карты объединяются в одну большей размерности. продолжение
–PAGE_BREAK–
Если строится карта Карно для чётного количества переменных в наборе, то на расстоянии единицы снизу от исходной карты для нечётного количества переменных изображается повёрнутая на 180° вокруг оси, проходящей между исходной и новой картами, новая карта той же размерности. После этого в старшем разряде двоичных кодов наборов исходной карты добавляются незначащие нули, а в старшем разряде новой карты добавляются единицы. Эти две карты объединяются в одну большей размерности.
В картах наборы переменных, на которых функция принимает единичные значения, помечаются нечисловыми символами. Карта с нанесёнными на ней значениями ФАЛ называется диаграммой.
Карты, на которых коды наборов изображаются в восьмеричной системе счисления, называются картами Вейча.
Минимизация функций по методу Квайна
При минимизации по методу Квайна в базисе И, ИЛИ, НЕ исходная ФАЛ задаётся в СДНФ Целью минимизации является нахождение всех первичных импликант и выбор некоторых из них для минимальной записи функции.
Импликанта функции — некоторая логическая функция, обращаемая в нуль при наборе переменных, на котором сама функция также равна нулю.
Поэтому любой конъюнктивный терм, входящий в состав СДНФ, или группа термов, соединённых знаками дизъюнкции являются импликантами исходной ФАЛ. Импликанты имеют единичные значения только на подмножестве наборов из множества наборов, на которых исходная ФАЛ равна единице.
Первичная импликанта функции — импликанта типа элементарной конъюнкции некоторых переменных, никакая часть которой уже не является импликантой.
Задача минимизации по методу Квайна решается путём попарного сравнения всех импликант, входящих в ФАЛ, с целью выявления возможности их неполного склеивания по какой-то переменной на промежуточных этапах. При склеивании снижается ранг термов. Склеивание проводится до тех пор, пока не останется ни одного терма, допускающего склеивание с каким-либо другим термом. Термы, подвергшиеся склеиванию, отмечаются. Неотмеченные термы представляют собой первичные импликанты. После получения множества всех первичных импликант исследуется возможность нахождения простейшей записи ФАЛ. Для этого составляется таблица, в первой строке которой записаны минтермы исходной ФАЛ, а в первом столбце записаны все найденные первичные импликанты. Клетки этой таблицы помечаются в том случае, если первичная импликанта входит в состав какого-либо минтерма исходной ФАЛ. После этого задача упрощения сводится к тому, чтобы найти такое минимальное количество первичных импликант, которые покрывают все столбцы минтермов исходной ФАЛ.
Минимизация функций по методу Мак-Класки
Недостатком метода Квайна является — необходимость исчерпывающего попарного сравнения или сопоставления всех минтермов на этапе нахождения первичных импликант. С ростом числа минтермов увеличивается количество попарных сравнений.
Числовое представление ФАЛ позволяет упростить самый трудоёмкий первый этап. Все минтермы СДНФ ФАЛ записываются в виде их двоичных кодов, а все коды разбиваются по числу единиц на непересекающиеся группы.
Минтермы, подлежащие склеиванию, различаются только по одной переменной, а их коды — только в одном разряде. По этой причине сравнению подлежат только двоичные коды минтермов соседних групп.
Рассмотрев несколько методов минимизации ФАЛ, можно сделать вывод о том, что для решения нашей задачи наиболее подходящим является метод Мак-Класки.
Минимизируем Y:
Y=
i
xQ4Q3Q2Q1Q
Восьмеричное число
2
010001
21
010010
22
010100
24
011000
30
3
010011
23
010101
24
010110
26
011001
31
110001
61
110010
62
110100
64
111000
70
4
010111
27
110011
63
110101
65
110110
66
111001
71
5
110111
67
Склеивание 1
i
xQ4Q3Q2Q1Q
Восьмеричное число
2
0100-1
21, 23
010-01
21, 25
01-001
21, 31
-10001
21, 61
01001-
22, 23
010-10
22, 26
-10010
22, 62
01010-
24, 25
0101-0
24, 26
-10100
24, 64
01100-
30, 31
-11000
30, 70
3
010-11
23, 27
-10011
23, 63
продолжение
–PAGE_BREAK—-PAGE_BREAK—-PAGE_BREAK—-PAGE_BREAK—-PAGE_BREAK—-PAGE_BREAK—-PAGE_BREAK—-PAGE_BREAK—-PAGE_BREAK—-PAGE_BREAK—-PAGE_BREAK–
Ä
E
´
´
F
´
´
G
´
Ä
H
´
´
Ä
´
I
´
´
Ä
´
J
´
´
Ä
Ä
K
´
´
´
´
L
´
Ä
´
Ä
D= 011001v100101v110110v010-11v000–0v00-0-0v-000-0v00–10v001-1-
Заключение
Для получения оптимального варианта кодирования необходимо сопоставлять результаты минимизации комбинационных схем при использовании всех возможных вариантов кодирования.
Минимальный вариант построения принципиальной схемы может быть получен только после перебора и сравнения всех возможных вариантов построения цифрового устройства.
Для практического использования методов минимизации исключительное значение имеет инженерная интуиция при выборе вариантов кодирования и минимизации. Функции выхода цифрового автомата нужно задавать сравнительно редко, поскольку чаще всего применяются цифровые автоматы, не имеющие выходной комбинационной схемы. Для более сложных цифровых автоматов входная комбинационная схема, как правило, представляет собой преобразователь кода, или шифратор, состояния блок памяти цифрового автомата в выходной код цифрового автомата. Для большинства стандартных применений выходные комбинационные схемы цифровых автоматов минимизированы, разработаны и производятся в виде интегральных схем.
Таким образом, цель минимизации выходной комбинационной цифрового автомата зачастую сводится к выбору интегральных микросхем для конкретного использования.
Для структурного синтеза цифровых автоматов желательно применять табличные методы, так как они выполняются в более строгой форме, чем структурный синтез по графу, который требует огромного внимания на процессах синтеза и проверки его результатов. Количество ошибок при применении метода структурного синтеза по графу намного больше количества ошибок при использовании табличного метода структурного синтеза при всех прочих одинаковых условиях выполнения процесса синтеза.
В ходе выполнения курсовой работы было произведено построение кодопреобразователя по заданным входным и выходным функциям.
В процессе выполнения работы нами были приобретены практические навыки по курсам « Дискретная математика» и «Цифровые автоматы».
Литература
Гудилин А.В. Цифровая схемотехника. Челябинск, 2000.
Иванов В.И. Синтез цифровых автоматов для систем связи и управления. Челябинск, 1980
Щелкунов Н.Н., Дианов А.П. Процедуры программирования логических матриц, — Микропроцессорные средства и системы, 1986, №2.
Иванов В.И. Синтез цифровых автоматов для систем связи и управления, Челябинск, ЧПИ, 1980.
Баранов СИ. Синтез микропрограммных автоматов. — Л.: Энергия, 1979.
Электронный конспект лекций Гудилин Алексей Евгеньевич.
Конспект лекций по курсу цифровые автоматы. ЮУрГУ 2004.