OpenCores
URL https://opencores.org/ocsvn/des/des/trunk

Subversion Repositories des

[/] [des/] [trunk/] [rtl/] [verilog/] [area_opt/] [key_sel.v] - Blame information for rev 9

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 rudi
/////////////////////////////////////////////////////////////////////
2
////                                                             ////
3 8 rudi
////  KEY_SEL_Half                                               ////
4 5 rudi
////  Select one of 16 sub-keys for round                        ////
5
////                                                             ////
6
////  Author: Rudolf Usselmann                                   ////
7
////          rudi@asics.ws                                      ////
8
////                                                             ////
9 8 rudi
////  Original: Rudolf Usselmann                                 ////
10
////                                                             ////
11
////  Modified : 2004/07/10                                      ////
12
////  Modified: Sakamoto YASUHIRO                                ////
13
////  Modified: for about Half slices decreased                  ////
14
////   (XILINX SPARTAN2 Number of SLICEs 546 to 258)             ////
15
////    Web   : http://hp.vector.co.jp/authors/VA014069          ////
16
////                                                             ////
17 5 rudi
/////////////////////////////////////////////////////////////////////
18
////                                                             ////
19
//// Copyright (C) 2001 Rudolf Usselmann                         ////
20
////                    rudi@asics.ws                            ////
21
////                                                             ////
22
//// This source file may be used and distributed without        ////
23
//// restriction provided that this copyright statement is not   ////
24
//// removed from the file and that any derivative work contains ////
25
//// the original copyright notice and the associated disclaimer.////
26
////                                                             ////
27
////     THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY     ////
28
//// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED   ////
29
//// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS   ////
30
//// FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR      ////
31
//// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,         ////
32
//// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES    ////
33
//// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE   ////
34
//// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        ////
35
//// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF  ////
36
//// LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT  ////
37
//// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  ////
38
//// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE         ////
39
//// POSSIBILITY OF SUCH DAMAGE.                                 ////
40
////                                                             ////
41
/////////////////////////////////////////////////////////////////////
42
 
43 8 rudi
module  key_selh(K_sub, K, roundSel, decrypt);
44
output [1:48] K_sub;
45
input [55:0] K;
46
input [3:0] roundSel;
47
input   decrypt;
48 5 rudi
 
49 8 rudi
reg  [1:48] K_sub;
50
wire [1:48] K1, K2, K3, K4, K5, K6, K7, K8;
51
 
52
////  Modified: for about Half slices decreased
53
wire [2:0] roundSelH;  // ADD Sakamoto
54
wire   decryptH;  // ADD Sakamoto
55
 
56
assign roundSelH[2:0] = roundSel[3] ? (~roundSel[2:0]) : roundSel[2:0];
57
assign decryptH  = decrypt ^ roundSel[3];
58 5 rudi
 
59 8 rudi
always @(K1 or K2 or K3 or K4 or K5 or K6 or K7 or K8 or roundSelH)
60
    case (roundSelH)    // synopsys full_case parallel_case
61 5 rudi
            0:  K_sub = K1;
62
            1:  K_sub = K2;
63
            2:  K_sub = K3;
64
            3:  K_sub = K4;
65
            4:  K_sub = K5;
66
            5:  K_sub = K6;
67
            6:  K_sub = K7;
68
            7:  K_sub = K8;
69 8 rudi
    endcase
70 5 rudi
 
71
 
72 8 rudi
assign K8[1]  = decryptH ? K[6]  : K[24];
73
assign K8[2]  = decryptH ? K[27] : K[20];
74
assign K8[3]  = decryptH ? K[10] : K[3] ;
75
assign K8[4]  = decryptH ? K[19] : K[12];
76
assign K8[5]  = decryptH ? K[54] : K[47];
77
assign K8[6]  = decryptH ? K[25] : K[18];
78
assign K8[7]  = decryptH ? K[11] : K[4] ;
79
assign K8[8]  = decryptH ? K[47] : K[40];
80
assign K8[9]  = decryptH ? K[13] : K[6] ;
81
assign K8[10] = decryptH ? K[32] : K[25];
82
assign K8[11] = decryptH ? K[55] : K[48];
83
assign K8[12] = decryptH ? K[3]  : K[53];
84
assign K8[13] = decryptH ? K[12] : K[5] ;
85
assign K8[14] = decryptH ? K[41] : K[34];
86
assign K8[15] = decryptH ? K[17] : K[10];
87
assign K8[16] = decryptH ? K[18] : K[11];
88
assign K8[17] = decryptH ? K[33] : K[26];
89
assign K8[18] = decryptH ? K[46] : K[39];
90
assign K8[19] = decryptH ? K[20] : K[13];
91
assign K8[20] = decryptH ? K[39] : K[32];
92
assign K8[21] = decryptH ? K[40] : K[33];
93
assign K8[22] = decryptH ? K[48] : K[41];
94
assign K8[23] = decryptH ? K[24] : K[17];
95
assign K8[24] = decryptH ? K[4]  : K[54];
96
assign K8[25] = decryptH ? K[52] : K[45];
97
assign K8[26] = decryptH ? K[15] : K[8] ;
98
assign K8[27] = decryptH ? K[9]  : K[2] ;
99
assign K8[28] = decryptH ? K[51] : K[44];
100
assign K8[29] = decryptH ? K[35] : K[28];
101
assign K8[30] = decryptH ? K[36] : K[29];
102
assign K8[31] = decryptH ? K[2]  : K[50];
103
assign K8[32] = decryptH ? K[45] : K[38];
104
assign K8[33] = decryptH ? K[8]  : K[1] ;
105
assign K8[34] = decryptH ? K[21] : K[14];
106
assign K8[35] = decryptH ? K[23] : K[16];
107
assign K8[36] = decryptH ? K[42] : K[35];
108
assign K8[37] = decryptH ? K[14] : K[7] ;
109
assign K8[38] = decryptH ? K[49] : K[42];
110
assign K8[39] = decryptH ? K[38] : K[31];
111
assign K8[40] = decryptH ? K[43] : K[36];
112
assign K8[41] = decryptH ? K[30] : K[23];
113
assign K8[42] = decryptH ? K[22] : K[15];
114
assign K8[43] = decryptH ? K[28] : K[21];
115
assign K8[44] = decryptH ? K[0]  : K[52];
116
assign K8[45] = decryptH ? K[1]  : K[49];
117
assign K8[46] = decryptH ? K[44] : K[37];
118
assign K8[47] = decryptH ? K[50] : K[43];
119
assign K8[48] = decryptH ? K[16] : K[9] ;
120 5 rudi
 
121 8 rudi
assign K7[1]  = decryptH ? K[20] : K[10];
122
assign K7[2]  = decryptH ? K[41] : K[6] ;
123
assign K7[3]  = decryptH ? K[24] : K[46];
124
assign K7[4]  = decryptH ? K[33] : K[55];
125
assign K7[5]  = decryptH ? K[11] : K[33];
126
assign K7[6]  = decryptH ? K[39] : K[4] ;
127
assign K7[7]  = decryptH ? K[25] : K[47];
128
assign K7[8]  = decryptH ? K[4]  : K[26];
129
assign K7[9]  = decryptH ? K[27] : K[17];
130
assign K7[10] = decryptH ? K[46] : K[11];
131
assign K7[11] = decryptH ? K[12] : K[34];
132
assign K7[12] = decryptH ? K[17] : K[39];
133
assign K7[13] = decryptH ? K[26] : K[48];
134
assign K7[14] = decryptH ? K[55] : K[20];
135
assign K7[15] = decryptH ? K[6]  : K[53];
136
assign K7[16] = decryptH ? K[32] : K[54];
137
assign K7[17] = decryptH ? K[47] : K[12];
138
assign K7[18] = decryptH ? K[3]  : K[25];
139
assign K7[19] = decryptH ? K[34] : K[24];
140
assign K7[20] = decryptH ? K[53] : K[18];
141
assign K7[21] = decryptH ? K[54] : K[19];
142
assign K7[22] = decryptH ? K[5]  : K[27];
143
assign K7[23] = decryptH ? K[13] : K[3] ;
144
assign K7[24] = decryptH ? K[18] : K[40];
145
assign K7[25] = decryptH ? K[7]  : K[31];
146
assign K7[26] = decryptH ? K[29] : K[49];
147
assign K7[27] = decryptH ? K[23] : K[43];
148
assign K7[28] = decryptH ? K[38] : K[30];
149
assign K7[29] = decryptH ? K[49] : K[14];
150
assign K7[30] = decryptH ? K[50] : K[15];
151
assign K7[31] = decryptH ? K[16] : K[36];
152
assign K7[32] = decryptH ? K[0]  : K[51];
153
assign K7[33] = decryptH ? K[22] : K[42];
154
assign K7[34] = decryptH ? K[35] : K[0] ;
155
assign K7[35] = decryptH ? K[37] : K[2] ;
156
assign K7[36] = decryptH ? K[1]  : K[21];
157
assign K7[37] = decryptH ? K[28] : K[52];
158
assign K7[38] = decryptH ? K[8]  : K[28];
159
assign K7[39] = decryptH ? K[52] : K[44];
160
assign K7[40] = decryptH ? K[2]  : K[22];
161
assign K7[41] = decryptH ? K[44] : K[9] ;
162
assign K7[42] = decryptH ? K[36] : K[1] ;
163
assign K7[43] = decryptH ? K[42] : K[7] ;
164
assign K7[44] = decryptH ? K[14] : K[38];
165
assign K7[45] = decryptH ? K[15] : K[35];
166
assign K7[46] = decryptH ? K[31] : K[23];
167
assign K7[47] = decryptH ? K[9]  : K[29];
168
assign K7[48] = decryptH ? K[30] : K[50];
169 5 rudi
 
170 8 rudi
assign K6[1]  = decryptH ? K[34] : K[53];
171
assign K6[2]  = decryptH ? K[55] : K[17];
172
assign K6[3]  = decryptH ? K[13] : K[32];
173
assign K6[4]  = decryptH ? K[47] : K[41];
174
assign K6[5]  = decryptH ? K[25] : K[19];
175
assign K6[6]  = decryptH ? K[53] : K[47];
176
assign K6[7]  = decryptH ? K[39] : K[33];
177
assign K6[8]  = decryptH ? K[18] : K[12];
178
assign K6[9]  = decryptH ? K[41] : K[3] ;
179
assign K6[10] = decryptH ? K[3]  : K[54];
180
assign K6[11] = decryptH ? K[26] : K[20];
181
assign K6[12] = decryptH ? K[6]  : K[25];
182
assign K6[13] = decryptH ? K[40] : K[34];
183
assign K6[14] = decryptH ? K[12] : K[6] ;
184
assign K6[15] = decryptH ? K[20] : K[39];
185
assign K6[16] = decryptH ? K[46] : K[40];
186
assign K6[17] = decryptH ? K[4]  : K[55];
187
assign K6[18] = decryptH ? K[17] : K[11];
188
assign K6[19] = decryptH ? K[48] : K[10];
189
assign K6[20] = decryptH ? K[10] : K[4] ;
190
assign K6[21] = decryptH ? K[11] : K[5] ;
191
assign K6[22] = decryptH ? K[19] : K[13];
192
assign K6[23] = decryptH ? K[27] : K[46];
193
assign K6[24] = decryptH ? K[32] : K[26];
194
assign K6[25] = decryptH ? K[21] : K[44];
195
assign K6[26] = decryptH ? K[43] : K[35];
196
assign K6[27] = decryptH ? K[37] : K[29];
197
assign K6[28] = decryptH ? K[52] : K[16];
198
assign K6[29] = decryptH ? K[8]  : K[0] ;
199
assign K6[30] = decryptH ? K[9]  : K[1] ;
200
assign K6[31] = decryptH ? K[30] : K[22];
201
assign K6[32] = decryptH ? K[14] : K[37];
202
assign K6[33] = decryptH ? K[36] : K[28];
203
assign K6[34] = decryptH ? K[49] : K[45];
204
assign K6[35] = decryptH ? K[51] : K[43];
205
assign K6[36] = decryptH ? K[15] : K[7] ;
206
assign K6[37] = decryptH ? K[42] : K[38];
207
assign K6[38] = decryptH ? K[22] : K[14];
208
assign K6[39] = decryptH ? K[7]  : K[30];
209
assign K6[40] = decryptH ? K[16] : K[8] ;
210
assign K6[41] = decryptH ? K[31] : K[50];
211
assign K6[42] = decryptH ? K[50] : K[42];
212
assign K6[43] = decryptH ? K[1]  : K[52];
213
assign K6[44] = decryptH ? K[28] : K[51];
214
assign K6[45] = decryptH ? K[29] : K[21];
215
assign K6[46] = decryptH ? K[45] : K[9] ;
216
assign K6[47] = decryptH ? K[23] : K[15];
217
assign K6[48] = decryptH ? K[44] : K[36];
218 5 rudi
 
219 8 rudi
assign K5[1]  = decryptH ? K[48] : K[39];
220
assign K5[2]  = decryptH ? K[12] : K[3] ;
221
assign K5[3]  = decryptH ? K[27] : K[18];
222
assign K5[4]  = decryptH ? K[4]  : K[27];
223
assign K5[5]  = decryptH ? K[39] : K[5] ;
224
assign K5[6]  = decryptH ? K[10] : K[33];
225
assign K5[7]  = decryptH ? K[53] : K[19];
226
assign K5[8]  = decryptH ? K[32] : K[55];
227
assign K5[9]  = decryptH ? K[55] : K[46];
228
assign K5[10] = decryptH ? K[17] : K[40];
229
assign K5[11] = decryptH ? K[40] : K[6] ;
230
assign K5[12] = decryptH ? K[20] : K[11];
231
assign K5[13] = decryptH ? K[54] : K[20];
232
assign K5[14] = decryptH ? K[26] : K[17];
233
assign K5[15] = decryptH ? K[34] : K[25];
234
assign K5[16] = decryptH ? K[3]  : K[26];
235
assign K5[17] = decryptH ? K[18] : K[41];
236
assign K5[18] = decryptH ? K[6]  : K[54];
237
assign K5[19] = decryptH ? K[5]  : K[53];
238
assign K5[20] = decryptH ? K[24] : K[47];
239
assign K5[21] = decryptH ? K[25] : K[48];
240
assign K5[22] = decryptH ? K[33] : K[24];
241
assign K5[23] = decryptH ? K[41] : K[32];
242
assign K5[24] = decryptH ? K[46] : K[12];
243
assign K5[25] = decryptH ? K[35] : K[30];
244
assign K5[26] = decryptH ? K[2]  : K[21];
245
assign K5[27] = decryptH ? K[51] : K[15];
246
assign K5[28] = decryptH ? K[7]  : K[2] ;
247
assign K5[29] = decryptH ? K[22] : K[45];
248
assign K5[30] = decryptH ? K[23] : K[42];
249
assign K5[31] = decryptH ? K[44] : K[8] ;
250
assign K5[32] = decryptH ? K[28] : K[23];
251
assign K5[33] = decryptH ? K[50] : K[14];
252
assign K5[34] = decryptH ? K[8]  : K[31];
253
assign K5[35] = decryptH ? K[38] : K[29];
254
assign K5[36] = decryptH ? K[29] : K[52];
255
assign K5[37] = decryptH ? K[1]  : K[51];
256
assign K5[38] = decryptH ? K[36] : K[0] ;
257
assign K5[39] = decryptH ? K[21] : K[16];
258
assign K5[40] = decryptH ? K[30] : K[49];
259
assign K5[41] = decryptH ? K[45] : K[36];
260
assign K5[42] = decryptH ? K[9]  : K[28];
261
assign K5[43] = decryptH ? K[15] : K[38];
262
assign K5[44] = decryptH ? K[42] : K[37];
263
assign K5[45] = decryptH ? K[43] : K[7] ;
264
assign K5[46] = decryptH ? K[0]  : K[50];
265
assign K5[47] = decryptH ? K[37] : K[1] ;
266
assign K5[48] = decryptH ? K[31] : K[22];
267 5 rudi
 
268 8 rudi
assign K4[1]  = decryptH ? K[5]  : K[25];
269
assign K4[2]  = decryptH ? K[26] : K[46];
270
assign K4[3]  = decryptH ? K[41] : K[4] ;
271
assign K4[4]  = decryptH ? K[18] : K[13];
272
assign K4[5]  = decryptH ? K[53] : K[48];
273
assign K4[6]  = decryptH ? K[24] : K[19];
274
assign K4[7]  = decryptH ? K[10] : K[5] ;
275
assign K4[8]  = decryptH ? K[46] : K[41];
276
assign K4[9]  = decryptH ? K[12] : K[32];
277
assign K4[10] = decryptH ? K[6]  : K[26];
278
assign K4[11] = decryptH ? K[54] : K[17];
279
assign K4[12] = decryptH ? K[34] : K[54];
280
assign K4[13] = decryptH ? K[11] : K[6] ;
281
assign K4[14] = decryptH ? K[40] : K[3] ;
282
assign K4[15] = decryptH ? K[48] : K[11];
283
assign K4[16] = decryptH ? K[17] : K[12];
284
assign K4[17] = decryptH ? K[32] : K[27];
285
assign K4[18] = decryptH ? K[20] : K[40];
286
assign K4[19] = decryptH ? K[19] : K[39];
287
assign K4[20] = decryptH ? K[13] : K[33];
288
assign K4[21] = decryptH ? K[39] : K[34];
289
assign K4[22] = decryptH ? K[47] : K[10];
290
assign K4[23] = decryptH ? K[55] : K[18];
291
assign K4[24] = decryptH ? K[3]  : K[55];
292
assign K4[25] = decryptH ? K[49] : K[16];
293
assign K4[26] = decryptH ? K[16] : K[7] ;
294
assign K4[27] = decryptH ? K[38] : K[1] ;
295
assign K4[28] = decryptH ? K[21] : K[43];
296
assign K4[29] = decryptH ? K[36] : K[31];
297
assign K4[30] = decryptH ? K[37] : K[28];
298
assign K4[31] = decryptH ? K[31] : K[49];
299
assign K4[32] = decryptH ? K[42] : K[9] ;
300
assign K4[33] = decryptH ? K[9]  : K[0] ;
301
assign K4[34] = decryptH ? K[22] : K[44];
302
assign K4[35] = decryptH ? K[52] : K[15];
303
assign K4[36] = decryptH ? K[43] : K[38];
304
assign K4[37] = decryptH ? K[15] : K[37];
305
assign K4[38] = decryptH ? K[50] : K[45];
306
assign K4[39] = decryptH ? K[35] : K[2] ;
307
assign K4[40] = decryptH ? K[44] : K[35];
308
assign K4[41] = decryptH ? K[0]  : K[22];
309
assign K4[42] = decryptH ? K[23] : K[14];
310
assign K4[43] = decryptH ? K[29] : K[51];
311
assign K4[44] = decryptH ? K[1]  : K[23];
312
assign K4[45] = decryptH ? K[2]  : K[52];
313
assign K4[46] = decryptH ? K[14] : K[36];
314
assign K4[47] = decryptH ? K[51] : K[42];
315
assign K4[48] = decryptH ? K[45] : K[8] ;
316 5 rudi
 
317 8 rudi
assign K3[1]  = decryptH ? K[19] : K[11];
318
assign K3[2]  = decryptH ? K[40] : K[32];
319
assign K3[3]  = decryptH ? K[55] : K[47];
320
assign K3[4]  = decryptH ? K[32] : K[24];
321
assign K3[5]  = decryptH ? K[10] : K[34];
322
assign K3[6]  = decryptH ? K[13] : K[5] ;
323
assign K3[7]  = decryptH ? K[24] : K[48];
324
assign K3[8]  = decryptH ? K[3]  : K[27];
325
assign K3[9]  = decryptH ? K[26] : K[18];
326
assign K3[10] = decryptH ? K[20] : K[12];
327
assign K3[11] = decryptH ? K[11] : K[3] ;
328
assign K3[12] = decryptH ? K[48] : K[40];
329
assign K3[13] = decryptH ? K[25] : K[17];
330
assign K3[14] = decryptH ? K[54] : K[46];
331
assign K3[15] = decryptH ? K[5]  : K[54];
332
assign K3[16] = decryptH ? K[6]  : K[55];
333
assign K3[17] = decryptH ? K[46] : K[13];
334
assign K3[18] = decryptH ? K[34] : K[26];
335
assign K3[19] = decryptH ? K[33] : K[25];
336
assign K3[20] = decryptH ? K[27] : K[19];
337
assign K3[21] = decryptH ? K[53] : K[20];
338
assign K3[22] = decryptH ? K[4]  : K[53];
339
assign K3[23] = decryptH ? K[12] : K[4] ;
340
assign K3[24] = decryptH ? K[17] : K[41];
341
assign K3[25] = decryptH ? K[8]  : K[2] ;
342
assign K3[26] = decryptH ? K[30] : K[52];
343
assign K3[27] = decryptH ? K[52] : K[42];
344
assign K3[28] = decryptH ? K[35] : K[29];
345
assign K3[29] = decryptH ? K[50] : K[44];
346
assign K3[30] = decryptH ? K[51] : K[14];
347
assign K3[31] = decryptH ? K[45] : K[35];
348
assign K3[32] = decryptH ? K[1]  : K[50];
349
assign K3[33] = decryptH ? K[23] : K[45];
350
assign K3[34] = decryptH ? K[36] : K[30];
351
assign K3[35] = decryptH ? K[7]  : K[1] ;
352
assign K3[36] = decryptH ? K[2]  : K[51];
353
assign K3[37] = decryptH ? K[29] : K[23];
354
assign K3[38] = decryptH ? K[9]  : K[31];
355
assign K3[39] = decryptH ? K[49] : K[43];
356
assign K3[40] = decryptH ? K[31] : K[21];
357
assign K3[41] = decryptH ? K[14] : K[8] ;
358
assign K3[42] = decryptH ? K[37] : K[0] ;
359
assign K3[43] = decryptH ? K[43] : K[37];
360
assign K3[44] = decryptH ? K[15] : K[9] ;
361
assign K3[45] = decryptH ? K[16] : K[38];
362
assign K3[46] = decryptH ? K[28] : K[22];
363
assign K3[47] = decryptH ? K[38] : K[28];
364
assign K3[48] = decryptH ? K[0]  : K[49];
365 5 rudi
 
366 8 rudi
assign K2[1]  = decryptH ? K[33] : K[54];
367
assign K2[2]  = decryptH ? K[54] : K[18];
368
assign K2[3]  = decryptH ? K[12] : K[33];
369
assign K2[4]  = decryptH ? K[46] : K[10];
370
assign K2[5]  = decryptH ? K[24] : K[20];
371
assign K2[6]  = decryptH ? K[27] : K[48];
372
assign K2[7]  = decryptH ? K[13] : K[34];
373
assign K2[8]  = decryptH ? K[17] : K[13];
374
assign K2[9]  = decryptH ? K[40] : K[4] ;
375
assign K2[10] = decryptH ? K[34] : K[55];
376
assign K2[11] = decryptH ? K[25] : K[46];
377
assign K2[12] = decryptH ? K[5]  : K[26];
378
assign K2[13] = decryptH ? K[39] : K[3] ;
379
assign K2[14] = decryptH ? K[11] : K[32];
380
assign K2[15] = decryptH ? K[19] : K[40];
381
assign K2[16] = decryptH ? K[20] : K[41];
382
assign K2[17] = decryptH ? K[3]  : K[24];
383
assign K2[18] = decryptH ? K[48] : K[12];
384
assign K2[19] = decryptH ? K[47] : K[11];
385
assign K2[20] = decryptH ? K[41] : K[5] ;
386
assign K2[21] = decryptH ? K[10] : K[6] ;
387
assign K2[22] = decryptH ? K[18] : K[39];
388
assign K2[23] = decryptH ? K[26] : K[47];
389
assign K2[24] = decryptH ? K[6]  : K[27];
390
assign K2[25] = decryptH ? K[22] : K[43];
391
assign K2[26] = decryptH ? K[44] : K[38];
392
assign K2[27] = decryptH ? K[7]  : K[28];
393
assign K2[28] = decryptH ? K[49] : K[15];
394
assign K2[29] = decryptH ? K[9]  : K[30];
395
assign K2[30] = decryptH ? K[38] : K[0] ;
396
assign K2[31] = decryptH ? K[0]  : K[21];
397
assign K2[32] = decryptH ? K[15] : K[36];
398
assign K2[33] = decryptH ? K[37] : K[31];
399
assign K2[34] = decryptH ? K[50] : K[16];
400
assign K2[35] = decryptH ? K[21] : K[42];
401
assign K2[36] = decryptH ? K[16] : K[37];
402
assign K2[37] = decryptH ? K[43] : K[9] ;
403
assign K2[38] = decryptH ? K[23] : K[44];
404
assign K2[39] = decryptH ? K[8]  : K[29];
405
assign K2[40] = decryptH ? K[45] : K[7] ;
406
assign K2[41] = decryptH ? K[28] : K[49];
407
assign K2[42] = decryptH ? K[51] : K[45];
408
assign K2[43] = decryptH ? K[2]  : K[23];
409
assign K2[44] = decryptH ? K[29] : K[50];
410
assign K2[45] = decryptH ? K[30] : K[51];
411
assign K2[46] = decryptH ? K[42] : K[8] ;
412
assign K2[47] = decryptH ? K[52] : K[14];
413
assign K2[48] = decryptH ? K[14] : K[35];
414 5 rudi
 
415 8 rudi
assign K1[1]  = decryptH ? K[40] : K[47];
416
assign K1[2]  = decryptH ? K[4]  : K[11];
417
assign K1[3]  = decryptH ? K[19] : K[26];
418
assign K1[4]  = decryptH ? K[53] : K[3] ;
419
assign K1[5]  = decryptH ? K[6]  : K[13];
420
assign K1[6]  = decryptH ? K[34] : K[41];
421
assign K1[7]  = decryptH ? K[20] : K[27];
422
assign K1[8]  = decryptH ? K[24] : K[6] ;
423
assign K1[9]  = decryptH ? K[47] : K[54];
424
assign K1[10] = decryptH ? K[41] : K[48];
425
assign K1[11] = decryptH ? K[32] : K[39];
426
assign K1[12] = decryptH ? K[12] : K[19];
427
assign K1[13] = decryptH ? K[46] : K[53];
428
assign K1[14] = decryptH ? K[18] : K[25];
429
assign K1[15] = decryptH ? K[26] : K[33];
430
assign K1[16] = decryptH ? K[27] : K[34];
431
assign K1[17] = decryptH ? K[10] : K[17];
432
assign K1[18] = decryptH ? K[55] : K[5] ;
433
assign K1[19] = decryptH ? K[54] : K[4] ;
434
assign K1[20] = decryptH ? K[48] : K[55];
435
assign K1[21] = decryptH ? K[17] : K[24];
436
assign K1[22] = decryptH ? K[25] : K[32];
437
assign K1[23] = decryptH ? K[33] : K[40];
438
assign K1[24] = decryptH ? K[13] : K[20];
439
assign K1[25] = decryptH ? K[29] : K[36];
440
assign K1[26] = decryptH ? K[51] : K[31];
441
assign K1[27] = decryptH ? K[14] : K[21];
442
assign K1[28] = decryptH ? K[1]  : K[8] ;
443
assign K1[29] = decryptH ? K[16] : K[23];
444
assign K1[30] = decryptH ? K[45] : K[52];
445
assign K1[31] = decryptH ? K[7]  : K[14];
446
assign K1[32] = decryptH ? K[22] : K[29];
447
assign K1[33] = decryptH ? K[44] : K[51];
448
assign K1[34] = decryptH ? K[2]  : K[9] ;
449
assign K1[35] = decryptH ? K[28] : K[35];
450
assign K1[36] = decryptH ? K[23] : K[30];
451
assign K1[37] = decryptH ? K[50] : K[2] ;
452
assign K1[38] = decryptH ? K[30] : K[37];
453
assign K1[39] = decryptH ? K[15] : K[22];
454
assign K1[40] = decryptH ? K[52] : K[0] ;
455
assign K1[41] = decryptH ? K[35] : K[42];
456
assign K1[42] = decryptH ? K[31] : K[38];
457
assign K1[43] = decryptH ? K[9]  : K[16];
458
assign K1[44] = decryptH ? K[36] : K[43];
459
assign K1[45] = decryptH ? K[37] : K[44];
460
assign K1[46] = decryptH ? K[49] : K[1] ;
461
assign K1[47] = decryptH ? K[0]  : K[7] ;
462
assign K1[48] = decryptH ? K[21] : K[28];
463 5 rudi
 
464
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.