bl_deltaz_add15.v 8.75 KB
// Module instances modified by /home/rws/workarea/rf/sw/bbplayer/tools/necprimfix 
//
//    15 instances of an02d1 changed to j_an02.
//    73 instances of mx21d1h changed to j_mx21.
//    14 instances of or02d1 changed to j_or02.
//    14 instances of xn02d1 changed to j_xn02.
//    15 instances of xo02d1 changed to j_xo02.
//

////////////////////////////////////////////////////////////////////////
//
// Project Reality
//
// module:	bl_deltaz_add15
// description:	Carry-propagating adder for sum of delta z's for blend,
//		with carry out only. Conditional sum adder.
//
// designer:	Phil Gossett
// date:	10/6/94
//
////////////////////////////////////////////////////////////////////////

module bl_deltaz_add15 (a, b, s);

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

wire [14:0] s0b;
wire [14:0] s1b;
wire [14:0] c0b;
wire [14:0] c1b;

output [15:0] s;

// conditional cells:
j_xo02 s00  (.a1(a[0]), .a2(b[0]),  .z(s[0]));		// output
assign s0b[0] = s[0];	// just to avoid warning (net not driven)
assign s1b[0] = s[0];	// just to avoid warning (net not driven)
j_an02 c00  (.a1(a[0]), .a2(b[0]),  .z(c0b[0]));
assign c1b[0] = c0b[0];	// just to avoid warning (net not driven)

j_xo02 s01  (.a1(a[1]), .a2(b[1]),  .z(s0b[1]));
j_xn02 s11  (.a1(a[1]), .a2(b[1]), .zn(s1b[1]));
j_an02 c01  (.a1(a[1]), .a2(b[1]),  .z(c0b[1]));
j_or02 c11  (.a1(a[1]), .a2(b[1]),  .z(c1b[1]));

j_xo02 s02  (.a1(a[2]), .a2(b[2]),  .z(s0b[2]));
j_xn02 s12  (.a1(a[2]), .a2(b[2]), .zn(s1b[2]));
j_an02 c02  (.a1(a[2]), .a2(b[2]),  .z(c0b[2]));
j_or02 c12  (.a1(a[2]), .a2(b[2]),  .z(c1b[2]));

j_xo02 s03  (.a1(a[3]), .a2(b[3]),  .z(s0b[3]));
j_xn02 s13  (.a1(a[3]), .a2(b[3]), .zn(s1b[3]));
j_an02 c03  (.a1(a[3]), .a2(b[3]),  .z(c0b[3]));
j_or02 c13  (.a1(a[3]), .a2(b[3]),  .z(c1b[3]));

j_xo02 s04  (.a1(a[4]), .a2(b[4]),  .z(s0b[4]));
j_xn02 s14  (.a1(a[4]), .a2(b[4]), .zn(s1b[4]));
j_an02 c04  (.a1(a[4]), .a2(b[4]),  .z(c0b[4]));
j_or02 c14  (.a1(a[4]), .a2(b[4]),  .z(c1b[4]));

j_xo02 s05  (.a1(a[5]), .a2(b[5]),  .z(s0b[5]));
j_xn02 s15  (.a1(a[5]), .a2(b[5]), .zn(s1b[5]));
j_an02 c05  (.a1(a[5]), .a2(b[5]),  .z(c0b[5]));
j_or02 c15  (.a1(a[5]), .a2(b[5]),  .z(c1b[5]));

j_xo02 s06  (.a1(a[6]), .a2(b[6]),  .z(s0b[6]));
j_xn02 s16  (.a1(a[6]), .a2(b[6]), .zn(s1b[6]));
j_an02 c06  (.a1(a[6]), .a2(b[6]),  .z(c0b[6]));
j_or02 c16  (.a1(a[6]), .a2(b[6]),  .z(c1b[6]));

j_xo02 s07  (.a1(a[7]), .a2(b[7]),  .z(s0b[7]));
j_xn02 s17  (.a1(a[7]), .a2(b[7]), .zn(s1b[7]));
j_an02 c07  (.a1(a[7]), .a2(b[7]),  .z(c0b[7]));
j_or02 c17  (.a1(a[7]), .a2(b[7]),  .z(c1b[7]));

j_xo02 s08  (.a1(a[8]), .a2(b[8]),  .z(s0b[8]));
j_xn02 s18  (.a1(a[8]), .a2(b[8]), .zn(s1b[8]));
j_an02 c08  (.a1(a[8]), .a2(b[8]),  .z(c0b[8]));
j_or02 c18  (.a1(a[8]), .a2(b[8]),  .z(c1b[8]));

j_xo02 s09  (.a1(a[9]), .a2(b[9]),  .z(s0b[9]));
j_xn02 s19  (.a1(a[9]), .a2(b[9]), .zn(s1b[9]));
j_an02 c09  (.a1(a[9]), .a2(b[9]),  .z(c0b[9]));
j_or02 c19  (.a1(a[9]), .a2(b[9]),  .z(c1b[9]));

j_xo02 s010 (.a1(a[10]),.a2(b[10]), .z(s0b[10]));
j_xn02 s110 (.a1(a[10]),.a2(b[10]),.zn(s1b[10]));
j_an02 c010 (.a1(a[10]),.a2(b[10]), .z(c0b[10]));
j_or02 c110 (.a1(a[10]),.a2(b[10]), .z(c1b[10]));

j_xo02 s011 (.a1(a[11]),.a2(b[11]), .z(s0b[11]));
j_xn02 s111 (.a1(a[11]),.a2(b[11]),.zn(s1b[11]));
j_an02 c011 (.a1(a[11]),.a2(b[11]), .z(c0b[11]));
j_or02 c111 (.a1(a[11]),.a2(b[11]), .z(c1b[11]));

j_xo02 s012 (.a1(a[12]),.a2(b[12]), .z(s0b[12]));
j_xn02 s112 (.a1(a[12]),.a2(b[12]),.zn(s1b[12]));
j_an02 c012 (.a1(a[12]),.a2(b[12]), .z(c0b[12]));
j_or02 c112 (.a1(a[12]),.a2(b[12]), .z(c1b[12]));

j_xo02 s013 (.a1(a[13]),.a2(b[13]), .z(s0b[13]));
j_xn02 s113 (.a1(a[13]),.a2(b[13]),.zn(s1b[13]));
j_an02 c013 (.a1(a[13]),.a2(b[13]), .z(c0b[13]));
j_or02 c113 (.a1(a[13]),.a2(b[13]), .z(c1b[13]));

j_xo02 s014 (.a1(a[14]),.a2(b[14]), .z(s0b[14]));
j_xn02 s114 (.a1(a[14]),.a2(b[14]),.zn(s1b[14]));
j_an02 c014 (.a1(a[14]),.a2(b[14]), .z(c0b[14]));
j_or02 c114 (.a1(a[14]),.a2(b[14]), .z(c1b[14]));

// first rank of muxes (all muxes should be high performance):
j_mx21 mas02  (.s(c0b[1]), .i0(s0b[2]), .i1(s1b[2]), .z(mas0b2));
j_mx21 mas12  (.s(c1b[1]), .i0(s0b[2]), .i1(s1b[2]), .z(mas1b2));
j_mx21 mac02  (.s(c0b[1]), .i0(c0b[2]), .i1(c1b[2]), .z(mac0b2));
j_mx21 mac12  (.s(c1b[1]), .i0(c0b[2]), .i1(c1b[2]), .z(mac1b2));

j_mx21 mas04  (.s(c0b[3]), .i0(s0b[4]), .i1(s1b[4]), .z(mas0b4));
j_mx21 mas14  (.s(c1b[3]), .i0(s0b[4]), .i1(s1b[4]), .z(mas1b4));
j_mx21 mac04  (.s(c0b[3]), .i0(c0b[4]), .i1(c1b[4]), .z(mac0b4));
j_mx21 mac14  (.s(c1b[3]), .i0(c0b[4]), .i1(c1b[4]), .z(mac1b4));

j_mx21 mas06  (.s(c0b[5]), .i0(s0b[6]), .i1(s1b[6]), .z(mas0b6));
j_mx21 mas16  (.s(c1b[5]), .i0(s0b[6]), .i1(s1b[6]), .z(mas1b6));
j_mx21 mac06  (.s(c0b[5]), .i0(c0b[6]), .i1(c1b[6]), .z(mac0b6));
j_mx21 mac16  (.s(c1b[5]), .i0(c0b[6]), .i1(c1b[6]), .z(mac1b6));

j_mx21 mas08  (.s(c0b[7]), .i0(s0b[8]), .i1(s1b[8]), .z(mas0b8));
j_mx21 mas18  (.s(c1b[7]), .i0(s0b[8]), .i1(s1b[8]), .z(mas1b8));
j_mx21 mac08  (.s(c0b[7]), .i0(c0b[8]), .i1(c1b[8]), .z(mac0b8));
j_mx21 mac18  (.s(c1b[7]), .i0(c0b[8]), .i1(c1b[8]), .z(mac1b8));

j_mx21 mas010 (.s(c0b[9]), .i0(s0b[10]),.i1(s1b[10]),.z(mas0b10));
j_mx21 mas110 (.s(c1b[9]), .i0(s0b[10]),.i1(s1b[10]),.z(mas1b10));
j_mx21 mac010 (.s(c0b[9]), .i0(c0b[10]),.i1(c1b[10]),.z(mac0b10));
j_mx21 mac110 (.s(c1b[9]), .i0(c0b[10]),.i1(c1b[10]),.z(mac1b10));

j_mx21 mas012 (.s(c0b[11]),.i0(s0b[12]),.i1(s1b[12]),.z(mas0b12));
j_mx21 mas112 (.s(c1b[11]),.i0(s0b[12]),.i1(s1b[12]),.z(mas1b12));
j_mx21 mac012 (.s(c0b[11]),.i0(c0b[12]),.i1(c1b[12]),.z(mac0b12));
j_mx21 mac112 (.s(c1b[11]),.i0(c0b[12]),.i1(c1b[12]),.z(mac1b12));

j_mx21 mas014 (.s(c0b[13]),.i0(s0b[14]),.i1(s1b[14]),.z(mas0b14));
j_mx21 mas114 (.s(c1b[13]),.i0(s0b[14]),.i1(s1b[14]),.z(mas1b14));
j_mx21 mac014 (.s(c0b[13]),.i0(c0b[14]),.i1(c1b[14]),.z(mac0b14));
j_mx21 mac114 (.s(c1b[13]),.i0(c0b[14]),.i1(c1b[14]),.z(mac1b14));

// second rank of muxes:
j_mx21 mbs01  (.s(c0b[0]), .i0(s0b[1]), .i1(s1b[1]), .z(s[1]));
j_mx21 mbs02  (.s(c0b[0]), .i0(mas0b2), .i1(mas1b2), .z(s[2]));
j_mx21 mbc02  (.s(c0b[0]), .i0(mac0b2), .i1(mac1b2), .z(mbc0b2));

j_mx21 mbs05  (.s(mac0b4), .i0(s0b[5]), .i1(s1b[5]), .z(mbs0b5));
j_mx21 mbs15  (.s(mac1b4), .i0(s0b[5]), .i1(s1b[5]), .z(mbs1b5));
j_mx21 mbs06  (.s(mac0b4), .i0(mas0b6), .i1(mas1b6), .z(mbs0b6));
j_mx21 mbs16  (.s(mac1b4), .i0(mas0b6), .i1(mas1b6), .z(mbs1b6));
j_mx21 mbc06  (.s(mac0b4), .i0(mac0b6), .i1(mac1b6), .z(mbc0b6));
j_mx21 mbc16  (.s(mac1b4), .i0(mac0b6), .i1(mac1b6), .z(mbc1b6));

j_mx21 mbs09  (.s(mac0b8), .i0(s0b[9]), .i1(s1b[9]), .z(mbs0b9));
j_mx21 mbs19  (.s(mac1b8), .i0(s0b[9]), .i1(s1b[9]), .z(mbs1b9));
j_mx21 mbs010 (.s(mac0b8), .i0(mas0b10),.i1(mas1b10),.z(mbs0b10));
j_mx21 mbs110 (.s(mac1b8), .i0(mas0b10),.i1(mas1b10),.z(mbs1b10));
j_mx21 mbc010 (.s(mac0b8), .i0(mac0b10),.i1(mac1b10),.z(mbc0b10));
j_mx21 mbc110 (.s(mac1b8), .i0(mac0b10),.i1(mac1b10),.z(mbc1b10));

j_mx21 mbs013 (.s(mac0b12),.i0(s0b[13]),.i1(s1b[13]),.z(mbs0b13));
j_mx21 mbs113 (.s(mac1b12),.i0(s0b[13]),.i1(s1b[13]),.z(mbs1b13));
j_mx21 mbs014 (.s(mac0b12),.i0(mas0b14),.i1(mas1b14),.z(mbs0b14));
j_mx21 mbs114 (.s(mac1b12),.i0(mas0b14),.i1(mas1b14),.z(mbs1b14));
j_mx21 mbc014 (.s(mac0b12),.i0(mac0b14),.i1(mac1b14),.z(mbc0b14));
j_mx21 mbc114 (.s(mac1b12),.i0(mac0b14),.i1(mac1b14),.z(mbc1b14));

// third rank of muxes:
j_mx21 mcs03  (.s(mbc0b2), .i0(s0b[3]), .i1(s1b[3]), .z(s[3]));
j_mx21 mcs04  (.s(mbc0b2), .i0(mas0b4), .i1(mas1b4), .z(s[4]));
j_mx21 mcs05  (.s(mbc0b2), .i0(mbs0b5), .i1(mbs1b5), .z(s[5]));
j_mx21 mcs06  (.s(mbc0b2), .i0(mbs0b6), .i1(mbs1b6), .z(s[6]));
j_mx21 mcc06  (.s(mbc0b2), .i0(mbc0b6), .i1(mbc1b6), .z(mcc0b6));

j_mx21 mcs011 (.s(mbc0b10),.i0(s0b[11]),.i1(s1b[11]),.z(mcs0b11));
j_mx21 mcs111 (.s(mbc1b10),.i0(s0b[11]),.i1(s1b[11]),.z(mcs1b11));
j_mx21 mcs012 (.s(mbc0b10),.i0(mas0b12),.i1(mas1b12),.z(mcs0b12));
j_mx21 mcs112 (.s(mbc1b10),.i0(mas0b12),.i1(mas1b12),.z(mcs1b12));
j_mx21 mcs013 (.s(mbc0b10),.i0(mbs0b13),.i1(mbs1b13),.z(mcs0b13));
j_mx21 mcs113 (.s(mbc1b10),.i0(mbs0b13),.i1(mbs1b13),.z(mcs1b13));
j_mx21 mcs014 (.s(mbc0b10),.i0(mbs0b14),.i1(mbs1b14),.z(mcs0b14));
j_mx21 mcs114 (.s(mbc1b10),.i0(mbs0b14),.i1(mbs1b14),.z(mcs1b14));
j_mx21 mcc014 (.s(mbc0b10),.i0(mbc0b14),.i1(mbc1b14),.z(mcc0b14));
j_mx21 mcc114 (.s(mbc1b10),.i0(mbc0b14),.i1(mbc1b14),.z(mcc1b14));

// fourth rank of muxes:
j_mx21 mds07  (.s(mcc0b6), .i0(s0b[7]), .i1(s1b[7]), .z(s[7]));
j_mx21 mds08  (.s(mcc0b6), .i0(mas0b8), .i1(mas1b8), .z(s[8]));
j_mx21 mds09  (.s(mcc0b6), .i0(mbs0b9), .i1(mbs1b9), .z(s[9]));
j_mx21 mds010 (.s(mcc0b6), .i0(mbs0b10),.i1(mbs1b10),.z(s[10]));
j_mx21 mds011 (.s(mcc0b6), .i0(mcs0b11),.i1(mcs1b11),.z(s[11]));
j_mx21 mds012 (.s(mcc0b6), .i0(mcs0b12),.i1(mcs1b12),.z(s[12]));
j_mx21 mds013 (.s(mcc0b6), .i0(mcs0b13),.i1(mcs1b13),.z(s[13]));
j_mx21 mds014 (.s(mcc0b6), .i0(mcs0b14),.i1(mcs1b14),.z(s[14]));
j_mx21 mdc0co (.s(mcc0b6), .i0(mcc0b14),.i1(mcc1b14),.z(s[15]));

endmodule // bl_deltaz_add15