A Flexible FPGA-Based Stochastic Decoder for 5G LDPC Codes
Abstract
:1. Introduction
- This work’s main contribution is to propose a new partially parallel decoder architecture for bit-wise stochastic decoding for 5G NR standard LDPC codes. This architecture was created for the LDPC code, which has a code word length of N = 3808 and code rates of 1/3, 2/5, 1/2, 2/3, 3/4, 5/6, and 8/9 for BGM1.
- Our proposed automated design flow procedure enables runtime flexibility in the design. It creates an optimal FPGA-based stochastic LDPC decoder design for any selected code rate set. This approach helps to reduce the time needed to design hand-coded interconnections in hardware description language (HDL).
2. Preliminaries
2.1. Stochastic Bit-Sequence Generation
2.2. Stochastic Decoding Algorithmic Description
3. Construction of BGM in 5G NR Standard
- Select from the two BGMs: As per the specification of 3GPP TS 38.212 [8], since the code rate , BGM1 is selected.
- Calculate the value after selecting BGM: From the specification of 3GPP TS 38.212 [8], BGM1 has = 22.
- Find the expansion factor : Select the minimum from Table 5.3.2-1 [8] such that . For given , = 22, and is calculated as .
- Select the set index : After is determined, the suitable shift coefficient matrix set from Table 5.3.2-1 [8] must be selected. Since , the set index = 3 is considered.
- Compute the BGM entry values: Utilize the function (5) to determine the entry values by means of the modular operation.
- Construct the PCM H: Substitute each entry of the BGM by the corresponding circulant permutation matrix or zero matrix of size in H.
4. Proposed Architecture
4.1. Layered Decoding Schedule
4.2. BGM ROMs
4.3. Routing Network
4.3.1. Multiplexer
4.3.2. Interleaver
4.3.3. Distributor and Re-Distributor
4.3.4. Pipeline Registers
4.3.5. Updater
4.4. Stochastic Variable Node Decoder (SVND)
Stochastic Variable Node Processing Unit (SVNPU)
4.5. Control Unit
5. Design Flow
6. Implementation Results and Discussion
6.1. Approach
6.2. Results
6.2.1. BER Performance
6.2.2. Hardware Utilisation
6.2.3. Processing Throughput
6.3. Comparative Analysis
7. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Gallager, R.G. Low-density parity-check codes. IRE Trans. Inf. Theory 1962, 8, 21–28. [Google Scholar] [CrossRef]
- ETSI. ETSI EN 302 307 v1.3.1 Digital Video Broadcasting (DVB); Second Generation; ETSI: Sophia Antipolis, France, 2013. [Google Scholar]
- IEEE 802.11n-2009; Standard for Information technology-Local and Metropolitan Area Networks-Specific Requirements—Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. IEEE: New York, NY, USA, 2009.
- IEEE 802.16-2004; Standard for Local and Metropolitan Area Networks—Part 16: Air Interface for Fixed Broadband Wireless Access Systems. IEEE: New York, NY, USA, 2004.
- 3GPP. R1-1611081 Final Report. In Proceedings of the 3GPP TSG RAN WG1 Meeting 86bis, Lisbon, Portugal, 10–14 October 2016; pp. 83–89.
- MacKay, D.J.C.; Neal, R.M. Near Shannon limit performance of low-density parity-check codes. Electron. Lett. 1996, 32, 1645–1646. [Google Scholar] [CrossRef]
- Chung, S.Y.; Forney, G.D.; Richardson, T.J.; Urbanke, R. On the design of low-density parity-check codes within 0.0045 dB of the Shannon limit. IEEE Commun. Lett. 2001, 5, 58–60. [Google Scholar] [CrossRef]
- Ad-Hoc Chair (Nokia). Chairman’s Notes of Agenda Item 7.1.4. Channel Coding. 3GPP TSG RAN WG1 Meeting AH 2, R1-1711982. 2017. Available online: https://portal.3gpp.org (accessed on 9 December 2022).
- Fossorier, M.P. Quasi cyclic low-density parity-check codes from circulant permutation matrices. IEEE Trans. Inf. Theory 2004, 50, 1788–1793. [Google Scholar] [CrossRef]
- Tanner, R. A recursive approach to low complexity codes. IEEE Trans. Inf. Theory 1981, 27, 533–547. [Google Scholar] [CrossRef]
- Wiberg, N. Codes and Decoding on General Graphs; Citeseer: Princeton, NJ, USA, 1996. [Google Scholar]
- Hailes, P.; Xu, L.; Maunder, R.G.; Al-Hashimi, B.M.; Hanzo, L. A Flexible FPGA-Based Quasi-Cyclic LDPC Decoder. IEEE Access 2017, 5, 20965–20984. [Google Scholar] [CrossRef]
- Zhang, C.; Wang, Z.; Sha, J.; Li, L.; Lin, J. Flexible LDPC Decoder Design for Multigigabit-per-Second Applications. IEEE Trans. Circuits Syst. Regul. Pap. 2010, 57, 116–124. [Google Scholar] [CrossRef]
- Kschischang, F.R.; Frey, B.J.; Loeliger, H.A. Factor graphs and the sum-product algorithm. IEEE Trans. Inf. Theory 2001, 47, 498–519. [Google Scholar] [CrossRef]
- Angarita, F.; Valls, J.; Almenar, V.; Torres, V. Reduced-complexity min-sum algorithm for decoding LDPC codes with low error-floor. IEEE Trans. Circuits Syst. Regul. Pap. 2014, 61, 2150–2158. [Google Scholar] [CrossRef]
- Gaudet, V.C.; Rapley, A.C. Iterative decoding using stochastic computation. Electron. Lett. 2003, 39, 299–301. [Google Scholar] [CrossRef]
- Hayes, J.P. Introduction to Stochastic Computing and its Challenges. In Proceedings of the 52nd Annual Design Automation Conference, San Francisco, CA, USA, 7–11 June 2015; pp. 2–4. [Google Scholar]
- Lee, X.R.; Chen, C.L.; Chang, H.C.; Lee, C.Y. A 7.92 Gb/s 437.2 mW Stochastic LDPC Decoder Chip for IEEE 802.15.3c Applications. IEEE Trans. Circuits Syst. Regul. Pap. 2015, 62, 507–516. [Google Scholar] [CrossRef]
- The IEEE 802.15.3c Working Group Std. (WPAN). [Online]. Available online: https://www.ieee802.org (accessed on 1 November 2009).
- Chandrasetty, V.A.; Aziz, S.M. Resource Efficient LDPC Decoders: From Algorithms to Hardware Architectures; Academic Press: Cambridge, MA, USA, 2017. [Google Scholar]
- Gross, W.J.; Gaudet, V.C.; Milner, A. Stochastic implementation of LDPC decoders. In Proceedings of the Conference Record of the Thirty-Ninth Asilomar Conference on Signals, Systems, and Computers, Pacific Grove, CA, USA, 30 October–2 November 2005; pp. 713–717. [Google Scholar]
- Zhang, D.; Li, H. A Stochastic-Based FPGA Controller for an Induction Motor Drive with Integrated Neural Network Algorithms. IEEE Trans. Ind. Electron. 2008, 55, 551–561. [Google Scholar] [CrossRef]
- Dinu, A.; Cirstea, M.N.; McCormick, M. Stochastic implementation of motor controllers. In Proceedings of the 2002 IEEE International Symposium on Industrial Electronics, L’Aquila, Italy, 8–11 July 2002; Volume 2, pp. 639–644. [Google Scholar]
- Tehrani, S.S.; Mannor, S.; Gross, W.J. Fully Parallel Stochastic LDPC decoders. IEEE Trans. Signal Process. 2008, 56, 5692–5703. [Google Scholar] [CrossRef]
- Winstead, C.; Gaudet, V.C.; Rapley, A.; Schlegel, C. Stochastic iterative decoders. In Proceedings of the International Symposium on Information Theory, ISIT 2005, Adelaide, SA, Australia, 4–9 September 2005; pp. 1116–1120. [Google Scholar]
- Zhang, J.; Fossorier, M.P.C. Shuffled iterative decoding. IEEE Trans. Commun. 2005, 53, 209–213. [Google Scholar] [CrossRef]
- Hailes, P. Design and Implementation of Flexible FPGA-Based LDPC Decoders. Ph.D. Thesis, University of Southampton, Southampton, Malaysia, 2018. [Google Scholar]
- Jung, Y.; Jung, Y.; Lee, S.; Kim, J. Low-complexity multi-way and re-configurable cyclic shift network of QC-LDPC decoder for Wi-Fi/WIMAX applications. IEEE Trans. Consum. Electron. 2013, 59, 467–475. [Google Scholar] [CrossRef]
- Tehrani, S.S.; Gross, W.J.; Mannor, S. Stochastic decoding of LDPC codes. IEEE Commun. Lett. 2006, 10, 716–718. [Google Scholar] [CrossRef]
- Nane, R.; Sima, V.M.; Pilato, C.; Choi, J.; Fort, B.; Canis, A.; Chen, Y.T.; Hsiao, H.; Brown, S.; Ferrandi, F.; et al. A Survey and Evaluation of FPGA High-Level Synthesis Tools. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2016, 35, 1591–1604. [Google Scholar] [CrossRef]
- Xilinx. 7 Series FPGA Configurable Logic Block User Guide—UG474; Xilinx: San Jose, CA, USA, 2014. [Google Scholar]
- Thi Bao Nguyen, T.; Nguyen Tan, T.; Lee, H. Low-complexity high-throughput QC-LDPC decoder for 5G new radio wireless communication. Electronics 2021, 10, 516. [Google Scholar] [CrossRef]
- Zhang, K.; Huang, X.; Wang, Z. High-throughput layered decoder implementation for quasi-cyclic LDPC codes. IEEE J. Sel. Areas Commun. 2009, 27, 985–994. [Google Scholar] [CrossRef]
- Li, M.-R.; Yang, C.-H.; Ueng, Y.-L. A 5.28-Gb/s LDPC decoder with time-domain signal processing for IEEE 802.15. 3c applications. IEEE J. Solid State Circuits 2016, 52, 592–604. [Google Scholar] [CrossRef]
- Tsatsaragkos, I.; Paliouras, V. A reconfigurable LDPC decoder optimized for 802.11 n/ac applications. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2017, 26, 182–195. [Google Scholar] [CrossRef]
Clock Cycle (k) | U | Comparator Output () | |
---|---|---|---|
0 | 1101 | 0.8125 | 0 |
1 | 0111 | 0.4375 | 0 |
2 | 0011 | 0.1875 | 1 |
3 | 0110 | 0.375 | 0 |
4 | 1001 | 0.5625 | 0 |
5 | 0010 | 0.125 | 1 |
6 | 1100 | 0.75 | 0 |
7 | 0100 | 0.25 | 1 |
Entry of | Corresponding Values | ||
---|---|---|---|
55 | |||
16 | |||
38 | |||
35 | |||
−1 | |||
18 | |||
10 | |||
−1 | |||
−1 | |||
0 |
Characteristics | BGM1 () |
---|---|
Number of block columns () | 68 |
Number of block rows () | 46 |
Number of edges | 316 |
Column weights () | 1 to 30 |
Row weights () | 3 to 19 |
Base code rate | 1/3 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | …… | 67 | |
0 | 55 | 16 | 38 | 35 | −1 | 18 | 10 | −1 | −1 | 0 | 37 | 48 | 21 | 47 | −1 | 14 | 14 | −1 | 29 | 30 | 48 | 25 | 1 | 0 | −1 | −1 | −1 | …… | −1 |
1 | 29 | −1 | 45 | 39 | 46 | 7 | −1 | 45 | 21 | 31 | −1 | 38 | 37 | −1 | 23 | 9 | 6 | 26 | −1 | 31 | −1 | 19 | 0 | 0 | 0 | −1 | −1 | …… | −1 |
2 | 39 | 35 | 31 | −1 | 8 | 12 | 18 | 39 | 41 | 9 | 14 | −1 | −1 | 21 | 46 | 21 | −1 | 30 | 5 | 55 | 34 | −1 | −1 | −1 | 0 | 0 | −1 | …… | −1 |
3 | 33 | 18 | −1 | 53 | 5 | −1 | 45 | 30 | 16 | −1 | 34 | 43 | 45 | 35 | 13 | −1 | 40 | 18 | 43 | −1 | 30 | 46 | 1 | −1 | −1 | 0 | −1 | …… | −1 |
4 | 2 | 10 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 0 | …… | −1 |
5 | 52 | 3 | −1 | 30 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 24 | −1 | −1 | −1 | 14 | −1 | −1 | −1 | −1 | 18 | 41 | −1 | −1 | −1 | −1 | …… | −1 |
6 | 46 | −1 | −1 | −1 | −1 | −1 | 7 | −1 | −1 | −1 | −1 | 21 | −1 | 7 | −1 | −1 | −1 | 51 | 24 | −1 | 4 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
7 | 17 | 20 | −1 | −1 | 48 | −1 | −1 | 44 | 38 | −1 | −1 | −1 | −1 | −1 | 46 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
8 | 33 | 39 | −1 | 4 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 49 | −1 | −1 | −1 | 36 | −1 | −1 | 39 | −1 | 2 | 44 | −1 | 33 | −1 | −1 | …… | −1 |
9 | 9 | 37 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 45 | 49 | −1 | 33 | −1 | −1 | −1 | 17 | 53 | −1 | 50 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
10 | −1 | 26 | 53 | −1 | 6 | −1 | −1 | 19 | 26 | −1 | −1 | −1 | −1 | −1 | 47 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
11 | 52 | 11 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 2 | −1 | −1 | −1 | 35 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
12 | 30 | 7 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 24 | 3 | −1 | 28 | −1 | −1 | −1 | −1 | 14 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
13 | 25 | −1 | −1 | 0 | −1 | −1 | −1 | 16 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 49 | −1 | −1 | 22 | −1 | −1 | −1 | …… | −1 |
14 | 14 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 7 | −1 | −1 | 43 | 23 | 51 | −1 | −1 | −1 | 43 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
15 | 34 | 8 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 19 | −1 | −1 | 41 | −1 | −1 | −1 | −1 | 41 | −1 | −1 | −1 | −1 | −1 | −1 | 25 | −1 | …… | −1 |
16 | −1 | 42 | −1 | 52 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 43 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 21 | −1 | 45 | −1 | −1 | −1 | −1 | …… | −1 |
17 | 0 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 54 | −1 | 32 | 7 | −1 | −1 | −1 | 4 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
18 | −1 | 31 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 54 | 32 | −1 | −1 | −1 | −1 | 31 | 18 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
19 | 8 | 6 | −1 | −1 | −1 | −1 | −1 | 47 | 30 | −1 | 8 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
20 | 49 | −1 | −1 | 42 | −1 | −1 | −1 | −1 | −1 | 9 | −1 | 46 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 15 | −1 | −1 | −1 | −1 | …… | −1 |
21 | −1 | 24 | −1 | −1 | −1 | 19 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 52 | −1 | −1 | −1 | 50 | 50 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
22 | 53 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 0 | 3 | −1 | −1 | −1 | 36 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
23 | −1 | 32 | 35 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 0 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 10 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
24 | 49 | −1 | −1 | 45 | 8 | −1 | −1 | −1 | −1 | −1 | −1 | 25 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 12 | −1 | −1 | −1 | −1 | …… | −1 |
25 | −1 | 1 | −1 | −1 | −1 | −1 | 54 | 9 | −1 | −1 | −1 | −1 | −1 | −1 | 25 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
26 | 51 | −1 | 8 | −1 | 44 | −1 | −1 | −1 | −1 | 15 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
27 | −1 | 40 | −1 | −1 | −1 | −1 | 29 | −1 | 6 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
28 | 34 | −1 | −1 | −1 | 41 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 49 | −1 | 2 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
29 | −1 | 38 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 11 | −1 | −1 | −1 | 53 | −1 | −1 | 2 | −1 | −1 | −1 | 12 | −1 | …… | −1 |
30 | 34 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 18 | −1 | −1 | 42 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
31 | −1 | 7 | −1 | −1 | −1 | −1 | −1 | 49 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 9 | −1 | −1 | 16 | −1 | …… | −1 |
32 | 24 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 41 | −1 | 2 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 30 | −1 | −1 | …… | −1 |
33 | −1 | 2 | 49 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 49 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 25 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
34 | 26 | −1 | −1 | −1 | −1 | −1 | −1 | 18 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 12 | −1 | 38 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
35 | −1 | 24 | −1 | −1 | −1 | −1 | 5 | −1 | −1 | −1 | −1 | −1 | 26 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 19 | −1 | −1 | −1 | −1 | …… | −1 |
36 | 54 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 45 | 0 | −1 | −1 | 6 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
37 | −1 | 25 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 27 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 26 | −1 | −1 | −1 | …… | −1 |
38 | 11 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 34 | 17 | −1 | 10 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
39 | −1 | 12 | −1 | 21 | −1 | −1 | −1 | 49 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 2 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
40 | 11 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 45 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 40 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
41 | −1 | 23 | −1 | 47 | −1 | −1 | −1 | −1 | −1 | 4 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 55 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
42 | 2 | −1 | −1 | −1 | 35 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 22 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
43 | −1 | 38 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 22 | −1 | 22 | −1 | −1 | −1 | −1 | −1 | −1 | 49 | −1 | …… | −1 |
44 | 28 | −1 | −1 | −1 | −1 | −1 | −1 | 4 | −1 | 9 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | 12 | −1 | −1 | −1 | −1 | …… | −1 |
45 | −1 | 16 | −1 | −1 | −1 | −1 | 9 | −1 | −1 | −1 | 29 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | −1 | …… | −1 |
Standard | 5G | 5G |
---|---|---|
Code length | 3808 | 3808 |
Base code rate | 1/3 | 1/3 |
Sub-matrix size | 56 | 56 |
Implementation | Kintex-7 FPGA | Kintex-7 FPGA |
Decoding algorithm | Stochastic decoding | Min–Sum |
Scheduling | Column-layered | Row-layered |
No. of interconnects | 34,729 | 138,916 |
Intrinsic message width | 8-bit | 4-bit |
Extrinsic message width | 1-bit serial | 4-bit |
LUTs | 8278 | 12,962 |
Slice registers | 1767 | 2041 |
DCs or Itrs | ≈620 DCs | 15 |
Avg. throughput | ≈953 Mbps | 1.5 Gbps |
at BER = | 2.65 dB | 2.57 dB |
Active Code-Rate | No. of Clock Cycles per DC | LUTs (k) | Slice Registers (k) | Throughput (Mbps) | at BER = | No. of DC per Frame |
---|---|---|---|---|---|---|
1/3 | 68 | 8.2 | 1.7 | 953.4 | 2.65 dB | 620 |
2/5 | 68 | 8.2 | 1.7 | 964.3 | 2.69 dB | 530 |
1/2 | 68 | 8.2 | 1.9 | 1100.9 | 2.79 dB | 450 |
2/3 | 68 | 8.2 | 1.9 | 1189.3 | 3.28 dB | 430 |
3/4 | 68 | 8.2 | 1.9 | 1240.5 | 3.87 dB | 400 |
5/6 | 68 | 8.2 | 1.9 | 1267.6 | 4.02 dB | 360 |
8/9 | 68 | 8.2 | 1.9 | 1298.2 | 4.29 dB | 330 |
Design | Proposed | [32] | [33] | [34] | [35] |
---|---|---|---|---|---|
Standard | 5G-NR | 5G-NR | 802.16e | 802.15.3c | 802.11n |
Code length | 3808 | 3808 | 2304 | 672 | 1944 |
Base code rate | 1/3 | 1/3 | 1/2 | 1/2 | 1/2 |
Decoding algorithm | SD | CMS | NMS | NMS | MS |
Scheduling | Column-layered | Row-layered | Row- layered | Row-layered | Row-layered |
Extrinsic message width | 1-bit | 4-bit | 6-bit | 4-bit | 4-bit |
Sub-matrix size | 56 | 56 | 96 | 21 | 81 |
DCs or Itrs | 620 | 10 | 10 | 5 | 10 |
Area () | 1.10 | 1.49 | 2.9 | 2.25 | 4.88 |
Throughput (Gbps) | 1.12 | 3.04 | 2.20 | 5.28 | 4.5 |
Power (mW) | 410 | 259 | 870 | 182 | 523 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Tera, S.P.; Alantattil, R.; Paily, R. A Flexible FPGA-Based Stochastic Decoder for 5G LDPC Codes. Electronics 2023, 12, 4986. https://doi.org/10.3390/electronics12244986
Tera SP, Alantattil R, Paily R. A Flexible FPGA-Based Stochastic Decoder for 5G LDPC Codes. Electronics. 2023; 12(24):4986. https://doi.org/10.3390/electronics12244986
Chicago/Turabian StyleTera, Sivarama Prasad, Rajesh Alantattil, and Roy Paily. 2023. "A Flexible FPGA-Based Stochastic Decoder for 5G LDPC Codes" Electronics 12, no. 24: 4986. https://doi.org/10.3390/electronics12244986
APA StyleTera, S. P., Alantattil, R., & Paily, R. (2023). A Flexible FPGA-Based Stochastic Decoder for 5G LDPC Codes. Electronics, 12(24), 4986. https://doi.org/10.3390/electronics12244986