Efficient hardware architectures for multi-kernel polar codes
Rezaei, Hossein (2024-10-18)
Rezaei, Hossein
Oulun yliopisto
18.10.2024
https://rightsstatements.org/vocab/InC/1.0/
© University of Oulu, 2024. This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited. © Oulun yliopisto, 2024. Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.
https://rightsstatements.org/vocab/InC/1.0/
© University of Oulu, 2024. This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited. © Oulun yliopisto, 2024. Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.
https://rightsstatements.org/vocab/InC/1.0/
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-202409115792
https://urn.fi/URN:NBN:fi:oulu-202409115792
Kuvaus
Academic dissertation to be presented with the assent of the Doctoral Programme Committee of Information Technology and Electrical Engineering of the University of Oulu for public defence in the OP auditorium (L10), Linnanmaa, on 25 October 2024, at 12 noon
Tiivistelmä
Abstract
The aim of this thesis is to develop efficient hardware architectures for both encoding and decoding of multi-kernel (MK) polar codes, with a focus on optimizing latency, throughput, and resource utilization. The proposed architectures support encoding and decoding of codes constructed by binary (2×2), ternary (3×3) and binary-ternary mixed kernels.
First, we design and implement a MK decoder based on the fast-simplified successive cancellation (fast-SSC) algorithm. Notably, the proposed architecture provides flexibility in terms of code length, code rate, and kernel sequence. The resulting architecture achieves a significant reduction in latency compared to state-of-the-art alternatives.
In the second part of the thesis, we propose an unrolled architecture for encoding both systematic and non-systematic MK polar codes. Furthermore, two novel non-systematic stage-folded encoders, designed to minimize resource usage, have been introduced for the encoding of pure-ternary and MK codes, which offer the capability for dynamic kernel assignment. The proposed architectures exhibit an unprecedented level of flexibility by supporting 83 different codes and offering various architectures that provide trade-offs between throughput and resource consumption.
Further, based on the successive cancellation (SC) decoding algorithm, a combinational architecture for MK polar decoding with high throughput is proposed. The proposed architecture is rate-flexible, meaning that a new code rate can be assigned to the decoder at every clock cycle.
Finally, a new compiler scripted in Python is introduced to automatically generate HDL modules for both the unrolled and stage-folded MK encoders, as well as combinational MK decoders. By inserting the desired parameters, a designer can simply obtain all the necessary HDL files for FPGA implementation. Tiivistelmä
Tämän tutkielman tarkoituksena on kehittää tehokkaita laitteistoarkkitehtuureja usean ytimen (multi-kernel, MK) polaarikoodien koodaamiseen ja purkamiseen. Painopiste on latenssin, välityskyvyn ja resurssien käytön optimoinnissa. Ehdotetut arkkitehtuurit tukevat binaarisilla (2×2), ternaarisilla (3×3) ja binaari-ternaari-yhdistelmään perustuvilla ytimillä muodostettujen koodien koodaamista ja purkamista.
Ensin suunnitellaan ja toteutetaan usean ytimen dekooderi, joka perustuu nopean yksinkertaistetun peräkkäisen kumoamisen algoritmiin (fast-SSC). Ehdotetussa arkkitehtuurissa on merkittävää, että se tarjoaa joustavuutta koodin pituuden, koodisuhteen ja ydinjärjestyksen suhteen. Tuloksena saatavalla arkkitehtuurilla saavutetaan merkittävä latenssin väheneminen verrattuna muihin nykyaikaisiin vaihtoehtoihin.
Tutkielman toisessa osassa ehdotetaan avattua (unrolled) arkkitehtuuria sekä systemaattisten että ei-systemaattisten usean ytimen polaarikoodien koodaamiseen. Lisäksi kaksi uutta ei-systemaattista vaiheisiin perustuvaa (stage-folded) kooderia, jotka on suunniteltu minimoimaan resurssien käyttö, esitellään puhtaasti ternaaristen ja usean ytimen koodien koodaamiseen. Ne tarjoavat mahdollisuuden dynaamiseen ytimen määrittämiseen. Ehdotetut arkkitehtuurit ovat ennennäkemättömän joustavia: ne tukevat 83:a erilaista koodia ja tarjoavat useita arkkitehtuureja, jotka sisältävät kompromisseja välityskyvyn ja resurssien kulutuksen välillä.
Lisäksi ehdotetaan peräkkäisen kumoamisen (successive cancellation, SC) koodinpurkualgoritmiin perustuvaa yhdistelmäarkkitehtuuria usean ytimen polaaridekoodaukseen suurella välityskyvyllä. Ehdotettu arkkitehtuuri on joustava koodisuhteen osalta: dekooderille voidaan antaa uusi koodisuhde jokaisen kellojakson yhteydessä.
Lopuksi esitellään uusi Python-kielellä kirjoitettu käännin HDL-moduulien automaattiseen muodostamiseen avattuja ja vaiheisiin perustuvia usean ytimen koodereita varten sekä usean ytimen yhdistelmädekoodereita varten. Lisäämällä halutut parametrit suunnittelija saa yksinkertaisella tavalla kaikki tarvittavat HDL-tiedostot FPGA-toteutusta varten.
The aim of this thesis is to develop efficient hardware architectures for both encoding and decoding of multi-kernel (MK) polar codes, with a focus on optimizing latency, throughput, and resource utilization. The proposed architectures support encoding and decoding of codes constructed by binary (2×2), ternary (3×3) and binary-ternary mixed kernels.
First, we design and implement a MK decoder based on the fast-simplified successive cancellation (fast-SSC) algorithm. Notably, the proposed architecture provides flexibility in terms of code length, code rate, and kernel sequence. The resulting architecture achieves a significant reduction in latency compared to state-of-the-art alternatives.
In the second part of the thesis, we propose an unrolled architecture for encoding both systematic and non-systematic MK polar codes. Furthermore, two novel non-systematic stage-folded encoders, designed to minimize resource usage, have been introduced for the encoding of pure-ternary and MK codes, which offer the capability for dynamic kernel assignment. The proposed architectures exhibit an unprecedented level of flexibility by supporting 83 different codes and offering various architectures that provide trade-offs between throughput and resource consumption.
Further, based on the successive cancellation (SC) decoding algorithm, a combinational architecture for MK polar decoding with high throughput is proposed. The proposed architecture is rate-flexible, meaning that a new code rate can be assigned to the decoder at every clock cycle.
Finally, a new compiler scripted in Python is introduced to automatically generate HDL modules for both the unrolled and stage-folded MK encoders, as well as combinational MK decoders. By inserting the desired parameters, a designer can simply obtain all the necessary HDL files for FPGA implementation.
Tämän tutkielman tarkoituksena on kehittää tehokkaita laitteistoarkkitehtuureja usean ytimen (multi-kernel, MK) polaarikoodien koodaamiseen ja purkamiseen. Painopiste on latenssin, välityskyvyn ja resurssien käytön optimoinnissa. Ehdotetut arkkitehtuurit tukevat binaarisilla (2×2), ternaarisilla (3×3) ja binaari-ternaari-yhdistelmään perustuvilla ytimillä muodostettujen koodien koodaamista ja purkamista.
Ensin suunnitellaan ja toteutetaan usean ytimen dekooderi, joka perustuu nopean yksinkertaistetun peräkkäisen kumoamisen algoritmiin (fast-SSC). Ehdotetussa arkkitehtuurissa on merkittävää, että se tarjoaa joustavuutta koodin pituuden, koodisuhteen ja ydinjärjestyksen suhteen. Tuloksena saatavalla arkkitehtuurilla saavutetaan merkittävä latenssin väheneminen verrattuna muihin nykyaikaisiin vaihtoehtoihin.
Tutkielman toisessa osassa ehdotetaan avattua (unrolled) arkkitehtuuria sekä systemaattisten että ei-systemaattisten usean ytimen polaarikoodien koodaamiseen. Lisäksi kaksi uutta ei-systemaattista vaiheisiin perustuvaa (stage-folded) kooderia, jotka on suunniteltu minimoimaan resurssien käyttö, esitellään puhtaasti ternaaristen ja usean ytimen koodien koodaamiseen. Ne tarjoavat mahdollisuuden dynaamiseen ytimen määrittämiseen. Ehdotetut arkkitehtuurit ovat ennennäkemättömän joustavia: ne tukevat 83:a erilaista koodia ja tarjoavat useita arkkitehtuureja, jotka sisältävät kompromisseja välityskyvyn ja resurssien kulutuksen välillä.
Lisäksi ehdotetaan peräkkäisen kumoamisen (successive cancellation, SC) koodinpurkualgoritmiin perustuvaa yhdistelmäarkkitehtuuria usean ytimen polaaridekoodaukseen suurella välityskyvyllä. Ehdotettu arkkitehtuuri on joustava koodisuhteen osalta: dekooderille voidaan antaa uusi koodisuhde jokaisen kellojakson yhteydessä.
Lopuksi esitellään uusi Python-kielellä kirjoitettu käännin HDL-moduulien automaattiseen muodostamiseen avattuja ja vaiheisiin perustuvia usean ytimen koodereita varten sekä usean ytimen yhdistelmädekoodereita varten. Lisäämällä halutut parametrit suunnittelija saa yksinkertaisella tavalla kaikki tarvittavat HDL-tiedostot FPGA-toteutusta varten.
Kokoelmat
- Avoin saatavuus [38865]