0% au considerat acest document util (0 voturi)
34 vizualizări11 pagini

VLSI Project

Documentul prezintă noțiuni de bază despre proiectarea circuitelor integrate VLSI, inclusiv tranzistori, porți logice, registre, magistrale, decodificatori, memorii și unitatea aritmetică-logică. Sunt descrise implementările acestor componente folosind tranzistoare MOSFET și sunt demonstrate funcționările lor.

Încărcat de

alexpetru.mac
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
34 vizualizări11 pagini

VLSI Project

Documentul prezintă noțiuni de bază despre proiectarea circuitelor integrate VLSI, inclusiv tranzistori, porți logice, registre, magistrale, decodificatori, memorii și unitatea aritmetică-logică. Sunt descrise implementările acestor componente folosind tranzistoare MOSFET și sunt demonstrate funcționările lor.

Încărcat de

alexpetru.mac
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

PROIECT VLSI

2024
Table of Contents
Noțiuni preliminare............................................................................................................................. .3
Tranzistorul..................................................................................................................................... .3
Tranzistorul MOSFET.................................................................................................................... .3
Poarta NAND...................................................................................................................................4
Poarta NOT..................................................................................................................................... .4
Registre și magistrale.......................................................................................................................... .5
Registru pe 1 bit...............................................................................................................................5
Registru pe 8 biți..............................................................................................................................5
Necesitatea și implementarea unui decodificator........................................................................... .6
ALU – Unitatea Aritmetico-Logică......................................................................................................9
Unitatea de Comandă..........................................................................................................................11
Noțiuni preliminare

BUS – folosit pentru transferul informației


Registru – folosit pentru salvarea informației
ALU – Unitate Aritmetico-Logică
UC – Unitate de Control

8 biți = 1 byte
1K = 1024 biți = 210
64K = 64 * 1024 = 65536 biți = 216
1M = 1024 * 1024 = 220
8M = 223 = 210 * 210 * 23
1G = 230
4G = 232

Tranzistorul

D = drenă
G = gate
S = sursă

VGS > Vth => tranzistorul este ON – avem curent de la


drenă la sursă
VD = VS => tranzistorul este în scurt circuit

Pe G se aplică tensiune LOW (notată 0) sau HIGH (notată 1)


Figura 1 - Tranzistor

Tranzistorul MOSFET

VG = 1 VG = 0
Tranzistorul ON => D este Tranzistorul OFF => nu
NMOS conectat la S => tranzistorul avem curent între D și S
este un fir ceea ce înseamnă ceea ce înseamnă că
că VS = VD VS ≠ VD

VG = 1 VG = 0

PMOS Invers ca la NMOS Invers ca la NMOS

Aceste tranzistoare sunt switch-uri – comutatoare


Poarta NAND

Poarta NAND are implementarea prezentată mai jos. Este formată din 2
tranzistoare PMOS cuplate în paralel și 2 tranzistoare NMOS cuplate în serie.

in1 in out
2
0 0 1
0 1 1
1 0 1
1 1 0
Figura 2. Poarta NAND2

R1: Explicați funcționarea porții NAND 2

Poarta NOT

Se poate obține foarte ușor din legarea în serie a unui transzistor PMOS cu un
tranzistor NMOS. O altă versiune simplă de a obține un inversor este legarea
lui in1 cu in2 în implementarea porții NAND

R2: Desenați și explicați funcționarea unei astfel de porți în ambele


variante.
Registre și magistrale

Registru pe 1 bit

Realizarea unui registru pe 1 bit folosind tranzistori – o memorie de 1 bit

S = 1 și i = 1 atunci
întotdeauna out3 = 1.
Folosim doar circuitul de sus

S = 1 și i = 0 atunci out3 =
0. Când S = 1 ieșirea
urmărește intrarea

S = 0 și i = 1 atunci out3 =
0 doar dacă out3 a fost 0.
out3 = 1 doar dacă out3 a
fost 1

R3: Demonstrați
funcționarea unui
registru de 1 bit.

Figura 3. Registru pe 1 bit

Registru pe 8 biți

Se va copia registrul pe 1 bit de 8 și se leagă S împreună pentru toate registrele de 1 bit. LSB
(Least Significant Bit) va fi pe prima intrare i, iar MSB (Most Significant Bit) va fi pe ultima
intrare i.

R4: Se consideră intrarea 00101000. Care este ieșirea unui registru pe


8 biți dacă S = 1 ? Dar dacă S = 0 ?

Dorim să adăugăm semnalele de EN și CLK la registrul nostru. Pentru acest lucru se vor
observa transzistorii suplimentari introduși – reg1bit_CLK_EN.sch –

R5: Din punct de vedere de funcționare se va demonstra că S = 1 doar


dacă EN și CLK = 1. Altfel S = 0.
Necesitatea și implementarea unui decodificator
Am specificat că un registru este o celulă de memorie. În cazul în care dorim să adresăm mai multe
celule de memorie avem nevoie de un decodificator. În figura de mai jos este prezentată
funcționarea și utilitatea unui decodificator 2 x 4. El folosit pentru a selecta ce registru dinb cele 4
existente va fi activ. Un registru este activat în cazul în care EN = 1 și CLK = 1. Atunci ieșirea
registrului pe 8 biți (numărul 4 dacă intrarea în DEC 2x4 este 1, 1) va urmări intrarea.
În fapt intrarea decodificatorului nu este altceva decât adresa
registrului R0, R1, R2 sau R3. Funcție de intrarea existentă pe
Funcționarea unui DEC 2x4 trebuie să respecte următorul tabel
de adevăr.

i0 i1 out0 out1 out2 out3


0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1

Figura 4. Necesitatea unui DEC

Implementarea unui decodificator utilizând tranzistoarele nMOS și pMOS poate fi observată în


Figura 5.

R6: Explicați funcționarea unui


DEC 2x4 conform implementării din
Figura 5.

Figura 5. Implementarea VLSI a unui DEC 2 x 4


Exemplu – scrierea într-o memorie RAM de 64K. Se consideră că avem disponibil în interiorul
procesorului un registru notat MAR. Acest registru ne va oferi adresa de memorie de unde trebuie să
citim/scriem informația dorită.
Se cunoaște că dacă avem n intrări într-un decodificator atunci avem 2n ieșiri. Dacă considerăm n =
8 atunci 28 = 256. Astefel, putem adresa 256 x 256 = 28 x 28 = 216 = 64K.

R7: Descrieți realizarea operației de


scriere în memorie

Figura 6. Operația de scriere (WRITE)

O altă operație importantă cu memoria este operația de citire (READ). Pentru a realiza această
operație avem nevoie de un alt circuit – MULTIPLEXOR. Un circuite de multiplexare este folosit
pentru a selecta la ieșire o singură intrare. Spre exemplu MUX 2:1 este circuitul care are 2 intrări, o
intrare de EN sau SEL și o ieșire. În cazul în care EN/SEL = 0 la ieșire se va transfera prima intrare.
În cazul în care EN/SEL = 1 atunci la ieșire se va transfera intrarea a doua.
Figura 7. Utilizarea unui MUX pentru READ
MUX 2:1
a, b - intrări
SEL – intrare de selecție
out - ieșire
Dacă SEL = 0 atunci out = a și nu
contează valoarea lui b. Dacă SEL = 1
atunci out = b și nu contează valoarea lui a.

R8: Descrieți realizarea operației de citire din memorie

Implementarea unui circuit MULTIPLEXOR utilizând tranzitoare nMOS și pMOS este prezentatî în
figura 8.
R9: Descrieți operarea
circuitului MUX 2:1
prezentat în Figura 8.

Figura 8. Implementarea unui MUX 2:1


ALU – Unitatea Aritmetico-Logică

Unitatea UAL va realiza două operații: adunare și scădere. Adunarea a mai fost studiată iar scăderea
o vom realiza în cod complement față de 2 pentru a folosi același hardware ca și la adunare.
Pe lângă resursele prezentate ăână acum avem nevoie de o poartă XOR implementată folosind
tranzitoare nMOS și pMOS conform figurii 9.

Figura 9. Implementarea unui XOR

Schema unui sumator complet pe 1 bit este prezentată în figura 10.


Acest sumator se va multiplica de 8
ori pentru a obține un sumator
complet pe 8 biți. A nu se uita să se
conecteze Cout la Cin -ul sumatorului
următor.

Figura 10. Sumator complet pe 1 bit

Pentru a folosi același hardware operația de scădere se reduce la o operație de adunare în cod
complement față de 2.
0000 0000 – 0111 1111 [0 : 128]
1000 0000 – 1111 1111 [-128 : 0)
Pentru a determina valoarea unui număr în cod complement față de 2 se neagă toți biții numărului și
se adaugă 1. Numărul 13 = 0000 1101. Negăm biții și obținem: 1111 0010. Acum adăugăm valoarea
1 și vom obține 1111 0011 = -13 în cod complement față de 2.
Vom avea nevoie de un noter care ne vă va genera b dacă a = 0 și not b daca a = 1. Acest noter este
compus din 8 porți XOR (reprezentate cu nMOS și pMOS). Intrarea a este aceeași la toate porțile
XOR – deci a va avea 1 bit, dar b va fi pe 8 biți.

Cin a fost ales pe post de a din explicațiile


anterioare pentru ușurință.

Figura 11. Poziționarea noter-ului.

Pentru partea de I/O vom folosi resursele disponibile în programele disponibile pentru elaborarea
proiectului – keyboard și afișor. Resursa keyboard se va lega la un registru denumit IN, iar registrul
OUT (pe 8 biți) ne va oferi adresele pentru o memorie ROM care va memora 15 biți ce reprezintă
informația afișată de led-uri.
Schema generală simplificată a calculatorului
Unitatea de Comandă

S-ar putea să vă placă și