Prob_10_27_Control_Unit M0 (
Ready, Error, Load_words, Shift_dividend, Shift_divisor, Subtract, state_is_S_Adivr,
adjust_remainder,
Start, w1_is_0, w2_is_0, sign_bit, Max, MSB_divr, nsd_not_zero,
clock, reset
);
module Prob_10_27_Control_Unit (
output Ready, Error, output reg Load_words, Shift_dividend, Shift_divisor, Subtract,
output state_is_S_Adivr, output reg adjust_remainder,
input Start, w1_is_0, w2_is_0, sign_bit, Max, MSB_divr, nsd_not_zero,
clock, reset
);
parameter S_idle = 0, S_Adivr = 1, S_Adivn = 2, S_div = 3, S_Err = 4, S_A_Rem = 5,
L_state = 3;
reg [L_state -1: 0] state, next_state;
assign Ready =((state == S_idle) && !reset);
assign Error = (state == S_Err);
assign state_is_S_Adivr = (state == S_Adivr);