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

Subversion Repositories ft816float

[/] [ft816float/] [trunk/] [rtl/] [verilog2/] [DFPRes128.sv] - Blame information for rev 89

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

Line No. Rev Author Line
1 71 robfinch
// ============================================================================
2
//        __
3
//   \\__/ o\    (C) 2020-2022  Robert Finch, Waterloo
4
//    \  __ /    All rights reserved.
5
//     \/_//     robfinch@finitron.ca
6
//       ||
7
//
8
//      DFPRes128.sv
9
//  - estimate the reciprocal of number between 0.1 and 1.0
10
//  - the reciprocal is between 1.00 and 9.99
11
//
12
// See: http://speleotrove.com/decimal/DPDecimal.html
13
//
14
// BSD 3-Clause License
15
// Redistribution and use in source and binary forms, with or without
16
// modification, are permitted provided that the following conditions are met:
17
//
18
// 1. Redistributions of source code must retain the above copyright notice, this
19
//    list of conditions and the following disclaimer.
20
//
21
// 2. Redistributions in binary form must reproduce the above copyright notice,
22
//    this list of conditions and the following disclaimer in the documentation
23
//    and/or other materials provided with the distribution.
24
//
25
// 3. Neither the name of the copyright holder nor the names of its
26
//    contributors may be used to endorse or promote products derived from
27
//    this software without specific prior written permission.
28
//
29
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
30
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
31
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
32
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
33
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
35
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
36
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
37
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
38
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39
//
40
// ============================================================================
41
 
42
import DFPPkg::*;
43
 
44
module DFPRes128(clk, i, o);
45
input clk;
46
input [127:0] i;
47
output [127:0] o;
48
 
49
DFP128U iu, ou;
50
DFPUnpack128 u1 (i, iu);
51
 
52
reg [11:0] ndx;
53
(* ram_style = "block" *)
54
reg [23:0] mem [0:4095];
55
 
56
initial begin
57
        mem[16'h000] = 24'hFFFFFF; //xxxxxxxxx
58
        mem[16'h001] = 24'h000000; //005f5e100
59
        mem[16'h002] = 24'h000000; //002faf080
60
        mem[16'h003] = 24'h333333; //001fca055
61
        mem[16'h004] = 24'h000000; //0017d7840
62
        mem[16'h005] = 24'h000000; //001312d00
63
        mem[16'h006] = 24'h666666; //000fe502a
64
        mem[16'h007] = 24'h285714; //000d9fb92
65
        mem[16'h008] = 24'h500000; //000bebc20
66
        mem[16'h009] = 24'h111111; //000a98ac7
67
        mem[16'h080] = 24'h250000; //0001312d0
68
        mem[16'h081] = 24'h234567; //00012d687
69
        mem[16'h800] = 24'h125000; //00001e848
70
        mem[16'h801] = 24'h124843; //00001e7ab
71
        mem[16'h880] = 24'h113636; //00001bbe4
72
        mem[16'h881] = 24'h113507; //00001bb63
73
        mem[16'h010] = 24'h000000; //000989680
74
        mem[16'h011] = 24'h090909; //0008ab75d
75
        mem[16'h012] = 24'h333333; //0007f2815
76
        mem[16'h013] = 24'h692307; //000756013
77
        mem[16'h014] = 24'h142857; //0006cfdc9
78
        mem[16'h015] = 24'h666666; //00065b9aa
79
        mem[16'h016] = 24'h250000; //0005f5e10
80
        mem[16'h017] = 24'h882352; //00059c1f0
81
        mem[16'h018] = 24'h555555; //00054c563
82
        mem[16'h019] = 24'h263157; //000504f35
83
        mem[16'h090] = 24'h111111; //00010f447
84
        mem[16'h091] = 24'h098901; //00010c495
85
        mem[16'h810] = 24'h123456; //00001e240
86
        mem[16'h811] = 24'h123304; //00001e1a8
87
        mem[16'h890] = 24'h112359; //00001b6e7
88
        mem[16'h891] = 24'h112233; //00001b669
89
        mem[16'h020] = 24'h000000; //0004c4b40
90
        mem[16'h021] = 24'h761904; //00048a930
91
        mem[16'h022] = 24'h545454; //000455bae
92
        mem[16'h023] = 24'h347826; //0004257b2
93
        mem[16'h024] = 24'h166666; //0003f940a
94
        mem[16'h025] = 24'h000000; //0003d0900
95
        mem[16'h026] = 24'h846153; //0003ab009
96
        mem[16'h027] = 24'h703703; //000388397
97
        mem[16'h028] = 24'h571428; //000367ee4
98
        mem[16'h029] = 24'h448275; //000349dd3
99
        mem[16'h082] = 24'h219512; //000129bb8
100
        mem[16'h083] = 24'h204819; //000126253
101
        mem[16'h820] = 24'h121951; //00001dc5f
102
        mem[16'h821] = 24'h121802; //00001dbca
103
        mem[16'h808] = 24'h123762; //00001e372
104
        mem[16'h809] = 24'h123609; //00001e2d9
105
        mem[16'h030] = 24'h333333; //00032dcd5
106
        mem[16'h031] = 24'h225806; //0003138ce
107
        mem[16'h032] = 24'h125000; //0002faf08
108
        mem[16'h033] = 24'h030303; //0002e3d1f
109
        mem[16'h034] = 24'h941176; //0002ce0f8
110
        mem[16'h035] = 24'h857142; //0002b98b6
111
        mem[16'h036] = 24'h777777; //0002a62b1
112
        mem[16'h037] = 24'h702702; //000293d6e
113
        mem[16'h038] = 24'h631578; //00028279a
114
        mem[16'h039] = 24'h564102; //000272006
115
        mem[16'h092] = 24'h086956; //0001095ec
116
        mem[16'h093] = 24'h075268; //000106844
117
        mem[16'h830] = 24'h120481; //00001d6a1
118
        mem[16'h831] = 24'h120336; //00001d610
119
        mem[16'h818] = 24'h122249; //00001dd89
120
        mem[16'h819] = 24'h122100; //00001dcf4
121
        mem[16'h040] = 24'h500000; //0002625a0
122
        mem[16'h041] = 24'h439024; //000253770
123
        mem[16'h042] = 24'h380952; //000245498
124
        mem[16'h043] = 24'h325581; //000237c4d
125
        mem[16'h044] = 24'h272727; //00022add7
126
        mem[16'h045] = 24'h222222; //00021e88e
127
        mem[16'h046] = 24'h173913; //000212bd9
128
        mem[16'h047] = 24'h127659; //00020772b
129
        mem[16'h048] = 24'h083333; //0001fca05
130
        mem[16'h049] = 24'h040816; //0001f23f0
131
        mem[16'h084] = 24'h190476; //000122a4c
132
        mem[16'h085] = 24'h176470; //00011f396
133
        mem[16'h840] = 24'h119047; //00001d107
134
        mem[16'h841] = 24'h118906; //00001d07a
135
        mem[16'h088] = 24'h136363; //0001156eb
136
        mem[16'h089] = 24'h123595; //00011250b
137
        mem[16'h050] = 24'h000000; //0001e8480
138
        mem[16'h051] = 24'h960784; //0001deb50
139
        mem[16'h052] = 24'h923076; //0001d5804
140
        mem[16'h053] = 24'h886792; //0001cca48
141
        mem[16'h054] = 24'h851851; //0001c41cb
142
        mem[16'h055] = 24'h818181; //0001bbe45
143
        mem[16'h056] = 24'h785714; //0001b3f72
144
        mem[16'h057] = 24'h754385; //0001ac511
145
        mem[16'h058] = 24'h724137; //0001a4ee9
146
        mem[16'h059] = 24'h694915; //00019dcc3
147
        mem[16'h094] = 24'h063829; //000103b95
148
        mem[16'h095] = 24'h052631; //000100fd7
149
        mem[16'h850] = 24'h117647; //00001cb8f
150
        mem[16'h851] = 24'h117508; //00001cb04
151
        mem[16'h098] = 24'h020408; //0000f91f8
152
        mem[16'h099] = 24'h010101; //0000f69b5
153
        mem[16'h060] = 24'h666666; //000196e6a
154
        mem[16'h061] = 24'h639344; //0001903b0
155
        mem[16'h062] = 24'h612903; //000189c67
156
        mem[16'h063] = 24'h587301; //000183865
157
        mem[16'h064] = 24'h562500; //00017d784
158
        mem[16'h065] = 24'h538461; //00017799d
159
        mem[16'h066] = 24'h515151; //000171e8f
160
        mem[16'h067] = 24'h492537; //00016c639
161
        mem[16'h068] = 24'h470588; //00016707c
162
        mem[16'h069] = 24'h449275; //000161d3b
163
        mem[16'h086] = 24'h162790; //00011be26
164
        mem[16'h087] = 24'h149425; //0001189f1
165
        mem[16'h860] = 24'h116279; //00001c637
166
        mem[16'h861] = 24'h116144; //00001c5b0
167
        mem[16'h888] = 24'h112612; //00001b7e4
168
        mem[16'h889] = 24'h112485; //00001b765
169
        mem[16'h070] = 24'h428571; //00015cc5b
170
        mem[16'h071] = 24'h408450; //000157dc2
171
        mem[16'h072] = 24'h388888; //000153158
172
        mem[16'h073] = 24'h369863; //00014e707
173
        mem[16'h074] = 24'h351351; //000149eb7
174
        mem[16'h075] = 24'h333333; //000145855
175
        mem[16'h076] = 24'h315789; //0001413cd
176
        mem[16'h077] = 24'h298701; //00013d10d
177
        mem[16'h078] = 24'h282051; //000139003
178
        mem[16'h079] = 24'h265822; //00013509e
179
        mem[16'h096] = 24'h041666; //0000fe502
180
        mem[16'h097] = 24'h030927; //0000fbb0f
181
        mem[16'h870] = 24'h114942; //00001c0fe
182
        mem[16'h871] = 24'h114810; //00001c07a
183
        mem[16'h898] = 24'h111358; //00001b2fe
184
        mem[16'h899] = 24'h111234; //00001b282
185
        mem[16'h100] = 24'h999999; //0000f4240
186
        mem[16'h101] = 24'h990099; //0000f1b93
187
        mem[16'h102] = 24'h980392; //0000ef5a8
188
        mem[16'h103] = 24'h970873; //0000ed079
189
        mem[16'h104] = 24'h961538; //0000eac02
190
        mem[16'h105] = 24'h952380; //0000e883c
191
        mem[16'h106] = 24'h943396; //0000e6524
192
        mem[16'h107] = 24'h934579; //0000e42b3
193
        mem[16'h108] = 24'h925925; //0000e20e5
194
        mem[16'h109] = 24'h917431; //0000dffb7
195
        mem[16'h180] = 24'h555555; //000087a23
196
        mem[16'h181] = 24'h552486; //000086e26
197
        mem[16'h900] = 24'h111111; //00001b207
198
        mem[16'h901] = 24'h110987; //00001b18b
199
        mem[16'h980] = 24'h102040; //000018e98
200
        mem[16'h981] = 24'h101936; //000018e30
201
        mem[16'h110] = 24'h909090; //0000ddf22
202
        mem[16'h111] = 24'h900900; //0000dbf24
203
        mem[16'h112] = 24'h892857; //0000d9fb9
204
        mem[16'h113] = 24'h884955; //0000d80db
205
        mem[16'h114] = 24'h877192; //0000d6288
206
        mem[16'h115] = 24'h869565; //0000d44bd
207
        mem[16'h116] = 24'h862068; //0000d2774
208
        mem[16'h117] = 24'h854700; //0000d0aac
209
        mem[16'h118] = 24'h847457; //0000cee61
210
        mem[16'h119] = 24'h840336; //0000cd290
211
        mem[16'h190] = 24'h526315; //0000807eb
212
        mem[16'h191] = 24'h523560; //00007fd28
213
        mem[16'h910] = 24'h109890; //00001ad42
214
        mem[16'h911] = 24'h109769; //00001acc9
215
        mem[16'h990] = 24'h101010; //000018a92
216
        mem[16'h991] = 24'h100908; //000018a2c
217
        mem[16'h120] = 24'h833333; //0000cb735
218
        mem[16'h121] = 24'h826446; //0000c9c4e
219
        mem[16'h122] = 24'h819672; //0000c81d8
220
        mem[16'h123] = 24'h813008; //0000c67d0
221
        mem[16'h124] = 24'h806451; //0000c4e33
222
        mem[16'h125] = 24'h800000; //0000c3500
223
        mem[16'h126] = 24'h793650; //0000c1c32
224
        mem[16'h127] = 24'h787401; //0000c03c9
225
        mem[16'h128] = 24'h781250; //0000bebc2
226
        mem[16'h129] = 24'h775193; //0000bd419
227
        mem[16'h182] = 24'h549450; //00008624a
228
        mem[16'h183] = 24'h546448; //000085690
229
        mem[16'h920] = 24'h108695; //00001a897
230
        mem[16'h921] = 24'h108577; //00001a821
231
        mem[16'h908] = 24'h110132; //00001ae34
232
        mem[16'h909] = 24'h110011; //00001adbb
233
        mem[16'h130] = 24'h769230; //0000bbcce
234
        mem[16'h131] = 24'h763358; //0000ba5de
235
        mem[16'h132] = 24'h757575; //0000b8f47
236
        mem[16'h133] = 24'h751879; //0000b7907
237
        mem[16'h134] = 24'h746268; //0000b631c
238
        mem[16'h135] = 24'h740740; //0000b4d84
239
        mem[16'h136] = 24'h735294; //0000b383e
240
        mem[16'h137] = 24'h729927; //0000b2347
241
        mem[16'h138] = 24'h724637; //0000b0e9d
242
        mem[16'h139] = 24'h719424; //0000afa40
243
        mem[16'h192] = 24'h520833; //00007f281
244
        mem[16'h193] = 24'h518134; //00007e7f6
245
        mem[16'h930] = 24'h107526; //00001a406
246
        mem[16'h931] = 24'h107411; //00001a393
247
        mem[16'h918] = 24'h108932; //00001a984
248
        mem[16'h919] = 24'h108813; //00001a90d
249
        mem[16'h140] = 24'h714285; //0000ae62d
250
        mem[16'h141] = 24'h709219; //0000ad263
251
        mem[16'h142] = 24'h704225; //0000abee1
252
        mem[16'h143] = 24'h699300; //0000aaba4
253
        mem[16'h144] = 24'h694444; //0000a98ac
254
        mem[16'h145] = 24'h689655; //0000a85f7
255
        mem[16'h146] = 24'h684931; //0000a7383
256
        mem[16'h147] = 24'h680272; //0000a6150
257
        mem[16'h148] = 24'h675675; //0000a4f5b
258
        mem[16'h149] = 24'h671140; //0000a3da4
259
        mem[16'h184] = 24'h543478; //000084af6
260
        mem[16'h185] = 24'h540540; //000083f7c
261
        mem[16'h940] = 24'h106382; //000019f8e
262
        mem[16'h941] = 24'h106269; //000019f1d
263
        mem[16'h188] = 24'h531914; //000081dca
264
        mem[16'h189] = 24'h529100; //0000812cc
265
        mem[16'h150] = 24'h666666; //0000a2c2a
266
        mem[16'h151] = 24'h662251; //0000a1aeb
267
        mem[16'h152] = 24'h657894; //0000a09e6
268
        mem[16'h153] = 24'h653594; //00009f91a
269
        mem[16'h154] = 24'h649350; //00009e886
270
        mem[16'h155] = 24'h645161; //00009d829
271
        mem[16'h156] = 24'h641025; //00009c801
272
        mem[16'h157] = 24'h636942; //00009b80e
273
        mem[16'h158] = 24'h632911; //00009a84f
274
        mem[16'h159] = 24'h628930; //0000998c2
275
        mem[16'h194] = 24'h515463; //00007dd87
276
        mem[16'h195] = 24'h512820; //00007d334
277
        mem[16'h950] = 24'h105263; //000019b2f
278
        mem[16'h951] = 24'h105152; //000019ac0
279
        mem[16'h198] = 24'h505050; //00007b4da
280
        mem[16'h199] = 24'h502512; //00007aaf0
281
        mem[16'h160] = 24'h625000; //000098968
282
        mem[16'h161] = 24'h621118; //000097a3e
283
        mem[16'h162] = 24'h617283; //000096b43
284
        mem[16'h163] = 24'h613496; //000095c78
285
        mem[16'h164] = 24'h609756; //000094ddc
286
        mem[16'h165] = 24'h606060; //000093f6c
287
        mem[16'h166] = 24'h602409; //000093129
288
        mem[16'h167] = 24'h598802; //000092312
289
        mem[16'h168] = 24'h595238; //000091526
290
        mem[16'h169] = 24'h591715; //000090763
291
        mem[16'h186] = 24'h537634; //000083422
292
        mem[16'h187] = 24'h534759; //0000828e7
293
        mem[16'h960] = 24'h104166; //0000196e6
294
        mem[16'h961] = 24'h104058; //00001967a
295
        mem[16'h988] = 24'h101214; //000018b5e
296
        mem[16'h989] = 24'h101112; //000018af8
297
        mem[16'h170] = 24'h588235; //00008f9cb
298
        mem[16'h171] = 24'h584795; //00008ec5b
299
        mem[16'h172] = 24'h581395; //00008df13
300
        mem[16'h173] = 24'h578034; //00008d1f2
301
        mem[16'h174] = 24'h574712; //00008c4f8
302
        mem[16'h175] = 24'h571428; //00008b824
303
        mem[16'h176] = 24'h568181; //00008ab75
304
        mem[16'h177] = 24'h564971; //000089eeb
305
        mem[16'h178] = 24'h561797; //000089285
306
        mem[16'h179] = 24'h558659; //000088643
307
        mem[16'h196] = 24'h510204; //00007c8fc
308
        mem[16'h197] = 24'h507614; //00007bede
309
        mem[16'h970] = 24'h103092; //0000192b4
310
        mem[16'h971] = 24'h102986; //00001924a
311
        mem[16'h998] = 24'h100200; //000018768
312
        mem[16'h999] = 24'h100100; //000018704
313
        mem[16'h200] = 24'h500000; //00007a120
314
        mem[16'h201] = 24'h497512; //000079768
315
        mem[16'h202] = 24'h495049; //000078dc9
316
        mem[16'h203] = 24'h492610; //000078442
317
        mem[16'h204] = 24'h490196; //000077ad4
318
        mem[16'h205] = 24'h487804; //00007717c
319
        mem[16'h206] = 24'h485436; //00007683c
320
        mem[16'h207] = 24'h483091; //000075f13
321
        mem[16'h208] = 24'h480769; //000075601
322
        mem[16'h209] = 24'h478468; //000074d04
323
        mem[16'h280] = 24'h357142; //000057316
324
        mem[16'h281] = 24'h355871; //000056e1f
325
        mem[16'h802] = 24'h124688; //00001e710
326
        mem[16'h803] = 24'h124533; //00001e675
327
        mem[16'h882] = 24'h113378; //00001bae2
328
        mem[16'h883] = 24'h113250; //00001ba62
329
        mem[16'h210] = 24'h476190; //00007441e
330
        mem[16'h211] = 24'h473933; //000073b4d
331
        mem[16'h212] = 24'h471698; //000073292
332
        mem[16'h213] = 24'h469483; //0000729eb
333
        mem[16'h214] = 24'h467289; //000072159
334
        mem[16'h215] = 24'h465116; //0000718dc
335
        mem[16'h216] = 24'h462962; //000071072
336
        mem[16'h217] = 24'h460829; //00007081d
337
        mem[16'h218] = 24'h458715; //00006ffdb
338
        mem[16'h219] = 24'h456621; //00006f7ad
339
        mem[16'h290] = 24'h344827; //0000542fb
340
        mem[16'h291] = 24'h343642; //000053e5a
341
        mem[16'h812] = 24'h123152; //00001e110
342
        mem[16'h813] = 24'h123001; //00001e079
343
        mem[16'h892] = 24'h112107; //00001b5eb
344
        mem[16'h893] = 24'h111982; //00001b56e
345
        mem[16'h220] = 24'h454545; //00006ef91
346
        mem[16'h221] = 24'h452488; //00006e788
347
        mem[16'h222] = 24'h450450; //00006df92
348
        mem[16'h223] = 24'h448430; //00006d7ae
349
        mem[16'h224] = 24'h446428; //00006cfdc
350
        mem[16'h225] = 24'h444444; //00006c81c
351
        mem[16'h226] = 24'h442477; //00006c06d
352
        mem[16'h227] = 24'h440528; //00006b8d0
353
        mem[16'h228] = 24'h438596; //00006b144
354
        mem[16'h229] = 24'h436681; //00006a9c9
355
        mem[16'h282] = 24'h354609; //000056931
356
        mem[16'h283] = 24'h353356; //00005644c
357
        mem[16'h822] = 24'h121654; //00001db36
358
        mem[16'h823] = 24'h121506; //00001daa2
359
        mem[16'h828] = 24'h120772; //00001d7c4
360
        mem[16'h829] = 24'h120627; //00001d733
361
        mem[16'h230] = 24'h434782; //00006a25e
362
        mem[16'h231] = 24'h432900; //000069b04
363
        mem[16'h232] = 24'h431034; //0000693ba
364
        mem[16'h233] = 24'h429184; //000068c80
365
        mem[16'h234] = 24'h427350; //000068556
366
        mem[16'h235] = 24'h425531; //000067e3b
367
        mem[16'h236] = 24'h423728; //000067730
368
        mem[16'h237] = 24'h421940; //000067034
369
        mem[16'h238] = 24'h420168; //000066948
370
        mem[16'h239] = 24'h418410; //00006626a
371
        mem[16'h292] = 24'h342465; //0000539c1
372
        mem[16'h293] = 24'h341296; //000053530
373
        mem[16'h832] = 24'h120192; //00001d580
374
        mem[16'h833] = 24'h120048; //00001d4f0
375
        mem[16'h838] = 24'h119331; //00001d223
376
        mem[16'h839] = 24'h119189; //00001d195
377
        mem[16'h240] = 24'h416666; //000065b9a
378
        mem[16'h241] = 24'h414937; //0000654d9
379
        mem[16'h242] = 24'h413223; //000064e27
380
        mem[16'h243] = 24'h411522; //000064782
381
        mem[16'h244] = 24'h409836; //0000640ec
382
        mem[16'h245] = 24'h408163; //000063a63
383
        mem[16'h246] = 24'h406504; //0000633e8
384
        mem[16'h247] = 24'h404858; //000062d7a
385
        mem[16'h248] = 24'h403225; //000062719
386
        mem[16'h249] = 24'h401606; //0000620c6
387
        mem[16'h284] = 24'h352112; //000055f70
388
        mem[16'h285] = 24'h350877; //000055a9d
389
        mem[16'h842] = 24'h118764; //00001cfec
390
        mem[16'h843] = 24'h118623; //00001cf5f
391
        mem[16'h288] = 24'h347222; //000054c56
392
        mem[16'h289] = 24'h346020; //0000547a4
393
        mem[16'h250] = 24'h400000; //000061a80
394
        mem[16'h251] = 24'h398406; //000061446
395
        mem[16'h252] = 24'h396825; //000060e19
396
        mem[16'h253] = 24'h395256; //0000607f8
397
        mem[16'h254] = 24'h393700; //0000601e4
398
        mem[16'h255] = 24'h392156; //00005fbdc
399
        mem[16'h256] = 24'h390625; //00005f5e1
400
        mem[16'h257] = 24'h389105; //00005eff1
401
        mem[16'h258] = 24'h387596; //00005ea0c
402
        mem[16'h259] = 24'h386100; //00005e434
403
        mem[16'h294] = 24'h340136; //0000530a8
404
        mem[16'h295] = 24'h338983; //000052c27
405
        mem[16'h852] = 24'h117370; //00001ca7a
406
        mem[16'h853] = 24'h117233; //00001c9f1
407
        mem[16'h298] = 24'h335570; //000051ed2
408
        mem[16'h299] = 24'h334448; //000051a70
409
        mem[16'h260] = 24'h384615; //00005de67
410
        mem[16'h261] = 24'h383141; //00005d8a5
411
        mem[16'h262] = 24'h381679; //00005d2ef
412
        mem[16'h263] = 24'h380228; //00005cd44
413
        mem[16'h264] = 24'h378787; //00005c7a3
414
        mem[16'h265] = 24'h377358; //00005c20e
415
        mem[16'h266] = 24'h375939; //00005bc83
416
        mem[16'h267] = 24'h374531; //00005b703
417
        mem[16'h268] = 24'h373134; //00005b18e
418
        mem[16'h269] = 24'h371747; //00005ac23
419
        mem[16'h286] = 24'h349650; //0000555d2
420
        mem[16'h287] = 24'h348432; //000055110
421
        mem[16'h862] = 24'h116009; //00001c529
422
        mem[16'h863] = 24'h115874; //00001c4a2
423
        mem[16'h000] = 24'h000000; //000000000
424
        mem[16'h000] = 24'h000000; //000000000
425
        mem[16'h270] = 24'h370370; //00005a6c2
426
        mem[16'h271] = 24'h369003; //00005a16b
427
        mem[16'h272] = 24'h367647; //000059c1f
428
        mem[16'h273] = 24'h366300; //0000596dc
429
        mem[16'h274] = 24'h364963; //0000591a3
430
        mem[16'h275] = 24'h363636; //000058c74
431
        mem[16'h276] = 24'h362318; //00005874e
432
        mem[16'h277] = 24'h361010; //000058232
433
        mem[16'h278] = 24'h359712; //000057d20
434
        mem[16'h279] = 24'h358422; //000057816
435
        mem[16'h296] = 24'h337837; //0000527ad
436
        mem[16'h297] = 24'h336700; //00005233c
437
        mem[16'h872] = 24'h114678; //00001bff6
438
        mem[16'h873] = 24'h114547; //00001bf73
439
        mem[16'h000] = 24'h000000; //000000000
440
        mem[16'h000] = 24'h000000; //000000000
441
        mem[16'h300] = 24'h333333; //000051615
442
        mem[16'h301] = 24'h332225; //0000511c1
443
        mem[16'h302] = 24'h331125; //000050d75
444
        mem[16'h303] = 24'h330033; //000050931
445
        mem[16'h304] = 24'h328947; //0000504f3
446
        mem[16'h305] = 24'h327868; //0000500bc
447
        mem[16'h306] = 24'h326797; //00004fc8d
448
        mem[16'h307] = 24'h325732; //00004f864
449
        mem[16'h308] = 24'h324675; //00004f443
450
        mem[16'h309] = 24'h323624; //00004f028
451
        mem[16'h380] = 24'h263157; //0000403f5
452
        mem[16'h381] = 24'h262467; //000040143
453
        mem[16'h902] = 24'h110864; //00001b110
454
        mem[16'h903] = 24'h110741; //00001b095
455
        mem[16'h982] = 24'h101832; //000018dc8
456
        mem[16'h983] = 24'h101729; //000018d61
457
        mem[16'h310] = 24'h322580; //00004ec14
458
        mem[16'h311] = 24'h321543; //00004e807
459
        mem[16'h312] = 24'h320512; //00004e400
460
        mem[16'h313] = 24'h319488; //00004e000
461
        mem[16'h314] = 24'h318471; //00004dc07
462
        mem[16'h315] = 24'h317460; //00004d814
463
        mem[16'h316] = 24'h316455; //00004d427
464
        mem[16'h317] = 24'h315457; //00004d041
465
        mem[16'h318] = 24'h314465; //00004cc61
466
        mem[16'h319] = 24'h313479; //00004c887
467
        mem[16'h390] = 24'h256410; //00003e99a
468
        mem[16'h391] = 24'h255754; //00003e70a
469
        mem[16'h912] = 24'h109649; //00001ac51
470
        mem[16'h913] = 24'h109529; //00001abd9
471
        mem[16'h992] = 24'h100806; //0000189c6
472
        mem[16'h993] = 24'h100704; //000018960
473
        mem[16'h320] = 24'h312500; //00004c4b4
474
        mem[16'h321] = 24'h311526; //00004c0e6
475
        mem[16'h322] = 24'h310559; //00004bd1f
476
        mem[16'h323] = 24'h309597; //00004b95d
477
        mem[16'h324] = 24'h308641; //00004b5a1
478
        mem[16'h325] = 24'h307692; //00004b1ec
479
        mem[16'h326] = 24'h306748; //00004ae3c
480
        mem[16'h327] = 24'h305810; //00004aa92
481
        mem[16'h328] = 24'h304878; //00004a6ee
482
        mem[16'h329] = 24'h303951; //00004a34f
483
        mem[16'h382] = 24'h261780; //00003fe94
484
        mem[16'h383] = 24'h261096; //00003fbe8
485
        mem[16'h922] = 24'h108459; //00001a7ab
486
        mem[16'h923] = 24'h108342; //00001a736
487
        mem[16'h928] = 24'h107758; //00001a4ee
488
        mem[16'h929] = 24'h107642; //00001a47a
489
        mem[16'h330] = 24'h303030; //000049fb6
490
        mem[16'h331] = 24'h302114; //000049c22
491
        mem[16'h332] = 24'h301204; //000049894
492
        mem[16'h333] = 24'h300300; //00004950c
493
        mem[16'h334] = 24'h299401; //000049189
494
        mem[16'h335] = 24'h298507; //000048e0b
495
        mem[16'h336] = 24'h297619; //000048a93
496
        mem[16'h337] = 24'h296735; //00004871f
497
        mem[16'h338] = 24'h295857; //0000483b1
498
        mem[16'h339] = 24'h294985; //000048049
499
        mem[16'h392] = 24'h255102; //00003e47e
500
        mem[16'h393] = 24'h254452; //00003e1f4
501
        mem[16'h932] = 24'h107296; //00001a320
502
        mem[16'h933] = 24'h107181; //00001a2ad
503
        mem[16'h938] = 24'h106609; //00001a071
504
        mem[16'h939] = 24'h106496; //00001a000
505
        mem[16'h340] = 24'h294117; //000047ce5
506
        mem[16'h341] = 24'h293255; //000047987
507
        mem[16'h342] = 24'h292397; //00004762d
508
        mem[16'h343] = 24'h291545; //0000472d9
509
        mem[16'h344] = 24'h290697; //000046f89
510
        mem[16'h345] = 24'h289855; //000046c3f
511
        mem[16'h346] = 24'h289017; //0000468f9
512
        mem[16'h347] = 24'h288184; //0000465b8
513
        mem[16'h348] = 24'h287356; //00004627c
514
        mem[16'h349] = 24'h286532; //000045f44
515
        mem[16'h384] = 24'h260416; //00003f940
516
        mem[16'h385] = 24'h259740; //00003f69c
517
        mem[16'h942] = 24'h106157; //000019ead
518
        mem[16'h943] = 24'h106044; //000019e3c
519
        mem[16'h388] = 24'h257731; //00003eec3
520
        mem[16'h389] = 24'h257069; //00003ec2d
521
        mem[16'h350] = 24'h285714; //000045c12
522
        mem[16'h351] = 24'h284900; //0000458e4
523
        mem[16'h352] = 24'h284090; //0000455ba
524
        mem[16'h353] = 24'h283286; //000045296
525
        mem[16'h354] = 24'h282485; //000044f75
526
        mem[16'h355] = 24'h281690; //000044c5a
527
        mem[16'h356] = 24'h280898; //000044942
528
        mem[16'h357] = 24'h280112; //000044630
529
        mem[16'h358] = 24'h279329; //000044321
530
        mem[16'h359] = 24'h278551; //000044017
531
        mem[16'h394] = 24'h253807; //00003df6f
532
        mem[16'h395] = 24'h253164; //00003dcec
533
        mem[16'h952] = 24'h105042; //000019a52
534
        mem[16'h953] = 24'h104931; //0000199e3
535
        mem[16'h398] = 24'h251256; //00003d578
536
        mem[16'h399] = 24'h250626; //00003d302
537
        mem[16'h360] = 24'h277777; //000043d11
538
        mem[16'h361] = 24'h277008; //000043a10
539
        mem[16'h362] = 24'h276243; //000043713
540
        mem[16'h363] = 24'h275482; //00004341a
541
        mem[16'h364] = 24'h274725; //000043125
542
        mem[16'h365] = 24'h273972; //000042e34
543
        mem[16'h366] = 24'h273224; //000042b48
544
        mem[16'h367] = 24'h272479; //00004285f
545
        mem[16'h368] = 24'h271739; //00004257b
546
        mem[16'h369] = 24'h271002; //00004229a
547
        mem[16'h386] = 24'h259067; //00003f3fb
548
        mem[16'h387] = 24'h258397; //00003f15d
549
        mem[16'h962] = 24'h103950; //00001960e
550
        mem[16'h963] = 24'h103842; //0000195a2
551
        mem[16'h000] = 24'h000000; //000000000
552
        mem[16'h000] = 24'h000000; //000000000
553
        mem[16'h370] = 24'h270270; //000041fbe
554
        mem[16'h371] = 24'h269541; //000041ce5
555
        mem[16'h372] = 24'h268817; //000041a11
556
        mem[16'h373] = 24'h268096; //000041740
557
        mem[16'h374] = 24'h267379; //000041473
558
        mem[16'h375] = 24'h266666; //0000411aa
559
        mem[16'h376] = 24'h265957; //000040ee5
560
        mem[16'h377] = 24'h265251; //000040c23
561
        mem[16'h378] = 24'h264550; //000040966
562
        mem[16'h379] = 24'h263852; //0000406ac
563
        mem[16'h396] = 24'h252525; //00003da6d
564
        mem[16'h397] = 24'h251889; //00003d7f1
565
        mem[16'h972] = 24'h102880; //0000191e0
566
        mem[16'h973] = 24'h102774; //000019176
567
        mem[16'h000] = 24'h000000; //000000000
568
        mem[16'h000] = 24'h000000; //000000000
569
        mem[16'h400] = 24'h250000; //00003d090
570
        mem[16'h401] = 24'h249376; //00003ce20
571
        mem[16'h402] = 24'h248756; //00003cbb4
572
        mem[16'h403] = 24'h248138; //00003c94a
573
        mem[16'h404] = 24'h247524; //00003c6e4
574
        mem[16'h405] = 24'h246913; //00003c481
575
        mem[16'h406] = 24'h246305; //00003c221
576
        mem[16'h407] = 24'h245700; //00003bfc4
577
        mem[16'h408] = 24'h245098; //00003bd6a
578
        mem[16'h409] = 24'h244498; //00003bb12
579
        mem[16'h480] = 24'h208333; //000032dcd
580
        mem[16'h481] = 24'h207900; //000032c1c
581
        mem[16'h804] = 24'h124378; //00001e5da
582
        mem[16'h805] = 24'h124223; //00001e53f
583
        mem[16'h884] = 24'h113122; //00001b9e2
584
        mem[16'h885] = 24'h112994; //00001b962
585
        mem[16'h410] = 24'h243902; //00003b8be
586
        mem[16'h411] = 24'h243309; //00003b66d
587
        mem[16'h412] = 24'h242718; //00003b41e
588
        mem[16'h413] = 24'h242130; //00003b1d2
589
        mem[16'h414] = 24'h241545; //00003af89
590
        mem[16'h415] = 24'h240963; //00003ad43
591
        mem[16'h416] = 24'h240384; //00003ab00
592
        mem[16'h417] = 24'h239808; //00003a8c0
593
        mem[16'h418] = 24'h239234; //00003a682
594
        mem[16'h419] = 24'h238663; //00003a447
595
        mem[16'h490] = 24'h204081; //000031d31
596
        mem[16'h491] = 24'h203665; //000031b91
597
        mem[16'h814] = 24'h122850; //00001dfe2
598
        mem[16'h815] = 24'h122699; //00001df4b
599
        mem[16'h894] = 24'h111856; //00001b4f0
600
        mem[16'h895] = 24'h111731; //00001b473
601
        mem[16'h420] = 24'h238095; //00003a20f
602
        mem[16'h421] = 24'h237529; //000039fd9
603
        mem[16'h422] = 24'h236966; //000039da6
604
        mem[16'h423] = 24'h236406; //000039b76
605
        mem[16'h424] = 24'h235849; //000039949
606
        mem[16'h425] = 24'h235294; //00003971e
607
        mem[16'h426] = 24'h234741; //0000394f5
608
        mem[16'h427] = 24'h234192; //0000392d0
609
        mem[16'h428] = 24'h233644; //0000390ac
610
        mem[16'h429] = 24'h233100; //000038e8c
611
        mem[16'h482] = 24'h207468; //000032a6c
612
        mem[16'h483] = 24'h207039; //0000328bf
613
        mem[16'h824] = 24'h121359; //00001da0f
614
        mem[16'h825] = 24'h121212; //00001d97c
615
        mem[16'h848] = 24'h117924; //00001cca4
616
        mem[16'h849] = 24'h117785; //00001cc19
617
        mem[16'h430] = 24'h232558; //000038c6e
618
        mem[16'h431] = 24'h232018; //000038a52
619
        mem[16'h432] = 24'h231481; //000038839
620
        mem[16'h433] = 24'h230946; //000038622
621
        mem[16'h434] = 24'h230414; //00003840e
622
        mem[16'h435] = 24'h229885; //0000381fd
623
        mem[16'h436] = 24'h229357; //000037fed
624
        mem[16'h437] = 24'h228832; //000037de0
625
        mem[16'h438] = 24'h228310; //000037bd6
626
        mem[16'h439] = 24'h227790; //0000379ce
627
        mem[16'h492] = 24'h203252; //0000319f4
628
        mem[16'h493] = 24'h202839; //000031857
629
        mem[16'h834] = 24'h119904; //00001d460
630
        mem[16'h835] = 24'h119760; //00001d3d0
631
        mem[16'h858] = 24'h116550; //00001c746
632
        mem[16'h859] = 24'h116414; //00001c6be
633
        mem[16'h440] = 24'h227272; //0000377c8
634
        mem[16'h441] = 24'h226757; //0000375c5
635
        mem[16'h442] = 24'h226244; //0000373c4
636
        mem[16'h443] = 24'h225733; //0000371c5
637
        mem[16'h444] = 24'h225225; //000036fc9
638
        mem[16'h445] = 24'h224719; //000036dcf
639
        mem[16'h446] = 24'h224215; //000036bd7
640
        mem[16'h447] = 24'h223713; //0000369e1
641
        mem[16'h448] = 24'h223214; //0000367ee
642
        mem[16'h449] = 24'h222717; //0000365fd
643
        mem[16'h484] = 24'h206611; //000032713
644
        mem[16'h485] = 24'h206185; //000032569
645
        mem[16'h844] = 24'h118483; //00001ced3
646
        mem[16'h845] = 24'h118343; //00001ce47
647
        mem[16'h488] = 24'h204918; //000032076
648
        mem[16'h489] = 24'h204498; //000031ed2
649
        mem[16'h450] = 24'h222222; //00003640e
650
        mem[16'h451] = 24'h221729; //000036221
651
        mem[16'h452] = 24'h221238; //000036036
652
        mem[16'h453] = 24'h220750; //000035e4e
653
        mem[16'h454] = 24'h220264; //000035c68
654
        mem[16'h455] = 24'h219780; //000035a84
655
        mem[16'h456] = 24'h219298; //0000358a2
656
        mem[16'h457] = 24'h218818; //0000356c2
657
        mem[16'h458] = 24'h218340; //0000354e4
658
        mem[16'h459] = 24'h217864; //000035308
659
        mem[16'h494] = 24'h202429; //0000316bd
660
        mem[16'h495] = 24'h202020; //000031524
661
        mem[16'h854] = 24'h117096; //00001c968
662
        mem[16'h855] = 24'h116959; //00001c8df
663
        mem[16'h498] = 24'h200803; //000031063
664
        mem[16'h499] = 24'h200400; //000030ed0
665
        mem[16'h460] = 24'h217391; //00003512f
666
        mem[16'h461] = 24'h216919; //000034f57
667
        mem[16'h462] = 24'h216450; //000034d82
668
        mem[16'h463] = 24'h215982; //000034bae
669
        mem[16'h464] = 24'h215517; //0000349dd
670
        mem[16'h465] = 24'h215053; //00003480d
671
        mem[16'h466] = 24'h214592; //000034640
672
        mem[16'h467] = 24'h214132; //000034474
673
        mem[16'h468] = 24'h213675; //0000342ab
674
        mem[16'h469] = 24'h213219; //0000340e3
675
        mem[16'h486] = 24'h205761; //0000323c1
676
        mem[16'h487] = 24'h205338; //00003221a
677
        mem[16'h864] = 24'h115740; //00001c41c
678
        mem[16'h865] = 24'h115606; //00001c396
679
        mem[16'h000] = 24'h000000; //000000000
680
        mem[16'h000] = 24'h000000; //000000000
681
        mem[16'h470] = 24'h212765; //000033f1d
682
        mem[16'h471] = 24'h212314; //000033d5a
683
        mem[16'h472] = 24'h211864; //000033b98
684
        mem[16'h473] = 24'h211416; //0000339d8
685
        mem[16'h474] = 24'h210970; //00003381a
686
        mem[16'h475] = 24'h210526; //00003365e
687
        mem[16'h476] = 24'h210084; //0000334a4
688
        mem[16'h477] = 24'h209643; //0000332eb
689
        mem[16'h478] = 24'h209205; //000033135
690
        mem[16'h479] = 24'h208768; //000032f80
691
        mem[16'h496] = 24'h201612; //00003138c
692
        mem[16'h497] = 24'h201207; //0000311f7
693
        mem[16'h874] = 24'h114416; //00001bef0
694
        mem[16'h875] = 24'h114285; //00001be6d
695
        mem[16'h000] = 24'h000000; //000000000
696
        mem[16'h000] = 24'h000000; //000000000
697
        mem[16'h500] = 24'h200000; //000030d40
698
        mem[16'h501] = 24'h199600; //000030bb0
699
        mem[16'h502] = 24'h199203; //000030a23
700
        mem[16'h503] = 24'h198807; //000030897
701
        mem[16'h504] = 24'h198412; //00003070c
702
        mem[16'h505] = 24'h198019; //000030583
703
        mem[16'h506] = 24'h197628; //0000303fc
704
        mem[16'h507] = 24'h197238; //000030276
705
        mem[16'h508] = 24'h196850; //0000300f2
706
        mem[16'h509] = 24'h196463; //00002ff6f
707
        mem[16'h580] = 24'h172413; //00002a17d
708
        mem[16'h581] = 24'h172117; //00002a055
709
        mem[16'h904] = 24'h110619; //00001b01b
710
        mem[16'h905] = 24'h110497; //00001afa1
711
        mem[16'h984] = 24'h101626; //000018cfa
712
        mem[16'h985] = 24'h101522; //000018c92
713
        mem[16'h510] = 24'h196078; //00002fdee
714
        mem[16'h511] = 24'h195694; //00002fc6e
715
        mem[16'h512] = 24'h195312; //00002faf0
716
        mem[16'h513] = 24'h194931; //00002f973
717
        mem[16'h514] = 24'h194552; //00002f7f8
718
        mem[16'h515] = 24'h194174; //00002f67e
719
        mem[16'h516] = 24'h193798; //00002f506
720
        mem[16'h517] = 24'h193423; //00002f38f
721
        mem[16'h518] = 24'h193050; //00002f21a
722
        mem[16'h519] = 24'h192678; //00002f0a6
723
        mem[16'h590] = 24'h169491; //000029613
724
        mem[16'h591] = 24'h169204; //0000294f4
725
        mem[16'h914] = 24'h109409; //00001ab61
726
        mem[16'h915] = 24'h109289; //00001aae9
727
        mem[16'h994] = 24'h100603; //0000188fb
728
        mem[16'h995] = 24'h100502; //000018896
729
        mem[16'h520] = 24'h192307; //00002ef33
730
        mem[16'h521] = 24'h191938; //00002edc2
731
        mem[16'h522] = 24'h191570; //00002ec52
732
        mem[16'h523] = 24'h191204; //00002eae4
733
        mem[16'h524] = 24'h190839; //00002e977
734
        mem[16'h525] = 24'h190476; //00002e80c
735
        mem[16'h526] = 24'h190114; //00002e6a2
736
        mem[16'h527] = 24'h189753; //00002e539
737
        mem[16'h528] = 24'h189393; //00002e3d1
738
        mem[16'h529] = 24'h189035; //00002e26b
739
        mem[16'h582] = 24'h171821; //000029f2d
740
        mem[16'h583] = 24'h171526; //000029e06
741
        mem[16'h924] = 24'h108225; //00001a6c1
742
        mem[16'h925] = 24'h108108; //00001a64c
743
        mem[16'h948] = 24'h105485; //000019c0d
744
        mem[16'h949] = 24'h105374; //000019b9e
745
        mem[16'h530] = 24'h188679; //00002e107
746
        mem[16'h531] = 24'h188323; //00002dfa3
747
        mem[16'h532] = 24'h187969; //00002de41
748
        mem[16'h533] = 24'h187617; //00002dce1
749
        mem[16'h534] = 24'h187265; //00002db81
750
        mem[16'h535] = 24'h186915; //00002da23
751
        mem[16'h536] = 24'h186567; //00002d8c7
752
        mem[16'h537] = 24'h186219; //00002d76b
753
        mem[16'h538] = 24'h185873; //00002d611
754
        mem[16'h539] = 24'h185528; //00002d4b8
755
        mem[16'h592] = 24'h168918; //0000293d6
756
        mem[16'h593] = 24'h168634; //0000292ba
757
        mem[16'h934] = 24'h107066; //00001a23a
758
        mem[16'h935] = 24'h106951; //00001a1c7
759
        mem[16'h958] = 24'h104384; //0000197c0
760
        mem[16'h959] = 24'h104275; //000019753
761
        mem[16'h540] = 24'h185185; //00002d361
762
        mem[16'h541] = 24'h184842; //00002d20a
763
        mem[16'h542] = 24'h184501; //00002d0b5
764
        mem[16'h543] = 24'h184162; //00002cf62
765
        mem[16'h544] = 24'h183823; //00002ce0f
766
        mem[16'h545] = 24'h183486; //00002ccbe
767
        mem[16'h546] = 24'h183150; //00002cb6e
768
        mem[16'h547] = 24'h182815; //00002ca1f
769
        mem[16'h548] = 24'h182481; //00002c8d1
770
        mem[16'h549] = 24'h182149; //00002c785
771
        mem[16'h584] = 24'h171232; //000029ce0
772
        mem[16'h585] = 24'h170940; //000029bbc
773
        mem[16'h944] = 24'h105932; //000019dcc
774
        mem[16'h945] = 24'h105820; //000019d5c
775
        mem[16'h588] = 24'h170068; //000029854
776
        mem[16'h589] = 24'h169779; //000029733
777
        mem[16'h550] = 24'h181818; //00002c63a
778
        mem[16'h551] = 24'h181488; //00002c4f0
779
        mem[16'h552] = 24'h181159; //00002c3a7
780
        mem[16'h553] = 24'h180831; //00002c25f
781
        mem[16'h554] = 24'h180505; //00002c119
782
        mem[16'h555] = 24'h180180; //00002bfd4
783
        mem[16'h556] = 24'h179856; //00002be90
784
        mem[16'h557] = 24'h179533; //00002bd4d
785
        mem[16'h558] = 24'h179211; //00002bc0b
786
        mem[16'h559] = 24'h178890; //00002baca
787
        mem[16'h594] = 24'h168350; //00002919e
788
        mem[16'h595] = 24'h168067; //000029083
789
        mem[16'h954] = 24'h104821; //000019975
790
        mem[16'h955] = 24'h104712; //000019908
791
        mem[16'h598] = 24'h167224; //000028d38
792
        mem[16'h599] = 24'h166944; //000028c20
793
        mem[16'h560] = 24'h178571; //00002b98b
794
        mem[16'h561] = 24'h178253; //00002b84d
795
        mem[16'h562] = 24'h177935; //00002b70f
796
        mem[16'h563] = 24'h177619; //00002b5d3
797
        mem[16'h564] = 24'h177304; //00002b498
798
        mem[16'h565] = 24'h176991; //00002b35f
799
        mem[16'h566] = 24'h176678; //00002b226
800
        mem[16'h567] = 24'h176366; //00002b0ee
801
        mem[16'h568] = 24'h176056; //00002afb8
802
        mem[16'h569] = 24'h175746; //00002ae82
803
        mem[16'h586] = 24'h170648; //000029a98
804
        mem[16'h587] = 24'h170357; //000029975
805
        mem[16'h964] = 24'h103734; //000019536
806
        mem[16'h965] = 24'h103626; //0000194ca
807
        mem[16'h000] = 24'h000000; //000000000
808
        mem[16'h000] = 24'h000000; //000000000
809
        mem[16'h570] = 24'h175438; //00002ad4e
810
        mem[16'h571] = 24'h175131; //00002ac1b
811
        mem[16'h572] = 24'h174825; //00002aae9
812
        mem[16'h573] = 24'h174520; //00002a9b8
813
        mem[16'h574] = 24'h174216; //00002a888
814
        mem[16'h575] = 24'h173913; //00002a759
815
        mem[16'h576] = 24'h173611; //00002a62b
816
        mem[16'h577] = 24'h173310; //00002a4fe
817
        mem[16'h578] = 24'h173010; //00002a3d2
818
        mem[16'h579] = 24'h172711; //00002a2a7
819
        mem[16'h596] = 24'h167785; //000028f69
820
        mem[16'h597] = 24'h167504; //000028e50
821
        mem[16'h974] = 24'h102669; //00001910d
822
        mem[16'h975] = 24'h102564; //0000190a4
823
        mem[16'h000] = 24'h000000; //000000000
824
        mem[16'h000] = 24'h000000; //000000000
825
        mem[16'h600] = 24'h166666; //000028b0a
826
        mem[16'h601] = 24'h166389; //0000289f5
827
        mem[16'h602] = 24'h166112; //0000288e0
828
        mem[16'h603] = 24'h165837; //0000287cd
829
        mem[16'h604] = 24'h165562; //0000286ba
830
        mem[16'h605] = 24'h165289; //0000285a9
831
        mem[16'h606] = 24'h165016; //000028498
832
        mem[16'h607] = 24'h164744; //000028388
833
        mem[16'h608] = 24'h164473; //000028279
834
        mem[16'h609] = 24'h164203; //00002816b
835
        mem[16'h680] = 24'h147058; //000023e72
836
        mem[16'h681] = 24'h146842; //000023d9a
837
        mem[16'h806] = 24'h124069; //00001e4a5
838
        mem[16'h807] = 24'h123915; //00001e40b
839
        mem[16'h886] = 24'h112866; //00001b8e2
840
        mem[16'h887] = 24'h112739; //00001b863
841
        mem[16'h610] = 24'h163934; //00002805e
842
        mem[16'h611] = 24'h163666; //000027f52
843
        mem[16'h612] = 24'h163398; //000027e46
844
        mem[16'h613] = 24'h163132; //000027d3c
845
        mem[16'h614] = 24'h162866; //000027c32
846
        mem[16'h615] = 24'h162601; //000027b29
847
        mem[16'h616] = 24'h162337; //000027a21
848
        mem[16'h617] = 24'h162074; //00002791a
849
        mem[16'h618] = 24'h161812; //000027814
850
        mem[16'h619] = 24'h161550; //00002770e
851
        mem[16'h690] = 24'h144927; //00002361f
852
        mem[16'h691] = 24'h144717; //00002354d
853
        mem[16'h816] = 24'h122549; //00001deb5
854
        mem[16'h817] = 24'h122399; //00001de1f
855
        mem[16'h896] = 24'h111607; //00001b3f7
856
        mem[16'h897] = 24'h111482; //00001b37a
857
        mem[16'h620] = 24'h161290; //00002760a
858
        mem[16'h621] = 24'h161030; //000027506
859
        mem[16'h622] = 24'h160771; //000027403
860
        mem[16'h623] = 24'h160513; //000027301
861
        mem[16'h624] = 24'h160256; //000027200
862
        mem[16'h625] = 24'h160000; //000027100
863
        mem[16'h626] = 24'h159744; //000027000
864
        mem[16'h627] = 24'h159489; //000026f01
865
        mem[16'h628] = 24'h159235; //000026e03
866
        mem[16'h629] = 24'h158982; //000026d06
867
        mem[16'h682] = 24'h146627; //000023cc3
868
        mem[16'h683] = 24'h146412; //000023bec
869
        mem[16'h826] = 24'h121065; //00001d8e9
870
        mem[16'h827] = 24'h120918; //00001d856
871
        mem[16'h868] = 24'h115207; //00001c207
872
        mem[16'h869] = 24'h115074; //00001c182
873
        mem[16'h630] = 24'h158730; //000026c0a
874
        mem[16'h631] = 24'h158478; //000026b0e
875
        mem[16'h632] = 24'h158227; //000026a13
876
        mem[16'h633] = 24'h157977; //000026919
877
        mem[16'h634] = 24'h157728; //000026820
878
        mem[16'h635] = 24'h157480; //000026728
879
        mem[16'h636] = 24'h157232; //000026630
880
        mem[16'h637] = 24'h156985; //000026539
881
        mem[16'h638] = 24'h156739; //000026443
882
        mem[16'h639] = 24'h156494; //00002634e
883
        mem[16'h692] = 24'h144508; //00002347c
884
        mem[16'h693] = 24'h144300; //0000233ac
885
        mem[16'h836] = 24'h119617; //00001d341
886
        mem[16'h837] = 24'h119474; //00001d2b2
887
        mem[16'h878] = 24'h113895; //00001bce7
888
        mem[16'h879] = 24'h113765; //00001bc65
889
        mem[16'h640] = 24'h156250; //00002625a
890
        mem[16'h641] = 24'h156006; //000026166
891
        mem[16'h642] = 24'h155763; //000026073
892
        mem[16'h643] = 24'h155520; //000025f80
893
        mem[16'h644] = 24'h155279; //000025e8f
894
        mem[16'h645] = 24'h155038; //000025d9e
895
        mem[16'h646] = 24'h154798; //000025cae
896
        mem[16'h647] = 24'h154559; //000025bbf
897
        mem[16'h648] = 24'h154320; //000025ad0
898
        mem[16'h649] = 24'h154083; //0000259e3
899
        mem[16'h684] = 24'h146198; //000023b16
900
        mem[16'h685] = 24'h145985; //000023a41
901
        mem[16'h846] = 24'h118203; //00001cdbb
902
        mem[16'h847] = 24'h118063; //00001cd2f
903
        mem[16'h688] = 24'h145348; //0000237c4
904
        mem[16'h689] = 24'h145137; //0000236f1
905
        mem[16'h650] = 24'h153846; //0000258f6
906
        mem[16'h651] = 24'h153609; //000025809
907
        mem[16'h652] = 24'h153374; //00002571e
908
        mem[16'h653] = 24'h153139; //000025633
909
        mem[16'h654] = 24'h152905; //000025549
910
        mem[16'h655] = 24'h152671; //00002545f
911
        mem[16'h656] = 24'h152439; //000025377
912
        mem[16'h657] = 24'h152207; //00002528f
913
        mem[16'h658] = 24'h151975; //0000251a7
914
        mem[16'h659] = 24'h151745; //0000250c1
915
        mem[16'h694] = 24'h144092; //0000232dc
916
        mem[16'h695] = 24'h143884; //00002320c
917
        mem[16'h856] = 24'h116822; //00001c856
918
        mem[16'h857] = 24'h116686; //00001c7ce
919
        mem[16'h698] = 24'h143266; //000022fa2
920
        mem[16'h699] = 24'h143061; //000022ed5
921
        mem[16'h660] = 24'h151515; //000024fdb
922
        mem[16'h661] = 24'h151285; //000024ef5
923
        mem[16'h662] = 24'h151057; //000024e11
924
        mem[16'h663] = 24'h150829; //000024d2d
925
        mem[16'h664] = 24'h150602; //000024c4a
926
        mem[16'h665] = 24'h150375; //000024b67
927
        mem[16'h666] = 24'h150150; //000024a86
928
        mem[16'h667] = 24'h149925; //0000249a5
929
        mem[16'h668] = 24'h149700; //0000248c4
930
        mem[16'h669] = 24'h149476; //0000247e4
931
        mem[16'h686] = 24'h145772; //00002396c
932
        mem[16'h687] = 24'h145560; //000023898
933
        mem[16'h866] = 24'h115473; //00001c311
934
        mem[16'h867] = 24'h115340; //00001c28c
935
        mem[16'hfff] = 24'hffffff; //fffffffff
936
        mem[16'hfff] = 24'hffffff; //fffffffff
937
        mem[16'h670] = 24'h149253; //000024705
938
        mem[16'h671] = 24'h149031; //000024627
939
        mem[16'h672] = 24'h148809; //000024549
940
        mem[16'h673] = 24'h148588; //00002446c
941
        mem[16'h674] = 24'h148367; //00002438f
942
        mem[16'h675] = 24'h148148; //0000242b4
943
        mem[16'h676] = 24'h147928; //0000241d8
944
        mem[16'h677] = 24'h147710; //0000240fe
945
        mem[16'h678] = 24'h147492; //000024024
946
        mem[16'h679] = 24'h147275; //000023f4b
947
        mem[16'h696] = 24'h143678; //00002313e
948
        mem[16'h697] = 24'h143472; //000023070
949
        mem[16'h876] = 24'h114155; //00001bdeb
950
        mem[16'h877] = 24'h114025; //00001bd69
951
        mem[16'hfff] = 24'hffffff; //fffffffff
952
        mem[16'hfff] = 24'hffffff; //fffffffff
953
        mem[16'h700] = 24'h142857; //000022e09
954
        mem[16'h701] = 24'h142653; //000022d3d
955
        mem[16'h702] = 24'h142450; //000022c72
956
        mem[16'h703] = 24'h142247; //000022ba7
957
        mem[16'h704] = 24'h142045; //000022add
958
        mem[16'h705] = 24'h141843; //000022a13
959
        mem[16'h706] = 24'h141643; //00002294b
960
        mem[16'h707] = 24'h141442; //000022882
961
        mem[16'h708] = 24'h141242; //0000227ba
962
        mem[16'h709] = 24'h141043; //0000226f3
963
        mem[16'h780] = 24'h128205; //00001f4cd
964
        mem[16'h781] = 24'h128040; //00001f428
965
        mem[16'h906] = 24'h110375; //00001af27
966
        mem[16'h907] = 24'h110253; //00001aead
967
        mem[16'h986] = 24'h101419; //000018c2b
968
        mem[16'h987] = 24'h101317; //000018bc5
969
        mem[16'h710] = 24'h140845; //00002262d
970
        mem[16'h711] = 24'h140646; //000022566
971
        mem[16'h712] = 24'h140449; //0000224a1
972
        mem[16'h713] = 24'h140252; //0000223dc
973
        mem[16'h714] = 24'h140056; //000022318
974
        mem[16'h715] = 24'h139860; //000022254
975
        mem[16'h716] = 24'h139664; //000022190
976
        mem[16'h717] = 24'h139470; //0000220ce
977
        mem[16'h718] = 24'h139275; //00002200b
978
        mem[16'h719] = 24'h139082; //000021f4a
979
        mem[16'h790] = 24'h126582; //00001ee76
980
        mem[16'h791] = 24'h126422; //00001edd6
981
        mem[16'h916] = 24'h109170; //00001aa72
982
        mem[16'h917] = 24'h109051; //00001a9fb
983
        mem[16'h996] = 24'h100401; //000018831
984
        mem[16'h997] = 24'h100300; //0000187cc
985
        mem[16'h720] = 24'h138888; //000021e88
986
        mem[16'h721] = 24'h138696; //000021dc8
987
        mem[16'h722] = 24'h138504; //000021d08
988
        mem[16'h723] = 24'h138312; //000021c48
989
        mem[16'h724] = 24'h138121; //000021b89
990
        mem[16'h725] = 24'h137931; //000021acb
991
        mem[16'h726] = 24'h137741; //000021a0d
992
        mem[16'h727] = 24'h137551; //00002194f
993
        mem[16'h728] = 24'h137362; //000021892
994
        mem[16'h729] = 24'h137174; //0000217d6
995
        mem[16'h782] = 24'h127877; //00001f385
996
        mem[16'h783] = 24'h127713; //00001f2e1
997
        mem[16'h926] = 24'h107991; //00001a5d7
998
        mem[16'h927] = 24'h107874; //00001a562
999
        mem[16'h968] = 24'h103305; //000019389
1000
        mem[16'h969] = 24'h103199; //00001931f
1001
        mem[16'h730] = 24'h136986; //00002171a
1002
        mem[16'h731] = 24'h136798; //00002165e
1003
        mem[16'h732] = 24'h136612; //0000215a4
1004
        mem[16'h733] = 24'h136425; //0000214e9
1005
        mem[16'h734] = 24'h136239; //00002142f
1006
        mem[16'h735] = 24'h136054; //000021376
1007
        mem[16'h736] = 24'h135869; //0000212bd
1008
        mem[16'h737] = 24'h135685; //000021205
1009
        mem[16'h738] = 24'h135501; //00002114d
1010
        mem[16'h739] = 24'h135317; //000021095
1011
        mem[16'h792] = 24'h126262; //00001ed36
1012
        mem[16'h793] = 24'h126103; //00001ec97
1013
        mem[16'h936] = 24'h106837; //00001a155
1014
        mem[16'h937] = 24'h106723; //00001a0e3
1015
        mem[16'h978] = 24'h102249; //000018f69
1016
        mem[16'h979] = 24'h102145; //000018f01
1017
        mem[16'h740] = 24'h135135; //000020fdf
1018
        mem[16'h741] = 24'h134952; //000020f28
1019
        mem[16'h742] = 24'h134770; //000020e72
1020
        mem[16'h743] = 24'h134589; //000020dbd
1021
        mem[16'h744] = 24'h134408; //000020d08
1022
        mem[16'h745] = 24'h134228; //000020c54
1023
        mem[16'h746] = 24'h134048; //000020ba0
1024
        mem[16'h747] = 24'h133868; //000020aec
1025
        mem[16'h748] = 24'h133689; //000020a39
1026
        mem[16'h749] = 24'h133511; //000020987
1027
        mem[16'h784] = 24'h127551; //00001f23f
1028
        mem[16'h785] = 24'h127388; //00001f19c
1029
        mem[16'h946] = 24'h105708; //000019cec
1030
        mem[16'h947] = 24'h105596; //000019c7c
1031
        mem[16'h788] = 24'h126903; //00001efb7
1032
        mem[16'h789] = 24'h126742; //00001ef16
1033
        mem[16'h750] = 24'h133333; //0000208d5
1034
        mem[16'h751] = 24'h133155; //000020823
1035
        mem[16'h752] = 24'h132978; //000020772
1036
        mem[16'h753] = 24'h132802; //0000206c2
1037
        mem[16'h754] = 24'h132625; //000020611
1038
        mem[16'h755] = 24'h132450; //000020562
1039
        mem[16'h756] = 24'h132275; //0000204b3
1040
        mem[16'h757] = 24'h132100; //000020404
1041
        mem[16'h758] = 24'h131926; //000020356
1042
        mem[16'h759] = 24'h131752; //0000202a8
1043
        mem[16'h794] = 24'h125944; //00001ebf8
1044
        mem[16'h795] = 24'h125786; //00001eb5a
1045
        mem[16'h956] = 24'h104602; //00001989a
1046
        mem[16'h957] = 24'h104493; //00001982d
1047
        mem[16'h798] = 24'h125313; //00001e981
1048
        mem[16'h799] = 24'h125156; //00001e8e4
1049
        mem[16'h760] = 24'h131578; //0000201fa
1050
        mem[16'h761] = 24'h131406; //00002014e
1051
        mem[16'h762] = 24'h131233; //0000200a1
1052
        mem[16'h763] = 24'h131061; //00001fff5
1053
        mem[16'h764] = 24'h130890; //00001ff4a
1054
        mem[16'h765] = 24'h130718; //00001fe9e
1055
        mem[16'h766] = 24'h130548; //00001fdf4
1056
        mem[16'h767] = 24'h130378; //00001fd4a
1057
        mem[16'h768] = 24'h130208; //00001fca0
1058
        mem[16'h769] = 24'h130039; //00001fbf7
1059
        mem[16'h786] = 24'h127226; //00001f0fa
1060
        mem[16'h787] = 24'h127064; //00001f058
1061
        mem[16'h966] = 24'h103519; //00001945f
1062
        mem[16'h967] = 24'h103412; //0000193f4
1063
        mem[16'hfff] = 24'hffffff; //fffffffff
1064
        mem[16'hfff] = 24'hffffff; //fffffffff
1065
        mem[16'h770] = 24'h129870; //00001fb4e
1066
        mem[16'h771] = 24'h129701; //00001faa5
1067
        mem[16'h772] = 24'h129533; //00001f9fd
1068
        mem[16'h773] = 24'h129366; //00001f956
1069
        mem[16'h774] = 24'h129198; //00001f8ae
1070
        mem[16'h775] = 24'h129032; //00001f808
1071
        mem[16'h776] = 24'h128865; //00001f761
1072
        mem[16'h777] = 24'h128700; //00001f6bc
1073
        mem[16'h778] = 24'h128534; //00001f616
1074
        mem[16'h779] = 24'h128369; //00001f571
1075
        mem[16'h796] = 24'h125628; //00001eabc
1076
        mem[16'h797] = 24'h125470; //00001ea1e
1077
        mem[16'h976] = 24'h102459; //00001903b
1078
        mem[16'h977] = 24'h102354; //000018fd2
1079
        mem[16'hfff] = 24'hffffff; //fffffffff
1080
        mem[16'hfff] = 24'hffffff; //fffffffff
1081
end
1082
 
1083
always_ff @(posedge clk)
1084
        ndx <= iu.sig[135:124];
1085
always_ff @(posedge clk)
1086
begin
1087
        ou <= iu;
1088
        ou.exp <= 14'h17FF;
1089
        ou.sig <= {mem[ndx],112'd0};
1090
end
1091
 
1092
DFPPack128 u2 (ou, o);
1093
 
1094
endmodule

powered by: WebSVN 2.1.0

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