Сигнал driver_a переназначается в блоке Always обратно на 0, но почему блок Always не активируется и присваивает значение driver_b?
always @(driver_a) begin
driver_b = driver_a;
driver_a = 0;
end
initial begin
driver_a = 0; driver_b = 0;
#2 driver_a = 8'h8;
#2 driver_a = 8'hf;
end
В форме сигнала я ожидаю, что после driver_a назначит его значениедля driver_b, затем в следующей строке, когда driver_a будет назначен на 0, я ожидал, что блок Always будет реактивирован и присвоит значение 0 обратно driver_b.
однако это не тот случай, форма сигнала, кажется, показываетчто после того, как driver_a будет назначен 0 в блоке Always, блок Always не будет активирован повторно и вернет 0 обратно значению driver_b.Вкратце Я бы ожидал, что значение driver_b всегда останется 0 , так как код в блоке Always выполняется за нулевое время моделирования.
Я прикрепил изображение результирующего сигнала ниже