vi_lerp_csa_add10.v 1.26 KB
////////////////////////////////////////////////////////////////////////
//
// Project Reality
//
// module:	vi_lerp_csa_add10
// description:	Final carry-propigating adder for csa tree for 
//		lerp for video interface.
//		10 bits in and out, no carry i/o.
//
// designer:	Phil Gossett
// date:	3/30/95
//
////////////////////////////////////////////////////////////////////////

// $Id: vi_lerp_csa_add10.v,v 1.1 2002/03/28 00:26:14 berndt Exp $

module vi_lerp_csa_add10 (a, b, s);

input [9:0] a;
input [9:0] b;

wire [8:0] c;

output [9:0] s;

xo02d1 s00  (.a1(a[0]), .a2(b[0]),  .z(s[0]));		// output
an02d1 c00  (.a1(a[0]), .a2(b[0]),  .z(c[0]));
ad01d1 ad1  ( .a(a[1]),  .b(b[1]), .ci(c[0]), .s(s[1]), .co(c[1]));
ad01d1 ad2  ( .a(a[2]),  .b(b[2]), .ci(c[1]), .s(s[2]), .co(c[2]));
ad01d1 ad3  ( .a(a[3]),  .b(b[3]), .ci(c[2]), .s(s[3]), .co(c[3]));
ad01d1 ad4  ( .a(a[4]),  .b(b[4]), .ci(c[3]), .s(s[4]), .co(c[4]));
ad01d1 ad5  ( .a(a[5]),  .b(b[5]), .ci(c[4]), .s(s[5]), .co(c[5]));
ad01d1 ad6  ( .a(a[6]),  .b(b[6]), .ci(c[5]), .s(s[6]), .co(c[6]));
ad01d1 ad7  ( .a(a[7]),  .b(b[7]), .ci(c[6]), .s(s[7]), .co(c[7]));
ad01d1 ad8  ( .a(a[8]),  .b(b[8]), .ci(c[7]), .s(s[8]), .co(c[8]));
xo03d1 ad9  (.a1(a[9]), .a2(b[9]), .a3(c[8]), .z(s[9]));

endmodule // vi_lerp_csa_add10