The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Apr 25th, 2024, 9:55am
Pages: 1
Send Topic Print
help with simple multiplier (Read 3142 times)
samy
New Member
*
Offline



Posts: 5

help with simple multiplier
Sep 05th, 2011, 5:40am
 
the program is for a  simple multiplier using addition of the partial products. i find problem only with final addition part pls help me out
Code:
architecture Behavioral of new_twin1 is
type arr is array (3 downto 0) of std_logic_vector(3 downto 0);
type arr2 is array(4 downto 0) of std_logic_vector(7 downto 0);
signal and_1:arr:=("0000","0000","0000","0000");
signal t6:arr2:=("00000000","00000000","00000000","00000000","00000000");
signal temp:std_logic_vector(3 downto 0);
signal sum:std_logic_vector(7 downto 0):="00000000";
begin
process(clk)
variable z,t,k:integer;
variable t2:std_logic_vector(3 downto 0):="0000";
variable t7:std_logic_vector(7 downto 0);--:="00000000";
begin
for i in 0 to 3 loop
t6(i)(7 downto 0)<=("00000000");
end loop;
for i in 0 to 3 loop
 for j in 0 to 3 loop
  and_1(i)(j)<=(x(i) and y(j));
 end loop;
end loop;
t6(3)<=  "0000" & and_1(0);
k:=0;
for i in 2 downto 0 loop
 t6(i)<=t2( i downto 0) & and_1(k+1) & t2(k downto 0);
 k:=k+1;
end loop;
for i in 0 to 3 loop
 t6(4)<=t6(4)+t6(i);
end loop
----just tried this alternative which too dint work---
--  t6(4)<=t6(0);
--  t6(4)<=t6(4)+t6(1);
--  t6(4)<=t6(4)+t6(2);
--  t6(4)<=t6(4)+t6(3);
end process;
end Behavioral;
 



the final for loop for addition is giving me a gig-up.when i try to access one variable inside the array am able to retrieve it but while adding to the same, the total value tends to undefined(XXXXXXXX).
please suggest any modification
thanks in advance
Back to top
 
 
View Profile   IP Logged
boe
Community Fellow
*****
Offline



Posts: 615

Re: help with simple multiplier
Reply #1 - Sep 6th, 2011, 11:41pm
 
Samy,
I would expect a variable assignment, not a signal assignment, in the loop (for the summation).

B O E
Back to top
 
 
View Profile   IP Logged
samy
New Member
*
Offline



Posts: 5

Re: help with simple multiplier
Reply #2 - Sep 7th, 2011, 4:32am
 
boe wrote on Sep 6th, 2011, 11:41pm:
Samy,
I would expect a variable assignment, not a signal assignment, in the loop (for the summation).

B O E


thanks a lot B O E it worked!!
Back to top
 
 
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.