sudp_eq.v 4.75 KB
/**************************************************************************
 *                                                                        *
 *               Copyright (C) 1994, Silicon Graphics, Inc.               *
 *                                                                        *
 *  These coded instructions, statements, and computer programs  contain  *
 *  unpublished  proprietary  information of Silicon Graphics, Inc., and  *
 *  are protected by Federal copyright  law.  They  may not be disclosed  *
 *  to  third  parties  or copied or duplicated in any form, in whole or  *
 *  in part, without the prior written consent of Silicon Graphics, Inc.  *
 *                                                                        *
 *************************************************************************/

// $Id: sudp_eq.v,v 1.1 2002/03/28 00:26:13 berndt Exp $

////////////////////////////////////////////////////////////////////////
//
// Project Reality
//
// module:      sudp_eq
// description: Equality compare for scalar unit, std cell version.
//
// designer:    Phil Gossett
// date:        4/9/95
//
////////////////////////////////////////////////////////////////////////

module sudp_eq (a, b, z);

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

output z;

wire [31:0] p5z;

xo02d1h xn0  (.a1(a[0]),  .a2(b[0]),  .z(p5z[0]));
xo02d1h xn1  (.a1(a[1]),  .a2(b[1]),  .z(p5z[1]));
xo02d1h xn2  (.a1(a[2]),  .a2(b[2]),  .z(p5z[2]));
xo02d1h xn3  (.a1(a[3]),  .a2(b[3]),  .z(p5z[3]));
xo02d1h xn4  (.a1(a[4]),  .a2(b[4]),  .z(p5z[4]));
xo02d1h xn5  (.a1(a[5]),  .a2(b[5]),  .z(p5z[5]));
xo02d1h xn6  (.a1(a[6]),  .a2(b[6]),  .z(p5z[6]));
xo02d1h xn7  (.a1(a[7]),  .a2(b[7]),  .z(p5z[7]));
xo02d1h xn8  (.a1(a[8]),  .a2(b[8]),  .z(p5z[8]));
xo02d1h xn9  (.a1(a[9]),  .a2(b[9]),  .z(p5z[9]));
xo02d1h xn10 (.a1(a[10]), .a2(b[10]), .z(p5z[10]));
xo02d1h xn11 (.a1(a[11]), .a2(b[11]), .z(p5z[11]));
xo02d1h xn12 (.a1(a[12]), .a2(b[12]), .z(p5z[12]));
xo02d1h xn13 (.a1(a[13]), .a2(b[13]), .z(p5z[13]));
xo02d1h xn14 (.a1(a[14]), .a2(b[14]), .z(p5z[14]));
xo02d1h xn15 (.a1(a[15]), .a2(b[15]), .z(p5z[15]));
xo02d1h xn16 (.a1(a[16]), .a2(b[16]), .z(p5z[16]));
xo02d1h xn17 (.a1(a[17]), .a2(b[17]), .z(p5z[17]));
xo02d1h xn18 (.a1(a[18]), .a2(b[18]), .z(p5z[18]));
xo02d1h xn19 (.a1(a[19]), .a2(b[19]), .z(p5z[19]));
xo02d1h xn20 (.a1(a[20]), .a2(b[20]), .z(p5z[20]));
xo02d1h xn21 (.a1(a[21]), .a2(b[21]), .z(p5z[21]));
xo02d1h xn22 (.a1(a[22]), .a2(b[22]), .z(p5z[22]));
xo02d1h xn23 (.a1(a[23]), .a2(b[23]), .z(p5z[23]));
xo02d1h xn24 (.a1(a[24]), .a2(b[24]), .z(p5z[24]));
xo02d1h xn25 (.a1(a[25]), .a2(b[25]), .z(p5z[25]));
xo02d1h xn26 (.a1(a[26]), .a2(b[26]), .z(p5z[26]));
xo02d1h xn27 (.a1(a[27]), .a2(b[27]), .z(p5z[27]));
xo02d1h xn28 (.a1(a[28]), .a2(b[28]), .z(p5z[28]));
xo02d1h xn29 (.a1(a[29]), .a2(b[29]), .z(p5z[29]));
xo02d1h xn30 (.a1(a[30]), .a2(b[30]), .z(p5z[30]));
xo02d1h xn31 (.a1(a[31]), .a2(b[31]), .z(p5z[31]));

wire [15:0] p4z;
wire [7:0]  p3z;
wire [3:0]  p2z;
wire [1:0]  p1z;

nr02d2  anp4z0  (.a1(p5z[0]),  .a2(p5z[1]),  .zn(p4z[0]));
nr02d2  anp4z1  (.a1(p5z[2]),  .a2(p5z[3]),  .zn(p4z[1]));
nr02d2  anp4z2  (.a1(p5z[4]),  .a2(p5z[5]),  .zn(p4z[2]));
nr02d2  anp4z3  (.a1(p5z[6]),  .a2(p5z[7]),  .zn(p4z[3]));
nr02d2  anp4z4  (.a1(p5z[8]),  .a2(p5z[9]),  .zn(p4z[4]));
nr02d2  anp4z5  (.a1(p5z[10]), .a2(p5z[11]), .zn(p4z[5]));
nr02d2  anp4z6  (.a1(p5z[12]), .a2(p5z[13]), .zn(p4z[6]));
nr02d2  anp4z7  (.a1(p5z[14]), .a2(p5z[15]), .zn(p4z[7]));
nr02d2  anp4z8  (.a1(p5z[16]), .a2(p5z[17]), .zn(p4z[8]));
nr02d2  anp4z9  (.a1(p5z[18]), .a2(p5z[19]), .zn(p4z[9]));
nr02d2  anp4z10 (.a1(p5z[20]), .a2(p5z[21]), .zn(p4z[10]));
nr02d2  anp4z11 (.a1(p5z[22]), .a2(p5z[23]), .zn(p4z[11]));
nr02d2  anp4z12 (.a1(p5z[24]), .a2(p5z[25]), .zn(p4z[12]));
nr02d2  anp4z13 (.a1(p5z[26]), .a2(p5z[27]), .zn(p4z[13]));
nr02d2  anp4z14 (.a1(p5z[28]), .a2(p5z[29]), .zn(p4z[14]));
nr02d2  anp4z15 (.a1(p5z[30]), .a2(p5z[31]), .zn(p4z[15]));
an02d1h anp3z0  (.a1(p4z[0]),  .a2(p4z[1]),  .z(p3z[0]));
an02d1h anp3z1  (.a1(p4z[2]),  .a2(p4z[3]),  .z(p3z[1]));
an02d1h anp3z2  (.a1(p4z[4]),  .a2(p4z[5]),  .z(p3z[2]));
an02d1h anp3z3  (.a1(p4z[6]),  .a2(p4z[7]),  .z(p3z[3]));
an02d1h anp3z4  (.a1(p4z[8]),  .a2(p4z[9]),  .z(p3z[4]));
an02d1h anp3z5  (.a1(p4z[10]), .a2(p4z[11]), .z(p3z[5]));
an02d1h anp3z6  (.a1(p4z[12]), .a2(p4z[13]), .z(p3z[6]));
an02d1h anp3z7  (.a1(p4z[14]), .a2(p4z[15]), .z(p3z[7]));
an02d1h anp2z0  (.a1(p3z[0]),  .a2(p3z[1]),  .z(p2z[0]));
an02d1h anp2z1  (.a1(p3z[2]),  .a2(p3z[3]),  .z(p2z[1]));
an02d1h anp2z2  (.a1(p3z[4]),  .a2(p3z[5]),  .z(p2z[2]));
an02d1h anp2z3  (.a1(p3z[6]),  .a2(p3z[7]),  .z(p2z[3]));
an02d1h anp1z0  (.a1(p2z[0]),  .a2(p2z[1]),  .z(p1z[0]));
an02d1h anp1z1  (.a1(p2z[2]),  .a2(p2z[3]),  .z(p1z[1]));
an02d1h anp0z0  (.a1(p1z[0]),  .a2(p1z[1]),  .z(z));

endmodule // sudp_eq