INCLUDE "adder4.inc"; -- rozszerzenie opcjonalne SUBDESIGN adder8v2 ( a7, a6, a5, a4, a3, a2, a1, a0, cin : INPUT; b7, b6, b5, b4, b3, b2, b1, b0 : INPUT; s7, s6, s5, s4, s3, s2, s1, s0, cout : OUTPUT; ) VARIABLE maf1[3..0], mbf1[3..0], saf1[3..0], sbf1[3..0], smf2[3..0], pmf2, saf2[3..0], sbf2[3..0], smf3[3..0], ssf3[3..0], psf3 : LCELL; BEGIN maf1[3..0] = (a3, a2, a1, a0); mbf1[3..0] = (b3, b2, b1, b0); saf1[3..0] = (a7, a6, a5, a4); sbf1[3..0] = (b7, b6, b5, b4); (smf2[], pmf2) = adder4(maf1[], cin, mbf1[]); saf2[] = saf1[]; sbf2[] = sbf1[]; smf3[] = smf2[]; (ssf3[], psf3) = adder4(saf2[], pmf2, sbf2[]); (cout, s7, s6, s5, s4, s3, s2, s1, s0) = (psf3, ssf3[], smf3[]); END;