Чт окт 25, 2012 18:24:26
КОД ОЗУ
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.numeric_std.all;
entity ram is
generic(
width_adr : integer:=12;
width_data : integer:=12;
depth : integer:=2**12
);
port(
DATA_IN : in std_logic_vector(width_data-1 downto 0);
ADR :in std_logic_vector(width_adr-1 downto 0);
CS :in std_logic;
WE : in std_logic;
DATA_OUT : out std_logic_vector(width_data-1 downto 0)
);
end ram;
architecture beh of ram is
type mem_ram is array(depth-1 downto 0) of std_logic_vector(width_data-1 downto 0);
--Signal ram_el : mem_ram;
begin
process(CS,WE)
variable address: natural;
variable ram_el : mem_ram;
begin
address:=to_integer(unsigned(ADR));
if(CS='1') then
if (WE='1') then
ram_el(address):=DATA_IN;
else DATA_OUT<=ram_el(address);
end if;
end if;
end process;
end beh;
Пт окт 26, 2012 07:32:23
Пт окт 26, 2012 07:45:42
Пт окт 26, 2012 09:02:26
А всё равно для какого. Все современные имеют синхронную блочную встроенную память, а тут описана асинхронная. Её в принципе иначе, чем на LE-шках не сделать.Kavka писал(а):А для какого чипа генерируете код?
Если ваша ПЛИС имеет встроенную SRAM, то, видать, квартус не распознал, что можно использовать встроенную память. И взялся строить память на LEшках.
Пт окт 26, 2012 12:04:11
Об этом я и не подумал.avreal писал(а):А всё равно для какого. Все современные имеют синхронную блочную встроенную память, а тут описана асинхронная. Её в принципе иначе, чем на LE-шках не сделать.
Сб окт 27, 2012 11:45:05
avreal писал(а): или в редакторе квартуса нажать кнопочку со свитком, там примеры кода.