Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » tehnologie » electronica electricitate
Dezvoltarea SLP

Dezvoltarea SLP


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

24. Port de JTAG compatibil cu Xilinx Paralel Cable IV

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"

    • Costul cablurilor si legaturilor
    • Costul carcasei





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.