11.1.Програмируема комбинационна логика
Първата програмируема интегрална логическа схема е диодната логическа ИЛИ матрица, появила се в началото на 60-те години. Тя представлява съвокупност от редове и колони, свързани в пресечните точки с диоди и прогоряеми връзки. Връзките могат селективно да бъдат прогаряни, елиминирайки някои от кръстосаните съединения и
оставяйки другите. На фиг. 3.36 е показана диодна ИЛИ матрица за четири функции Fj от четири входни величини 7/. Всяка функция реализира логическа сума на входните величини Fj = Ij + I2 + I3 + Ц- С прогаряне на връзка се елиминира член от тази сума.
Следващата стъпка в развитието на програмируемата логика е добавянето на входен дешифра-тор и изходни буфери към диод-ната логическа ИЛИ матрица. Тези допълнения на програмируемата логика позволяват тя да добие ново качествено съдържание. Преди всичко е съкратен броят на изводите за входните сигнали, като те се декодират вътре в логическата структура. На второ място, чрез изходните буфери се отстраняват недостатъците на диод-ната логика и изходните сигнали стават пълноценни логически сигнали. На фиг. 3.37 е показана структурата на програмируема ло-
гика с четири функции на две променливи.
Програмируема постоянна памет— PROM
В основата на създаването на съвременните програмируеми логически схеми стои обобщеното уравнение на произволна функция .Рна п променливи. Тя представлява 2П логически суми от произведенията на единичната функция fj с минтермите щ на входните величини:
Например, при две входни променливи Хд и Xj, разгънатата форма на уравнението за произволна функция има вида:
F = (XoXi)fo + (XoXi)^ + (XoXj)^ + {XoXjYj.
Единичните функции fj могат да заемат само стойности 0 или /. Така например, за логическото произведение на входните величини F= XqXj, fg= fj = /2 = 0, и fj = /. Може да се докаже, използувайки теоремите за преобразуване на логически уравнения, че за логическата сума на входните величини F = Хд + Xj, fg= On fj = /2= 11.2.?з= 1-
Логическата структура, която реализира обобщеното уравнение на произволна логическа функция, представлява една от основните видове програмируеми логики — програмируемата постоянна памет PROM (Programmable Read Only Memory).
Дешифраторът изработва минтермите на входните величини, а ди-одната ИЛИ матрица осигурява сумирането на онези минтерми, за които единичните функции в конкретното уравнение са /. Кодирането на стойностите на единичните функции 0 или / се извършва в ИЛИ матрицата чрез прогаряне или оставяне на съответните кръстосани диодни връзки. При това, може да се заложи логика за реализирането на няколко функции (използуват се една и съща логика за формирането на минтермите).
Формирането на минтермите (дешифрирането на входните променливи) също може да се извърши с диодна матрица, но тя трябва да реализира логическата функция И.
На фиг. 3.38 е показана структура на PROM c шестнадесет думи по четири бита всяка, с която могат да се генерират четири произволни функции на четири променливи. За удобство, местата на диодните връзки в матриците са показани условно, като фиксираните са означени с кръгчета, а програмируемите — с кръстчета. Полето на И матрицата, изработващо минтермите, е фиксирано и не подлежи на програмиране, докато полето на ИЛИ матрицата се програмира от потребителя според стойностите на единичните функции в уравненията на желаните от него изходни функции
С развитието на интегралната технология, се използуват и други начини за реализиране на логическите функции И и ИЛИ в матриците — например с използуването на MOS вентили с плаващ гейт и възможност за изтриване с ултравиолетова светлина или електрически импулс (репрограмируеми постоянни памети) и др.
Дотук става ясно, че всяка постоянна памет може да се използува като универсална комбинационна логическа структура. Според основното си предназначение (за съхраняване на информация), входовете за променливите в постоянните памети се наричат адреси, а изходните величини — данни.
3.6.2. Програмируеми 11.3.логически матрици — PLA
За генератор на логически функции, структурата на PROM е много неикономична по отношение на използуваемостта на заложените в нея елементи. Формирането на всички минтерми силно уголемява вътрешната програмируема матрица, при това всеки допълнителен вход удвоява нейния обем. В повечето от практическите случаи, не е необходимо наличието на всички минтерми.
Това е довело до идеята за създаването на по-малка програмируема структура, в която е ограничен броят на възможните минтерми на входните величини и той е по-малък от 2п.
Такава примерна структура за четири входни величини и четири изходни функции е показана на фиг. 3.39. Тя се нарича програмируема логическа матрица PLA (Programmable Logic Array). Както се вижда, броят на минтермите е ограничен в примера до 8, вместо максималните 16. Полето на логическата И матрица обаче също е програмируемо, благодарение на което потребителят може да формира онези минтерми, които са му необходими. В примера, той може да ползува 8 от всички 16 възможни минтерми. Тъй като понятието PLA се използува и в по-широкия смисъл, за именуване на програмируема логика, примерната структура от фиг3.39 се нарича още логическа матрица с програмируемо поле FPLA (Field-Programmable Logic Array)
PLA концепцията позволява лесно да се изграждат програмируеми структури с много входни величини. Тя не може да генерира абсолютно всички функции на входните величини, но с успех задоволява повечето от съществуващите в практиката потребности. В действителност, при нея само е ограничен броят на логическите суми в общото уравнение на произволна логическа функция.
3.6.3. Програмируема матрична логика — PAL
Недостатък на PLA е наличието на две програмируеми от потребителя полета — това на матрицата И и това на матрицата ИЛИ, което представлява определено проектантско и технологично неудобство. Това неудобство е отстранено при програмируемата матрична логика PAL (Programmable Array Logic). При нея, броят на възможните мин-терми също е ограничен на по-малък от 2F.
11.4.
Ограничението обаче е извършено чрез фиксиране на определен брой връзки в полето на логическата матрица ИЛИ, извършено от производителя. Полето на матрицата И е оставено за програмиране от потребителя, който и тук може да избира кои минтерми да формира.
Примерна схема на PAL c четири входни величини и две изходни функции е показана на фиг. 3.40. Броят на минтермите за всяка от двете функции е ограничен на 4, което означава, че реализирането на функция трябва да се ограничи до логическото събиране само на 4 минтерми от всичките 16 възможни минтерми.
Частта от програмируемата И матрица и фиксираната ИЛИ матрица, необходими за реализирането на една функция, се нарича основна клетка на PAL. При практическото интегрално изпълнение на PAL, се използуват различни по състав основни клетки, който притежават и някои допълнения, спрямо класическата теоретична постановка. Като пример, на фиг. 3.41 е показана основната клетка на комбинационния PAL 16L8.
Допълнително, тя притежава изходен буфер с три състояния, чието управление също може да се програмира от полето на матрицата И. Изходът на основната клетка е върнат през буфер и може да участва като входна величина при програмирането на всички основни клетки. Така могат да се реализират различни обратни връзки, включително и към други основни клетки за синтезиране на доста сложни схеми. Ако изходният буфер на основната клетка се програмира да бъде постоянно забранен, то благодарение на обратния буфер, съответният извод може да се използува само като допълнителен вход. PAL 16L8 съдържа 8 такива клетки, в две от които обаче липсва споменатата обратна връзка.
От всичко 18 функционални извода, 10 са само входове, 2 — само изходи, а 6 могат да се използуват като входове и като изходи, т.е. схемата има максимално 16 входа и максимално 8 изхода, което както се вижда е отразено и в означението й.
Сподели с приятели: |