361 0

HLS를 이용한 FPGA기반 LDPC 디코더 가속

HLS를 이용한 FPGA기반 LDPC 디코더 가속
Other Titles
Acceleration of FPGA-based low density parity check decoder using high level synthesis
Alternative Author(s)
Choi, Geon
Issue Date
오늘날, 오류정정부호인 LDPC (Low Density Parity Check)는 통신환경이나 고성능 저장매체에 사용되고 있으며, 다양한 환경에 대응하기 위해서 여러 종류의 LDPC가 존재한다. 이러한 특징을 고려한다면, 각각의 환경에 최적화된 하드웨어가 필요하며, 설계 유연성이 높은 FPGA (Field Programmable Gate Array)가 LDPC를 구현하기에 가장 적합한 하드웨어라고 판단할 수 있다. 하지만 FPGA를 개발하기 위해서는 많은 시간이 필요하기 때문에 HLS (High Level Synthesis)를 이용하여 시간 절약을 이끌어 낼 수 있다. HLS는 우리가 쉽게 접할 수 있는 고급언어를 저급언어로 변경하지만, 우리가 직접 저급언어로 구현할 때보다 설계의 완성도가 떨어진다. 따라서 HLS는 이에 대응하기 위하여 최적화 기능을 지원한다. 본 논문은 HLS적용을 위해 Xilinx사의 SDSoC를 사용하였으며, 최적화 방법으로 어레이 파티션, 파이프라인, 루프 언롤링, 고정 소수점 변환이 적용되었다. 특히, 어레이 파티션은 LDPC decoder의 연산 특성을 고려하였을 때, 해당 방법의 유효화를 위해 메모리 재배치 방법을 고안하여 추가 적용하였다. 그 결과, CPU기반의 실험 환경대비 2.79배, 비최적화 FPGA 실험 환경대비 8.11배의 성능 향상을 이끌었으며, 오류 정정 오류율 증가는 1.4%, 하드웨어 사용량은 BRAM (Block Random Access Memory) 3.64%, LUT (Look Up Table) 8.85%, FF (Flip Flop) 0.03%이 증가되는 결과를 도출하였다. 실험결과, LDPC의 연산특징을 고려한 HLS의 최적화 과정이 FPGA기반의 연산성능 향상에 기여했다는 것을 알 수 있다.
Nowadays, the LDPC (Low Density Parity Check), which is an error correction code, is used in communication environments and high-performance storage media and to cope with various environments, a suitable LDPC is required. Considering these features, optimized hardware for each environment is required and FPGA (Field Programmable Gate Array) with design flexibility is the most suitable hardware to implement LDPC. However, it takes a lot of time to develop an FPGA. So, time saving can be achieved by using High Level Synthesis (HLS) as a method for designing an FPGA. HLS changes the high-level language that we can easily access to the low-level language, but the design is less complete than when we implement it directly in the low-level language. In this thesis, we use SDSoC of Xilinx for HLS and apply array partition, pipeline, loop unrolling, and fixed-point conversion as optimization method. Especially, considering the operation characteristics of the LDPC decoder, the array partition is applied with the memory relocation. The decoding speed of the proposed implementation is 8.11 times and 2.79 times faster than non-optimized implementation and that of a CPU-based LDPC decoder, respectively. The increase of the BER rate was 1.4%, the increasing amount of hardware usage was 3.64% for BRAM (Block Random Access Memory), 8.85% for LUT (Look Up Table) and 0.03% for FF (Flip Flop). Experimental results show that the optimization process using HLS considering the computational characteristics of LDPC contributes to the improvement of the computation performance based on the FPGA.
Appears in Collections:
Files in This Item:
There are no files associated with this item.
RIS (EndNote)
XLS (Excel)


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.