Какая разница, когда время задержки указано в LHS или RHS? - PullRequest
1 голос
/ 14 мая 2011
a = #5 b;
#5 a = b;

Есть ли разница между двумя утверждениями?

Ответы [ 2 ]

4 голосов
/ 14 мая 2011

# на RHS называется задержкой внутри присваивания.Прочтите о различии в стандарте IEEE (1800-2009), раздел 9.4.5 «Элементы управления синхронизацией внутри присваивания».

Задержка внутри назначения или управление событиями должны задерживать назначение новогозначение в левой части, но правое выражение должно оцениваться до задержки, а не после задержки.

Запустите симуляцию с обоими операторами, чтобы увидеть, какая разница (если есть)вы наблюдаетеИспользуйте $monitor и $time.

1 голос
/ 14 мая 2011

Чтобы быть точным, во втором утверждении не указывается временная задержка на LHS назначения блокировки. Он имеет префикс процедуройdudural_timing_control, который может использоваться перед процедурным оператором любого типа, а не только с операторами присваивания.

...