Documente Academic
Documente Profesional
Documente Cultură
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.
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.
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.
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.