sudp_mx41.v
4.83 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
/*
*************************************************************************
* *
* 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. *
* *
*************************************************************************
*/
/*
*************************************************************************
* *
* Project Reality *
* *
* module: sudp_mx41.v *
* description: 32 bit 4 to 1 low performance mux using mx41d1 cells *
* *
* designer: Phil Gossett *
* date: 4/7/95 *
* *
*************************************************************************
*/
// $Id: sudp_mx41.v,v 1.1.1.1 2002/05/17 06:14:58 blythe Exp $
module sudp_mx41 (s, i0, i1, i2, i3, z);
input [1:0] s;
input [31:0] i0;
input [31:0] i1;
input [31:0] i2;
input [31:0] i3;
output [31:0] z;
wire [1:0] sa;
wire [1:0] sb;
wire [1:0] sc;
wire [1:0] sd;
ni01d5 nis0a (.i(s[0]), .z(sa[0]));
ni01d5 nis1a (.i(s[1]), .z(sa[1]));
ni01d5 nis0b (.i(s[0]), .z(sb[0]));
ni01d5 nis1b (.i(s[1]), .z(sb[1]));
ni01d5 nis0c (.i(s[0]), .z(sc[0]));
ni01d5 nis1c (.i(s[1]), .z(sc[1]));
ni01d5 nis0d (.i(s[0]), .z(sd[0]));
ni01d5 nis1d (.i(s[1]), .z(sd[1]));
mx41d1 mx0 (.z(z[0]), .i0(i0[0]), .i1(i1[0]), .i2(i2[0]), .i3(i3[0]),
.s0(sa[0]), .s1(sa[1]));
mx41d1 mx1 (.z(z[1]), .i0(i0[1]), .i1(i1[1]), .i2(i2[1]), .i3(i3[1]),
.s0(sa[0]), .s1(sa[1]));
mx41d1 mx2 (.z(z[2]), .i0(i0[2]), .i1(i1[2]), .i2(i2[2]), .i3(i3[2]),
.s0(sa[0]), .s1(sa[1]));
mx41d1 mx3 (.z(z[3]), .i0(i0[3]), .i1(i1[3]), .i2(i2[3]), .i3(i3[3]),
.s0(sa[0]), .s1(sa[1]));
mx41d1 mx4 (.z(z[4]), .i0(i0[4]), .i1(i1[4]), .i2(i2[4]), .i3(i3[4]),
.s0(sa[0]), .s1(sa[1]));
mx41d1 mx5 (.z(z[5]), .i0(i0[5]), .i1(i1[5]), .i2(i2[5]), .i3(i3[5]),
.s0(sa[0]), .s1(sa[1]));
mx41d1 mx6 (.z(z[6]), .i0(i0[6]), .i1(i1[6]), .i2(i2[6]), .i3(i3[6]),
.s0(sa[0]), .s1(sa[1]));
mx41d1 mx7 (.z(z[7]), .i0(i0[7]), .i1(i1[7]), .i2(i2[7]), .i3(i3[7]),
.s0(sa[0]), .s1(sa[1]));
mx41d1 mx8 (.z(z[8]), .i0(i0[8]), .i1(i1[8]), .i2(i2[8]), .i3(i3[8]),
.s0(sb[0]), .s1(sb[1]));
mx41d1 mx9 (.z(z[9]), .i0(i0[9]), .i1(i1[9]), .i2(i2[9]), .i3(i3[9]),
.s0(sb[0]), .s1(sb[1]));
mx41d1 mx10 (.z(z[10]), .i0(i0[10]), .i1(i1[10]), .i2(i2[10]), .i3(i3[10]),
.s0(sb[0]), .s1(sb[1]));
mx41d1 mx11 (.z(z[11]), .i0(i0[11]), .i1(i1[11]), .i2(i2[11]), .i3(i3[11]),
.s0(sb[0]), .s1(sb[1]));
mx41d1 mx12 (.z(z[12]), .i0(i0[12]), .i1(i1[12]), .i2(i2[12]), .i3(i3[12]),
.s0(sb[0]), .s1(sb[1]));
mx41d1 mx13 (.z(z[13]), .i0(i0[13]), .i1(i1[13]), .i2(i2[13]), .i3(i3[13]),
.s0(sb[0]), .s1(sb[1]));
mx41d1 mx14 (.z(z[14]), .i0(i0[14]), .i1(i1[14]), .i2(i2[14]), .i3(i3[14]),
.s0(sb[0]), .s1(sb[1]));
mx41d1 mx15 (.z(z[15]), .i0(i0[15]), .i1(i1[15]), .i2(i2[15]), .i3(i3[15]),
.s0(sb[0]), .s1(sb[1]));
mx41d1 mx16 (.z(z[16]), .i0(i0[16]), .i1(i1[16]), .i2(i2[16]), .i3(i3[16]),
.s0(sc[0]), .s1(sc[1]));
mx41d1 mx17 (.z(z[17]), .i0(i0[17]), .i1(i1[17]), .i2(i2[17]), .i3(i3[17]),
.s0(sc[0]), .s1(sc[1]));
mx41d1 mx18 (.z(z[18]), .i0(i0[18]), .i1(i1[18]), .i2(i2[18]), .i3(i3[18]),
.s0(sc[0]), .s1(sc[1]));
mx41d1 mx19 (.z(z[19]), .i0(i0[19]), .i1(i1[19]), .i2(i2[19]), .i3(i3[19]),
.s0(sc[0]), .s1(sc[1]));
mx41d1 mx20 (.z(z[20]), .i0(i0[20]), .i1(i1[20]), .i2(i2[20]), .i3(i3[20]),
.s0(sc[0]), .s1(sc[1]));
mx41d1 mx21 (.z(z[21]), .i0(i0[21]), .i1(i1[21]), .i2(i2[21]), .i3(i3[21]),
.s0(sc[0]), .s1(sc[1]));
mx41d1 mx22 (.z(z[22]), .i0(i0[22]), .i1(i1[22]), .i2(i2[22]), .i3(i3[22]),
.s0(sc[0]), .s1(sc[1]));
mx41d1 mx23 (.z(z[23]), .i0(i0[23]), .i1(i1[23]), .i2(i2[23]), .i3(i3[23]),
.s0(sc[0]), .s1(sc[1]));
mx41d1 mx24 (.z(z[24]), .i0(i0[24]), .i1(i1[24]), .i2(i2[24]), .i3(i3[24]),
.s0(sd[0]), .s1(sd[1]));
mx41d1 mx25 (.z(z[25]), .i0(i0[25]), .i1(i1[25]), .i2(i2[25]), .i3(i3[25]),
.s0(sd[0]), .s1(sd[1]));
mx41d1 mx26 (.z(z[26]), .i0(i0[26]), .i1(i1[26]), .i2(i2[26]), .i3(i3[26]),
.s0(sd[0]), .s1(sd[1]));
mx41d1 mx27 (.z(z[27]), .i0(i0[27]), .i1(i1[27]), .i2(i2[27]), .i3(i3[27]),
.s0(sd[0]), .s1(sd[1]));
mx41d1 mx28 (.z(z[28]), .i0(i0[28]), .i1(i1[28]), .i2(i2[28]), .i3(i3[28]),
.s0(sd[0]), .s1(sd[1]));
mx41d1 mx29 (.z(z[29]), .i0(i0[29]), .i1(i1[29]), .i2(i2[29]), .i3(i3[29]),
.s0(sd[0]), .s1(sd[1]));
mx41d1 mx30 (.z(z[30]), .i0(i0[30]), .i1(i1[30]), .i2(i2[30]), .i3(i3[30]),
.s0(sd[0]), .s1(sd[1]));
mx41d1 mx31 (.z(z[31]), .i0(i0[31]), .i1(i1[31]), .i2(i2[31]), .i3(i3[31]),
.s0(sd[0]), .s1(sd[1]));
endmodule // sudp_mx41