Каково эквивалентное утверждение этого назначения VHDL? - PullRequest
0 голосов
/ 01 ноября 2011

Код VHDL:

next_x(7 downto 0) <= rec_data;

Что делает эта строка?Что такое эквивалентное утверждение?Эта строка находится в процессе и выполняется, когда условие_1 истинно.

Я предполагаю, что этот оператор обновит next_x?

Может кто-нибудь объяснить объяснение и найти эквивалент, если таковой имеется?

Спасибо.

1 Ответ

2 голосов
/ 02 ноября 2011

Поскольку это присвоение сигнала , планирует next_x иметь значение rec_data после завершения процесса.Самое большое предостережение, о котором следует знать, это то, что последующее считывание сигнала next_x в процессе, в котором запланировано это изменение, вернет старое значение этого сигнала - изменение еще не вступило в силу.Вы можете думать о том, что он выполняется одновременно со всеми другими назначениями сигналов в процессе, но допускается несколько назначений одного и того же сигнала, и вступит в силу только последний.

С другой стороны, переменная присваивания вступают в силу немедленно, поэтому изменения видны для всех последующих операторов процесса, во многом как императивные языки программирования.

Эквивалентная переменная присваивание будет next_x(7 downto 0) := rec_data;, но next_x тогда должна быть переменной, а не сигналом.

Вот хорошая сводка сигнал против присвоения переменной .

...