
Сообщение от
KTSerg
Но второй IF в моём случае срабатывает значительно позднее.
Нельзя сказать "срабатывает". Регистр, в котором хранится acc, будет обновляться при каждом posedge clk (в таком варианте кода). Значение на входах регистра, если присутствует if, формируется при помощи мультиплексоров, а входы мультиплексоров в любом случае куда-то подключены. Если нет ветки else, то соответственно к выходу регистра acc.
- - - Добавлено - - -
Данный код:
Код:
...
if (alu_awr) acc <= d;
if (alu_ald) acc <= s;
...
не содержит синтаксических ошибок, но тут не определён приоритет alu_awr alu_ald. Можно, конечно, надеяться, что приоритет последнего if выше, и код будет соответствовать следующему:
Код:
if (alu_ald) acc <= s; else if (alu_awr) acc <= d; else acc <= acc;