hi...
i need to assign the values(0 or 1)or signal to calculated address location in a array .... like this calculation will be more then one......actually i have getting run time error .... only first signal is assigning to first address after that second, 3rd ,4th all is not assigning to calculated address location with respect to that address....
pro:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity abc is
port( clk : in std_logic;
reset: in std_logic;
DataIn: in std_logic;
code_rate:in std_logic_vector(3 downto 0);
-- sel_NM_sh:in std_logic;
data_out: out std_logic);
end abcd;
architecture arch of abcd is
signal a:integer;
signal w:integer;
signal z:integer;
signal u:integer:=0;
signal p: std_logic_vector(32399 downto 0):=(others=>'0');
signal p2:std_logic;
signal p3:std_logic;
signal p4:std_logic;
signal p5:std_logic;
process(clk,reset,h)
begin
if(clk'event and clk= '1') then
if(reset='1') then
--p<=(others=>'0');
b<=0;
b_1<=0;
a<=0;
p2<='0';
p3<='0';
a<=y_1;
else
if (h>53) then
a<=y_1;
b_1 <=((t*T)+(Q(a)));
if(b_1 < (A) )then
b<=b_1;
else
b<=b_1-(A);
end if;
p2<=p(b);
p3<= p2 xor DataIn;
p(b) <= p3;
y_1<=y;
end if;
end if;
end if;
end process;
process(clk,reset,h)
begin
if(clk'event and clk= '1') then
if(reset='1') then
--p<=(others=>'0');
b<=0;
b_1<=0;
a<=0;
p2<='0';
p3<='0';
a<=y_1;
else
if (h>53) then
a<=y_1;
b_1 <=((t*T)+(Q(a)));
if(b_1 < (A) )then
b<=b_1;
else
b<=b_1-(A);
end if;
p2<=p(b);
p3<= p2 xor DataIn;
p(b) <= p3;
y_1<=y;
end if;
end if;
end if;
end process;