/******************************************
* (C)Copyright by N.T.T 1993(unpublished) *
* All rights are reserved.                *
******************************************/
%i "../int_h/cla16.h"
module cla32 {
    input       cin ;
    input       in1<32> ;
    input       in2<32> ;
    output      out<32> ;
    output      gout ;
    output      pout ;
    sel_v       cry<2> ;
    cla16       cla1 ;
    cla16       cla0 ;
    instrin     do ;
    instruct do par {
        cry = ((cin&cla0.pout)
              |     cla0.gout)
           || cin ;
        out = cla1.do(cry<1>,in1<31:16>,in2<31:16>).out
           || cla0.do(cry<0>,in1<15:00>,in2<15:00>).out ;
        gout =  (cla0.gout&cla1.pout)
               | cla1.gout ;
        pout = cla0.pout&cla1.pout ;
    }
}
