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

Subversion Repositories des

[/] [des/] [trunk/] [rtl/] [verilog/] [common/] [sbox1.v] - Blame information for rev 9

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 rudi
/////////////////////////////////////////////////////////////////////
2
////                                                             ////
3
////  SBOX                                                       ////
4
////  The SBOX is essentially a 64x4 ROM                         ////
5
////                                                             ////
6
////  Author: Rudolf Usselmann                                   ////
7
////          rudi@asics.ws                                      ////
8
////                                                             ////
9
/////////////////////////////////////////////////////////////////////
10
////                                                             ////
11
//// Copyright (C) 2001 Rudolf Usselmann                         ////
12
////                    rudi@asics.ws                            ////
13
////                                                             ////
14
//// This source file may be used and distributed without        ////
15
//// restriction provided that this copyright statement is not   ////
16
//// removed from the file and that any derivative work contains ////
17
//// the original copyright notice and the associated disclaimer.////
18
////                                                             ////
19
////     THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY     ////
20
//// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED   ////
21
//// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS   ////
22
//// FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR      ////
23
//// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,         ////
24
//// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES    ////
25
//// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE   ////
26
//// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        ////
27
//// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF  ////
28
//// LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT  ////
29
//// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  ////
30
//// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE         ////
31
//// POSSIBILITY OF SUCH DAMAGE.                                 ////
32
////                                                             ////
33
/////////////////////////////////////////////////////////////////////
34
 
35
module  sbox1(addr, dout);
36
input   [1:6] addr;
37
output  [1:4] dout;
38
reg     [1:4] dout;
39
 
40
always @(addr) begin
41
    case ({addr[1], addr[6], addr[2:5]})        //synopsys full_case parallel_case
42
         0:  dout =  14;
43
         1:  dout =   4;
44
         2:  dout =  13;
45
         3:  dout =   1;
46
         4:  dout =   2;
47
         5:  dout =  15;
48
         6:  dout =  11;
49
         7:  dout =   8;
50
         8:  dout =   3;
51
         9:  dout =  10;
52
        10:  dout =   6;
53
        11:  dout =  12;
54
        12:  dout =   5;
55
        13:  dout =   9;
56
        14:  dout =   0;
57
        15:  dout =   7;
58
 
59
        16:  dout =   0;
60
        17:  dout =  15;
61
        18:  dout =   7;
62
        19:  dout =   4;
63
        20:  dout =  14;
64
        21:  dout =   2;
65
        22:  dout =  13;
66
        23:  dout =   1;
67
        24:  dout =  10;
68
        25:  dout =   6;
69
        26:  dout =  12;
70
        27:  dout =  11;
71
        28:  dout =   9;
72
        29:  dout =   5;
73
        30:  dout =   3;
74
        31:  dout =   8;
75
 
76
        32:  dout =   4;
77
        33:  dout =   1;
78
        34:  dout =  14;
79
        35:  dout =   8;
80
        36:  dout =  13;
81
        37:  dout =   6;
82
        38:  dout =   2;
83
        39:  dout =  11;
84
        40:  dout =  15;
85
        41:  dout =  12;
86
        42:  dout =   9;
87
        43:  dout =   7;
88
        44:  dout =   3;
89
        45:  dout =  10;
90
        46:  dout =   5;
91
        47:  dout =   0;
92
 
93
        48:  dout =  15;
94
        49:  dout =  12;
95
        50:  dout =   8;
96
        51:  dout =   2;
97
        52:  dout =   4;
98
        53:  dout =   9;
99
        54:  dout =   1;
100
        55:  dout =   7;
101
        56:  dout =   5;
102
        57:  dout =  11;
103
        58:  dout =   3;
104
        59:  dout =  14;
105
        60:  dout =  10;
106
        61:  dout =   0;
107
        62:  dout =   6;
108
        63:  dout =  13;
109
 
110
    endcase
111
    end
112
 
113
endmodule

powered by: WebSVN 2.1.0

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