Sunteți pe pagina 1din 6

PLD = Programmable Logic Devices = Circuite / dispozitive logice programabile

Circuitele logice programabile, cunoscute i sub forma acronimului PLD (Programmable Logic Devices), sunt circuite integrate care conin un numr mare de pori sau celule a cror interconexiune poate fi configurat sau programat pentru a implementa orice funcie combinaional sau secvenial dorit. Pentru programarea circuitelor PLD se utilizeaz dou tehnici: programarea prin mti, care se efectueaz n timpul procesului de fabricaie, sau programarea de ctre utilizator, pentru care se utilizeaz echipamente de programare cu costuri reduse. Multe circuite PLD pot fi reprogramate de utilizator de multe ori, motiv pentru care ele sunt avantajoase pentru realizarea prototipurilor unui nou produs. Conexiunile programabile ntre elementele logice ale unui circuit PLD conin comutatoare realizate de obicei cu tranzistoare sau antifuzibile (uneori fuzibile). Porile logice programabile ale unui circuit PLD pot fi reprezentate n mod simplificat ca n Figura 1(b). n locul unor linii de intrare multiple la fiecare din aceste pori, ca n Figura 1(a), n reprezentarea simplificat s-a figurat o singur linie. Semnul indic o conexiune programabil a unei linii de intrare la o poart logic. Absena semnului indic faptul c respectiva conexiune a fost programat n starea deconectat.

Figura 1. Pori I, respectiv SAU: (a) reprezentare obinuit; (b) reprezentare simplificat pentru circuitelePLD Exist mai multe tipuri de circuite care sunt denumite n mod generic circuite logice programabile (PLD). Principalele tipuri sunt prezentate n continuare.

1. PLA = Programmable Logic Array = Reea / arie logic programabil


O reea logic programabil PLA este similar ca i concept cu o memorie ROM, cu diferena c nu realizeaz decodificarea complet a variabilelor i nu genereaz toi mintermenii. Decodificatorul este nlocuit cu o reea de pori I care poate fi programat pentru a genera termenii produs formai din variabilele de intrare. Termenii produs sunt apoi conectai n mod selectiv cu pori SAU pentru a genera suma termenilor produs pentru funciile booleene necesare. Structura de baz a unui circuit PLA este prezentat n Figura 2.

Figura 2. Structura general a unui circuit PLA. Un circuit PLA poate implementa n mod direct un set de funcii logice exprimate printr-un tabel de adevr. Fiecare intrare pentru care valoarea funciei este adevrat necesit un termen produs, i acestuia i corespunde o linie de pori I din primul etaj al circuitului PLA. Fiecare ieire corespunde la o linie de pori SAU din al doilea etaj al circuitului. Numrul de pori SAU corespunde cu numrul de intrri din tabela de adevr pentru care ieirea este adevrat. Dimensiunea total a circuitului PLA este egal cu suma dintre dimensiunea reelei de pori I i dimensiunea reelei de pori SAU. Din Figura 2 se observ c dimensiunea reelei de pori I este egal cu numrul de intrri multiplicat cu numrul termenilor produs, iar dimensiunea reelei de pori SAU este egal cu numrul de ieiri ale circuitului multiplicat cu numrul termenilor produs. Pentru proiectarea unui sistem digital cu un circuit PLA, nu este necesar s se indice conexiunile interne ale circuitului, ci trebuie s se specifice doar tabela de programare. Circuitele PLA pot fi programate prin mti (n timpul fabricaiei) sau pot fi programate de ctre utilizator. Circuitele PLA programate de ctre utilizator se numesc FPLA (Field Programmable Logic Array). Att PLA ct i FPLA pot avea i 3 niveluri de programare: I, SAU i XOR, ultimul permind obinerea formelor negate ale funciilor de ieire.

2. PAL = Programmable Array Logic


O alt categorie de reele logice programabile sunt circuitele PAL (Programmable Array Logic), care conin o reea de pori I programabil i o reea de pori SAU cu conexiuni fixe (Figura 3). Fiecare linie de ieire este conectat la un set fix de linii ale reelei de pori I.

Figura 3. Structura general a unui circuit PAL. O asemenea ieire a circuitului PAL poate implementa o expresie pe dou nivele coninnd cel mult opt termeni. Avantajele circuitelor PAL sunt simplitatea utilizrii n anumite aplicaii i viteza de lucru mai ridicat. Aceste circuite sunt ns mai puin flexibile dect circuitele PLA.

3. SPLD = Simple Programmable Logic Devices


Exist i circuite PLA sau PAL care conin bistabile ataate prin conexiuni programabile la ieirile reelei de pori SAU, ceea ce permite implementarea unor circuite secveniale de dimensiuni medii. Aceste circuite sunt cunoscute i sub denumirea de circuite logice programabile simple.

4. CPLD = Complex Programmable Logic Devices


Circuitele logice programabile complexe (CPLD - Complex Programmable Logic Devices) sunt circuite PLD avnd o densitate mai ridicat. Ele conin un numr de blocuri funcionale, asemntoare unor circuite PLD, fiecare bloc fiind compus din mai multe macrocelule (Figura 4). Exist de asemenea o matrice de rutare pentru interconectarea blocurilor. Funciile logice simple pot fi implementate n cadrul unui singur bloc. Funciile mai complexe pot necesita mai multe blocuri, care vor fi interconectate prin matricea de rutare.

Figura 4. Structura general a unui circuit CPLD.

5. FPGA = Field Programmable Gate Array


Circuitele FPGA (Field Programmable Gate Array) au fost introduse n anul 1985 de compania Xilinx. De atunci au fost elaborate diferite tipuri de circuite FPGA de un numr de alte companii ca Actel, Altera, Atmel, Texas Instruments etc. Un circuit FPGA const dintro reea bidimensional de celule sau blocuri logice. De obicei, fiecare bloc logic poate fi programat pentru a implementa orice funcie logic a intrrilor sale. De aceea, aceste blocuri sunt numite de obicei blocuri logice configurabile (Configurable Logic Block - CLB). Cele mai multe blocuri logice conin de asemenea unul sau dou bistabile. Canalele i blocurile de comutare dintre aceste blocuri conin resurse de interconectare, dup cum se ilustreaz n Figura 5. Aceste resurse conin de obicei segmente de interconectare de diferite lungimi. Interconexiunile conin comutatoare programabile cu rolul de a conecta blocurile logice la segmentele de interconectare, sau un segment de interconectare la altul. n plus, exist celule de I/E la periferia reelei, care pot fi programate ca intrri sau ieiri.

Figura 5. Structura unui circuit FPGA tipic. Din punctul de vedere al tipului conexiunilor programabile, exist dou categorii principale de circuite FPGA: circuite cu memorii SRAM i cu antifuzibile. 5.1. FPGA cu memorii SRAM. Programarea acestor circuite se realizeaz prin celule de memorie static. Logica este implementat cu ajutorul unor tabele (lookup table) realizate din celulele de memorie, intrrile funciilor controlnd liniile de adres. Fiecare tabel de 2n celule de memorie implementeaz orice funcie cu n intrri. Una sau mai multe tabele, combinate cu bistabile, formeaz un bloc logic configurabil. Aceste blocuri sunt aranjate ntr-un tablou bidimensional, segmentele de interconectare formnd canale, similar cu reelele de pori. Segmentele se conecteaz la pinii blocurile logice din canale i la alte segmente din blocurile de comutare prin intermediul tranzistoarelor de trecere controlate de celule ale memoriei de configurare. O secven de configurare pentru circuitele cu memorii SRAM const dintr-un singur cuvnt lung de programare. Logica din circuit ncarc cuvntul de programare, pe care l citete serial dintr-o memorie extern de fiecare dat cnd circuitul este alimentat. Biii acestui cuvnt seteaz valorile tuturor celulelor memoriei de configurare din circuit, setnd astfel valorile tabelelor i selectnd segmentele care se vor conecta ntre ele. Circuitele cu memorii SRAM sunt reprogramabile. Ele pot fi actualizate n sistem, punnd la dispoziia proiectanilor noi opiuni i posibiliti de proiectare. Din aceast categorie de circuite FPGA fac parte cele ale firmelor Xilinx, Altera, AT&T.

5.2. FPGA cu antifuzibile. Un antifuzibil este un dispozitiv cu dou terminale care n mod normal se afl n starea de nalt impedan, iar atunci cnd este expus la o tensiune ridicat, trece n starea cu rezisten redus (300-500 ). Antifuzibilele au dimensiuni reduse, astfel nct o arhitectur bazat pe antifuzibile poate conine sute de mii sau milioane de antifuzibile. Pentru simplificarea arhitecturii i a programrii, circuitele FPGA bazate pe antifuzibile constau de obicei din rnduri de elemente logice configurabile cu canale de interconectare ntre ele, ca i reelele de pori tradiionale. Un bloc logic poate fi programat prin conectarea pinilor si de intrare la valori fixe sau la reele de interconectare. Exist antifuzibile la fiecare punct de intersecie ntre interconexiuni i pini din canal i la toate punctele de intersecie ntre interconexiuni n locurile n care canalele se intersecteaz. Din categoria circuitelor FPGA cu antifuzibile fac parte circuitele firmelor Actel, Quicklogic, Cypress.

S-ar putea să vă placă și