Перейти к содержанию
    

Эта конструкция синтезируется в распределённую память:

 

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_unsigned.all;

 

entity dsramd is

port (

wclk : in std_logic;

we : in std_logic;

wradr : in std_logic_vector (3 downto 0);

rdadr : in std_logic_vector (3 downto 0);

di : in std_logic_vector (7 downto 0);

wq : out std_logic_vector(7 downto 0);

rq : out std_logic_vector(7 downto 0)

);

end dsramd;

 

architecture syn of dsramd is

type ram_type is array (15 downto 0) of std_logic_vector (7 downto 0);

signal RAM : ram_type;

 

begin

process (wclk)

begin

if (wclk'event and wclk = '1') then

if (we = '1') then

RAM(conv_integer(wradr)) <= di;

end if;

end if;

end process;

 

wq <= RAM(conv_integer(wradr));

rq <= RAM(conv_integer(rdadr));

 

end syn;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...