Develop and Download Open Source Software

Browse Subversion Repository

Contents of /trunk/Toriya/func_salt.v

Parent Directory Parent Directory | Revision Log Revision Log


Revision 118 - (show annotations) (download)
Wed Apr 11 04:55:06 2007 UTC (17 years, 1 month ago) by chapuni
File size: 2798 byte(s)
「本物の鳥屋」ついに公開です。
たぶん 2005/09 頃のものです。
もしかするとあと一度ほど、改良するかもね。
1 /**********************************************************-*-verilog-*-
2 *
3 * 困った困ったSaltの処理
4 *
5 * $Id$
6 *
7 */
8
9 /*
10 * 01234567 -- Salt のひみつ
11 * ./012345 0
12 * 6789ABCD 1
13 * EFGHIJKL 2
14 * MNOPQRST 3
15 * UVWXYZab 4
16 * cdefghij 5
17 * klmnopqr 6
18 * stuvwxyz 7
19 *
20 *
21 * 新鯖の鍵→Salt変換表
22 * (旧鯖は、0x2E-0x7A以外が . になる)
23 *
24 * 0123456789ABCDEF --- Region 0(22-22; 0x2E 以降は互換)
25 *
26 * GHIJKLMNOPQRSTUV 0
27 * WXYZabcdefghijkl 1
28 * mnopqrstuvwxyz./ 2
29 * 0123456789ABCDEF 3
30 * G 4
31 *
32 * 0123456789ABCDEF --- Region 1(14-53; 互換)
33 *
34 * ABCDEFGHIJKLMNO 4
35 * PQRSTUVWXYZabcde 5
36 * f 6
37 *
38 * 0123456789ABCDEF --- Region 2(46-04; 0x7Bまでは互換)
39 *
40 * abcdefghijklmno 6
41 * pqrstuvwxyz./012 7 (0x7F(04) は出現不可)
42 *
43 * 0123456789ABCDEF --- Region 3(22-21; Region 0 と連続)
44 *
45 * GHIJKLMNOPQRSTUV 8
46 * WXYZabcdefghijkl 9
47 * mnopqrstuvwxyz./ A
48 * 0123456789ABCDEF B
49 * GHIJKLMNOPQRSTUV C
50 * WXYZabcdefghijkl D
51 * mnopqrstuvwxyz./ E
52 * 0123456789ABCDEF F
53 */
54
55 /*
56 * 鍵の一部からSaltビットをつくりだす
57 * これはトリップ特有の仕様である。
58 * っていうか悪の元凶!!!
59 */
60
61 function [5:0] mksalt;
62 input [7:0] n;
63 if (n < 8'h2E
64 || 8'h7A < n
65 || n == 8'h3C
66 || n == 8'h3E)
67 mksalt = 6'o00; // 強制旧鯖仕様
68 else if (8'h61 <= n && n <= 8'h7F)
69 mksalt = n - (8'h61 - 6'o46);
70 else if (8'h41 <= n && n < 8'h61)
71 mksalt = n - (8'h41 - 6'o14);
72 else
73 mksalt = n - 8'h2E;
74 endfunction
75
76 /*
77 * Saltビットに応じてビットの入れ替えを行う
78 */
79 function salt_mux0;
80 input salt;
81 input e0;
82 input e1;
83 salt_mux0 = (salt ? e1 : e0);
84 endfunction
85
86 function salt_mux1;
87 input salt;
88 input e0;
89 input e1;
90 salt_mux1 = (salt ? e0 : e1);
91 endfunction
92
93 function [0:47] add_salt;
94 input [11:0] salt;
95 input [0:47] e;
96 add_salt = {salt_mux0(salt[ 0], e[ 0], e[24]),
97 salt_mux0(salt[ 1], e[ 1], e[25]),
98 salt_mux0(salt[ 2], e[ 2], e[26]),
99 salt_mux0(salt[ 3], e[ 3], e[27]),
100 salt_mux0(salt[ 4], e[ 4], e[28]),
101 salt_mux0(salt[ 5], e[ 5], e[29]),
102 salt_mux0(salt[ 6], e[ 6], e[30]),
103 salt_mux0(salt[ 7], e[ 7], e[31]),
104 salt_mux0(salt[ 8], e[ 8], e[32]),
105 salt_mux0(salt[ 9], e[ 9], e[33]),
106 salt_mux0(salt[10], e[10], e[34]),
107 salt_mux0(salt[11], e[11], e[35]),
108 e[12:23],
109 salt_mux1(salt[ 0], e[ 0], e[24]),
110 salt_mux1(salt[ 1], e[ 1], e[25]),
111 salt_mux1(salt[ 2], e[ 2], e[26]),
112 salt_mux1(salt[ 3], e[ 3], e[27]),
113 salt_mux1(salt[ 4], e[ 4], e[28]),
114 salt_mux1(salt[ 5], e[ 5], e[29]),
115 salt_mux1(salt[ 6], e[ 6], e[30]),
116 salt_mux1(salt[ 7], e[ 7], e[31]),
117 salt_mux1(salt[ 8], e[ 8], e[32]),
118 salt_mux1(salt[ 9], e[ 9], e[33]),
119 salt_mux1(salt[10], e[10], e[34]),
120 salt_mux1(salt[11], e[11], e[35]),
121 e[36:47]};
122 endfunction
123
124 /*
125 * Local variables:
126 * tab-width: 4
127 * End:
128 */

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Rev URL

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26