Skip to content

ad1905/booth_algorithm_verilog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Booth Algorithm Verilog

This repository contains an implementation of the Booth Multiplier, a binary multiplication algorithm that efficiently handles both positive and negative integers. The design is implemented in Verilog and supports 4-bit inputs, producing an 8-bit product. The project includes a testbench for verification and simulation, demonstrating the functionality of the Booth algorithm.

Algorithm

Step 1: Load the initial values for the registers.
A = 0 (Accumulator), Qres = 0, M = Multiplicand, Q = Multiplier and n is the count value which equals the number of bits of multiplier.

Step 2: Check the value of {Q0,Qres}. If 00 or 11, go to step 5. If 01, go to step 3. If 10, go to step 4.

Step 3: Perform A = A + M. Goto step 5.

Step 4: Perform A = A - M.

Step 5: Perform Arithmetic Shift Right of {A, Q, Qres} and decrement count.

Step 6: Check if counter value n is zero. If yes, go to next step. Else, go to step 2.

Step 7: Stop

Block Diagram

block_diagram

Flowchart

flowchart

Simulation Result

output

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published