Hello.
From the table that is listed in the course book (p.354), I understood that if branch is taken you should “move to another function” -> pc=pc+imm. I would like to understand why the solution is correct (is it possible to make my own actions for the branch_taken / branch_not_taken or there is something else that made the actions at the official solution correct).
The posted solution has nothing to do with the state of the control called “branch”.
Think of a state diagram of an FSM in which a state has out-degree two depending on the value of an input of the control.