«« ( Date ) »» // «« ( Thread ) »» // vlsi-nastava - 2004

Booth algoritam

by Ana Balevic
subota, 31. januar 2004 - 17:06.



- Zasto se u relaziaciji Booth mnozaca na vezbama rezultat u svakom koraku shiftuje za 2 mesta udesno,
a u knjizi na str 74 pise da treba 2 mesta ulevo (sto je i meni logicno)

- odakle su se pojavile SLL i SAR - ne mogu da ih nadjem u bibliotekama,
-vidim da ima samo SHL i SHR (koji puni 0-icama ili znakom zavisno od toga da li je operand signed ili unsigned)
- zasto pre upotrebe shift-a konvertuje std_logic_vector u bit_vector? (zar ne radi shift na bilo kakvom vektoru?)
- da li postoji neka standardna procedura koja konvertuje vector u string i u kojoj biblioteci, ili moramo da sami pisemo?
- U primeru prvog dela ispita sa sajta (Jun 02) , nije mi jasno zasto kada za prvi korak uzme 10.0 ,
dodaje M, a po tablici bi trebalo da oduzme 2M? Evo ga dole taj
zadatak:



4. [3] Demonstrirati, korak po korak, Booth-ov algoritam na primeru mno?zenja dva 5-bitna broja data u
drugom komplementu. A = 11001 i B = 10110.
Re?senje: • Izvr?siti pro?sirivanje A i B tako da imaju paran broj cifara A = 111001 i B = 110110,
rezultat mora biti 12-bitni.
• 10.0 oduzimanje mno?zenika M = 000000000000 - 111111110010 = 000000001110
• 011 dodavanje mno?zenika 2x M = 000000001110 + 111111001000 = 111111010110
• 110 oduzimanje mno?zenika M = 111111010110 - 111110010000 = 000001000110
• A * B = 70