%i "add4.sfl"
submod_class add4 {
input a<4>,b<4>,ci ;
output s<4>,co ;
instrin do ;
instr_arg do(a,b,ci) ;
}
module add8 {
input a<8>,b<8>,ci ;
output s<8>,co ;
sel c ;
instrin do ;
add4 add_l,add_h ;
instruct do par {
add_l.do(a<3:0>,b<3:0>,ci) ;
c = add_l.co ;
add_h.do(a<7:4>,b<7:4>,c) ;
s = add_h.s || add_l.s ;
co = add_h.co ;
}
}