[an error occurred while processing this directive]
MUX
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

миниатюрный аудио-видеорекордер mAVR

Отправлено leoyv 25 марта 2003 г. 12:17
В ответ на: Как в MAX2PLUS организовать двунаправленную шину с более чем одним внутреним регистром на чтение? отправлено albor 24 марта 2003 г. 17:27

Берется MUX с N-входами, на каждый вешается регистр, MUX управляется адресной шиной или ее подмножеством, выход MUX-а подключается к двунаправленному выводу, который управляется сигналом Read.
library IEEE;
....
entity Interface is
port(Addr : in std_logic_vector(Y downto X); -- Address Bus
Data : inout std_logic_vector(N downto 0); -- Data Bus
Rd : in std_logic;
Wr : in std_logic;

Rg0_DataOut : in std_logic_vector(N downto 0);
Rg1_DataOut : in std_logic_vector(N downto 0);
Rg2_DataOut : in std_logic_vector(N downto 0);
Rg3_DataOut : in std_logic_vector(N downto 0));
end Interface;
architecture Arch_Interface of Interface is
signal DataIn, DataOut : std_logic_vector(N downto 0);
begin

--Data Bus -----------------------------------------------
DataOut <= Data; -- CPU in Write Mode
Data <= DataIn when ((Rd = '0') and -- CPU in Read Mode
(Addr(Y downto X) = "xx")
else (others => 'Z');
--Data Bus End ------------------------------------------
--Read Bus Mux ------------------------------------------
DataIn <= Rg0_DataOut when (Addr = "A0") else
Rg1_DataOut when (Addr = "A1") else
Rg2_DataOut when (Addr = "A2") else
Rg3_DataOut when (Addr = "A3") else
"any conctant";

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru