Metodata Comportamentală de Descriere Alu

Laborator
7/10 (1 vot)
Domeniu: Electronică
Conține 1 fișier: docx
Pagini : 5 în total
Cuvinte : 911
Mărime: 119.32KB (arhivat)
Publicat de: Mugur Olaru
Puncte necesare: 0
Universitatea Tehnica a Moldovei Facultatea CIM Catedra Microelectronica si semiconductoare

Extras din laborator

Scopul lucrării:Să se descrie o unitate aritmetico logică cu un set de 16 UA elementare. Să se sintetizeze codul scris în Verilog pentru a obţine circuitul digital.

Date teoretice:

Unităţi logico-aritmetice (ALU)

Circuitele prezentate anterior efectuau câte o singură funcţie. Ele decodificau, multiplexau, sumau sau roteau. Este momentul să prezentăm o modalitate prin care se poate proiecta un circuit a cărui funcţie să poată fi selectată dintr-o mulţime predefinită de funcţii utile. Un astfel de circuit necesar în conceperea unor maşini care realizează prelucrări diverse asupra aceloraşi variabile aplicate intrărilor. Operaţiile efectuate de astfel de circuite sunt de tip logic sau aritmetic, motiv pentru care ele se numesc unităţi logico - aritmetice, ALU (Arithmetic and Logic Unit).

Arhitectura unei unităţi logico - aritmetice

Prin acest paragraf vom răsunde la întrebarea: care sunt funcţiile efectuate de o ALU? Nu are importanţă în această fază, de definire arhitecturală, cum se realizează aceste funcţii. Definiţia arhitecturală dă seamă de comportamentul circuitului, de felul cum acesta este văzut la bornele sale, Ia interfaţa sa cu celelalte subsisteme cu care interacţionează.

Conexiunile sunt de mai multe tipuri:

1. două intrări, fiecare de câte n biţi reprezentând cei doi operanzi:

Fig. 1 Schema bloc a unei unităţi logico-aritmetice.

- operandul stâng (left) codificat cu Ln-1... Lo

- operandul drept (right) codificat cu Rn-1... R0

2. intrare pentru specificarea operaţiei logico - aritmetice de efectuat între cei doi operanzi, codificată, în cazul exemplului nostru, cu trei biţi, F2F1F0 (numărul de biţi depinde de setul de funcţiuni al ALU)ieşirea de n biţi pe care se generează rezultatul, On-1... O0

3. o serie de biţi cu semnificaţie independentă, numiţi indicatori sauflag-uri, ce car¬acterizează relaţii între operanzi sau rezultatul operaţiei efectuate; în exemplul pe care-1 dăm vom lua în consideraţie următoarele fiag-uri:

CARRY : este un bit ce reprezintă depăşirea ce apare la operaţiile aritmetice cu întregi pozitivi

EQUAL : indică identitatea celor doi operanzi, Ln-1 ... L0 şi Rn-1 ... R0

ZERO : semnalizează faptul că rezultatul operaţiei curente, On-1... O0 este o configuraţie binară cu toţi biţii egali cu zero

SGN : reprezintă valoarea celui mai semnificativ bit, On-1, al rezultatului care, dacă rezultatul este interpretat ca un număr cu semn, este valoarea semnului (0 pentru plus şi 1 pentru minus)

PAR : reprezintă cel mai puţin semnificativ bit al rezultatului, care, dacă rezul¬tatul este interpretat ca număr întreg, reprezintă paritatea numărului (0 pentru număr par şi 1 pentru număr impar)

OVF : reprezintă depăşirea capacităţii de reprezentare a numerelor întregi (cu numerele negative reprezentate prin complementul faţă de 2); este un fel de carry pentru întregii cu semn.

Setul de funcţii al ALU va fi limitat, pentru exemplul pe care-1 folosim, la următoarele:

AND : Oi = LiRi, pentru i = 0,1,... (n -1)

OR : Oi = Li + Ri, pentru i = 0,1,... (n - 1)

XOR : Oi =Li  Ri, pentru i = 0,1,... (n - 1)

ADD : adună modulo 2n cei doi operanzi reprezentând două numere întregi

SUB : scade modulo 2n cei doi operanzi reprezentând două numere întregi

INC : incrementează modulo 2n operandul stâng

LEFT : ieşirea ia valoarea operandului stâng

SHL : reprezintă deplasarea logică cu o poziţie la dreapta a operandului stâng (cel mai puţin semnificativ bit se pierde).

ALU uzuale realizează şi alta funcţii, cum ar fi decrementarea (DEC), rotirea (ROT), NOT, ş. a.

Mersul lucrării:

module ALU(L,R,F,Out,PAR,SGN,CARRY,OVF,ZERO,EQUAL);

parameter ADD=1,SUB=2,INC=3,DEC=4,ROL=5,ROR=6,SHL=7,

SHR=8,OR1=9,AND1=10,NOT1=11,XOR1=12,NEG1=13,

LEFT=14,RIGHT=15;

input [7:0] L,R;

input [3:0] F;

output [7:0] Out;

output PAR, SGN, CARRY,OVF,ZERO,EQUAL;

reg CARRY;

reg [7:0] Out;

assign ZERO = ~(|Out);

assign EQUAL = (L==R);

assign SGN = Out[7];

assign PAR = Out[0];

always @ (L or R or F)

case (F)

ADD: {CARRY,Out}=L+R;

SUB: {CARRY,Out}=L-R;

INC: Out=L+1;

DEC: Out=L-1;

ROL: Out = {L[0], L[7:1]};

ROR: Out = {L[6:1], L[7]};

SHL: {CARRY,Out} = {L[6:0], 1'b0};

SHR: {CARRY,Out} = {1'b0, L[7:1]};

OR1: Out = L|R;

AND1: Out = L&R;

NOT1: Out = ~L;

XOR1: Out = L^R;

NEG1: Out = 0-L;

LEFT: Out = L;

RIGHT: Out = R;

endcase

endmodule

Modulul de simulare:

module ALU_SIM;

reg [3:0] F;

reg [7:0] L;

reg [7:0] R;

wire CARRY,OVF,ZERO,EQUAL;

wire SGN, PAR;

wire [7:0] Out.

Preview document

Metodata Comportamentală de Descriere Alu - Pagina 1
Metodata Comportamentală de Descriere Alu - Pagina 2
Metodata Comportamentală de Descriere Alu - Pagina 3
Metodata Comportamentală de Descriere Alu - Pagina 4
Metodata Comportamentală de Descriere Alu - Pagina 5

Conținut arhivă zip

  • Metodata Comportamentala de Descriere Alu.docx

Alții au mai descărcat și

Monitorul

O clasificare sumara a monitoarelor ar putea fi dupa unul din criteriile : a) dupa culorile de afisare -monitoare monocrome (afiseaza doar doua...

Stabilizator de Tensiune

3. Functionarea În general, pentru realizarea stabilizatoarelor de tensiune se folosesc proprietatile diodelor. Cel mai simplu tip de...

Ai nevoie de altceva?