Смекни!
smekni.com

Разработка программы на Ассемблере (стр. 10 из 11)

Из (1, 3) и (2',3') следует: x +0 = x и 0 * x = 0.       (6)

Из (2, 3) и (1',3') следует: 1 +x = 1 и x * 1 = x.       (7)

Из (3) и (3') следует: x +~x = 1и~x * x = 0.         (8)

Из (4) и (4') следует: ~(~x) = x.                    (9)

И, наконец, из (1,1'), (2,2'),(3,3') и (4,4') следует:

~( x0+x1 ) = ~x0 * ~x1 и  ~(x0 * x1)  = ~x0 + ~x1 .     (10)

Последние выражения (10) называютпринципом двойственности  или теоремой Де Моргана(инверсия логической суммы равна логическому произведению инверсий и наоборот).Соотношения двойственности для n переменных, часто записывают в виде:

~(x1 + .. + xn) = ~x1* . .* ~xn  и

~(x1 * .. * xn) = ~x1 + .. + ~xn                     (11)

На функции И и ИЛИраспространяются обычные алгебраические законы - переместительный,сочетательный и распределительный, которые легко доказываются методомперебора: x1 op x0 = x0 op x1 - переместительный, x2 op x1 op x0 = (x2 op x1)op x0 - сочетательный и x2*(x1+x0) = (x2*x1) + (x2*x0) и x2 + (x1*x0) = (x2+x1)* (x2+x0) - распределительный, где операция op может быть,либо И, либо ИЛИ. Наряду с тремя основными логическими функциями, называемымитакже переключательными, существуют и другие.

1.2 ПЕРЕКЛЮЧАТЕЛЬНЫЕ ФУНКЦИИ

Для n - логических переменных(аргументов) существует 2n  их комбинаций или двоичных наборов.На каждом таком наборе может быть определено значение функции 0 или 1. Еслизначения функции отличаются хотя бы на одном наборе, функции - разные. Общее числопереключательных функций (ПФ) от n аргументов равно N=22n. Для n=2,N=16. При n=3, N=256 и далее очень быстро растет. Практическое значение имеют16 функций от 2-х переменных, т.к. любое сложное выражение можно рассматриватькак композицию из простейших. В таблице 1 приведены некоторые из ПФ для n=2.i-номер набора входных переменных x1 и x0.

ЗАПОМНИТЕ СЛЕДУЮЩИЕОПРЕДЕЛЕНИЯ. Функция "И" равна единице, если равны единице ВСЕ ееаргументы. Функция "ИЛИ" равна единице, если равен единице ХОТЯ БЫодин аргумент. Функция "ИСКЛЮЧАЮЩЕЕ ИЛИ" (XOR) равна единице, еслиравен единице ТОЛЬКО один ее аргумент.

1.3 УСЛОВНЫЕ ОБОЗНАЧЕНИЯ ЛОГИЧЕСКИХ ФУНКЦИЙ НА СХЕМАХ

Количество входовлогического элемента, участвующих в формировании логической функции, называетсякоэффициентом объединения - Коб  ( не путать с коэффициентом разветвления). У всех вышеприведенных схем, за исключением инвертора, коэффициент объединения равен двум.Промышленностью выпускаются схемы с Коб=2,3,4,8. Для получения схем с другимчислом входов основные элементы можно объединять. Например, если требуетсяпятивходовая схема И, то ее можно получить, используя сочетательный законследующим способом: x0 * x1 * x2 * x3 * x4 = (x0*x1) * (x2*x3*x4) = (x0*x1) *x2 * x3 * x4, т.е. требуются две двухвходовые и одна трехвходовая схемы И, дляпервого варианта, либо одна двухвходовая и одна четырехвходовая - для второго(рис.1).

ris1.gif (2519 bytes)

Можно использовать ивосьмивходовую схему И, подав на незадействованные входы "1", либонекоторые из переменных,  в соответствии с выражениями (5) или (7).

1.4 СПОСОБЫ ПРЕДСТАВЛЕНИЯ ЛОГИЧЕСКИХ ФУНКЦИЙ

Целью проектирования цифровогоустройства является получение его логической функции (ЛФ) и соответствующей ейсхемной реализации. ЛФ могут иметь различные формы представления: 1)словесное, 2) графическое, 3) табличное,4) алгебраическое, 5) на алгоритмическом языке(например VHDL) и 6) схемное. В качестве примера,рассмотрим функцию Y от двух переменных x1 и x0, заданную словесным описанием:Y=1, если переменные НЕ РАВНЫ и Y=0, если x1=x0. Такую ЛФ удобно назватьфункцией НЕРАВНОЗНАЧНОСТИ. Переходим к табличному представлению Y (таблица 2).

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

Выражение (12) называетсясовершенной дизъюнктивной нормальной формой ЛФ (СДНФ). mi - минтерм илилогическое произведение всех переменных i-го двоичного набора, входящих впрямом виде, если значение этой переменной в наборе равно 1, и  винверсном виде, если ее значение равно 0. fi - значение ЛФ на i - ом наборе.Доказательство (12) базируется на теореме разложения, в соответствии с которойлюбую ЛФ f(..) от n-переменных можно разложить по переменной xi в виде:f(x(n-1),...,xi,. ..,x0)  = ~xi*f(x(n-1),...,0,..,x0) +xi*f(x(n-1),..,1,..,x0). Это выражение для xi=0 равно ~0*f(x(n-1),...,0,..,x0)+ 0*f(x(n-1),..,1,..,x0) = f(x(n-1),...,0,..,x0). При xi=1 оно будет равно~1*f(x(n-1),..,1,..,x0) + 1*f(x(n-1),..,1,..,x0) = f(x(n-1),...,1,..,x0), т.е.при любых значениях xi теорема разложения справедлива. Теорему разложения можноприменить n раз и тогда ЛФ будет разложена по всем своим переменным.

В виде примера рассмотрим функциюF=f(x1,x0) от двух переменных. Разложение этой функции по переменной x1 даст:F= ~x1*f(0,x0) + x1*f(1,x0) . Продолжая эту операцию для переменной x0,получим:

F =~x1*(~x0*(f(0,0) + x0*(f(0,1))+ x1*(~x0*(f(1,0) + x0*(f(1,1)) = ~x1*~x0*f(0,0) + ~x1*x0*f(0,1) + x1*~x0*f(1,0)+ x1*x0*f(1,1).        (12.1)

Выражение (12.1) позволяетзаписать все переключательные функции от двух переменных, используя только триосновных логических операции.

Рассмотрим разложение функцийF7-"ИЛИ" и F1-"И", для чего необходимо обратиться ксоответствующим строчкам таблицы 1. Функция И на двоичных наборах входныхпеременных x1 и x0 (00,01,10,11) принимает значения 0,0,0,1. Записываявыражение (12.1) для этих значений получим: F1(x1,x0 ) = ~x1*~x0*0 + ~x1*x0*0 +x1*~x0*0 + x1*x0*1 = x1*x0, что соогласуется с ее определением. Таким жеобразом, находим алгебраическое выражение функции F7-"ИЛИ", которая,соответственно, на тех же входных наборах принимает значения: 0,1,1,1. Тогда, всоответствии с (12.1), F7(x1,x0) = ~x1*~x0*0 + ~x1*x0*1 + x1*~x0*1 + x1*x0*1.Вынося за скобки в двух последних слагаемых x1, получим F7 = ~x1*x0*1 +x1*(~x0*1 + x0*1). На основании аксиомы (8), выражение в скобке равно"1" и F7 = ~x1*x0*1 + x1. Применяя распределительный закон, найдем(~x1+x1) * (x0+x1) = x1+x0.

Возвращаясь к таблице 2, получимY = 0*~x1*~x0 + 1*~x1*x0 + 1*x1*~x0 + 0*x1*x0 = ~x1*x0 + x1*~x0 = x1 (+) x0 =F6 (функцияия неравнозначности).

С помощью формулы (12) любую,сколь угодно сложную, логическую функцию можно представить в виде трех основныхЛФ: "И", "ИЛИ", "НЕ", представляющих собойлогический базис.

1.5 ЛОГИЧЕСКИЙ БАЗИС

Набор простейших ЛФ, позволяющихреализовать любую другую функцию называется логическим базисом (ЛБ). Функции И,ИЛИ, НЕ не являются минимальным ЛБ, т.к. сами могут быть представлены черездругие функции, например через F8(ИЛИ -НЕ) или F14(И - НЕ).

bazis.gif (5161 bytes)

Следовательно базис "И -НЕ" является минимальным. Реализацию НЕ,И,ИЛИ в базисе "ИЛИ -НЕ" произвести самостоятельно, используя перечисленные аксиомы.

1.6 СХЕМНЫЕ ОСОБЕННОСТИ ЛОГИЧЕСКИХ ЭЛЕМЕНТОВ

Приведенные выше логическиеэлементы (ЛЭ) И, ИЛИ, НЕ, И-НЕ и другие могут иметь некоторые схемотехническиеособенности.

1.6.1 БАЗОВЫЙ ЛОГИЧЕСКИЙ ЭЛЕМЕНТ

  На рисунке приведенаупрощенная схема И-НЕ и его условное обозначение.

base-elem.gif (3214 bytes)

Напряжения на базах транзисторовVT1 и VT2 находятся в противофазе и, если x0*x1=1, то нижний транзистор открыт,а верхний закрыт, так как ~(x0*x1)=0 . Потенциал коллектора VT2 в этом случаепримерно равен нулю и следовательно y=0. При других значениях x0 и x1 нижнийтранзистор закрыт, а верхний открыт и на выходе схемы - высокий уровень,т.е.  схема работает как  элемент И-НЕ. Выходы нескольких БЛЭкатегорически нельзя соединять вместе, потому что, если n-1 элементов находятсяв состоянии "1", а n-ый в состоянии "0", то n-1транзисторов VT1 будут "сливать" (sink) токи в единственныйтранзистор VT2 n-го элемента. Суммарный ток может превысить допустимое значениеи VT2 выйдет из строя.

1.7 ЭЛЕМЕНТ С ОТКРЫТЫМ КОЛЛЕКТОРОМ

Логический элемент И-НЕ соткрытым коллектором (ОК) (см.рис.2. слева) обозначается в поле элемента ромбомс чертой внизу.

ris2.gif (2946 bytes)

К открытому коллектору снаружимогут подключаться резисторы, обмотки реле и двигателей, светодиоды и т.д.Открытые коллекторы нескольких элементов в отличие от базового логическогоэлемента могут соединяться вместе, образуя "монтажное И"(рис.2 - справа) для прямых значений переменных т.к. y=y0*y1=1 при y0=y1=1.Иногда такую схему называют "монтажное ИЛИ", потомучто y = ~(x0*x1) * ~(x2*x3) в соответствии с соотношением двойственности равно~(x0*x1 + x2*x3) (рис.2). Логический элемент И с открытым эмиттером,обозначается ромбом, но с чертой сверху.

1.8 ЭЛЕМЕНТЫ "И - ИЛИ - НЕ" И РАСШИРИТЕЛИ

Такие схемы объединяют несколькоэлементов И, подключенных выходами к элементу ИЛИ-НЕ (рис.3). Если количествапеременных a,b,..e недостаточно, используются элементы-расширители, подключаемыек входам расширения C и E (входы для открытых коллектора и эмиттера). Символ&1 обозначает функцию И, объединяемую по ИЛИ (рис.4). Здесь и далеесимволом *  обозначаются вспомогательные входы у логических элементов.

ris3-4.gif (4720 bytes)

В этих схемах, как и вообще вэлементах ИЛИ, неиспользуемый вход ИЛИ д.б. подключен к 0. Поэтому, если однаиз секций И незадействована, на один из ее входов необходимо подать 0. Впротивном случае Y всегда будет равен 0. Это особенность схем, выполненных по ТТЛ(Ш)технологии, т.к. неподключенный логический вход этих схем эквивалентенлогической 1 (правда при этом ухудшаются некоторые характеристики микросхемы).