VHDL program for Booth’s Multiplier
#1

[attachment=14656]
Company:
-- Engineer:
--
-- Create Date: 11:36:54 07/07/2011
-- Design Name:
-- Module Name: booth - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;


entity BoothMult4 is
GENERIC(k : POSITIVE := 4);
port(multiplier, multiplicand: in std_logic_vector(k-1 downto 0);
clk: in std_logic;
ready: out std_logic;
product_result: out std_logic_vector((2*k-1) downto 0));
end BoothMult4;

architecture boothMult4Arch of BoothMult4 is
signal count: integer:=0;
begin

process(clk)
variable num: std_logic_vector(2*k downto 0):="000000000";
variable Y, Z: std_logic_vector(k-1 downto 0);
variable i:integer;
begin

if count=0 then
num := "000000000";
Y := multiplicand;
num(k downto 1) := multiplier;
end if;
if clk'event and clk='1' then

for i in 0 to (k-1) loop
if(num(1) = '1' and num(0) = '0') then
Z := num(2*k downto (k+1));
num(2*k downto (k+1)) := Z - Y;

elsif(num(1) = '0' and num(0) = '1') then
Z := num(2*k downto (k+1));
num(2*k downto (k+1)) := Z + Y;

end if;
count<=count+1;
if count=k then count<=0;
end if;
num((2*k-1) downto 0) := num(2*k downto 1);

end loop;
if count=k then
ready<='1';
product_result <= num(2*k downto 1);
else ready<='0';
end if;
end if;

end process;

end boothMult4Arch;
Reply
#2

to get information about the topic "booth multiplier" full report ppt and related topic refer the page link bellow

http://studentbank.in/report-booth-multiplier

http://studentbank.in/report-design-of-h...-technique


http://studentbank.in/report-vhdl-progra...multiplier
Reply
#3
(19-07-2011, 03:48 PM)smart paper boy Wrote: Company:
-- Engineer:
--
-- Create Date: 11:36:54 07/07/2011
-- Design Name:
-- Module Name: booth - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;


entity BoothMult4 is
GENERIC(k : POSITIVE := 4);
port(multiplier, multiplicand: in std_logic_vector(k-1 downto 0);
clk: in std_logic;
ready: out std_logic;
product_result: out std_logic_vector((2*k-1) downto 0));
end BoothMult4;

architecture boothMult4Arch of BoothMult4 is
signal count: integer:=0;
begin

process(clk)
variable num: std_logic_vector(2*k downto 0):="000000000";
variable Y, Z: std_logic_vector(k-1 downto 0);
variable i:integer;
begin

if count=0 then
num := "000000000";
Y := multiplicand;
num(k downto 1) := multiplier;
end if;
if clk'event and clk='1' then

for i in 0 to (k-1) loop
if(num(1) = '1' and num(0) = '0') then
Z := num(2*k downto (k+1));
num(2*k downto (k+1)) := Z - Y;

elsif(num(1) = '0' and num(0) = '1') then
Z := num(2*k downto (k+1));
num(2*k downto (k+1)) := Z + Y;

end if;
count<=count+1;
if count=k then count<=0;
end if;
num((2*k-1) downto 0) := num(2*k downto 1);

end loop;
if count=k then
ready<='1';
product_result <= num(2*k downto 1);
else ready<='0';
end if;
end if;

end process;

end boothMult4Arch;

i am not getting output for this code..
Reply

Important Note..!

If you are not satisfied with above reply ,..Please

ASK HERE

So that we will collect data for you and will made reply to the request....OR try below "QUICK REPLY" box to add a reply to this page
Popular Searches: booth multiplier for signed and unsigned, advantages of booth multiplier, vhdl program for division algorithm, booth multiplier implementation, vhdl program multipliers, division program in vhdl algorithm, booth multiplier with vhdl code pdf,

[-]
Quick Reply
Message
Type your reply to this message here.

Image Verification
Please enter the text contained within the image into the text box below it. This process is used to prevent automated spam bots.
Image Verification
(case insensitive)

Possibly Related Threads...
Thread Author Replies Views Last Post
  Program in “LEX” to count number of vowels and consonants seminar class 2 9,631 22-03-2013, 10:20 AM
Last Post: computer topic
  Program in “LEX” to count number of Identifiers and Keywords seminar class 1 4,852 28-01-2013, 03:21 PM
Last Post: Guest
  PROGRAM TO RECOGNIZE A STRING WITH THREE COSECUTIVE 0’s smart paper boy 0 1,667 10-08-2011, 11:44 AM
Last Post: smart paper boy
  : PROGRAM TO IDENTIFY VOWELS AND CONSONANTS GIVEN AS INPUT smart paper boy 0 2,408 10-08-2011, 11:44 AM
Last Post: smart paper boy
  Program to Encrypt and decrypt a text data using RSA algorithm smart paper boy 0 2,534 10-08-2011, 11:43 AM
Last Post: smart paper boy
  Program the CRC 12 on a data set of characters smart paper boy 0 1,772 10-08-2011, 11:42 AM
Last Post: smart paper boy
  Program to implement the data link layer framing method character stuffing smart paper boy 0 7,958 10-08-2011, 11:41 AM
Last Post: smart paper boy
  Program to implement the data link layer framing method bit stuffing smart paper boy 0 2,897 10-08-2011, 11:41 AM
Last Post: smart paper boy
  To write a program to print “Hello World” in CORBA. smart paper boy 0 1,988 21-07-2011, 09:52 AM
Last Post: smart paper boy
  To write a C# program to perform encryption and decryption of the given data. smart paper boy 0 1,786 21-07-2011, 09:50 AM
Last Post: smart paper boy

Forum Jump: