OpenCores
URL https://opencores.org/ocsvn/camellia-vhdl/camellia-vhdl/trunk

Subversion Repositories camellia-vhdl

[/] [camellia-vhdl/] [trunk/] [pipelining/] [sbox1.vhd] - Blame information for rev 2

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

Line No. Rev Author Line
1 2 pfulgoni
 
2
--------------------------------------------------------------------------------
3
-- Designer:      Paolo Fulgoni <pfulgoni@opencores.org>
4
--
5
-- Create Date:   09/14/2007
6
-- Last Update:   10/15/2007
7
-- Project Name:  camellia-vhdl
8
-- Description:   Dual-port SBOX1
9
--
10
-- Copyright (C) 2007  Paolo Fulgoni
11
-- This file is part of camellia-vhdl.
12
-- camellia-vhdl is free software; you can redistribute it and/or modify
13
-- it under the terms of the GNU General Public License as published by
14
-- the Free Software Foundation; either version 3 of the License, or
15
-- (at your option) any later version.
16
-- camellia-vhdl is distributed in the hope that it will be useful,
17
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
18
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
-- GNU General Public License for more details.
20
-- You should have received a copy of the GNU General Public License
21
-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
22
--
23
-- The Camellia cipher algorithm is 128 bit cipher developed by NTT and
24
-- Mitsubishi Electric researchers.
25
-- http://info.isl.ntt.co.jp/crypt/eng/camellia/
26
--------------------------------------------------------------------------------
27
library IEEE;
28
use IEEE.STD_LOGIC_1164.all;
29
 
30
 
31
entity SBOX1 is
32
    port  (
33
            addra : IN STD_LOGIC_VECTOR(0 to 7);
34
            addrb : IN STD_LOGIC_VECTOR(0 to 7);
35
            clka  : IN STD_LOGIC;
36
            clkb  : IN STD_LOGIC;
37
            douta : OUT STD_LOGIC_VECTOR(0 to 7);
38
            doutb : OUT STD_LOGIC_VECTOR(0 to 7);
39
            ena   : IN STD_LOGIC;
40
            enb   : IN STD_LOGIC
41
            );
42
end SBOX1;
43
 
44
architecture RTL of SBOX1 is
45
begin
46
 
47
    CHA : process(ena, clka)
48
    begin
49
 
50
        if (ena = '0') then
51
            douta <= (others=>'0');
52
        else
53
            if (clka'event and clka = '1') then -- rising clock edge
54
                case addra is
55
                    when X"00" =>
56
                        douta <= X"70";
57
                    when X"01" =>
58
                        douta <= X"82";
59
                    when X"02" =>
60
                        douta <= X"2C";
61
                    when X"03" =>
62
                        douta <= X"EC";
63
                    when X"04" =>
64
                        douta <= X"B3";
65
                    when X"05" =>
66
                        douta <= X"27";
67
                    when X"06" =>
68
                        douta <= X"C0";
69
                    when X"07" =>
70
                        douta <= X"E5";
71
                    when X"08" =>
72
                        douta <= X"E4";
73
                    when X"09" =>
74
                        douta <= X"85";
75
                    when X"0A" =>
76
                        douta <= X"57";
77
                    when X"0B" =>
78
                        douta <= X"35";
79
                    when X"0C" =>
80
                        douta <= X"EA";
81
                    when X"0D" =>
82
                        douta <= X"0C";
83
                    when X"0E" =>
84
                        douta <= X"AE";
85
                    when X"0F" =>
86
                        douta <= X"41";
87
                    when X"10" =>
88
                        douta <= X"23";
89
                    when X"11" =>
90
                        douta <= X"EF";
91
                    when X"12" =>
92
                        douta <= X"6B";
93
                    when X"13" =>
94
                        douta <= X"93";
95
                    when X"14" =>
96
                        douta <= X"45";
97
                    when X"15" =>
98
                        douta <= X"19";
99
                    when X"16" =>
100
                        douta <= X"A5";
101
                    when X"17" =>
102
                        douta <= X"21";
103
                    when X"18" =>
104
                        douta <= X"ED";
105
                    when X"19" =>
106
                        douta <= X"0E";
107
                    when X"1A" =>
108
                        douta <= X"4F";
109
                    when X"1B" =>
110
                        douta <= X"4E";
111
                    when X"1C" =>
112
                        douta <= X"1D";
113
                    when X"1D" =>
114
                        douta <= X"65";
115
                    when X"1E" =>
116
                        douta <= X"92";
117
                    when X"1F" =>
118
                        douta <= X"BD";
119
                    when X"20" =>
120
                        douta <= X"86";
121
                    when X"21" =>
122
                        douta <= X"B8";
123
                    when X"22" =>
124
                        douta <= X"AF";
125
                    when X"23" =>
126
                        douta <= X"8F";
127
                    when X"24" =>
128
                        douta <= X"7C";
129
                    when X"25" =>
130
                        douta <= X"EB";
131
                    when X"26" =>
132
                        douta <= X"1F";
133
                    when X"27" =>
134
                        douta <= X"CE";
135
                    when X"28" =>
136
                        douta <= X"3E";
137
                    when X"29" =>
138
                        douta <= X"30";
139
                    when X"2A" =>
140
                        douta <= X"DC";
141
                    when X"2B" =>
142
                        douta <= X"5F";
143
                    when X"2C" =>
144
                        douta <= X"5E";
145
                    when X"2D" =>
146
                        douta <= X"C5";
147
                    when X"2E" =>
148
                        douta <= X"0B";
149
                    when X"2F" =>
150
                        douta <= X"1A";
151
                    when X"30" =>
152
                        douta <= X"A6";
153
                    when X"31" =>
154
                        douta <= X"E1";
155
                    when X"32" =>
156
                        douta <= X"39";
157
                    when X"33" =>
158
                        douta <= X"CA";
159
                    when X"34" =>
160
                        douta <= X"D5";
161
                    when X"35" =>
162
                        douta <= X"47";
163
                    when X"36" =>
164
                        douta <= X"5D";
165
                    when X"37" =>
166
                        douta <= X"3D";
167
                    when X"38" =>
168
                        douta <= X"D9";
169
                    when X"39" =>
170
                        douta <= X"01";
171
                    when X"3A" =>
172
                        douta <= X"5A";
173
                    when X"3B" =>
174
                        douta <= X"D6";
175
                    when X"3C" =>
176
                        douta <= X"51";
177
                    when X"3D" =>
178
                        douta <= X"56";
179
                    when X"3E" =>
180
                        douta <= X"6C";
181
                    when X"3F" =>
182
                        douta <= X"4D";
183
                    when X"40" =>
184
                        douta <= X"8B";
185
                    when X"41" =>
186
                        douta <= X"0D";
187
                    when X"42" =>
188
                        douta <= X"9A";
189
                    when X"43" =>
190
                        douta <= X"66";
191
                    when X"44" =>
192
                        douta <= X"FB";
193
                    when X"45" =>
194
                        douta <= X"CC";
195
                    when X"46" =>
196
                        douta <= X"B0";
197
                    when X"47" =>
198
                        douta <= X"2D";
199
                    when X"48" =>
200
                        douta <= X"74";
201
                    when X"49" =>
202
                        douta <= X"12";
203
                    when X"4A" =>
204
                        douta <= X"2B";
205
                    when X"4B" =>
206
                        douta <= X"20";
207
                    when X"4C" =>
208
                        douta <= X"F0";
209
                    when X"4D" =>
210
                        douta <= X"B1";
211
                    when X"4E" =>
212
                        douta <= X"84";
213
                    when X"4F" =>
214
                        douta <= X"99";
215
                    when X"50" =>
216
                        douta <= X"DF";
217
                    when X"51" =>
218
                        douta <= X"4C";
219
                    when X"52" =>
220
                        douta <= X"CB";
221
                    when X"53" =>
222
                        douta <= X"C2";
223
                    when X"54" =>
224
                        douta <= X"34";
225
                    when X"55" =>
226
                        douta <= X"7E";
227
                    when X"56" =>
228
                        douta <= X"76";
229
                    when X"57" =>
230
                        douta <= X"05";
231
                    when X"58" =>
232
                        douta <= X"6D";
233
                    when X"59" =>
234
                        douta <= X"B7";
235
                    when X"5A" =>
236
                        douta <= X"A9";
237
                    when X"5B" =>
238
                        douta <= X"31";
239
                    when X"5C" =>
240
                        douta <= X"D1";
241
                    when X"5D" =>
242
                        douta <= X"17";
243
                    when X"5E" =>
244
                        douta <= X"04";
245
                    when X"5F" =>
246
                        douta <= X"D7";
247
                    when X"60" =>
248
                        douta <= X"14";
249
                    when X"61" =>
250
                        douta <= X"58";
251
                    when X"62" =>
252
                        douta <= X"3A";
253
                    when X"63" =>
254
                        douta <= X"61";
255
                    when X"64" =>
256
                        douta <= X"DE";
257
                    when X"65" =>
258
                        douta <= X"1B";
259
                    when X"66" =>
260
                        douta <= X"11";
261
                    when X"67" =>
262
                        douta <= X"1C";
263
                    when X"68" =>
264
                        douta <= X"32";
265
                    when X"69" =>
266
                        douta <= X"0F";
267
                    when X"6A" =>
268
                        douta <= X"9C";
269
                    when X"6B" =>
270
                        douta <= X"16";
271
                    when X"6C" =>
272
                        douta <= X"53";
273
                    when X"6D" =>
274
                        douta <= X"18";
275
                    when X"6E" =>
276
                        douta <= X"F2";
277
                    when X"6F" =>
278
                        douta <= X"22";
279
                    when X"70" =>
280
                        douta <= X"FE";
281
                    when X"71" =>
282
                        douta <= X"44";
283
                    when X"72" =>
284
                        douta <= X"CF";
285
                    when X"73" =>
286
                        douta <= X"B2";
287
                    when X"74" =>
288
                        douta <= X"C3";
289
                    when X"75" =>
290
                        douta <= X"B5";
291
                    when X"76" =>
292
                        douta <= X"7A";
293
                    when X"77" =>
294
                        douta <= X"91";
295
                    when X"78" =>
296
                        douta <= X"24";
297
                    when X"79" =>
298
                        douta <= X"08";
299
                    when X"7A" =>
300
                        douta <= X"E8";
301
                    when X"7B" =>
302
                        douta <= X"A8";
303
                    when X"7C" =>
304
                        douta <= X"60";
305
                    when X"7D" =>
306
                        douta <= X"FC";
307
                    when X"7E" =>
308
                        douta <= X"69";
309
                    when X"7F" =>
310
                        douta <= X"50";
311
                    when X"80" =>
312
                        douta <= X"AA";
313
                    when X"81" =>
314
                        douta <= X"D0";
315
                    when X"82" =>
316
                        douta <= X"A0";
317
                    when X"83" =>
318
                        douta <= X"7D";
319
                    when X"84" =>
320
                        douta <= X"A1";
321
                    when X"85" =>
322
                        douta <= X"89";
323
                    when X"86" =>
324
                        douta <= X"62";
325
                    when X"87" =>
326
                        douta <= X"97";
327
                    when X"88" =>
328
                        douta <= X"54";
329
                    when X"89" =>
330
                        douta <= X"5B";
331
                    when X"8A" =>
332
                        douta <= X"1E";
333
                    when X"8B" =>
334
                        douta <= X"95";
335
                    when X"8C" =>
336
                        douta <= X"E0";
337
                    when X"8D" =>
338
                        douta <= X"FF";
339
                    when X"8E" =>
340
                        douta <= X"64";
341
                    when X"8F" =>
342
                        douta <= X"D2";
343
                    when X"90" =>
344
                        douta <= X"10";
345
                    when X"91" =>
346
                        douta <= X"C4";
347
                    when X"92" =>
348
                        douta <= X"00";
349
                    when X"93" =>
350
                        douta <= X"48";
351
                    when X"94" =>
352
                        douta <= X"A3";
353
                    when X"95" =>
354
                        douta <= X"F7";
355
                    when X"96" =>
356
                        douta <= X"75";
357
                    when X"97" =>
358
                        douta <= X"DB";
359
                    when X"98" =>
360
                        douta <= X"8A";
361
                    when X"99" =>
362
                        douta <= X"03";
363
                    when X"9A" =>
364
                        douta <= X"E6";
365
                    when X"9B" =>
366
                        douta <= X"DA";
367
                    when X"9C" =>
368
                        douta <= X"09";
369
                    when X"9D" =>
370
                        douta <= X"3F";
371
                    when X"9E" =>
372
                        douta <= X"DD";
373
                    when X"9F" =>
374
                        douta <= X"94";
375
                    when X"A0" =>
376
                        douta <= X"87";
377
                    when X"A1" =>
378
                        douta <= X"5C";
379
                    when X"A2" =>
380
                        douta <= X"83";
381
                    when X"A3" =>
382
                        douta <= X"02";
383
                    when X"A4" =>
384
                        douta <= X"CD";
385
                    when X"A5" =>
386
                        douta <= X"4A";
387
                    when X"A6" =>
388
                        douta <= X"90";
389
                    when X"A7" =>
390
                        douta <= X"33";
391
                    when X"A8" =>
392
                        douta <= X"73";
393
                    when X"A9" =>
394
                        douta <= X"67";
395
                    when X"AA" =>
396
                        douta <= X"F6";
397
                    when X"AB" =>
398
                        douta <= X"F3";
399
                    when X"AC" =>
400
                        douta <= X"9D";
401
                    when X"AD" =>
402
                        douta <= X"7F";
403
                    when X"AE" =>
404
                        douta <= X"BF";
405
                    when X"AF" =>
406
                        douta <= X"E2";
407
                    when X"B0" =>
408
                        douta <= X"52";
409
                    when X"B1" =>
410
                        douta <= X"9B";
411
                    when X"B2" =>
412
                        douta <= X"D8";
413
                    when X"B3" =>
414
                        douta <= X"26";
415
                    when X"B4" =>
416
                        douta <= X"C8";
417
                    when X"B5" =>
418
                        douta <= X"37";
419
                    when X"B6" =>
420
                        douta <= X"C6";
421
                    when X"B7" =>
422
                        douta <= X"3B";
423
                    when X"B8" =>
424
                        douta <= X"81";
425
                    when X"B9" =>
426
                        douta <= X"96";
427
                    when X"BA" =>
428
                        douta <= X"6F";
429
                    when X"BB" =>
430
                        douta <= X"4B";
431
                    when X"BC" =>
432
                        douta <= X"13";
433
                    when X"BD" =>
434
                        douta <= X"BE";
435
                    when X"BE" =>
436
                        douta <= X"63";
437
                    when X"BF" =>
438
                        douta <= X"2E";
439
                    when X"C0" =>
440
                        douta <= X"E9";
441
                    when X"C1" =>
442
                        douta <= X"79";
443
                    when X"C2" =>
444
                        douta <= X"A7";
445
                    when X"C3" =>
446
                        douta <= X"8C";
447
                    when X"C4" =>
448
                        douta <= X"9F";
449
                    when X"C5" =>
450
                        douta <= X"6E";
451
                    when X"C6" =>
452
                        douta <= X"BC";
453
                    when X"C7" =>
454
                        douta <= X"8E";
455
                    when X"C8" =>
456
                        douta <= X"29";
457
                    when X"C9" =>
458
                        douta <= X"F5";
459
                    when X"CA" =>
460
                        douta <= X"F9";
461
                    when X"CB" =>
462
                        douta <= X"B6";
463
                    when X"CC" =>
464
                        douta <= X"2F";
465
                    when X"CD" =>
466
                        douta <= X"FD";
467
                    when X"CE" =>
468
                        douta <= X"B4";
469
                    when X"CF" =>
470
                        douta <= X"59";
471
                    when X"D0" =>
472
                        douta <= X"78";
473
                    when X"D1" =>
474
                        douta <= X"98";
475
                    when X"D2" =>
476
                        douta <= X"06";
477
                    when X"D3" =>
478
                        douta <= X"6A";
479
                    when X"D4" =>
480
                        douta <= X"E7";
481
                    when X"D5" =>
482
                        douta <= X"46";
483
                    when X"D6" =>
484
                        douta <= X"71";
485
                    when X"D7" =>
486
                        douta <= X"BA";
487
                    when X"D8" =>
488
                        douta <= X"D4";
489
                    when X"D9" =>
490
                        douta <= X"25";
491
                    when X"DA" =>
492
                        douta <= X"AB";
493
                    when X"DB" =>
494
                        douta <= X"42";
495
                    when X"DC" =>
496
                        douta <= X"88";
497
                    when X"DD" =>
498
                        douta <= X"A2";
499
                    when X"DE" =>
500
                        douta <= X"8D";
501
                    when X"DF" =>
502
                        douta <= X"FA";
503
                    when X"E0" =>
504
                        douta <= X"72";
505
                    when X"E1" =>
506
                        douta <= X"07";
507
                    when X"E2" =>
508
                        douta <= X"B9";
509
                    when X"E3" =>
510
                        douta <= X"55";
511
                    when X"E4" =>
512
                        douta <= X"F8";
513
                    when X"E5" =>
514
                        douta <= X"EE";
515
                    when X"E6" =>
516
                        douta <= X"AC";
517
                    when X"E7" =>
518
                        douta <= X"0A";
519
                    when X"E8" =>
520
                        douta <= X"36";
521
                    when X"E9" =>
522
                        douta <= X"49";
523
                    when X"EA" =>
524
                        douta <= X"2A";
525
                    when X"EB" =>
526
                        douta <= X"68";
527
                    when X"EC" =>
528
                        douta <= X"3C";
529
                    when X"ED" =>
530
                        douta <= X"38";
531
                    when X"EE" =>
532
                        douta <= X"F1";
533
                    when X"EF" =>
534
                        douta <= X"A4";
535
                    when X"F0" =>
536
                        douta <= X"40";
537
                    when X"F1" =>
538
                        douta <= X"28";
539
                    when X"F2" =>
540
                        douta <= X"D3";
541
                    when X"F3" =>
542
                        douta <= X"7B";
543
                    when X"F4" =>
544
                        douta <= X"BB";
545
                    when X"F5" =>
546
                        douta <= X"C9";
547
                    when X"F6" =>
548
                        douta <= X"43";
549
                    when X"F7" =>
550
                        douta <= X"C1";
551
                    when X"F8" =>
552
                        douta <= X"15";
553
                    when X"F9" =>
554
                        douta <= X"E3";
555
                    when X"FA" =>
556
                        douta <= X"AD";
557
                    when X"FB" =>
558
                        douta <= X"F4";
559
                    when X"FC" =>
560
                        douta <= X"77";
561
                    when X"FD" =>
562
                        douta <= X"C7";
563
                    when X"FE" =>
564
                        douta <= X"80";
565
                    when X"FF" =>
566
                        douta <= X"9E";
567
                    when others =>
568
                        douta <= (others=>'-');
569
                end case;
570
            end if;
571
        end if;
572
 
573
    end process;
574
 
575
 
576
 
577
    CHB : process(enb, clkb)
578
    begin
579
 
580
        if (enb = '0') then
581
            doutb <= (others=>'0');
582
        else
583
            if (clkb'event and clkb = '1') then -- rising clock edge
584
                case addrb is
585
                    when X"00" =>
586
                        doutb <= X"70";
587
                    when X"01" =>
588
                        doutb <= X"82";
589
                    when X"02" =>
590
                        doutb <= X"2C";
591
                    when X"03" =>
592
                        doutb <= X"EC";
593
                    when X"04" =>
594
                        doutb <= X"B3";
595
                    when X"05" =>
596
                        doutb <= X"27";
597
                    when X"06" =>
598
                        doutb <= X"C0";
599
                    when X"07" =>
600
                        doutb <= X"E5";
601
                    when X"08" =>
602
                        doutb <= X"E4";
603
                    when X"09" =>
604
                        doutb <= X"85";
605
                    when X"0A" =>
606
                        doutb <= X"57";
607
                    when X"0B" =>
608
                        doutb <= X"35";
609
                    when X"0C" =>
610
                        doutb <= X"EA";
611
                    when X"0D" =>
612
                        doutb <= X"0C";
613
                    when X"0E" =>
614
                        doutb <= X"AE";
615
                    when X"0F" =>
616
                        doutb <= X"41";
617
                    when X"10" =>
618
                        doutb <= X"23";
619
                    when X"11" =>
620
                        doutb <= X"EF";
621
                    when X"12" =>
622
                        doutb <= X"6B";
623
                    when X"13" =>
624
                        doutb <= X"93";
625
                    when X"14" =>
626
                        doutb <= X"45";
627
                    when X"15" =>
628
                        doutb <= X"19";
629
                    when X"16" =>
630
                        doutb <= X"A5";
631
                    when X"17" =>
632
                        doutb <= X"21";
633
                    when X"18" =>
634
                        doutb <= X"ED";
635
                    when X"19" =>
636
                        doutb <= X"0E";
637
                    when X"1A" =>
638
                        doutb <= X"4F";
639
                    when X"1B" =>
640
                        doutb <= X"4E";
641
                    when X"1C" =>
642
                        doutb <= X"1D";
643
                    when X"1D" =>
644
                        doutb <= X"65";
645
                    when X"1E" =>
646
                        doutb <= X"92";
647
                    when X"1F" =>
648
                        doutb <= X"BD";
649
                    when X"20" =>
650
                        doutb <= X"86";
651
                    when X"21" =>
652
                        doutb <= X"B8";
653
                    when X"22" =>
654
                        doutb <= X"AF";
655
                    when X"23" =>
656
                        doutb <= X"8F";
657
                    when X"24" =>
658
                        doutb <= X"7C";
659
                    when X"25" =>
660
                        doutb <= X"EB";
661
                    when X"26" =>
662
                        doutb <= X"1F";
663
                    when X"27" =>
664
                        doutb <= X"CE";
665
                    when X"28" =>
666
                        doutb <= X"3E";
667
                    when X"29" =>
668
                        doutb <= X"30";
669
                    when X"2A" =>
670
                        doutb <= X"DC";
671
                    when X"2B" =>
672
                        doutb <= X"5F";
673
                    when X"2C" =>
674
                        doutb <= X"5E";
675
                    when X"2D" =>
676
                        doutb <= X"C5";
677
                    when X"2E" =>
678
                        doutb <= X"0B";
679
                    when X"2F" =>
680
                        doutb <= X"1A";
681
                    when X"30" =>
682
                        doutb <= X"A6";
683
                    when X"31" =>
684
                        doutb <= X"E1";
685
                    when X"32" =>
686
                        doutb <= X"39";
687
                    when X"33" =>
688
                        doutb <= X"CA";
689
                    when X"34" =>
690
                        doutb <= X"D5";
691
                    when X"35" =>
692
                        doutb <= X"47";
693
                    when X"36" =>
694
                        doutb <= X"5D";
695
                    when X"37" =>
696
                        doutb <= X"3D";
697
                    when X"38" =>
698
                        doutb <= X"D9";
699
                    when X"39" =>
700
                        doutb <= X"01";
701
                    when X"3A" =>
702
                        doutb <= X"5A";
703
                    when X"3B" =>
704
                        doutb <= X"D6";
705
                    when X"3C" =>
706
                        doutb <= X"51";
707
                    when X"3D" =>
708
                        doutb <= X"56";
709
                    when X"3E" =>
710
                        doutb <= X"6C";
711
                    when X"3F" =>
712
                        doutb <= X"4D";
713
                    when X"40" =>
714
                        doutb <= X"8B";
715
                    when X"41" =>
716
                        doutb <= X"0D";
717
                    when X"42" =>
718
                        doutb <= X"9A";
719
                    when X"43" =>
720
                        doutb <= X"66";
721
                    when X"44" =>
722
                        doutb <= X"FB";
723
                    when X"45" =>
724
                        doutb <= X"CC";
725
                    when X"46" =>
726
                        doutb <= X"B0";
727
                    when X"47" =>
728
                        doutb <= X"2D";
729
                    when X"48" =>
730
                        doutb <= X"74";
731
                    when X"49" =>
732
                        doutb <= X"12";
733
                    when X"4A" =>
734
                        doutb <= X"2B";
735
                    when X"4B" =>
736
                        doutb <= X"20";
737
                    when X"4C" =>
738
                        doutb <= X"F0";
739
                    when X"4D" =>
740
                        doutb <= X"B1";
741
                    when X"4E" =>
742
                        doutb <= X"84";
743
                    when X"4F" =>
744
                        doutb <= X"99";
745
                    when X"50" =>
746
                        doutb <= X"DF";
747
                    when X"51" =>
748
                        doutb <= X"4C";
749
                    when X"52" =>
750
                        doutb <= X"CB";
751
                    when X"53" =>
752
                        doutb <= X"C2";
753
                    when X"54" =>
754
                        doutb <= X"34";
755
                    when X"55" =>
756
                        doutb <= X"7E";
757
                    when X"56" =>
758
                        doutb <= X"76";
759
                    when X"57" =>
760
                        doutb <= X"05";
761
                    when X"58" =>
762
                        doutb <= X"6D";
763
                    when X"59" =>
764
                        doutb <= X"B7";
765
                    when X"5A" =>
766
                        doutb <= X"A9";
767
                    when X"5B" =>
768
                        doutb <= X"31";
769
                    when X"5C" =>
770
                        doutb <= X"D1";
771
                    when X"5D" =>
772
                        doutb <= X"17";
773
                    when X"5E" =>
774
                        doutb <= X"04";
775
                    when X"5F" =>
776
                        doutb <= X"D7";
777
                    when X"60" =>
778
                        doutb <= X"14";
779
                    when X"61" =>
780
                        doutb <= X"58";
781
                    when X"62" =>
782
                        doutb <= X"3A";
783
                    when X"63" =>
784
                        doutb <= X"61";
785
                    when X"64" =>
786
                        doutb <= X"DE";
787
                    when X"65" =>
788
                        doutb <= X"1B";
789
                    when X"66" =>
790
                        doutb <= X"11";
791
                    when X"67" =>
792
                        doutb <= X"1C";
793
                    when X"68" =>
794
                        doutb <= X"32";
795
                    when X"69" =>
796
                        doutb <= X"0F";
797
                    when X"6A" =>
798
                        doutb <= X"9C";
799
                    when X"6B" =>
800
                        doutb <= X"16";
801
                    when X"6C" =>
802
                        doutb <= X"53";
803
                    when X"6D" =>
804
                        doutb <= X"18";
805
                    when X"6E" =>
806
                        doutb <= X"F2";
807
                    when X"6F" =>
808
                        doutb <= X"22";
809
                    when X"70" =>
810
                        doutb <= X"FE";
811
                    when X"71" =>
812
                        doutb <= X"44";
813
                    when X"72" =>
814
                        doutb <= X"CF";
815
                    when X"73" =>
816
                        doutb <= X"B2";
817
                    when X"74" =>
818
                        doutb <= X"C3";
819
                    when X"75" =>
820
                        doutb <= X"B5";
821
                    when X"76" =>
822
                        doutb <= X"7A";
823
                    when X"77" =>
824
                        doutb <= X"91";
825
                    when X"78" =>
826
                        doutb <= X"24";
827
                    when X"79" =>
828
                        doutb <= X"08";
829
                    when X"7A" =>
830
                        doutb <= X"E8";
831
                    when X"7B" =>
832
                        doutb <= X"A8";
833
                    when X"7C" =>
834
                        doutb <= X"60";
835
                    when X"7D" =>
836
                        doutb <= X"FC";
837
                    when X"7E" =>
838
                        doutb <= X"69";
839
                    when X"7F" =>
840
                        doutb <= X"50";
841
                    when X"80" =>
842
                        doutb <= X"AA";
843
                    when X"81" =>
844
                        doutb <= X"D0";
845
                    when X"82" =>
846
                        doutb <= X"A0";
847
                    when X"83" =>
848
                        doutb <= X"7D";
849
                    when X"84" =>
850
                        doutb <= X"A1";
851
                    when X"85" =>
852
                        doutb <= X"89";
853
                    when X"86" =>
854
                        doutb <= X"62";
855
                    when X"87" =>
856
                        doutb <= X"97";
857
                    when X"88" =>
858
                        doutb <= X"54";
859
                    when X"89" =>
860
                        doutb <= X"5B";
861
                    when X"8A" =>
862
                        doutb <= X"1E";
863
                    when X"8B" =>
864
                        doutb <= X"95";
865
                    when X"8C" =>
866
                        doutb <= X"E0";
867
                    when X"8D" =>
868
                        doutb <= X"FF";
869
                    when X"8E" =>
870
                        doutb <= X"64";
871
                    when X"8F" =>
872
                        doutb <= X"D2";
873
                    when X"90" =>
874
                        doutb <= X"10";
875
                    when X"91" =>
876
                        doutb <= X"C4";
877
                    when X"92" =>
878
                        doutb <= X"00";
879
                    when X"93" =>
880
                        doutb <= X"48";
881
                    when X"94" =>
882
                        doutb <= X"A3";
883
                    when X"95" =>
884
                        doutb <= X"F7";
885
                    when X"96" =>
886
                        doutb <= X"75";
887
                    when X"97" =>
888
                        doutb <= X"DB";
889
                    when X"98" =>
890
                        doutb <= X"8A";
891
                    when X"99" =>
892
                        doutb <= X"03";
893
                    when X"9A" =>
894
                        doutb <= X"E6";
895
                    when X"9B" =>
896
                        doutb <= X"DA";
897
                    when X"9C" =>
898
                        doutb <= X"09";
899
                    when X"9D" =>
900
                        doutb <= X"3F";
901
                    when X"9E" =>
902
                        doutb <= X"DD";
903
                    when X"9F" =>
904
                        doutb <= X"94";
905
                    when X"A0" =>
906
                        doutb <= X"87";
907
                    when X"A1" =>
908
                        doutb <= X"5C";
909
                    when X"A2" =>
910
                        doutb <= X"83";
911
                    when X"A3" =>
912
                        doutb <= X"02";
913
                    when X"A4" =>
914
                        doutb <= X"CD";
915
                    when X"A5" =>
916
                        doutb <= X"4A";
917
                    when X"A6" =>
918
                        doutb <= X"90";
919
                    when X"A7" =>
920
                        doutb <= X"33";
921
                    when X"A8" =>
922
                        doutb <= X"73";
923
                    when X"A9" =>
924
                        doutb <= X"67";
925
                    when X"AA" =>
926
                        doutb <= X"F6";
927
                    when X"AB" =>
928
                        doutb <= X"F3";
929
                    when X"AC" =>
930
                        doutb <= X"9D";
931
                    when X"AD" =>
932
                        doutb <= X"7F";
933
                    when X"AE" =>
934
                        doutb <= X"BF";
935
                    when X"AF" =>
936
                        doutb <= X"E2";
937
                    when X"B0" =>
938
                        doutb <= X"52";
939
                    when X"B1" =>
940
                        doutb <= X"9B";
941
                    when X"B2" =>
942
                        doutb <= X"D8";
943
                    when X"B3" =>
944
                        doutb <= X"26";
945
                    when X"B4" =>
946
                        doutb <= X"C8";
947
                    when X"B5" =>
948
                        doutb <= X"37";
949
                    when X"B6" =>
950
                        doutb <= X"C6";
951
                    when X"B7" =>
952
                        doutb <= X"3B";
953
                    when X"B8" =>
954
                        doutb <= X"81";
955
                    when X"B9" =>
956
                        doutb <= X"96";
957
                    when X"BA" =>
958
                        doutb <= X"6F";
959
                    when X"BB" =>
960
                        doutb <= X"4B";
961
                    when X"BC" =>
962
                        doutb <= X"13";
963
                    when X"BD" =>
964
                        doutb <= X"BE";
965
                    when X"BE" =>
966
                        doutb <= X"63";
967
                    when X"BF" =>
968
                        doutb <= X"2E";
969
                    when X"C0" =>
970
                        doutb <= X"E9";
971
                    when X"C1" =>
972
                        doutb <= X"79";
973
                    when X"C2" =>
974
                        doutb <= X"A7";
975
                    when X"C3" =>
976
                        doutb <= X"8C";
977
                    when X"C4" =>
978
                        doutb <= X"9F";
979
                    when X"C5" =>
980
                        doutb <= X"6E";
981
                    when X"C6" =>
982
                        doutb <= X"BC";
983
                    when X"C7" =>
984
                        doutb <= X"8E";
985
                    when X"C8" =>
986
                        doutb <= X"29";
987
                    when X"C9" =>
988
                        doutb <= X"F5";
989
                    when X"CA" =>
990
                        doutb <= X"F9";
991
                    when X"CB" =>
992
                        doutb <= X"B6";
993
                    when X"CC" =>
994
                        doutb <= X"2F";
995
                    when X"CD" =>
996
                        doutb <= X"FD";
997
                    when X"CE" =>
998
                        doutb <= X"B4";
999
                    when X"CF" =>
1000
                        doutb <= X"59";
1001
                    when X"D0" =>
1002
                        doutb <= X"78";
1003
                    when X"D1" =>
1004
                        doutb <= X"98";
1005
                    when X"D2" =>
1006
                        doutb <= X"06";
1007
                    when X"D3" =>
1008
                        doutb <= X"6A";
1009
                    when X"D4" =>
1010
                        doutb <= X"E7";
1011
                    when X"D5" =>
1012
                        doutb <= X"46";
1013
                    when X"D6" =>
1014
                        doutb <= X"71";
1015
                    when X"D7" =>
1016
                        doutb <= X"BA";
1017
                    when X"D8" =>
1018
                        doutb <= X"D4";
1019
                    when X"D9" =>
1020
                        doutb <= X"25";
1021
                    when X"DA" =>
1022
                        doutb <= X"AB";
1023
                    when X"DB" =>
1024
                        doutb <= X"42";
1025
                    when X"DC" =>
1026
                        doutb <= X"88";
1027
                    when X"DD" =>
1028
                        doutb <= X"A2";
1029
                    when X"DE" =>
1030
                        doutb <= X"8D";
1031
                    when X"DF" =>
1032
                        doutb <= X"FA";
1033
                    when X"E0" =>
1034
                        doutb <= X"72";
1035
                    when X"E1" =>
1036
                        doutb <= X"07";
1037
                    when X"E2" =>
1038
                        doutb <= X"B9";
1039
                    when X"E3" =>
1040
                        doutb <= X"55";
1041
                    when X"E4" =>
1042
                        doutb <= X"F8";
1043
                    when X"E5" =>
1044
                        doutb <= X"EE";
1045
                    when X"E6" =>
1046
                        doutb <= X"AC";
1047
                    when X"E7" =>
1048
                        doutb <= X"0A";
1049
                    when X"E8" =>
1050
                        doutb <= X"36";
1051
                    when X"E9" =>
1052
                        doutb <= X"49";
1053
                    when X"EA" =>
1054
                        doutb <= X"2A";
1055
                    when X"EB" =>
1056
                        doutb <= X"68";
1057
                    when X"EC" =>
1058
                        doutb <= X"3C";
1059
                    when X"ED" =>
1060
                        doutb <= X"38";
1061
                    when X"EE" =>
1062
                        doutb <= X"F1";
1063
                    when X"EF" =>
1064
                        doutb <= X"A4";
1065
                    when X"F0" =>
1066
                        doutb <= X"40";
1067
                    when X"F1" =>
1068
                        doutb <= X"28";
1069
                    when X"F2" =>
1070
                        doutb <= X"D3";
1071
                    when X"F3" =>
1072
                        doutb <= X"7B";
1073
                    when X"F4" =>
1074
                        doutb <= X"BB";
1075
                    when X"F5" =>
1076
                        doutb <= X"C9";
1077
                    when X"F6" =>
1078
                        doutb <= X"43";
1079
                    when X"F7" =>
1080
                        doutb <= X"C1";
1081
                    when X"F8" =>
1082
                        doutb <= X"15";
1083
                    when X"F9" =>
1084
                        doutb <= X"E3";
1085
                    when X"FA" =>
1086
                        doutb <= X"AD";
1087
                    when X"FB" =>
1088
                        doutb <= X"F4";
1089
                    when X"FC" =>
1090
                        doutb <= X"77";
1091
                    when X"FD" =>
1092
                        doutb <= X"C7";
1093
                    when X"FE" =>
1094
                        doutb <= X"80";
1095
                    when X"FF" =>
1096
                        doutb <= X"9E";
1097
                    when others =>
1098
                        doutb <= (others=>'-');
1099
                end case;
1100
            end if;
1101
        end if;
1102
 
1103
    end process;
1104
 
1105
 
1106
end RTL;

powered by: WebSVN 2.1.0

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