Fix for issue #745
Created by: silabs-oysteink
Refactored debug_cause decision.
1: Removed large ternary debug_cause assignment, replaced by priority between synchronous debug causes only. 2: Moved most priority logic into FSM, setting debug_cause_n whenever ctrl_fsm_ns == DEBUG_TAKEN.