[an error occurred while processing this directive]
|
Не получается правильно описать и инициализировать блочную память 256x16 на VHDL под Spartan2. Подскажите где я ошибся.
------------------------------------Листинг-------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
library UNISIM;
use UNISIM.VComponents.all;
entity BUFER_FOR_CANAL is
Port ( clk : in STD_LOGIC;
we : in STD_LOGIC;
addr : in STD_LOGIC_VECTOR (7 downto 0);
di : in STD_LOGIC_VECTOR (15 downto 0);
do : out STD_LOGIC_VECTOR (15 downto 0));
end BUFER_FOR_CANAL;
architecture syn of BUFER_FOR_CANAL is
type ram_type is array (255 downto 0) of std_logic_vector (15 downto 0);
signal RAM : ram_type;
signal read_addr : std_logic_vector (7 downto 0);
BUFER_FOR_CANAL_init : RAMB4_S16 --при проверке синтаксиса пишет :parse error, unexpected
--------------------------------------------- -----------IDENTIFIER
generic map (
INIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000")
port map (
clk => clk,
we => we,
addr => addr,
di => di,
do => do);
begin
process(clk)
begin
if (clk'event and clk='1') then
if (we='1') then
RAM(conv_integer(addr))<=di;
end if;
read_addr<=addr;
end if;
end process;
do<=RAM(conv_integer(read_addr));
end syn;
-----------------------------------------------------------------------------------------------------------------------------
Помогите,проект горит!!!!!!!!!!!!!!