Какова эквивалентная инструкция этого назначения VHDL?

#vhdl

#vhdl

Вопрос:

Код VHDL:

 next_x(7 downto 0) <= rec_data;
 

Что делает эта строка? Каков эквивалентный оператор? Эта строка находится внутри процесса и выполняется, когда condition_1 имеет значение true .

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

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

Спасибо.

Комментарии:

1. Эквивалентная инструкция в чем?

Ответ №1:

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

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

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

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

Комментарии:

1. Я не думаю, что в вопросе упоминались переменные.

2. Это было предположение. Я разобрал заголовок следующим образом: каково эквивалентное «утверждение» этого VHDL «присваивания»? Исходя из этого, я предположил, что OP ссылается на предоставленное назначение сигнала как на «назначение» и искал связанную концепцию, которую они назвали «заявлением». Самое близкое, о чем я могу думать, — это присвоение переменных. Я не стал вдаваться в подробности вопроса, поэтому, надеюсь, они будут расширяться, если это сильно ошибочный ответ. Изучение метаязыка для описания другого языка иногда является половиной проблемы.