Line 66... |
Line 66... |
wire [size_mul_mantissa + 1 : 0] normalized_mantissa, adder_mantissa;
|
wire [size_mul_mantissa + 1 : 0] normalized_mantissa, adder_mantissa;
|
wire [size_mul_mantissa : 0] unnormalized_mantissa;
|
wire [size_mul_mantissa : 0] unnormalized_mantissa;
|
wire [size_mul_mantissa - 1 : 0] shifted_m_ab;
|
wire [size_mul_mantissa - 1 : 0] shifted_m_ab;
|
wire [size_mul_mantissa - 1 : 0] m_c, m_ab;
|
wire [size_mul_mantissa - 1 : 0] m_c, m_ab;
|
|
|
wire [size_exception_field - 1 : 0] sp_case_result_o;
|
wire [size_exception_field - 1 : 0] sp_case_o, sp_case_result_o;
|
wire [size_mantissa - 2 : 0] final_mantissa;
|
wire [size_mantissa - 2 : 0] final_mantissa;
|
wire [size_exponent - 1 : 0] final_exponent;
|
wire [size_exponent - 1 : 0] final_exponent;
|
wire [size_mantissa : 0] rounded_mantissa;
|
wire [size_mantissa : 0] rounded_mantissa;
|
|
|
|
|
Line 181... |
Line 181... |
.sp_case_b_number(sp_case_b_number),
|
.sp_case_b_number(sp_case_b_number),
|
.sp_case_c_number(sp_case_c_number),
|
.sp_case_c_number(sp_case_c_number),
|
.sp_case_result_o(sp_case_result_o));
|
.sp_case_result_o(sp_case_result_o));
|
|
|
//set zero_flag in case of equal numbers
|
//set zero_flag in case of equal numbers
|
assign zero_flag = ~(|(rounded_mantissa));
|
assign zero_flag = ~((|{rounded_mantissa, sp_case_result_o[1]}) & (|sp_case_result_o));
|
|
|
//compute resulted_sign
|
//compute resulted_sign
|
assign sign_res = (eff_op)? (!c_greater_exponent[size_exponent]?
|
assign sign_res = (eff_op)? (!c_greater_exponent[size_exponent]?
|
(!ab_greater_exponent[size_exponent]? ~adder_mantissa[size_mul_mantissa+1] : s_c_number) : ~(s_b_number^s_a_number)) : s_c_number;
|
(!ab_greater_exponent[size_exponent]? ~adder_mantissa[size_mul_mantissa+1] : s_c_number) : ~(s_b_number^s_a_number)) : s_c_number;
|
|
|