// add4csa.e a carry save adder, 4 bit, for a 4 bit multiplier define add4csa(b, a[4], sum_in[4], cin[4], sum_out[4], cout[4]) // b is a multiplier bit // a is the multiplicand // sum_in and sum_out are what their name implies // cin and cout are vectors here, not single bits signal zero[4] <= #h0; signal aa[4]; circuits aa <= a when b else zero after 1ns; add0 use fadd(aa[0], sum_in[0], cin[0], sum_out[0], cout[0]); add1 use fadd(aa[1], sum_in[1], cin[1], sum_out[1], cout[1]); add2 use fadd(aa[2], sum_in[2], cin[2], sum_out[2], cout[2]); add3 use fadd(aa[3], sum_in[3], cin[3], sum_out[3], cout[3]); end circuits; end add4csa;