+ All Categories
Home > Documents > Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv...

Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv...

Date post: 22-Jan-2020
Category:
Upload: others
View: 18 times
Download: 0 times
Share this document with a friend
42
1 Proiectarea şi Verificarea cu HDL a Circuitelor Digitale Danuţ Burdia Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei Universitatea Tehnică “Gh. Asachi” din Iaşi
Transcript
Page 1: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

1

Proiectarea şi Verificarea cu HDL a Circuitelor Digitale

Danuţ BurdiaFacultatea de Electronică, Telecomunicaţii şi Tehnologia InformaţieiUniversitatea Tehnică “Gh. Asachi” din Iaşi

Page 2: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

2

Cuprins

I. Introducere. II. Concepte ale proiectării digitaleIII. Dispozitive logice programabileIV. Proiectarea pe baza HDLV. Sinteza circuitelor digitale pe baza HDLVI. Elemente de testabilitate în sintezaVII. Introducere în verificarea proiectelor digitaleVII. Cod HDL pentru verificareIX. Proiectarea şi organizarea unui testbenchX. Scenarii de test şi controlXI. Principiile verificării formale

Page 3: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

3

Referinţe

1. Robert Dueck, 2000, Digital Design with CPLD Applicationsand VHDL, Ed. Thomson Delmar Learning.2. Clive Maxfield, 2004, The Design Warrior’s Guide to FPGAs, Ed. Elsevier-Newnes.3. Peter J. Ashenden, 2002, The Designer’s Guide to VHDL –Second Edition, Ed. Morgan Kaufmann Publishers.4. Zainalabedin Navabi, 2005, Digital Design and Implementationwith Field Programmable Devices, Ed. Kluwer Academic Publishers, Boston5. Richard Munden, 2005, ASIC and FPGA Verification: A Guideto Component Modeling, Ed. Elsevier- Morgan KaufmannPublishers.6. William K. Lam, 2005, Hardware Design Verification: Simulation and Formal Method-Based Approaches, Ed. PrenticeHall,

Page 4: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

4

Referinţe (cont)

7. J.P. Deschampes, G.J.A. Bioul, G. D. Sutter, Synthesis of Arithmetic Circuits – FPGA, ASIC and Embedded Systems, Ed. John Willey & Sons.8. Pong Chu, 2006, RTL.Hardware.Design.Using.VHDL, Ed. John Willey & Sons.9. Uwe Meyer-Baese, 2007, Digital Signal Processing withField Programmable Gate Arrays, Third Edition, Ed. Springer.10. Chris Spear, SystemVerilog for Verification - A Guide toLearning the Testbench Language Features, Ed. Springer, 2008.www.eda.orgwww.xilinx.comwww.digilentinc.com

Page 5: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

5

Cap. 1 Concepte ale proiectării digitale

1.1 Sisteme de numarare1.2 Aritmetică binară1.3 Circuite combinaţionale1.4 Circuite de stocare1.5 Circuite secvenţiale1.6 Memorii

Page 6: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

6

1.1 Sisteme de numărare

Tranzistorul este elementul de bază al tuturor circuitelor electronice digitale.Într-un circuit digital tranzistorul se comportă ca un comutator. Toate valorile pot fi de ex: (ON-OFF), (TRUE-FALSE), (3V,0V) sau (1,0).De aceea, toate numerele într-un sistem digital sunt reprezentate în baza 2 (binar).

Page 7: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

7

1.1 Sisteme de numărare1.1.2 Numere binare

Un număr zecimal are n digiţi iar tăria fiecărui digit este 10i, unde i este poziţia digitului (0 dreapta, n-1 stânga)

ExUn număr binar este evaluat similar:

Ex: Conversie zecimal – binar

Numărul zecimal este împărţit în termeni 2i necesari. Corespunzător valorii lui i există un 1 în numărul binar echiv.Ex: 325 = 256+64+4+1=28+26+22+20=(101000101)2.

Similar pentru numere fracţionare. În binar, digiţii fracţionari au ponderile 2-1, 2-2, 2-3, şamd.

Ex: 1101.011 = (23+22+20).(2-2+ 2-3) = 13.37519.7 = (24+21+20).(2-1+ 2-3+ 2-4 +…)≈10011.1011…

Page 8: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

8

1.1 Sisteme de numărare1.1.2 Numere hexazecimale

Reprezintă o formă mai compactă de a reprezenta numereleUn digit în baza 16 este reprezentat prin exact 4 biţi în binar.

Ex: (11100101)2 = (E5)H.(10011.101)2 = (13.A)H.

Page 9: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

9

1.2 Aritmetică binară

1.2.1 Numere cu semn (signed numbers)Într-un sistem digital numerele binare sunt reprezentate pe un număr fix de biţibitul cel mai semnificativ este folosit pentru semn

• 0 = nr. pozitiv, 1 = nr. negativEx: pe un bus de 8 biţi pot fi reprezentate numere cuprinse între (-127,+127).

• +25 = 00011001 -25 = 100110011.2.2 Adunarea binară

Este similară cu adunarea în zecimal, chiar mai uşoară! • Ex:

Page 10: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

10

1.2 Aritmetică binară

1.2.3 Scăderea binarăSe poate efectua ca în zecimal folosind împrumut de la bitul mai mareNecesită alt proces faţă de adunare, deci implementare diferită

1.2.4 Reprezentarea în complement faţă de 2Este o alternativă pentru a efectua scăderile la fel ca adunarea.Pentru a schimba un nr. pozitiv în unul negativ, se complementează toţi biţii, apoi se adună 1.Ex: -25 este obţinut astfel:

• 00011001 (+25)• 11100110 (complementăm toţi biţii)• 00000001 (adunăm 1)• 11100111 (-25) (în complement faţă de 2)

MSB este pentru semn: 0 – pozitiv, 1 – negativ.

Page 11: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

11

1.2 Aritmetică binarăSumarea binară folosind complement faţă de 2

În loc de a efectua A-B, scăderea este realizată adunând A+(-B), unde (-B) este complementul faţă de 2 a lui B.Exemplu: 93-25=68 93=01011101 -25=11100111

Ultimul bit este neglijat când:rezultatul adunării binare a două numere negative este negativ, saudacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ.

Page 12: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

12

1.2 Aritmetică binarăSumarea binară folosind complement faţă de 2

1.2.5 Depăşirea numerică în complement faţă de 2• Este diferită faţă de depăşirea numerică în cazul adunării a două numere

în reprezentarea binară fără semn (unsigned binary)Exemple (bitul cu roşu reprezintă transportul):

Transport fără depăşire. Sumă corectă

Transport fără depăşire. Sumă corectă

Sumă fără depăşire şi fără transport. Sumă corectă

Depăşire, fără transport. Sumă incorectă

Sumă fără depăşire şi fără transport. Sumă corectă

Depăşire, cu transport. Sumă incorectă

Page 13: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

13

1.2 Aritmetică binarăSumarea binară folosind complement faţă de 2

1.2.5 Depăşirea numerică în complement faţă de 2 (alte exemple)

Reguli pentru depistarea depăşirii:Depăşirea poate apare numai când ambii operanzi au acelaşi semnExistă depăşire atunci când bitul de semn al rezultatului este diferit de bitul de semn al celor doi operanzi. Sau: Există depăşire atunci când pentru bitul de semn valoarea

împrumutului este diferită de cea a transportului (carry_in ≠ carry_out)

Transport fără depăşire. Sumă corectă

Depăşire, fără transport. Sumă incorectă

Transport, fără depăşire. Sumă corectă

Page 14: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

14

1.2 Aritmetică binarăCircuite pentru sumarea binară şi detectarea depăşirii

Depăşire la adunarea binară a numerelor fără semn (unsigned)

Depăşirea apare cînd suma este mai mare decât numărul maxim ce poate fi reprezentat pe k biţi (2k-1)

Depăşire la adunarea binară a numerelor cu semn (signed)

Depăşirea este detectată folosind o poartă XOR pentru cin şi coutaferent bitului cel mai semnificativ (bitul de semn)

Concluzie: depăşirea este echivalentă cu cout=1 doar la adunarea numerelor fără semn. Depăşirea depinde de reprezentarea numerelor (unsigned sau 2C)

Page 15: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

15

1.3 Porţi logice elementare

Sistemul valorilor logiceExemplu: sistemul cu 4 valori logice

Inversorul CMOS

Poarta CMOS NAND (SI-NU)

Poarta CMOS NOR (SAU-NU)

Page 16: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

16

1.3 Porţi logice elementare

Poarta XOR (SAU-exclusiv)

Multiplexor

Porţi cu trei stări (tri-state)

Porţile elementare formează un set de structuri cu care poate fi proiectat orice circuit digital.În continuare sunt prezentate metode pentru implementarea funcţiilor logice folosind sistemul de porţi elementare

Page 17: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

17

1.4 Proiectarea circuitelor combinaţionale

1.4.1 Alegebra booleanăEste utilizată pentru a facilita corespondenţa dintre porţile logice şi funcţionalitatea unui proiect digital.a + 0 = aa·1 = aa + 1 = 1a · 0 = 0a + a = aa · a = aa + b = b + aa · b = b · aa + (b + c) = (a + b) + c(a · b) · c = a · (b · c)a + b · c = (a + b) · (a + c)a · (b + c) = a · b + a · c

Legile lui DeMorgan

Odată ce se cunoaşte funcţionalitatea, aceasta se înlocuieşte cu expresii booleenePe baza regulilor de mai sus, funcţionalitatea poate fi aranjată, minimizată şi pusă într-o formă care poate fi realizată cu porţi logice.

10

( )

a aa aa aa a b a ba a b a b

=+ =⋅ =+ ⋅ = +⋅ + = ⋅

a b a b

a b a b

⋅ = +

+ = ⋅

Page 18: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

18

1.4 Proiectarea circuitelor combinaţionale

Exemplu: considerăm problema depăşirii în cazul adunării în reprezentarea în complement faţă de 2. Presupunând reprezentarea pe 8 biţi, biţii de semn ai operanzilor şi rezultatului sunt a7, b7 şi s7. Depăşirea (v=1) are loc dacă a7=1, b7=1 şi s7=0 sau a7=0, b7=0 şi s7=1.Această funcţionalitate este exprimată de următoarea expresie booleană:

Aplicând regulile lui DeMorgan rezută:

Rezultă următoarea implementare:

Detector depăşire în cazul adunării în complement faţă de 2

Page 19: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

19

1.4 Proiectarea circuitelor combinaţionale

1.4.2 Diagrama Veitch-Karnaugh Minimizare

Suma de produse (mintermeni)

Page 20: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

20

1.4 Proiectarea circuitelor combinaţionaleDiagrama Veitch-Karnaugh: minimizare şi implementare

Combinarea celor 4 colţuri din diagramă

Page 21: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

21

1.4 Proiectarea circuitelor combinaţionaleDiagrama Veitch-Karnaugh: valori care nu contează (don’t care)

Page 22: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

22

1.4 Proiectarea circuitelor combinaţionale

1.4.3 Structuri iterativeMinimizarea funcţiilor folosind regulile booleene sau diagrama V-K este aplicabilă doar în cazul funcţiilor mici.

Exemplu: Comparator pe 4 biţi

Putem compara bit cu bit începând de la MSBEx: Dacă A3>B3 atunci G=1.D.pd.v. logic: Termenul formează o poartă AND care este intrare pentru o poartă OR ce generează GDecizia de comparare pe baza A2 şi B2 are loc numai dacă A3=B3, adică dacă

Implementare comparator

3 3A B⋅

3 3 1A B⊕ =

Page 23: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

23

1.4 Proiectarea circuitelor combinaţionaleStructuri iterative: sumator pe 8 biţi cu transport

• Structurile iterative pot fi cascadabile, extensibile şi, uneori, configurabile

• În proiectare este utilă existenţa unei biblioteci cu asemenea componente.

Page 24: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

24

1.4 Proiectarea circuitelor combinaţionale1.4.4 Multiplexoare şi decodoare

Multiplexoare- Nr. de biţi ai intrărilor determină

dimensiunea multiplexorului- Un MUX cu n intrări necesită linii de selecţie4 to 1 MUX pe 8 biţi 4 to 1 MUX pe 1 bit

Multiplexoarele sunt folosite pentru selectare date, “bussing”, conversie paralel-serial şi pentru implementarea funcţiilor logice arbitrare.Un 2-to-1 Mux pe 1-bit poate fi folosit pentru implementarea porţilor NOT, AND, şi OR. Împreună cu un inversor (NOT) un 2-to-1 Mux poate fi utiliyat pentru implementarea majorităţilor primitivelor logice. Datorită acestei proprietăţi, multe celule FPGA conţin multiplexoare pentru implementarea funcţiilor logice.

2log ( )s n=

Page 25: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

25

1.4 Proiectarea circuitelor combinaţionale1.4.4 Multiplexoare şi decodoare

DecodorÎn general este un circuit combinaţionalcare în funcţie de anumite valori (cod) de la intrări generează diferite coduri la ieşiri.Exemplu: decodor BCD afişaj 7 segmente: are intrare pe 4 biţi (cod BCD) şi ieşire pe 7 biţi corespunzătoare celor 7 segmenteAltă definiţie: un decodor are un număr de ieşiri egal cu numărul de combinaţii ale intrărilor. Pentru fiecare combinaţie ale intrărilor numai o anumită ieşire a decodorului este activă.

Decodor binar 2x4

Page 26: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

26

1.4 Proiectarea circuitelor combinaţionale1.4.5 Circuite cu intrări de activare/dezactivare

Dacă un circuit are intrare EN (Enable) atunci toate ieşirile circuitului sunt inactive când intrarea EN este inactivă.

Un circuit cu intrare OE (output-enable) este pentru ieşiri cu 3 stări. Dacă OE este inactiv, atunci ieşirile sunt în starea Z (înaltă impedanţă)

Circuit cu intrare OE

Page 27: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

27

1.4 Proiectarea circuitelor combinaţionaleDescrierea la nivel mai înalt

Tranzistoare Porţi logice. Sunt nivele inferioare de descriere.Porţi logice în alte structuri: sumatoare, comparatoare, decodoare şi multiplexoareLa nivelul acestor structuri proiectantul este capabil să gândeascaproiectul la un nivel funcţional mai înaltAcest nivel: RTL (Register Transfer Level). Majoritatea proiectelor digitale actuale sunt gândite la acest nivel.Ex: circuit de calcul a valorii absolute conţinând un sumator şi multiplexor

Page 28: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

28

1.5 Elemente de stocare

Latch simplu

Latch DCând clock=1, Q=D şi o memorează până când din nou clock=1Datorită transparenţei nu poate fi folosit în circuite cu reacţie (rezultat imprevizibil, oscilaţii)

Page 29: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

29

1.5 Elemente de stocare

Bistabile (flip-flops)Două latch-uri cu clock inversat

Bistabile active pe frontul clock-ului (edge-trigger flip-flops)Bistabile cu intrări de control (set, reset, enable)

• Sincrone sau asincrone

Page 30: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

30

1.5 Elemente de stocare

Bistabile cu intrare de activare (enable)

RegistreStructuri formate din mai multe bistabile având intrări comune pentru clockşi pentru semnalele de control.

Page 31: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

31

1.6 Circuite secvenţiale

Circuit secvenţial = sistem digital care are memorie şi deciziile pe care le ia pentru o anumită intrare depind de ce este memorat. Maşini cu stări finite

Numărul de stări este determinat de numărul elementelor de memorie.Un circuit cu n biţi de memorie are 2n stăriToate circuitele secvenţiale pot fi considerate ca maşini cu stări finite (FSM)Dacă în calea de reacţie există bistabile cu clock atunci circuitul secvenţial este sincron (ex: modelul Huffman)

n2

Modelul Huffman a unui circuit secvenţial

Page 32: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

32

1.6 Circuite secvenţialeProiectarea maşinilor cu stări finite

Exemplificare: detector de secvenţă 1011

Diagrama de stări Tabelul stărilor

Page 33: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

33

1.6 Circuite secvenţialeProiectarea maşinilor cu stări finite

Codarea stărilor (states asignements)Se alocă un număr binar pentru fiecare stare. Ex:y2, y1, y0 = variabile de stare a FSM

Tabelul de tranziţie a stărilor

Partea combinaţională + partea de regiştri• Regiştri = bistabile cu clock comun• Partea combinaţională:

Stabileşte valorile de la intrările bistabilelorpe baza ieşirilor acestora şi a intrării FSM (tabelul de intrări a bistabilelor)

Tabelul de intrări a bistabilelor

Page 34: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

34

1.6 Circuite secvenţialeProiectarea maşinilor cu stări finite

Implementarea părţii combinaţionale

Implementarea decodoruluide secvenţă 1011

Page 35: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

35

1.6 Circuite secvenţialeMaşini Moore şi Mealy

FSM Moore – ieşirea depinde doar de stareFSM Mealy – ieşirea depinde atât de stare cât şi de intrare

Implementare “one-hot”: se alocă câte un bistabil pentru fiecare stare

Diagrama de stări pentru FSM Mealy a detectorului 1011

Page 36: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

36

1.6 Circuite secvenţialeBlocuri secvenţiale utilizate în proiectarea la nivel RTL

NumărătoareEx: Numărător reversibil pe 2 biţi

Registre de deplasare (shifters)

Registru de deplasare pe 4 biţi

Page 37: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

37

1.7 Memorii

În cea mai simplă formă, sunt tablouri (matrice) 2-D de bistabile sau tablouri 1-D de registre.Numărul de bistabile (celule) dintr-o linie = lungimeacuvintelor (datelor), m.Cuvintele de memorie sunt aranjate a.î. fiecare pot fi citite-scrise individual.O memorie cu n linii de adresă are cel mult 2n

cuvinte de m biţi.Deoarece accesarea cuvintelor din memorie se poate face independent de locaţie, memoriile sunt numite RAM (Random Access Memory).Diverse tipuri de RAM: Static RAM (SRAM), DynamicRAM (DRAM), Synchronous Dynamic RAM (SDRAM), etc.Memorii volatile (SRAM, DRAM, SDRAM, etc.)Memorii nevolatile (ROM, Flash memory, etc)

Page 38: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

38

1.7 MemoriiStructura SRAM

Celula de memorie SRAM Memorie SRAM 1KBytes

Page 39: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

39

Structura SRAM

Amplificator de sens (Sense Amplifier)În timpul citirii x şi sunt conectate la

BL şi .

Decodor de linii (7 la 128)x

BL

Memoria SRAM este organizată ca 128 linii x 8 coloane, fiecare coloană conţinând 8 biţi.Cele 128 linii de la decodor sunt conectate la liniile de adresă (WL) ale celulelor SRAM.Fiecare din cele 128 linii comandă câte 64 celule SRAM (8 coloane x 8 biţi)

Page 40: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

40

Structura SRAMDecodor de coloane 3x8

Structura din figură este de tip decodorSAU-NU dinamic şi necesită 2 faze:

Preîncărcare (pre-charge)Evaluare

Pre-charge: Intrarea P este activată, tranz. PMOS conduc, ieşirile deocodorului sunt la VDD.Evaluare: PMOS blocate. Intrările de adresă sunt activate. Toate liniile se descarcă cu excepţia uneia singure (linia decodată).Linia decodată (1 logic) va conduce toate tranzistoarele NMOS din acea linie, astfel că datele vor fi disponibile la ieşire.

Page 41: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

41

Structura SRAMBlocuri de control intrare şi ieşire

Bloc control date intrare Bloc control date ieşire

Page 42: Proiectarea şi Verificarea cu HDL a Circuitelor Digitale...zdacă rezultatul este un număr pozitiv când adunăm un număr pozitiv cu unul negativ. 12 1.2 Aritmetică binară Sumarea

42

DRAM (Dynamic RAM)

Structură simplă: numai un tranzistor şi o capacitate (tot tranzistor) pentru fiecare bit de memorie.Necesită refreshperiodic, de aceea denumirea de “dynamic”RAM.

Principiu citire 4x4 DRAM Principiu scriere 4x4 DRAM


Recommended