Archived
442 lines
12 KiB
Verilog
442 lines
12 KiB
Verilog
`timescale 1ns / 1ps
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
// Company:
|
|
// Engineer:
|
|
//
|
|
// Create Date: 14:37:16 01/15/2022
|
|
// Design Name:
|
|
// Module Name: FRAC1
|
|
// Project Name:
|
|
// Target Devices:
|
|
// Tool versions:
|
|
// Description:
|
|
//
|
|
// Dependencies:
|
|
//
|
|
// Revision:
|
|
// Revision 0.01 - File Created
|
|
// Additional Comments:
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
module FRAC1(
|
|
input clka,
|
|
input [15:0] addra,
|
|
output reg[24:0] douta
|
|
);
|
|
|
|
|
|
reg[11:0] addr=0;
|
|
|
|
always@(posedge clka)begin
|
|
addr<= (addra+375) % 400 ;
|
|
end
|
|
|
|
always@(posedge clka)begin
|
|
case(addr)
|
|
0 : douta <= 0 ;
|
|
1 : douta <= 83886 ;
|
|
2 : douta <= 167772 ;
|
|
3 : douta <= 251658 ;
|
|
4 : douta <= 335544 ;
|
|
5 : douta <= 419430 ;
|
|
6 : douta <= 503316 ;
|
|
7 : douta <= 587202 ;
|
|
8 : douta <= 671088 ;
|
|
9 : douta <= 754974 ;
|
|
10 : douta <= 838860 ;
|
|
11 : douta <= 922746 ;
|
|
12 : douta <= 1006632 ;
|
|
13 : douta <= 1090519 ;
|
|
14 : douta <= 1174405 ;
|
|
15 : douta <= 1258291 ;
|
|
16 : douta <= 1342177 ;
|
|
17 : douta <= 1426063 ;
|
|
18 : douta <= 1509949 ;
|
|
19 : douta <= 1593835 ;
|
|
20 : douta <= 1677721 ;
|
|
21 : douta <= 1761607 ;
|
|
22 : douta <= 1845493 ;
|
|
23 : douta <= 1929379 ;
|
|
24 : douta <= 2013265 ;
|
|
25 : douta <= 2097152 ;
|
|
26 : douta <= 2181038 ;
|
|
27 : douta <= 2264924 ;
|
|
28 : douta <= 2348810 ;
|
|
29 : douta <= 2432696 ;
|
|
30 : douta <= 2516582 ;
|
|
31 : douta <= 2600468 ;
|
|
32 : douta <= 2684354 ;
|
|
33 : douta <= 2768240 ;
|
|
34 : douta <= 2852126 ;
|
|
35 : douta <= 2936012 ;
|
|
36 : douta <= 3019898 ;
|
|
37 : douta <= 3103784 ;
|
|
38 : douta <= 3187671 ;
|
|
39 : douta <= 3271557 ;
|
|
40 : douta <= 3355443 ;
|
|
41 : douta <= 3439329 ;
|
|
42 : douta <= 3523215 ;
|
|
43 : douta <= 3607101 ;
|
|
44 : douta <= 3690987 ;
|
|
45 : douta <= 3774873 ;
|
|
46 : douta <= 3858759 ;
|
|
47 : douta <= 3942645 ;
|
|
48 : douta <= 4026531 ;
|
|
49 : douta <= 4110417 ;
|
|
50 : douta <= 4194304 ;
|
|
51 : douta <= 4278190 ;
|
|
52 : douta <= 4362076 ;
|
|
53 : douta <= 4445962 ;
|
|
54 : douta <= 4529848 ;
|
|
55 : douta <= 4613734 ;
|
|
56 : douta <= 4697620 ;
|
|
57 : douta <= 4781506 ;
|
|
58 : douta <= 4865392 ;
|
|
59 : douta <= 4949278 ;
|
|
60 : douta <= 5033164 ;
|
|
61 : douta <= 5117050 ;
|
|
62 : douta <= 5200936 ;
|
|
63 : douta <= 5284823 ;
|
|
64 : douta <= 5368709 ;
|
|
65 : douta <= 5452595 ;
|
|
66 : douta <= 5536481 ;
|
|
67 : douta <= 5620367 ;
|
|
68 : douta <= 5704253 ;
|
|
69 : douta <= 5788139 ;
|
|
70 : douta <= 5872025 ;
|
|
71 : douta <= 5955911 ;
|
|
72 : douta <= 6039797 ;
|
|
73 : douta <= 6123683 ;
|
|
74 : douta <= 6207569 ;
|
|
75 : douta <= 6291456 ;
|
|
76 : douta <= 6375342 ;
|
|
77 : douta <= 6459228 ;
|
|
78 : douta <= 6543114 ;
|
|
79 : douta <= 6627000 ;
|
|
80 : douta <= 6710886 ;
|
|
81 : douta <= 6794772 ;
|
|
82 : douta <= 6878658 ;
|
|
83 : douta <= 6962544 ;
|
|
84 : douta <= 7046430 ;
|
|
85 : douta <= 7130316 ;
|
|
86 : douta <= 7214202 ;
|
|
87 : douta <= 7298088 ;
|
|
88 : douta <= 7381975 ;
|
|
89 : douta <= 7465861 ;
|
|
90 : douta <= 7549747 ;
|
|
91 : douta <= 7633633 ;
|
|
92 : douta <= 7717519 ;
|
|
93 : douta <= 7801405 ;
|
|
94 : douta <= 7885291 ;
|
|
95 : douta <= 7969177 ;
|
|
96 : douta <= 8053063 ;
|
|
97 : douta <= 8136949 ;
|
|
98 : douta <= 8220835 ;
|
|
99 : douta <= 8304721 ;
|
|
100 : douta <= 8388608 ;
|
|
101 : douta <= 8472494 ;
|
|
102 : douta <= 8556380 ;
|
|
103 : douta <= 8640266 ;
|
|
104 : douta <= 8724152 ;
|
|
105 : douta <= 8808038 ;
|
|
106 : douta <= 8891924 ;
|
|
107 : douta <= 8975810 ;
|
|
108 : douta <= 9059696 ;
|
|
109 : douta <= 9143582 ;
|
|
110 : douta <= 9227468 ;
|
|
111 : douta <= 9311354 ;
|
|
112 : douta <= 9395240 ;
|
|
113 : douta <= 9479127 ;
|
|
114 : douta <= 9563013 ;
|
|
115 : douta <= 9646899 ;
|
|
116 : douta <= 9730785 ;
|
|
117 : douta <= 9814671 ;
|
|
118 : douta <= 9898557 ;
|
|
119 : douta <= 9982443 ;
|
|
120 : douta <= 10066329 ;
|
|
121 : douta <= 10150215 ;
|
|
122 : douta <= 10234101 ;
|
|
123 : douta <= 10317987 ;
|
|
124 : douta <= 10401873 ;
|
|
125 : douta <= 10485760 ;
|
|
126 : douta <= 10569646 ;
|
|
127 : douta <= 10653532 ;
|
|
128 : douta <= 10737418 ;
|
|
129 : douta <= 10821304 ;
|
|
130 : douta <= 10905190 ;
|
|
131 : douta <= 10989076 ;
|
|
132 : douta <= 11072962 ;
|
|
133 : douta <= 11156848 ;
|
|
134 : douta <= 11240734 ;
|
|
135 : douta <= 11324620 ;
|
|
136 : douta <= 11408506 ;
|
|
137 : douta <= 11492392 ;
|
|
138 : douta <= 11576279 ;
|
|
139 : douta <= 11660165 ;
|
|
140 : douta <= 11744051 ;
|
|
141 : douta <= 11827937 ;
|
|
142 : douta <= 11911823 ;
|
|
143 : douta <= 11995709 ;
|
|
144 : douta <= 12079595 ;
|
|
145 : douta <= 12163481 ;
|
|
146 : douta <= 12247367 ;
|
|
147 : douta <= 12331253 ;
|
|
148 : douta <= 12415139 ;
|
|
149 : douta <= 12499025 ;
|
|
150 : douta <= 12582912 ;
|
|
151 : douta <= 12666798 ;
|
|
152 : douta <= 12750684 ;
|
|
153 : douta <= 12834570 ;
|
|
154 : douta <= 12918456 ;
|
|
155 : douta <= 13002342 ;
|
|
156 : douta <= 13086228 ;
|
|
157 : douta <= 13170114 ;
|
|
158 : douta <= 13254000 ;
|
|
159 : douta <= 13337886 ;
|
|
160 : douta <= 13421772 ;
|
|
161 : douta <= 13505658 ;
|
|
162 : douta <= 13589544 ;
|
|
163 : douta <= 13673431 ;
|
|
164 : douta <= 13757317 ;
|
|
165 : douta <= 13841203 ;
|
|
166 : douta <= 13925089 ;
|
|
167 : douta <= 14008975 ;
|
|
168 : douta <= 14092861 ;
|
|
169 : douta <= 14176747 ;
|
|
170 : douta <= 14260633 ;
|
|
171 : douta <= 14344519 ;
|
|
172 : douta <= 14428405 ;
|
|
173 : douta <= 14512291 ;
|
|
174 : douta <= 14596177 ;
|
|
175 : douta <= 14680064 ;
|
|
176 : douta <= 14763950 ;
|
|
177 : douta <= 14847836 ;
|
|
178 : douta <= 14931722 ;
|
|
179 : douta <= 15015608 ;
|
|
180 : douta <= 15099494 ;
|
|
181 : douta <= 15183380 ;
|
|
182 : douta <= 15267266 ;
|
|
183 : douta <= 15351152 ;
|
|
184 : douta <= 15435038 ;
|
|
185 : douta <= 15518924 ;
|
|
186 : douta <= 15602810 ;
|
|
187 : douta <= 15686696 ;
|
|
188 : douta <= 15770583 ;
|
|
189 : douta <= 15854469 ;
|
|
190 : douta <= 15938355 ;
|
|
191 : douta <= 16022241 ;
|
|
192 : douta <= 16106127 ;
|
|
193 : douta <= 16190013 ;
|
|
194 : douta <= 16273899 ;
|
|
195 : douta <= 16357785 ;
|
|
196 : douta <= 16441671 ;
|
|
197 : douta <= 16525557 ;
|
|
198 : douta <= 16609443 ;
|
|
199 : douta <= 16693329 ;
|
|
200 : douta <= 16777216 ;
|
|
201 : douta <= 16861102 ;
|
|
202 : douta <= 16944988 ;
|
|
203 : douta <= 17028874 ;
|
|
204 : douta <= 17112760 ;
|
|
205 : douta <= 17196646 ;
|
|
206 : douta <= 17280532 ;
|
|
207 : douta <= 17364418 ;
|
|
208 : douta <= 17448304 ;
|
|
209 : douta <= 17532190 ;
|
|
210 : douta <= 17616076 ;
|
|
211 : douta <= 17699962 ;
|
|
212 : douta <= 17783848 ;
|
|
213 : douta <= 17867735 ;
|
|
214 : douta <= 17951621 ;
|
|
215 : douta <= 18035507 ;
|
|
216 : douta <= 18119393 ;
|
|
217 : douta <= 18203279 ;
|
|
218 : douta <= 18287165 ;
|
|
219 : douta <= 18371051 ;
|
|
220 : douta <= 18454937 ;
|
|
221 : douta <= 18538823 ;
|
|
222 : douta <= 18622709 ;
|
|
223 : douta <= 18706595 ;
|
|
224 : douta <= 18790481 ;
|
|
225 : douta <= 18874368 ;
|
|
226 : douta <= 18958254 ;
|
|
227 : douta <= 19042140 ;
|
|
228 : douta <= 19126026 ;
|
|
229 : douta <= 19209912 ;
|
|
230 : douta <= 19293798 ;
|
|
231 : douta <= 19377684 ;
|
|
232 : douta <= 19461570 ;
|
|
233 : douta <= 19545456 ;
|
|
234 : douta <= 19629342 ;
|
|
235 : douta <= 19713228 ;
|
|
236 : douta <= 19797114 ;
|
|
237 : douta <= 19881000 ;
|
|
238 : douta <= 19964887 ;
|
|
239 : douta <= 20048773 ;
|
|
240 : douta <= 20132659 ;
|
|
241 : douta <= 20216545 ;
|
|
242 : douta <= 20300431 ;
|
|
243 : douta <= 20384317 ;
|
|
244 : douta <= 20468203 ;
|
|
245 : douta <= 20552089 ;
|
|
246 : douta <= 20635975 ;
|
|
247 : douta <= 20719861 ;
|
|
248 : douta <= 20803747 ;
|
|
249 : douta <= 20887633 ;
|
|
250 : douta <= 20971520 ;
|
|
251 : douta <= 21055406 ;
|
|
252 : douta <= 21139292 ;
|
|
253 : douta <= 21223178 ;
|
|
254 : douta <= 21307064 ;
|
|
255 : douta <= 21390950 ;
|
|
256 : douta <= 21474836 ;
|
|
257 : douta <= 21558722 ;
|
|
258 : douta <= 21642608 ;
|
|
259 : douta <= 21726494 ;
|
|
260 : douta <= 21810380 ;
|
|
261 : douta <= 21894266 ;
|
|
262 : douta <= 21978152 ;
|
|
263 : douta <= 22062039 ;
|
|
264 : douta <= 22145925 ;
|
|
265 : douta <= 22229811 ;
|
|
266 : douta <= 22313697 ;
|
|
267 : douta <= 22397583 ;
|
|
268 : douta <= 22481469 ;
|
|
269 : douta <= 22565355 ;
|
|
270 : douta <= 22649241 ;
|
|
271 : douta <= 22733127 ;
|
|
272 : douta <= 22817013 ;
|
|
273 : douta <= 22900899 ;
|
|
274 : douta <= 22984785 ;
|
|
275 : douta <= 23068672 ;
|
|
276 : douta <= 23152558 ;
|
|
277 : douta <= 23236444 ;
|
|
278 : douta <= 23320330 ;
|
|
279 : douta <= 23404216 ;
|
|
280 : douta <= 23488102 ;
|
|
281 : douta <= 23571988 ;
|
|
282 : douta <= 23655874 ;
|
|
283 : douta <= 23739760 ;
|
|
284 : douta <= 23823646 ;
|
|
285 : douta <= 23907532 ;
|
|
286 : douta <= 23991418 ;
|
|
287 : douta <= 24075304 ;
|
|
288 : douta <= 24159191 ;
|
|
289 : douta <= 24243077 ;
|
|
290 : douta <= 24326963 ;
|
|
291 : douta <= 24410849 ;
|
|
292 : douta <= 24494735 ;
|
|
293 : douta <= 24578621 ;
|
|
294 : douta <= 24662507 ;
|
|
295 : douta <= 24746393 ;
|
|
296 : douta <= 24830279 ;
|
|
297 : douta <= 24914165 ;
|
|
298 : douta <= 24998051 ;
|
|
299 : douta <= 25081937 ;
|
|
300 : douta <= 25165824 ;
|
|
301 : douta <= 25249710 ;
|
|
302 : douta <= 25333596 ;
|
|
303 : douta <= 25417482 ;
|
|
304 : douta <= 25501368 ;
|
|
305 : douta <= 25585254 ;
|
|
306 : douta <= 25669140 ;
|
|
307 : douta <= 25753026 ;
|
|
308 : douta <= 25836912 ;
|
|
309 : douta <= 25920798 ;
|
|
310 : douta <= 26004684 ;
|
|
311 : douta <= 26088570 ;
|
|
312 : douta <= 26172456 ;
|
|
313 : douta <= 26256343 ;
|
|
314 : douta <= 26340229 ;
|
|
315 : douta <= 26424115 ;
|
|
316 : douta <= 26508001 ;
|
|
317 : douta <= 26591887 ;
|
|
318 : douta <= 26675773 ;
|
|
319 : douta <= 26759659 ;
|
|
320 : douta <= 26843545 ;
|
|
321 : douta <= 26927431 ;
|
|
322 : douta <= 27011317 ;
|
|
323 : douta <= 27095203 ;
|
|
324 : douta <= 27179089 ;
|
|
325 : douta <= 27262976 ;
|
|
326 : douta <= 27346862 ;
|
|
327 : douta <= 27430748 ;
|
|
328 : douta <= 27514634 ;
|
|
329 : douta <= 27598520 ;
|
|
330 : douta <= 27682406 ;
|
|
331 : douta <= 27766292 ;
|
|
332 : douta <= 27850178 ;
|
|
333 : douta <= 27934064 ;
|
|
334 : douta <= 28017950 ;
|
|
335 : douta <= 28101836 ;
|
|
336 : douta <= 28185722 ;
|
|
337 : douta <= 28269608 ;
|
|
338 : douta <= 28353495 ;
|
|
339 : douta <= 28437381 ;
|
|
340 : douta <= 28521267 ;
|
|
341 : douta <= 28605153 ;
|
|
342 : douta <= 28689039 ;
|
|
343 : douta <= 28772925 ;
|
|
344 : douta <= 28856811 ;
|
|
345 : douta <= 28940697 ;
|
|
346 : douta <= 29024583 ;
|
|
347 : douta <= 29108469 ;
|
|
348 : douta <= 29192355 ;
|
|
349 : douta <= 29276241 ;
|
|
350 : douta <= 29360128 ;
|
|
351 : douta <= 29444014 ;
|
|
352 : douta <= 29527900 ;
|
|
353 : douta <= 29611786 ;
|
|
354 : douta <= 29695672 ;
|
|
355 : douta <= 29779558 ;
|
|
356 : douta <= 29863444 ;
|
|
357 : douta <= 29947330 ;
|
|
358 : douta <= 30031216 ;
|
|
359 : douta <= 30115102 ;
|
|
360 : douta <= 30198988 ;
|
|
361 : douta <= 30282874 ;
|
|
362 : douta <= 30366760 ;
|
|
363 : douta <= 30450647 ;
|
|
364 : douta <= 30534533 ;
|
|
365 : douta <= 30618419 ;
|
|
366 : douta <= 30702305 ;
|
|
367 : douta <= 30786191 ;
|
|
368 : douta <= 30870077 ;
|
|
369 : douta <= 30953963 ;
|
|
370 : douta <= 31037849 ;
|
|
371 : douta <= 31121735 ;
|
|
372 : douta <= 31205621 ;
|
|
373 : douta <= 31289507 ;
|
|
374 : douta <= 31373393 ;
|
|
375 : douta <= 31457280 ;
|
|
376 : douta <= 31541166 ;
|
|
377 : douta <= 31625052 ;
|
|
378 : douta <= 31708938 ;
|
|
379 : douta <= 31792824 ;
|
|
380 : douta <= 31876710 ;
|
|
381 : douta <= 31960596 ;
|
|
382 : douta <= 32044482 ;
|
|
383 : douta <= 32128368 ;
|
|
384 : douta <= 32212254 ;
|
|
385 : douta <= 32296140 ;
|
|
386 : douta <= 32380026 ;
|
|
387 : douta <= 32463912 ;
|
|
388 : douta <= 32547799 ;
|
|
389 : douta <= 32631685 ;
|
|
390 : douta <= 32715571 ;
|
|
391 : douta <= 32799457 ;
|
|
392 : douta <= 32883343 ;
|
|
393 : douta <= 32967229 ;
|
|
394 : douta <= 33051115 ;
|
|
395 : douta <= 33135001 ;
|
|
396 : douta <= 33218887 ;
|
|
397 : douta <= 33302773 ;
|
|
398 : douta <= 33386659 ;
|
|
399 : douta <= 33470545 ;
|
|
default : douta <= douta ;
|
|
endcase
|
|
end
|
|
|
|
|
|
endmodule
|