sudp_shift.v
14.5 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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
/*
*************************************************************************
* *
* 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_shift.v *
* description: 32 bit right shift from 64 (really 63) bit input. *
* *
* designer: Phil Gossett *
* date: 4/7/95 *
* *
*************************************************************************
*/
// $Id: sudp_shift.v,v 1.1 2002/03/28 00:26:13 berndt Exp $
module sudp_shift (a, b, z, s);
input [31:0] a;
input [31:0] b;
output [31:0] z;
input [4:0] s;
wire [4:0] sa;
wire [4:0] sb;
wire [4:0] sc;
wire [4:0] sd;
ni01d5 nis0a (.i(s[0]), .z(sa[0]));
ni01d5 nis1a (.i(s[1]), .z(sa[1]));
ni01d5 nis2a (.i(s[2]), .z(sa[2]));
ni01d5 nis3a (.i(s[3]), .z(sa[3]));
ni01d5 nis4a (.i(s[4]), .z(sa[4]));
ni01d5 nis0b (.i(s[0]), .z(sb[0]));
ni01d5 nis1b (.i(s[1]), .z(sb[1]));
ni01d5 nis2b (.i(s[2]), .z(sb[2]));
ni01d5 nis3b (.i(s[3]), .z(sb[3]));
ni01d5 nis4b (.i(s[4]), .z(sb[4]));
ni01d5 nis0c (.i(s[0]), .z(sc[0]));
ni01d5 nis1c (.i(s[1]), .z(sc[1]));
ni01d5 nis2c (.i(s[2]), .z(sc[2]));
ni01d5 nis3c (.i(s[3]), .z(sc[3]));
ni01d5 nis4c (.i(s[4]), .z(sc[4]));
ni01d5 nis0d (.i(s[0]), .z(sd[0]));
ni01d5 nis1d (.i(s[1]), .z(sd[1]));
ni01d5 nis2d (.i(s[2]), .z(sd[2]));
ni01d5 nis3d (.i(s[3]), .z(sd[3]));
ni01d5 nis4d (.i(s[4]), .z(sd[4]));
wire [62:0] m5b;
assign m5b = {b[30:0],a[31:0]};
wire [46:0] m4b;
mx21d1h mx4b0 (.z(m4b[0]), .i0(m5b[0]), .i1(m5b[16]), .s(sa[4]));
mx21d1h mx4b1 (.z(m4b[1]), .i0(m5b[1]), .i1(m5b[17]), .s(sa[4]));
mx21d1h mx4b2 (.z(m4b[2]), .i0(m5b[2]), .i1(m5b[18]), .s(sa[4]));
mx21d1h mx4b3 (.z(m4b[3]), .i0(m5b[3]), .i1(m5b[19]), .s(sa[4]));
mx21d1h mx4b4 (.z(m4b[4]), .i0(m5b[4]), .i1(m5b[20]), .s(sa[4]));
mx21d1h mx4b5 (.z(m4b[5]), .i0(m5b[5]), .i1(m5b[21]), .s(sa[4]));
mx21d1h mx4b6 (.z(m4b[6]), .i0(m5b[6]), .i1(m5b[22]), .s(sa[4]));
mx21d1h mx4b7 (.z(m4b[7]), .i0(m5b[7]), .i1(m5b[23]), .s(sa[4]));
mx21d1h mx4b8 (.z(m4b[8]), .i0(m5b[8]), .i1(m5b[24]), .s(sa[4]));
mx21d1h mx4b9 (.z(m4b[9]), .i0(m5b[9]), .i1(m5b[25]), .s(sa[4]));
mx21d1h mx4b10 (.z(m4b[10]), .i0(m5b[10]), .i1(m5b[26]), .s(sa[4]));
mx21d1h mx4b11 (.z(m4b[11]), .i0(m5b[11]), .i1(m5b[27]), .s(sa[4]));
mx21d1h mx4b12 (.z(m4b[12]), .i0(m5b[12]), .i1(m5b[28]), .s(sb[4]));
mx21d1h mx4b13 (.z(m4b[13]), .i0(m5b[13]), .i1(m5b[29]), .s(sb[4]));
mx21d1h mx4b14 (.z(m4b[14]), .i0(m5b[14]), .i1(m5b[30]), .s(sb[4]));
mx21d1h mx4b15 (.z(m4b[15]), .i0(m5b[15]), .i1(m5b[31]), .s(sb[4]));
mx21d1h mx4b16 (.z(m4b[16]), .i0(m5b[16]), .i1(m5b[32]), .s(sb[4]));
mx21d1h mx4b17 (.z(m4b[17]), .i0(m5b[17]), .i1(m5b[33]), .s(sb[4]));
mx21d1h mx4b18 (.z(m4b[18]), .i0(m5b[18]), .i1(m5b[34]), .s(sb[4]));
mx21d1h mx4b19 (.z(m4b[19]), .i0(m5b[19]), .i1(m5b[35]), .s(sb[4]));
mx21d1h mx4b20 (.z(m4b[20]), .i0(m5b[20]), .i1(m5b[36]), .s(sb[4]));
mx21d1h mx4b21 (.z(m4b[21]), .i0(m5b[21]), .i1(m5b[37]), .s(sb[4]));
mx21d1h mx4b22 (.z(m4b[22]), .i0(m5b[22]), .i1(m5b[38]), .s(sb[4]));
mx21d1h mx4b23 (.z(m4b[23]), .i0(m5b[23]), .i1(m5b[39]), .s(sb[4]));
mx21d1h mx4b24 (.z(m4b[24]), .i0(m5b[24]), .i1(m5b[40]), .s(sc[4]));
mx21d1h mx4b25 (.z(m4b[25]), .i0(m5b[25]), .i1(m5b[41]), .s(sc[4]));
mx21d1h mx4b26 (.z(m4b[26]), .i0(m5b[26]), .i1(m5b[42]), .s(sc[4]));
mx21d1h mx4b27 (.z(m4b[27]), .i0(m5b[27]), .i1(m5b[43]), .s(sc[4]));
mx21d1h mx4b28 (.z(m4b[28]), .i0(m5b[28]), .i1(m5b[44]), .s(sc[4]));
mx21d1h mx4b29 (.z(m4b[29]), .i0(m5b[29]), .i1(m5b[45]), .s(sc[4]));
mx21d1h mx4b30 (.z(m4b[30]), .i0(m5b[30]), .i1(m5b[46]), .s(sc[4]));
mx21d1h mx4b31 (.z(m4b[31]), .i0(m5b[31]), .i1(m5b[47]), .s(sc[4]));
mx21d1h mx4b32 (.z(m4b[32]), .i0(m5b[32]), .i1(m5b[48]), .s(sc[4]));
mx21d1h mx4b33 (.z(m4b[33]), .i0(m5b[33]), .i1(m5b[49]), .s(sc[4]));
mx21d1h mx4b34 (.z(m4b[34]), .i0(m5b[34]), .i1(m5b[50]), .s(sc[4]));
mx21d1h mx4b35 (.z(m4b[35]), .i0(m5b[35]), .i1(m5b[51]), .s(sc[4]));
mx21d1h mx4b36 (.z(m4b[36]), .i0(m5b[36]), .i1(m5b[52]), .s(sd[4]));
mx21d1h mx4b37 (.z(m4b[37]), .i0(m5b[37]), .i1(m5b[53]), .s(sd[4]));
mx21d1h mx4b38 (.z(m4b[38]), .i0(m5b[38]), .i1(m5b[54]), .s(sd[4]));
mx21d1h mx4b39 (.z(m4b[39]), .i0(m5b[39]), .i1(m5b[55]), .s(sd[4]));
mx21d1h mx4b40 (.z(m4b[40]), .i0(m5b[40]), .i1(m5b[56]), .s(sd[4]));
mx21d1h mx4b41 (.z(m4b[41]), .i0(m5b[41]), .i1(m5b[57]), .s(sd[4]));
mx21d1h mx4b42 (.z(m4b[42]), .i0(m5b[42]), .i1(m5b[58]), .s(sd[4]));
mx21d1h mx4b43 (.z(m4b[43]), .i0(m5b[43]), .i1(m5b[59]), .s(sd[4]));
mx21d1h mx4b44 (.z(m4b[44]), .i0(m5b[44]), .i1(m5b[60]), .s(sd[4]));
mx21d1h mx4b45 (.z(m4b[45]), .i0(m5b[45]), .i1(m5b[61]), .s(sd[4]));
mx21d1h mx4b46 (.z(m4b[46]), .i0(m5b[46]), .i1(m5b[62]), .s(sd[4]));
wire [38:0] m3b;
mx21d1h mx3b0 (.z(m3b[0]), .i0(m4b[0]), .i1(m4b[8]), .s(sa[3]));
mx21d1h mx3b1 (.z(m3b[1]), .i0(m4b[1]), .i1(m4b[9]), .s(sa[3]));
mx21d1h mx3b2 (.z(m3b[2]), .i0(m4b[2]), .i1(m4b[10]), .s(sa[3]));
mx21d1h mx3b3 (.z(m3b[3]), .i0(m4b[3]), .i1(m4b[11]), .s(sa[3]));
mx21d1h mx3b4 (.z(m3b[4]), .i0(m4b[4]), .i1(m4b[12]), .s(sa[3]));
mx21d1h mx3b5 (.z(m3b[5]), .i0(m4b[5]), .i1(m4b[13]), .s(sa[3]));
mx21d1h mx3b6 (.z(m3b[6]), .i0(m4b[6]), .i1(m4b[14]), .s(sa[3]));
mx21d1h mx3b7 (.z(m3b[7]), .i0(m4b[7]), .i1(m4b[15]), .s(sa[3]));
mx21d1h mx3b8 (.z(m3b[8]), .i0(m4b[8]), .i1(m4b[16]), .s(sa[3]));
mx21d1h mx3b9 (.z(m3b[9]), .i0(m4b[9]), .i1(m4b[17]), .s(sa[3]));
mx21d1h mx3b10 (.z(m3b[10]), .i0(m4b[10]), .i1(m4b[18]), .s(sb[3]));
mx21d1h mx3b11 (.z(m3b[11]), .i0(m4b[11]), .i1(m4b[19]), .s(sb[3]));
mx21d1h mx3b12 (.z(m3b[12]), .i0(m4b[12]), .i1(m4b[20]), .s(sb[3]));
mx21d1h mx3b13 (.z(m3b[13]), .i0(m4b[13]), .i1(m4b[21]), .s(sb[3]));
mx21d1h mx3b14 (.z(m3b[14]), .i0(m4b[14]), .i1(m4b[22]), .s(sb[3]));
mx21d1h mx3b15 (.z(m3b[15]), .i0(m4b[15]), .i1(m4b[23]), .s(sb[3]));
mx21d1h mx3b16 (.z(m3b[16]), .i0(m4b[16]), .i1(m4b[24]), .s(sb[3]));
mx21d1h mx3b17 (.z(m3b[17]), .i0(m4b[17]), .i1(m4b[25]), .s(sb[3]));
mx21d1h mx3b18 (.z(m3b[18]), .i0(m4b[18]), .i1(m4b[26]), .s(sb[3]));
mx21d1h mx3b19 (.z(m3b[19]), .i0(m4b[19]), .i1(m4b[27]), .s(sb[3]));
mx21d1h mx3b20 (.z(m3b[20]), .i0(m4b[20]), .i1(m4b[28]), .s(sc[3]));
mx21d1h mx3b21 (.z(m3b[21]), .i0(m4b[21]), .i1(m4b[29]), .s(sc[3]));
mx21d1h mx3b22 (.z(m3b[22]), .i0(m4b[22]), .i1(m4b[30]), .s(sc[3]));
mx21d1h mx3b23 (.z(m3b[23]), .i0(m4b[23]), .i1(m4b[31]), .s(sc[3]));
mx21d1h mx3b24 (.z(m3b[24]), .i0(m4b[24]), .i1(m4b[32]), .s(sc[3]));
mx21d1h mx3b25 (.z(m3b[25]), .i0(m4b[25]), .i1(m4b[33]), .s(sc[3]));
mx21d1h mx3b26 (.z(m3b[26]), .i0(m4b[26]), .i1(m4b[34]), .s(sc[3]));
mx21d1h mx3b27 (.z(m3b[27]), .i0(m4b[27]), .i1(m4b[35]), .s(sc[3]));
mx21d1h mx3b28 (.z(m3b[28]), .i0(m4b[28]), .i1(m4b[36]), .s(sc[3]));
mx21d1h mx3b29 (.z(m3b[29]), .i0(m4b[29]), .i1(m4b[37]), .s(sc[3]));
mx21d1h mx3b30 (.z(m3b[30]), .i0(m4b[30]), .i1(m4b[38]), .s(sd[3]));
mx21d1h mx3b31 (.z(m3b[31]), .i0(m4b[31]), .i1(m4b[39]), .s(sd[3]));
mx21d1h mx3b32 (.z(m3b[32]), .i0(m4b[32]), .i1(m4b[40]), .s(sd[3]));
mx21d1h mx3b33 (.z(m3b[33]), .i0(m4b[33]), .i1(m4b[41]), .s(sd[3]));
mx21d1h mx3b34 (.z(m3b[34]), .i0(m4b[34]), .i1(m4b[42]), .s(sd[3]));
mx21d1h mx3b35 (.z(m3b[35]), .i0(m4b[35]), .i1(m4b[43]), .s(sd[3]));
mx21d1h mx3b36 (.z(m3b[36]), .i0(m4b[36]), .i1(m4b[44]), .s(sd[3]));
mx21d1h mx3b37 (.z(m3b[37]), .i0(m4b[37]), .i1(m4b[45]), .s(sd[3]));
mx21d1h mx3b38 (.z(m3b[38]), .i0(m4b[38]), .i1(m4b[46]), .s(sd[3]));
wire [34:0] m2b;
mx21d1h mx2b0 (.z(m2b[0]), .i0(m3b[0]), .i1(m3b[4]), .s(sa[2]));
mx21d1h mx2b1 (.z(m2b[1]), .i0(m3b[1]), .i1(m3b[5]), .s(sa[2]));
mx21d1h mx2b2 (.z(m2b[2]), .i0(m3b[2]), .i1(m3b[6]), .s(sa[2]));
mx21d1h mx2b3 (.z(m2b[3]), .i0(m3b[3]), .i1(m3b[7]), .s(sa[2]));
mx21d1h mx2b4 (.z(m2b[4]), .i0(m3b[4]), .i1(m3b[8]), .s(sa[2]));
mx21d1h mx2b5 (.z(m2b[5]), .i0(m3b[5]), .i1(m3b[9]), .s(sa[2]));
mx21d1h mx2b6 (.z(m2b[6]), .i0(m3b[6]), .i1(m3b[10]), .s(sa[2]));
mx21d1h mx2b7 (.z(m2b[7]), .i0(m3b[7]), .i1(m3b[11]), .s(sa[2]));
mx21d1h mx2b8 (.z(m2b[8]), .i0(m3b[8]), .i1(m3b[12]), .s(sa[2]));
mx21d1h mx2b9 (.z(m2b[9]), .i0(m3b[9]), .i1(m3b[13]), .s(sb[2]));
mx21d1h mx2b10 (.z(m2b[10]), .i0(m3b[10]), .i1(m3b[14]), .s(sb[2]));
mx21d1h mx2b11 (.z(m2b[11]), .i0(m3b[11]), .i1(m3b[15]), .s(sb[2]));
mx21d1h mx2b12 (.z(m2b[12]), .i0(m3b[12]), .i1(m3b[16]), .s(sb[2]));
mx21d1h mx2b13 (.z(m2b[13]), .i0(m3b[13]), .i1(m3b[17]), .s(sb[2]));
mx21d1h mx2b14 (.z(m2b[14]), .i0(m3b[14]), .i1(m3b[18]), .s(sb[2]));
mx21d1h mx2b15 (.z(m2b[15]), .i0(m3b[15]), .i1(m3b[19]), .s(sb[2]));
mx21d1h mx2b16 (.z(m2b[16]), .i0(m3b[16]), .i1(m3b[20]), .s(sb[2]));
mx21d1h mx2b17 (.z(m2b[17]), .i0(m3b[17]), .i1(m3b[21]), .s(sb[2]));
mx21d1h mx2b18 (.z(m2b[18]), .i0(m3b[18]), .i1(m3b[22]), .s(sc[2]));
mx21d1h mx2b19 (.z(m2b[19]), .i0(m3b[19]), .i1(m3b[23]), .s(sc[2]));
mx21d1h mx2b20 (.z(m2b[20]), .i0(m3b[20]), .i1(m3b[24]), .s(sc[2]));
mx21d1h mx2b21 (.z(m2b[21]), .i0(m3b[21]), .i1(m3b[25]), .s(sc[2]));
mx21d1h mx2b22 (.z(m2b[22]), .i0(m3b[22]), .i1(m3b[26]), .s(sc[2]));
mx21d1h mx2b23 (.z(m2b[23]), .i0(m3b[23]), .i1(m3b[27]), .s(sc[2]));
mx21d1h mx2b24 (.z(m2b[24]), .i0(m3b[24]), .i1(m3b[28]), .s(sc[2]));
mx21d1h mx2b25 (.z(m2b[25]), .i0(m3b[25]), .i1(m3b[29]), .s(sc[2]));
mx21d1h mx2b26 (.z(m2b[26]), .i0(m3b[26]), .i1(m3b[30]), .s(sc[2]));
mx21d1h mx2b27 (.z(m2b[27]), .i0(m3b[27]), .i1(m3b[31]), .s(sd[2]));
mx21d1h mx2b28 (.z(m2b[28]), .i0(m3b[28]), .i1(m3b[32]), .s(sd[2]));
mx21d1h mx2b29 (.z(m2b[29]), .i0(m3b[29]), .i1(m3b[33]), .s(sd[2]));
mx21d1h mx2b30 (.z(m2b[30]), .i0(m3b[30]), .i1(m3b[34]), .s(sd[2]));
mx21d1h mx2b31 (.z(m2b[31]), .i0(m3b[31]), .i1(m3b[35]), .s(sd[2]));
mx21d1h mx2b32 (.z(m2b[32]), .i0(m3b[32]), .i1(m3b[36]), .s(sd[2]));
mx21d1h mx2b33 (.z(m2b[33]), .i0(m3b[33]), .i1(m3b[37]), .s(sd[2]));
mx21d1h mx2b34 (.z(m2b[34]), .i0(m3b[34]), .i1(m3b[38]), .s(sd[2]));
wire [32:0] m1b;
mx21d1h mx1b0 (.z(m1b[0]), .i0(m2b[0]), .i1(m2b[2]), .s(sa[1]));
mx21d1h mx1b1 (.z(m1b[1]), .i0(m2b[1]), .i1(m2b[3]), .s(sa[1]));
mx21d1h mx1b2 (.z(m1b[2]), .i0(m2b[2]), .i1(m2b[4]), .s(sa[1]));
mx21d1h mx1b3 (.z(m1b[3]), .i0(m2b[3]), .i1(m2b[5]), .s(sa[1]));
mx21d1h mx1b4 (.z(m1b[4]), .i0(m2b[4]), .i1(m2b[6]), .s(sa[1]));
mx21d1h mx1b5 (.z(m1b[5]), .i0(m2b[5]), .i1(m2b[7]), .s(sa[1]));
mx21d1h mx1b6 (.z(m1b[6]), .i0(m2b[6]), .i1(m2b[8]), .s(sa[1]));
mx21d1h mx1b7 (.z(m1b[7]), .i0(m2b[7]), .i1(m2b[9]), .s(sa[1]));
mx21d1h mx1b8 (.z(m1b[8]), .i0(m2b[8]), .i1(m2b[10]), .s(sb[1]));
mx21d1h mx1b9 (.z(m1b[9]), .i0(m2b[9]), .i1(m2b[11]), .s(sb[1]));
mx21d1h mx1b10 (.z(m1b[10]), .i0(m2b[10]), .i1(m2b[12]), .s(sb[1]));
mx21d1h mx1b11 (.z(m1b[11]), .i0(m2b[11]), .i1(m2b[13]), .s(sb[1]));
mx21d1h mx1b12 (.z(m1b[12]), .i0(m2b[12]), .i1(m2b[14]), .s(sb[1]));
mx21d1h mx1b13 (.z(m1b[13]), .i0(m2b[13]), .i1(m2b[15]), .s(sb[1]));
mx21d1h mx1b14 (.z(m1b[14]), .i0(m2b[14]), .i1(m2b[16]), .s(sb[1]));
mx21d1h mx1b15 (.z(m1b[15]), .i0(m2b[15]), .i1(m2b[17]), .s(sb[1]));
mx21d1h mx1b16 (.z(m1b[16]), .i0(m2b[16]), .i1(m2b[18]), .s(sc[1]));
mx21d1h mx1b17 (.z(m1b[17]), .i0(m2b[17]), .i1(m2b[19]), .s(sc[1]));
mx21d1h mx1b18 (.z(m1b[18]), .i0(m2b[18]), .i1(m2b[20]), .s(sc[1]));
mx21d1h mx1b19 (.z(m1b[19]), .i0(m2b[19]), .i1(m2b[21]), .s(sc[1]));
mx21d1h mx1b20 (.z(m1b[20]), .i0(m2b[20]), .i1(m2b[22]), .s(sc[1]));
mx21d1h mx1b21 (.z(m1b[21]), .i0(m2b[21]), .i1(m2b[23]), .s(sc[1]));
mx21d1h mx1b22 (.z(m1b[22]), .i0(m2b[22]), .i1(m2b[24]), .s(sc[1]));
mx21d1h mx1b23 (.z(m1b[23]), .i0(m2b[23]), .i1(m2b[25]), .s(sc[1]));
mx21d1h mx1b24 (.z(m1b[24]), .i0(m2b[24]), .i1(m2b[26]), .s(sd[1]));
mx21d1h mx1b25 (.z(m1b[25]), .i0(m2b[25]), .i1(m2b[27]), .s(sd[1]));
mx21d1h mx1b26 (.z(m1b[26]), .i0(m2b[26]), .i1(m2b[28]), .s(sd[1]));
mx21d1h mx1b27 (.z(m1b[27]), .i0(m2b[27]), .i1(m2b[29]), .s(sd[1]));
mx21d1h mx1b28 (.z(m1b[28]), .i0(m2b[28]), .i1(m2b[30]), .s(sd[1]));
mx21d1h mx1b29 (.z(m1b[29]), .i0(m2b[29]), .i1(m2b[31]), .s(sd[1]));
mx21d1h mx1b30 (.z(m1b[30]), .i0(m2b[30]), .i1(m2b[32]), .s(sd[1]));
mx21d1h mx1b31 (.z(m1b[31]), .i0(m2b[31]), .i1(m2b[33]), .s(sd[1]));
mx21d1h mx1b32 (.z(m1b[32]), .i0(m2b[32]), .i1(m2b[34]), .s(sd[1]));
mx21d1h mx0b0 (.z(z[0]), .i0(m1b[0]), .i1(m1b[1]), .s(sa[0]));
mx21d1h mx0b1 (.z(z[1]), .i0(m1b[1]), .i1(m1b[2]), .s(sa[0]));
mx21d1h mx0b2 (.z(z[2]), .i0(m1b[2]), .i1(m1b[3]), .s(sa[0]));
mx21d1h mx0b3 (.z(z[3]), .i0(m1b[3]), .i1(m1b[4]), .s(sa[0]));
mx21d1h mx0b4 (.z(z[4]), .i0(m1b[4]), .i1(m1b[5]), .s(sa[0]));
mx21d1h mx0b5 (.z(z[5]), .i0(m1b[5]), .i1(m1b[6]), .s(sa[0]));
mx21d1h mx0b6 (.z(z[6]), .i0(m1b[6]), .i1(m1b[7]), .s(sa[0]));
mx21d1h mx0b7 (.z(z[7]), .i0(m1b[7]), .i1(m1b[8]), .s(sa[0]));
mx21d1h mx0b8 (.z(z[8]), .i0(m1b[8]), .i1(m1b[9]), .s(sb[0]));
mx21d1h mx0b9 (.z(z[9]), .i0(m1b[9]), .i1(m1b[10]), .s(sb[0]));
mx21d1h mx0b10 (.z(z[10]), .i0(m1b[10]), .i1(m1b[11]), .s(sb[0]));
mx21d1h mx0b11 (.z(z[11]), .i0(m1b[11]), .i1(m1b[12]), .s(sb[0]));
mx21d1h mx0b12 (.z(z[12]), .i0(m1b[12]), .i1(m1b[13]), .s(sb[0]));
mx21d1h mx0b13 (.z(z[13]), .i0(m1b[13]), .i1(m1b[14]), .s(sb[0]));
mx21d1h mx0b14 (.z(z[14]), .i0(m1b[14]), .i1(m1b[15]), .s(sb[0]));
mx21d1h mx0b15 (.z(z[15]), .i0(m1b[15]), .i1(m1b[16]), .s(sb[0]));
mx21d1h mx0b16 (.z(z[16]), .i0(m1b[16]), .i1(m1b[17]), .s(sc[0]));
mx21d1h mx0b17 (.z(z[17]), .i0(m1b[17]), .i1(m1b[18]), .s(sc[0]));
mx21d1h mx0b18 (.z(z[18]), .i0(m1b[18]), .i1(m1b[19]), .s(sc[0]));
mx21d1h mx0b19 (.z(z[19]), .i0(m1b[19]), .i1(m1b[20]), .s(sc[0]));
mx21d1h mx0b20 (.z(z[20]), .i0(m1b[20]), .i1(m1b[21]), .s(sc[0]));
mx21d1h mx0b21 (.z(z[21]), .i0(m1b[21]), .i1(m1b[22]), .s(sc[0]));
mx21d1h mx0b22 (.z(z[22]), .i0(m1b[22]), .i1(m1b[23]), .s(sc[0]));
mx21d1h mx0b23 (.z(z[23]), .i0(m1b[23]), .i1(m1b[24]), .s(sc[0]));
mx21d1h mx0b24 (.z(z[24]), .i0(m1b[24]), .i1(m1b[25]), .s(sd[0]));
mx21d1h mx0b25 (.z(z[25]), .i0(m1b[25]), .i1(m1b[26]), .s(sd[0]));
mx21d1h mx0b26 (.z(z[26]), .i0(m1b[26]), .i1(m1b[27]), .s(sd[0]));
mx21d1h mx0b27 (.z(z[27]), .i0(m1b[27]), .i1(m1b[28]), .s(sd[0]));
mx21d1h mx0b28 (.z(z[28]), .i0(m1b[28]), .i1(m1b[29]), .s(sd[0]));
mx21d1h mx0b29 (.z(z[29]), .i0(m1b[29]), .i1(m1b[30]), .s(sd[0]));
mx21d1h mx0b30 (.z(z[30]), .i0(m1b[30]), .i1(m1b[31]), .s(sd[0]));
mx21d1h mx0b31 (.z(z[31]), .i0(m1b[31]), .i1(m1b[32]), .s(sd[0]));
endmodule // sudp_shift