cc_abs16n.v
1.15 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
////////////////////////////////////////////////////////////////////////
//
// Project Reality
//
// module: cc_abs16n
// description: S.16 bit nagative absolute value.
//
// designer: Phil Gossett
// date: 6/26/94
//
////////////////////////////////////////////////////////////////////////
module cc_abs16n (a, sn);
input [16:0] a;
output [15:0] sn;
in01d5 cinb (.i(a[16]), .zn(sgn));
xo02d1h ans0 (.a1(sgn), .a2(a[0]), .z(sn[0]));
xo02d1h ans1 (.a1(sgn), .a2(a[1]), .z(sn[1]));
xo02d1h ans2 (.a1(sgn), .a2(a[2]), .z(sn[2]));
xo02d1h ans3 (.a1(sgn), .a2(a[3]), .z(sn[3]));
xo02d1h ans4 (.a1(sgn), .a2(a[4]), .z(sn[4]));
xo02d1h ans5 (.a1(sgn), .a2(a[5]), .z(sn[5]));
xo02d1h ans6 (.a1(sgn), .a2(a[6]), .z(sn[6]));
xo02d1h ans7 (.a1(sgn), .a2(a[7]), .z(sn[7]));
xo02d1h ans8 (.a1(sgn), .a2(a[8]), .z(sn[8]));
xo02d1h ans9 (.a1(sgn), .a2(a[9]), .z(sn[9]));
xo02d1h ansa (.a1(sgn), .a2(a[10]),.z(sn[10]));
xo02d1h ansb (.a1(sgn), .a2(a[11]),.z(sn[11]));
xo02d1h ansc (.a1(sgn), .a2(a[12]),.z(sn[12]));
xo02d1h ansd (.a1(sgn), .a2(a[13]),.z(sn[13]));
xo02d1h anse (.a1(sgn), .a2(a[14]),.z(sn[14]));
xo02d1h ansf (.a1(sgn), .a2(a[15]),.z(sn[15]));
endmodule // cc_abs16n