This is a LDPC Project for 5g lower matrix
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.bash env.tcsh
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
LDPCENCDEC/run.sh
Makefile in LDPCENCDEC/openlane/
are present in the LDPCENCDEC/verilog/rtl directory.
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.
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