// add8.e a simple 8 bit adder // this uses a built in component fadd a one bit adder define fadd(a, b, cin, s, cout) circuits s <= a ^ b ^ cin after 1ns; cout <= (a&b)|(a&cin)|(b&cin) after 1ns; end circuits; end fadd; // add8.e 8 bit full adder component // simple ripple carry adder // inputs a, b, cin // outputs sum, cout define add8(a[8], b[8], cin, sum[8], cout) signal c[7]; circuits a0 use fadd(a[0], b[0], cin , sum[0], c[0]); a1 use fadd(a[1], b[1], c[0], sum[1], c[1]); a2 use fadd(a[2], b[2], c[1], sum[2], c[2]); a3 use fadd(a[3], b[3], c[2], sum[3], c[3]); a4 use fadd(a[4], b[4], c[3], sum[4], c[4]); a5 use fadd(a[5], b[5], c[4], sum[5], c[5]); a6 use fadd(a[6], b[6], c[5], sum[6], c[6]); a7 use fadd(a[7], b[7], c[6], sum[7], cout); end circuits; end add8;