Descărcați ca docx, pdf sau txt
Descărcați ca docx, pdf sau txt
Sunteți pe pagina 1din 8

Str.

Polithenicii 1
500024 – Brașov
tel.: (+40) 268.474.718 | fax: (+40)
268.474.718
f-iesc@unitbv.ro | www.unitbv.ro/fiesc

Disciplina: Limbaje de descriere hardware


Tema 2 Nr 4: Algoritm de împărțire cu restaurare (numere pozitive)
Student: Patriche Răzvan
Grupa: 4LF762- Calculatoare
Cadrul didactic: Dan Nicula

An universitar: 2018-2019
Sa se modeleze in Verilog un circuit de impartire secventiala realizat pe
baza algoritmului de impartire cu restaurare (numere positive).

4. Algoritm de împărțire cu restaurare (numere pozitive)


- resetează P (n+1 biți)
- încarcă deîmpărțitul în A (n biți)
- încarcă împărțitorul în B (n biți)
- repeta de n ori
- deplasează cu o poziție stânga {P, A} (LSb P = MSb A)
- P <= P - B
- dacă P este negativ (MSb P = 1)
- LSb A = 0
- P <= P + B (restaurare P)
- altfel
- LSb A = 1
- P conține REST
- A conține CÂ
14 : 3 = 4 rest 2
14 = 1110
3 = 0011
-3 = 1101 = 11101

P A B Operație
00000 1110 0011
00001 110X - iterație 1: * deplasare stânga {P, A}
11101 * scădere P <= P - B

11110 1100 * MSb P = 1 => LSb A <= 0


00011

00001 1100 * restaurare P

00011 100X - iterație 2: * deplasare stânga {P, A}


11101 * scădere P <= P - B

00000 1001 * MSb P = 0 => LSb A <= 1

00001 100X - iterație 3: * deplasare stânga {P, A}


11101 * scădere P <= P - B

11110 0010 * MSb P = 1 => LSb A <= 0


00011

00001 0010 * restaurare P

00010 010X - iterație 4: * deplasare stânga {P, A}


11101 * scădere P <= P - B
11111 0100 MSb P = 1 => LSb A <= 0
00011

00010 0100 * restaurare P

REST = 2 CÂT = 4
Str. Polithenicii 1
500024 – Brașov
tel.: (+40) 268.474.718 | fax: (+40)
268.474.718
f-iesc@unitbv.ro | www.unitbv.ro/fiesc

Modulul Impartitor_Test este modulul ce face conexiunea intre modulul


Impartire_Tb(care ofera vectorii de test) si Modulul Impartitor.

Modulul de impartire va avea o cale de date si o cale de control.

Calea de date modeleaza comportamentul registrelor A (deimpartitul pe N


biti), B (impartitorul pe N biti) si P ( restul pe N+1 biti)

Calea de control(Automatul circuitului) generaza semnalele necesare pentru


controlul registrelor.
Calea de date

Registrul A este registrul ce contine deimpartitul si la final catul


impartirii.

5
Registrul B este registrul ce contine impartitorul.

6
Registrul P este registrul ce contine la finaul algoritmului restul impartirii.

7
Calea de control

Contine automatul care trece dintr-o stare in alta in urma unor semnale
oferite de vectorii de test din TestBench.

Starea initiala a automatului ajunge in starea de INIT dupa ce semnalul de


Reset ajunge pe Low. Cand semnalul de Start este pe High automatul trece in
starea de LOAD iar valorile se instantiaza.Dupa un tact automatul ajunge in
starea DIVIDE .Dupa un tact se trece in starea de CHECKING pentru a verifica
MSb si LSb ,dupa se trece iara in starea de DIVIDE. Acest ciclu continua pana
cand numarul de iteratii ajunge la 0.Cand s-a ajuns cu numarul de iteratii la 0 se
ajunge la starea READY care este starea finala a automatului.

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