Documente Academic
Documente Profesional
Documente Cultură
Proiect FC
Înmulțitor pe 4 biți
folosind algoritmul Shift-and-Add
Proiect FC
Tolico Nicodim
2021
Timișoara
1
Tolico Nicodim
Proiect FC
1. Introducere
Există mai multe metode de a implementa un algoritm de multiplicare pe
4 biți, însă toate au la bază aceeași teorie. Metoda pe care o voi folosi în cadrul
proiectului meu este supranumită “Shift-and-Add”, folosind un sistem self-
clocking cu 2 faze, pentru a reduce timpul de înmulțire la jumătate.
2. Teorie
Înmulțirea prin schimbare și adunare este similară cu înmulțirea efectuată
cu hârtie și creion. Această metodă adaugă multiplicandul X la sine de Y ori, unde
Y denotă multiplicatorul. Pentru a înmulți două numere cu hârtie și creion,
algoritmul este să luăm cifrele multiplicatorului pe rând de la dreapta la stânga,
înmulțind multiplicantul cu o singură cifră a multiplicatorului și plasând produsul
intermediar în pozițiile corespunzătoare la stânga rezultatelor anterioare.
Fig 1:
Multiplicarea a 2
numere de 4 biți fără
semn (8 și 9)
3. Algoritm
Cum am menționat mai devreme, teoria de mai sus poate fi scrisă ca și cod
în diverse moduri (ex. declararea unor variabile în care se vor stoca separat
rezultatele înmulțirii 1-4 și apoi adunarea lor, adunarea lui X la produs + shiftarea
lui X la stânga și a lui Y la dreapta etc.). Însă în cadrul proiectului dat voi folosi
algoritmul Shift-and-Add cu shiftarea la dreapta a produsului după fiecare etapă.
2
Tolico Nicodim
Proiect FC
Fig 2:
Shift-and-Add cu
shiftarea
produsului la
dreapta
Schema logică pentru acest algoritm este fig. 3, unde avem X/B ca multiplicator,
Y/Q – multiplicand, A – produs, N/n – numarul de pași ( = nr de biți, în cazul
nostru 4). Astfel, programul începe când variabila start = 1, făcând inițializarea, iar
mai apoi când start = 0 se efectuează restul computațiilor. Totodată, pașii din
algoritm se vor executa pe frontul crescător al variabilei clk, obținând astfel o
viteză mai mare.
Fig 3:
Schema logică
pentru algoritmul
folosit
3
Tolico Nicodim
Proiect FC
4. Cod
Fig 5:
Importanța bitului A_Q[8]
Fig 6:
Cod verilog pentru
înmulțitor pe 4 biți
4
Tolico Nicodim
Proiect FC
5. Surse
• https://users.utcluj.ro/~baruch/book_ssce/SSCE-Shift-Mult.pdf
• https://www.youtube.com/watch?v=AxrlH7vHOpw
• https://www.southampton.ac.uk/~bim/notes/ice/spec2003.html