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

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

Отправлено переходящий от AHDL к VHDL 01 декабря 2004 г. 14:57

Описал поведенчески такую схему комбинационного сдвигателя. Квартус генерит на выходе комбинационной схемы защёлки, ну и в общем она не работает. Если поставить вместо null заремаркированную строку, то вообще ничего не генерится. На более поростые описания сдвигателей типа индексации сигнала другим сигналом квартус просто ругается. Как красиво поведенчески описать параметризируемый баррелевский сдвигатель. Ответ использовать другой синтезатор не подходит.

library ieee,work;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
use work.pack.all;

entity p_barrel_shifter is
generic
(
width_data : INTEGER := 8;
width_shift : INTEGER := 2;
max_shift_value : INTEGER := 4;
width_result : INTEGER := 4
);


port
(
data : in STD_LOGIC_VECTOR (width_data - 1 downto 0);
shift : in STD_LOGIC_VECTOR (width_shift - 1 downto 0);
result : out STD_LOGIC_VECTOR (width_result - 1 downto 0)
);
end p_barrel_shifter;

architecture first of p_barrel_shifter is


begin

process (data, shift)

variable shift_var : INTEGER range 0 to max_shift_value;

begin

shift_var := TO_INTEGER(UNSIGNED(shift));

loop0 : for i in 0 to max_shift_value loop

if (i = shift_var) then

result <= data(width_result - 1 + i downto i);

else

null;
--result <= (others => 'X');

end if;

end loop loop0;

end process;
end first;

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru