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

Subversion Repositories tiny_tate_bilinear_pairing

[/] [tiny_tate_bilinear_pairing/] [trunk/] [group_size_is_911_bits/] [rtl/] [rom.v] - Blame information for rev 11

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

Line No. Rev Author Line
1 11 homer.hsin
/*
2
    Copyright 2012 Homer Hsing
3
 
4
    This file is part of Tiny Tate Bilinear Pairing Core.
5
 
6
    Tiny Tate Bilinear Pairing Core is free software: you can redistribute it and/or modify
7
    it under the terms of the GNU Lesser General Public License as published by
8
    the Free Software Foundation, either version 3 of the License, or
9
    (at your option) any later version.
10
 
11
    Tiny Tate Bilinear Pairing Core is distributed in the hope that it will be useful,
12
    but WITHOUT ANY WARRANTY; without even the implied warranty of
13
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
    GNU Lesser General Public License for more details.
15
 
16
    You should have received a copy of the GNU Lesser General Public License
17
    along with Tiny Tate Bilinear Pairing Core.  If not, see http://www.gnu.org/licenses/lgpl.txt
18
*/
19
 
20
module rom (clk, addr, out);
21
   input clk;
22
   input [8:0] addr;
23
   output reg [28:0] out;
24
 
25
   always @(posedge clk)
26
      case (addr)
27
         0: out <= 29'h1860042;
28
         1: out <= 29'h30d0041;
29
         2: out <= 29'h38f0041;
30
         3: out <= 29'h60046;
31
         4: out <= 29'hb01b180;
32
         5: out <= 29'hb810041;
33
         6: out <= 29'hb8bb197;
34
         7: out <= 29'hc0bb187;
35
         8: out <= 29'hcb1b187;
36
         9: out <= 29'h7ae8059;
37
         10: out <= 29'h79e8045;
38
         11: out <= 29'hbb1b185;
39
         12: out <= 29'hc2fb180;
40
         13: out <= 29'hb0fb196;
41
         14: out <= 29'h8b00056;
42
         15: out <= 29'h8a20051;
43
         16: out <= 29'h90a0045;
44
         17: out <= 29'h98fb180;
45
         18: out <= 29'h9ae8053;
46
         19: out <= 29'ha020041;
47
         20: out <= 29'ha8e0047;
48
         21: out <= 29'h1f0041;
49
         22: out <= 29'hb230041;
50
         23: out <= 29'hba50041;
51
         24: out <= 29'hc270041;
52
         25: out <= 29'hca90041;
53
         26: out <= 29'hd2b0041;
54
         27: out <= 29'h7800057;
55
         28: out <= 29'h79e0059;
56
         29: out <= 29'h8ac0058;
57
         30: out <= 29'h8a2005a;
58
         31: out <= 29'h8a20051;
59
         32: out <= 29'h92e8059;
60
         33: out <= 29'h9b48058;
61
         34: out <= 29'ha320041;
62
         35: out <= 29'hab4005a;
63
         36: out <= 29'h30d0081;
64
         37: out <= 29'h30c8042;
65
         38: out <= 29'h38f0081;
66
         39: out <= 29'h38e0047;
67
         40: out <= 29'h60046;
68
         41: out <= 29'hb000040;
69
         42: out <= 29'hb8bb187;
70
         43: out <= 29'h2db180;
71
         44: out <= 29'hc000056;
72
         45: out <= 29'hc808056;
73
         46: out <= 29'hd1e0054;
74
         47: out <= 29'hdb40052;
75
         48: out <= 29'he348052;
76
         49: out <= 29'he9e8054;
77
         50: out <= 29'hf3a8053;
78
         51: out <= 29'heba0053;
79
         52: out <= 29'hfa20055;
80
         53: out <= 29'h103e0053;
81
         54: out <= 29'h10be8053;
82
         55: out <= 29'h112e0056;
83
         56: out <= 29'hb2e8056;
84
         57: out <= 29'h11a28055;
85
         58: out <= 29'h12460052;
86
         59: out <= 29'h11c68052;
87
         60: out <= 29'h12b00057;
88
         61: out <= 29'h13360060;
89
         62: out <= 29'h13800062;
90
         63: out <= 29'h143c0064;
91
         64: out <= 29'h14b20057;
92
         65: out <= 29'h15380061;
93
         66: out <= 29'h15800056;
94
         67: out <= 29'h163a0063;
95
         68: out <= 29'hc31b19b;
96
         69: out <= 29'hdcbb1a6;
97
         70: out <= 29'h102fb1a0;
98
         71: out <= 29'hf01b19e;
99
         72: out <= 29'h12cfb1a8;
100
         73: out <= 29'h1145b1a4;
101
         74: out <= 29'hcb3b19c;
102
         75: out <= 29'he53b1aa;
103
         76: out <= 29'hbafb1a1;
104
         77: out <= 29'h1b19d;
105
         78: out <= 29'hed7b1ac;
106
         79: out <= 29'hb2db1a3;
107
         80: out <= 29'h10b00065;
108
         81: out <= 29'h11c0005d;
109
         82: out <= 29'h12408057;
110
         83: out <= 29'h13328058;
111
         84: out <= 29'hbae0060;
112
         85: out <= 29'hbc48057;
113
         86: out <= 29'hbae0056;
114
         87: out <= 29'hc320058;
115
         88: out <= 29'hc30805e;
116
         89: out <= 29'hc308040;
117
         90: out <= 29'hcc68061;
118
         91: out <= 29'hcb2805e;
119
         92: out <= 29'hb320056;
120
         93: out <= 29'hcc20063;
121
         94: out <= 29'hcb2805b;
122
         95: out <= 29'hcb20062;
123
         96: out <= 29'h320040;
124
         97: out <= 29'hcc80066;
125
         98: out <= 29'hf488066;
126
         99: out <= 29'hf3c005c;
127
         100: out <= 29'hf3c805b;
128
         101: out <= 29'h102e0058;
129
         102: out <= 29'hbae8058;
130
         103: out <= 29'hbae005c;
131
         104: out <= 29'hbae005b;
132
         105: out <= 29'hbae8065;
133
         106: out <= 29'hbae805d;
134
         107: out <= 29'h7ac8052;
135
         108: out <= 29'h8808053;
136
         109: out <= 29'h328052;
137
         110: out <= 29'h8054;
138
         111: out <= 29'hb3c8053;
139
         112: out <= 29'hb2c8055;
140
         113: out <= 29'ha40805a;
141
         114: out <= 29'haae805f;
142
         115: out <= 29'h9008041;
143
         116: out <= 29'h9ac8041;
144
         117: out <= 29'h49f0041;
145
         118: out <= 29'h1e0052;
146
         119: out <= 29'h54;
147
         120: out <= 29'hb1fb18f;
148
         121: out <= 29'hb9fb192;
149
         122: out <= 29'hc25b194;
150
         123: out <= 29'hca9b194;
151
         124: out <= 29'h1b180;
152
         125: out <= 29'hbae0058;
153
         126: out <= 29'hc2c8058;
154
         127: out <= 29'hcb28057;
155
         128: out <= 29'h57;
156
         129: out <= 29'h8056;
157
         130: out <= 29'hb220053;
158
         131: out <= 29'hb2c0055;
159
         132: out <= 29'hba3b191;
160
         133: out <= 29'hd23b193;
161
         134: out <= 29'hda7b195;
162
         135: out <= 29'he2bb195;
163
         136: out <= 29'hb2db196;
164
         137: out <= 29'hd34005b;
165
         138: out <= 29'hdae805b;
166
         139: out <= 29'he38805a;
167
         140: out <= 29'hb2c005a;
168
         141: out <= 29'hb2c8057;
169
         142: out <= 29'hb9e0052;
170
         143: out <= 29'hd1e0054;
171
         144: out <= 29'hea40054;
172
         145: out <= 29'hf220053;
173
         146: out <= 29'hfa20055;
174
         147: out <= 29'h10260055;
175
         148: out <= 29'h109fb191;
176
         149: out <= 29'h1125b193;
177
         150: out <= 29'h11a9b195;
178
         151: out <= 29'hbafb19e;
179
         152: out <= 29'hd35b19f;
180
         153: out <= 29'hebbb1a0;
181
         154: out <= 29'hf428062;
182
         155: out <= 29'hfbc8063;
183
         156: out <= 29'hfbe005d;
184
         157: out <= 29'hbae805e;
185
         158: out <= 29'hbae005d;
186
         159: out <= 29'hd34805e;
187
         160: out <= 29'heb0805b;
188
         161: out <= 29'hf32805c;
189
         162: out <= 29'h10008056;
190
         163: out <= 29'hc30005b;
191
         164: out <= 29'hcb2005c;
192
         165: out <= 29'h56;
193
         166: out <= 29'hb300059;
194
         167: out <= 29'hdb08040;
195
         168: out <= 29'he328058;
196
         169: out <= 29'h1080805c;
197
         170: out <= 29'h1131b198;
198
         171: out <= 29'h11b3b199;
199
         172: out <= 29'h1201b180;
200
         173: out <= 29'hcb1b199;
201
         174: out <= 29'hc31b180;
202
         175: out <= 29'h1b196;
203
         176: out <= 29'hb45b19b;
204
         177: out <= 29'hdc7b19c;
205
         178: out <= 29'he49b1a1;
206
         179: out <= 29'hb2c005b;
207
         180: out <= 29'hb2c005c;
208
         181: out <= 29'hdac0041;
209
         182: out <= 29'he370041;
210
         183: out <= 29'he37b19c;
211
         184: out <= 29'h10b90041;
212
         185: out <= 29'hdb7b1a1;
213
         186: out <= 29'h10b70081;
214
         187: out <= 29'he39b1a1;
215
         188: out <= 29'h10b900c1;
216
         189: out <= 29'hdb7b1a1;
217
         190: out <= 29'h10b70201;
218
         191: out <= 29'hdb7b1a1;
219
         192: out <= 29'h10b70141;
220
         193: out <= 29'he39b1a1;
221
         194: out <= 29'he390401;
222
         195: out <= 29'hdb7b19c;
223
         196: out <= 29'he370941;
224
         197: out <= 29'hdb7b19c;
225
         198: out <= 29'he371281;
226
         199: out <= 29'hdb7b19c;
227
         200: out <= 29'he372501;
228
         201: out <= 29'hdb7b19c;
229
         202: out <= 29'he374a01;
230
         203: out <= 29'hdb7b19c;
231
         204: out <= 29'hdb70041;
232
         205: out <= 29'hb37b196;
233
         206: out <= 29'hb37b196;
234
         207: out <= 29'hdc68064;
235
         208: out <= 29'he44805b;
236
         209: out <= 29'h388040;
237
         210: out <= 29'hcc88059;
238
         211: out <= 29'hc368058;
239
         212: out <= 29'h2db180;
240
         213: out <= 29'hcadb199;
241
         214: out <= 29'hb2db198;
242
         215: out <= 29'hc3a005e;
243
         216: out <= 29'hdba0060;
244
         217: out <= 29'he3c0060;
245
         218: out <= 29'h10800059;
246
         219: out <= 29'h11000056;
247
         220: out <= 29'h11b20056;
248
         221: out <= 29'hebbb180;
249
         222: out <= 29'hf3db199;
250
         223: out <= 29'h1041b196;
251
         224: out <= 29'hc31b1a1;
252
         225: out <= 29'hdb7b1a2;
253
         226: out <= 29'he39b1a3;
254
         227: out <= 29'heba805e;
255
         228: out <= 29'hf3a8060;
256
         229: out <= 29'hf3c005c;
257
         230: out <= 29'hc30805d;
258
         231: out <= 29'hc30005c;
259
         232: out <= 29'hdb6805d;
260
         233: out <= 29'he3e0057;
261
         234: out <= 29'hebe005a;
262
         235: out <= 29'h102e005a;
263
         236: out <= 29'h10800059;
264
         237: out <= 29'h11000056;
265
         238: out <= 29'h11b20056;
266
         239: out <= 29'h3fb180;
267
         240: out <= 29'hbafb199;
268
         241: out <= 29'hb35b196;
269
         242: out <= 29'hcb9b1a1;
270
         243: out <= 29'hd3bb1a2;
271
         244: out <= 29'he41b1a3;
272
         245: out <= 29'h8057;
273
         246: out <= 29'hb008056;
274
         247: out <= 29'hb2c005c;
275
         248: out <= 29'hbb28040;
276
         249: out <= 29'hbae005c;
277
         250: out <= 29'h348040;
278
         251: out <= 29'hcbc0056;
279
         252: out <= 29'hd300057;
280
         253: out <= 29'he368040;
281
         254: out <= 29'hebdb19b;
282
         255: out <= 29'hfadb180;
283
         256: out <= 29'hdb1b19b;
284
         257: out <= 29'h2fb180;
285
         258: out <= 29'h1033b19c;
286
         259: out <= 29'hb2db198;
287
         260: out <= 29'hbbdb197;
288
         261: out <= 29'hc33b19a;
289
         262: out <= 29'hcb5b19c;
290
         263: out <= 29'hd2c0057;
291
         264: out <= 29'hc348058;
292
         265: out <= 29'hd360040;
293
         266: out <= 29'hd34005a;
294
         267: out <= 29'h805b;
295
         268: out <= 29'hdbe805d;
296
         269: out <= 29'hdb60060;
297
         270: out <= 29'he04005d;
298
         271: out <= 29'he38005f;
299
         272: out <= 29'he38805a;
300
         273: out <= 29'hb2e8056;
301
         274: out <= 29'hb360056;
302
         275: out <= 29'hbb00041;
303
         276: out <= 29'heb20040;
304
         277: out <= 29'hdba005b;
305
         278: out <= 29'hc30005a;
306
         279: out <= 29'hc300058;
307
         280: out <= 29'h320040;
308
         281: out <= 29'h40;
309
         282: out <= 29'hcb90041;
310
         283: out <= 29'hd2d0041;
311
         284: out <= 29'heaf0041;
312
         285: out <= 29'hf370041;
313
         286: out <= 29'hfb10041;
314
         287: out <= 29'h10010041;
315
         288: out <= 29'hcb2005d;
316
         289: out <= 29'hcb2005f;
317
         290: out <= 29'hd34005a;
318
         291: out <= 29'hd34805e;
319
         292: out <= 29'hd348060;
320
         293: out <= 29'heba805f;
321
         294: out <= 29'hf40805e;
322
         295: out <= 29'h10400060;
323
         296: out <= 29'hcb30041;
324
         297: out <= 29'hd350041;
325
         298: out <= 29'hebb0041;
326
         299: out <= 29'hf3d0041;
327
         300: out <= 29'hfbf0041;
328
         301: out <= 29'h10410041;
329
         302: out <= 29'hcb2005d;
330
         303: out <= 29'hcb2005f;
331
         304: out <= 29'hd34005a;
332
         305: out <= 29'hd34805e;
333
         306: out <= 29'hd348060;
334
         307: out <= 29'heba805f;
335
         308: out <= 29'hf40805e;
336
         309: out <= 29'h10400060;
337
         310: out <= 29'h10b80056;
338
         311: out <= 29'h112e005b;
339
         312: out <= 29'h11b08040;
340
         313: out <= 29'h1239b198;
341
         314: out <= 29'h12adb180;
342
         315: out <= 29'hc2fb198;
343
         316: out <= 29'h37b180;
344
         317: out <= 29'h1343b1a3;
345
         318: out <= 29'hb2db197;
346
         319: out <= 29'hbb9b19b;
347
         320: out <= 29'hdc3b1a2;
348
         321: out <= 29'he45b1a3;
349
         322: out <= 29'h10ac0057;
350
         323: out <= 29'hdc2805b;
351
         324: out <= 29'h10b00040;
352
         325: out <= 29'h10c20061;
353
         326: out <= 29'h8058;
354
         327: out <= 29'hc4a8064;
355
         328: out <= 29'hc300066;
356
         329: out <= 29'h11040064;
357
         330: out <= 29'h11440065;
358
         331: out <= 29'h11448061;
359
         332: out <= 29'hb2e8056;
360
         333: out <= 29'hb300056;
361
         334: out <= 29'hbb60041;
362
         335: out <= 29'h11b80040;
363
         336: out <= 29'hc460058;
364
         337: out <= 29'hdb60061;
365
         338: out <= 29'hdb6005b;
366
         339: out <= 29'h380040;
367
         340: out <= 29'h40;
368
         341: out <= 29'he32005f;
369
         342: out <= 29'h10b8005d;
370
         343: out <= 29'he38805d;
371
         344: out <= 29'h11c4005b;
372
         345: out <= 29'h12460057;
373
         346: out <= 29'h11c68057;
374
         347: out <= 29'hcb2805f;
375
         348: out <= 29'h12b2805e;
376
         349: out <= 29'hcb2005e;
377
         350: out <= 29'h1144805b;
378
         351: out <= 29'h13448058;
379
         352: out <= 29'h11440058;
380
         353: out <= 29'h13b40060;
381
         354: out <= 29'h144e005e;
382
         355: out <= 29'hf4e805e;
383
         356: out <= 29'h13ac0040;
384
         357: out <= 29'h14ce0058;
385
         358: out <= 29'hc4e8058;
386
         359: out <= 29'hd348060;
387
         360: out <= 29'h13b4005d;
388
         361: out <= 29'hd34805d;
389
         362: out <= 29'hb2c8040;
390
         363: out <= 29'heac0057;
391
         364: out <= 29'hb2c8057;
392
         365: out <= 29'hbc20068;
393
         366: out <= 29'h15480069;
394
         367: out <= 29'h15ca0067;
395
         368: out <= 29'h164c005d;
396
         369: out <= 29'h16b8005e;
397
         370: out <= 29'h17460058;
398
         371: out <= 29'h17b2005a;
399
         372: out <= 29'h18440056;
400
         373: out <= 29'h18be0060;
401
         374: out <= 29'h19360040;
402
         375: out <= 29'h10c3b1a4;
403
         376: out <= 29'hbafb1aa;
404
         377: out <= 29'h1251b1a9;
405
         378: out <= 29'h12cbb1a6;
406
         379: out <= 29'h1357b1ac;
407
         380: out <= 29'hecfb19d;
408
         381: out <= 29'he39b1a3;
409
         382: out <= 29'h11dbb1ae;
410
         383: out <= 29'hc3db198;
411
         384: out <= 29'hcb3b1a2;
412
         385: out <= 29'hf5fb1b0;
413
         386: out <= 29'hb35b196;
414
         387: out <= 29'hd3fb19b;
415
         388: out <= 29'hde3b1b2;
416
         389: out <= 29'h41b180;
417
         390: out <= 29'hfc20066;
418
         391: out <= 29'hfbe005a;
419
         392: out <= 29'h1048005e;
420
         393: out <= 29'h10400040;
421
         394: out <= 29'hd38005a;
422
         395: out <= 29'h300040;
423
         396: out <= 29'h40;
424
         397: out <= 29'hc46005b;
425
         398: out <= 29'he000064;
426
         399: out <= 29'h11348061;
427
         400: out <= 29'h8064;
428
         401: out <= 29'h5d;
429
         402: out <= 29'h56;
430
         403: out <= 29'hd340061;
431
         404: out <= 29'hd348065;
432
         405: out <= 29'hd348059;
433
         406: out <= 29'h4c0805f;
434
         407: out <= 29'h4928065;
435
         408: out <= 29'h4920056;
436
         409: out <= 29'h53e0060;
437
         410: out <= 29'h5148057;
438
         411: out <= 29'h514005d;
439
         412: out <= 29'h5140059;
440
         413: out <= 29'h514805b;
441
         414: out <= 29'h5b80062;
442
         415: out <= 29'h6388062;
443
         416: out <= 29'h6180058;
444
         417: out <= 29'h6188057;
445
         418: out <= 29'h680005a;
446
         419: out <= 29'h700805a;
447
         420: out <= 29'h71c0058;
448
         421: out <= 29'h71c0057;
449
         422: out <= 29'h71c8066;
450
         423: out <= 29'h71c805e;
451
         default: out <= 0;
452
      endcase
453
endmodule

powered by: WebSVN 2.1.0

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