OpenCores
URL https://opencores.org/ocsvn/xilinx_virtex_fp_library/xilinx_virtex_fp_library/trunk

Subversion Repositories xilinx_virtex_fp_library

[/] [xilinx_virtex_fp_library/] [trunk/] [GeneralPrecMAF/] [Multiply_Accumulate.v] - Diff between revs 12 and 17

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 12 Rev 17
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;
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.