URL
https://opencores.org/ocsvn/xilinx_virtex_fp_library/xilinx_virtex_fp_library/trunk
Subversion Repositories xilinx_virtex_fp_library
Compare Revisions
- This comparison shows the changes necessary to convert path
/xilinx_virtex_fp_library
- from Rev 16 to Rev 17
- ↔ Reverse comparison
Rev 16 → Rev 17
/trunk/SinglePathFPAdder/SinglePathFPAdder.v
153,9 → 153,9
special_cases_instance( .sp_case_a_number(sp_case_a_number), |
.sp_case_b_number(sp_case_b_number), |
.sp_case_result_o(resulted_exception_field)); |
|
|
//set zero_flag in case of equal numbers |
assign zero_flag = ~(|(resulted_mantissa)); |
assign zero_flag = ~((|{resulted_mantissa,resulted_exception_field[1]}) & (|resulted_exception_field)); |
|
//compute resulted_sign |
assign resulted_sign = (eff_op)? |
/trunk/DualPathFPAdder/DualPathFPAdder.v
135,7 → 135,9
.sp_case_result_o(resulted_exception_field)); |
|
//set zero_flag in case of equal numbers |
assign zero_flag = (exp_difference > 1 | !eff_op)? ~(|fp_resulted_m_o) : ~(|cp_resulted_m_o); |
assign zero_flag = (exp_difference > 1 | !eff_op)? |
~((|{fp_resulted_m_o, resulted_exception_field[1]}) & (|resulted_exception_field)) : |
~((|{cp_resulted_m_o, resulted_exception_field[1]}) & (|resulted_exception_field)); |
|
assign resulted_sign = (exp_difference > 1 | !eff_op)? (!a_greater_exponent[size_exponent]? s_a_number : (eff_op? ~s_b_number : s_b_number)) : (ovf ^ swap); |
|
/trunk/DualPathFPAdderMappedConversions/DualPathAdderConversion.v
62,7 → 62,7
wire [size_exponent : 0] exp_inter; |
wire eff_op; |
|
wire [size_exception_field - 1 : 0] set_b_sp_case, resulted_exception_field; |
wire [size_exception_field - 1 : 0] sp_case_o, resulted_exception_field; |
wire resulted_sign; |
wire swap; |
|
238,8 → 238,6
//-------------------------------------------------------- end FarPath addition and conversion |
|
|
assign set_b_sp_case = do_conversion? zero : sp_case_b_number; |
|
//compute exception_field |
special_cases #( .size_exception_field(size_exception_field), |
.zero(zero), |
247,11 → 245,15
.infinity(infinity), |
.NaN(NaN)) |
special_cases_instance( .sp_case_a_number(sp_case_a_number), |
.sp_case_b_number(set_b_sp_case), |
.sp_case_result_o(resulted_exception_field)); |
|
.sp_case_b_number(sp_case_b_number), |
.sp_case_result_o(sp_case_o)); |
|
assign resulted_exception_field = do_conversion? sp_case_a_number : sp_case_o; |
|
//set zero_flag in case of equal numbers |
assign zero_flag = ((exp_difference > 1 | !eff_op) & conversion != int_to_FP)? ~(|resulted_m_oFP) : ~(|resulted_m_oCP); |
assign zero_flag = ((exp_difference > 1 | !eff_op) & conversion != int_to_FP)? |
~((|{resulted_m_oFP, sp_case_o[1]}) & (|sp_case_o)) : |
~((|{resulted_m_oCP, sp_case_o[1]}) & (|sp_case_o)); |
|
assign resulted_sign = do_conversion? s_a_number : |
((exp_difference > 1 | !eff_op)? (!a_greater_exponent[size_exponent]? s_a_number : (eff_op? ~s_b_number : s_b_number)) : |
/trunk/GeneralPrecMAF/Multiply_Accumulate.v
68,7 → 68,7
wire [size_mul_mantissa - 1 : 0] shifted_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_exponent - 1 : 0] final_exponent; |
wire [size_mantissa : 0] rounded_mantissa; |
183,7 → 183,7
.sp_case_result_o(sp_case_result_o)); |
|
//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 |
assign sign_res = (eff_op)? (!c_greater_exponent[size_exponent]? |