VHDL code for booth multiplier

Guest #2732511
Ciao,
Dovrei realizzare la descrizione VHDL di un moltiplicatore digitale che 
realizzi
l’algoritmo di Booth(con codifica a 2 bit) per due moltiplicandi 
rappresentati su N ed M bit rispettivamente e con risultato su N+M bit.
Posto il codice sorgente del moltiplicatore(A) e del test bench(B) che 
ho provato a scrivere.
Qualcuno potrebbe dirmi se è corretto?
A) library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity booths is
GENERIC(k : POSITIVE := 7); --input number word length less one
Port ( a,b : in STD_LOGIC_VECTOR (k downto 0);
mul : out STD_LOGIC_VECTOR (2*k+1 downto 0));
end booths;
architecture Behavioral of booths is
begin
process(a,b)
variable m: std_logic_vector (2*k+1 downto 0);
variable s: std_logic;
begin
m:="00000000"&b;
s:='0';
for i in 0 to k loop
if(m(0)='0' and s='1') then
m(k downto k-3):= m(k downto k-3)+a;
s:=m(0);
m(k-1 downto 0):=m(k downto 1);
elsif(m(0)='1' and s='0') then
m(k downto k-3):= m(k downto k-3)-a;
s:=m(0);
m(k-1 downto 0):=m(k downto 1);
else
s:=m(0);
m(k-1 downto 0):=m(k downto 1);
end if;
end loop;
mul<=m;
end process;
end Behavioral;
B)library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Testbench_di_Booth is
end Testbench_di_Booth;
architecture behavior of Testbench_di_Booth is
component booths
GENERIC(k : POSITIVE := 7); --input number word length less one
Port( a,b : in STD_LOGIC_VECTOR (k downto 0);
mul : out STD_LOGIC_VECTOR (2*k+1 downto 0));
end component;
--Inputs
signal A : STD_LOGIC_VECTOR (7 downto 0):= "00000011";
signal B : STD_LOGIC_VECTOR (7 downto 0):= "00000100";
--Outputs
signal MUL : STD_LOGIC_VECTOR(15 downto 0);
begin
--Instantiate the UnitUnder Test (UUT)
uut: booths PORT MAP
(a => A,
b => B,
mul => MUL);
--Stimulus process
stim_proc: process
begin
--insert stimulus here
A<="00000011"; B<="00000100"; wait for 500 fs;
A<="00000110"; B<="00000111"; wait for 500 fs;
A<="00001011"; B<="00000100"; wait for 500 fs;
wait;
end process;
end;
Guest
No, così no!

There is a lot of people here which is willing to help you if they can,
but nobody wants to spend time for formatting and translation.

Please :
- Ask your question in english
- Format your code in a decent way.
  a) add your source as separate file
  b) use
1
 and
 tags around your code
  And please, pay attention your code is readable by having a correct
  indentation.
Guest
Hello,
I should realize the VHDL description of a digital multiplier that
realize Booth's algorithm (encoded in 2 bits) for two terms
represented on N and M bits, respectively, and with a result of N + M 
bits.

I have attached the 2 files:
1)booth that should implement the booth's algorithm
2)test that should simulate

Are they correct to implement and simulate a booth's multiplier?

please help me.
Attached files:
Guest
> Are they correct to implement and simulate a booth's multiplier?

You have a testbench.
Why don't you try it out?
Guest
I wrote and simulated with ALDEC ACTIVE-HDL Student Edition.
Compile the code and i have 0 Errors, but in the simulation the result 
of multiplication is "UUUU" and the WAVEFORM panel is empty.  so I 
thought that the codes are wrong.
Guest
You have to lern to use the simulator and maybe a little bit more about 
VHDL.

> WAVEFORM panel is empty.
The signals are not automatically added to the waveform windows.
You have to select the desired signals and add them to the window.
This is usually done by dragging the signals with the mouse from the 
signals window to the waveform window.
Read the tutorial for your simulator.

"U" means that the signal was never initialized or assigned.
This indeed points out that something went wrong. Look at the 
intermediate signals to see where you failed.
Guest
Hi everyone
my name is Mehdi and i am a Electronic Engineering student in mastre 
degree
I need a VHDL code about modified Booth multiplier
help me if possible .
thank all of you so much .
Guest
Too easy copy paste VHDL code done by others for your Integrated System 
Architecture exam.
Study +++
googling ---

Reply

A question of your own? This thread is over 14 years old. Ask it in a thread of its own – more people read along there, and it gets answered more often and sooner.

Start a new thread

A fix, an addition or feedback on this thread? Then reply here.

Formatting
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]
  • [[Title]] – link to an article
  • Link to another post: right-click its post ID (#8078628), copy the address, paste it into the text

More about formatting

Post long source code as an attachment, not in the text.

Already registered? Log in

Not shown to anyone. We send you a link; your post appears once you confirm it there.

By submitting you create a free account and accept the terms of use.