Выходных функций
Получение функций возбуждения триггеров осуществляется по единой методике, независимо от того какой тип триггера выбран в качестве элементов памяти. Для получения функций возбуждения триггеров введем обозначения в таблицах переходов (табл. 46 и 47). Так как входное слово закодировано двойным разрядом обозначим старший разряд символом а1 а младший разряд символом а2. Состояния автомата реализуются двумя триггерами t1 и t2. Выбираем реализацию функций возбуждения триггеров по потенциальному выходу (состояние соответствует 1). Возможна реализация и по инверсному выходу (состояние соответствует 0). Выбор осуществляется исходя из задачи, которую выполняет цифровой автомат. Функции возбуждения триггеров t1 и t2 для элементов памяти типа линия задержки определяются в следующем порядке. Из табл. 46 выбираются все комбинации входных слов и состояний триггеров, при которых триггер t1 будет находиться в единичном состоянии (на потенциальном выходе будет 1). Функция возбуждения триггера t1 записывается в виде булевой функции и имеет вид u (t1) = а1·ā 2· t2 Ú а1·а2·t2 Ú а1·а2·t2 Ú ā 1·а2·t2 Ú ā 1·а2·t2 Ú а1·ā 2·t2. Запись функции возбуждения триггеров осуществляется следующим образом: если в разряде кода входного сигналы, обозначенном символом а1 стоит 1, то в булевой функции ставится символ а1 и если в этом разряде стоит 0, то в булевой функции ставится символ ā 1. Это относится и к записи состояний триггеров t1 и t2 в булевой функции. Аналогично, выбирая из табл. 46 состояния 1 для триггера t2 составляем его функцию возбуждения, которая имеет вид
u (t2) = ā 1·а2·t1 Ú а1·ā 2·t1 Ú а1·а2·t1 Ú ā 1·а2·t1 Ú а1·ā 2·t1 Ú а1·а2·t1 Ú а1·ā 2·t1.
Функции возбуждения триггеров t1 и t2 для триггера счета, используемого в качестве элементов памяти, в соответствии с табл. 47 запишутся в виде:
u (t1) = а1·ā 2·t2 Ú а1·а2·t2 Ú а1·а2·t2 Ú а1·ā 2·t2 Ú а1·а2·t2 Ú а1·а2·t2;
u (t2) = ā 1·а2·t1 Ú а1·ā 2·t1 Ú а1·а2·t1 Ú а1·а2·t1 Ú а1·а2·t1 Ú ā 1·а2·t1 Ú а1·а2·t1.
Получение булевых выходных функций осуществляется аналогично методике получения функций возбуждения триггеров. Выбираем реализацию выходной функции цифрового автомата по потенциальному выходу, когда состояние автомата соответствует 1. Запись булевой функции осуществляется по таблице выходов (табл. 48). Выбираем из табл. 47 состояния цифрового автомата, когда на выходе сигнал будет равен 1. Записав соответствующие значения входных слов и состояния элементов памяти, выходная функция g запишется в виде
g = ā 1·а2·t1·t2 Ú а1·а2·t1·t2 Ú а1·а2·t1·t2 Ú а1·а2·t1·t2 Ú ā 1·а2·t1·t2 Ú а1·ā 2·t1·t2.
Дальнейшие этапы разработки курсового проекта сводятся к получению минимальных форм функций, обеспечивающих при синтезе наименьшее количество электронного оборудования и рациональное построение функциональной схемы проектируемого цифрового автомата. Для начального представления функции обычно используется базис И, ИЛИ, НЕ независимо от того, какой базис будет использован для построения логического устройства. Исходными, из соображений удобства последующих преобразований, приняты следующие две канонические формы представления функций: совершенная дизъюнктивная нормальная форма (СДНФ) и совершенная конъюнктивная нормальная форма (СКНФ). Совершенная дизъюнктивная нормальная форма (СДНФ). Дизъюнктивной нормальной формой (ДНФ) называется такая форма представления функции, при которой логическое выражение функции строится в виде дизъюнкции ряда членов, каждый из которых является простой конъюнкцией аргументов или их инверсий. Примером ДНФ может служить выражение
F = x1Ú x2× Ú × × x3Ú x2× x3. Приведем форму представления функций, не являющейся ДНФ. Например, функция F1 не является ДНФ так как не является простой конъюнкцией аргументов или их инверсий.
F1 = x1× (x2× Ú × x3)Ú x2× x3.
Если в каждом члене ДНФ представлены все аргументы (или их инверсии) функции, то такая форма носит название совершенной дизъюнктивной нормальной формы (СДНФ). Функция F не является СДНФ, так как в нем лишь третий член × × x3 содержит все аргументы функции. Для перехода от ДНФ к СДНФ необходимо в каждый из членов, в которых представлены не все аргументы, ввести выражение вида xi Ú , где - отсутствующий в члене аргумент. Так как xi Ú = l, такая операция не может изменить значений функции. Покажем переход от ДНФ к СДНФ на примере следующего выражения: f = x1Ú x2× . (2.1) Добавление в члены выражений вида x1 Ú приведет функцию (2.1) к виду
f = x1× (x2Ú ) × (x3 Ú ) Ú x2× (x1 Ú ) =. = x1× x2× x3Ú x1× x2× Ú x1× × x3Ú x1× × Ú x1× x2× Ú × x2× . (2.2)
На основании закона идемпотенции преобразуем выражение x1× x2× Ú x1× x2× = x1× x2× и после приведения подобных членов выражение (2.2) примет вид
f = x1× x2× x3Ú x1× x2× Ú x1× × x3Ú x1× × Ú × x2× . (2.3)
Полученная форма является СДНФ. Следует отметить, что любая функция имеет единственную СДНФ.
Совершенная конъюнктивная нормальная форма (СКНФ). Конъюнктивной нормальной формой (КНФ) называется форма представления функции в виде конъюнкции ряда членов, каждый из которых является простой дизъюнкцией аргументов (или их инверсий). Примером КНФ может служить следующая форма представления функции
F = x1× (x2Ú ) × ( Ú Ú ) × (x2Ú x3). (2.4)
Приведенная ниже форма представления функции F2 не является КНФ, так как в ней первый член не связан с остальными операцией конъюнкции
F2 = x1Ú (x2Ú ) × ( Ú Ú x3) × (x2Ú x3).
В совершенной конъюнктивной нормальной форме (СКНФ) в каждом члене КНФ должны быть представлены все аргументы. Для перехода от КНФ к СКНФ необходимо добавить к каждому члену, не содержащему всех аргументов, члены вида , где - аргумент, не представленный в члене через дизъюнкцию. Так как = 0, то такая операция не может повлиять на значение функции. Рассмотрим переход от КНФ к СКНФ на примере функции
f = x1× (x2Ú ). (2.5)
Через операцию дизъюнкции к первому члену функции (2.5) добавим недостающие аргументы x2 и x3, а ко второму члену x1. В результате получим
f = (x1Ú x2× Ú x3× ) Ú (x2Ú Ú x1× ) = = (x1Ú x2Ú x3)× (x1Ú x2Ú ) × (x1Ú Ú x3)× (x1Ú Ú )× (x1Ú x2Ú ) × ( Ú x2Ú x3).
Структурная схема логического устройства может быть построена непосредственно по канонической форме (СДНФ или СКНФ) реализуемой функции. Недостаток такого метода построения структурных схем, обеспечивающего, в общем, правильное функционирование устройства, состоит в том, что получающиеся схемы, как правило, оказываются неоправданно сложными, требуют использования большого числа логических элементов и, следовательно, имеют низкие экономичность и надежность. Во многих случаях удается так упростить логическое выражение, не нарушая функции, что соответствующая структурная схема оказывается существенно более простой. Методы такого упрощения функции, называемые методами минимизации функций. Минимизация булевых выражений функций возбуждения триггеров и выходной функции проводится с использование законов алгебры логики или других методов минимизации логических выражений (метод Квайна, карт Карно-Вейча). В качестве примера проведем минимизацию логического уравнения для функции возбуждения триггера t1, имеющий вид
u (t1) = а1·ā 2·t2 Ú а1·а2·t2 Ú а1·а2·t2 Ú ā 1·а2·t2 Ú ā 1·а2·t2 Ú а1·ā 2·t2. (2.6)
Не трудно видеть, что первый и шестой элементы уравнения (2.6), а также четвертый и пятый имеют одинаковые выражения. В соответствии с законом идемпотенции пятый и шестой элементы сокращаются и в результате чего уравнение (2.6) примет вид
u (t1) = а1·ā 2·t2 Ú а1·а2·t2 Ú а1·а2·t2 Ú ā 1·а2·t2. (2.7)
При дальнейшей минимизации наиболее эффективно применять законы склеивания и поглощения. Применив закон склеивания для первого и второго членов уравнения (2.7), а также для третьего и четвертого получим: а1·ā 2·t2 Ú а1·а2·t2 = а1·t2·(ā 2 Ú а2) = а1·t2;
а1·а2·t2 Ú ā 1·а2·t2 = а2· t2 ·(а1 Ú ā 1) = а1· t2.
Окончательно функция возбуждения триггера t1 u(t1) примет вид
u (t1) = а1·t2 Ú а2·t2.
Для минимизации более сложных логических функций применяются метод Квайна или карт Карно-Вейча.
|