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

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

Отправлено TimurNSTU 26 января 2005 г. 12:52

1. Имеется подобного рода код:
.....
a : process
begin
if rising_edge(Clk) then
a <= b*c;
end if;
end process a;
.....
Среда: xilinx ise + modelsim 5.8
Вопрос: почему умножение происходит не на каждом такте, как задумывалось в коде, а спустя 3 такта, причём это как в поведенческом моделировании, так и в более усложнённом моделировании (самая последняя опция).
И ещё в догонку:
p : process
if ... then
a <= '0';
b <= '1';
else
a <= '1';
b <= '0';
end if;
end process p;
- работает, а вот так:

p : process
if ... then
c <= '1';
else
c <= '0';
end if;
end process p;

p1 : process
if c='1' then
a <= '0';
b <= '1';
else
a <= '1';
b <= '0';
end if;
end process p1;

что за лажа - непонятненько...


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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru