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_697_bits/] [rtl/] [rom.v] - Rev 18

Compare with Previous | Blame | View Log

/*
 * Copyright 2012, Homer Hsing <homer.hsing@gmail.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 
module rom (clk, addr, out);
   input clk;
   input [8:0] addr;
   output reg [27:0] out;
 
   always @(posedge clk)
      case (addr)
         0: out <= 28'hc30042;
         1: out <= 28'h1450045;
         2: out <= 28'h1868041;
         3: out <= 28'h1c78041;
         4: out <= 28'h30046;
         5: out <= 28'h580ea00;
         6: out <= 28'h5c08041;
         7: out <= 28'h5c5ea17;
         8: out <= 28'h605ea07;
         9: out <= 28'h658ea07;
         10: out <= 28'h3d74059;
         11: out <= 28'h3c5404f;
         12: out <= 28'h5d8ea05;
         13: out <= 28'h617ea00;
         14: out <= 28'h587ea16;
         15: out <= 28'h4580056;
         16: out <= 28'h4850041;
         17: out <= 28'h4c7ea00;
         18: out <= 28'h4d34057;
         19: out <= 28'h5014041;
         20: out <= 28'h5474041;
         21: out <= 28'hf8041;
         22: out <= 28'h5918041;
         23: out <= 28'h5d28041;
         24: out <= 28'h6138041;
         25: out <= 28'h6548041;
         26: out <= 28'h6958041;
         27: out <= 28'h3c00057;
         28: out <= 28'h3cf0059;
         29: out <= 28'h4560058;
         30: out <= 28'h451005a;
         31: out <= 28'h4510051;
         32: out <= 28'h4974059;
         33: out <= 28'h4da4058;
         34: out <= 28'h5190041;
         35: out <= 28'h55a005a;
         36: out <= 28'h1868081;
         37: out <= 28'h1864042;
         38: out <= 28'h1c78081;
         39: out <= 28'h1c70047;
         40: out <= 28'h30046;
         41: out <= 28'h5800040;
         42: out <= 28'h5c5ea07;
         43: out <= 28'h16ea00;
         44: out <= 28'h6000056;
         45: out <= 28'h6404056;
         46: out <= 28'h68f0054;
         47: out <= 28'h6da0052;
         48: out <= 28'h71a4052;
         49: out <= 28'h74f4054;
         50: out <= 28'h79d4053;
         51: out <= 28'h75d0053;
         52: out <= 28'h7d10055;
         53: out <= 28'h81f0053;
         54: out <= 28'h85f4053;
         55: out <= 28'h8970056;
         56: out <= 28'h5974056;
         57: out <= 28'h8d14055;
         58: out <= 28'h9230052;
         59: out <= 28'h8e34052;
         60: out <= 28'h9580057;
         61: out <= 28'h99b0060;
         62: out <= 28'h9c00062;
         63: out <= 28'ha1e0064;
         64: out <= 28'ha590057;
         65: out <= 28'ha9c0061;
         66: out <= 28'hac00056;
         67: out <= 28'hb1d0063;
         68: out <= 28'h618ea1b;
         69: out <= 28'h6e5ea26;
         70: out <= 28'h817ea20;
         71: out <= 28'h780ea1e;
         72: out <= 28'h967ea28;
         73: out <= 28'h8a2ea24;
         74: out <= 28'h659ea1c;
         75: out <= 28'h729ea2a;
         76: out <= 28'h5d7ea21;
         77: out <= 28'hea1d;
         78: out <= 28'h76bea2c;
         79: out <= 28'h596ea23;
         80: out <= 28'h8580065;
         81: out <= 28'h8e0005d;
         82: out <= 28'h9204057;
         83: out <= 28'h9994058;
         84: out <= 28'h5d70060;
         85: out <= 28'h5e24057;
         86: out <= 28'h5d70056;
         87: out <= 28'h6190058;
         88: out <= 28'h618405e;
         89: out <= 28'h6184040;
         90: out <= 28'h6634061;
         91: out <= 28'h659405e;
         92: out <= 28'h5990056;
         93: out <= 28'h6610063;
         94: out <= 28'h659405b;
         95: out <= 28'h6590062;
         96: out <= 28'h190040;
         97: out <= 28'h6640066;
         98: out <= 28'h7a44066;
         99: out <= 28'h79e005c;
         100: out <= 28'h79e405b;
         101: out <= 28'h8170058;
         102: out <= 28'h5d74058;
         103: out <= 28'h5d7005c;
         104: out <= 28'h5d7005b;
         105: out <= 28'h5d74065;
         106: out <= 28'h5d7405d;
         107: out <= 28'h3d64052;
         108: out <= 28'h4404053;
         109: out <= 28'h194052;
         110: out <= 28'h4054;
         111: out <= 28'h59e4053;
         112: out <= 28'h5964055;
         113: out <= 28'h520405a;
         114: out <= 28'h557405f;
         115: out <= 28'h4804041;
         116: out <= 28'h4d64041;
         117: out <= 28'h24f8041;
         118: out <= 28'hf0052;
         119: out <= 28'h54;
         120: out <= 28'h58fea0f;
         121: out <= 28'h5cfea12;
         122: out <= 28'h612ea14;
         123: out <= 28'h654ea14;
         124: out <= 28'hea00;
         125: out <= 28'h5d70058;
         126: out <= 28'h6164058;
         127: out <= 28'h6594057;
         128: out <= 28'h57;
         129: out <= 28'h4056;
         130: out <= 28'h5910053;
         131: out <= 28'h5960055;
         132: out <= 28'h5d1ea11;
         133: out <= 28'h691ea13;
         134: out <= 28'h6d3ea15;
         135: out <= 28'h715ea15;
         136: out <= 28'h596ea16;
         137: out <= 28'h69a005b;
         138: out <= 28'h6d7405b;
         139: out <= 28'h71c405a;
         140: out <= 28'h596005a;
         141: out <= 28'h5964057;
         142: out <= 28'h5cf0052;
         143: out <= 28'h68f0054;
         144: out <= 28'h7520054;
         145: out <= 28'h7910053;
         146: out <= 28'h7d10055;
         147: out <= 28'h8130055;
         148: out <= 28'h84fea11;
         149: out <= 28'h892ea13;
         150: out <= 28'h8d4ea15;
         151: out <= 28'h5d7ea1e;
         152: out <= 28'h69aea1f;
         153: out <= 28'h75dea20;
         154: out <= 28'h7a14062;
         155: out <= 28'h7de4063;
         156: out <= 28'h7df005d;
         157: out <= 28'h5d7405e;
         158: out <= 28'h5d7005d;
         159: out <= 28'h69a405e;
         160: out <= 28'h758405b;
         161: out <= 28'h799405c;
         162: out <= 28'h8004056;
         163: out <= 28'h618005b;
         164: out <= 28'h659005c;
         165: out <= 28'h56;
         166: out <= 28'h5980059;
         167: out <= 28'h6d84040;
         168: out <= 28'h7194058;
         169: out <= 28'h840405c;
         170: out <= 28'h898ea18;
         171: out <= 28'h8d9ea19;
         172: out <= 28'h900ea00;
         173: out <= 28'h658ea19;
         174: out <= 28'h618ea00;
         175: out <= 28'hea16;
         176: out <= 28'h5a2ea1b;
         177: out <= 28'h6e3ea1c;
         178: out <= 28'h724ea21;
         179: out <= 28'h596005b;
         180: out <= 28'h596005c;
         181: out <= 28'h6d60041;
         182: out <= 28'h71b8041;
         183: out <= 28'h71bea1c;
         184: out <= 28'h71c8041;
         185: out <= 28'h71bea1c;
         186: out <= 28'h85c8041;
         187: out <= 28'h6dbea21;
         188: out <= 28'h85b80c1;
         189: out <= 28'h71cea21;
         190: out <= 28'h71c8101;
         191: out <= 28'h71bea1c;
         192: out <= 28'h85c8101;
         193: out <= 28'h6dbea21;
         194: out <= 28'h85b83c1;
         195: out <= 28'h6dbea21;
         196: out <= 28'h85b8781;
         197: out <= 28'h6dbea21;
         198: out <= 28'h85b8f01;
         199: out <= 28'h6dbea21;
         200: out <= 28'h85b82c1;
         201: out <= 28'h71cea21;
         202: out <= 28'h71c9e01;
         203: out <= 28'h6dbea1c;
         204: out <= 28'h71bbec1;
         205: out <= 28'h6dbea1c;
         206: out <= 28'h6db8041;
         207: out <= 28'h59bea16;
         208: out <= 28'h59bea16;
         209: out <= 28'h6e34064;
         210: out <= 28'h722405b;
         211: out <= 28'h1c4040;
         212: out <= 28'h6644059;
         213: out <= 28'h61b4058;
         214: out <= 28'h16ea00;
         215: out <= 28'h656ea19;
         216: out <= 28'h596ea18;
         217: out <= 28'h61d005e;
         218: out <= 28'h6dd0060;
         219: out <= 28'h71e0060;
         220: out <= 28'h8400059;
         221: out <= 28'h8800056;
         222: out <= 28'h8d90056;
         223: out <= 28'h75dea00;
         224: out <= 28'h79eea19;
         225: out <= 28'h820ea16;
         226: out <= 28'h618ea21;
         227: out <= 28'h6dbea22;
         228: out <= 28'h71cea23;
         229: out <= 28'h75d405e;
         230: out <= 28'h79d4060;
         231: out <= 28'h79e005c;
         232: out <= 28'h618405d;
         233: out <= 28'h618005c;
         234: out <= 28'h6db405d;
         235: out <= 28'h71f0057;
         236: out <= 28'h75f005a;
         237: out <= 28'h817005a;
         238: out <= 28'h8400059;
         239: out <= 28'h8800056;
         240: out <= 28'h8d90056;
         241: out <= 28'h1fea00;
         242: out <= 28'h5d7ea19;
         243: out <= 28'h59aea16;
         244: out <= 28'h65cea21;
         245: out <= 28'h69dea22;
         246: out <= 28'h720ea23;
         247: out <= 28'h4057;
         248: out <= 28'h5804056;
         249: out <= 28'h596005c;
         250: out <= 28'h5d94040;
         251: out <= 28'h5d7005c;
         252: out <= 28'h1a4040;
         253: out <= 28'h65e0056;
         254: out <= 28'h6980057;
         255: out <= 28'h71b4040;
         256: out <= 28'h75eea1b;
         257: out <= 28'h7d6ea00;
         258: out <= 28'h6d8ea1b;
         259: out <= 28'h17ea00;
         260: out <= 28'h819ea1c;
         261: out <= 28'h596ea18;
         262: out <= 28'h5deea17;
         263: out <= 28'h619ea1a;
         264: out <= 28'h65aea1c;
         265: out <= 28'h6960057;
         266: out <= 28'h61a4058;
         267: out <= 28'h69b0040;
         268: out <= 28'h69a005a;
         269: out <= 28'h405b;
         270: out <= 28'h6df405d;
         271: out <= 28'h6db0060;
         272: out <= 28'h702005d;
         273: out <= 28'h71c005f;
         274: out <= 28'h71c405a;
         275: out <= 28'h5974056;
         276: out <= 28'h59b0056;
         277: out <= 28'h5d80041;
         278: out <= 28'h7590040;
         279: out <= 28'h6dd005b;
         280: out <= 28'h618005a;
         281: out <= 28'h6180058;
         282: out <= 28'h190040;
         283: out <= 28'h40;
         284: out <= 28'h65c8041;
         285: out <= 28'h6968041;
         286: out <= 28'h7578041;
         287: out <= 28'h79b8041;
         288: out <= 28'h7d88041;
         289: out <= 28'h8008041;
         290: out <= 28'h659005d;
         291: out <= 28'h659005f;
         292: out <= 28'h69a005a;
         293: out <= 28'h69a405e;
         294: out <= 28'h69a4060;
         295: out <= 28'h75d405f;
         296: out <= 28'h7a0405e;
         297: out <= 28'h8200060;
         298: out <= 28'h6598041;
         299: out <= 28'h69a8041;
         300: out <= 28'h75d8041;
         301: out <= 28'h79e8041;
         302: out <= 28'h7df8041;
         303: out <= 28'h8208041;
         304: out <= 28'h659005d;
         305: out <= 28'h659005f;
         306: out <= 28'h69a005a;
         307: out <= 28'h69a405e;
         308: out <= 28'h69a4060;
         309: out <= 28'h75d405f;
         310: out <= 28'h7a0405e;
         311: out <= 28'h8200060;
         312: out <= 28'h85c0056;
         313: out <= 28'h897005b;
         314: out <= 28'h8d84040;
         315: out <= 28'h91cea18;
         316: out <= 28'h956ea00;
         317: out <= 28'h617ea18;
         318: out <= 28'h1bea00;
         319: out <= 28'h9a1ea23;
         320: out <= 28'h596ea17;
         321: out <= 28'h5dcea1b;
         322: out <= 28'h6e1ea22;
         323: out <= 28'h722ea23;
         324: out <= 28'h8560057;
         325: out <= 28'h6e1405b;
         326: out <= 28'h8580040;
         327: out <= 28'h8610061;
         328: out <= 28'h4058;
         329: out <= 28'h6254064;
         330: out <= 28'h6180066;
         331: out <= 28'h8820064;
         332: out <= 28'h8a20065;
         333: out <= 28'h8a24061;
         334: out <= 28'h5974056;
         335: out <= 28'h5980056;
         336: out <= 28'h5db0041;
         337: out <= 28'h8dc0040;
         338: out <= 28'h6230058;
         339: out <= 28'h6db0061;
         340: out <= 28'h6db005b;
         341: out <= 28'h1c0040;
         342: out <= 28'h40;
         343: out <= 28'h69a005a;
         344: out <= 28'h71e005e;
         345: out <= 28'h7a00060;
         346: out <= 28'h819005f;
         347: out <= 28'h860005d;
         348: out <= 28'h820405d;
         349: out <= 28'h8e2005b;
         350: out <= 28'h9230057;
         351: out <= 28'h8e34057;
         352: out <= 28'h659405f;
         353: out <= 28'h959405c;
         354: out <= 28'h659005c;
         355: out <= 28'h8a2405b;
         356: out <= 28'h9a24058;
         357: out <= 28'h8a20058;
         358: out <= 28'h9da005e;
         359: out <= 28'ha27005c;
         360: out <= 28'h727405c;
         361: out <= 28'h9d60040;
         362: out <= 28'ha670058;
         363: out <= 28'h6274058;
         364: out <= 28'h69a405e;
         365: out <= 28'h9da005d;
         366: out <= 28'h69a405d;
         367: out <= 28'h5964040;
         368: out <= 28'h7560057;
         369: out <= 28'h5964057;
         370: out <= 28'h5e10068;
         371: out <= 28'haa40069;
         372: out <= 28'hae50067;
         373: out <= 28'hb26005d;
         374: out <= 28'hb60005c;
         375: out <= 28'hba30058;
         376: out <= 28'hbd9005a;
         377: out <= 28'hc220056;
         378: out <= 28'hc5f005e;
         379: out <= 28'hc9b0040;
         380: out <= 28'h861ea24;
         381: out <= 28'h5d7ea2a;
         382: out <= 28'h928ea29;
         383: out <= 28'h965ea26;
         384: out <= 28'h9abea2c;
         385: out <= 28'h767ea1d;
         386: out <= 28'h820ea23;
         387: out <= 28'h8edea2e;
         388: out <= 28'h61cea18;
         389: out <= 28'h659ea22;
         390: out <= 28'h72fea30;
         391: out <= 28'h59aea16;
         392: out <= 28'h69fea1b;
         393: out <= 28'h6f1ea32;
         394: out <= 28'h1eea00;
         395: out <= 28'h7a10066;
         396: out <= 28'h79e005a;
         397: out <= 28'h7e4005c;
         398: out <= 28'h7df0040;
         399: out <= 28'h6a0005a;
         400: out <= 28'h180040;
         401: out <= 28'h40;
         402: out <= 28'h623005b;
         403: out <= 28'h8000064;
         404: out <= 28'h89a4061;
         405: out <= 28'h4064;
         406: out <= 28'h5d;
         407: out <= 28'h56;
         408: out <= 28'h69a0061;
         409: out <= 28'h69a4065;
         410: out <= 28'h69a4059;
         411: out <= 28'h25f405e;
         412: out <= 28'h2494065;
         413: out <= 28'h2490056;
         414: out <= 28'h29e005f;
         415: out <= 28'h28a4057;
         416: out <= 28'h28a005d;
         417: out <= 28'h28a0059;
         418: out <= 28'h28a405b;
         419: out <= 28'h2e00062;
         420: out <= 28'h3204062;
         421: out <= 28'h30c0058;
         422: out <= 28'h30c4057;
         423: out <= 28'h340005a;
         424: out <= 28'h380405a;
         425: out <= 28'h38e0058;
         426: out <= 28'h38e0057;
         427: out <= 28'h38e4066;
         428: out <= 28'h38e405c;
         default: out <= 0;
      endcase
endmodule
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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