we do it this way because an output signal in a port cannot appear on the right side of an assignment statement within the architecture. The FF can change state in response to changes in SN , RN and CLK, so these three signals are in the sensitivity list of the process.