bl_deltaz.v
3.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
// Module instances modified by /home/rws/workarea/rf/sw/bbplayer/tools/necprimfix
//
// 16 instances of mx21d1h changed to j_mx21.
// 30 instances of xo02d1h changed to j_xo02.
//
////////////////////////////////////////////////////////////////////////
//
// Project Reality
//
// module: bl_deltaz
// description: Generate deltaz (max of abs of dzdx and dzdy)
// for blend unit.
//
// designer: Phil Gossett
// date: 8/24/94
//
////////////////////////////////////////////////////////////////////////
module bl_deltaz (sel, prim, dzdx, dzdy, deltaz);
input sel;
input [15:0] prim;
input [15:0] dzdx;
input [15:0] dzdy;
output [15:0] deltaz;
wire [14:0] adx;
wire [14:0] ady;
wire [15:0] sum;
wire [15:0] pix;
j_xo02 xox0 (.a1(dzdx[15]), .a2(dzdx[ 0]), .z(adx[ 0]));
j_xo02 xox1 (.a1(dzdx[15]), .a2(dzdx[ 1]), .z(adx[ 1]));
j_xo02 xox2 (.a1(dzdx[15]), .a2(dzdx[ 2]), .z(adx[ 2]));
j_xo02 xox3 (.a1(dzdx[15]), .a2(dzdx[ 3]), .z(adx[ 3]));
j_xo02 xox4 (.a1(dzdx[15]), .a2(dzdx[ 4]), .z(adx[ 4]));
j_xo02 xox5 (.a1(dzdx[15]), .a2(dzdx[ 5]), .z(adx[ 5]));
j_xo02 xox6 (.a1(dzdx[15]), .a2(dzdx[ 6]), .z(adx[ 6]));
j_xo02 xox7 (.a1(dzdx[15]), .a2(dzdx[ 7]), .z(adx[ 7]));
j_xo02 xox8 (.a1(dzdx[15]), .a2(dzdx[ 8]), .z(adx[ 8]));
j_xo02 xox9 (.a1(dzdx[15]), .a2(dzdx[ 9]), .z(adx[ 9]));
j_xo02 xoxa (.a1(dzdx[15]), .a2(dzdx[10]), .z(adx[10]));
j_xo02 xoxb (.a1(dzdx[15]), .a2(dzdx[11]), .z(adx[11]));
j_xo02 xoxc (.a1(dzdx[15]), .a2(dzdx[12]), .z(adx[12]));
j_xo02 xoxd (.a1(dzdx[15]), .a2(dzdx[13]), .z(adx[13]));
j_xo02 xoxe (.a1(dzdx[15]), .a2(dzdx[14]), .z(adx[14]));
j_xo02 xoy0 (.a1(dzdy[15]), .a2(dzdy[ 0]), .z(ady[ 0]));
j_xo02 xoy1 (.a1(dzdy[15]), .a2(dzdy[ 1]), .z(ady[ 1]));
j_xo02 xoy2 (.a1(dzdy[15]), .a2(dzdy[ 2]), .z(ady[ 2]));
j_xo02 xoy3 (.a1(dzdy[15]), .a2(dzdy[ 3]), .z(ady[ 3]));
j_xo02 xoy4 (.a1(dzdy[15]), .a2(dzdy[ 4]), .z(ady[ 4]));
j_xo02 xoy5 (.a1(dzdy[15]), .a2(dzdy[ 5]), .z(ady[ 5]));
j_xo02 xoy6 (.a1(dzdy[15]), .a2(dzdy[ 6]), .z(ady[ 6]));
j_xo02 xoy7 (.a1(dzdy[15]), .a2(dzdy[ 7]), .z(ady[ 7]));
j_xo02 xoy8 (.a1(dzdy[15]), .a2(dzdy[ 8]), .z(ady[ 8]));
j_xo02 xoy9 (.a1(dzdy[15]), .a2(dzdy[ 9]), .z(ady[ 9]));
j_xo02 xoya (.a1(dzdy[15]), .a2(dzdy[10]), .z(ady[10]));
j_xo02 xoyb (.a1(dzdy[15]), .a2(dzdy[11]), .z(ady[11]));
j_xo02 xoyc (.a1(dzdy[15]), .a2(dzdy[12]), .z(ady[12]));
j_xo02 xoyd (.a1(dzdy[15]), .a2(dzdy[13]), .z(ady[13]));
j_xo02 xoye (.a1(dzdy[15]), .a2(dzdy[14]), .z(ady[14]));
bl_deltaz_add15 ad15 (.a(adx), .b(ady), .s(sum));
bl_deltaz_quant quan (.i(sum), .z(pix));
j_mx21 mux0 (.s(sel), .i0(pix[ 0]), .i1(prim[ 0]), .z(deltaz[ 0]));
j_mx21 mux1 (.s(sel), .i0(pix[ 1]), .i1(prim[ 1]), .z(deltaz[ 1]));
j_mx21 mux2 (.s(sel), .i0(pix[ 2]), .i1(prim[ 2]), .z(deltaz[ 2]));
j_mx21 mux3 (.s(sel), .i0(pix[ 3]), .i1(prim[ 3]), .z(deltaz[ 3]));
j_mx21 mux4 (.s(sel), .i0(pix[ 4]), .i1(prim[ 4]), .z(deltaz[ 4]));
j_mx21 mux5 (.s(sel), .i0(pix[ 5]), .i1(prim[ 5]), .z(deltaz[ 5]));
j_mx21 mux6 (.s(sel), .i0(pix[ 6]), .i1(prim[ 6]), .z(deltaz[ 6]));
j_mx21 mux7 (.s(sel), .i0(pix[ 7]), .i1(prim[ 7]), .z(deltaz[ 7]));
j_mx21 mux8 (.s(sel), .i0(pix[ 8]), .i1(prim[ 8]), .z(deltaz[ 8]));
j_mx21 mux9 (.s(sel), .i0(pix[ 9]), .i1(prim[ 9]), .z(deltaz[ 9]));
j_mx21 muxa (.s(sel), .i0(pix[10]), .i1(prim[10]), .z(deltaz[10]));
j_mx21 muxb (.s(sel), .i0(pix[11]), .i1(prim[11]), .z(deltaz[11]));
j_mx21 muxc (.s(sel), .i0(pix[12]), .i1(prim[12]), .z(deltaz[12]));
j_mx21 muxd (.s(sel), .i0(pix[13]), .i1(prim[13]), .z(deltaz[13]));
j_mx21 muxe (.s(sel), .i0(pix[14]), .i1(prim[14]), .z(deltaz[14]));
j_mx21 muxf (.s(sel), .i0(pix[15]), .i1(prim[15]), .z(deltaz[15]));
endmodule // bl_deltaz