1 / 28

Curs 08 Implementarea fun cţiilor logice în dispozitivele reconfigurabile

Curs 08 Implementarea fun cţiilor logice în dispozitivele reconfigurabile. Implementarea fun cţiilor logice în dispozitivele CPLD. Semnale de intrare. Arie programabila de porti logice SI (planul logic SI). Bloc alocare a termenilor produs. porţi SAU. Macrocelule. Termeni produs.

yeriel
Télécharger la présentation

Curs 08 Implementarea fun cţiilor logice în dispozitivele reconfigurabile

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Curs 08Implementarea funcţiilor logice în dispozitivele reconfigurabile

  2. Implementarea funcţiilor logice în dispozitivele CPLD

  3. Semnale de intrare Arie programabila de porti logice SI (planul logic SI) Bloc alocare a termenilor produs porţi SAU Macrocelule Termeni produs Functii logice combinationale Functii logice secventiale / combinationale Structura unui bloc logic

  4. +VDD +VDD +VDD R R R termen produs termen produs termen produs Aria programabilă de porţi logice ŞI în tehnologie EPROM intrare intrare intrare

  5. un semnal de intrare intră în componenţa unui termen produs, dacă tranzistorul FAMOS aflat la intersecţia dintre linia care furnizează termenul produs şi coloana la care se aplică semnalul de intrare, este şters (neprogramat) • în termenul produs considerat apare valoarea negatăa semnalului de intrare.

  6. +VDD R +VDD +VDD +VDD R R R Exemplu: F(A,B,C)=ABC+A’BC’+A’B’C+AB’C’ A B C ABC A’BC’ F A’B’C AB’C’

  7. Alocarea termenilor produs

  8. Implementarea funcţiilor logice complexe (de mai mult de 16 termeni produs) la dispozitivul PAL22V10 • macrocelulele învecinate sunt utilizate numai pentru rutarea termenilor produs suplimentari=> irosirea acestora • majorarea timpului de întârziere specific funcţiei logice generate, prin rutarea termenilor produs suplimentari încă o dată prin aria programabilă ŞI • mecanism inflexibil de alocare a termenilor produs

  9. Optimizarea mecanismului de alocare a termenilor produs • unei macrocelule îi este alocat un număr fix şi redus de termeni produs. • unei macrocelule i se poate aloca un număr variabil de termeni produs suplimentari, care sunt cedaţi de alte macrocelule. • o macrocelulătrebuie să fie înzestrată cu posibilitatea de a ceda un număr variabil de termeni produs (nu neapărat pe toţi) şi poate fi utilizată simultan, atât la implementarea unei funcţii logice cât şi la cedarea termenilor produs neutilizaţi. • blocul de alocare a termenilor produs trebuie să ofere posibilitatea ca un termen produs să poată fi distribuit spre oricare macrocelulă a blocului logic. • blocul de alocare a termenilor produs trebuie să ofere posibilitatea ca un termen produs să poată fi partajat de toate macrocelulele blocului logic.

  10. … … … 0 1 0 1 0 1 0 1 MSTP MSTP MSTP MSTP spre MC de la macrocelula inferioară preset clock termen produs partajat clear spre macrocelula superioară spre MC spre MC MAX9000 Altera expandor paralel 1 • 5TP/MC • Mecanisme de alocare TP: • 1. expandor partajat. • 2. expandor paralel. • un TP partajat poate fi distribuit spre  MC şi poate fi partajat de toate MC blocului logic. • un TP paralel este distribuit unui nr. limitat de MC (max.4); este utilizat de o singură MC - nu este partajat • flexibilitate medie: TP cedaţi de MC permit implementarea unei funcţii logice de max. 20 TP • macrocelulele nu sunt irosite pentru rutare 1tEXP Arie programabilă porţi ŞI spre MC 1 2tEXP 1 3tEXP F max 20 tp 0

  11. 2 0 1 0 2 1 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 2 0 1 2 0 1 1 0 2 spre macrocelula inferioară XC9500 Xilinx de la macrocelula inferioară tEXP 4 1 0 • 5TP/MC • Macenisme de alocare a TP: • - expandor paralel • + nu “blochează” MC pt. rutarea TP suplimentari • + un TP poate fi distribuit către oricare MC. • un TP nu poate fi • partajat de mai multe • MC 6 3 5 7 0 1 0 1 4 tEXP 1 0 0 1 1 preset 0 1 tEXP ‘1’ 0 1 2 ‘0’ spre macrocelulă 8 2 de la aria programabilă ŞI 9 clear F de max 90 tp sisteme asincrone clock oe de la macrocelula superioară spre macrocelula superioară

  12. Structura macrocelulelor

  13. Cerinţe proiectare • selectarea tipului funcţiei logice generate: combinaţionale / secvenţiale:  MUX + FF. • selectarea polarităţii funcţiei logice generate :  inversor programabil (XOR). • selectarea sursei pentru semnalele de iniţializare: semnale de la pini / semnale exprimate în funcţie de variabilele sistemului (termeni produs)  MUX . • selectarea sursei semnalului de ceas: semnale de la pini – sisteme sincrone / semnale exprimate în funcţie de variabilele sistemului (termeni produs) – sisteme asincrone  MUX .

  14. 0 1 0 1 2 0 1 Macrocelula MAX9000 Altera CLEAR CLOCK 2 2 F comb. F secv. 0 1 CIO PR 1 D Q TP F FF 0 TP reg 1 0 1 EN preset compl 2 F/ F’ CL 3 … arie programabilă porţi ŞI MSTP 0 1 clock TP reg. F comb. clear VDD 1 0 4 MACROCELULA semnal reacţie spre aria programabilă ŞI locală

  15. 0 1 1 0 1 0 Macrocelula XC9500 Xilinx CLEAR/PRESET CLOCK 3 2 4 1 preset ‘1’ spre celula I/O 0 1 compl 0 1 2 PR ‘0’ … D Q FF BATP clock CL 2 3 clear MACROCELULA spre reţeaua de interconexiuni programabile

  16. Implementarea funcţiilor logice în dispozitivele FPGAStructura Celulelor Logice

  17. ROL: furnizează resursele logice necesare implementării elementelor combinaţionaleşi secvenţiale, blocurilor de calcul aritmetic, blocurilor de memorie de capacitate redusă ale unui sistem digital. • CLASIFICARE: • Celule Logice realizate pe bază de multiplexoare: • ACT Actel; pASIC – QuickLogic. • Celule Logice realizate pe bază de blocuri LUT (look-up table): • XC4000, Spartan, Virtex – Xilinx; FLEX10K, Cyclone, Stratix - Altera.

  18. Celule Logice realizate pe bază de multiplexoare • Teorema lui Shannon: o funcţie logică de n variabile poate fi descompusă în două funcţii logice de n-1 variabile condiţionate de a navariabilă. • F(A, B, C,…) =A’FA’ (B,C,…)+A FA(B,C,…) • FA’ (B,C,…)=F(A,B,C,…)| A=‘0’ • FA(B,C,…)=F(A,B,C,…)| A=‘1’

  19. Exemplu de aplicare a teoremei lui Shannon Forma generală a expresiei: S’×F|S=0+S×F|S=1 MUX2:1 S – semnal de selecţie F|S=0 – data aplicată pe intrarea 0 F|S=1 – data aplicată pe intrarea 1

  20. Implementarea funcţiei F prin intermediul multiplexoarelor

  21. Multiplexorul - generator de funcţii logice elementul de circuit funcţia generată expresia funcţiei logice A0, A1 – intrările de date 0, respectiv 1; S – semnalul de selecţie

  22. Modulul Logic ACT1 – Actel

  23. Exemplu de implementare a unei funcţii logice pe Modulul Logic ACT1 Actel A B Model: Indicaţie: se caută 2variabile care apar atât în formă directă cât şi negată în termenii sumei. Nu este necesar ca ambele variabile să apară simultan în toţi termenii sumei, dar este necesar ca aceste variabile să apară sau în variantă directă, sau în variantă negată, în toţi termenii sumei.

  24. Implementarea funcţiei logice F pe modulul logic ACT1 Actel

  25. Celule logice realizate pe bază de blocuri LUT B A celula LUT S1 S0 00 01 10 11 0 A B F(A,B) 0 0 0 0 1 0 1 0 0 1 1 1 celule memorie SRAM 0 F(A,B) MUX 0 1 exemplu de celulă LUT de 2 biţi nr. celule memorie=2N, N=nr. variabile ale functiei

  26. Structura blocului logic configurabil XC4000 Xilinx Resurse logice utilizate pentru generarea funcţiilor logice combinaţionale

  27. Structura blocului logic configurabil XC4000 Xilinx – generarea funcţiilor logice secvenţiale

More Related