Abstract
The turbo code, an error correction code, needs a long decoding time since the same decoding process must be repeated several times in order to obtain a good BER performance. Thus, parallel processing may be used to reduce the decoding time, in which case there may be a memory contention that requires additional buffers. The QPP interleaving has been proposed to avoid such case, but there is still a possibility of memory contention when a decoder is constructed using the so-called double flow technique. In this paper, we propose an even-odd cross mapping technique to avoid memory conflicts even in decoding using the double-flow technique. This method uses the address generation characteristic of the QPP interleaving and can be used to implement the interleaving circuit between the decoding blocks and the LLR memory blocks. When the decoder implemented by applying the double flow and the proposed methods is compared with the decoder by the conventional MDF techniques, the decoding time is reduced by up to 32% with the total area increase by 8%.
오류 정정부호의 일종인 터보 코드는 우수한 BER 성능을 얻기 위하여 동일한 복호 과정을 반복 수행해야 하므로 긴 복호시간을 필요로 한다. 따라서 복호시간을 줄이기 위하여 병렬처리를 이용할 수 있는데, 이 경우, 추가 버퍼를 필요로 하는 메모리 경합이 있을 수 있다. QPP 인터리버는 이러한 메모리 경합을 피하기 위하여 제안되었으나, double flow 복호 기법과 함께 사용하여 복호기를 구성할 경우 여전히 메모리 경합이 발생할 가능성이 있다. 본 논문에서는 double-flow 기법을 이용한 복호에서 메모리 충돌을 피할 수 있는 even-odd cross mapping 기법을 제안한다. 이 방법은 QPP 인터리버의 주소 생성 특성을 사용하며, 복호 모듈과 LLR 메모리 블록 간의 인터리빙 회로 구현에 사용될 수 있다. Double flow 기법과 제안한 방법을 적용하여 복호기를 구현하고, 이를 기존의 MDF 기법에 의한 구현과 비교하였을 때, 전체 면적은 약 8% 증가하지만, 복호시간을 최대 약 32% 줄일 수 있다.