The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Design Languages >> VHDL-AMS >> help with simple multiplier
https://designers-guide.org/forum/YaBB.pl?num=1315226406

Message started by samy on Sep 5th, 2011, 5:40am

Title: help with simple multiplier
Post by samy on Sep 5th, 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

Title: Re: help with simple multiplier
Post by boe 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

Title: Re: help with simple multiplier
Post by samy on 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!!

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.