[an error occurred while processing this directive]
чего-то у меня не пошло так (слева от равно тоже должна быть slice), я обманул с помощью функции (вроде бы synplify синтезировала то что надо)
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

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

Отправлено yes 11 ноября 2003 г. 15:16
В ответ на: По-моему, все правильно... отправлено andrew_b 11 ноября 2003 г. 13:30





corr.vhd



function get_slice (
arrval : std_logic_vector;
constant length : integer)
return std_logic_vector is
variable r : std_logic_vector(length-1 downto 0);
begin -- slice
for i in 0 to length-1 loop
r(i):=arrval(i);
end loop;
return r;
end get_slice;


constant max_width : integer :=cfg_filter(TAPS).WIDTH;
type interconnect is array (0 to TAPS) of std_logic_vector(max_width-1 downto 0);
signal wire : interconnect;

begin -- RTL

I_chanel: for j in 1 to TAPS generate
mf_inst: mf
generic map (
cfg_word => CFG_FILTER(j),
MAX_WIDTH => max_width
)
port map (
clk => clk,
in_sample => I_sample,
in_stream => get_slice(wire(j-1),CFG_FILTER(j).WIDTH),
out_stream => wire(j));
end generate I_chanel;

wire(0)<=sxt(I_sample,max_width);

I_res<=wire(TAPS);





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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru