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

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

Отправлено andrew_b 21 октября 2005 г. 09:08
В ответ на: Несколько вопросов по VHDL отправлено gen 20 октября 2005 г. 21:34

if falling_edge(clock) then
[...]
elsif rising_edge(clock) then
[...]
end if;

Так делать нельзя, разнесите по разным процессам.

Никакого сдвига на полпериода не надо. Используйте один фронт, восходящий. Все будет нормально, высокий уровень енабла в нужный момент вы гарантированно получите.

Про список чувствительности. В нем должны быть только те сигналы, изменени которых может непосредственно привести к изменению других сигналов. Вот возьмем ваш пример. У вас триггеры с _синхронным_ сбросом и входом разрешения. В списке чувствительности должен быть только клок, потому что как бы не менялись сигналы на входах данных, сброса и разрешения, триггер может изменить свое состояние только в момент фронта клока.
Если триггер с _асинхронным_ сбросом, то в списке чувствительности должны быть только сброс и клок.
Если внутри процесса только комбинационная логика, то в списке чувствительности должны быть все входные сигналы этого куска схемы, иначе можно нарваться на то, что синтезатор, скажем, из мультиплексора сделает latch.

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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

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

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

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


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

E-mail: info@telesys.ru