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/] [SinglePathFPAdderMappedConversions/] [SinglePathAdderConversion.v] - Diff between revs 18 and 19

Show entire file | Details | Blame | View Log

Rev 18 Rev 19
Line 236... Line 236...
                special_cases_instance( .sp_case_a_number(sp_case_a_number),
                special_cases_instance( .sp_case_a_number(sp_case_a_number),
                                                                .sp_case_b_number(sp_case_b_number),
                                                                .sp_case_b_number(sp_case_b_number),
                                                                .sp_case_result_o(sp_case_o));
                                                                .sp_case_result_o(sp_case_o));
 
 
        //compute special case
        //compute special case
        assign resulted_exception_field = do_conversion? sp_case_a_number : sp_case_o;
        assign resulted_exception_field = conversion[0]? 2'd0:
 
                                                                                conversion[1]? normal_number : sp_case_o;
 
 
        //set zero_flag in case of equal numbers
        //set zero_flag in case of equal numbers
        assign zero_flag = ~((|{resulted_mantissa,sp_case_o[1]}) & (|sp_case_o));
        assign zero_flag = ~((|{resulted_mantissa,sp_case_o[1]}) & (|sp_case_o));
 
 
        assign sign_cases = {eff_op, s_a_number, s_b_number, a_greater_exponent[size_exponent], b_greater_exponent[size_exponent]};
        assign sign_cases = {eff_op, s_a_number, s_b_number, a_greater_exponent[size_exponent], b_greater_exponent[size_exponent]};
Line 283... Line 284...
 
 
                        default: intermediar_sign = 1'b1;
                        default: intermediar_sign = 1'b1;
                endcase
                endcase
        end
        end
 
 
        assign resulted_sign = do_conversion? s_a_number : intermediar_sign;
        assign resulted_sign = conversion[0]? 1'b0 :
 
                                                                conversion[1]? a_number_i[size_integer-1] : intermediar_sign;
 
 
        assign resulted_number_o =  do_conversion? {resulted_exception_field, resulted_sign, resulted_exponent, resulted_mantissa[size_mantissa - 2 : 0]} :
        assign resulted_number_o =  do_conversion? {resulted_exception_field, resulted_sign, resulted_exponent, resulted_mantissa[size_mantissa - 2 : 0]} :
                                                                (zero_flag | (~(|resulted_exception_field)))? {size{1'b0}} :
                                                                (zero_flag | (~(|resulted_exception_field)))? {size{1'b0}} :
                                                                        (&(resulted_exception_field))? {resulted_exception_field, resulted_sign,{(size-1-size_exception_field){1'b0}}} :
                                                                        (&(resulted_exception_field))? {resulted_exception_field, resulted_sign,{(size-1-size_exception_field){1'b0}}} :
                                                                        (resulted_exception_field[1])? {resulted_exception_field, {(size-size_exception_field){1'b0}}} :
                                                                        (resulted_exception_field[1])? {resulted_exception_field, {(size-size_exception_field){1'b0}}} :

powered by: WebSVN 2.1.0

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