`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