Анализ и синтез на логически схеми

91
Ръководството е предназначено за провеждане на лабораторни упражнения по дисциплината “Анализ и синтез на логически схеми”, изучавана от студентите от специалности КСТ и АИУТ при ТУ Варна. Участието на авторите е както следва: теми от 1 до 5 са разработени от гл.ас. Юлка Петкова, темите от 6 до 12 - от гл.ас. Сава Иванов, а последните 4 теми - от гл.ас. Стоян Каров. 1. Алгебра на логиката. Логически функции. Представяне на логически функции. 1999-03-25 10:25:50+02 Като правилo в цифровите системи се използват две нива на напрежението на електрическите сигнали, например 0V и 5V. Следователно цифровата система може да бъде описана като двоична и на двете използвани нива на напрежението могат да се съпоставят двоичните значения 0 и 1. Двете състояния, определени по такъв начин, могат да се интерпретират логически като наличие или отсъствие на определено условие. Теоретична основа за разработването на съвременните методи за синтез и анализ на цифрови устройства представлява алгебрата на логиката, която оперира с променливи, приемащи само две значения - 0 или 1. В нея съществуват множество правила и теореми, които дават възможност да се оперира с логическите изрази. 1. Основни понятия: - логически константи - логическа 0 и логическа 1; - логическа (булева, превключвателна) променлива - всяка величина (символ), която може да приема само две стойности - логическа 0 и логическа 1; - логическа функция - функция на краен брой логически променливи, която, така както и променливите, може да приема само две стойности - логическа 0 и логическа 1. Функционалната зависимост се означава по общоприетия начин - f(x 1 , x 2 , ..., x n ), където n е броят на аргументите, от които зависи функцията f. - набор - всяка комбинация от стойности на аргументите на дадена функция. Тъй като аргументите могат да приемат само две стойности, броят на различните набори от n аргумента е 2 n . Броят на различните функции от n аргумента е 2 n . Например, при 4 аргумента броят на наборите е 4, а на различните функции е 2 2n =16. Всяка логическа функция f(x 1 , x 2 , ..., x n ) разделя множеството от 2 n набора на две непресичащи се подмножества: - подмножество на единичните набори (наборите, за които функцията получава стойност 1); - подмножество на нулевите набори (наборите, за които функцията получава стойност 0); f(x 1 , x 2 , ..., x n )=1 f(x 1 , x 2 , ..., x n )=0 Функция от този тип се нарича напълно определена логическа функция, т.е. за всеки набор функцията има определена стойност. Една логическа функция може да бъде и непълно определена, т.е. за определени набори функцията не получава определена стойност. Две логически функции са еквивалентни (тъждествени), ако зависят от едни и същи променливи и приемат едни и същи стойности за всеки набор на аргументите си: f 1 (x 1 , x 2 , ..., x n )=f 2 (x 1 , x 2 , ..., x n ). Една логическа функция на n аргумента е съществено независима от i-тия аргумент, ако приема една и съща стойност за различни значения на този аргумент, при което той може да бъде изключен от записа на функцията:

Upload: lachezar-stoimenov

Post on 04-Jan-2016

697 views

Category:

Documents


56 download

DESCRIPTION

Анализ и синтез на логически схемигл.ас. Юлка Петковагл.ас. Сава Ивановгл.ас. Стоян Каров

TRANSCRIPT

Ръководството е предназначено за провеждане на лабораторни упражнения по дисциплината “Анализ и синтез на логически схеми”, изучавана от студентите от специалности КСТ и АИУТ при ТУ Варна.Участието на авторите е както следва: теми от 1 до 5 са разработени от гл.ас. Юлка Петкова, темите от 6 до 12 - от гл.ас. Сава Иванов, а последните 4 теми - от гл.ас. Стоян Каров.

1. Алгебра на логиката. Логически функции. Представяне на логически функции.

1999-03-25 10:25:50+02 Като правилo в цифровите системи се използват две нива на напрежението на електрическите сигнали, например 0V и 5V. Следователно цифровата система може да бъде описана като двоична и на двете използвани нива на напрежението могат да се съпоставят двоичните значения 0 и 1. Двете състояния, определени по такъв начин, могат да се интерпретират логически като наличие или отсъствие на определено условие.Теоретична основа за разработването на съвременните методи за синтез и анализ на цифрови устройства представлява алгебрата на логиката, която оперира с променливи, приемащи само две значения - 0 или 1. В нея съществуват множество правила и теореми, които дават възможност да се оперира с логическите изрази. 1. Основни понятия:- логически константи - логическа 0 и логическа 1;- логическа (булева, превключвателна) променлива - всяка величина (символ), която може да приема само две стойности - логическа 0 и логическа 1;- логическа функция - функция на краен брой логически променливи, която, така както и променливите, може да приема само две стойности - логическа 0 и логическа 1.Функционалната зависимост се означава по общоприетия начин - f(x1, x2, ..., xn), където n е броят на аргументите, от които зависи функцията f.- набор - всяка комбинация от стойности на аргументите на дадена функция.Тъй като аргументите могат да приемат само две стойности, броят на различните набори от n аргумента е 2n.Броят на различните функции от n аргумента е 2n. Например, при 4 аргумента броят на наборите е 4, а на различните функции е 22n=16.Всяка логическа функция f(x1, x2, ..., xn) разделя множеството от 2n набора на две непресичащи се подмножества:- подмножество на единичните набори (наборите, за които функцията получава стойност 1);- подмножество на нулевите набори (наборите, за които функцията получава стойност 0);

f(x1, x2, ..., xn)=1 f(x1, x2, ..., xn)=0Функция от този тип се нарича напълно определена логическа функция, т.е. за всеки набор функцията има определена стойност.Една логическа функция може да бъде и непълно определена, т.е. за определени набори функцията не получава определена стойност.Две логически функции са еквивалентни (тъждествени), ако зависят от едни и същи променливи и приемат едни и същи стойности за всеки набор на аргументите си:f1(x1, x2, ..., xn)=f2(x1, x2, ..., xn).Една логическа функция на n аргумента е съществено независима от i-тия аргумент, ако приема една и съща стойност за различни значения на този аргумент, при което той може да бъде изключен от записа на функцията:

2. Елементарни логически функции.Най-прости са логическите функции, които зависят от един и от два аргумента. Те се наричат елементарни логически функции. Към тях се прибавят и двете константи 0 и 1 - логически функции, които не зависят от нито един аргумент.Следващите таблици съдържат всички възможни логически функции съответно на нула, един и два аргумента.

Функциите, означени със *, се използват най-често и обикновено чрез тях се изразяват останалите функции. Техническите средства, които реализират тези елементарни ЛФ (с изключение на f0 и f15) се наричат логически елементи. С тяхна помощ се изграждат логическите схеми.Функциите константа 0 и константа 1 се наричат тривиални - за тяхното техническо реализиране не са необходими елементи.Тривиална е и функцията променлива x - за реализирането й също не са необходими елементи, тъй като нейната стойност съвпада със стойността на аргумента й.Техническото средство, което реализира функцията инверсия (отрицание) е логически елемент, наречен инвертор. Той “обръща” значението на аргумента - когато аргументът има стойност 0, функцията има стойност 1 и обратно - когато аргументът има стойност 1, функцията има стойност 0.Функцията конюнкция приема стойност 1, само когато и двата аргумента едновременно приемат стойност 1. Техническото средство, което реализира тази ЛФ, е логическият

елемент . Операцията конюнкция може да бъде означавана по различни начини, както е показано в таблицата, но в настоящото пособие основно ще се използва знакът за алгебрично произведение “.”, който, така както и в обикновената алгебра, може да се пропуска.Функцията дизюнкция приема стойност 1, когато поне един от аргументите й приема

стойност 1. Техническото средство, което реализира тази ЛФ, е логическият елемент . Операцията дизюнкция може да бъде означавана по различни начини, както е показано в таблицата, но в настоящото пособие основно ще се използва знакът за алгебрична сума “+” или знакът “V”.Като се има предвид казаното по-горе, може да се приеме, че следните записи на една и съща функция са правилни и еквивалентни:

Функциите на два аргумента конюнкция и дизюнкция и техните инверсни функции съвсем естествено се разширяват и дефинират като функции на n аргумента.Логическото произведение (конюнкция) от n аргумента е такава логическа функция, която приема стойност 1, само ако всичките й аргументи едновременно приемат стойност 1.Логическата сума (дизюнкция) от n аргумента е такава логическа функция, която приема стойност 1, ако поне един от тях има стойност 1.

Дефинициите за инверсните функции могат да се получат от горните, като вместо стойност 1 на функцията се запише стойност 0.Функциите логическа равнозначност и логическа неравнозначност също могат да се дефинират за n аргумента. Функцията логическа неравнозначност (сума по модул 2) приема стойност 1, ако нечетен брой аргументи приемат стойност 1. Функцията логическа равнозначност приема стойност 1, ако четен брой аргументи приемат стойност 1.3. Представяне на логически функции.Поведението на коя да е логическа функция в зависимост от стойностите на аргументити й може да бъде описано по един от следните начини:3.1. Описателно - поведението на функцията се описва словесно.Примери:1). Логическо произведение (конюнкция) на два аргумента е такава логическа функция f(1), която приема стойност 1, само в случай че и двата аргумента приемат стойност 1.2). Логическа функция (f2) на 4 аргумента приема стойност 1 за онези набори, които представляват разрешени комбинации в двоично-десетичен код с излишък 3 (това са набори от 3(10) до 12(10) включително) и стойност 0 за всички останали набори.3.2. Таблично.Функцията се представя чрез таблица, в която се записват всички набори от аргументите и стойностите на функцията за всеки набор. Таблицата се нарича таблица на истинност.Примери: 1). Таблицата на истинност на зададената описателно функция f1 е показана на фиг.1.1.

За комбинациите от стойности на аргументите x1x0 00, 01 и 10 (т.е. за набори 0, 1 и 2) функцията получава стойност 0. Когато x1=x0=1 (набор 3), функцията получава стойност 1.2). Tаблицата на истинност на зададената описателно функция f2 е показана на фиг.1.2.3.3. Аналитично.Функциите се представят с логически изрази. Логическите изрази представляват формули, състоящи се от логически константи и променливи, свързани с операциите И, ИЛИ и НЕ. Както и в обикновената алгебра, за задаване на порядъка на действие се използват скоби.Примери:

1).

2). 3.4. Графично.Функцията се представя чрез карта на Карно (КК). Kартите на Kарно представляват правоъгълни таблици, съдържащи толкова на брой клетки, колкото е броят на наборите за функцията, която се изобразява. Във всяка клетка се записва стойността на функцията за съответния набор. Клетките се означават с двоичните набори, като се спазва условието при преминаване от клетка в клетка само един аргумент да променя стойността си. Това условие е признак за съседност на две клетки в картата на Карно.Карта на Карно за n+1 променливи се получава от две карти на Карно за n променливи.

Пример:Картата на Карно за горната функция f2 на 4 променливи е показана на фиг.1.3. Тя може да бъде попълнена лесно, ако предварително (както в случая) е записана таблицата на истинност на функцията.4. Аналитични форми на логическите функции.Всяка логическа функция може да бъде представена чрез своите нормални форми - дизюнктивна и конюнктивна.Дизюнктивна нормална форма (ДНФ) се нарича логическа сума (дизюнкция) от елементарни конюнкции.Елементарна конюнкция (импликанта) - логическо произведение от аргументи на функцията със или без отрицание, което покрива (за което функцията получава) само единични и нито една нулева стойност на функцията.За зададената по-горе функция f2 могат да бъдат записани следните няколко дизюнктивни нормални форми:

Това са различни възможни ДНФ за една и съща функцияКонюнктивна нормална форма (КНФ) се нарича логическо произведение (конюнкция) от елементарни дизюнкции.Елементарна дизюнкция (имплицента) - логическа сума от аргументи на функцията, за която функцията получава само нулеви и нито една единична стойност.За зададената по-горе функция f2 могат да бъдат записани следните няколко конюнктивни нормални форми:

Това не са всички възможни КНФ за тази функция.Всяка логическа функция може да бъде представена чрез своите съвършени (канонични) форми.Съвършена дизюнктивна нормална форма - СДНФ (канонична SP-форма (SP - Sum of Products - сума от произведения)) - логическа сума от логически произведения, в които участват всички аргументи на функцията със или без отрицание и за които функцията получава стойност 1. Тези логически произведения се наричат минтерми, така че СДНФ може да бъде определена и като логическа сума от минтермите на функцията. За функция на n променливи i -тият минтерм изглежда по следния начин:

i - десетичният еквивалент на двоичния набор, за който е записан даденият минтерм.Функцията f2 на 4 променливи има следната СДНФ:

Съвършена конюнктивна нормална форма - СКНФ (канонична PS-форма (PS - Product of Sums - произведение от суми)) - логическо произведение от логически суми, в които участват всички аргументи на функцията със или без отрицание и за които функцията получава стойност 0. Тези логически суми се наричат макстерми, така че СКНФ може да бъде определена и като логическо произведение от макстермите на функцията. За функция на n агумента i -тият макстерм изглежда така:

i - десетичният еквивалент на двоичния набор, за който е записан даденият макстерм.Функцията f2 на 4 аргумента има следната СКНФ:

Съвършените форми са най-дългите аналитични форми за представяне на една логическа функция. Eстествен е стремежът към по-компактен запис, т.е. към достигане на минималната форма на функцията. Това води до физическа реализация с по-малък брой логически елементи.Минимална дизюнктивна нормална форма (МДНФ),(минимална SP-форма) - минимална сума от минимални логически произведения (прости импликанти), покриващи всички единични стойности на функцията.Минимално произведение (проста импликанта) - произведение, в което участват минимален брой аргументи и което покрива (за което функцията получава) само единични стойности на функцията. При отпадане на кой да е аргумент, участващ в записа на минималното произведение, то започва да покрива и нулеви стойности на функцията, т.е. престава да бъде импликанта.Минимална конюнктивна нормална форма (МКНФ)(минимална PS-форма) - минимално произведение от минимални логически суми, покриващи всички нулеви стойности на функцията.Една логическа функция има единствени СДНФ и СКНФ, една или няколко ДНФ и КНФ и една или няколко минимални форми.Ще се ограничим в търсенето на МДНФ.Процесът на търсене на минималните форми се нарича минимизация на логическите функции.Разработени са различни методи за минимизация на логически функции. Един от тях е аналитичният. За да се достигне до минималната форма на една логическа функция чрез тъждествени преобразувания, е необходимо да се познават добре законите, теоремите и аксиомите на алгебрата на логиката.5. Основни закони и аксиоми на алгебрата на логиката.

Могат да се формулират няколко аксиоми и закони, отразяващи основните съотношения в алгебрата на логиката. Доказателства на законите в това пособие няма да бъдат правени, но те винаги могат да бъдат проверени, ако се зададат конкретни стойности на аргументите.

Тази таблица илюстрира дуалността (двойствеността) на логическите функции - всяко равенство от колонка А (Б) може да се получи от съответното му равенство от колонка Б (А), като операцията дизюнкция се замени с конюнкция и обратно, а 1 с 0 и обратно.Таблицата може да бъде допълнена с теоремата на Шенон, която се явява приложение на закона на де Морган върху n аргумента и гласи следното:- Логическото отрицание на произведението от n аргумента е равно на логическата сума от

отрицанията на аргументите, т.е. ;- Логическото отрицание на сумата от n аргумента е равно на логическото произведение от

отрицанията на аргументите, т.е. .6. Примери за прилагане на основните закони на алгебрата на логиката.6.1. Да се преобразуват логическите изрази:

1). След традиционното разкриване на скобите се получава:

Ако добре се владеят законите и аксиомите на булевата алгебра, функцията би могла да се опрости много по-бързо:

За израза в първите скоби се прилага законът за съкращаване, а към получения израз - законът за поглъщане.

2). Изразите във втората и третата двойки скоби са еднакви, следователно може да бъде приложен законът за повторението. Получава се:

Следва разкриване на скобите:

3). След прилагане на законите на де Морган се получава:

Kъм получения израз се прилага законът за поглъщане:

6.2. Да се намери дизюнктивната нормална форма на функцията

Очевидно е, че трябва да бъдат приложени многократно законите на де Морган и законът за двойното отрицание.

6.3. Да се представи в таблична форма логическата функция

Функцията зависи от 3 аргумента - A, B и C. Следователно таблицата на истинност ще има 8 реда - толкова, колкото са наборите за функция на 3 аргумента.

Въпроси и задачи.1). Дайте определение за: логическа константа; логическа променлива; логическа функция.2). Колко са възможните набори за функция от n аргумента?3). Колко са възможните функции от n аргумента?4). Кога две логически функции са еквивалентни?5). Кога една логическа функция е съществено независима от i-тия аргумент?6). Кои са елементарните ЛФ?7). Как се задават ЛФ?8). Дефинирайте: импликанта; проста импликанта; ДНФ, КНФ; СДНФ,СКНФ; минтерм; макстерм; минимална SP-форма.9). Какъв е броят на: съвършените форми; нормалните форми; минималните форми на една ЛФ? Обяснете защо е така.10). Кои закони и аксиоми на булевата алгебра познавате?

11). Обяснете свойството “дуалност” на логическите функции.12). Постройте таблици на истинност и карти на Карно за следните логически функции:

13). Съставете СДНФ и СКНФ на горните функции.14). Ползвайки законите, теоремите и аксиомите на алгебрата на логиката, докажете следните тъждества:

15). Чрез аналитични преобразувания намерете минималните форми на следните логически функции:

Автор: С. Иванов, Ю. Петкова, С. Каров

2. Минимизация на логически функции с карти на Карно. Синтез на комбинационни логически схеми.

1999-03-25 11:50:12+02 За да бъде реализирана схемно една логическа функция, предварително трябва да се намери нейната минимална аналитична форма. Това ще доведе до реализирането й с минимален разход на технически средства.1. Минимизация на логически функции с карти на Карно.Картите на Карно могат да се използват като инструмент за получаване на минималните форми на логическите функции.За намиране на минималната дизюнктивна нормална форма (МДНФ) на една ЛФ с помощта на карта на Карно се разглеждат само клетките, съдържащи логическа 1. Те съответстват на минтермите в СДНФ. Съгласно дефиницията на МДНФ, трябва да се намерят минимален брой прости импликанти, покриващи всички единични стойности на функцията.Простите импликанти се определят чрез оформяне в картата на Карно на правоъгълни конфигурации от съседни клетки на брой 2k (k=0, 1, ..., n; n - брой на аргументите на функцията), съдържащи само единични стойности. За всяка правоъгълна конфигурация се получава проста импликанта. Броят на аргументите, участващи в записа на простата импликанта, е равен на - k. Очевидно е, че колкото повече клетки са обхванати (слепени) в правоъгълната конфигурация, толкова по-малък брой аргументи ще участват в записа й. От друга страна, колкото по-малък е броят на правоъгълните конфигурации, толкова по-малък брой прости импликанти ще участват в записа на функцията. Дадена клетка може да участва в повече от една правоъгълна конфигурация за получаването на различни прости импликанти.Пример: Да се намери МДНФ на следната функция, зададена чрез СДНФ:f=Vm(0,2,3,4,6,7,8,12,13).

Броят на аргументите, от които зависи функцията, се определя от зависимосттаn=]log2imax[,където с imax е означен най-големият индекс на минтермите, а обратните правоъгълни скоби показват, че ако резултатът не е цяло число, той трябва да бъде закръглен до най-близкото по-голямо цяло число.В случая n=]log213[=4, т.е. става въпрос за функция от 4 аргумента.Построява ce таблицата на истинност за тази функция. Тя има 24=16 реда, толкова, колкото е броят на наборите за функция от 4 аргумента.Построява ce картата на Карно за тази функция. (Разбира се, тя може да бъде построена и без предварителното записване на таблицата на истинност.)

фиг.2.1.Минималният брой правоъгълни конфигурации, в които участват максимален брой съседни клетки (при това точна степен на 2) с единични стойности на функцията, е показан на фиг.2.1. Конфигурациите са означени с А, В и С; А и B са съставени от 22 клетки, а C - от 21.Разглеждаме конфигурацията А. Тя включва стойностите на функцията от набори 0010, 0011, 0111 и 0110. Следователно може да бъде записано

.Тъй като функцията приема една и съща стойност (1) за различни стойности на аргументите x2 и x0, следователно тя е съществено независима от тези аргументи и те могат да бъдат пропуснати в записа й. В резултат от конфигурацията А ще се получи простата импликанта

. С други думи, в записа на простата импликанта участват само тези аргументи, които не променят стойността си. (Дали импликантата наистина е проста може да бъде проверено чрез зачеркване на кой да е от двата аргумента - x3 или x1. И в двата случая новополученият запис или x1 покрива и нулеви стойности на функцията, т.е. и x1 не са импликанти. Следователно е проста импликанта.)Чрез аналогични разсъждения за конфигурация В се получава простата импликанта , а за конфигурация .МДНФ на функцията представлява логическа сума от определените три прости импликанти, т.е.

Разгледаната функция е напълно определена - за всеки набор от стойности на аргументите получава точно определена стойност - 0 или 1.Ако една логическа функция приема точно определени стойности само за някои от наборите, тя се нарича непълно определена. Неопределените стойности на функцията за съответните набори се означават с x или *.В процеса на минимизация непълно определените функции се доопределят така, както е удобно, с цел получаване на МДНФ.Примери:

1). Логическа функция на 3 променливи приема стойност 1 за всички набори, кратни на 3 и стойност 0 за всички набори, кратни на 2 в интервала [0,5]. Да се намери МДНФ на тази функция.Записва се таблицата на истинност:

Стойностите на функцията за набори 000, 001, 101 и 111, които не са кратни нито на 3, нито на 2, се отбелязват с x - те са неопределени.Построява сe картата на Карно за тази функция (фиг.2.2.).Имайки предвид изискванията за получаване на МДНФ, могат да се доопределят стойностите на функцията за набори 001, 101 и 111 като 1, а за набор 000 - като 0. Оформят се конфигурациите А и В, а за МДНФ на функцията се получава:

Всяко друго доопределяне на неопределените стойности би довело до форма, която няма да бъде минимална.2). Да се намери МДНФ на функцията f(x3, x2, x1, x0), зададена с карта на Карно (фиг.2.3.).Оформят се конфигурациите А, В и С, от които съответно се получават простите импликанти ; и .Остава свободна една клетка с единична стойност f(0111). Тя може да бъде слепена или с клетката f(0111) (конфигурация D), при което се получава простата имппликанта , или с клетката f(0101) (конфигурация D’), при което се получава простата импликанта .В резултат могат да бъдат записани две равностойни МДНФ за тази функция:

В заключение, картите на Карно са удобни за минимизиране на функции на не повече от 4-5 променливи. При повече аргументи построяването и анализът на картите се затруднява и затова се използват други методи за минимизация.2. Функционално пълна система (базис) от логически функции и логически елементи.Вече беше показано, че всяка логическа функция може да бъде представена в СДНФ или СКНФ. В тези форми на запис участват логическите операции конюнкция, дизюнкция и отрицание. Следователно, за представянето на коя да е логическа функция е достатъчно да бъдат използвани елементарните логически функции И, ИЛИ и НЕ. Те образуват т.нар. функционално пълен базис от логически функции. Техническите средства, които реализират тези ЛФ, се наричат логически елементи и образуват функционално пълен базис от логически елементи (фиг.2.4.).

фиг.2.4.Ако от този базис бъде изключена функцията ИЛИ, с останалите функции - И и НЕ също може да бъде представена коя да е логическа функция, тъй като чрез тях може да бъде представена липсващата ЛФ. Твърдението може да бъде доказано чрез закона на де Морган:

Разполагаме с функциите и ; От закона на де Морган следва, че функцията f3(x1, x2)=x1+x2 може да се получи като

.Следователно функциите И и НЕ притежават функционална пълнота, а оттам и логическите елементи, реализиращи тези функции.Аналогично може да бъде доказано, че функционално пълен базис представляват и функциите ИЛИ и НЕ.Базисът, съставен от функцията И-НЕ, (функция на Шефер), също е функционално пълен.

Следователно базисът, съставен от логическия елемент (NAND, И-НЕ), реализиращ тази функция, също притежава функционална пълнота.

Доказателство: Разполага се с функцията . Чрез нея трябва да бъдат

изразени функциите , , и реализирани чрез логически елемент И-НЕ.Прилагаме някои от законите, теоремите и аксиомите на алгебрата на логиката и получаваме:

Функцията може да бъде получена и по друг начин:

.По аналогичен начин може да бъде доказано, че базисът ИЛИ-НЕ също е функционално пълен (респективно - функционално пълен е базисът, съставен само от логическия елемент

ИЛИ-НЕ ).Функционално пълните системи от ЛФ И-ИЛИ-НЕ, И-НЕ и ИЛИ-НЕ и съответните логически елементи, с които се реализират тези функции, са най-разпространени и най-често използвани в практиката. Съществуват и други функционално пълни системи от ЛФ, като например: импликация, константа “0”; импликация, инверсия; забрана, инверсия; забрана, равнозначност; импликация, неравнозначност; конюнкция, равнозначност, константа “0”; дизюнкция, равнозначност, константа “0”; конюнкция, неравнозначност, константа “1”; дизюнкция, неравнозначност, константа “1”; конюнкция, равнозначност, неравнозначност; дизюнкция, равнозначност, неравнозначност и др., но те почти не се използват в практиката, тъй като не са разработени логически елементи, които да ги реализират.3. Синтез на комбинационни логически схеми (КЛС) в различни базиси.Схемите, изградени от логически елементи, се наричат логически схеми.Логическа схема, чиито изходни сигнали в определен момент от времето зависят само от входните сигнали в същия момент от времето, се нарича КЛС (фиг.2.5.).

фиг.2.5.Y(t)=f(X(t)), където Y={y0, y1, ..., yk-1}; X={x0, x1, ..., xn-1}Процедурата за синтез на КЛС се състои в изпълнението на следните стъпки:1).Описване на логическата функция(и), която реализира схемата, чрез карта на Карно или чрез таблица на истинност.2).Намиране на минималната форма на функцията(ите).

3).Преобразуване на минималната форма в съответствие с функционално пълния базис за реализация.4).Схемна реализация.Примери:1). На входа на КЛС постъпват 4 логически променливи. Изходът на схемата се установява в 1, ако входната комбинация е двоично-десетично число и в 0, ако входната комбинация не е двоично-десетично число. КЛС да се синтезира:а) в базис И-ИЛИ-НЕ;б) в базис И-НЕ;в) в базис ИЛИ-НЕ.

Таблица на истинност Карта на Карно

а) Реализация в базис И-ИЛИ-НЕ (фиг.2.6.).

фиг.2.6.За реализирането на схемата са необходими: 3 инвертора (схеми НЕ), 1 логически елемент (ЛЕ) И, 1 ЛЕ ИЛИ.б) Реализация в базис И-НЕ (фиг. 2.7.).Функцията y трябва да бъде представена само чрез функцията И-НЕ.Извършват се следните тъждествени преобразувания:

За реализацията на схемата са необходими 4 ЛЕ И-НЕ. Физически тези 4 ЛЕ представляват една интегрална схема 7400.

в) Реализация в базис ИЛИ-НЕ (фиг.2.8.).Функцията y трябва да бъде представена само чрез функцията ИЛИ-НЕ.Извършват се следните тъждествени преобразувания:

За реализацията на схемата са необходими 4 ЛЕ ИЛИ-НЕ (NOR). Физически тези 4 ЛЕ представляват една интегрална схема 7402.

Реалната елементна база, с която разполага един проектант, се състои от типови елементи, които имат ограничен брой входове и допускат ограничен брой товари към изходите си.

При синтеза на КЛС чрез логически елементи с фиксиран брой входове се използват следните правила:а) търсят се форми на представяне на ЛФ, в които отделните терми да се реализират с елементи със съответен брой входове;б) термите с по-голяма дължина се разделят на части и се реализират чрез последователно свързване на елементи със зададения брой входове;в) ако в даден елемент останат свободни входове, те могат да се свържат към един от използваните входове или към логическа константа (“1” за И и И-НЕ и “0” за ИЛИ и ИЛИ-НЕ).Когато дадена КЛС се реализира с елементи с ограничен брой товари към изхода си, това довежда до увеличаване на нейната стъпалност. Стъпалността на една схема се определя от най-големия брой логически елементи (най-дългия път), през които минава един сигнал от входа до изхода й.

2). Да се синтезира КЛС, реализираща следната функция, зададена с карта на Карно:Получава се следната МДНФ за тази функция:За реализирането на функцията са необходими следните елементи: 4 инвертора, 1 двувходов елемент И, един тривходов елемент И и един тривходов елемент ИЛИ.

Тази сравнително проста схема е реализирана с 3 различни вида логически елементи, при това с различен брой входове. Това означава, че са необходими 4 интегрални схеми, голяма

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

За реализицията на схемата са необходими 10 двувходови логически елемнти И-НЕ, т.е. 2 1/2 ИС 7400, а броят на стъпалата е 5 (фиг.2.10.).

Дотук при синтеза на КЛС не се отчитаха закъсненията на сигналите, предизвикани от различните времена на превключване на логическите елементи. В реалните схеми такова закъснение съществува и в резултат се намалява бързодействието на схемата и/или се получават т.нар. състезания на сигналите (рискове).Състезанията на сигналите се изразяват в неправилната

реакция на схемата при промяна на един входен набор с друг.Според броя на позициите, по които се различават двата набора, предизвикващи състезанията, те биват 1-, 2-, 3-, ..., n -позиционни.Според вида на предизвикваната реакция на изхода на схемата състезанията биват:- статични - реакцията на схемата за двата набора е една и съща (на изхода не трябва да настъпи промяна);- динамични - реакцията на схемата за двата набора е различна (на изхода трябва да настъпи промяна).

Тъй като в основата на възникването на състезанията лежи разпространението на сигналите по различни пътища (различният брой стъпала, през които преминават те), при проектирането е небходимо пътищата на сигналите да се изравняват. Това се постига или като от получените в процеса на синтеза варианти на схемите се предпочетат макар и по-сложните, но с изравнени пътища, или като пътищата на сигналите се изравняват чрез включването на двойки последователни инвертори в по-кратките.Друг начин за предотвратяване на състезанията е включването в минималната форма (и във физическата резлизация) на т.нар. терми на съгласуване. Това означава за всеки две съседни правоъгълни конфигурации от единични стойности, получени при минимизацията на функцията с карта на Карно, да се добави (и да се реализира схемно) допълнителна конфигурация, обхващаща 2 съседни клетки (по една от двете конфигурации) [5].Въпроси и задачи.1). Какъв е възможният брой съвършени, нормални и минимални форми на една логическа функция?2). Покажете всички вьзможни начини за реализиране на функцията НЕ в базисите И-НЕ и ИЛИ-НЕ.3). ИС се характеризират с т.нар. коефициент на натоварване по изход, изразяващ се в максимален брой входове на ЛЕ, които могат да бъдат свързани към изхода на логически елемент от разглежданата схема. Посочете различни начини за преодоляване на ограничението, поставяно от коефициента на натоварване по изход.4). Реализирайте само с една ИС 7400 (4 двувходови елемента И-НЕ) функцията (сума по модул 2).5). Да се синтезира КЛС, реализираща логическата функцияf(x4,x3,x2,x1,x0)=Vm(0,4,8,9,11,12,13,15,16,18,25,26,27,29,31)1,Vm(2,6,20,22,28,30)*

а) в базис И-ИЛИ-НЕ;б) в базис И-НЕ с двувходови елементи;в) в базис И-НЕ с тривходови елементи.Да се анализират отделните реализации.

Автор: С. Иванов, Ю. Петкова, С. Каров

3. Минимизация на единични и системи от булеви функции по метода на Куайн-МакКласки

1999-03-25 12:24:18+02 Методът за минимизация на логически функции чрез карти на Карно (т. нар. “графичен” метод) е неудобен, когато функцията има повече от пет аргумента.Познати са и други методи за минимизация, които са приложими при по-голям брой логически променливи - метод на Куайн, метод на Нелсон, Харвардски метод, метод на Куайн-МакКласки. Предимствата на тези методи се състоят в това, че те са удобни за машинна обработка, тъй като подлежат на алгоритмизация, а броят на аргументите на функциите е практически неограничен.В настоящото пособие се разглежда методът на Куайн-МакКласки.1. Минимизация на единични функции.Процедурата за минимизация на ЛФ по метода на Куайн-МакКласки се разделя на два основни етапа:- Първи етап - състои се в едновременната обработка на всички минтерми, влизащи в СДНФ на зададената функция, с цел намирането на пълното множество от простите й импликанти;

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

Първият етап се осъществява, като се изпълнява следната последователност от действия:1). Функцията се представя в СДНФ.2). Съставя се таблица на всички единични и неопределени точки на функцията f(x1, x2, ..., xn), разделени на класове S0, S1, ..., Sn където Si е клас с i на брой аргументи, равни на 1 (и с n-i аргументи, които са равни на 0). Под единична (неопределена) точка се разбира набор от стойностите на всички аргументи, за които функцията има стойност 1 (или *).Срещу всеки набор в таблицата се записва съответната стойност на функцията - 1 или *.

3). Сравнява се всеки набор от клас Si с всеки набор от клас Si+1 за всички i в диапазона [0, n-1]. За двойки, различаващи се в наборите по стойността само на една променлива xj , се образуват нови точки (импликанти), обединяващи (покриващи) и двете точки. Новите точки приемат неопределена стойност (-) за променлива xj, като останалите променливи запазват значенията си. Новите точки се отделят в клас S'i, а точките, от които се получават, се отбелязват с някакъв белег, например v. За всяка нова точка в колонката за стойността на функцията се записва 1, ако поне една от точките, участвали в нейното образуване, има единична стойност. В противен случай (когато и за двете точки стойността на функцията е * , т.е. неопределена) неопределена остава стойността на функцията и за новополучената точка.При сравняването на единствената точка от клас S0 с единствената точка от клас S1 се вижда, че те се различават само по стойността на x2. Резултатът е нова точка от клас S'0 0-00 със стойност на функцията за тази точка *. И двете точки, участвали в сравнението и формирали нова точка, се отбелязват с v.След това всеки набор от клас S1 (в случая той е единствен) се сравнява с всеки набор от клас S2. При сравнението на единствения набор от клас S1 с първия набор от клас S2 се вижда, че те се различават само по стойността на x0. Резултатният набор е 010-, а за стойност на функцията се записва 1. И двата набора, участвали в сравнението и формирали нов набор, се отбелязват c v.

Следва сравняване на набора от клас S1 с втория набор от клас S2. Tе се различават по стойностите на 3 от аргументите, следователно не могат да формират нов набор. Не се отбелязва нито един от наборите, участвали в това безрезултатно сравнение.Процедурата продължава, докато се извършат всички възможни сравнения.Ако се направи аналогия с процеса на минимизация с карта на Карно, то тази стъпка е еквивалентна на определянето на всички възможни конфигурации от по две съседни клетки със стойност на функцията 1 или *.4). Стъпка 3 се повтаря за образуване на класовете S"i въз основа на S'i и S'i+1. Променлива с неопределена стойност (-) в сравняваните точки запазва своята неопределеност и в новите точки.На базата на класовете S"i и S"i+1 се образуват класовете S'''i.Процесът продължава, докато е възможно сравняване на точките. В случая следващо сравнение е невъзможно.Ако се направи аналогия с процеса на минимизация с карта на Карно, то тази стъпка е еквивалентна на определянето на всички възможни конфигурации от по 4 (8,16,32,...) съседни клетки със стойност на функцията 1 или *.5). Точки (импликанти), които не са взели участие в процедурата на сравняване (нямат белег v), а също така се определят със стойност на функцията 1, образуват множеството на простите (главни) импликанти. Самият вид на простите импликанти се оформя като произведение от аргументите за съответната точка, в което променливата се записва без отрицание, ако има стойност 1, с отрицание - при стойност 0 и не се включва в произведението при неопределена стойност.Отделените прости импликанти за разглежданата примерна функция са:

От определения пълен набор прости импликанти трябва да бъдат отделени съществените прости импликанти, което е обект на втория етап от процедурата.Ако отново бъде направена аналогия с процеса на минимизация с карти на Карно, то първият етап е еквивалентен на определянето на всички възможно най-големи конфигурации от съседни клетки със стойност на функцията 1 или *. Вторият етап е еквивалентен на определянето на минималния брой от тези конфигурации.Вторият етап на процеса на минимизация по метода на Куайн-МакКласки включва следните стъпки:1). Построява се т.нар. импликантна матрица (таблица на покритията). Колонките на тази матрица се обозначават с единичните набори (минтермите) на функцията. Редовете на матрицата се обозначават с определените на първия етап прости импликанти. За всяка проста импликанта във всеки ред се отбелязват минтермите, които тя покрива.2). Отделяне на съществените прости импликанти, ако е възможно.Ако някакъв минтерм се покрива от една единствена проста импликанта, то тази проста импликанта е съществена. Заедно с нея от таблицата отпадат всички минтерми, които се покриват от тази съществена проста импликанта.В примера такава импликанта е , която единствена покрива минтерма 0101. Тази импликанта, определена вече като съществена, покрива и минтерма 1100, поради което той отпада от импликантната матрица.3). Оформя се нова импликантна матрица.4). Простите импликанти се сравняват по редове. Редът, който се покрива от друг ред, може да бъде изключен от таблицата на покритията.В примера няма редове, които покриват други редове.

Простите импликанти се сравняват и по стълбове. Стълб, който покрива друг стълб, може да бъде изключен от импликантната матрица. Ако няколко стълба са идентични, от таблицата на покритията могат да бъдат изключени всички с изключение на един, който и да е той.В примера няма стълбове, които се покриват от други стълбове.5). Ако изпълнението на стъпка 4 е довело до някаква промяна в импликантната матрица, построява се нова импликантна матрица.6). Повтарят се стъпки 2, 3, 4, 5, докато това е възможно.В разглеждания пример това не е възможно.7). Определя се минимално покритие на таблицата, т.е. минималният брой прости импликанти, които заедно покриват всички останали стълбове на матрицата. Възможно е да бъдат получени няколко минимални покрития, което означава, че функцията има няколко равностойни минимални дизюнктивни нормални форми.В разглеждания пример са възможни 4 минимални покрития на таблицата:

8). Записват се всички равностойни МДНФ на функцията, в които участват отделените съществени прости импликанти.В случая те са 4:

2. Минимизация на системи от булеви функции.Логическите схеми с повече от един изход се описват със система от ЛФ.

В случая този преобразувател на n-разряден входен набор в r-разряден изходен набор се описва със система от r логически функции.В общия случай всяка функция зависи от различен брой променливи, но разглеждайки променливите, от които дадена функция не зависи, като несъществени, винаги може да се счита, че всяка функция от системата зависи от всички входни променливи. Оттук и задаването на системата от функции може да се осъществи по всеки от познатите начини, като за всеки набор на входните променливи се записват стойностите на всяка функция от системата.Задачата за най-проста реализация на логическата схема, описвана от система от функции, се различава в някои характерни детайли от описаните дотук решения на тази задача за една единствена функция. Преди всичко възможно е в МДНФ на няколко функции от системата да се среща една и съща импликанта. В съответната схема тази проста импликанта се реализира с единствен логически елемент, чийто изход се използва многократно. (Тук трябва да се следи за непревишаване на коефициента на натоварване по изход на този логически елемент.) По-нататък, като се има предвид тази възможност, в процеса на преобразуване на логическите функции от системата трябва да има стремеж към получаване на повече такива импликанти, които при това принадлежат на възможно по-голям брой функции от системата.Възможни са три различни подхода за реализация на многоизходни схеми, които илюстрират казаното.

ПЪРВИ ПОДХОД. За всяка функция от системата, разглеждана самостоятелно, се получава МДНФ. При синтеза на схемата еднаквите импликанти се реализират еднократно.Пример: Зададена е системата от три логически функции:

Да се синтезира схемата, реализираща тези функции.Всяка функция поотделно се минимизира чрез карта на Карно.

Схемата, синтезирана в базис И-ИЛИ-НЕ, е показана на фиг.3.1.

Изходите на елементите, реализиращи импликантите x2x1 и се използват съответно двукратно и трикратно, тъй като x2x1 участва в fa и

fb, а участва и в трите функции.ВТОРИ ПОДХОД: Отделя се обща подфункция , която приема стойност 1 за даден набор, само в случай че всички функции приемат стойност 1 за този набор. Всяка функция от системата ще се реализира по следната схема (фиг.3.2.):

Следователно fi* се получава от fi, като наборите, за

които Ф приема стойност 1, се считат за неопределени. Намират се МДНФ на Ф и системата от fi

* непълни функции за всяка поотделно.Този подход се прилага към разгледания пример.

След минимизацията се получава:

Схемата, реализираща тези логически изрази, има вида, показан на фиг.3.3.

Като се направи сравнение между схемата на фиг.3.2. и схемата на фиг.3.3., се вижда предимството на втория подход - необходимите за реализация логически елементи са по-малко на брой.Този подход е подходящ, когато функциите се припокриват в значителна степен.Тъй като при разгледаните два подхода за минимизация се използват картите на Карно, то е валидно ограничението, което те налагат за броя на аргументите на логическите функции - този брой не може да надвишава пет.ТРЕТИ ПОДХОД: Системата от функции се опростява като цяло по метода на Куайн-МакКласки.

Подходът ще бъде илюстриран със същия пример, както и първите два.Процедурата за минимизиране на система от булеви функции се състои от два етапа:1) Получаване на множеството от всички възможни многоизходни общи импликанти;2) Определяне на множеството от минимален брой общи многоизходни прости импликанти за реализиране на системата от функции.Първият етап включва следните стъпки:1). Образуване на таблицата от всички набори (точки) от аргументи, за които f1, f2,... fm имат единични или неопределени стойности. Пълното множество от тези набори се разделя на подмножества S0, S1,... , Sn, където Si съдържа всички такива набори, в които i на брой променливи имат стойност 1. Всеки набор е съпроводен с признак (функционален идентификатор), който показва кои функции приемат за този набор стойност 1, т.е. на кои функции принадлежи този набор. Например наборът 1100 има признак 110, което означава, че първата и втората функция приемат стойност 1 за този набор.

2).Отеделните набори от тази таблица се сравняват, за да се получат класовете S'

i, така както при единични функции. В резултат на успешно сравняване се получава нов функционален идентификатор, който представлява поразрядно логическо произведение от функционалните идентификатори на сравняваните набори. Ако се получи нулев функционален идентификатор, то резултатът от

сравняването на наборите няма да бъде проста многоизходна импликанта и този ред може да бъде изключен от таблицата. Ако в резултат от успешно сравнение се получи признак, който е идентичен с признака на един от двата или и на двата сравнявани набора, то съответният набор (набори) не се явява проста многоизходна импликанта, отбелязва се с някакъв знак (например v) и по-нататък може да бъде изключен от таблицата.Прилагайки тези правила, се получава таблицата за S'

i.3). Сравняването на наборите продължава, докато е възможно. Наборите, които не са отбелязани, дават множеството от простите многоизходни импликанти.При следващото сравняване на наборите се получава таблицата за S"

i.Очевидно е, че в разглеждания пример не е възможно следващо сравняване.Множеството от многоизходни прости импликанти е:

- участва във функциите fa, fb, и fc;- участва във функциите fa, fb, и fc;- участва във функциите fa, fb, и fc;

- участва във функциите fa и fb;- участва във функциите fb и fc;

- участва във функциите fa и fb;- участва във функцията fb.

Вторият етап от процедурата се отнася до определянето на минимален брой съществени прости импликанти за реализиране на системата от функции. Като инструмент се използва импликантна матрица. Тя се построява за единичните набори на функциите (включително и за непълно определените функции), при това за всяка функция се отделя група от колонки. За да се постави отметка за покритие, необходимо е импликантата, озаглавяваща реда, освен да покрива даден минтерм и да принадлежи на функцията, в чиято група е този минтерм. Принадлежността на импликантите към дадена функция се определя от функционалния идентификатор.Импликантната матрица се обработва по същия начин, както и при единична функция.За разглеждания пример импликантната матрица има следния вид:

За импликантите 11 - 0, - 11 - и 11 - - няма отметки за функцията fc, тъй като те не й принадлежат, съгласно функционалните идентификатори. Импликантите 11 - 1 и 11 - - не принадлежат на функцията fa.От таблицата се вижда, че импликантата 0-10 единствена покрива минтерма 0010, следователно тя задължително трябва да участва в минималната форма на системата от функции и затова се определя като съществена. Тъй като признакът за тази импликанта е 111, то тя ще участва в изразите и за трите функции. Тази импликанта покрива и минтерма 0110, поради което стълбовете на този минтерм отпадат от таблицата.Импликантата 11-0 е съществена за функцията fa, тъй като тя единствена покрива минтерма 1100.Поради това този стълб, а също и стълбът 1110 отпадат от таблицата.Тази импликанта участва и в fb (съгласно функционалния идентификатор) и затова тя може да се определи като съществена и за тази функция. Поради тази причина от таблицата за fb

ще отпадне стълбът 1110.Стълбът 1111 за функцията fa се покрива от стълба 0111, поради което стълбът 0111 отпада от таблицата за тази функция.От таблицата за fa остава единствено стълбът 1111, който се покрива от две импликанти: -111 и -11-. Коя от тях ще бъде избрана за съществена, зависи от определянето на съществените импликанти за другите две функции.

Импликантата 11-1 единствена покрива стълба 1101 за функцията fc, следователно тя трябва да бъде определена като съществена за тази функция. Поради тази причина от таблицата за fc отпада стълбът 1111.Тази импликанта участва и в fb (съгласно функционалния идентификатор) и може да бъде определена като съществена и за тази функция. Поради тази причина от таблицата за fb

отпада стълбът 1111.След отделянето до този момент на съществените прости импликанти и отпадането на стълбовете, които ги покриват, от таблицата на покритията за функцията fa остава единствено стълбът 1111, за функцията fb - стълбът 0111 и за функцията fc - стълбът 0111. Тези стълбове се покриват от различни прости импликанти за всяка функция, но единствената проста импликанта, която участва и в трите функции, е -111, следователно тя трябва да бъде определена като съществена.В резултат се получават следните изрази за системата от логически функции fa, fb и fc:

Схемата, реализираща тази функция, има вида, показан на фиг.3.4.

Въпроси и задачи.1). Дефинирайте:- проста импликанта;- съществена проста импликанта.2). Направете сравнение между метода за минимизация на ЛФ с карти на Карно и метода на Куайн-МакКласки. Какво е общото и различното между тях?3). Намерете МДНФ на функциите:

4). Намерете минималните двустъпални схеми за следните системи от функции:

5). На фиг.3.5. е показана таблица на покритията за непълната функция на 4 променливи f(x3, x2, x1x0). Попълнете празните заглавни квадратчета.

6). Възможно ли е таблицата от фиг.3.6. да бъде таблица на покритията на напълно определена логическа функция? Обосновете отговора си.

Автор: С. Иванов, Ю. Петкова, С. Каров

4. Декомпозиционен синтез 1999-03-22 10:49:13+02

Редица логически функции могат да бъдат представени по няколко различни начина като функция от функция. Представянето на една логическа функция чрез други логически функции се нарича декомпозиция.Всяка логическа функция може да се представи чрез подфункции. Когато тези подфункции са елементарни, това представяне се нарича разлагане по Шенон. Например разлагане относно ще изглежда така:

т.е.

Разлагането относно всички променливи изглежда по следния начин:

От това разлагане се получава СДНФ.Разлагането по Шенон стои в основата на функционалната декомпозиция.Пример: Дадена е функцията на 4 променливи

Логическият израз се преобразува чрез законите, теоремите , аксиомите на алгебрата на логиката:

Полага се

Тогава Функцията f се преобразува във функция на 3 променливи x3, x2 и f1, като третата променлива f1 също е логическа функция.От различните видове декомпозиции интерес представляват тези, които дават възможност сложна логическа функция да се представи чрез логически функции на по-малък брой променливи, например:

където с y1, y2, ..., yq са означени онези аргументи xi, от които зависи функцията Ф1, а със z1, z2, ..., zp - аргумeнтите xj, от които зависи функцията Ф2. Първите се наричат свързани, а вторите - свободни аргументи.Ако със Z={z1, z2, ..., zp} се означи множеството от свободни аргументи, с Y={y1, y2, ..., yq} - множеството от свързани аргументи, а с X={x1, x2, ..., xn} - множеството от всички аргументи на функцията f, могат да бъдат записани следните равенства:X=YUZ (множеството X представлява обединение на множествата Y и Z);f(X)=Ф2(Ф1, Z)и Ф1=Ф1(Y).Този частен и най-прост случай на декомпозиция се среща в два варианта:а) Множествата Y и Z нямат общи елементи (сечението им е празното множество), т.е. не съществуват аргументи xk, които едновременно да попадат и сред свободните, и сред свързаните. Съответната декомпозиция се нарича проста разделителна декомпозиция.б) Множествата Y и Z имат общи елементи, съществуват аргументи xk, които едновременно попадат и сред свободните, и сред свързаните. Съответната декомпозиция се нарича проста неразделителна декомпозиция.Декомпозицията се определя относно свободните аргументи.1. Проста разделителна (непресичаща се) декомпозиция.Функцията f(x1, x2, ..., xn), допускаща проста разделителна декомпозиция (ПРД), може да бъде записана във вида:f(x1, x2, ..., xn)=Ф2(Ф1(x1, x2, ...xs), (xs+1, ..., xn)Множеството от свързаните аргументи Y се състои от Y={x1, x2, ..., xs}. Множеството от свободните аргументи Z се състои от Z={xs+1, xs+2, ..., xn}.Сечението на двете множества е празното множество, т.е. те не се пресичат:

Представена графично, ПРД за функцията f(x1, x2, ..., xn) изглежда както е показано на фиг.4.1.Предимствата на това представяне на функцията чрез ПРД са очевидни: и Ф1, и Ф2 са функции на по-малко на брой променливи, отколкото f; Ф1 може да бъде реализирана като функционално устройство и евентуално да се използва многократно.Въпросът за ПРД ще бъде изяснен на базата на следния пример:

Да се провери за декомпозируемост логическата функция на 4 променливиf=Vm(2,3,6,7,9,11,14,15)Функцията се представя с карта на Карно (фиг.4.2а):

Следва разлагане на функцията по Шенон по отношение на x3 и x2. Получава се:

От първия ред на картата на Карно, който представлява модифицирана (“изтеглена”) карта за функцията f(0, 0, x1, x0) (фиг. 4.2б), се определя нейната стойност:f(0,0,x1,x0)=x1

Аналогично от втория, четвъртия и третия ред (фиг.4.2в,г,д) се определят:f(0,1,x1,x0)=x1

f(1,0,x1,x0)=x1

f(1,1,x1,x0)=x0

Функциите f(0, 0, x1, x0)=x1, f(0, 1, x1, x0)=x1 и f(1, 0, x1, x0)=x1 могат да бъдат означени като Ф1(x1, x0), а функцията f(1, 1, x1, x0)=x0 - като Ф2(x1, x0). Очевидно не е възможно представяне на функцията f(x3, x2, x1, x0) във вид за ПРДf(x3,x2,x1,x0)=Ф2(Ф1(x1,x0),x3,x2),тъй като бяха определени две различни функции за аргументите x1 и x0, съответно Ф1(x1, x0)=x1 и Ф2(x1, x0)=x0. Следователно за функцията f(x3, x2, x1, x0) не е възможна ПРД относно свободните аргументи x3 и x2.Следва втори опит, при който в качеството на свободни аргументи се избират x1 и x0.От първия стълб на картата на Карно се определя:От втория стълб се определя:От четвъртия стълб се определя:От третия стълб се определя:

Ако функцията се определи като Ф1(x3,x2), а

функцията - като , то функцията f(x3, x2, x1, x0) може да бъде представена във вида:

т.е. тя допуска ПРД за свободните аргументи x1 и x0.Записът на функцията Ф2(Ф1, x1, x0) представлява нейната СДНФ. Тази функция трябва да бъде минимизирана, за да се синтезира схемата, която ще я реализира.

След минимизация с картата на Карно се получава:

Схемата, реализираща функцията, има структурата, показана на фиг.4.3. Тази схема може да бъде реализирана в произволен базис. Реализацията в базис И-ИЛИ-НЕ е показана на фиг.4.4.

Ако функцията бъде определена като , Ф1(x3, x2) а функцията

бъде определена като Ф1(x3, x2), то отново е възможно представяне на функцията f(X) във вида:

След минимизация се получава

Схемата, реализираща тази функция, е показана на фиг.4.5.Може да бъде направено следното обобщение: за да бъде възможна проста разделителна декомпозиция за дадена функция, тя трябва да може да бъде представена във вида

където β1(Z) е логическото произведение от свободните аргументи, за което функцията f(X) може да бъде определена като Ф1(Y); β0(Z) е логическото произведение от свободните

аргументи, за което функцията f(X) може да бъде определена като ; е логическото произведение от свободните аргументи, за което функцията f(X) може да бъде определена като логическа 1 и βY(Z) е логическото произведение от свободните аргументи, за което функцията f(X) може да бъде определена като логическа 0 .Това правило е дефинирано през 1959г. от сътрудника на Харвардския Университет Ашенхърст. То може да бъде изказано и по друг начин:Проста разделителна декомпозиция от вида f(x1, x2, ..., xn)=Ф2(Ф1(x1, x2, ..., xs), xs+1, ..., xn) е възможна само тогава, когато получените 2n-s подкарти на Карно за свързаните аргументи x1, x2, ..., xs са запълнени по един от следните четири начина:- само с 0;- само с 1;- в съответствие с функцията Ф1;

- в съответствие с функцията инверсия на .В случай на непълно определена логическа функция възможностите за декомпозиране трябва да се проверят за всяка от реализиращите я пълни функции, като подкартите на Карно се доопределят така, че да се удовлетворяват изискванията за ПРД.Да проверим допуска ли ПРД следната непълно определена ЛФ:f=Vm(1,2,3,7,14,15)1, Vm(6,10)x

Представяме функцията с карта на Карно (фиг.4.6.).Проверките се правят за една, две и т.н. до (n-1) свободни променливи.Започваме с една свободна променлива.1). Нека x3 е свободна променлива.

От получените под-карти (фиг.4.7.) се вижда, че нито една от двете под-функции не може да се

до-определи така, че да се удо-влетворяват изискванията за декомпозируемост.2). Нека x2 е свободна променлива.

Подкартите са показани на фиг.4.8.Отново е невъзможна ПРД.

Правим проверка за декомпозируемост на функцията при два свободни аргумента.1). Нека x3 и x2 са свободни аргументи.Всички редове на картата на Карно представляват “изтеглени” подкарти за различните стойности на свободните аргументи x3 и x2. Вижда се, че четирите подфункции не могат да бъдат доопределени така, че да удовлетворяват условията за ПРД.2). Свободни аргументи са x1 и x0.Стълбовете на картата на Карно представляват “изтеглените” подкарти за различните стойности на x1 и x0.Отново е невъзможна ПРД.3). Свободни аргументи са x3 и x0.Подкартите са следните:

Не е възможно доопределяне на подфункциите, което да удовлетворява изискванията за ПРД.4). Свободни аргументи са x2 и x1.

Отново е невъзможна ПРД.5). Нека x2 и x0 са свободни аргументи.

ПРД е невъзможна.6). Правим проверки при свободни аргументи x3 и x1.

Ако и двете неопределени стойности доопределим като 1, можем да приемем, че първата подкарта е запълнена съгласно функцията , втората е запълнена само с

единици, третата - само с нули, а четвъртата - съгласно функцията . Условията за декомпозируемост се удовлетворяват, следователно е възможна ПРД от вида f(x3, x2, x1, x0)=Ф2(Ф1(x2, x0), x3, x1), т.е.

След минимизация се получава:

Схемата, реализираща тази функция, има вида, показан на фиг.4.9.Процедурата за търсене на ПРД може да бъде обобщена и описана по следния начин:1).Нанасяне на функцията в карта на Карно.2).Избиране на свободни аргументи (от един до n-1 на брой).3).Проверка на подкартите (след доопределяне) за удовлетворяване поне едно от условията за декомпозируемост.4).Ако условията за декомпозируемост се удовлетворяват, се преминава към т.5)., а иначе към т.2).5).Запис на получената декомпозирана форма и минимизация.При наличието на достатъчно опит проверките за декомпозируемост до ПРД могат да се извършват върху самата карта на Карно за функцията, без да се извличат подкарти. В общия случай броят на необходимите проверки нараства твърде бързо.2. Проста неразделителна (пресичаща се) декомпозиция (ПНД).При неразделителната декомпозиция сечението на множествата на свързаните и свободните аргументи не е празното множество.YЗZ№0.Това означава, че някои от аргументите участват и в двете множества.YЗZ=W.W={w1, w2, ..., wr} - множество от аргументите, които са едновременно и свободни, и свързани;X=YUZUWФункцията f(x1, x2, ..., xn) допуска проста неразделителна декомпозиция във вида:f(x1,x2,...,xn)=Ф2(Ф1(w1,w2,...,wr,y1,y2,...,yq),w1,w2,...,wr,z1,z2,...,zp)ако картата на Карно, редовете на която съответстват на комбинациите от стойностите на свързаните променливи w1, w2, ..., wr, y1, y2, ..., yq, може да бъде разделена на подкарти, редовете на които съответстват на комбинациите от стойностите на общите променливи , така че да удовлетворяват условията за ПРД.С други думи, подкартите се проверяват за ПРД. Ако тя е възможна, възможна е и ПНД.Представена графично, ПНД за функцията f(x1, x2, ..., xn) изглежда по следния начин (фиг.4.10):Пример: Да се провери възможна ли е ПНД за функциятаf=Vm(4,7,11,12,15); n=4Представяме функцията с карта на Карно.Нека Y={x1, x0}; Z={x3, x2, x0}YЗZ=W={x0}

Построяваме нова карта на Карно, чиито редове са означени с комбинациите от свързаните аргументи, а стълбовете - с комбинациите от свободните аргументи.На базата на “абсурдните” комбинации (x0=0 и x0=1) се получава карта на непълно определена функция. Трябва да се провери дали тази функция допуска ПРД.Доопределяме функцията по начина показан на фиг.4.11.За комбинациите от свободните аргументи x0, x3, x2 - 000, 010 и 100 подкартите са запълнени само с нули. Приемаме, че за останалите комбинации от свободните аргументи - 001, 011,

110, 101 и 111 подкартите са запълнени съгласно функцията . При това доопределяне функцията допуска ПРД, а следователно и ПНД от вида:

Минимизираме тази функция.Получава се:

Структурната схема, реализираща тази функция, е показана на фиг.4.12., а принципната схема - на фиг.4.13.

Разбира се, това е един от вариантите за доопределяне на функцията при този избор на свободни и свързани аргументи. Вероятно при друго доопределяне или при избор на други свободни и свързани аргументи би се получил по-добър резултат. Дали това е така, трябва да се провери.За съжаление не винаги усилията за търсене на декомпозиционни форми на функциите са напълно оправдани. В някои случаи може да се окаже, че МДНФ на функцията се реализира с по-малък разход на логически елементи, отколкото декомпозиционната й форма.Ако дадена функция не допуска нито ПРД, нито ПНД, се преминава към търсене на многократна (непроста) декомпозиция.3. Многократна (k-кратна) разделителна декомпозиция.Функцията f(x1, x2, ..., xn) допуска k-кратна разделителна декомпозиция, ако може да бъде представена във вида:Представена графично, k-кратната разделителна декомпозиция за функцията f(x1, x2, ..., xn) изглежда както е показано на фиг.4.14.Процедурата за търсене на k-кратна разделителна декомпозиция се състои от следните стъпки:1). Избират се n-s свободни аргументи.2). Построяват се 2s подкарти за функциите на тези аргументи.3). Проверява се условието за k-кратна декомпозируемост на функцията - наличие на не повече от 2k различни подкарти, построени в съответствие с т.2. фиг.4.14.4). Еднаквите карти се обединяват в стълбове на матрица, редовете на която представляват възможните комбинации от стойности на свободните аргументи, като едовременно с това стълбовете се кодират със стойностите на новообразуваните функции Ф1, Ф2, ..., Фк. (Матрицата се построява по принципа на карта на Карно.)5). Въз основа на построената матрица се определя след минимизация функцията Фk+1.

6). На базата на същата матрица се построяват карти за Ф1, Ф2, ..., Фk.7). Реализира се схемата.Пример: Да се потърси двукратна разделителна декомпозиция за функциятаf(x3, x2, x1, x0)=Vm(7,8,9,10,11,13,14,15)Картата на Карно за функцията е показана на фиг.4.15.1). Избираме x3 и x2 - свободни аргументи, и x0 - свързани аргументи.2). Построяваме 22 подкарти за различните комбинации на свързаните аргументи. Това са “изтеглени” подкарти за различните комбинации от x1 и x0, които означаваме по следния начин:

3). Получаваме три различни подкарти, следователно се удовлетворява изискването броят им да бъде не по-голям от 2k = 22.4). Различните подкарти се кодират с помощта на функциите Ф1 и Ф2 по следния начин:

Начинът на кодиране е произволен и той се отразява върху крайния резултат.Построява се картата на Карно, редовете на която са означени с комбинациите x3x2, а стълбовете - с Ф1Ф2.Комбинацията Ф1Ф2=10 не се използва, затова в картата тази колонка се запълва с x.5). След минимизация за функцията f(x3,x2,x1,x0) се получава

6). Построява се картата за определяне на функциите Ф1 и Ф2, съобразно с кодирането на Ф1 и Ф2, направено в т.4.За функцията Ф1(x1, x0) се получава:Ф1=x1x0

За функцията Ф2(x1, x0) се получава:

7). Структурната схема за реализиране на функцията има вида, показан на фиг.4.16.Въз основа на получения логически израз за f(X)=Ф3(Ф1, Ф2, x3, x2) се синтезира принципната схема (фиг.4.17.).

Разбира се, съществува и многократна неразделителна декомпозиция, но тя няма да бъде разглеждана в това пособие.Въпроси и задачи.1). Дайте определение за функционална декомпозиция.2). Какво налага използването на функционалната декомпозиция?3). Какви видове функционална декомпозиция познавате?4). Намерете проста разделителна декомпозиция за следните функции на четири аргумента:а). fa=Vm(0,2,4,6,7,10,13,15)б). fb=Vm(2,3,4,5,9,10,11,12,15)в). fc=Vm(1,4,7,8,11,14)1; Vm(2,9)*

г). fd=Vm(1,2,3,7,14,15)1; Vm(6,10)*

5). Намерете проста неразделителна декомпозиция за следните функции:а). fa=Vm(4,7,11,12,15); (n=4)б). fb=Vm(1,2,5,6,8,10,13); (n=4)в). fc=Vm(1,3,4,6,11,15,16,18,21,23,28,30); (n=5)

Автор: С. Иванов, Ю. Петкова, С. Каров

5. Синтез на функционални логически възли. Синтез на сложни комбинационни логически схеми

1999-03-18 15:06:16+02 1. Преобразуватели на кодове.В цифровата техника се използват различни кодове. За да се осигури съвместната работа на цифровите устройства, са необходими схеми, които да преобразуват един код в друг.Тези схеми представляват логически устройства от комбинационен тип и се наричат преобразуватели на кодове. Те имат m входа и n изхода и преобразуват m-разрядна входна комбинация, съставена по един код, в n-разрядна изходна комбинация, носеща същата информация, но съставена по друг код (фиг.5.1.).В практиката много широко се използват преобразувателите от някакъв код в десетичен код. Например: преобразувател от двоично-десетичен в десетичен код; от код на Джонсън в десетичен код; от двоично-десетичен код с излишък 3 в десетичен код и т.н. Под десетичен код се разбира 10-разряден позиционен код, при който само един от разрядите за различните комбинации приема стойност 1 (или 0, ако е избрано активно ниво 0), а всички останали - 0 (респективно 1).Синтезирането на преобразувателите на кодове се осъществява по класическите начини за синтез на комбинационни логически схеми.Пример: Да се синтезира преобразувател от двоично-десетичния (2/10) код 8-4-2-1 в 7-сегмeнтен код на цифрова индикация.Трябва да се синтезира КЛС с 4 входа, на които постъпва входният 2/10 код и 7 изхода, на които се получава изходният код. Изходите са означени така, като и сегментите на 7-сегментния индикатор - a,b,c,d,e,f,g (фиг.5.2.).Приема се, че даден сегмент свети, ако към него е подадено напрежение с ниво, съoтветстващо на логическа 1.Съставя се таблица на истинност, описваща функционирането на преобразувателя на код, като се възприема следното изобразяване на цифрите от 0 до 9 чрез 7-сегментния индикатор:

Всички функции са непълно определени, тъй като на входа на схемата не трябва да постъпват комбинациите 1010, 1011, 1100, 1101, 1110 и 1111 ( това са така наречените “забранени комбинации” в 2/10 код).

За всяка от изходните функции трябва да бъде намерена МДНФ. Минимиза-цията се извършва чрез карти на Карно.

Схемата се реализира в базис И-ИЛИ-НЕ, при това елементите И и ИЛИ са двувходови (фиг.5.3.). За целта, прилагайки законите на алгебрата на

логиката, ЛФ на изходите се записват в следния вид:

2. Шифратори.Шифраторите (понякога се наричат кодери) представляват преобразуватели от унитарен (позиционен) код в двоичен код и в общия случай имат 2n входа и n изхода (фиг.5.4.). На изходите на схемата се получава двоичният код на номера на входа, към който е подадено активно ниво (0 или 1).В случай че на няколко входа има подадено активно ниво, то като резултат, на изходите се получава двоичният код на най-високоприоритетния активиран вход. Шифраторите от този тип се наричат приоритетни шифратори.Пример: Да се синтезира 4-разряден приоритетен шифратор, като с най-висок приоритет е входът x3, а с най-нисък - x0. Активното ниво на входовете е 0. Да се предвиди и допълнителен изход, който да показва, че няма нито един активен вход.Устройството има 4 входа, следователно трябва да има n=log24=2 изхода (фиг.5.5.).Таблицата на истинност на този шифратор е следната:Оттук, след минимизация, се получават логическите функции за изходите:

На базата на тези логически изрази се реализира схемата на шифратора. Тя е пoказана на фиг.5.6.3. Дешифратори.Дешифраторите (понякога се наричат декодери) представляват комбинационни логически схеми, които в общия случай имат n входа и 2n изхода (фиг.5.7. ). Те представляват един вид преобразуватели на кодове - преобразуват n-разряден двоичен код в унитарен (позиционен) код. Казано с други думи, те служат за дешифриране на n-разрядни двоични комбинации, като за всяка комбинация на входните сигнали (входното n-разрядно число) сигнал 1 (0) се пoлучава само на един от изходите - на този, чийто индекс представлява десетичният еквивалент на подадената на входа двоична комбинация.Действието на дешифратора се описва от следните логически изрази:

От тези изрази следва, че дешифраторите могат да се реализират с 2n логически елементи И, всеки от които е n-входов. Такива дешифратори се наричат линейни, едностъпални или матрични.При n=3 тези логически изрази се отнасят за 3-разряден пълен дешифратор. Неговото действие може да бъде илюстрирано със следната таблица на истинност или с логическите изрази:

Този 3-разряден деши-фратор може да бъде реализиран като линеен с осем 3-входови логически елемента И (фиг.5.8.).Дешифраторите, които имат всичките 2n изходи, се наричат пълни. В случаите, когато са необходими само част от изходите, т.е. когато трябва да се дешифрират само част от наборите на входните променливи, се изграждат непълни дешифратори.При по-голям брой на изходите линейните дешифратори, изградени от логически елементи, имат два недостатъка: необходимост от n-входови логически елементи и голям коефициент на натоварване на изходите на елементите, от които се получават входните сигнали.Тези недостатъци могат да се избегнат, ако се използват общи логически елементи за формиране на частични конюнкции и дешифраторите се изградят като пирамидални. Пирамидалните дешифратори се реализират с двувходови логически елементи И на базата на двуразряден дешифратор. При увеличаване на разрядите за всеки

от тях се добавя ново стъпало, поради което схемата е получила названието си пирамидална. Например изходните логически функции на 3-разрядния дешифратор могат да се представят по следния начин:

а в общия случай

Схемата на триразрядния пирами-дален дешифратор е показана на фиг.5.9.Разбира се, въпросът с натоварването на елементите по изход не е решен и при по-голямо n или трябва да се използват елемeнти с голям коефициент на натоварване, или пък повторители.4.Мултиплексори.Функцията за избор на данни от един от няколко източника се изпълнява от устройства, наречени мултиплексори. Мултиплексорите представляват КЛС, които имат n адресни (управляващи) входове, 2n

информационни входове и един изход. Функционалната схема на мултиплексора е показана на фиг.5.10.Към изхода на схемата се превключва този от информационните входове, чийто индекс (номер) представлява десетичният еквивалент на двоичната комбинация, подадена на адресните входове (фиг.5.11).Пример: Да се синтезира мултиплексор 4:1. Да се предвиди и вход за разрешаване работата на устройството.4:1 означава, че мултиплексорът има 4 информационни входа.Оттук може да се определи и броят на адресните входове чрез зависимосттаn=log24=2; n - брой на адресните (управляващите) входове.Функционалната схема на устройството има вида, показан на фиг.5.12.x0,x1,x2,x3 са информационните входове;A0,A1 са адресните входове;xp е разрешаващият вход;Y е изходът.Мултиплексорът работи при нулево ниво на разрешаващия вход. Ако на този вход е подадено ниво логическа 1, на изхода на мултиплексора се получава 0 независимо от информацията, подадена на останалите входове (информационни и адресни).Таблицата на истинност, описваща работата на мултиплексора, има следния вид:

Оттук може да бъде изведен и логическият израз, по който ще бъде реализирана схемата:

Схемата на този мултиплексор, реализирана в базис И-НЕ, е показана на фиг.5.13.

5. Демултиплексори.Демултиплексорите са комбинационни логически схеми, които имат един информационен вход, n адресни (управляващи) входа и 2n изхода. Те “превключват” информационния вход към този от изходите, чийто индекс представлява десетичният еквивалент на двоичната комбинация, подадена на адресните входове. Функционалната схема на устройството е показана на фиг.5.14.x - информационен вход;A0,A1,...,An-1 - адресни входове;Y0,Y1,...,Y2n-1 - изходи.В интегрално изпълнение не се произвеждат схеми, изпълняващи функцията само на демултиплексори. За целта се използват интегралните схеми на дешифраторите.6. Суматори.Събирането е основна аритметична операция, изпълнявана над числата. Интерпретирайки отделните битове на двоичните числа като логически променливи, могат да се конструират логически схеми за изпълнение на тази операция. Суматорите биват натрупващи (с памет) и от комбинационен тип.Суматор за две n-разрядни двоични числа може да се създаде във вид на комбинационна логическа схема с 2n входа и n+1 изхода (фиг.5.15.).

Най-очевидният подход за създаване на такъв суматор се състои в реализиране на минимален набор от двунивови логически схеми за n+1 изхода. Схемата, получена по този начин, се нарича паралелен суматор. Паралелните суматори дават най-бърза реализация на събирането, тъй като имат само две нива. Но сложността на двунивовите схеми за паралелно събиране бързо нараства с увеличаването на разрядността на числата и се оказва неприемлива дори за напълно реални значения на n. Например за събирането на две 4-разрядни числа (n=4) всяка от изходните функции зависи от 8 логически променливи.Събирането на числата се извършва последователно разряд след разряд, започвайки от най-младшите и отчитайки възникналия пренос към по-старшите разряди (това важи само за позиционните бройни системи).Означаваме двете n-разрядни двоични числа, които участват в операцията, като A=an-1an-

2...a1a0 и B=bn-1bn-2...b1b0. Информацията за преноса в i-тия разряд се представя във вид на бит за пренос Ci , равен на 1, ако има пренос от събирането на (i-1)-те разряди и 0 в противен случай.Тогава операцията, която трябва да се извърши за всеки разряд i се заключава в събирането на трите бита ai, bi и ci, като в резултат се получава i-тият разряд на сумата Si и

пренос към следващия разряд Ci+1. Фактически Ci+1 и Si представляват съответно старшият и младшият разряди в двуразрядната сума на битовете ai, bi и ci, както е показано в таблицата.Функционалната схема на еднобитовия суматор има вида, показан на фиг.5.16.Суматор от този тип се нарича пълен, тъй като се събират съответните битове на двете събираеми и преносът в i-тия разряд.От таблицата на истинност могат да бъдат записани логическите изрази за Si и ci+1.

Схемата на еднобитовия пълен суматор може да бъде реализирана на базата на получените логически изрази. Двата варианта на реализация са показани на фиг.5.17.

Използвайки схемата на 1-битовия пълен суматор, може да се построи схема за събиране на n-разрядни числа, каскадно (последователно) съединявайки n пълни суматора (фиг.5.18.).

Разрядите на двете събираеми се подават на входовете ai и bi, а резултатът се получава на изходите Si. Последният пренос Cn е старшият разряд нa n+1-разрядната сума. Входът за пренос в младшия разряд C0 се явява още един вход за цялата схема. Той позволява да се зададе начално значение на преноса, което е удобно за събиране с многократна точност.Суматорите, изградени по тази схема, се наричат суматори с последователен пренос. Всеки пълен суматор във веригата за разпространение на преносите внася задръжка от две логически нива. Затова крайният пренос Cn, зависещ от най-младшите разряди a0, b0 и c0, преминава през 2n логически нива. Така суматорът с последователен пренос работи n пъти по-бавно от суматора с паралелен пренос, в който има само две нива.Пример: Да се синтезира 8-битов пълен суматор на базата на интегрална схема 7482 (двуразряден пълен суматор).Очевидно за реализация на схемата ще бъдат необходими 4 интегрални схеми, всяка от които ще събира по два разряда от двете събираеми. Преносите ще се предават последователно. Схемата е показана на фиг.5.19.По-подробна информация за суматорите може да се получи от литература [15].

7. Цифрови компаратори.

Цифровите компаратори са схеми, предназначени за сравняване на двоични числа. В общия случай те имат 2n входа (n е броят на разрядите на сравняваните двоични числа) и 3 изхода - за “по-голямо”, за “по-малко” и за “равно”.В резултат от сравнението само на един от изходите се получава1, а на останалите - 0.Очевидно, дори когато n не е много голямо, логическите функции ще бъдат твърде сложни, например при n=4 изходните функции ще зависят от 8 променливи. Това показва, че е удачно синтезиране на компаратори за сравняване на по-малко разрядни числа и предвиждане на допълнителни входове за последователно (каскадно) свързване, към които се подава резултатът от сравняването на предходните разряди.В общия случай функционалната схема на компаратора е показана на фиг.5.20.Пример: Да се синтезира 8-битов компаратор за сравняване на целите положителни числа:A=a7.27+a6.26+a5.25+a4.24+a3.23+a2.22+a1.21+a0.20

иB=b7.27+b6.26+b5.25+b4.24+b3.23+b2.22+b1.21+b0.20

Изходите Y1, Y2 и Y3 се установяват в логическо състояние:Y1=1, ако A > B; Y2=1, ако A = B; Y3=1, ако A < BПърви вариант на реализация - чрез разделяне на четири 2-битови компаратора.Представят се входните променливи A и B във вида:A=a3.26+a2.24+a1.22+a0.20

B=b3.26+b2.24+b1.22+b0.20,където: ai=A2i+1.21+A2i.20; bi=B2i+1.21+B2i.20 за i = 0,1,2,3.От последните зависимости следва, че ai и bi са променливи с по два бита и могат да приемат стойносто от 0 до 3(10).От това представяне се вижда, че 8-битовият компаратор може да се реализира чрез четири 2-битови компаратора ki (i = 0,1,2,3). За нормалното функциониране и последователно свързване на компараторите, всеки от тях трябва да има:- 4 входа (за сравняване на A2i+1, A2i и B2i+1, B2i);- 1 разрешаващ вход (ci) за връзка с по-старшия компаратор ki+1;- 3 изхода (Y1i, Y21, Y3i) - фиг.5.21.Входът ci се свързва с изхода Y2i+1 на по-старшия компаратор ki+1, а изходът Y2i - с входа ci-1 на по-младшия компаратор ki.Действието на компаратора ki е следното:Ако ci=Y2i+1=1, т.е. старшите компаратори показват равенство, то:- ако ai > bi, то y1i=1 и A > B;- ако ai < bi, то y2i=1 и A < B;- ако ai = bi, то y2i=1 и съотношението между A и B се определя от по-младшите компаратори.Блоковата схема на 8-битовия компаратор, съставен от 4 каскадно свързани 2-битови компаратора и от комбинационна схема, има вида, показан на фиг.5.22.

Функционалната декомпозиция свежда задачата до синтез на 4 еднакви двубитови компаратора и синтез на комбинационна логическа схема.Таблицата на истинност на двубитовия компаратор от фиг.5.21. е показана вдясно.Следва минимизация с карти на Карно и представяне на логическите изрази за реализация в базис И-НЕ.

От “наслагването” на картите за Y'1 и Y'

3 се вижда, че , а следователно

.Представяне в базис И-НЕ:

Схемата на двубитовия компаратор е показана на фиг.5.23.

При синтеза на комбинационната схема се съобразяваме, че:- за изходите на всеки компаратор ki е валидно Y1i.Y2i.Y3i=0;- aко някой изход (Y1i или Y2i) на компаратор е в състояние 1 (“разрешен” по ci=1), то Y2i=0 и всички изходи на останалите компаратори са в състояние 0, (т.е. само един Y1i или Y2i може да бъде в състояние 1 при “забрана” по ci=0);- ако Y20=1, то всички Y2i=1 (A=B).Следователно:

Структурната схема съставете самостоятелно.Този 8-битов компаратор може да бъде реализиран с интегрална схема 7485 - четирибитов компаратор. Схемата е показана на фиг.5.24.

Недостатък на последователното свързване е, че всяка допълнителна интегрална схема увеличава времето на превключване на компаратора. Най-оптимално е паралелното свързване на отделните компаратори, при което не се увеличава общото време на превключване. Освен това при паралелното включване могат да се използват и входовете А>В и А<В като информационни, в резултат на което на всяка интегрална схема 7485 може да се подават сигналите за пет разряда от сравняваните кодови набори. Изключение прави само първият компаратор, към който се подават сигналите за най-младшите 4 разряда. Към неговите входове А>В, А=В и А<В се подават съответно сигналите 0, 1 и 0.Въпроси и задачи1). Дайте определения за:а) преобразувател на код;б) шифратор;в) дешифратор;г) мултиплексор;д) демултиплексор;е) суматор;ж) компаратор.2). Направете сравнение между линейни и пирамидални дешифратори. Какви са предимствата и недостатъците на тези схеми на реализация.3). От кои разряди започва сумирането и от кои сравняването на две двоични числа? Защо?4). Да се синтезира преобразувател от код на Грей с излишък 3 в десетичен код.5). Реализирайте мултиплексор 32:1 на базата на мултиплексор 8:1 (интегрална схема 74151). Опитайте се да реализирате схемата поне по три начина и направете сравнение между тях.6). Синтезирайте устройство с 6 входа за окриване наличието на три (и само три) единици. Използвайте мултиплексор 74151 и суматор 7482.7). Синтезирайте схема на компаратор за две 24-разрядни двоични числа, като използвате паралелно свързани 4-битови компаратори 7485.8). На базата на 4-битов пълен дешифратор (74154) да се синтезира 6-битов пълен дешифратор.9). Да се синтезира мултиплексор 32:1 на базата на мултиплексори 16:1 (интегрална схема 74150).

Автор: С. Иванов, Ю. Петкова, С. Каров

6. Абстрактни автомати. Модели на Мили и Мур. Задаване на абстрактни автомати. Еквивалентни автомати и връзка между автоматите на Мили и Мур

1999-03-18 15:15:21+02 1. Абстрактни автомати.Абстрактният автомат представлява математически модел на дискретно управляващо устройство. Представя се чрез съвкупност от шест елемента:S={A,Z,W,δ,λ,a1}, където:A={a1,a2,...,ap} - множество от състояния на автомата (азбука на състоянията);

Z={z1,z2,...,zf} - множество от входни въздействия, наречено още входна азбука на автомата;W={w1,w2,...,wg} - мнoжество от изходни реакции на автомата (изходна азбука);

- функция на преходите, реализираща изображението на множеството

;- функция на изходите на автомата, реализираща изображението

;a1 - начално състояние на автомата, .Абстрактният автомат се нарича краен, ако множествата A,Z и W са крайни. В бъдеще ще разглеждаме само крайни автомати.Автоматът се нарича напълно определен, ако, т.е. ако aвтоматът се намира в произволно състояние, при какво да е входно въздействие е възможно да се осъществи преход към състояние от множеството A и да се генерира изходна реакция от множеството W. Ако това условие не е изпълнено, автоматът се нарича непълно определен (частично определен).Абстрактният автомат има един входен и един изходен канал.

Функционира в дискретно време, което приема цели, неотрицателни стойности (t=0,1,2,...). Във време t=0 автоматът се намира в начално състояние a1. Във всеки момент от време t автоматът се намира в състояние , реагира на текущото входно въздействие, като преминава в ново състояние, зададено чрез функцията на преходите и генерира изходна реакция, зададена чрез изходната функция . Това може да бъде описано по следния начин:

където a,z и w са елементи от множествата A, Z и W съответно. Автоматът може да се разглежда като дискретно устройство, което трансформира входните въздействия Z в изходни реакции W. Трябва да се помни, че, за разлика от комбинационните схеми, изходната реакция на автомата зависи не само от текущото входно въздействие, но и от последователността, в която са постъпвали входните въздействия. Състоянието на автомата се явява именно памет за миналите събития.Затова автоматите се наричат още последователностни схеми.2. Класификация на автоматите.2.1. Класификация според вида на функциите и .Законът за функциониране на автомата на Мили се задава със следните уравнения:

където t=0,1,2,...; a(0)=a1.Законът за функциониране на автомата на Мур се задава с уравненията:

където t=0,1,2,...; a(0)=a1.В автомата на Мур изходните реакции зависят само от текущото състояние на автомата и не зависят от текущото входно въздействие.2.2. Класификация според вида на множеството A.

- автомат с памет (последователностна схема) - множеството A={a1,a2,...,ap} има n елемента и n се нарича дълбочина на паметта.- автомат без памет (комбинационна логическа схема) - множеството А=0. Автоматът извършва прекодиране на думите от входната азбука в думи от изходната азбука.Прието е автоматите без памет за по-кратко да се наричат комбинационни схеми, а автоматите с памет да се наричат просто автомати.2.3. Класификация в зависимост от продължителността на интервала от време, през който входният сигнал не се изменя:- синхронен автомат - входните въздействия са активни само при наличие на синхронизиращи сигнали;- асинхронен автомат - интервалът от време, през който входното въздействие е активно, е променлива величина, която варира в широки граници. Приема се, че при асинхронния автомат входните въздействия се променят, само когато той е преминал в ново състояние.Съществуват и други признаци, по които автоматите могат да бъдат класифицирани.3. Представяне на абстрактните автомати.Съществуват формални езици за описване на алгоритмите на функциониране на автоматите.За да се представи крайният автомат S, е необходимо да се определят всички елементи на

множеството , т.е. да се определи входната и изходна азбука и азбуката на състоянията, като се определи и началното състояние a1. Трябва да се зададат и функциите на преходите и изходите. Начинът на тяхното записване определя и различните методи за представяне на абстрактните автомати[1,12].3.1. Табличен метод - функциите се задават чрез таблица на преходите и таблица на изходите. Таблиците имат толкова реда, колкото са различните входни въздействия Z и толкова колонки, колкото са състоянията на автомата. На пресечната точка на колонка с ред в таблицата на преходите се записва състоянието, в което ще премине автоматът в следващия момент от време в резултат на текущото входно въздействие и текущото състояние, а в таблицата на изходите - изходната реакция, която генерира автоматът в текущия момент от време. За автомата на Мур таблицата на изходите е едноредова, защото изходната реакция не зависи от текущото входно въздействие.

Възможно е съвместяване на двете таблици в една, наречена съвместена таблица на преходите и изходите за автомата на Мили и белязана таблица на преходите за автомата на Мур.Пример за задаване на напълно определен автомат на Мили(S1).

Пример за задаване на напълно определен автомат на Мур(S2).

Пример за задаване на непълно определен автомат на Мили(S3)

3.2. Представяне чрез граф на автомата.Графите имат широко приложение, обусловено от голямата им прегледност. Използват се насочени графи, като се приемат следните съответствия:- на всяко състояние на автомата ai съответства възел от графа;- на всеки преход от състояние в състояние съответства насочена дъга, свързваща двете състояния, върху която се записва входното въздействие, предизвикващо прехода

;

- при автомата на Мур изходните реакции се записват в самия възел на графа ;

- при автомата на Мили изходната реакция се записва върху дъгата, излизаща от състояние ai, с присвоено входно въздействие zk.

3.3. Матрица на преходите и матрица на изходите.

Mатрицата на преходите е квадратна матрица, редовете на която съответстват на текущото състояние на автомата, а стълбовете - на състоянието на прехода ai(t+1).Елементи на матрицата са условията, причинили съответните преходи. За автоматите на Мили и Мур матриците на преходите са еднотипни.Матрицата на изходите при автомата на Мили е сходна с горната, но нейните елементи са изходните реакции. При автомата на Мур матрицата на изходите представлява вектор на изходната реакция.Пример:

Ако преходите между две състояния се извършват по повече от едно условие, то елемент на матрицата се явява множество от двойки zi/wi.4. Еквивалентни автомати и връзка между моделите на автоматите на Мили и Мур.Нека да разгледаме автомат на Мили, зададен чрез своя граф на преходите и таблици на преходите и изходите.

Нека на входа на този автомат, установен в начално състояние, постъпва входната дума

. Тъй като a , то под действието на първата буква z1

на думата, автоматът ще премине в състояние a3 и ще генерира изходна реакция w1. При постъпване на втората буква z1 автоматът ще премине в a1 и ще генерира w2.Имайки предвид графа или таблицата на преходите и изходите, може да се проследи пълната реакция на автомата на входната дума . Това изглежда така:

входна дума z1 z1 z2 z1 z2 z2

състояние a1 a3 a1 a1 a3 a2 a3

изходна дума w1 w2 w1 w1 w1 w2

- това ще е реакцията на автомата на Мили на входно въздействие .Както се вижда от примера, като отговор на входна дума с дължина k, автоматът на Мили преминава в k+1 състояния и генерира изходни реакции - дума с дължина k.В общия случай поведението на автомата на Мили, установен в състояние am, може да се опише по следния начин:

Базирайки се на горните разсъждения, можем по аналогия да опишем поведението на автомат на Мур, намиращ се в състояние am и под въздействието на входна дума zi1,zi2,...,zik.

Очевидно е, че изходният сигнал не зависи от zi1, а се определя само от състоянието am. Можем да кажем, че реакцията на автомата на Мур на входна дума zi1,zi2,...,zik е изходната дума .Да разгледаме автомат на Мур, зададен чрез граф на преходите и изходите (фиг.6.4.).Нека на входа на този автомат бъде подадена същата входна дума

.входна дума z1 z1 z2 z1 z2 z2състояние a1 a4 a2 a1 a4 a3 a5изходна дума w1 w1 w2 w1 w1 w1 w2

Ако сравним реакциите на автоматите на Мили и Мур, но изместена на един такт, ще видим, че те съвпадат и не зависят от дължината на входната дума, т.е. те са еквивалентни автомати.Два напълно определени автомата SA и SB, които имат еднакви входни и изходни азбуки, се наричат еквивалентни, ако, след като са установени в начално състояние, реакциите им на едно и също, произволно входно въздействие съвпадат.Доказано е, че за всеки автомат на Мили съществува еквивалентен автомат на Мур и обратно.При описване на алгоритмите за трансформация на автомат на Мили в автомат на Мур и обратно ще бъде пренебрегвана изходната реакция на автомата на Мур, когато той се намира в начално състояние .4.1. Трансформиране на автомат на Мур в еквивалентен автомат на Мили.Нека е даден автоматът на Мур . Той трябва да се преобразува в автомат на Мили , при който

;

;;

;Неизвестна е само функцията на изходите .

Ако в автомата на Мур и , то при автомата на Мили .При графично зададен автомат преходът Мур -> Мили изглежда както е показано на фиг.6.5., т.е. изходната реакция от възела се присвоява на всички входящи в него дъги.

При табличен метод на задаване таблицата на преходите на SB

съвпада с тази на SA. Таблицата на изходите на SB се получава от таблицата на преходите на SA като се замества a5, стоящ на пресечната на линия zf и стълб am с изходната реакция wg, съответстващ на състоянието as от изходната таблица на SA.Пример:

4.2. Трансформиране на автомат на Мили в еквивалентен автомат на Мур.На автомата на Мили се налагат следните ограничения:- от всеки връх (всяко състояние) трябва да има поне една изходяща дъга (поне един преход);- не трябва да има състояния, в които не се преминава от никое друго състояние.

Даден е автомат на Мили - . Трябва да се построи еквивалентен автомат на Мур - .От определението за еквивалентност следва, че:

Трябва да се определят .- Множеството от състояния AB се определя по следното правило (фиг.6.7.):

На всяко състояние as от множеството AA се съпоставя множество от състояния AS от всевъзможни двойки (as,wi)(as,wj), където wi и wj са изходните реакции, присвоени на входящите в as дъги. Броят на двойките е равен на броя на различните изходни реакции, присвоени на всички входящи в as дъги (фиг.6.3.).

Множеството AB на автомата на Мур е равно на сумата от множествата AS, т.е. .- Изходната функция се определя по следния начин - на всяко състояние от автомата на Мур, представено като двойка (as,wi)(as,wj) и т.н. се присвоява съответно изходната реакция wi, wj и т.н. ( виж фиг.6.7.).- Функция на преходите - ако при автомата на Мили се извършва преход от състояние в състояние = и се издава изходна реакция , то при автомата на Мур се извършва преход от всяко едно от състоянията на множеството AS - в състояние под действието на (фиг.6.7.).- Начално състояние - за такова може да бъде избрано кое да е от множеството от начални състояния A1.

Пример: Даден е автомат на Мили. Да се преобразува в еквивалентен автомат на Мур.

Възможна е транс-формация на автомат на Мили в еквивалентен автомат на Мур, ако има състояние, в което не се преминава от друго, само ако то е начално.

A1={(a1-)}=b1

A2={(a2w1)(a2w2)}={b2b3}A3={(a3w1)(a2w2)}={b4b5}От изложените методи за взаимна трансформация на автоматите на Мили и на Мур се вижда, че при преход от автомат на Мур към автомат на Мили броят на състоянията не се променя, а при обратната трансформация броят на състоянията се запазва или се увеличава.Ако се извърши преобразуване от автомат на Мили в автомат на Мур и отново в автомат на Мили, първият и последният ще са еквивалентни, но най-вероятно последният ще има по-голям брой състояния. Следователно възниква необходимост от минимизация на броя на състоянията на автомата.

Мур е доказал, че за кой да е абстрактен автомат S съществува еквивалентен на него Smin

автомат с минимален брой състояния.Въпроси и задачи:1) Какви автоматни модели на последователностни схеми познавате? Какво е общото и какви са различията между тях?2) Какви методи за задаване на абстрактните автомати познавате?3) Каква е структурата на таблицата на преходите и на таблицата на изходите?4) Как се задава абстрактен автомат с граф? Какви са разликите в задаването на автомат на Мили и автомат на Мур?5) Защо изходната реакция на автомата на Мур се записва във възела на графа?6) Каква е структурата на матрицата на преходите и изходите за двата модела автомати?7) Кои автомати са еквивалентни?8) На фиг.6.12. са дадени таблиците на преходите и изходите на автомат на Мили. Съставете графа на автомата. Представете автомата чрез матрица на преходите и изходите.

9) На фиг.6.13. е дадена таблицата на преходите и изходите на автомат на Мур. Съставете графа на автомата. Представете автомата чрез матрица на преходите и изходите.

10) Зададеният на фиг.6.14. таблично автомат на Мили преобразувайте в следната последователност:

- в автомат на Мили - графично зададен;- в автомат на Мур - графично зададен;- в автомат на Мили - графично зададен;- в автомат на Мили - таблично зададен.На всеки етап на преобразуване доказвайте еквивалентност на автоматите. Сравнете първата и последната таблица на преходите и изходите и направете изводи.11) Приложете горното условие към таблично зададените автомати от фиг.6.12. и фиг.6.13.

Автор: С. Иванов, Ю. Петкова, С. Каров

7. Минимизация на напълно определени авт омати 1999-03-18 15:20:11+02

1. Алгоритъм за минимизация на напълно определен автомат на Мили, предложен от Ауфенкамп и Хон[5].Основната идея на този метод се състои в разбиването на всичките състояния на изходния абстрактен автомат на взаимно непресичащи се класове от еквивалентни състояния и замяна на всеки клас от еквивалентни състояния с едно състояние.

По този начин новополученият еквивалентен минимален автомат ще има толкова състояния, на колкото класа от еквивалентни състояния може да се разбие изходният автомат.- Две състояния на автомата am и as се наричат еквивалентни, ако , където a е произволна входна дума, т.е. намирайки се в кое да е състояние, при произволно входно въздействие автоматът генерира еднакви изходни реакции.Алгоритъм за минимизация на броя на състоянията.1). Разбиване на множеството А на подкласове от първи, втори и т.н. класове от еквивалентни състояния, отбелязвани с и т.н.- Първи еквивалентни състояния - Ако автоматът се намира в някое от тези състояния, при еднакви входни въздействия генерира еднакви изходни реакции. Всички първи еквивалентни състояния образуват първи клас еквивалентност .- Втори еквивалентни състояния - Ако автоматът се намира в някое от тези състояния, при еднакви входни въздействия се оказва в еднакви първи еквивалентни класове.Това разбиване продължава, докато в к-тата и к+1 -та стъпка се получат еднакви класове еквивалентност .2). От всяко подмножество от еквивалентни състояния се избира едно и тези състояния образуват множеството Amin на минималния автомат.

3). Функциите на прехода и на изхода се определят, като в таблицата на преходите и изходите се зачеркнат колонките на излишните състояния, а се оставят само състоянията, включени в Amin. В таблицата на преходите отпадналите състояния се заменят с еквивалентните им.4). За начално състояние a1min се избира кое да е от групата, в която е a1 или самото то.Пример:

1). Определяне на първи клас на еквивалентност , състоящ се от подкласове от едноеквивалентни състояния.

, където и Построяване на таблица , заменяйки състоянията от предходната таблица със съответния клас от първи еквивалентни състояния.

Втори еквивалентни са състоянията, от които, под въздействието на z1 и z2, се преминава в първи еквивалентни групи състояния.

, където , , и .

Аналогично:

, където , , и .

и , т.е. процедурата по разбиването на еквивалентни класове е завършена.

2). От всеки клас от еквивалентни състояния се избира произволно по едно състояние, например първото.Amin={a1a5a8a3a10}3). Построяват се новите таблици на преходите и изходите.

2. Алгоритъм за минимизация на броя на състоянията на автомат на Мур.1). Въвежда се понятие нулево еквивалентни състояния и разбиване на подкласове от нулево еквивалентни състояния .Нулево еквивалентни състояния са тези, при които автоматът генерира едни и същи изходни реакции, намирайки се в тях.2). Ако от две нулево еквивалентни състояния при еднакви входни въздействия автоматът преминава в еднакви подкласове нулево еквивалентни състояния, то те са първи еквивалентни.Всичко по-нататък е сходно с горния алгоритъм.Пример:

Въпроси:1. Каква е основната идея, заложена в алгоритъма за минимизация , предложен от Ауфенкамп и Хон?Задачи:1. Минимизирайте броя на състоянията на автоматите, получени след преобразуванията от задачи 3 и 4 от предходната тема.

Автор: С. Иванов, Ю. Петкова, С. Каров

8. Структурен модел на автомата. Преход от абстрактен модел на автомата към структурен. Синтез на краен автомат

1999-03-18 15:28:11+02 1. Структурен модел на автомата.След етапа на абстрактния синтез, заключаващ се в минимизация на броя на състоянията, следва етап на структурен синтез. Целта на този синтез е да се построи логическа схема, реализираща функциите на автомата, осъществена с определен тип логически елементи[5,11,12].Ако абстрактният модел беше само математически модел на дискретна система, то в структурния автомат се отчита характера на входните и изходните сигнали на автомата, а също и вътрешното решение на ниво структурна схема.Със структурен синтез се занимава структурната теория на автоматите, чиято основна задача е намиране на общи принципи за построяване на структурните схеми на автомата на базата на предварително известни елементарни автомати и типове логически елементи.Ако абстрактният автомат се задава с множество от шест елемента (фиг.8.1.), то при прехода към структурен автомат (фиг.8.2.) вместо множество от входни въздействия Z има входни сигнали x1,x2,...,xn, които приемат стойности “0” или “1”. Вместо изходна реакция W в структурния модел има изходни сигнали y1,y2,...,ym, приемащи стойност “0” или “1”. Входните и изходните сигнали трябва да са определени като брой и логически нива, като се има предвид и обекта, който ще бъде управляван от автомата.

Вътрешната структура на автомата (фиг.8.3.а) е изградена от памет, в която се съхраняват състоянията A={a1...ak} и комбинационна схема, която реализира функцията на преходите

и функцията на изходите или .

Условно комбинационната схема може да се раздели на две части - първата (КС1), реализираща функцията на преходите чрез генериране на т.нар. функции на възбуждане на паметта и втората (КС2), реализираща функцията на изходите (фиг.8.3.б).Това разделяне е условно и се прави с цел по-лесно усвояване на синтеза на структурния автомат.Съществуват няколко метода за синтез на структурен автомат.2. Каноничен метод за структурен синтез на краен автомат.Структурният синтез се провежда на базата на предварително таблично зададен автомат, т.е. известни са множествата A, Z и W , а функцията на преходите и функцията на изходите са зададени със съответните таблици. Предварително е избран и елементарният автомат (тригер), с помощта на който трябва да се изгради паметта на автомата.Синтезът протича в следната последователност:1). Определя се броят на входните и изходните сигнали и броят на елементарните автомати, като се спазват следните правила:

където n е броят на входните сигнали,

m - броят на изходните сигнали,

k - броят на елементарните автомати, а f, g и p - съответно броят на входните въздействия, изходните реакции и броят на състоянията на абстрактния автомат.2). Кодират се входните въздействия чрез входните сигнали, изходната реакция - чрез изходните сигнали и състоянията на автомата - чрез състоянието на паметта.3). На базата на изходната таблица на автомата и приетите кодирания се построява кодирана таблица на изходите. Извеждат се логическите уравнения за изходите y1...ym като функция на състоянието на паметта и входните сигнали, т.е. y=f(Q(t), X(t)). Това е достатъчно за синтез на изходната комбинационна схема КС2.4). На базата на таблицата на преходите и приетите кодирания се построява кодирана таблица на преходите. Тя дава възможност да се представи Q(t+1)=f(Q(t), X(t)). Ползвайки кодираната таблица на преходите и таблицата на истинност на избрания елементарен автомат, се построява таблица на функциите на възбуждане на паметта T=f(Q(t), X(t)). Това е достатъчно за синтез на входната комбинационна схема КС1.5). Минимизират се функциите на възбуждане и функциите на изходите и се преобразуват в определен базис.6). Съставя се цялостната логическа схема на автомата.Забележка: Синтезът на различните видове елементарни автомати (тригери) ще бъде разгледан в следващата тема.Пример: Да се синтезира автомат на Мили, зададен с таблици на преходите и изходите. Да се реализира с логически елементи И, ИЛИ, НЕ и елементарен автомат, зададен със своята таблица на преходите.

Синтезът ще бъде извършен съгласно горната последо-вателност.1). Определяне броя на входовете, изходите и елементарните автомати, като се има предвид, че входните въздействия са три на брой (z1,z2,z3), изходните реакции са четири (w1,w2,w3,w4) и състоянията са три (a1,a2,a3). Построява се структурната схема.

2). Кодиране.

Таблиците трябва да се тълкуват така:- Ако постъпва входно въздействие z2, то в структурния автомат това отговаря на състояние на входовете x1=0 и x2=1 и т.н.- Изходната реакция w3 се свежда до следното състояние на изходите - y1=1, y2=0.- Автоматът се намира в състояние a3, ако Q1=1 и Q2=1.Забележка: Кодирането е извършено произволно, защото не са изучени още правилата за по-добро кодиране.3). Извеждане на функциите на изходните сигнали.

Функциите y1 и y2 се извеждат непосредствено от таблицата:

4). Извеждане на функциите на възбуждане на паметта.

Забележка: До тази форма на таблицата лесно може да се достигне, прилагайки точки 1,2 и 3 спрямо таблицата на преходите на елементарния автомат.Тук е невъзможно непосредственото получаване на функциите на възбуждане T1 и T2, затова, на базата на горните две таблици, се построява таблица на функциите на възбуждане. Трябва да се има предвид, че вътре в таблицата на преходите са вписани състоянията във време (t+1), а на горния ред - състоянията във време t.Знаейки текущото състояние и следващото, в което трябва да се установи паметта, се определят съответните функции на възбуждане T1 и T2.

От тази таблица вече е възможно извеждането на функциите T1 и T2.

5). Минимизацията на функциите y1,y2,T1,T2 се извършва по един от известните вече методи за минимизация на логически функции. Трябва да се има предвид, че за някои от комбинациите на променливите функциите са неопределени.6). Представянето в определен базис и реализацията на логическата схема също се извършва по изучените вече методи.3. Графичен метод за структурен синтез на автомат.При графичния метод за структурен синтез автоматът е зададен във вид на граф. Предварително е избран и елементарният автомат, с помощта на който трябва да се изгради паметта.Синтезът протича в следната последователност:1). Определяне броя на входовете, на изходите и на тригерите, от които ще се изгради паметта, по начин, съвпадащ с този от предходното описание.2). Кодиране на входове, изходи и състояния по вече описания начин.3). Получаване на кодиран граф чрез заместване в изходния граф на входните въздействия с входните сигнали, на изходните реакции с изходни сигнали и състоянията на автомата със състояния на тригерите.4). Директно от кодирания граф се извеждат логическите функции на изходните сигнали.5). На всяка дъга от графа, определяща преход от състояние в състояние, се присвоява функция на възбуждане. Това става в зависимост от вида на избрания тригер и от това дали отделните тригери, от които се изгражда паметта, се превключват. Получава се кодиран граф на преходите, изходите и функциите на възбуждане.6). Извеждат се функциите на възбуждане на паметта.7). Минимизират се функциите на възбуждане на паметта и функциите на изходите и в определен базис се реализират входната и изходната схема на автомата.Пример: Да се синтезира автомат на Мили, зададен чрез своя граф (фиг.8.4.). Да се реализира с елементи И, ИЛИ, НЕ и Т-тригери.1). Определят се броят на входовете, броят на изходите и броят на тригерите. Те са съответно n=2, m=2, k=2 (фиг.8.5.).

2). Кодиране

3). Построяване на кодиран граф

4). Извеждане на функциите на изходните сигналиПоследователно се преглеждат дъгите с присвоените им изходни сигнали и се извеждат функциите им.

5). Построяване на граф на входовете, изходите и функциите на възбуждане.Знаейки поведението на Т-тригера от предходната задача, а именно, че ако тригерът трябва да смени състоянието си, то на входа му трябва да се подаде “1”, се прави следното - на всяка свързваща дъга се присвоява T1, ако съответният тригер се превключва и не се присвоява нищо, ако тригерът не се превключва.6). Извеждане на функциите на възбуждане.

Забележете, че функциите на изходите и функциите на възбуждане на автоматите от предходната и тази задача съвпадат. Tова е така, защото става въпрос за синтез на един и същ автомат, представен таблично и графично. Кодирането и избраният тригер също съвпадат. Това не би било така, ако кодирането беше извършено по друг начин или ако беше избран друг елементарен автомат (тригер).Въпроси:1. Направете връзка между абстрактния и структурния модел на автомата.2. Какви методи за синтез на структурни автомати познавате?Задачи:1.Да се синтезира структурен автомат на Мили, зададен с таблиците на преходите и изходите - фиг.8.6. Да се използват D-тригери и елементи И, ИЛИ, НЕ.

2. Да се премине от таблично към графично задаване на автомата на Мили от зад.1 и да се синтезира структурен автомат с използване на R-S- тригери и елементи И-НЕ.3. Да се синтезира структурен автомат на Мур, зададен с таблицата на преходите и изходите - фиг.8.7. Да се използват D-тригери и елементи И, ИЛИ, НЕ.4. Да се премине от таблично към графично задаване на автомата на Мур от зад. 3 и да се синтезира структурен автомат с използван е на R-S- тригери и елементи И-НЕ.

Автор: С. Иванов, Ю. Петкова, С. Каров

9. Тригерът като елементарен структурен автомат. Видове тригери. Синтез на тригери

1999-03-18 15:35:28+02 1. Тригерът като елементарен структурен автомат.За съхраняване на информацията в изчислителната техника се използват елементи с две устойчиви състояния.Двоичен елемент, който може да се превключва в кое да е от двете възможни състояния при определени условия и съхранява последното си състояние в продължение на нужния интервал от време, се нарича тригер.Изходният сигнал на тригера се променя само при промяна на неговото състояние, т.е. той функционира като автомат на Мур. Тъй като има само две състояния, тригерът се нарича елементарен автомат на Мур.Абстрактният модел на елементарния автомат се задава с познатите шест елемента

. Множеството от състоянията има два елемента A={a1,a2}. Множеството от входни въздействия има два или повече елемента Z={z1...zn}. Множеството от изходни реакции има също два елемента W={w1,w2}.Примери за представяне на абстрактни елементарни автомати ЕА1 и ЕА2Преходът от абстрактен към структурен модел става по познатия начин - кодират се състоянията и входните въздействия, а изходните реакции съвпадат със състоянията на елементарния автомат.Структурният модел на елементарния автомат е даден на фиг.9.1. Паметта му се състои от запомняща клетка, която може да бъде в едно от двете устойчиви състояния.Входната комбинационна схема определя условията, при които се превключва запомнящата клетка, т.е. тя генерира т.нар. функция на възбуждане. Изходна комбинационна схема липсва. фиг.9.1.Пример1: Да се премине от абстрактен модел на ЕА1 към неговия структурен модел.

Оказва се, че ЕА1 има един вход T и един изход Q. Кодираната таблица на преходите може да бъде преработена и да се представи в следната форма:Получава се таблицата на преходите на ЕА1. Това е известният T - тригер, наречен още броячен. Състоянието и изходът на тригера не се променя, докато на входа му T постъпва “0”. При подаване на “1” на входа T - тригерът променя състоянието си в противоположното.

Пример 2: Разглежда се елементарен автомат ЕА2.

ЕА2 се оказва модел на известния R-S -тригер. Този тригер има два входа R и S и един изход Q. При постъпване на сигнал “00” на входа на тригера той не променя състоянието си. Логическа “1” на входа S(set) предизвиква установяване на тригера в състояние “1”, а логическа “1” на входа R(reset) установява тригера в състояние “0”. Едновременното подаване на “1” на двата входа е забранено. Не можем да искаме от запомнящата клетка да бъде в състояние “1” и в състояние “0” едновременно.2. Видове тригери.Съществуват два основни признака по които може да бъде извършена класификация на тригерите [4,5,8,15]:-функционален признак-според начина на запис на информацията в тригераФункционалната класификация е по обща и класифицира тригерите според вида на логическите уравнения, характеризиращи състоянията на входовете и изхода на тригера преди (t) и след (t+1) неговото превключване. Познати са тригерите T,R-S,J-K,D и др.Втората класификация е свързана с времедиаграмата на работа на тригера, т.е. характеризира хода на процеса запис на информация в тригера. Тригерите се делят на :-асинхронни-синхронниПри асинхронните тригери записа на информация става непосредствено след постъпване на активни нива на техните входове.Отличителна черта на синхронните тригери е, че те имат допълнителен разрешаващ вход. Той определя момента на превключване на тригера. От своя страна синхронните тригери се делят на синхронни по ниво, синхронни по фронт с вътрешна задръжка, синхронни по фронт със структура “главен-подчинен”.В процеса на синтез на тригерите ще бъдат подчертани различията между тях.3. Синтез на тригери.Един от методите за синтез на тригери е чрез описване на поведението му като абстрактен модел на елементарен автомат. Преходът към структурен модел става по начина, показан в предходната тема.Вторият метод за синтез на тригер е чрез задаване на неговото поведение с помощта на таблицата на преходите или граф на преходите. Този метод ще бъде разгледан по-долу.Препоръчва се следната последователност за синтез на тригер:1). Уточняване броя на входовете и условното обозначение.2). Съставяне на таблица и диаграма (граф) на преходите.3). Извеждане на характеристичното уравнение на тригера, т.е. Qt+1=f(Qt,xt)4). Реализация на логическата схема на тригера чрез елементи И-НЕ, ИЛИ-НЕ или други.5). Изследване на поведението на логическата схема за критични състезания и съставяне на времева диаграма.Ще бъдат синтезирани няколко тригера, спазвайки горната последователност.T - тригерУсловното обозначение на T - тригера, неговата диаграма и таблица на преходите изглеждат по следния начин:

Те напълно определят поведението на T - тригера и са база за по-нататъшния синтез. Получават се от абстрактния модел на елементарния автомат или директно се предлагат от разработчика.

Характеристичното уравнение се извежда от таблицата на преходите и се минимизира, ако това се налага. Трябва да се изведе характеристичното уравнение, т.е. зависимостта Qt+1=f(Qt,Tt). В картата се нанася Qt+1.

Реализацията ще бъде извършена с елементи И-НЕ.

Точките Qt и Qt+1 от логическата схема са една и съща точка, но разгледана в два последователни момента от време, затова могат да се свържат (фиг.9.2а.).Ако логическите елементи се подредят по друг начин, се получава логическата схема от фиг.9.2б.Тук ясно се откроява запомнящата клетка, реализирана чрез логически схеми 1 и 2, и входната комбинационна схема.Има два важни момента, които трябва да се отбележат. Характеристичното уравнение от (9.1) е булева функция, но тя се различава от функциите, реализирани чрез комбинационни схеми по това, че в него фигурира параметър време. От таблицата се вижда, честойността на Q в лявата и дясната част в даден ред може да се различава в зависимост от параметъра t, а ние си позволихме в логическата схема да ги обединим.Вторият момент е, че логическата схема от фиг.9.2а. само условно може да се счита за комбинационна. От схемата на фиг.9.2б. ясно личи наличието на обратна връзка от изхода на запомнящата част към входа на комбинационната част. За съжаление анализът на работата на тригера ще покаже, че той работи неустойчиво.Ако се анализира работата на запомнящата клетка, ще се види, че ако на входа й постъпват две логически “1”, то изходът й ще остане в състоянието, в което е бил. Това може да се осигури, ако на входа T е подадена логическа “0”. Подаването на логическа “1” на входа T ще предизвика преход в противоположното състояние. На следващата фигура (фиг.9.3.) е дадена идеализираната времедиаграма, в която не е отчетено времето като фактор за сработване на входната КС и на запомнящата клетка. Ако това бъде направено и ако продължителността на единичния импулс, подаден на входа T(t1) е по-голяма от времето за сработване на входната комбинационна схема T(t2), ще се получи времедиаграмата от фиг.9.4.

Ако на входа T бъде подадена логическа “1”, след време t2 входната комбинационна схема ще изработи функции на възбуждане, които ще превключат запомнящата клетка от “0” в “1”, т.е. схемата сработва правилно Qt+1=f(Qt,Tt). Ако t1>t2 от изхода на запомнящата клетка към комбинационната схема ще постъпи новополученото Qt+1 и след време t2 запомнящата клетка отново ще се превключи. Това ще продължи, докато на входа T има логическа “1”. Трудно е да се предвиди в какво състояние ще се установи тригерът след отпадане на активния сигнал на входа T. Явно тригерът не работи правилно. Причината е, че t1>t2, т.е.

позволено е, когато във време t се формира Qt+1, на входа на комбинационната схема да постъпва същото Qt+1. Това е типичен случай на критични състезания, които ще бъдат разгледани в следващата тема.Регламентирайки продължителността на t1, тригерът може да бъде заставен да работи правилно. Практически това обаче е трудно осъществимо. Обикновено се вземат други мерки, които ще бъдат разгледани по-късно.R-S - тригерУсловното обозначение, таблицата на преходите и графът на преходите на R-S - тригера изглеждат по следния начин:

Изходите са взаимно инверсни. От таблицата на преходите се вижда, че при комбинация “11” на входовете R и S състоянието, в което ще се установи тригерът, е неопределено, т.е. тази комбинация е забранена. Това може да бъде използвано за минимизация на характеристичното уравнение на тригера Qt+1=f(Qt,Rt,St).

Представянето в базис И-НЕ и логическата схема са дадени на фиг.9.5.

Запомнящата клетка е аналогична на горния тригер, а комбинационната схема се състои само от два инвертора.Ясно се вижда, че липсва обратна връзка от изхода Q към комбинационната схема и функциите на възбуждане зависят само от входовете R и S. Следователно тук не могат да се появят критични състезания. От време-диаграмата (фиг.9.6.) на R-S - тригера се вижда, че всяка поява на активен сигнал на един от входовете води до промяна на състоянието му.Не са необходими никакви допълнителни условия. И понеже появата на активните нива на входовете става асинхронно, то и R-S - тригерът е асинхронен. Това е най-често използваният в практиката асинхронен тригер.При премахване на инверторите от логическата схема на R-S - тригера се получава - тригер. Той съдържа само запомняща клетка и поведението му е подобно на R-S - тригера, но активното ниво на входните сигнали е логическа “0”.С помощта на незначителна модификация на логическата схема на асинхронния R-S - тригер може да се плучи синхронен по ниво R-S - тригер (фиг.9.7.).

Анализът на времедиаграмата показва, че когато сихросигналът СИ=0, то дори и входовете R и S да са активни, състоянието на тригера не се променя. На изхода на логическите елементи 1 и 2 има логическа “1” и запомнящата клетка съхранява старото състояние. Когато СИ=1, логическите елемнти 1 и 2 са “разрешени” и тригерът може многократно да се превключва от активните сигнали на входовете R и S. Тази синхронизация се нарича синхронизация по “ниво”. Ако се постави допълнителен инвертор на СИ, то активното синхронизиращо ниво ще бъде логическа “0”.Освен входовете R, S и СИ тригерът може да има и допълнителни управляващи входове p и r. Тези входове дават възможност тригерът да променя своето състояние независимо от СИ, като логическа “0” на входа p (preset) го установява в “1”, а логическа “0” на входа r (reset) го установява в “0”. Това са асинхронни входове за нулиране и установяване в “1” на синхронния по ниво R-S - тригер и са приоритетни.J-K-тригерНа фиг.9.8. са дадени условното обозначение на тригера, неговият граф и таблица на преходите. Вижда се, че поведението му в първите шест реда от таблицата на преходите съвпада с поведението на R-S - тригера. Входът K установява тригера в “0”, а входът J - в “1”. Този тригер обаче позволява комбинация “11” на двата входа. При тази ситуация той променя състоянието си подобно на T - тригера.

На базата на R-S - тригер ще бъде синтезиран J-K - тригер.Трябва да се изведат функциите R=f(J,K,Qt) и S=f(J,K,Qt).Към таблицата на преходите на J-K - тригера се дописват две колонки за R и S, които се попълват по следния начин: знаейки Qt и какво трябва да бъде Qt+1, се определят R и S.

Логическата схема на J-K - тригера е дадена на фиг.9.9.

Анализът на логическата схема показва, че когато само един от входовете J или K е активен или и двата са пасивни (първите шест комбинации от таблицата), тригерът работи устойчиво. При подаване на комбинация “11” на входовете J и K, подобно на T-тригера, започва непрекъснато превключване на тригера (изпълняват се преходите от седми и осми ред от таблицата на преходите). Причината за тази неустойчива работа е същата, както при T-тригера. Когато продължителността на логическата “1” на входовете J и K е по-голяма от времето за сработване на тригера, и е позволено на входа на комбинационната схема във време t да постъпва Qt+1, подобно на разгледания T-тригер, се появяват критични състезания.Тригери със структура “главен-подчинен”Преодоляването на горния проблем става чрез използване на структура от типа “главен-подчинен” (“master-slave”, “управляващ-управляван”) (фиг.9.10.).

Чрез добавяне на синхровход към вече проектираната логическа схема получаваме синхронен по ниво J-K - тригер, подобно на разгледния вече синхронен R-S - тригер. Идеята, заложена в структурата “главен-подчинен”, е следната - използват се два синхронни по ниво J-K - тригера, свързани по начина, показан на фиг.9.10а. На входа на “подчинения”

постъпват и възможните комбинации са “01” и “10”, т.е. при него състезания не могат да възникнат. Възможно е като подчинен да се използва и синхронен по ниво R-S - тригер, както е показано на фиг.9.10б. В “подчинения” тригер се съхранява състоянието Qt. Като “главен” се използва синхронен по ниво J-K - тригер, при който обратните връзки за състоянието Qt

постъпват от изхода на “подчинения” тригер. Когато СИ=1, “подчиненият” тригер е блокиран и не може да се превключва. Активен е “главният”, на входа на който постъпват Qt, J и K и той може да формира Qt+1 и да го запомни. При преход на СИ от “1” в “0” се разрешава работата на “подчинения” тригер и новополученото Qt+1 се записва в него. “Главният” тригер е забранен от СИ и не може да се превключва повече, докато СИ=0. Проблемът със състезанията е преодолян. От времедиаграмата се вижда, че новото състояние се появява на изхода на тригера по падащия фронт на синхроимпулса. Схемата може лесно да бъде преработена, за да може тригерът да сработва по нарастващия фронт на синхронизиращия импулс.

D - тригерНа фиг.9.11 са дадени условното обозначение и таблицата на преходите на D-тригера.Вижда се, че състоянието Qt+1 повтаря Dt и не зависи от Qt. Това може да се потвърди и от характеристичното уравнение:

Схемата на D-тригера може да се построи с помощта на J-K или R-S - тригер, както е показано на фиг.9.12.

Подобно на разгледаните J-K и R-S - тригери D-тригерът може да бъде синхронен по ниво или синхронен по фронт. Фактът, че е едновходов, го прави приложим при изграждане на регистри и други структури с памет.Съществуват и други типове тригери, които обаче нямат широко приложение в практиката и няма да бъдат разглеждани.Въпроси и задачи:1) Какви функции изпълнява тригерът?2) Какви видове тригери познавате?3) Каква е вътрешната структура на синхронните тригери?4) Да се синтезира D-F - тригер, поведението на който е зададено чрез таблица на преходите. Да се докаже работоспособността му чрез времедиаграма.5) Да се синтезира синхронен D-F - тригер, сработващ по нарастващ фронт. Да се построи времедиаграма.6) Да се синтезира синхронен P-Z - тригер, зададен чрез таблица на преходите. Да се построи времедиаграма.7) С помощта на допълнителни логически елементи D-тригерът да се преобразува в J-K - тригер. Да се построи времедиаграма и да се докаже, че новополученият тригер сработва по падащ фронт.

Автор: С. Иванов, Ю. Петкова, С. Каров

10. Синхронни и асинхронни автомати. Кодиране на вътрешните състояния на автомата

1999-03-18 15:42:07+02 1. Синхронни и асинхронни автомати.При класификацията на абстрактните автомати бе дадено едно определение за синхронен и асинхронен автомат. Съществува и второ определение, допълващо първото[11].Дадено състояние as на автомата се нарича устойчиво, ако не съществува входно въздействие zf, по което се преминава в as и се излиза от него (фиг.1а). Ако се анализира работата на автомата от фиг.1б, се вижда, че от продължителността на zf зависи дали автоматът ще остане в състояние as или ak, т.е. състоянието as е неустойчиво спрямо zf.

Автоматът S се нарича асинхронен, ако всяко негово състояние е устойчиво и синхронен, ако горното условие не е изпълнено.При структурния синтез на автомата, когато вече е известна вътрешната му структура и видът на използваната в него памет, може да се обясни необходимостта от съществуването на асинхронен и синхронен автомат, както и необходимостта от задължителни мерки, които трябва да се вземат при синтеза на определен тип автомат.Първият проблем е свързан с кодирането на състоянията на автомата. Преходът от едно състояние в другo става за сметка на превключване на състоянието на тригерите, от които е изградена паметта.

Ако от състояние as с код 010 трябва да се премине по zf в състояние am с код 100, то едновременно трябва да се превключат два тригера. Възможна е поява на така нареченото състезание. Причината за това може да бъде в различните задръжки, които внася входната комбинационна част при формиране на функциите на възбуждане на паметта или пък различното време за сработване на отделните тригери. На изхода на паметта временно може да се окаже код, различен от кода на am (фиг.10.2.).Последствията от такова сътезание могат да бъдат некритични, ако съществува път от това състояние , в което автоматът временно се е оказал и не се изработва изходен сигнал, нарушаващ работата на автомата. фиг.10.2.Ако състоянието, в което автоматът неправилно се е установил, е устойчиво спрямо zf или пък въобще не съществува в алгоритъма на работа на автомата, последиците са непредвидими и най-често критични за по-нататъшната работа на автомата. Това са така наречените критични състезания. Борбата с тях се извършва по няколко метода:- Всички входни сигнали се разрешават с общ стробиращ сигнал, чиято продължителност се изчислява така, че да е достатъчна да се формират функциите на възбуждане и да се превключат необходимите тригери. Едновременно с това той трябва да е достатъчно краткотраен, за да не позволи обратната връзка да формира нови функции на възбуждане.Теоретически това изключва състезанията, но практически е трудно реализуемо. Времевите параметри на логическите елементи варират в определени граници, зависят от температура, захранващо напрежение и др. и това може да доведе до ненадеждна работа на автомата.- Друг метод е използването на синхронни тригери сработващи по фронт. Чрез правилно подбиране на периода на синхронизиращия сигнал може да се осигури достатъчно време за формиране на функциите на възбуждане на паметта.- Трети метод е използването на така нареченото съседно кодиране на състоянията, т.е. кодовете на състоянията да са така подбрани, че при преход от едно състояние в друго само един от тригерите да се превключва. Ще се формира функция на възбуждане само към един тригер и, тъй като състоянията са устойчиви спрямо текущото входно въздействие, ще липсва възможност за състезания и неправилно сработване на тригерите.В практиката при синтез на структурни автомати се ползват вторият и третият способ за борба със състезанията. Вторият способ предполага задължителен избор на синхронни тригери, сработващи по фронт, като елементи на паметта. В този случай е необходимо наличие на генератор на синхронизиращ сигнал. Периодът на този сигнал определя времето, през което входните сигнали са активни и могат да формират условия за превключване на паметта. Използването на синхронни тригери автоматично води до синтез на синхронен автомат. При него съседното кодиране на състоянията не е задължително. Третият способ, т.е. съседното кодиране на състоянията, предполага използването на асинхронни тригери. Тук няма ограничения за времето, през което входните сигнали са активни, следователно става въпрос за синтез на асинхронен автомат.Изборът на синхронни и асинхронни тригери е задължително, но не достатъчно условие, за да се синтезират синхронни и съответно асинхронни автомати. Трябва да се имат предвид и ограниченията, наложени от предходните определения за синхронен и асинхронен автомат.При синтез на синхронен автомат изборът на продължителността на синхросигнала е от съществено значение и трябва да удовлетворява следните условия:- Минималната му продължителност трябва да бъде по-голяма от максималното време за сработване на входната комбинационна схема и паметта.- Минималната му продължителност трябва да бъде по-голяма от минималната продължителност на изходните сигнали. Ако дори само един изходен сигнал има продължителност многократно надвишаваща продължителността на другите, то той ще е

определящият при избора на минималната продължителност на периода на синхросигнала. Това води до общо забавяне на работата на автомата. Възможни са и варианти за използване на два или повече синхрогенератори, но това пък води до необходимост от допълнителни апаратни разходи за анализ на състоянията и превключването на различните генератори към паметта.При синтеза на асинхронни автомати изборът на асинхронни тригери и съседното кодиране са задължителни. Продължителността на изходните сигнали тук зависи от времето, през което автоматът се намира в дадено състояние (за автомат на Мур), а също и от времето на действие на определен входен сигнал при автомата на Мили ((y=f(a(t),x(t)). Следователно при съставяне на алгоритъма за работа на асинхронния автомат условията за изход от дадено състояние трябва да са съобразени с въздействието на изходните сигнали върху управлявания обект. Автоматът трябва да остава в определено състоянние точно толкова време, колкото е необходимо на изходния сигнал да бъде активен.Налага се следният извод - асинхронните автомати са по-бързите автомати, но синтезът и настройката им са по-сложни и трудоемки процеси. Синхронните автомати са по-бавни, но по-леки за синтез и настройка.2. Кодиране на вътрешните състояния на автомата.Целите, които се преследват при кодиране на състоянията на автомата, са основно две:- осигуряване на устойчива работа на автомата съгласно заложения алгоритъм;- реализация на автомата с минимални апаратни разходи.2.1. Към първата група цели се отнасят кодирането на началното състояние a1 и съседното кодиране на състоянията при синтез на асинхронен автомат.След първоначалното включване на захранващото напрежение автоматът трябва да бъде установен в начално състояние a1. То се кодира обикновено с код 00...0, така че сигналът “първоначално установяване”, изработван от захранващия блок, да може чрез нулиращите входове на тригерите да ги установи в “0”. Ако избраните тригери нямат специален нулиращ вход, то сигналът “първоначално установяване” трябва да се подаде към входната комбинационна схема, за да може чрез функциите на възбуждане да се нулират тригерите.Съседното кодиране е задължително при синтез на асинхронни автомати. Съществуват алгоритми, водещи към съседно кодиране [11,12], които тук няма да бъдат разглеждани. Когато броят на състоянията на автомата не е голям, кодирането може да се извърши по метода на пробите. Като помощно средство може да се използва картата на Карно. Определя се броят на тригерите k≥log2p и се построява карта на Карно за k променливи. Определя се кодът на началното състояние a1 (обикновено 00...0), нанася се в картата и спрямо него се нанасят останалите състояния. Целта е съседните в графа състояния да се получат съседни и в картата на Карно. Това не винаги е възможно, защото не всеки граф допуска съседно кодиране. Съществуват признаци, по които може да се провери дали един граф допуска съседно кодиране:- В графа на автомата не трябва да има контур с нечетен брой състояния. Под контур се разбира затвореният контур, образуван от свързващите дъги, без да се отчита тяхната посока.- Броят съседни на дадено състояние не трябва да надвишава броя на тригерите, от които се изгражда паметта. Ако например броят на тригерите е три, всяко състояние от графа може да има максимум три съседни състояния.Ако горните условия не са изпълнени, е необходимо графът да бъде преработен, без да се нарушава алгоритъмът на работа на автомата. Това става чрез:- добавяне на т. нар. “излишно” състояние в контур, за да се получат четен брой състояния. В “излишното” състояние се влиза по условието, присвоено на дъгата, която е разкъсана, а се излиза безусловно;- разкъсване и обединяване на условия за преход;

- пренасочване на дъги;- увеличаване броя на тригерите, от които се изгражда паметта.Изброените препоръки за преработка на графа могат да се прилагат самостоятелно или в комбинация, но това не трябва да води до промяна на алгоритъма на работа на автомата. Особено внимание трябва да се отдели на процеса на присвояване на изходните сигнали към разкъсани дъги, а също и на добавените състояния. Тук правила няма и всичко зависи от конкретния алгоритъм. Не трябва да се накъсва изходен сигнал, изработван в две съседни състояния или пък да се променя неговата продължителност, променяйки условията за изход от състояние.Съществуват и алгоритми, водещи до съседно кодиране [12].Пример: Да се кодират съседно състоянията на автомата на Мур, зададен с графа от фиг.10.3.

1). Определя се минималният брой тригери и се кодира състояние a1:k=3;a1→000.2). Проверява се дали графът отговаря на условията за съседно кодиране.- контурите a1,a2,a5; a2,a3,a5 и т.н. имат нечетен брой състояния;- състояние a5 има четири съседни състояния, (a1,a2,a3,a4), а броят на тригерите е три.Следователно графът не отговаря на условията и трябва да бъде преработен по следния начин (фиг.10.4.):- добавя се състояние a6, като се разкъсват и обединяват две дъги ( ), излизащи от

a2 по част от условието за преход ;- добавя се състояние a8, като се разкъсва дъга (x4), свързваща a4 с a5;- добавя се състояние a7, като се разкъсва и пренасочва към състояние a8 дъгата ( ), излизаща от състояние a3.

Изходът от “излишните” състояния става безусловно (a7,a8) или по условие (a6). Намирайки се в тези състояния, автоматът не изработва изходен сигнал. Продължителността на y1 и y2

се гарантира от сигналите , а на y4 - от .Така полученият граф отговаря на условията за съседно кодиране.- Кодират се състоянията с използване на картата на Карно за три променливи - Q1, Q2 и Q3. Това са изходите на трите тригера. Възможни са два варианта за кодиране. От картите се извлича и присвоява кода на всяко едно състояние. Например кодът на a2 ще е 001 и 010 съoтветно по първи и втори вариант.

2.2. Koдиране на състоянията с цел реализиране на автомата с минимални апаратни разходи.При каноничния метод за структурен синтез беше отбелязано, че при различни варианти на кодиране на състоянията на автомата се получават различни по сложност функции на възбуждане и изходни функции. Сложността на комбинационната схема следователно съществено зависи от избраните кодове.Пример: По зададен автоматен граф на базата на синхронни - D тригери да се синтезира краен автомат.

Получените при двата варианта на кодиране функции съществено се различават по своята сложност. Търсенето обаче на “по-добрия” начин на кодиране, водещ до по-малки разходи, е свързан със следните трудности:- огромен брой варианти;- зависимост от избрания тип тригери.Не съществува проста процедура за решаване на тази задача.Ще бъде разгледана една процедура за кодиране на състоянията при ограничения, че вече са кодирани входните въздействия и изходните реакции и избраните елементарни автомати за изграждане на паметта са D - тригери.Процедурата се свежда до прилагането на следните правила:Правило1: Състоянията, от които има преход при едно и също входно въздействие в едно и

също ново състояние, се кодират със съседни набори (такива, към които може да бъде приложено правилото за слепване).

Павило 2: Състоянията, в които има преход от едно и също старо състояние за слепващи се набори на входните сигнали (в най-добрия случай съседни набори), се кодират с близки набори. Това води до отпадане на входните променливи.Правило 3: Състоянията с най-голям брой входящи дъги се кодират с код, съдържащ най-голям брой нули.Тези правила се отнасят само за случаите, когато паметта е изградена с D - тригери. Приложени за други тригери, не дават добри резултати.

Макар че съседното кодиране не е задължително за синхронните автомати, частичното му прилагане обикновено води до намаляване на броя на логическите елементи, с които се реализира комбинационната схема.Въпроси:1) Дайте определение за синхронен и асинхронен автомат. Подчертайте разликите в структурните им схеми.2) Кои състезания в автоматите са критични и кои не са. Дайте пример.3) Какви са мерките за отстраняване на критичните състезания?4) Какво означава съседно кодиране на състоянията? В какви случаи то е задължително и в какви е желателно?5) Кога даден граф на автомат допуска съседно кодиране на състоянията и кога не?6) Как трябва да се преработи автоматният граф, ако той не допуска съседно кодиране, а то е задължително?7) Какво означава “по-добър” начин на кодиране? Какви правила за “по-добро” кодиране познавате?

Автор: С. Иванов, Ю. Петкова, С. Каров

11. Методика за синтез на структурни автомати, зададени чрез блокова схема на алгоритъма на функциониране

1999-03-18 15:54:01+02 1.БСА - блок-схема на алгоритъма - определение [12,15].При описване работата на широк кръг дискретни системи от областта на изчислителната техника, автоматизацията на производството и др. се оказва удобно системата да се представи от две части - операционно устройство (ОУ) и управляващо устройство (УУ). В областта на изчислителната техника ролята на операционно устройство могат да изпълняват регистри, суматори, памет, дешифратори и др., които извършват конкретни логически и аритметически операции. Изпълнението на тези операции става под управление на краен автомат, наречен управляващо устройство. Той обработва постъпващите от операционния блок входни сигнали и съгласно заложения в него алгоритъм на работа последователно във времето изработва управляващи сигнали. Това разделение е на логическо ниво. На физическо ниво двете устройства могат да бъдат обединени например в общ корпус на интегрална схема, както е при микропроцесорите или обособени в отделни блокове, както е например в една машина с цифрово-програмно управление (ЦПУ). Това разделение на ОУ и УУ може да бъде на различни нива. Например ЦПУ се явява УУ, но от своя страна включва в себе си процесор, който пък също има свое УУ.

Синтезът на дискретната система се свежда до ясно разграничаване на функциите на двете устройства и синтеза им поотделно. Операционните устройства са предмет на изучаване от други дисциплини [1]. Тук ще се представи последователността на синтеза на УУ, когато то се реализира на “твърда” логика.Редът, в който се изпълняват операциите в дискретното устройство, се определя от микропрограма, която представлява съвкупност от микрооперации и логически условия.Под микрооперация трябва да се разбира елементарен процес на преобразуване на информацията в дискретното устройство, извършващ се за един такт от работата на автомата (например изместване на информацията в регистъра на една позиция вляво, нулиране на регистър, установяване на флаг и др.). Изпълнението на дадена микрооперация се извършва, след като УУ активира съответен изходен сигнал (y1, y2, ..., ym). Ако в устройството се реализират едновременно няколко микрооперации, то това множество от микрооперации се нарича микрокоманда Y(t)={y1(t), y2(t), ..., yk(t)}. Изпълнението на микропрограмата се състои в последователно изпълнение на отделните микрокоманди. Тази последователност се определя от състоянието на входните сигнали, постъпващи към УУ (x1,x2,...,xr). Записът на тази микропрограма става с помощта на блок-схема на алгоритъма. Това е ориентиран свързан граф, съдържащ четири типа блокове: начален, краен, операторен (изпълним) и условен (фиг.11.2.).

БСА удовлетворява следните изисквания:- съдържа краен брой блокове от изброените типове;- има един начален и един краен блок;- входовете и изходите на блоковете се свързват чрез дъга, насочена от изход към вход;- всеки изход се свързва само с един вход;- всеки вход се свързва поне с един изход;- от всеки операторен блок съществува поне един път към блока “край”;- един от изходите на условния блок може да се свърже с входа му, което не е разрешено за операторния блок.2. Методика на синтез на автомат, зададен чрез блок-схема на алгоритъма (БСА).1). Уточнява се алгоритъмът на работа на дискретното устройство и се съставя БСА. Във всеки операторен блок могат да се запишат една или повече микрооперации. Допуска се наличие на т. нар. “празни” операторни блокове, в които липсва микрооперация. Във всеки условен блок се записва условието за изход от него. Получената БСА се нарича съдържателна.2). Заменят се условните оператори с входни сигнали xi и микрооперациите - с изходни сигнали yi. Еднаквите условия се отбелязват с еднакви xi. Еднаквите повтарящи се микрооперации се отбелязват с еднакви yi. В един операторен блок може да има повече от една микрооперация (yi).3). Отбелязват се състоянията на автомата съгласно определени правила, които са различни за автоматите на Мили и на Мур. При автомата на Мур във всеки операторен блок се отбелязва състояние. В блоковете “начало” и “край” се отбелязва началното състояние на автомата a1. При автомата на Мили началното състояние на автомата a1 се отбелязва на

изходящата дъга на блок “начало” и на входящата дъга на блок “край”. Останалите състояния се отбелязват след операторен блок или група операторни блокове. Построява се граф на преходите и изходите.4). Съкращава се броят на състоянията съгласно изучените правила за минимизация. Добре съставената БСА не съдържа излишни състояния и често тази процедура не се изпълнява.5). Кодират се състоянията на автомата съгласно изучените правила за кодиране. Получава се кодиран граф на преходите и изходите.6). Избира се видът на тригерите, от които ще се изгради паметта и се съставят таблици на преходите, изходите и функциите на възбуждане.7). Синтезират се логическите функции на възбуждане на паметта и функциите на изходните сигнали.8). Минимизират се логическите функции и се представят в определен базис. Съставя се логическата схема на автомата.Пример: Да се синтезира синхронно управляващо устройство, осъществяващо операция събиране на две числа със знак, представени в прав модифициран код.1). Уточняване на алгоритъма и съставяне на БСА.Използват се два основни метода за изпълнение на операцията - събиране в обратен код и събиране в допълнителен код. Ще работим по първия метод. За контрол на препълването на разрядната мрежа ще използваме модифициран код на събираемите при който знака е представен с два двоични разряда (знак плюс с код 00, а знак минус с код 11). Ако знакът на събираемото е положителен, то участва в събирането в прав код, а ако е отрицателен - в обратен модифициран код. В сумирането участват и знаковите битове. Ако получените знакови битове на сумата са 00, то резултатът е положителен и е представен в прав код, ако са 11, то резултатът е отрицателен и е представен в обратен код. Необходимо е преобразуването му в прав код. Когато знаковите бито-ве са 01 или 10, то в резултат на сумирането се е получило препълване.За да се състави БСА, трябва да се има известна представа и за операционното устройство (фиг.11.3.).

Използва се натрупващ суматор, в който предварително е заредено едното събираемо. Второто е заредено в регистъра Рг. Тригерът за препълване (ТгП) предварително е нулиран.

Операцията сумиране започва след разрешение “старт” от централното управляващо устройство. Проверките на логическите условия и изпълнението на микрооперациите се извършва в после-дователност, заложена в БСА (фиг.11.4). При достигане на оператора “край” резултатът се намира в суматора и е в прав модифициран код, а при случай на препълване тригерът ТгП е установен в единица.2). Заменят се условните оператори с входни сигнали:

Заменят се микрооперациите с изходни сигнали:

Управляващото устройство, което трябва да се синтезира, ще има четири входни сигнала и четири изходни сигнала.След получаване на БСА на УУ трябва да се избере модел на автомата. Ще се синтезират и двата модела автомати, но ще се започне с автомат на Мур.3). Отбелязват се състоянията на автомата на Мур. Те са шест.

Построява се граф на преходите и изходите.

4). Минимизация не се извършва.5). Кодиране на състоянията.Автоматът е синхронен и съседното кодиране не е задължително.a1 - 000 a4 - 011a2 - 001 a5 - 100a3 - 010 a6 - 1016). Избират се три различни тригера - D, R-S, J-K. (Това се прави с учебна цел, а не от гледна точка на минималност на схемата.) Построява се таблица на преходите, изходите и функциите на възбуждане.7). Синтезират се логическите функции на възбуждане и функциите на изходните сигнали директно от таблицата.

Синтез на структурен автомат на Мили.3). Отбелязват се състоянията на автомата на Мили. Те са три.

4). Минимизация не се извършва.5). Кодиране на състоянията:а1 - 00 а2 - 01 а3 - 106). Таблица на преходите, изходите и функциите на възбуждане

7). Синтезиране на логическите функции на възбуждане и функциите на изходните сигнали:

Въпроси и задачи:1). За какво служи БСА и от какви елементи се изгражда?2). Каква е последователността за синтез на структурен автомат по БСА?3). Какви са правилата за отбелязване на състоянията при синтез на автомат на Мили и автомат на Мур?4). Каква е структурата на таблицата на преходите, изходите и функциите на възбуждане на паметта и как се попълва?5). По зададена БСА за операция сумиране да се синтезира синхронен краен автомат на Мили. Да се използват - J-K тригери (фиг.11.5.).6). По зададена БСА за операция изваждане да се синтезира синхронен автомат на Мур. Да се реализира с помощта на елементи И, ИЛИ, НЕ и D-тригери (фиг.11.6.).7). По зададена БСА (фиг.11.7.) за операция деление- синтезирайте синхронен автомат на Мили;- синтезирайте синхронен автомат на Мур.Реализацията извършете с елементи по ваш избор.Забележка: Не се опитвайте да разберете алгоритмите, заложени в предложените БСА. Разглеждайте блоковите схеми като последователности от микрооперации, на които трябва да присвоите съответен изходен сигнал y1.

Автор: С. Иванов, Ю. Петкова, С. Каров

12. Изместващи регистри. Синтез на броячи и генератори на двоични последователности на базата на изместващи регистри

1999-03-18 16:12:26+02 Изместващите регистри като структури са изградени от няколко последователно свързани тригера, чието превключване се извършва под въздействието на общ тактов сигнал. Структурата има един даннов вход и един даннов изход (фиг.12.1.).

Съществуват модификации на изместващи регистри при които са изведени изходите на всички тригери. Някои от изместващите регистри могат да бъдат установявани в произволно начално състояние, т. е. имат входове за паралелно зареждане, чрез които всеки тригер може да се установи в желаното от нас състояние. Други изместващи регистри могат да бъдат установявани в “нулево” (всички тригери се нулират) или “единично” (всички тригери се установяват в “1”) състояние.Стандартни приложения на ИР са: преобразуватели от паралелен в последователен код и обратно, броячи на Джонсън и др. Тук целта ни ще бъде да използваме ИР като готови

структури за нестандартна реализация на броячи и генератори на двоични последователности.1.Синтез на броячиТук ще стане дума за синтез на броячи с произволен ред на броене. Структурата на такъв брояч е показана на фиг.12.2. Функцията fов осигурява необходимата последователност на превключване на ИР.

За решаването на тази задача се използва т.н. универсална диаграма на преходите на ИР. Тя представлява граф, чиито възли отразяват всички възможни вътрешни състояния на ИР. От всеки възел има по две изходящи дъги - при постъпване на входа на ИР съответно на “1” и на “0”. Към всеки възел има и по две входящи дъги- една от състоянието от което отпада “1” и една от състоянието от което отпада “0”.Пример: Да се синтезира брояч до 5 на базата на изместващ регистър.1. Избор на изместващ регистър и построяване диаграма на състоянията му.От условието на задачата следва, че изместващият регистър трябва да има поне пет вътрешни състояния. Тъй като броят на състоянията на изместващия регистър е равно на 2n, където n е броя на тригерите, следва че ни е необходим поне триразряден изместващ регистър. Построяваме универсалната диаграма на преходите.

2. В така построената диаграма избираме затворен път, минаващ през пет различни състояния. Изместващият регистър трябва да може да бъде установен в едно от тези състояния и него ще изберем за начално. Обикновено за начално се избира “нулевото” състояние.Нека изберем пътя 000-100-110-011-001(-000)3. Определяне на функцията на обратна връзка (fов), осигуряваща такива стойности на входа на ИР, щото той да се превключва според избраните от нас състояния.Трябва да се съблюдава изискването fов различно от 0 при състояние 000 и fов различно от 1 при състояние 111, за да се избегне самоблокиране на изместващия регистър. На това изискване трябва да се обърне внимание най - вече в случаите на доопределяне на стойности на fов в картата на Карно. При доопределяне на стойности на fов трябва да се внимава също така да не се получат самозациклящи контури, като например:fов=1 при състояние на ИР 010 иfов=0 при състояние на ИР 101

На практика fов повтаря състоянията на входния тригер на UP, но с 1 такт изпреварване. При състояние 000 fов равно на 1, т. е. нямаме условие за самоблокиране на ИР (фиг.12.3.).Построяваме карта на Карно за fов, като неизползваните състояния на ИР приемаме за неопределени (фиг.12.4.).

Примерна схемна реализация на брояча е показана на фиг.12.5.

За да се синтезира нормален сумиращ или изваждащ брояч трябва изходите на схемата която ще получим да дава двоичните комбинации от 000 до 100. За целта ще трябва да синтезираме комбинационна схема преобразуваща стойностите на вътрешните състояния в желаните от нас стойности. За нашия пример трябва да се синтезират три функции (изходите на брояча) на 3 аргумента (променливите, отразяващи вътрешните състояния).

Структурата на такъв брояч е показана на фиг.12.6.

2.Синтез на генератор на двоична последователност.Генераторът на двоична последователност представлява устройство с един изход, на който в точно определен ред се извеждат зададен брой логически стойности “1” и “0”.Този вид устройства могат да имат най-различни приложения. Едно от тях е например генератор на тестови двоични последователности за проверка на цифрови схеми.

Пример: Да се синтезира генератор на двоична последователност с дължина 7 бита, представяща ASCII кода на латинската буква U - 1010101(2). Последователността да се изработва от младшия към старшия бит.Използвайки подхода от предходната задача, синтезираме автомат със 7 вътрешни състояния.

От таблицата се вижда, че нито някой от разрядите на ИР, нито fов съвпадат с желаната от нас последователност. От това следва, че трябва да се синтезира допълнителна комбинационна схема, която да формира зададената последователност 1010101(2).

Структурата на синтезираното от нас устройство би изглеждала по следния начин:

В някои случаи е възможно генерираната последователност да съвпада с изменението на някои от разрядите на ИР или с fов. При това положение отпада необходимостта от синтез на допълнителна комбинационна част за реализация на функцията fg.Въпроси и задачи.1).Какви видове изместващи регистри познавате?2).Какво представлява универсалната диаграма на преходите на изместващ регистър? Начертайте универсалната диаграма на преходите на 4 разряден изместващ регистър.3).Каква е последователността на синтез на брояч на базата на изместващ регистър?4).При какви условия може да възникне самоблокиране на изместващия регистър?5).Да се синтезира изваждащ брояч до 5 (от 4 до 0) на базата на изместващ регистър.6).Да се синтезира десетичен брояч на базата на изместващ регистър.7).На базата на изместващ регистър да се синтезира генератор на непрекъсната двоична последователност, представляваща редуващи се ASCII кодове на символите U и * (1010101 и 0101010). (Упътване: синтезирайте допълнителна схема за инвертиране на изходния сигнал на ИР на всеки 7 такта).Автор: С. Иванов, Ю. Петкова, С. Каров

13. Синтез на комбинационни и последователностни схеми на базата на мултиплексори

1999-03-18 16:21:41+02 1. Основни функцииМултиплексорът като функционален елемент представлява схема, комутираща един от 2n

входа, наречени информационни, към един изход. Изборът на информационния вход, който ще се комутира към изхода се извършва с помощта на допълнителни входове, наречени адресни или селекторни.Примерна схема на мултиплексор:

x3 до x0 - информационни входовеa1, a0 - адресни входовеf - информационен изход

В практиката се използват мултиплексори с 2, 4, 8 и 16 информационни входа. Освен адресни и информационни входове, мултиплексорите могат да имат и входове за разрешение. Обикновено, наред с правия информационен изход съществува и инверсен.Логическата схема на мултиплексор 4 към 1 е дадена на фиг.13.1.

Стандартни схеми на мултиплексори са SN74150, 151, 153, 157При необходимост от нарастване броя на информационните входове е възможно каскадно свързване на мултиплексори по начина, показан на фиг.13.2.При такова свързване броят на информационните входове е 2n*2n=22n ,където n е броят на адресните входове на мултиплексорите, когато те са от един и същи тип.2.Използване на мултиплексора като генератор на логически функции.Нека разгледаме един четиривходов мултиплексор

Изхождайки от израза за функцията f, можем да кажем, че това е функция на аргументите xi, a1, и а0 чиито стойности за различните комбинации на адресните входове се определят се определят от стойностите x3,...x0. Например ако x3=1, а x2=x1=x0=0, то f=a1.a2 (виж израза за f). Ако разглеждаме стойностите на информационните входовекато стойности на променливата x, то можем да съставим следната карта на Карно за функцията f.Оградените двойки клетки представляват функции на променливата x които могат да приемат стойностите 1, 0, x или . Ако обозначим тези функции с D0 до D3, то изразът за функцията f може да се запише така:

От казаното до тук можем да направим извода, че с помощта на мултиплексор можем да реализираме произволна логическа функция, като на адресните входове подаваме част от аргументите, а с останалите аргументи съставяме помощни функции, които се подават на информационните входове.

Пример 1На базата на четиривходов мултиплексор да се синтезира пълен едноразряден суматор. Таблицата на истинност на този суматор е показана в Тема 5.ai, bi - събираемиci-1 - пренос от предходния разрядSi - сумаci - преносНа практика имаме да реализираме две функции на три аргумента.Картите на Карно за Si и ci биха могли да се попълнят по 3 различни начина в зависимост от това , коя двойка аргументи ще изберем за адреси.Избираме варианта при който е прието ci-1 да формира сигналите на информационните входове.

Реализация

Пример 2На базата на четиривходов мултиплексор да се реализира функцията

.В този случай са възможни 6 варианта за избор на аргументи, които се подават на двата адресни входа: x3x2, x3x1, x3x0, x2x1, x2x0, x1x0. Ще разгледаме два от възможните варианти. Построяваме карта на Карно за функцията f(x3,x2,x1,x0).

От разгледаните два варианта избираме за реализация този, който изисква по- малко елементи.

Забележка:За да постигнем най-проста реализация е необходимо да разгледаме всичките 6 възможни варианта на адресиране.При по-голям опит самата карта на Карно подсказва, кои от променливите да бъдат подадени към адресните входове за да се получат слепващи се или еднакви подкарти за останалите променливи, т. е. за да се получи минимална логическа схема.3.Синтез на последователностни схеми на базата на мултиплексори.От теорията е известно, че последователностните схеми представляват комбинационни схеми с обратна връзка. Нека въведем обратна връзка в един двувходов мултиплексор по начинa показан на фиг.13.3.Таблицата на истинност за тази схема има вида показан на фиг.13.4.От таблицата се вижда, че състоянията 010 и 011 са неустойчиви и схемата непрекъснато ще се превключва от едното в другото и обратно т. е. входна комбинация x1=0 и x0=1 не трябва да се подава.Нека инвертираме сигнала x1 и подредим новополучените комбинации във възходящ ред. Ако сравним тази таблица с таблицата на преходите на R-S тригер ще установим, че с отчитане на забранените комбинации, двете таблици са еднакви (фиг.13.5.).

От казаното до тук можем да направим извода, че мултиплексорът с ОВ работи като асинхронен R-S тригер.Ако мултиплексорът е с два адресни входа, то можем да направим свързването показано на фиг.13.6.Функционирането на тази схема бихме могли да запишем в матричен вид.

където xa и ya са адресни сигнали на мултиплексора (автомата)X и Y са изходни състояния на мултиплексора (автомата)[A] е матрица на входните променливи, която има толкова реда, колкото са адресните сигнали и толкова стълба, колкото е броя на входовете, т. е. при n адреса имаме n реда и 2n стълба.

При осем входов мултиплексор можем да запишем:

Това твърдение подробно е разгледано в [18]Синтезът на асинхронен автомат на базата на мултиплексори на практика се свежда до избор на мултиплексор и до определяне на стойности в матрицата [A].Примерна последователност на синтеза на автомат на базата на мултиплексор:1.Съставя се граф на преходите на автомата2.Определя се броят и вида на мултиплексорите: При 2n състояния - n мултиплексора с n адресни входа.3.Съставя се матрица на входните променливи елементите на която се определят по правилата:-на всеки стълб от матрицата съответства състояние на автомата. Препоръчително е състоянията на автомата да се подреждат не по нарастващ индекс, а по нарастващ код. По този начин се облекчава съставянето на логическата схема.-елементите на даден стълб се определят по правилата:а)ако при преход от едно състояние в друго (други) състояние (състояния), т.е. от един стълб в друг, дадена вътрешна променлива не променя стойността си, то в съответстващият и ред и стълб се записва нейната стойност (1 или 0);б)ако вътрешната променлива променя стойността си от 0 в 1, то в съответстващия и ред и стълб се записва входната променлива предизвикваща прехода;в)ако вътрешната променлива променя стойността си от 1 в 0, то в съответстващия и ред и стълб се записва инверсията на входната променлива предизвикваща прехода;г)ако преходът е безусловен, то в съответния и ред и стълб се записват новите стойности на вътрешните променливи.Пример:

4. За началното състояние се присвоява код 00..0 защото чрез входа за разрешение Е можем да установим изхода на мултиплексора Y в състояние “0”.

Пример:На базата на мултиплексори да се синтезира автомат, който е зададен със таблица на преходите и изходите (фиг.13.7.)Обозначаваме вътрешните променливи с X и Y, и кодираме вътрешните състояния по следния начин:a0=00, a1=01, a2=11, a3=10Използвайки казаното по-горе можем да запишем следното матрично уравнение:Следвайки правилата за съставяне на матрица на входните въздействия получаваме:

Схемата, реализираща функциите на зададения автомат може да се синтезира на базата на четиривходови мултиплексори. Примерна реализация е показана на фиг.13.8.Въпроси и задачи.1).Колко входа трябва да има мултиплексор, с който реализираме функция на 4 променливи, при условие че не трябва да се използват допълнителни схеми?2).На базата на четиривходов мултиплексор, синтезирайте схема, реализираща функцията: f(x2,x1,x0)=m0+m3+m4+m6

3).Какви са правилата за попълване на матрицата на входните въздействия?4).На базата на мултиплексори да се синтезира автомат зададен чрез показаната таблица на преходите и изходите.Автор: С. Иванов, Ю. Петкова, С. Каров

14. Програмируеми логически устройства 1999-03-18 16:26:59+02

Това са гама от устройства,чиято вътрешна структура позволява чрез програмирането им да се реализират комбинационни схеми или последователностни схеми. Разнообразието от видове и технологии е голямо, но всяко едно от тези устройства съдържа в себе си една “И” и една “ИЛИ” запомняща матрица, като едната или двете матрици са програмируеми. Входните променливи се подават към “И” матрицата, която изпълнява операция логическо умножение между всички или част от променливите и формира т. н. p-терми или p-линии. Тези изходни линии от “И” матрицата постъпват към входа на “ИЛИ”матрицата. В нея се извършва операция логическа сума на всички или част от термите и се формират необходимите изходни функции.

В зависимост от това , възможно ли е програмирането на “И” и “ИЛИ” матриците се различават следните групи логически устройства.

- Програмируемата памет съдържа една непрограмируема “И” матрица, реализираща функция на дешифратор т. е. пълния набор от минтерми и една програмируема “ИЛИ” матрица.- Програмируемата матрична логика (PAL) и общата матрична логика (GAL) имат една програмируема “И” матрица и една непрограмируема “ИЛИ” матрица. Вътрешната структура на PAL и GAL в общи линии съвпада, но докато PAL позволява еднократно програмиране, то GAL позволява многократно програмиране (от 20 до 100 пъти).- Програмируемата логическа матрица (PLA) съдържа програмируема “И” и програмируема “ИЛИ” матрица.- Програмируемите в система устройства (ispLSI) имат сложна вътрешна структура и съдържат в себе си голям брой блокове с общо предназначение (наподобяват PAL, PLA), блокове за вход/изход, таймери, регистрови блокове и др. Връзките между отделните блокове, както и връзките в блоковете с общо предназначение се програмират. За програмирането не се изисква специално апаратно средство (програматор), както при горните три групи устройства, а може да бъде извършено докато устройството се намира в състава на общата логическа схема.Всяка една от разгледаните групи програмируеми логически устройства има своите особености и разнообразие от решения, които са описани в справочната литература.По-подробно ще се разгледат приложенията на PROM и PLA.

Програмируеми памети. Синтез на комбинационни схеми и последователностни схеми на базата на програмируеми памети

1. Основни функции.Програмируемите памети се използват главно в микро-процесорната техника за съхраняване на изпълними програми. С успех могат да бъдат използвани и за синтез на логически схеми. PROM - това е еднократно програмируемо постоянно запомнящо устройство (ПЗУ). EPROM - това е ПЗУ, на което може многократно да бъде изтривана информацията с ултравиолетова светлина, и да бъде препрограмирано. EEPROM - това е ПЗУ, при което изтриването на информацията е възможна и се извършва по електрически път. Всички те имат приблизително еднаква структура.

ПЗУ има адресни входове, даннови изходи и управляващи входове. Съдържа следните блокове:

- “И” матрица. Тя е непрограмируема и на практика представлява пълен дешифратор. Има n входа и 2n изхода. В даден момент само един от изходите е активен. На “И” матрицата може да се гледа и като на генератор на минтерми. При дадена комбинация подадена на адресните входове се генерира съответния минтерм.- “ИЛИ” матрица - тя е програмируема и има 2n входа, m изходи, и 2n клетки с по m възела във всяка от тях. Структурата на възела на матрицата при различните типове и технологии ПЗУ е различна. Общото е че във всеки един от възлите в режим на програмиране може да бъде записана логическа “0” или “1”. В режим на четене, когато съответната клетка е избрана записаната в нея информация се извежда чрез данновите линии.- Изходният буфер, когато е избран комутира данновите линии към изходите, а когато сигналът OE е пасивен т. е. “1” изходите се намират във високо импедансно състояние.Основни параметри на ПЗУ са:- брой входове или брой клетки (n или 2n)- разрядност на клетките (m)2. Синтез на комбинационни схеми (КС) на базата на ПЗУСинтезът на КС на базата на ПЗУ се свежда до избор на памет с определени параметри и уточняване на информацията, която трябва да се запише в нея за да се генерират необходимите изходни функции.

Броят на адресните входове на избраното ПЗУ трябва да бъде по-голям или равен на броя на входните променливи на комбинационната схема.Броят на данновите изходи на ПЗУ трябва да бъде по- голям или равен на броя на изходните функции на комбинационната схема.Масово използваните ПЗУ имат от 4-5 до 14-15 входа и 4, 8 или 16 даннови изхода.При невъзможност от удовлетворяване на някое от горните две условия е възможно използване на повече от едно ПЗУ и обединяването им по определени правила.Програмирането на ПЗУ става чрез специализирани устройства - програматори. Необходимо е само да се определи какви данни ще се записват в клетките на паметта.Пример: На базата на ПЗУ да се синтезира КС, реализираща следните функции:f4(x1,x2,x3)=V(0,3,5)f3(x1,x2,x3)=V(1,2,3,6,7)f2(x1,x2,x3)=V(4,5,7)f1(x1,x2,x3)=V(3,6)1. Избираме ПЗУ за което n>=3(x1x2x3) т. е. то трябва да има 8 клетки и m>=4(f1,f2,f3,f4) т. е. изходите трябва да бъдат минимум четири. От каталог избираме PROM с организация 16x4 т. е. 16 клетки по четири бита във всяка.2. Присвояваме входните променливи и изходните функции съответно на адресните входове и даннови изходи. Забележете, че на неизползвания адресен вход A3 подаваме “0” и разрешаваме изходния буфер чрез подаване “0” на входа OE.

3. Съставяме таблицата на истинност на системата логически функции и определяме данните , които ще се запишат в съответните клетки на ПЗУ. Забележете, че ще се програмират само първите осем клетки от ПЗУ.

Наличието на точка значи, че в съответната битова позиция на клетката е записана “1”, а отсъствието - “0”.Програмирането чрез поставяне на точки има само учебен ефект.Ако функциите са представени в ДНФ или МДНФ, то те предварително трябва да се представят в СДНФ или директно да се попълни таблицата на истинност.3. Синтез на последователностни схеми на базата на ПЗУ.Структурната схема на един краен автомат съдържа комбинационна част и памет (фиг.14.2.). Синтезът на краен автомат на базата на ПЗУ се свежда до избор на паметта и до реализация на комбинационната схема чрез ПЗУ.

Спазва се последователността на синтез, описана в тема 11.Пример: Да се синтезира синхронен автомат на Мили по зададена блок - схема на алгоритъма. Да се реализира с използване на D тригери и ПЗУ.1. Заменяме условните операции с входни сигнали и микроопе-рациите с изходни сигнали, които ще предизвикат тяхното изпълнение.2. Отбелязваме състоянията и построяваме граф на преходите и изходите. Кодираме състоянията.

3. Построяваме таблицата на преходите, изходите и функциите на възбуждане.

4. Реализация на базата на ПЗУ- избор на ПЗУСъставя се структурна схема на автомата. От нея се уточнява броят на входовете и изходите на ПЗУ. В случая имаме четири входа и седем изхода. Избираме ПЗУ с организация 16x8.

5. Уточняваме кои входни променливи и даннови изходи на паметта, на кои адресни входове ще се подават и на кои даннови изходи кои функции ще се генерират. Построяваме таблица на ПЗУ изхождайки от таблицата на преходи, изходи и функции на възбуждане.

Когато автоматът е непълно определен или броят на състоянията не е кратен на 2n, ще останат неизползвани клетки от паметта, които при нормална работа на автомата няма да се адресират. Те могат да бъдат използвани за организиране на безусловен преход към някое от използваните състояния на автомата. По този начин се увеличава надежността на работа на автомата.Въпроси и задачи.1). Какви видове програмируеми памети познавате? Каква е вътрешната им структура?2). Каква е последователността за синтез на КС, използвайки ПЗУ?3). Каква е последователността на синтез на последо-вателностни схеми на базата на ПЗУ?4). Да се синтезира и реализира с помощта на ПЗУ комби-национна схема, реализираща следните функции:

5). Да се синтезира КС, реализираща следните функции:f1(ABC)=V(0,1,2,6,7)f2(ABCD)=V(0,1,8,9,10,11,12,14,15)f3(ABCDE)=V(0,1,16,17,18,19,20,21,22,23,24,26,28,29,30,31)КС да се реализира чрез ПЗУ.6). С помощта на три ключа K1, K2 и K3 се управляват лампи L1, L2 и L3. Ако ключовете се включват в последователност K1, K2, K3 - светва L1, ако се включват в последователност K2, K3, K1 - светва L2 и ако се включват в последователност K3, K1, K2 - светва L3.

Ако ключовете се включват в някакъв друг ред, да се задейства звуков сигнал, който да е активен докато ключовете не бъдат върнати в изходно състояние. Реализирайте схемата, използвайки ПЗУ.

Автор: С. Иванов, Ю. Петкова, С. Каров

15. Програмируеми логически матрици. Синтез на комбинационни схеми и на последователностни схеми на базата на програмируеми логически матрици

1999-03-18 16:45:45+02 1. Основни функцииПрограмируемите логически матрици (ПЛМ) са логически схеми специално създадени за ефикасна реализация на комбинационни и последователностни схеми. Обобщената структурна схема на ПЛМ е дадена на фиг.15.1.

- входният блок има n входни линии и 2n изходни линии и генерира освен самите входни променливи и тяхната инверсия

- “И” матрица - Има 2n входа, k изхода и n*k възела, където k е броя на различните терми (минтерми), които могат да бъдат генерирани от матрицата чрез програмирането и. Вътрешната структура на матрицата е регулярна. На фиг.15.2. е даден един възел от нея преди програмиране. фиг.15.2.Ако променливата xi не участва в терма pj и двете връзки F1 и F2 трябва в процеса на програмиране да бъдат отстранени.Ако xi участва в терма pj в права форма, връзката F1 трябва да бъде запазена, а F2 - отстранена. Ако xi участва в терма със своята инверсия, съответно връзката F1 трябва да бъде отстранена, а F2 - запазена.Пример: Нека да бъде реализиран термът В разгледания пример при програмирането са отстранени 4 връзки и са запазени две.

Само при комбинация на променливите x1=0, x2=* и x3=1 терм p1 ще е равен на “1”. При всички други комбинации p1 ще е равен на “0”.

Наличието на връзка, за по- голямо удобство при изобразяване на матрицата, ще отбелязваме с точка.- “ИЛИ” матрица - Има k входа и m изхода и k*m възела, където m е броят на различните функции, които могат да бъдат реализирани от матрицата. Схемата на един възел е дадена на фиг.15.3.Ако термът pj участва във функцията fq, то връзката F трябва да бъде запазена при програмирането. Когато pj=1, транзисторът T ще бъде отпушен и функцията fg=1. Когато pj=0 то T е запушен и fg=0.Ако pj не участва във функцията fg, връзката трябва да бъде премахната.

Пример:

не участва в f1 и затова липсва връзка (точка) в “ИЛИ” матрицата.- изходен блок - това е блокът, по който се различават различните ПЛМ. Съществуват реализации, в които този блок представлява съвкупност от буфери с три изходни състояния, регистров блок, “ИЛИ-НЕ” матрица и др. Реализацията на блока определя и вида и броя на управляващите сигнали.

Съществуват и схемни решения, при които част от изходите на “ИЛИ” матрицата или на изходния блок са подадени към “И” матрицата като входове, т. е. увеличава се броят на променливите, от които се формират термите, без да се увеличава броя на изводите на интегралната схема.Основните параметри на ПЛМ са:- брой входни променливи - n;- брой изходни функции - m;- брой p линии.Отстраняването на връзките се извършва в режим програмиране и се свежда до прегарянето им при пропускане на подходящ ток през връзката (т. н. бушон).2. Синтез на комбинационни схеми на базата на ПЛМСинтезът на КС се свежда до:- избор на подходяща ПЛМ;- програмиране на “И” и “ИЛИ” матрицатаПример: Използвайки ПЛМ, да се синтезира многоизходна комбинационна схема, реализираща следните функции:

Изборът на ПЛМ се извършва по следните правила:- Броят на входовете на ПЛМ трябва да бъде по- голям или равен на броя на променливите, т. е. n>=6 (f(ABCDEF)).- Броят на изходите на ПЛМ трябва да бъде по- голям или равен на броя на изходните функции т. е. m>=4 (f1 f2 f3 f4)

- Броят на p линиите трябва да бъде по- голям или равен на броя на различните терми от системата логически функции. В нашия случай те са 14 (p4 и p7 се повтарят), следователно k>=14 (p1 до p14).От справочника се избира ПЛМ, отговаряща на тези условия (Например за SA94806 n=16 к=48 м=8 и има 28 извода).Програмирането на двете матрици става, чрез специален програматор и придружаващ го софтуер. Подобен език за логическо проектиране ABEL, който се използва за програмиране и тестване на ПЛМ (само на PAL), е описан в ръководство за лабораторни упражнения по “Автоматизация на проектирането и конструирането на електронна апаратура” с автори Д. Ковачев и Р. Великов (ЛУ N13).В нашия случай програмирането ще се свежда до определяне на връзките, които ще се запазят в двете матрици, т. е. до поставяне на точки в необходимите възли и има обучаващ ефект.

Трябва да се отбележи, че минимизация на системата логически функции се извършва, само ако е необходимо да се намали броят на термите, за да се приведе в съответствие с броя на p-линиите на ПЛМ.Гамата от предлаганите ПЛМ е голяма и лесно може да се избере най-подходящият чип. Потребителят може лесно, преми-навайки през фазите на проектиране, симулация и програмиране, да създаде КС, реализираща сложни изходни функции. ПЛМ имат бързодействие съизмеримо с това на TTL елемент, сравнително ниска цена и висока надежност.3. Синтез на последователностни схеми на базата на ПЛМСтруктурата на един автомат съдържа комбинационна част и памет (фиг.15.4.).Реализацията на този автомат чрез ПЛМ се свежда до избор на подходяща външна памет и синтез на КС.Ако се използва ПЛМ, в структурата на която има и памет, то реализацията на автомата може да се извърши с един единствен чип. фиг.15.4.Методиката за синтез ще бъде демонстрирана чрез следния пример: По зададена БСА да се синтезира синхронен автомат на Мур. Да се реализира чрез ПЛМ и D тригери.При синтеза спазваме методиката, дадена в тема 11.1. Условните оператори са заменени с входни сигнали x, а микрооперациите с изходни сигнали y.2. В изходната блок-схема на алгоритъма отбелязваме състоянията и построяваме граф на преходите и изходите. Кодираме състоянията.

3. Построяваме таблица на преходите, изходите и функциите на възбуждане. Извеждаме логическите функции на възбуждане на паметта и изходните функции.

4. Реализация на автомата на базата на ПЛМ.- избор на подходяща ПЛМ.В нашия случай броят на входовете е 4, на изходите 6, а броят на различните терми е 8. От каталог избираме чип с параметри n>=5, m>=6 и p>=8.

- програмиране на матриците.

ПЛМ (PLA) са по-универсални от PAL и GAL, но имат и своите недостатъци в сравнение с тях.При PAL и GAL “ИЛИ” матрицата е непрограмируема и това прави устройствата с по-малки размери, по-евтини и с по-голямо бързодействие. Това ги прави икономически по-изгодни и затова използването им е по-голямо. Недостатъкът на PAL е, че броят на p-линиите, участващи в операцията “ИЛИ”, е фиксиран (за PAL 20L8A например p-линиите са 8).Този недостатък може частично да се избегне като част от изходните функции се подават в “И” матрицата и могат да се ползват за формиране на сложни терми. На фиг.15.5. е даден един възел от “ИЛИ” матрицата.Съществуват и PAL които в изходния си блок съдържат буфери, тригери или други елементи. Това позволява с тяхна помощ да се реализират и последователностни схеми.Въпроси и задачи1). Каква е вътрешната структура на ПЛМ? Каква е функцията изпълнявана от отделните блокове?2). Кои са основните параметри на ПЛМ?3). Каква е последователността на синтеза на КС на базата на ПЛМ?4). Каква е последователността на синтеза на краен автомат на базата на ПЛМ?5). Да се синтезира сумиращ брояч до 16, сработващ по преден фронт на броячния вход. Състоянието на брояча да се индицира чрез седемсегментен индикатор. Реализирайте схемата, използвайки ПЛМ.6). На базата на ПЛМ да се синтезира едноразряден пълен суматор.7). Устройство има два входа x1 и x2 и един изход y. Изходният сигнал y се установява в “1” при входна последователност 00, 10 и 11 и остава в него, докато на входа не постъпи входна последователност 11, 10, 00. Нарушаването на последователностите не води до промяна на състоянието на изходния сигнал y. Да се реализира чрез ПЛМ.

Автор: С. Иванов, Ю. Петкова, С. Каров