bl_nrma.v
1.22 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
////////////////////////////////////////////////////////////////////////
//
// Project Reality
//
// module: bl_nrma
// description: 6 bit 1 to 4 bit shifter for blend unit.
//
// designer: Phil Gossett
// date: 11/1/94
//
////////////////////////////////////////////////////////////////////////
module bl_nrma (lsen, sh, i, z);
input lsen;
input [2:0] sh;
input [5:0] i;
output [5:0] z;
wire [2:0] ash;
an02d1h mxa0 ( .a1(lsen), .a2(sh[0]), .z(ash[0]));
an02d1h mxa1 ( .a1(lsen), .a2(sh[1]), .z(ash[1]));
an02d1h mxa2 ( .a1(lsen), .a2(sh[2]), .z(ash[2]));
fn05d2 mxe0 ( .b1(lsen), .a1( i[0]), .zn( z[0]));
fn05d2 mxe1 ( .b1(lsen), .a1( i[1]), .zn( z[1]));
me41d1h mxe2 ( .s0(ash[0]), .s1(ash[1]), .en(ash[2]),
.i0(i[2]), .i1(i[3]), .i2(i[4]), .i3(i[5]),
.z( z[2]));
me41d1h mxe3 ( .s0(ash[0]), .s1(ash[1]), .en(ash[2]),
.i0(i[3]), .i1(i[4]), .i2(i[5]), .i3(1'b0),
.z( z[3]));
me41d1h mxe4 ( .s0(ash[0]), .s1(ash[1]), .en(ash[2]),
.i0(i[4]), .i1(i[5]), .i2(1'b0), .i3(1'b0),
.z( z[4]));
me41d1h mxe5 ( .s0(ash[0]), .s1(ash[1]), .en(ash[2]),
.i0(i[5]), .i1(1'b0), .i2(1'b0), .i3(1'b0),
.z( z[5]));
endmodule // bl_nrma