Unitate Aritmetica si Logica in VHDL si Simulare

Proiect
4.5/10 (2 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 60 în total
Cuvinte : 11183
Mărime: 1.54MB (arhivat)
Cost: 6 puncte
Profesor îndrumător / Prezentat Profesorului: Dragos Lisman

Cuprins

1. Rezumat 2

2. Introducere 3

3. Fundamentare teoretică 5

3.1 Adunarea şi scaderea 5

3.1.1. Sumatorul cu propagarea succesivă a transportului 6

3.1.2. Sumatorul cu anticiparea transportului 7

3.1.3. Sumatorul cu salvarea transportului 8

3.1.4. Sumatorul cu selecţia transportului 10

3.2 Înmulţirea 10

3.2.1 Înmulţirea prin deplasare şi adunare 10

3.2.2. Metoda Booth 11

3.2.3. Înmulţirea matriceală pentru numere fără semn 12

3.2.4. Îmulţirea matriceală pentru numere cu semn (metoda Baugh - Wooley) 13

3.3 Împărţirea 15

3.3.1. Împărţirea cu refacerea restului parţial 15

3.3.2. Împărţirea fără refacerea restului parţial 16

3.3.3. Împărţirea matriceală 18

3.4 Operaţiile logice 20

3.4.1. Poarta ŞI (AND) 21

3.4.2. Poarta SAU (OR) 21

3.4.3. Poarta NU (NOT) 22

3.4.4. Poarta ŞI – NU (NAND) 22

3.4.5. Poarta SAU – NU (NOR) 23

3.4.6. Poarta SAU – EXCLUSIV (EXCLUSIVE - OR) 24

3.5 Operaţii pe biţi 25

3.5.1. Deplasarea logică 25

3.5.2. Deplasarea aritmetică 26

3.5.3. Rotaţia logică 26

4. Proiectare şi implementare 27

4.1. Modulul pentru adunare şi scădere 31

4.2. Modulul pentru înmulţire 34

4.3. Modulul pentru împărţire 36

4.5. Modulul pentru operaţiile logice 40

4.6. Modulul pentru operaţiile pe biţi 40

5. Rezultate experimentale 47

6. Concluzii 59

Bibliografie 60

Extras din document

1. Rezumat

Obiectivul acestui proiect l-a constituit proiectarea, utlizând circuite elementare, a unei unităţi aritmetice şi logice şi simularea modelului funcţional. Unitatea aritmetică şi logică proiectată implementează operaţiile aritmetice, logice şi pe biţi elementare pentru numere întregi reprezentate în Complementul faţă de doi. Proiectarea a fost realizată utilizând limbajul VHDL, iar verificarea a fost efectuată cu utilitarul ISim din pachetul Xilinx ISE.

Pentru implementarea în VHDL s-a utilizat descrierea structurală, fiecare modul fiind realizat prin interconectarea unor circuite elementare. Unitatea aritmetică şi logică proiectată este pur combinaţională, astfel încât toate operaţiile implementate se execută într-un singur pas. Proiectarea sistemului s-a realizat ţinând cont de o serie de cerinţe de performanţă, cum ar fi: viteza, scalabilitatea, modularitatea, minimizarea spaţiului ocupat în cip, prin urmare, UAL poate fi integrată cu succes în structura oricărui sistem numeric de calcul şi conectată cu un minim de efort de proiectare cu orice alte module din sistemul respectiv.

2. Introducere

Unitatea aritmetică şi logică (UAL) este un element fundamental al oricărui sistem de calcul, care permite realizarea unei largi varietăţi de operaţii aritmetice şi logice.

Principalele operaţii aritmetice efectuate de UAL sunt adunarea, scăderea, înmulţirea şi împărţirea. Tehnicile utilizate pentru aceste funcţii de bază pot fi aplicate şi pentru funcţii mai complexe cum ar fi extragerea rădăcinii pătrate sau ridicarea la putere.

Operaţiile logice furnizate de UAL includ funcţiile logice de bază (ŞI, SAU, SAU EXCLUSIV, NEGAŢIA LOGICĂ), DEPLASAREA şi ROTAŢIA unui cuvânt binar. De asemenea, UAL poate determina dacă un număr este negativ sau pozitiv, dacă un număr este egal cu zero etc.

Obiectivul acestui proiect l-a constituit proiectarea, utlizând circuite elementare, a unei unităţi aritmetice şi logice şi simularea modelului funcţional. Proiectarea a fost realizată utilizând limbajul VHDL, iar verificarea a fost efectuată cu utilitarul ISim din pachetul Xilinx ISE.

Tabelul 1.1 cuprinde operaţiile furnizate de unitatea aritmetică şi logică.

Tabelul 1.1 Operaţiile unităţii aritmetice şi logice

Operaţie Operatori Descirere

Operaţii aritmetice Adunare A, B REZ A + B

Increment A, B REZ A + 1

Scădere A, B REZ A – B

Decrement A, B REZ A - 1

Înmulţire A, B REZ A * B

Împărţire A, B REZ A div B

Trecere prin ALU A REZ A

Comparaţie A, B

Test pentru zero sau negativ A, B

Operaţii logice ŞI logic A, B REZ A & B

SAU logic A, B REZ A | B

ŞI – NU logic A, B REZ ¬ (A & B)

SAU – NU logic A, B REZ ¬ (A | B)

SAU EXCLUSIV A, B REZ A xor B

NEGAŢIA logică

A REZ ¬ A

Operaţii pe biţi Deplasare logică la stânga A Rez(i+1) A(i), Rez(0) 0

Deplasare logică la dreapta A Rez(i) A(i+1), Rez(n) 0

Deplasare aritmetică la dreapta A Rez(i) A(i+1)

Rotaţie la stânga A Rez(0) A(n-1),

Rez(i+1) A(i)

Rotaţie la dreapta A Rez(n-1) A(0),

Rez(i) A(i+1)

Rotaţie la stânga prin carry A Rez(0) C,

Rez(i+1) A(i),

C A(n-1)

Rotaţie la dreapta prin carry A Rez(n-1) C,

Rez(i) A(i+1), C A(0)

Scriere flag transport - C 1

Scriere flag overflow - O 1

Scriere flag zero - Z 1

Ştergere flag transport - C 0

Ştergere flag overflow - O 0

Ştergere flag zero - Z 0

Operatorii UAL sunt numere întregi reprezentate în sistemul de numeraţie Complementul faţă de doi, pe un număr variabil de biţi. Pentru ilustrarea funcţionalităţii proiectului, numerele au fost reprezentate pe 32 de biţi.

Operaţiile de adunare şi scădere au fost implementate utilizând un sumator cu anticiparea transportului.

Pentru înmulţire şi împărţire s-au utilizat circuite combinaţionale matriceale. Comparativ cu circuitele secvenţiale, circuitele de înmulţire, respectiv împărţire combinaţională, conţin o logică suplimentară care permite ca rezultatul să fie calculat într-un singur pas.

Circuitul de înmulţire matriceală utilizează porţi ŞI pentru formarea produselor parţiale (prin înmulţirea biţilor înmulţitorului cu cei ai deînmulţitului şi deplasarea rezultatului cu numărul corespunzător de biţi) şi sumatore elementare pentru adunarea acestora.

Modulul de împărţire efectuează operaţia de împărţire fără refacerea restului parţial. Pentru implementarea circuitului s-a utilizat o matrice de celule identice care pot efectua operaţia de adunare sau de scădere.

Preview document

Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 1
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 2
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 3
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 4
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 5
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 6
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 7
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 8
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 9
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 10
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 11
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 12
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 13
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 14
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 15
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 16
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 17
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 18
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 19
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 20
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 21
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 22
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 23
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 24
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 25
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 26
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 27
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 28
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 29
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 30
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 31
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 32
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 33
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 34
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 35
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 36
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 37
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 38
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 39
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 40
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 41
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 42
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 43
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 44
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 45
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 46
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 47
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 48
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 49
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 50
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 51
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 52
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 53
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 54
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 55
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 56
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 57
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 58
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 59
Unitate Aritmetica si Logica in VHDL si Simulare - Pagina 60

Conținut arhivă zip

  • Unitate Aritmetica si Logica in VHDL si Simulare.doc

Alții au mai descărcat și

Realizarea unui Site - Pisici

Capitolul 1. Introducere în HTML 1.1 Noţiuni generale HyperText Markup Language (HTML) este un limbaj de marcare utilizat pentru crearea...

Site Web Dinamic-Educational Sportiv

INTRODUCERE Utilizarea unui serviciu de un tip oarecare in Internet implica prezenta a doi parteneri hardware (calculatoare ) care comunica: •...

Studiul Portilor Logice

1 Caractere generele 1.1 Definiţie Porţile logice sunt circuite electronice capabile să efectueze operaţii logice simple sau compuse cu semnalele...

Proiect Unitatea Aritmetico-Logica

Unitatea aritmetico-logica (UAL sau ALU) Cel care a propus conceptul de unitate aritmetico logic (ALU) este matematicianul John Von Neumann...

Informatica - Site despre Destinatii Turistice

I. ENUNŢUL PROBLEMEI Să se realizeze o aplicaţie web care să prezinte câteva dintre cele mai importante destinaţii turistice. Aplicaţia trebuie...

Arhitectura Calculatoarelor - Intel vs AMD

Rezultatele din testul 3DS Max 7 SPECapc Test Testul alaturat consta in crearea modelelor 3D, modificarea si randarea scripturilor. Conform...

Tema 1 - Proiectare Logica

Proiectare logica Tema 1 1. Sa se gaseasca sumele si produsele canonice pentru urmatoarele functii: 2. Utilizati teoremele algebrei circuitelor...

Sisteme de operare

Subiectul 7: (exemplu de raspuns) Folosirea ASLR impiedica rularea de shellcode-uri de pe stiva prin pozitionarea stivei in diverse zone din...

Te-ar putea interesa și

Laboratoare Circuite Logice Programabile

În această lucrare se prezintă principiul simulatoarelor şi al simulării funcţionale asistate de calculator pentru circuite, iar apoi se prezintă...

Procesor JAVA în Baza Arhitecturii RISC

1. Necesitatea utilizării şi particularităţile de funcţionare a Java Virtual Machine 1.1. Noţiuni generale JAVA este un limbaj de programare...

Ai nevoie de altceva?