masoud.malekzadeh
Member level 1
Hi , I've stored data from text file to ROM and i want to use Xilinx IP core to add two lines of Rom but it is not working ....
Here is my code ....
library IEEE;
use ieee.std_logic_textio.all;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_unsigned.ALL;
use std.textio.all;
entity ROM is
port (
x_out: out std_logic_vector(31 downto 0 );
clk: in std_logic
);
end ROM;
architecture Behavioral of ROM is
type ram_type is array (9 downto 0 ) of std_logic_vector(31 downto 0 );
signal ram :ram_type;
signal w:std_logic_vector(31 downto 0);
signal z:std_logic_vector(31 downto 0);
signal t:std_logic_vector(31 downto 0);
component adder
port (
a: in std_logic_vector(31 downto 0);
b: in std_logic_vector(31 downto 0);
clk: in std_logic;
result: out std_logic_vector(31 downto 0));
end component;
begin
process(clk)
FILE infile : TEXT is in "in_code.txt";
FILE outfile : TEXT IS OUT "out_code.txt";
VARIABLE out_line: LINE;
variable my_line : line;
variable int: std_logic_vector(31 downto 0 ) ;
variable i :integer range 9 downto 0 :=0;
begin
if(clk' event and clk='1') then
readline(infile,my_line);
read (my_line,int);
ram(i)<=int;
i:=i+1;
write(out_line,int);
writeline(outfile,out_line );
end if ;
end process;
g1:adder port map (a => ram(2),b => ram(4),clk => clk,result =>x_out);
end Behavioral;
Here is my code ....
library IEEE;
use ieee.std_logic_textio.all;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_unsigned.ALL;
use std.textio.all;
entity ROM is
port (
x_out: out std_logic_vector(31 downto 0 );
clk: in std_logic
);
end ROM;
architecture Behavioral of ROM is
type ram_type is array (9 downto 0 ) of std_logic_vector(31 downto 0 );
signal ram :ram_type;
signal w:std_logic_vector(31 downto 0);
signal z:std_logic_vector(31 downto 0);
signal t:std_logic_vector(31 downto 0);
component adder
port (
a: in std_logic_vector(31 downto 0);
b: in std_logic_vector(31 downto 0);
clk: in std_logic;
result: out std_logic_vector(31 downto 0));
end component;
begin
process(clk)
FILE infile : TEXT is in "in_code.txt";
FILE outfile : TEXT IS OUT "out_code.txt";
VARIABLE out_line: LINE;
variable my_line : line;
variable int: std_logic_vector(31 downto 0 ) ;
variable i :integer range 9 downto 0 :=0;
begin
if(clk' event and clk='1') then
readline(infile,my_line);
read (my_line,int);
ram(i)<=int;
i:=i+1;
write(out_line,int);
writeline(outfile,out_line );
end if ;
end process;
g1:adder port map (a => ram(2),b => ram(4),clk => clk,result =>x_out);
end Behavioral;