This is a LDPC Project for 5g lower matrix # LDPC_Project LDPC Project is a sample smaller version of the design that is optimized using a SRAM to have low area. This increases the simulation time, as every iteration takes more number of clocks to do one step at a time, but it is still fast enough to correct errors. It takes 5,515,887,500ps 5ms to complete the task of correcting errors for a LDPC(208,168,40) codeblock at clock frequency of 40MHz. The design for 5 clocks per iteration, with upto maximum required loops of 12 the number of clocks required are 60 clocks, at a clock which can be as fast as 1.2 GHz or more. The slower design is for proof of concept, though can be used for 5G. For 6G the same matrices can be used with the faster design to get high throughput. The matrices for 5G,6G are... | | | | | | sr. No. | alist filename | n | k | |-----------|-----------------------|-----------|------------------| | NR.1 . | NewRadio_1_0_128.alist|8704 | 5888 | | NR.2 . | NewRadio_1_0_16.alist |1088 | 736 | | NR.3 . | NewRadio_1_0_2.alist |136 | 92 | | NR.4 . | NewRadio_1_0_256.alist|17408 | 11776 | | NR.5 . | NewRadio_1_0_32.alist |2176 | 1472 | | NR.6 . | NewRadio_1_0_4.alist |272 | 184 | | NR.7 . | NewRadio_1_0_64.alist |4352 | 2944 | | NR.8 . | NewRadio_1_0_8.alist |544 | 368 | | NR.9 . | NewRadio_1_1_12.alist |816 | 552 | | NR.10 . | NewRadio_1_1_192.alist|13056 | 8832 | | NR.11 . | NewRadio_1_1_24.alist |1632 | 1104 | | NR.12 . | NewRadio_1_1_3.alist |204 | 138 | | NR.13 . | NewRadio_1_1_384.alist|26112 | 17664 | | NR.14 . | NewRadio_1_1_48.alist |3264 | 2208 | | NR.15 . | NewRadio_1_1_6.alist |408 | 276 | | NR.16 . | NewRadio_1_1_96.alist |6528 | 4416 | | NR.17 . | NewRadio_1_2_10.alist |680 | 460 | | NR.18 . | NewRadio_1_2_160.alist|10880 | 7360 | | NR.19 . | NewRadio_1_2_20.alist |1360 | 920 | | NR.20 . | NewRadio_1_2_320.alist|21760 | 14720 | | NR.21 . | NewRadio_1_2_40.alist |2720 | 1840 | | NR.22 . | NewRadio_1_2_5.alist |340 | 230 | | NR.23 . | NewRadio_1_2_80.alist |5440 | 3680 | | NR.24 . | NewRadio_1_3_112.alist|7616 | 5152 | | NR.25 . | NewRadio_1_3_14.alist |952 | 644 | | NR.26 . | NewRadio_1_3_224.alist|15232 | 10304 | | NR.27 . | NewRadio_1_3_28.alist |1904 | 1288 | | NR.28 . | NewRadio_1_3_56.alist |3808 | 2576 | | NR.29 . | NewRadio_1_3_7.alist |476 | 322 | | NR.30 . | NewRadio_1_4_144.alist|9792 | 6624 | | NR.31 . | NewRadio_1_4_18.alist |1224 | 828 | | NR.32 . | NewRadio_1_4_288.alist|19584 | 13248 | | NR.33 . | NewRadio_1_4_36.alist |2448 | 1656 | | NR.34 . | NewRadio_1_4_72.alist |4896 | 3312 | | NR.35 . | NewRadio_1_4_9.alist |612 | 414 | | NR.36 . | NewRadio_1_5_11.alist |748 | 506 | | NR.37 . | NewRadio_1_5_176.alist|11968 | 8096 | | NR.38 . | NewRadio_1_5_22.alist |1496 | 1012 | | NR.39 . | NewRadio_1_5_352.alist|23936 | 16192 | | NR.40 . | NewRadio_1_5_44.alist |2992 | 2024 | | NR.41 . | NewRadio_1_5_88.alist |5984 | 4048 | | NR.42 . | NewRadio_1_6_104.alist|7072 | 4784 | | NR.43 . | NewRadio_1_6_13.alist |884 | 598 | | NR.44 . | NewRadio_1_6_208.alist|14144 | 9568 | | NR.45 . | NewRadio_1_6_26.alist |1768 | 1196 | | NR.46 . | NewRadio_1_6_52.alist |3536 | 2392 | | NR.47 . | NewRadio_1_7_120.alist|8160 | 5520 | | NR.48 . | NewRadio_1_7_15.alist |1020 | 690 | | NR.49 . | NewRadio_1_7_240.alist|16320 | 11040 | | NR.50 . | NewRadio_1_7_30.alist |2040 | 1380 | | NR.51 . | NewRadio_1_7_60.alist |4080 | 2760 | |-----------|-----------------------|-----------|------------------| | NR.52 . | NewRadio_2_0_128.alist|6656 | 5376 | | NR.53 . | NewRadio_2_0_16.alist |832 | 672 | | NR.54 . | NewRadio_2_0_2.alist |104 | 84 | | NR.55 . | NewRadio_2_0_256.alist|13312 | 10752 | | NR.56 . | NewRadio_2_0_32.alist |1664 | 1344 | | | +----- used in this | | | | | v----- design... | | | | NR.57 . | NewRadio_2_0_4.alist |208 | 168 | | NR.58 . | NewRadio_2_0_64.alist |3328 | 2688 | | NR.59 . | NewRadio_2_0_8.alist |416 | 336 | | NR.60 . | NewRadio_2_1_12.alist |624 | 504 | | NR.61 . | NewRadio_2_1_192.alist|9984 | 8064 | | NR.62 . | NewRadio_2_1_24.alist |1248 | 1008 | | NR.63 . | NewRadio_2_1_3.alist |156 | 126 | | NR.64 . | NewRadio_2_1_384.alist|19968 | 16128 | | NR.65 . | NewRadio_2_1_48.alist |2496 | 2016 | | NR.66 . | NewRadio_2_1_6.alist |312 | 252 | | NR.67 . | NewRadio_2_1_96.alist |4992 | 4032 | | NR.68 . | NewRadio_2_2_10.alist |520 | 420 | | NR.69 . | NewRadio_2_2_160.alist|8320 | 6720 | | NR.70 . | NewRadio_2_2_20.alist |1040 | 840 | | NR.71 . | NewRadio_2_2_320.alist|16640 | 13440 | | NR.72 . | NewRadio_2_2_40.alist |2080 | 1680 | | NR.73 . | NewRadio_2_2_5.alist |260 | 210 | | NR.74 . | NewRadio_2_2_80.alist |4160 | 3360 | | NR.75 . | NewRadio_2_3_112.alist|5824 | 4704 | | NR.76 . | NewRadio_2_3_14.alist |728 | 588 | | NR.77 . | NewRadio_2_3_224.alist|11648 | 9408 | | NR.78 . | NewRadio_2_3_28.alist |1456 | 1176 | | NR.79 . | NewRadio_2_3_56.alist |2912 | 2352 | | NR.80 . | NewRadio_2_3_7.alist |364 | 294 | | NR.81 . | NewRadio_2_4_144.alist|7488 | 6048 | | NR.82 . | NewRadio_2_4_18.alist |936 | 756 | | NR.83 . | NewRadio_2_4_288.alist|14976 | 12096 | | NR.84 . | NewRadio_2_4_36.alist |1872 | 1512 | | NR.85 . | NewRadio_2_4_72.alist |3744 | 3024 | | NR.86 . | NewRadio_2_4_9.alist |468 | 378 | | NR.87 . | NewRadio_2_5_11.alist |572 | 462 | | NR.88 . | NewRadio_2_5_176.alist|9152 | 7392 | | NR.89 . | NewRadio_2_5_22.alist |1144 | 924 | | NR.90 . | NewRadio_2_5_352.alist|18304 | 14784 | | NR.91 . | NewRadio_2_5_44.alist |2288 | 1848 | | NR.92 . | NewRadio_2_5_88.alist |4576 | 3696 | | NR.93 . | NewRadio_2_6_104.alist|5408 | 4368 | | NR.94 . | NewRadio_2_6_13.alist |676 | 546 | | NR.95 . | NewRadio_2_6_208.alist|10816 | 8736 | | NR.96 . | NewRadio_2_6_26.alist |1352 | 1092 | | NR.97 . | NewRadio_2_6_52.alist |2704 | 2184 | | NR.98 . | NewRadio_2_7_120.alist|6240 | 5040 | | NR.99 . | NewRadio_2_7_15.alist |780 | 630 | | NR.100 . | NewRadio_2_7_240.alist|12480 | 10080 | | NR.101 . | NewRadio_2_7_30.alist |1560 | 1260 | | NR.102 . | NewRadio_2_7_60.alist |3120 | 2520 | ## ENV setup env.bash env.tcsh ## Project Structure module git@github.com:manish03/LDPCENCDEC.git sub modules: git@github.com:rggen/rggen-verilog-rtl.git git@github.com:mattvenn/openlane_summary.git git@repositories.efabless.com:manishmahajan/LDPC_ENC_DEC.git ## Simulation can be run using the script LDPCENCDEC/run.sh ## For Synthesis use the script Makefile in LDPCENCDEC/openlane/ ## ip_files are present in the LDPCENCDEC/verilog/rtl directory. ## design files are present in LDPCENCDEC/verilog/rtl/LDPC_ENC_DEC directory NOTE: Current design file examples are provided for initial reference. These files are currently being updated and will be reposted once complete. The simulations are working, gds has been created successfully. ## C Program sample A C program with an example for stimulus which will be encoded, error insertion and decoding has been provided at LDPCENCDEC/verilog/dv/wb_port/wb_port.c