[an error occurred while processing this directive]
Не знаю на счет DSP но FIFO буфер (текст ниже) у меня в APA1000 Synplify 7.2 Pro больше 15 часов мапил пока мне не надоело результат не получил. Не знаю я пока не специалист. В чем проблема: в ручка, синтезаторе или кристале
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

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

Отправлено Serega Doc 12 ноября 2004 г. 10:25
В ответ на: Ни то и не другое, просто DSP на нём делать тяжело, а вот для устройств управления очень даже годится отправлено ab 12 ноября 2004 г. 09:31

library IEEE;
use IEEE.STD_LOGIC_1164.all;
use work.parametry.all;
entity FIFO is
port(
CLK : in STD_LOGIC;
RST : in STD_LOGIC;
NXT_W : in STD_LOGIC;
NXT_R : in STD_LOGIC;
DATA_I : in STD_LOGIC_VECTOR(15 downto 0);
FULL : out STD_LOGIC;
EMPTY : out STD_LOGIC;
-- EMPTY_N : out STD_LOGIC;
DATA_O : out STD_LOGIC_VECTOR(15 downto 0)
);
end FIFO;
architecture FIFO_Synt of FIFO is
type ARR is array (natural range <>) of STD_LOGIC_VECTOR(15 downto 0);
signal BUF: ARR(0 to FIFO_OUT);
signal U_N : integer range 0 to FIFO_OUT;
signal U_K : integer range 0 to FIFO_OUT;
signal CNT : integer range 0 to FIFO_OUT;
signal FLL : STD_LOGIC;
signal EMP : STD_LOGIC;
begin
process (CLK, RST, NXT_W)
begin
if RST='0' then
U_N<=0;
elsif CLK='1' and CLK'event then
if FLL='0' and NXT_W='1' then
BUF(U_N)<=Data_I;
if U_N=FIFO_OUT then
U_N<=0;
else
U_N<=U_N+1;
end if;
end if;
end if;
end process;
process (CLK, RST, NXT_R)
begin
if RST='0' then
U_K<=0;
DATA_O<=x"0000";
elsif CLK='1' and CLK'event then
if EMP='0' and NXT_R='1' then
DATA_O<=BUF(U_K);
if U_K=FIFO_OUT then
U_K<=0;
else
U_K<=U_K+1;
end if;
end if;
end if;
end process;
process (CLK, RST, NXT_W, NXT_R)
begin
if RST='0' then
CNT<=0;
EMP<='0';
FLL<='0';
elsif CLK='1' and CLK'event then
if NXT_R='1' then
if CNT=0 then
EMP<='1';
else
CNT<=CNT-1;
EMP<='0';
end if;
end if;
if NXT_W='1' then
if CNT=FIFO_OUT then
FLL<='1';
else
CNT<=CNT+1;
FLL<='0';
end if;
end if;
end if;
end process;
FULL<=FLL;
EMPTY<=EMP;
end FIFO_Synt;

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru