Очевидно, что если вы используете ALU для сравнения, вы не можете использовать его ни для чего другого, поскольку вы используете архитектуру с одним циклом, и вы должны найти другой путь.
Сравнение выполняется между SrcA (RD1) и Imm16.Таким образом, регистр для записи на ПК для перехода в RD2.
В настоящее время нет пути между RD2 и ПК.Единственные пути из RD2 ведут в память или на вход ALU.Таким образом, вы должны добавить путь между RD2 и ПК.
Есть несколько способов сделать это, но более простым является добавить мультиплексор сразу после PCBranch, который будет приводить к ПК либо адрес, вычисленный для ветвей, либо регистр RD2 для этой новой инструкции.В обеих ситуациях один и тот же сигнал (выход сравнения ALU) используется для управления тем, какое значение записывается на ПК.
Также необходимо внести изменения в блок управления с дополнительным сигналом для управления этим мультиплексором.