Y. Ben-Asher, V. Tartakovsky, Katrina Portman, Orr Zilberman, Avishi Hadar
{"title":"FPGA可扩展并行维特比解码器","authors":"Y. Ben-Asher, V. Tartakovsky, Katrina Portman, Orr Zilberman, Avishi Hadar","doi":"10.1109/MCSoC2018.2018.00014","DOIUrl":null,"url":null,"abstract":"Viterbi decoders are an essential component in many embedded systems used for decoding streams of N data symbols over noisy channels. The decoding process is a sequential process wherein the decoder builds a trellis for N received symbols and then it traverses the trellis back computing the path in the trellis that implies the minimal amount of corrections in the bits of the N received symbols. Several techniques have been developed to increase the amount of parallelism of Viterbi decoders, showing building the trellis can be parallelized however to the selecting the minimal path proved harder to parallelize. In this work, we show that both building the Trellis and computing the minimal path can be parallelized as a sequence of matrix multiplications. This yields a parallel implementation with a linear speedup of order N/P+P where P is any amount of the desired parallelism in the circuit. We implemented a Verilog-generator that for any set of parameters generates an optimized sequential decoder and an optimized parallel decoder. We thus able to verify that the parallel version can obtain linear speedups.","PeriodicalId":413836,"journal":{"name":"2018 IEEE 12th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSoC)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"An FPGA Scalable Parallel Viterbi Decoder\",\"authors\":\"Y. Ben-Asher, V. Tartakovsky, Katrina Portman, Orr Zilberman, Avishi Hadar\",\"doi\":\"10.1109/MCSoC2018.2018.00014\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Viterbi decoders are an essential component in many embedded systems used for decoding streams of N data symbols over noisy channels. The decoding process is a sequential process wherein the decoder builds a trellis for N received symbols and then it traverses the trellis back computing the path in the trellis that implies the minimal amount of corrections in the bits of the N received symbols. Several techniques have been developed to increase the amount of parallelism of Viterbi decoders, showing building the trellis can be parallelized however to the selecting the minimal path proved harder to parallelize. In this work, we show that both building the Trellis and computing the minimal path can be parallelized as a sequence of matrix multiplications. This yields a parallel implementation with a linear speedup of order N/P+P where P is any amount of the desired parallelism in the circuit. We implemented a Verilog-generator that for any set of parameters generates an optimized sequential decoder and an optimized parallel decoder. We thus able to verify that the parallel version can obtain linear speedups.\",\"PeriodicalId\":413836,\"journal\":{\"name\":\"2018 IEEE 12th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSoC)\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-09-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2018 IEEE 12th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSoC)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/MCSoC2018.2018.00014\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE 12th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSoC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/MCSoC2018.2018.00014","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Viterbi decoders are an essential component in many embedded systems used for decoding streams of N data symbols over noisy channels. The decoding process is a sequential process wherein the decoder builds a trellis for N received symbols and then it traverses the trellis back computing the path in the trellis that implies the minimal amount of corrections in the bits of the N received symbols. Several techniques have been developed to increase the amount of parallelism of Viterbi decoders, showing building the trellis can be parallelized however to the selecting the minimal path proved harder to parallelize. In this work, we show that both building the Trellis and computing the minimal path can be parallelized as a sequence of matrix multiplications. This yields a parallel implementation with a linear speedup of order N/P+P where P is any amount of the desired parallelism in the circuit. We implemented a Verilog-generator that for any set of parameters generates an optimized sequential decoder and an optimized parallel decoder. We thus able to verify that the parallel version can obtain linear speedups.