2017-02-20 58 views
0

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

process(in) 
begin 
    x <= in; 
end process; 

Теперь, глядя на этот пример, «in» - это вход, объявленный в объекте. Теперь, если «in» начинается с 0 и изменяется на 1, процесс активируется, а значение x принимает значение «в». Теперь предположим, что после того, как в измененном от 0 до 1 теперь он остается постоянным значением 1. Означает ли это, что процесс не активируется? Будет ли x по-прежнему выдавать значение «1»? Я хочу сказать, что он не будет активирован и будет активироваться только один раз в изменениях с 1 до 0. Может ли кто-нибудь подтвердить это?

+1

Разве это не '' зарезервированное слово или что-то в этом роде? –

+0

Это, но я предположил, что он просто хотел использовать его в качестве примера. @BrianDrummond –

ответ

0

В списке чувствительности (я предполагаю, что это аппаратный язык, VHDL имеет тот же точный синтаксис и формат), когда есть некоторый тип изменения сигнала (L-> H, 0 -> 1, 1-> 0. .. любое изменение в переменной, которую вы указали в списке чувствительности), она активирует процесс, и процесс будет выполняться до завершения, после чего процесс завершится. Когда конец процесса, сигналы/выходы (в зависимости от того, как вы их интерпретируете) будут храниться в драйвере, который будет обновлять данные сигналы после некоторой задержки распространения.

Итак, из вашего второго заявления, да. Если он изменяется на 0 -> 1, процесс активируется, если его 1 -> 0, процесс активируется, и если в остается 1, процесс не будет активирован. Значит, значение x остается.

+0

Да, это VHDL, но THunk you !! –

 Смежные вопросы

  • Нет связанных вопросов^_^