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

Subversion Repositories tiny_aes

[/] [tiny_aes/] [trunk/] [rtl/] [table.v] - Blame information for rev 2

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 homer.hsin
/*
2
 * Copyright 2012, Homer Hsing <homer.hsing@gmail.com>
3
 *
4
 * Licensed under the Apache License, Version 2.0 (the "License");
5
 * you may not use this file except in compliance with the License.
6
 * You may obtain a copy of the License at
7
 *
8
 * http://www.apache.org/licenses/LICENSE-2.0
9
 *
10
 * Unless required by applicable law or agreed to in writing, software
11
 * distributed under the License is distributed on an "AS IS" BASIS,
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 * See the License for the specific language governing permissions and
14
 * limitations under the License.
15
 */
16
 
17
module table_lookup (clk, state, p0, p1, p2, p3);
18
    input clk;
19
    input [31:0] state;
20
    output [31:0] p0, p1, p2, p3;
21
    wire [7:0] b0, b1, b2, b3;
22
 
23
    assign {b0, b1, b2, b3} = state;
24
    T
25
        t0 (clk, b0, {p0[23:0], p0[31:24]}),
26
        t1 (clk, b1, {p1[15:0], p1[31:16]}),
27
        t2 (clk, b2, {p2[7:0],  p2[31:8]} ),
28
        t3 (clk, b3, p3);
29
endmodule
30
 
31
/* substitue four bytes in a word */
32
module S4 (clk, in, out);
33
    input clk;
34
    input [31:0] in;
35
    output [31:0] out;
36
 
37
    S
38
        S_0 (clk, in[31:24], out[31:24]),
39
        S_1 (clk, in[23:16], out[23:16]),
40
        S_2 (clk, in[15:8],  out[15:8] ),
41
        S_3 (clk, in[7:0],   out[7:0]  );
42
endmodule
43
 
44
/* S_box, S_box, S_box*(x+1), S_box*x */
45
module T (clk, in, out);
46
    input clk;
47
    input [7:0] in;
48
    output reg [31:0] out;
49
 
50
    always @ (posedge clk)
51
    case (in)
52
    8'h00: out <= 32'h6363a5c6;
53
    8'h01: out <= 32'h7c7c84f8;
54
    8'h02: out <= 32'h777799ee;
55
    8'h03: out <= 32'h7b7b8df6;
56
    8'h04: out <= 32'hf2f20dff;
57
    8'h05: out <= 32'h6b6bbdd6;
58
    8'h06: out <= 32'h6f6fb1de;
59
    8'h07: out <= 32'hc5c55491;
60
    8'h08: out <= 32'h30305060;
61
    8'h09: out <= 32'h01010302;
62
    8'h0a: out <= 32'h6767a9ce;
63
    8'h0b: out <= 32'h2b2b7d56;
64
    8'h0c: out <= 32'hfefe19e7;
65
    8'h0d: out <= 32'hd7d762b5;
66
    8'h0e: out <= 32'hababe64d;
67
    8'h0f: out <= 32'h76769aec;
68
    8'h10: out <= 32'hcaca458f;
69
    8'h11: out <= 32'h82829d1f;
70
    8'h12: out <= 32'hc9c94089;
71
    8'h13: out <= 32'h7d7d87fa;
72
    8'h14: out <= 32'hfafa15ef;
73
    8'h15: out <= 32'h5959ebb2;
74
    8'h16: out <= 32'h4747c98e;
75
    8'h17: out <= 32'hf0f00bfb;
76
    8'h18: out <= 32'hadadec41;
77
    8'h19: out <= 32'hd4d467b3;
78
    8'h1a: out <= 32'ha2a2fd5f;
79
    8'h1b: out <= 32'hafafea45;
80
    8'h1c: out <= 32'h9c9cbf23;
81
    8'h1d: out <= 32'ha4a4f753;
82
    8'h1e: out <= 32'h727296e4;
83
    8'h1f: out <= 32'hc0c05b9b;
84
    8'h20: out <= 32'hb7b7c275;
85
    8'h21: out <= 32'hfdfd1ce1;
86
    8'h22: out <= 32'h9393ae3d;
87
    8'h23: out <= 32'h26266a4c;
88
    8'h24: out <= 32'h36365a6c;
89
    8'h25: out <= 32'h3f3f417e;
90
    8'h26: out <= 32'hf7f702f5;
91
    8'h27: out <= 32'hcccc4f83;
92
    8'h28: out <= 32'h34345c68;
93
    8'h29: out <= 32'ha5a5f451;
94
    8'h2a: out <= 32'he5e534d1;
95
    8'h2b: out <= 32'hf1f108f9;
96
    8'h2c: out <= 32'h717193e2;
97
    8'h2d: out <= 32'hd8d873ab;
98
    8'h2e: out <= 32'h31315362;
99
    8'h2f: out <= 32'h15153f2a;
100
    8'h30: out <= 32'h04040c08;
101
    8'h31: out <= 32'hc7c75295;
102
    8'h32: out <= 32'h23236546;
103
    8'h33: out <= 32'hc3c35e9d;
104
    8'h34: out <= 32'h18182830;
105
    8'h35: out <= 32'h9696a137;
106
    8'h36: out <= 32'h05050f0a;
107
    8'h37: out <= 32'h9a9ab52f;
108
    8'h38: out <= 32'h0707090e;
109
    8'h39: out <= 32'h12123624;
110
    8'h3a: out <= 32'h80809b1b;
111
    8'h3b: out <= 32'he2e23ddf;
112
    8'h3c: out <= 32'hebeb26cd;
113
    8'h3d: out <= 32'h2727694e;
114
    8'h3e: out <= 32'hb2b2cd7f;
115
    8'h3f: out <= 32'h75759fea;
116
    8'h40: out <= 32'h09091b12;
117
    8'h41: out <= 32'h83839e1d;
118
    8'h42: out <= 32'h2c2c7458;
119
    8'h43: out <= 32'h1a1a2e34;
120
    8'h44: out <= 32'h1b1b2d36;
121
    8'h45: out <= 32'h6e6eb2dc;
122
    8'h46: out <= 32'h5a5aeeb4;
123
    8'h47: out <= 32'ha0a0fb5b;
124
    8'h48: out <= 32'h5252f6a4;
125
    8'h49: out <= 32'h3b3b4d76;
126
    8'h4a: out <= 32'hd6d661b7;
127
    8'h4b: out <= 32'hb3b3ce7d;
128
    8'h4c: out <= 32'h29297b52;
129
    8'h4d: out <= 32'he3e33edd;
130
    8'h4e: out <= 32'h2f2f715e;
131
    8'h4f: out <= 32'h84849713;
132
    8'h50: out <= 32'h5353f5a6;
133
    8'h51: out <= 32'hd1d168b9;
134
    8'h52: out <= 32'h00000000;
135
    8'h53: out <= 32'heded2cc1;
136
    8'h54: out <= 32'h20206040;
137
    8'h55: out <= 32'hfcfc1fe3;
138
    8'h56: out <= 32'hb1b1c879;
139
    8'h57: out <= 32'h5b5bedb6;
140
    8'h58: out <= 32'h6a6abed4;
141
    8'h59: out <= 32'hcbcb468d;
142
    8'h5a: out <= 32'hbebed967;
143
    8'h5b: out <= 32'h39394b72;
144
    8'h5c: out <= 32'h4a4ade94;
145
    8'h5d: out <= 32'h4c4cd498;
146
    8'h5e: out <= 32'h5858e8b0;
147
    8'h5f: out <= 32'hcfcf4a85;
148
    8'h60: out <= 32'hd0d06bbb;
149
    8'h61: out <= 32'hefef2ac5;
150
    8'h62: out <= 32'haaaae54f;
151
    8'h63: out <= 32'hfbfb16ed;
152
    8'h64: out <= 32'h4343c586;
153
    8'h65: out <= 32'h4d4dd79a;
154
    8'h66: out <= 32'h33335566;
155
    8'h67: out <= 32'h85859411;
156
    8'h68: out <= 32'h4545cf8a;
157
    8'h69: out <= 32'hf9f910e9;
158
    8'h6a: out <= 32'h02020604;
159
    8'h6b: out <= 32'h7f7f81fe;
160
    8'h6c: out <= 32'h5050f0a0;
161
    8'h6d: out <= 32'h3c3c4478;
162
    8'h6e: out <= 32'h9f9fba25;
163
    8'h6f: out <= 32'ha8a8e34b;
164
    8'h70: out <= 32'h5151f3a2;
165
    8'h71: out <= 32'ha3a3fe5d;
166
    8'h72: out <= 32'h4040c080;
167
    8'h73: out <= 32'h8f8f8a05;
168
    8'h74: out <= 32'h9292ad3f;
169
    8'h75: out <= 32'h9d9dbc21;
170
    8'h76: out <= 32'h38384870;
171
    8'h77: out <= 32'hf5f504f1;
172
    8'h78: out <= 32'hbcbcdf63;
173
    8'h79: out <= 32'hb6b6c177;
174
    8'h7a: out <= 32'hdada75af;
175
    8'h7b: out <= 32'h21216342;
176
    8'h7c: out <= 32'h10103020;
177
    8'h7d: out <= 32'hffff1ae5;
178
    8'h7e: out <= 32'hf3f30efd;
179
    8'h7f: out <= 32'hd2d26dbf;
180
    8'h80: out <= 32'hcdcd4c81;
181
    8'h81: out <= 32'h0c0c1418;
182
    8'h82: out <= 32'h13133526;
183
    8'h83: out <= 32'hecec2fc3;
184
    8'h84: out <= 32'h5f5fe1be;
185
    8'h85: out <= 32'h9797a235;
186
    8'h86: out <= 32'h4444cc88;
187
    8'h87: out <= 32'h1717392e;
188
    8'h88: out <= 32'hc4c45793;
189
    8'h89: out <= 32'ha7a7f255;
190
    8'h8a: out <= 32'h7e7e82fc;
191
    8'h8b: out <= 32'h3d3d477a;
192
    8'h8c: out <= 32'h6464acc8;
193
    8'h8d: out <= 32'h5d5de7ba;
194
    8'h8e: out <= 32'h19192b32;
195
    8'h8f: out <= 32'h737395e6;
196
    8'h90: out <= 32'h6060a0c0;
197
    8'h91: out <= 32'h81819819;
198
    8'h92: out <= 32'h4f4fd19e;
199
    8'h93: out <= 32'hdcdc7fa3;
200
    8'h94: out <= 32'h22226644;
201
    8'h95: out <= 32'h2a2a7e54;
202
    8'h96: out <= 32'h9090ab3b;
203
    8'h97: out <= 32'h8888830b;
204
    8'h98: out <= 32'h4646ca8c;
205
    8'h99: out <= 32'heeee29c7;
206
    8'h9a: out <= 32'hb8b8d36b;
207
    8'h9b: out <= 32'h14143c28;
208
    8'h9c: out <= 32'hdede79a7;
209
    8'h9d: out <= 32'h5e5ee2bc;
210
    8'h9e: out <= 32'h0b0b1d16;
211
    8'h9f: out <= 32'hdbdb76ad;
212
    8'ha0: out <= 32'he0e03bdb;
213
    8'ha1: out <= 32'h32325664;
214
    8'ha2: out <= 32'h3a3a4e74;
215
    8'ha3: out <= 32'h0a0a1e14;
216
    8'ha4: out <= 32'h4949db92;
217
    8'ha5: out <= 32'h06060a0c;
218
    8'ha6: out <= 32'h24246c48;
219
    8'ha7: out <= 32'h5c5ce4b8;
220
    8'ha8: out <= 32'hc2c25d9f;
221
    8'ha9: out <= 32'hd3d36ebd;
222
    8'haa: out <= 32'hacacef43;
223
    8'hab: out <= 32'h6262a6c4;
224
    8'hac: out <= 32'h9191a839;
225
    8'had: out <= 32'h9595a431;
226
    8'hae: out <= 32'he4e437d3;
227
    8'haf: out <= 32'h79798bf2;
228
    8'hb0: out <= 32'he7e732d5;
229
    8'hb1: out <= 32'hc8c8438b;
230
    8'hb2: out <= 32'h3737596e;
231
    8'hb3: out <= 32'h6d6db7da;
232
    8'hb4: out <= 32'h8d8d8c01;
233
    8'hb5: out <= 32'hd5d564b1;
234
    8'hb6: out <= 32'h4e4ed29c;
235
    8'hb7: out <= 32'ha9a9e049;
236
    8'hb8: out <= 32'h6c6cb4d8;
237
    8'hb9: out <= 32'h5656faac;
238
    8'hba: out <= 32'hf4f407f3;
239
    8'hbb: out <= 32'heaea25cf;
240
    8'hbc: out <= 32'h6565afca;
241
    8'hbd: out <= 32'h7a7a8ef4;
242
    8'hbe: out <= 32'haeaee947;
243
    8'hbf: out <= 32'h08081810;
244
    8'hc0: out <= 32'hbabad56f;
245
    8'hc1: out <= 32'h787888f0;
246
    8'hc2: out <= 32'h25256f4a;
247
    8'hc3: out <= 32'h2e2e725c;
248
    8'hc4: out <= 32'h1c1c2438;
249
    8'hc5: out <= 32'ha6a6f157;
250
    8'hc6: out <= 32'hb4b4c773;
251
    8'hc7: out <= 32'hc6c65197;
252
    8'hc8: out <= 32'he8e823cb;
253
    8'hc9: out <= 32'hdddd7ca1;
254
    8'hca: out <= 32'h74749ce8;
255
    8'hcb: out <= 32'h1f1f213e;
256
    8'hcc: out <= 32'h4b4bdd96;
257
    8'hcd: out <= 32'hbdbddc61;
258
    8'hce: out <= 32'h8b8b860d;
259
    8'hcf: out <= 32'h8a8a850f;
260
    8'hd0: out <= 32'h707090e0;
261
    8'hd1: out <= 32'h3e3e427c;
262
    8'hd2: out <= 32'hb5b5c471;
263
    8'hd3: out <= 32'h6666aacc;
264
    8'hd4: out <= 32'h4848d890;
265
    8'hd5: out <= 32'h03030506;
266
    8'hd6: out <= 32'hf6f601f7;
267
    8'hd7: out <= 32'h0e0e121c;
268
    8'hd8: out <= 32'h6161a3c2;
269
    8'hd9: out <= 32'h35355f6a;
270
    8'hda: out <= 32'h5757f9ae;
271
    8'hdb: out <= 32'hb9b9d069;
272
    8'hdc: out <= 32'h86869117;
273
    8'hdd: out <= 32'hc1c15899;
274
    8'hde: out <= 32'h1d1d273a;
275
    8'hdf: out <= 32'h9e9eb927;
276
    8'he0: out <= 32'he1e138d9;
277
    8'he1: out <= 32'hf8f813eb;
278
    8'he2: out <= 32'h9898b32b;
279
    8'he3: out <= 32'h11113322;
280
    8'he4: out <= 32'h6969bbd2;
281
    8'he5: out <= 32'hd9d970a9;
282
    8'he6: out <= 32'h8e8e8907;
283
    8'he7: out <= 32'h9494a733;
284
    8'he8: out <= 32'h9b9bb62d;
285
    8'he9: out <= 32'h1e1e223c;
286
    8'hea: out <= 32'h87879215;
287
    8'heb: out <= 32'he9e920c9;
288
    8'hec: out <= 32'hcece4987;
289
    8'hed: out <= 32'h5555ffaa;
290
    8'hee: out <= 32'h28287850;
291
    8'hef: out <= 32'hdfdf7aa5;
292
    8'hf0: out <= 32'h8c8c8f03;
293
    8'hf1: out <= 32'ha1a1f859;
294
    8'hf2: out <= 32'h89898009;
295
    8'hf3: out <= 32'h0d0d171a;
296
    8'hf4: out <= 32'hbfbfda65;
297
    8'hf5: out <= 32'he6e631d7;
298
    8'hf6: out <= 32'h4242c684;
299
    8'hf7: out <= 32'h6868b8d0;
300
    8'hf8: out <= 32'h4141c382;
301
    8'hf9: out <= 32'h9999b029;
302
    8'hfa: out <= 32'h2d2d775a;
303
    8'hfb: out <= 32'h0f0f111e;
304
    8'hfc: out <= 32'hb0b0cb7b;
305
    8'hfd: out <= 32'h5454fca8;
306
    8'hfe: out <= 32'hbbbbd66d;
307
    8'hff: out <= 32'h16163a2c;
308
    endcase
309
endmodule
310
 
311
/* S box */
312
module S (clk, in, out);
313
    input clk;
314
    input [7:0] in;
315
    output reg [7:0] out;
316
 
317
    always @ (posedge clk)
318
    case (in)
319
    8'h00: out <= 8'h63;
320
    8'h01: out <= 8'h7c;
321
    8'h02: out <= 8'h77;
322
    8'h03: out <= 8'h7b;
323
    8'h04: out <= 8'hf2;
324
    8'h05: out <= 8'h6b;
325
    8'h06: out <= 8'h6f;
326
    8'h07: out <= 8'hc5;
327
    8'h08: out <= 8'h30;
328
    8'h09: out <= 8'h01;
329
    8'h0a: out <= 8'h67;
330
    8'h0b: out <= 8'h2b;
331
    8'h0c: out <= 8'hfe;
332
    8'h0d: out <= 8'hd7;
333
    8'h0e: out <= 8'hab;
334
    8'h0f: out <= 8'h76;
335
    8'h10: out <= 8'hca;
336
    8'h11: out <= 8'h82;
337
    8'h12: out <= 8'hc9;
338
    8'h13: out <= 8'h7d;
339
    8'h14: out <= 8'hfa;
340
    8'h15: out <= 8'h59;
341
    8'h16: out <= 8'h47;
342
    8'h17: out <= 8'hf0;
343
    8'h18: out <= 8'had;
344
    8'h19: out <= 8'hd4;
345
    8'h1a: out <= 8'ha2;
346
    8'h1b: out <= 8'haf;
347
    8'h1c: out <= 8'h9c;
348
    8'h1d: out <= 8'ha4;
349
    8'h1e: out <= 8'h72;
350
    8'h1f: out <= 8'hc0;
351
    8'h20: out <= 8'hb7;
352
    8'h21: out <= 8'hfd;
353
    8'h22: out <= 8'h93;
354
    8'h23: out <= 8'h26;
355
    8'h24: out <= 8'h36;
356
    8'h25: out <= 8'h3f;
357
    8'h26: out <= 8'hf7;
358
    8'h27: out <= 8'hcc;
359
    8'h28: out <= 8'h34;
360
    8'h29: out <= 8'ha5;
361
    8'h2a: out <= 8'he5;
362
    8'h2b: out <= 8'hf1;
363
    8'h2c: out <= 8'h71;
364
    8'h2d: out <= 8'hd8;
365
    8'h2e: out <= 8'h31;
366
    8'h2f: out <= 8'h15;
367
    8'h30: out <= 8'h04;
368
    8'h31: out <= 8'hc7;
369
    8'h32: out <= 8'h23;
370
    8'h33: out <= 8'hc3;
371
    8'h34: out <= 8'h18;
372
    8'h35: out <= 8'h96;
373
    8'h36: out <= 8'h05;
374
    8'h37: out <= 8'h9a;
375
    8'h38: out <= 8'h07;
376
    8'h39: out <= 8'h12;
377
    8'h3a: out <= 8'h80;
378
    8'h3b: out <= 8'he2;
379
    8'h3c: out <= 8'heb;
380
    8'h3d: out <= 8'h27;
381
    8'h3e: out <= 8'hb2;
382
    8'h3f: out <= 8'h75;
383
    8'h40: out <= 8'h09;
384
    8'h41: out <= 8'h83;
385
    8'h42: out <= 8'h2c;
386
    8'h43: out <= 8'h1a;
387
    8'h44: out <= 8'h1b;
388
    8'h45: out <= 8'h6e;
389
    8'h46: out <= 8'h5a;
390
    8'h47: out <= 8'ha0;
391
    8'h48: out <= 8'h52;
392
    8'h49: out <= 8'h3b;
393
    8'h4a: out <= 8'hd6;
394
    8'h4b: out <= 8'hb3;
395
    8'h4c: out <= 8'h29;
396
    8'h4d: out <= 8'he3;
397
    8'h4e: out <= 8'h2f;
398
    8'h4f: out <= 8'h84;
399
    8'h50: out <= 8'h53;
400
    8'h51: out <= 8'hd1;
401
    8'h52: out <= 8'h00;
402
    8'h53: out <= 8'hed;
403
    8'h54: out <= 8'h20;
404
    8'h55: out <= 8'hfc;
405
    8'h56: out <= 8'hb1;
406
    8'h57: out <= 8'h5b;
407
    8'h58: out <= 8'h6a;
408
    8'h59: out <= 8'hcb;
409
    8'h5a: out <= 8'hbe;
410
    8'h5b: out <= 8'h39;
411
    8'h5c: out <= 8'h4a;
412
    8'h5d: out <= 8'h4c;
413
    8'h5e: out <= 8'h58;
414
    8'h5f: out <= 8'hcf;
415
    8'h60: out <= 8'hd0;
416
    8'h61: out <= 8'hef;
417
    8'h62: out <= 8'haa;
418
    8'h63: out <= 8'hfb;
419
    8'h64: out <= 8'h43;
420
    8'h65: out <= 8'h4d;
421
    8'h66: out <= 8'h33;
422
    8'h67: out <= 8'h85;
423
    8'h68: out <= 8'h45;
424
    8'h69: out <= 8'hf9;
425
    8'h6a: out <= 8'h02;
426
    8'h6b: out <= 8'h7f;
427
    8'h6c: out <= 8'h50;
428
    8'h6d: out <= 8'h3c;
429
    8'h6e: out <= 8'h9f;
430
    8'h6f: out <= 8'ha8;
431
    8'h70: out <= 8'h51;
432
    8'h71: out <= 8'ha3;
433
    8'h72: out <= 8'h40;
434
    8'h73: out <= 8'h8f;
435
    8'h74: out <= 8'h92;
436
    8'h75: out <= 8'h9d;
437
    8'h76: out <= 8'h38;
438
    8'h77: out <= 8'hf5;
439
    8'h78: out <= 8'hbc;
440
    8'h79: out <= 8'hb6;
441
    8'h7a: out <= 8'hda;
442
    8'h7b: out <= 8'h21;
443
    8'h7c: out <= 8'h10;
444
    8'h7d: out <= 8'hff;
445
    8'h7e: out <= 8'hf3;
446
    8'h7f: out <= 8'hd2;
447
    8'h80: out <= 8'hcd;
448
    8'h81: out <= 8'h0c;
449
    8'h82: out <= 8'h13;
450
    8'h83: out <= 8'hec;
451
    8'h84: out <= 8'h5f;
452
    8'h85: out <= 8'h97;
453
    8'h86: out <= 8'h44;
454
    8'h87: out <= 8'h17;
455
    8'h88: out <= 8'hc4;
456
    8'h89: out <= 8'ha7;
457
    8'h8a: out <= 8'h7e;
458
    8'h8b: out <= 8'h3d;
459
    8'h8c: out <= 8'h64;
460
    8'h8d: out <= 8'h5d;
461
    8'h8e: out <= 8'h19;
462
    8'h8f: out <= 8'h73;
463
    8'h90: out <= 8'h60;
464
    8'h91: out <= 8'h81;
465
    8'h92: out <= 8'h4f;
466
    8'h93: out <= 8'hdc;
467
    8'h94: out <= 8'h22;
468
    8'h95: out <= 8'h2a;
469
    8'h96: out <= 8'h90;
470
    8'h97: out <= 8'h88;
471
    8'h98: out <= 8'h46;
472
    8'h99: out <= 8'hee;
473
    8'h9a: out <= 8'hb8;
474
    8'h9b: out <= 8'h14;
475
    8'h9c: out <= 8'hde;
476
    8'h9d: out <= 8'h5e;
477
    8'h9e: out <= 8'h0b;
478
    8'h9f: out <= 8'hdb;
479
    8'ha0: out <= 8'he0;
480
    8'ha1: out <= 8'h32;
481
    8'ha2: out <= 8'h3a;
482
    8'ha3: out <= 8'h0a;
483
    8'ha4: out <= 8'h49;
484
    8'ha5: out <= 8'h06;
485
    8'ha6: out <= 8'h24;
486
    8'ha7: out <= 8'h5c;
487
    8'ha8: out <= 8'hc2;
488
    8'ha9: out <= 8'hd3;
489
    8'haa: out <= 8'hac;
490
    8'hab: out <= 8'h62;
491
    8'hac: out <= 8'h91;
492
    8'had: out <= 8'h95;
493
    8'hae: out <= 8'he4;
494
    8'haf: out <= 8'h79;
495
    8'hb0: out <= 8'he7;
496
    8'hb1: out <= 8'hc8;
497
    8'hb2: out <= 8'h37;
498
    8'hb3: out <= 8'h6d;
499
    8'hb4: out <= 8'h8d;
500
    8'hb5: out <= 8'hd5;
501
    8'hb6: out <= 8'h4e;
502
    8'hb7: out <= 8'ha9;
503
    8'hb8: out <= 8'h6c;
504
    8'hb9: out <= 8'h56;
505
    8'hba: out <= 8'hf4;
506
    8'hbb: out <= 8'hea;
507
    8'hbc: out <= 8'h65;
508
    8'hbd: out <= 8'h7a;
509
    8'hbe: out <= 8'hae;
510
    8'hbf: out <= 8'h08;
511
    8'hc0: out <= 8'hba;
512
    8'hc1: out <= 8'h78;
513
    8'hc2: out <= 8'h25;
514
    8'hc3: out <= 8'h2e;
515
    8'hc4: out <= 8'h1c;
516
    8'hc5: out <= 8'ha6;
517
    8'hc6: out <= 8'hb4;
518
    8'hc7: out <= 8'hc6;
519
    8'hc8: out <= 8'he8;
520
    8'hc9: out <= 8'hdd;
521
    8'hca: out <= 8'h74;
522
    8'hcb: out <= 8'h1f;
523
    8'hcc: out <= 8'h4b;
524
    8'hcd: out <= 8'hbd;
525
    8'hce: out <= 8'h8b;
526
    8'hcf: out <= 8'h8a;
527
    8'hd0: out <= 8'h70;
528
    8'hd1: out <= 8'h3e;
529
    8'hd2: out <= 8'hb5;
530
    8'hd3: out <= 8'h66;
531
    8'hd4: out <= 8'h48;
532
    8'hd5: out <= 8'h03;
533
    8'hd6: out <= 8'hf6;
534
    8'hd7: out <= 8'h0e;
535
    8'hd8: out <= 8'h61;
536
    8'hd9: out <= 8'h35;
537
    8'hda: out <= 8'h57;
538
    8'hdb: out <= 8'hb9;
539
    8'hdc: out <= 8'h86;
540
    8'hdd: out <= 8'hc1;
541
    8'hde: out <= 8'h1d;
542
    8'hdf: out <= 8'h9e;
543
    8'he0: out <= 8'he1;
544
    8'he1: out <= 8'hf8;
545
    8'he2: out <= 8'h98;
546
    8'he3: out <= 8'h11;
547
    8'he4: out <= 8'h69;
548
    8'he5: out <= 8'hd9;
549
    8'he6: out <= 8'h8e;
550
    8'he7: out <= 8'h94;
551
    8'he8: out <= 8'h9b;
552
    8'he9: out <= 8'h1e;
553
    8'hea: out <= 8'h87;
554
    8'heb: out <= 8'he9;
555
    8'hec: out <= 8'hce;
556
    8'hed: out <= 8'h55;
557
    8'hee: out <= 8'h28;
558
    8'hef: out <= 8'hdf;
559
    8'hf0: out <= 8'h8c;
560
    8'hf1: out <= 8'ha1;
561
    8'hf2: out <= 8'h89;
562
    8'hf3: out <= 8'h0d;
563
    8'hf4: out <= 8'hbf;
564
    8'hf5: out <= 8'he6;
565
    8'hf6: out <= 8'h42;
566
    8'hf7: out <= 8'h68;
567
    8'hf8: out <= 8'h41;
568
    8'hf9: out <= 8'h99;
569
    8'hfa: out <= 8'h2d;
570
    8'hfb: out <= 8'h0f;
571
    8'hfc: out <= 8'hb0;
572
    8'hfd: out <= 8'h54;
573
    8'hfe: out <= 8'hbb;
574
    8'hff: out <= 8'h16;
575
    endcase
576
endmodule

powered by: WebSVN 2.1.0

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