Как работает назначение сигналов в процессе?

Я узнал, что сигнал изменяется не сразу при встрече с выражением, а когда процесс завершается. В этом примере здесь:

...
signal x,y,z : bit;
...
process (y)
begin
  x<=y;
  z<=not x;
end process;

Пример говорит следующее:

Если сигнал y изменяется, то событие будет запланировано на x, чтобы сделать его таким же, как y. Кроме того, на z запланировано событие, противоположное x. Вопрос в том, будет ли значение z противоположным y? Конечно, ответ отрицательный, потому что, когда выполняется второй оператор, событие на x еще не было обработано, а событие, запланированное на z, будет противоположным значению x до начала процесса.

Хорошо. , Мне нужно понять некоторые вещи:

  1. Из того, что я узнал, значения сигналов обновляются только в конце процесса . Это правильно?
  2. Сигнал x обновляется как первая инструкция. Это по-прежнему не изменяет значение x , это изменение помещается в очередь для выполнения после завершения процесса. Таким образом, все, что находится после этого оператора x <= y , не увидит изменений и увидит x со старым значением. Это правильно?
  3. Второй оператор - это попытка изменить значение сигнала z . То же самое здесь, z не изменит своего значения, но это зависит от значения другого процесса. Изменение z будет помещено в очередь для выполнения в конце процесса. Это правильно?

Что происходит в конце процесса?

Номер возможности 1) Значение в x изменяется, поэтому x имеет новое значение. Второй сигнал z обновлен, первый сигнал x обновлен, и, учитывая, что z зависит от x , его значение изменяется на основе НОВОГО ОБНОВЛЕННОГО значения x . И пример должен работать нормально.

Номер возможности 2) Значение в x изменено, поэтому x имеет новое значение. Второй сигнал z обновляется. Учитывая, что z было присвоено старое значение x , это значение, которое будет содержать z , старое значение x , которое было обновлено, но это обновление не рассматривается.

Не могли бы вы сказать мне, какой из них правильный?

13
задан Étienne 3 July 2015 в 09:12
поделиться