Unitate aritmetică și logică în VHDL și 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: 10 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 aritmetică și logică în VHDL și simulare - Pagina 1
Unitate aritmetică și logică în VHDL și simulare - Pagina 2
Unitate aritmetică și logică în VHDL și simulare - Pagina 3
Unitate aritmetică și logică în VHDL și simulare - Pagina 4
Unitate aritmetică și logică în VHDL și simulare - Pagina 5
Unitate aritmetică și logică în VHDL și simulare - Pagina 6
Unitate aritmetică și logică în VHDL și simulare - Pagina 7
Unitate aritmetică și logică în VHDL și simulare - Pagina 8
Unitate aritmetică și logică în VHDL și simulare - Pagina 9
Unitate aritmetică și logică în VHDL și simulare - Pagina 10
Unitate aritmetică și logică în VHDL și simulare - Pagina 11
Unitate aritmetică și logică în VHDL și simulare - Pagina 12
Unitate aritmetică și logică în VHDL și simulare - Pagina 13
Unitate aritmetică și logică în VHDL și simulare - Pagina 14
Unitate aritmetică și logică în VHDL și simulare - Pagina 15
Unitate aritmetică și logică în VHDL și simulare - Pagina 16
Unitate aritmetică și logică în VHDL și simulare - Pagina 17
Unitate aritmetică și logică în VHDL și simulare - Pagina 18
Unitate aritmetică și logică în VHDL și simulare - Pagina 19
Unitate aritmetică și logică în VHDL și simulare - Pagina 20
Unitate aritmetică și logică în VHDL și simulare - Pagina 21
Unitate aritmetică și logică în VHDL și simulare - Pagina 22
Unitate aritmetică și logică în VHDL și simulare - Pagina 23
Unitate aritmetică și logică în VHDL și simulare - Pagina 24
Unitate aritmetică și logică în VHDL și simulare - Pagina 25
Unitate aritmetică și logică în VHDL și simulare - Pagina 26
Unitate aritmetică și logică în VHDL și simulare - Pagina 27
Unitate aritmetică și logică în VHDL și simulare - Pagina 28
Unitate aritmetică și logică în VHDL și simulare - Pagina 29
Unitate aritmetică și logică în VHDL și simulare - Pagina 30
Unitate aritmetică și logică în VHDL și simulare - Pagina 31
Unitate aritmetică și logică în VHDL și simulare - Pagina 32
Unitate aritmetică și logică în VHDL și simulare - Pagina 33
Unitate aritmetică și logică în VHDL și simulare - Pagina 34
Unitate aritmetică și logică în VHDL și simulare - Pagina 35
Unitate aritmetică și logică în VHDL și simulare - Pagina 36
Unitate aritmetică și logică în VHDL și simulare - Pagina 37
Unitate aritmetică și logică în VHDL și simulare - Pagina 38
Unitate aritmetică și logică în VHDL și simulare - Pagina 39
Unitate aritmetică și logică în VHDL și simulare - Pagina 40
Unitate aritmetică și logică în VHDL și simulare - Pagina 41
Unitate aritmetică și logică în VHDL și simulare - Pagina 42
Unitate aritmetică și logică în VHDL și simulare - Pagina 43
Unitate aritmetică și logică în VHDL și simulare - Pagina 44
Unitate aritmetică și logică în VHDL și simulare - Pagina 45
Unitate aritmetică și logică în VHDL și simulare - Pagina 46
Unitate aritmetică și logică în VHDL și simulare - Pagina 47
Unitate aritmetică și logică în VHDL și simulare - Pagina 48
Unitate aritmetică și logică în VHDL și simulare - Pagina 49
Unitate aritmetică și logică în VHDL și simulare - Pagina 50
Unitate aritmetică și logică în VHDL și simulare - Pagina 51
Unitate aritmetică și logică în VHDL și simulare - Pagina 52
Unitate aritmetică și logică în VHDL și simulare - Pagina 53
Unitate aritmetică și logică în VHDL și simulare - Pagina 54
Unitate aritmetică și logică în VHDL și simulare - Pagina 55
Unitate aritmetică și logică în VHDL și simulare - Pagina 56
Unitate aritmetică și logică în VHDL și simulare - Pagina 57
Unitate aritmetică și logică în VHDL și simulare - Pagina 58
Unitate aritmetică și logică în VHDL și simulare - Pagina 59
Unitate aritmetică și logică în VHDL și simulare - Pagina 60

Conținut arhivă zip

  • Unitate Aritmetica si Logica in VHDL si Simulare.doc

Alții au mai descărcat și

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...

Sistem de Prognosticare a Unei Avarii

Acest sistem calculeaza gradul de avariere a unei cladiri în cazul unui cutremur, precum si posibila necesitate a reconstructiei cladirii (partiala...

Tema 1 - proiectare logică

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

Sumatorul Complet și Sumatorul Binar Paralel

Obiective La finalul acestui exerciţiu de laborator, ar trebui să fiţi capabili să: - Creaţi şi să simulaţi un sumator complet în VHDL - Să...

Sisteme Avansate de Baze de Date

Ne vom referi la urmatoarele categorii de baze de date: - Baze de date relationale - Baze de date active, - Baze de date deductive - Baze de...

Te-ar putea interesa și

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...

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ă...

Ai nevoie de altceva?