Я ищу ответ на этот вопрос около 4 дней и никто мне так внятно и не ответил на него!
Ув. знатоки, вылажите побольше инфы на эту тему, уж больно распространённой она становится. Как правильно и грамматно создать VHDL-описание SRAM, так чтобы, ну не все конечно, а хотя бы самые распрастранённые САПР видели её как встроенную в ПЛИС память,а не как LUT. У меня получалось делать такое описание, и действительно такие САПР как Xilinx, MAX, FPGAadv. видели её как EAB пример такого описания я могу дать:
Код
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
ENTITY mem_test IS
generic (DATA_WIDTH: natural:=16;
ADRESS_WIDTH: natural:=8);
port(DATA: in std_logic_vector(DATA_WIDTH-1 downto 0);
WRADRESS: in std_logic_vector(ADRESS_WIDTH-1 downto 0);
RDADRESS: in std_logic_vector(ADRESS_WIDTH-1 downto 0);
WRITE_EN: in std_logic;
CLK: in std_logic;
QUIT: out std_logic_vector(DATA_WIDTH-1 downto 0));
END mem_test;
ARCHITECTURE memory_ram OF mem_test IS
type MEMORY_BLOCK_1 is array ((2**ADRESS_WIDTH)-1 downto 0) of std_logic_vector(DATA_WIDTH-1 downto 0); --MEMORY TYPE
SIGNAL SIG_DATA: std_logic_vector(DATA_WIDTH-1 downto 0);
SIGNAL SIG_WRADR: std_logic_vector(ADRESS_WIDTH-1 downto 0);
SIGNAL SIG_RDADR: std_logic_vector(ADRESS_WIDTH-1 downto 0);
SIGNAL SIG_WE: std_logic;
BEGIN
process (CLK) begin
if CLK'event and CLK='1' then
SIG_DATA<=DATA;
SIG_WRADR<=WRADRESS;
SIG_RDADR<=RDADRESS;
SIG_WE<=WRITE_EN;
end if;
end process;
process (SIG_DATA,SIG_WRADR,SIG_RDADR,SIG_WE)
variable SRAM: MEMORY_BLOCK_1;
begin
if SIG_WE='1' then
SRAM(conv_integer(SIG_WRADR)):=SIG_DATA;
end if;
QUIT<=SRAM(conv_integer(SIG_RDADR));
end process;
END memory_ram;
[/quote]
Память синхронная, дуал порт, как я понимаю. Но результаты моделирования, увы, огорчают! Хотя ИМХО с точки зрения логики всё верно. Если во 2-ом процессе пихнуть клок, память тут-же пихается на триггерах

При временном моделировании возникают проблемы, над решением которых собственно и встает вопрос. Если есть желание помочь мне и многим другим, я могу выложить результаты моделирования (кому интересно). Многие могут меня закритиковать за такое описание, но покрайней мере это видится как EAB!
Буду очень благодарен за всю полученную информацию! Очень нуждаюсь в помощи профессионалов!
С уважением Никита