Цитата(sazh @ Aug 28 2007, 13:30)

Конечно странно. что средствами пакета вы не можете дать указания синтезатору во что укладывать. в регистр или память. Но я не об этом.
По большому счету ведь все едино как массив данных скомпонован, одномерный или двумерный.
Наверно и у Вас стандартная ситуация. Накопить n 16 разрядных слов данных и сбросить разом.
Можно это как двумерный массив описать. Можно как одномерный. Просто пример. Может интересно будет.
entity shift_rga is
Port (
clk : in STD_LOGIC;
load : in STD_LOGIC;
data_in : in STD_LOGIC_VECTOR (15 downto 0);
data_outa : out STD_LOGIC_VECTOR (127 downto 0);
data_outb : out STD_LOGIC_VECTOR (127 downto 0)
);
end shift_rga;
architecture Behavioral of shift_rga is
signal outa : std_logic_vector(127 downto 0);
signal outb : std_logic_vector(127 downto 0);
begin
process (clk)
begin
if clk'event and clk = '1' then
if load = '1' then
outa <= outa(111 downto 0) & data_in;
outb <= data_in & outb(127 downto 16);
end if;
end if;
end process;
data_outa <= outa;
data_outb <= outb;
end Behavioral;
В принципе проблему решил.
А за пример спасибо. Не совсем то, но мысль весьма интересная. Вполне может в будущем пригодиться.
Цитата(vetal @ Aug 28 2007, 13:45)

хм...а чем не нравится размещение в озу?
Взять озу размером 2х пока копим одну половинку - работаем сдругой. "Быстрое копирование" получается путем изменения старшего бита адреса...все очень даже удобно.
Согласен, что удобно, только с памятью в проекте напряг.