1. Istoricul dezvoltarii SLP
Pentru prima data conceptul de logica programabila apare in 1966, in inventia lui Sven Whalstrom .Pe piata apare pentru prima data in 1975, odata cu introducerea de catre firma Signetics a circuitelor FPLA (Field Programmable Logic Array)
FPLA dispun de o arie de porti SI programabile si de o arie de porti SAU de asemenea programabile. Aceasta arhitectura a cunoscut o raspindire redusa datorita:
- capsulei mari pentru circuit - 28 DIP
- slabului suport software pentru proiectare
- pretul initial ridicat - $
In 1978 apar PAL urile Programmable Array Logic , structuri cu aria de porti SI programabila si aria de porti SAU fixa. Firma MMI a editat primul ei manual de utilizare a PAL insotit de codul sursa scris in FORTRAN, a primului compilator pentru SLP, PALASM.
In 1977 Signetics introduce circuitul 82S103, primul FPGA Field Programmable Gate Array
In 1979 apare primul FPLS Field Programmable Logic Sequencer
In iulie 1984 firma Altera a introdus circuitele EPLD Erasable Programmable Logic Device
Firma Lattice propune in aceeasi perioada circuite E2PLD Electrically Erasable Programmable Logic Device
In 1985, firma Xilinx propune circuitele de tip LCA Logic Circuit Array , marcand prin aceasta era FPGA.
In 1988 firma Actel anunta propria familie de FPGA sub numele de ACT1, de tip OTP circuite programabile o singura data
Tot in 1988 Intel anunta o noua structura, avand aria de porti SI programabila si aria de porti SAU alocabila.In 1995 firma Intel isi vinde partea de productie de PLD firmei Altera.
2. Clasificarea SLP
3. Avantajele utilizarii SLP
Un proiect modern utilizeaza mai multe variante de implementare de exemplu un microsistem cu microprocesor este implementat cu circuite standard VLSI, circuite standard SSI si MSI si logica programabila. Determinarea variantei optime de implementare nu este o sarcina usoara.
Cu toate ca SLP sunt eficiente pentru un volum mic mediu de productie, ele se regasesc si in productia de masa. Unul din motivele pentru o asemenea abordare este faptul ca modificarile schemei se pot face foarte usor, fara schimbarea cablajului.
Punerea in functiune si testarea sunt mai rapide la SLP
Aceasta se realizeaza prin reprogramare, fara taieturi de cablaj sau jumpere.
Tehnici sofisticate pot permite o utilizare destul de eficienta a ariei de siliciu in cadrul SLP.
Functionalitatea si flexibilitatea SLP sunt alte avantaje majore.
4. Arhitectura PAL
Intrarile nu sunt decodificate complet, ceea ce permite marirea numarului de intrari .Prezinta urmatoarele facilitati:pini de intrare/iesire programabili;iesiri combinationale sau cu bistabile cu reactie spre aria programabila;iesiri cu polaritate programabila.
5. Arhitectura PLA
Caracterisicile unui PLA:numarul de intrari (n);numarul de iesiri (m);numarul de termeni produs (p).
Fiecare linie de intrare contine un buffer, ce ofera simultan la iesire complementul si valoarea adevarata a intrarii respective.Circuitele PLA au o mica raspandire deoarece:
sunt lente - semnalul parcurge doua niveluri de fuzibile programabile;
sunt scumpe - aria de siliciu consumata este mare;
suportul software nu este dezoltat;
sunt greu de inteles.
6. SLP de complexitate medie (EP310)
7. Arhitectura FPGA, arhitectura generica
Arhitectura FPGA consta dintr-o matrice de blocuri logice care pot fi interconectate prin programare pentru a obtine functionarea dorita.Sunt programate la utilizator Fata de PLD ofera niveluri mult mai mari de integrare, arhitecturi si variante de rutare complexe. Rutarea se executa prin intermediul a mai multor switch-uri, ceea ce permite o mai buna utilizare a resurselor logiceu utilizeaza porti cu un numar mai mic de intrari, fata de PLD, structurate pe mai multe niveluri arhitectura FPGA.Pentru FPGA actuale blocurile logice sunt formate din:
tranzistoare;
porti simple cu doua intrari;
multiplexoare;
tabele de cautare LUT (Look Up Tables);
O varianta tipica de rutare consta din segmente de legatura de lungime variabila, interconectabile prin switch-uri programabile electric
Implementarea switch-urilor programabile se realizeaza prin:
SRAM, in care switch-ul este un tranzistor controlat de un bit de memorie;
Antifuzibil, care programat devine un contact electric de rezistenta redusa;
EPROM, unde se utilizeaza un tranzistor cu grila flotanta, care poate fi blocat prin injectarea de sarcina pe grila.
Performantele implementarilor cu FPGA depind esential de software-ul de proiectare si de cel de plasare si de rutare utilizat structuri SI-SAU cu multe intrari .
8. Tehnhologii de programare: fuzibile, antifuzibile, EPROM, EEPROM
EPROM: Switch-ul este un tranzistor care poate fi blocat permanent prin injectarea de sarcina pe grila flotanta (grila 2), prin intermediul unei tensiuni ridicate aplicate intre grila1 si drena tranzistorului .
Tranzistor cu grila flotanta folosit ca switch:
SRAM: Valorile logice memorate in SRAM controleaza switch-urile, respectiv elemente ca multiplexoare comanda cu SRAM a elementelor logice:
a - atunci cand in celula SRAM este memorat un " ", tranzistorul MOS conduce, comportandu-se ca un comutator inchis si poate fi utilizat pentru interconectarea a doua segmente de legatura
b - valorile stocate in SRAM comanda care intrare a multiplexorului se va conecta la iesirea sa
Deoarece memoriile SRAM sunt volatile FPGA-ul trebuie configurat la fiecare alimentare principalul dezavantaj al tehnologiei SRAM este suprafata mare ocupata sunt necesare cel putin cinci tranzistoare pentru implementarea unei celule SRAM de un bit si cel putin inca un tranzistor ca switch programabil
Avantajele acestei tehnologii:
l reprogramare rapida
l reprogramare dinamica (in circuit)
l proces standard de fabricatie
Antifuzibil : se realizeaza dintr-un material care in mod normal nu este conductor, dar care dupa programare devine conductor.
9. Caracteristici FPGA xilinx seriile 3000,4000
Cele mai cunoscute FPGA produse de Xilinx sunt familiile 3000 si 4000
Datorita tehnologiei SRAM utilizate, dimensiunea fiecarei legaturi este mare
In Xilinx 3000 blocul de conectare leaga tipic fiecare pin al unui bloc logic la doua sau trei piste din vecinatatea unui bloc
Pe toate cele patru laturi ale unui bloc logic se gasesc blocuri de conectare care conecteaza un numar de 11 pini ai blocului logic la segmentele de legatura
Conexiunile sunt implementate cu tranzitoare de legatura pentru pinii de iesire, respectiv cu multiplexoare pentru pinii de intrare
Utilizarea multiplexoarelor reduce numarul de celule SRAM necesare pentru fiecare pin
Blocul de switch-uri realizeaza conexiuni intre segmentele de legatura in punctele de intersectie dintre canalele verticale si cele orizontale
Fiecare segment de legatura se poate conecta la un subset al segmentelor de legatura de pe laturile opuse ale blocului de conectare
Fiecare segment se poate conecta uzual la cinci sau sase (din 15) segmente de legatura de pe laturile opuse,acest numar fiind limitat de dimensiunea si capacitatea parazita a switch-urilor din tehnologia SRAM
Xilinx varianta 3000
In familia Xilinx 3000 sunt disponibile patru tipuri de segmente de legatura:
l de uz general, constand din segmente de legatura care trec prin blocul S;
l interconexiune directa, constand din segmente de legatura care conecteaza fiecare iesire a blocului logic, direct la cele mai apropiate patru blocuri logice vecine;
l linii lungi, care traverseaza lungimea sau latimea cipului, asigurand iesiri cu fan-out ridicat si intarziere uniforma;
l o linie de tact, materializata printr-o singura retea ce strabate intreg circuitul, comandata de un driver. Aceasta linie e conectata doar la intrarile de tact ale bistabilelorsi asigura un defazaj redus al semnalului de tact.
Intre familia Xilinx 3000 si 4000 exista urmatoarele deosebiri:
l sunt 18 piste de legatura de uz general pentru fiecare canal in loc de 5;
l posibilitatile de conectare a blocurilor logice sunt sporite, fiecare bloc logic putandu-se lega la aproape orice pista;
l patru dintre piste trec prin switch-uri numai la fiecare al doilea bloc de switch-uri, prin aceasta asigurandu-se o densitate mai mare de integrare.
10. Caracteristici seria Spartan3
1. XC3S200 FPGA contine 200.000 de porti echivalente intr-o capsula BGA (Ball Grid Array)
cu 256 de pini. Reprezinta echivalentul a 4320 de celule logice:
doisprezece 18k-biti bloc RAM
doisprezece 18x18 multiplicatoare hardware
4 DCM
mai mult de 173 semnale de I/O ce pot fi definite de catre utilizator.
2. 2Mbit Xilinx XCF025 memorie Flash (PROM)
3. Jumperii ofera posibilitatea ca aplicatia pentru FPGA sa fie citita din PROM sau dintr-o alta
sursa
4. 1Mbyte SRAM
doua module de 256kx16
arhitectura memoriei este configurabila:
o matrice de 256kx32 SRAM ideala pentru MicroBlaze
2 matrici independente de 256kx16 SRAM
cip select individual
enable individual
5. Port VGA afisare pe 8 culori
6. Port serial 9 pini RS232 - DB9 cupla mama cu 9 pini.
7. RS-232 translator de nivel
8. Un alt canal de transmisie si receptie RS-232 disponibil pe placa
9. Port PS/2
10. Afisaj pe 4 caractere a 7 segmente fiecare
11. 8 comutatoare
12. 8 led-uri
13. 4 mini taste
14. Cristal de cuart de 50 MHz
15. Soclu pentru cuart auxiliar
16. Modulul de configurare cu ajutorul jumperilor
17. Buton de reset
18. Led care in momentul aprinderii confirma programarea cu succes a FPGA-ului
19 Cuple
22. Port de JTAG pentru cablu de incarcare (varianta low cost)
23. Cablu de JTAG conectat la portul paralel al PC-ului
25. Adaptor
26. Led ce indica conectarea placii la o tensiune
27 Regulatoare de tensiune pentru 3,3V 2,5V 1,2V
11. Proiectarea pt. testabilitate (stari initiale, cicluri interzise, fortari la 0 si la 1)
Initializarea este un proces simplu si se poate executa dupa ce restul proiectului a fost definit
Se va utiliza un pin separat pentru initializare si logica suplimentara
Notand pinul de initializare cu INIT, la descrierea proiectului prin ecuatii booleene, trebuie parcurse urmatoarele etape:
definirea starii de pornire
definirea fiecarui bit de stare, pentru starea de pornire
daca un bit se initializeaza inactiv, se va adauga la fiecare termen produs pe care il formeaza
daca un bit se initializeaza activ, se va adauga INIT la fiecare termen produs care il formeaza
Stari nefolosite (ilegale)
Un AES este format din bistabile pentru a memora starea curenta
Este putin probabil ca numarul de stari utilizate la descrierea functionarii AES sa fie 2n, unde n este numarul de bistabile de stare din AES
Zgomotele, scaderile tensiunii de alimentare pot duce la situatii neprevazute, intre care si intrarea intr-o stare nefolosita
Stari nefolosite pentru un AES
Revenirea din starile nefolosite
Exista trei metode de baza de revenire din starile nefolosite:
l prin reinitializare;
l prin parcurgerea unui lant de stari nefolosite pana la atingerea unei stari folosite;
l prin proiectarea de asemenea maniera, incat dupa o perioada de tact, din orice stare nefolosita sa se atinga o stare folosita.
Reinitializarea conduce la revenirea AES in starea de pornire, din orice stare, inclusiv din cele folosite
Dezavantajul consta in necesitatea unui control suplimentar
Utilizarea reinitializarii
De cele mai multe ori exista un lant de stari nefolosite prin care un AES trece dintr-o stare nefolosita oarecare intr-o stare utila
Revenirea dupa cateva perioade de tact la o stare utila
Experienta arata ca la utilizarea SLP-urilor ce contin bistabile D este chiar dificil de a nu se obtine o astfel de cale de revenire, fara ca acest mecanism sa fie explicit mentionat in proiect
Dezavantajul acestei metode consta in faptul ca nu se cunoaste numarul de stari prin care se trece pana la revenirea la functionarea normala si nici in ce stare utila se revine
Asigurarea revenirii intr-o perioada de tact din orice stare nefolosita intr-o stare utila este metoda care ofera maximul de siguranta in functionare
Se pot implementa trei variante:
l starea in care se revine este starea initiala 000;
l starea in care se revine este diferita de 000;
l din orice stare nefolosita se revine in cate o stare utila.
Succesul proiectarii depinde de modul in care sunt tratate starile nefolosite
Stari nefolosite intr-un AES
Revenirea in starea 000 este cazul cel mai simplu: nu se va utiliza nici o stare nefolosita pentru a determina trecerea in " " a unei variabile de iesire
Deoarece majoritatea SLP sunt echipate cu bistabile D, iesirea unui asemenea bistabil va trece in "1" doar ca rezultat al tranzitiei intr-o stare utila
Aceasta metoda nu functioneaza pentru bistabilele JK sau T: pe cand bistabilul D trece implicit in " " cele JK sau T isi mentin starea
Daca starile nefolosite nu sunt considerate in functia de transfer, AES se va bloca intr-o asemenea stare
diagrama de stare diagrama VK
Revenirea in starea 000
La revenirea intr-o stare fixa, diferita de 000, pentru inceput se decide in ce stare va trece AES la revenire
Celulele marcate cu x in diagrama VK de mai sus sunt notate corespunzator noii stari, cu " " sau " "
Se scrie un nou set de ecuatii, presupunand toate x-urile ramase fie ca " ", fie ca "0"
Daca nu se poate utiliza diagrama VK, acelasi rezultat poate fi obtinut considerand explicit toate starile nefolosite
Folosind ecuatii booleene:
l nu se utilizeaza nici o stare nefolosita pentru un bit ce devine " " dupa revenire;
l se utilizeaza toate starile nefolosite pentru un bit ce devine " " dupa revenire.
diagrama de stare diagrama VK
Revenirea intr-o stare diferita de 000
Diagrame VK
Revenirea intr-o stare diferita de 000
La utilizarea de bistabile JK, se va tine cont ca:
daca un bit trebuie sa treaca in " " dupa revenire, J trebuie sa depinda de toate starile nefolosite, iar K de nici una;
Daca un bit trebuie sa treaca in " " dupa revenire, K trebuie sa depinda de toate starile nefolosite, iar J de nici una.
Ecuatiile se vor scrie in acest mod chiar daca starea de revenire este 000
Pentru bistabilele de tip T orice revenire trebuie explicit precizata ca parte componenta a proiectului initial
La revenirea in orice stare celulele marcate cu x din diagrama VK trebuie completate astfel incat din orice stare nefolosita sa se atinga o stare utila, iar functiile logice rezultate sa fie cat mai simple
Pentru a putea functiona, trebuie parcurse cicluri suplimentare, deoarece starile ilegale conduc la stari legale diferite
diagrama de stare diagrama VK
Revenirea in orice stare
Testarea revenirii din starile nefolosite
Pentru SLP care ofera posibilitatea de preincarcare, aceasta testare este simplificata, deoarece orice stare poate fi usor atinsa, prin aceasta verificandu-se usor ca mecanismul de revenire functioneaza corect
Utilizarea preincarcarii trebuie folosita cu grija pentru SLP care dispun de facilitati asincrone de setare sau de resetare a bistabilelor
Daca intrarile asincrone sunt comandate de iesirea bistabilului, poate exista situatia in care preincarcarea unei stari determina setarea sau resetarea in starea opusa
Exista doua alternative de rezolvare: fie se evita preincarcarea acelorasi stari, fie se asigura o intrare suplimentara de test pentru inhibarea acestei faciliati in momentul testarii
Preincarcarea bistabilelor cu SET si RESET - (a,c) incorect, (b,d) corect
12. Influenta arhitecturii blocului logic asupra performantelor SLP
O caracteristica importanta a blocului logic este functionalitatea sa, definita ca numarul de functii logice pe care un asemenea bloc il poate implementa
Aria totala ocupata in siliciu de un proiect implementat intr-un FPGA este suma dintre aria totala a tuturor blocurilor logice si aria totala ocupata de resursele de rutare
La blocurile cu functionalitate ridicata, numarul de pini este mare, dar numarul de conexiuni scade, distanta dintre blocuri scade (scazand in acelasi timp si timpul de propagare)
13. Analiza costurilor SLP vizavi de implementarile clasice (costuri
recurente si nerecurente) .
Introducere
La implementarea unui sistem numeric, proiectantul are la indemana trei alternative majore:
l varianta TTL;
l varianta PAL;
l varianta PLD (EPLD)
Luand in calcul doar costul efectiv al circuitelor,ar putea parea, la prima vedere, ca solutia EPLD este din punct de vedere al pretului prohibitiva
O analiza amanuntita dovedeste insa exact contrariul: aceasta solutie este cea mai ieftina
Optimizarea complexitatii circuitului
Estimarea principalelor categorii de costuri
Cu toata dificultatea acestei analize, corespunzator etapelor parcurse de la idee la produsul finit se pot defini urmatoarele categorii de costuri:
costurile de proiectare;
costul prototipului;
costurile de productie.
In cazul costurilor de productie se vor analiza urmatoarele catagorii:
costul componentelor utilizate;
costul receptionarii componentelor;
costul de gestionare;
costul producerii placii echipate;
costuri aditionale;
alte costuri specifice.
Exemplu de implementare
Se vor analiza in continuare variantele de implementare pentru un arbitru de magistrala MULTIBUS
Studiul costului proiectarii si al prototipului
Costul proiectarii
l Proiectarea cu un numar mare de circuite integrate este mai dificila decat cea cu un numar redus
l Proiectarea cu circuite noi presupune timp suplimentar, de care eventual se poate beneficia in viitor
Costul prototipului
l Prototipul se realizeaza pe o placa de incercare prin wrapare
l Este necesara o munca suplimentara pentru plasarea condensatoarelor de decuplare, etichetarea circuitelor, verificarea traseelor
l Uzual, realizarea prototipului dureaza una-doua saptamani
Costul proiectarii cablajului
l Hotarator este numarul de treceri din cablaj si spatiul alocat unui integrat
l Orice limitare a suprafetei atrage dupa sine utilizarea unui cablaj multistrat
l Pretul se calculeaza in functie de suprafata
Costul punerii in functiune
l Eliminarea problemelor este dificila la proiectarea folosind circuite TTL, datorita numarului mare de conexiuni si dificultatii dewraparii
l Modificarile la proiectarea cu PAL-uri sunt scumpe deoarece se arunca PAL-urile initiale
l Cea mai potrivita alegere este utilizarea EPLD-urilor, la care unica modificare consta in reprogamare
Evolutia preturilor la circuitele integrate numerice
Costurile de productie
Costul receptionarii componentelor
Costul de gestionare
l se pot defalca urmatoarele categorii de costuri:
costul depozitarii;
costul procesarii datelor cu privire la gestiune;
costul intretinerii;
costuri diverse.
Costul producerii placii echipate
Costul cablajului imprimat
Costul traseelor pentru interconexiuni
Costul asamblarii
Costull testarii
Costul reparatiilor
Acestea ar putea fi:
Cablajul imprimat defect
Procesul de mascare cu solder de proasta calitate
Inserarea defectoasa a componentelor
Utilizarea unor componente proaste
Costul controlului de calitate
Sursa de alimentare
Motiv/Tehnologie |
TTL |
PAL |
EPLD |
Evenimente nepravazute |
5% |
5% |
2% |
Modificari operative |
0 |
5% |
0 |
TOTAL |
5% |
10% |
2% |
Costuri aditionale
Pierderi datorita programarii
Costul programarii
Costul pentru stocul de siguranta
Costul condensatoarelor de decuplare
Alte costuri
Defecte "scapate"
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |