This repository has been archived on 2024-01-14. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
vivado-202401/projects/duifei/duifei_cal_coarse/rtl/Sisyif_src/FRAC1.v
T
2023-04-13 13:33:41 +08:00

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