bl_dec.v 3.8 KB
////////////////////////////////////////////////////////////////////////
//
// Project Reality
//
// module:	bl_dec
// description: Floating point decode for blend unit.
//
// designer:	Phil Gossett
// date:	8/14/94
//
////////////////////////////////////////////////////////////////////////

module bl_dec (i, z);

input [13:0] i;	// 3 exp, 11 mant

output [17:0] z; // 0,15.3

mx81d1h mx00 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0( 1'b0), .i1( 1'b0), .i2( 1'b0), .i3( 1'b0),
              .i4( 1'b0), .i5( 1'b0), .i6(i[ 0]), .i7(i[ 0]),
               .z(z[ 0]));
mx81d1h mx01 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0( 1'b0), .i1( 1'b0), .i2( 1'b0), .i3( 1'b0),
              .i4( 1'b0), .i5(i[ 0]), .i6(i[ 1]), .i7(i[ 1]),
               .z(z[ 1]));
mx81d1h mx02 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0( 1'b0), .i1( 1'b0), .i2( 1'b0), .i3( 1'b0),
              .i4(i[ 0]), .i5(i[ 1]), .i6(i[ 2]), .i7(i[ 2]),
               .z(z[ 2]));
mx81d1h mx03 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0( 1'b0), .i1( 1'b0), .i2( 1'b0), .i3(i[ 0]),
              .i4(i[ 1]), .i5(i[ 2]), .i6(i[ 3]), .i7(i[ 3]),
               .z(z[ 3]));
mx81d1h mx04 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0( 1'b0), .i1( 1'b0), .i2(i[ 0]), .i3(i[ 1]),
              .i4(i[ 2]), .i5(i[ 3]), .i6(i[ 4]), .i7(i[ 4]),
               .z(z[ 4]));
mx81d1h mx05 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0( 1'b0), .i1(i[ 0]), .i2(i[ 1]), .i3(i[ 2]),
              .i4(i[ 3]), .i5(i[ 4]), .i6(i[ 5]), .i7(i[ 5]),
               .z(z[ 5]));
mx81d1h mx06 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0(i[ 0]), .i1(i[ 1]), .i2(i[ 2]), .i3(i[ 3]),
              .i4(i[ 4]), .i5(i[ 5]), .i6(i[ 6]), .i7(i[ 6]),
               .z(z[ 6]));
mx81d1h mx07 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0(i[ 1]), .i1(i[ 2]), .i2(i[ 3]), .i3(i[ 4]),
              .i4(i[ 5]), .i5(i[ 6]), .i6(i[ 7]), .i7(i[ 7]),
               .z(z[ 7]));
mx81d1h mx08 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0(i[ 2]), .i1(i[ 3]), .i2(i[ 4]), .i3(i[ 5]),
              .i4(i[ 6]), .i5(i[ 7]), .i6(i[ 8]), .i7(i[ 8]),
               .z(z[ 8]));
mx81d1h mx09 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0(i[ 3]), .i1(i[ 4]), .i2(i[ 5]), .i3(i[ 6]),
              .i4(i[ 7]), .i5(i[ 8]), .i6(i[ 9]), .i7(i[ 9]),
               .z(z[ 9]));
mx81d1h mx10 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0(i[ 4]), .i1(i[ 5]), .i2(i[ 6]), .i3(i[ 7]),
              .i4(i[ 8]), .i5(i[ 9]), .i6(i[10]), .i7(i[10]),
               .z(z[10]));
mx81d1h mx11 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0(i[ 5]), .i1(i[ 6]), .i2(i[ 7]), .i3(i[ 8]),
              .i4(i[ 9]), .i5(i[10]), .i6( 1'b0), .i7( 1'b1),
               .z(z[11]));
mx81d1h mx12 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0(i[ 6]), .i1(i[ 7]), .i2(i[ 8]), .i3(i[ 9]),
              .i4(i[10]), .i5( 1'b0), .i6( 1'b1), .i7( 1'b1),
               .z(z[12]));
mx81d1h mx13 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0(i[ 7]), .i1(i[ 8]), .i2(i[ 9]), .i3(i[10]),
              .i4( 1'b0), .i5( 1'b1), .i6( 1'b1), .i7( 1'b1),
               .z(z[13]));
mx81d1h mx14 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0(i[ 8]), .i1(i[ 9]), .i2(i[10]), .i3( 1'b0),
              .i4( 1'b1), .i5( 1'b1), .i6( 1'b1), .i7( 1'b1),
               .z(z[14]));
mx81d1h mx15 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0(i[ 9]), .i1(i[10]), .i2( 1'b0), .i3( 1'b1),
              .i4( 1'b1), .i5( 1'b1), .i6( 1'b1), .i7( 1'b1),
               .z(z[15]));
mx81d1h mx16 (.s0(i[11]), .s1(i[12]), .s2(i[13]),
              .i0(i[10]), .i1( 1'b0), .i2( 1'b1), .i3( 1'b1),
              .i4( 1'b1), .i5( 1'b1), .i6( 1'b1), .i7( 1'b1),
               .z(z[16]));
or03d2  mx17 (.a1(i[11]), .a2(i[12]), .a3(i[13]),
               .z(z[17]));

endmodule // bl_dec