논문 08-33-09-09 한국통신학회논문지 '08-09 Vol. 33 No. 9 높은 throughput 성능을갖는 DVB-S2 LDPC 부호의 복호기구현 준회원김성운 *, 정회원박창수 *, 황선영 * Implementation of High Throughput LDPC Code Decoder for DVB-S2 Seong-Woon Kim* Associate Member, Chang-Soo Park*, Sun-Young Hwang* Regular Members 요 약 본논문은광대역위성서비스를위한유럽전기통신표준화기구의 2세대표준인 DVB-S2에서사용하는 LDPC 부호의 throughput을증가시키기위한새로운복호기구조를제안한다. 제안한구조는 IRA 구조의 LDPC 부호가가지는특징을이용해 360개의비트노드와체크노드를각각그룹핑한다. 노드그룹을구현한연산모듈은각각로컬메모리를가지고있고, 전달받은메시지는자신의로컬메모리에서만읽는다. 제안한구조는메시지라우팅로직을이용해에지로연결된노드그룹의로컬메모리에메시지를저장함으로써메모리충돌이없고순차적인메모리접근을가능하게하여복호기의 throughput을증가시킨다. 제안한 DVB-S2 LDPC 복호기구조는 TSMC 90nm 공정으로합성하였고 F. Kienle과 J. Dielissen이각각제안한기존의구조보다 throughput이각각 104%, 478% 가증가함을확인하였다. Key Words : LDPC, DVB-S2, Decoder, Local memory, High throughput ABSTRACT This paper proposes a novel LDPC code decoder architecture to improve throughput for DVB-S2, a second generation standard of ETSI for satellite broad-band applications. The proposed architecture clusters 360 bitnodes and checknodes into groups utilizing the property of IRA-LDPC code. Functional modules which perform calculations for bitnode groups and checknode groups have local memories and store the messages from the other type of functional modules connected by edges at their local memories. The proposed architecture can avoid memory conflicts by accessing stored messages sequentially, hence, increases throughput in the proposed DVB-S2 LDPC code decoder architecture. The proposed architecture was synthesized using the TSMC 90nm technology. Synthesis results show that throughput of the proposed architecture is improved by 104% and 478%, respectively, when compared with those of the architectures proposed by F. Kienle and J. Dielissen. Ⅰ. 서론 DVB-S2 는광대역위성서비스를위한유럽전기 통신표준화기구 (ETSI) 의 2세대표준이다 [1][2]. DVB-S2 는 1세대표준인 DVB-S에비해 30% 의용량이득을가지며, 이용량이득은 DVB-S2에서적용한고차 본연구는정보통신부및정보통신연구진흥원의대학 IT 연구센터지원사업의연구결과로수행되었음 (IITA-2008-(C1090-0801-0012)) * 서강대학교전자공학과대학원 CAD & ES 연구실논문번호 :KICS2008-07-302, 접수일자 :2008 년 7 월 7 일, 최종논문접수일자 : 2008 년 8 월 21 일 924
논문 / 높은 throughput 성능을갖는 DVB-S2 LDPC 부호의복호기구현 변조방식과새로운 FEC 시스템에의해가능하였다 [2]. DVB-S2는 Convolution 부호와 Reed-Solomon 부호를연접한 FEC(Forward Error Correcting) 시스템을가진 DVB-S와달리 BCH 부호와 LDPC 부호의연접하여 FEC 시스템을구성하였다. LDPC 부호는 Gallager가제안한선형블록부호로써, Tanner 그래프로표현할수있는패리티검사행렬 H로정의된다 [3][4]. Tanner 그래프는 LDPC 부호를일반화하여표현한이분 (bipartite) 그래프이며비트노드와체크노드, 에지 (edge) 로이루어진다. 에지는 H 행렬의원소가 1인행을인덱스로가지는비트노드와열을인덱스로가지는체크노드사이에존재한다. 간단한선형블록부호인 (7,4) 해밍부호에대한 H 행렬과 Tanner 그래프의예를그림 1에보인다. LDPC 부호는 Tanner 그래프상의비트노드와에지로연결된체크노드사이에확률값을가진메시지를반복적으로전달하면서신뢰성있는확률값을가지도록하는메시지전달알고리듬을사용해복호한다 [5]. 메시지전달알고리듬에서사용하는심볼의확률값은실제확률값을사용하는방법과 LLR(Log Lik elihood Ratio) 를사용하는방법이있다. LLR을사용하는방법은복호과정에서실제확률값의곱셈연산을덧셈연산으로대체할수있어실제확률값을사용하는방법보다효율적이다 [6]. 일반적으로 LDPC 부호는매우큰부호화복잡도를가진다 [7][8]. DVB-S2 에서는 LDPC 부호의부호화복잡도문제를해결하기위해 IRA(Irregular Repeat-Accumul ate) 구조를가지는 LDPC 부호를사용한다 [9]. IRA 구조의 LDPC 부호는선형부호화복잡도를가지며일반적인 LDPC 부호에비해크게열화되지않는성능을가진다 [10]. DVB-S2 에서는부호화테이블을사용하여 LDPC 부호를표현하였으며, 부호화테이블을사용한간단한연산과정을통해 DVB-S2 에서사용하는 LD PC 부호의패리티검사행렬을생성할수있다. DVB-S2 표준은 HDTV와같은고화질위성방송, 양방향데이터통신등다양한서비스를제공한다 [1]. 제공하는서비스의종류가다양하고데이터의용량 (a) 그림 1. (7,4) Hamming 부호. (a) H 행렬, (b) Tanner 그래프 (b) 도커짐에따라수신기에서데이터처리에소요되는시간이증가한다. 따라서충분한데이터처리시간을확보하기위해 FEC 시스템의 throughput을높게할필요가있다. F. Kienle 는 255Mbps의 throughput을가지는복호기구조를제안하였다 [11]. F. Kienle 가제안한구조는 DVB-S2 LDPC 부호의특징인 360을주기로가지는주기성을이용해 360개의연산모듈을사용하였다. 많은수의연산모듈을사용해 throughput에비해면적이크다는단점을가진다. J. Dielissen은면적을최소화하기위해 45개의연산모듈과 H 행렬을재배치한행렬을사용하여복호를수행하는복호기구조를제안하였다 [12]. 그결과 90Mbps의비교적낮은 throughput을갖는다. 본논문에서는기존의복호기구조보다높은 throu ghput을갖는 DVB-S2 LDPC 복호기구조를제안한다. 제안한복호기구조는 Tanner 그래프상에서특정한패턴을가지는 360개의비트노드와체크노드를각각비트노드그룹과체크노드그룹으로그룹핑한다. 또노드그룹은연산모듈로구현하고, 연산모듈은로컬메모리를가지도록하여메모리충돌이없는단순화된메모리접근패턴을가진다. 본논문의 Ⅱ절에서는 DVB-S2 LDPC 부호와기존의 LDPC 복호기구조를소개하고 Ⅲ절에서는 DVB- S2 LDPC 부호의 H 행렬의특징을이용한 DVB-S2 LDPC 복호기의구조를제안한다. Ⅳ절에서는제안한복호기구조의성능을평하며, 마지막으로 Ⅴ절에서결론을맺는다. Ⅱ. DVB-S2 LDPC 부호본절에서는 DVB-S2 에서사용하는 LDPC 부호와기존에연구된 DVB-S2 LDPC 부호의복호기구조를간단히소개한다. 2.1 DVB-S2 LDPC 부호 DVB-S2 LDPC 부호는 64,800 비트의부호어길이를가진다. DVB-S2 는긴부호어길이로인한부호화복잡도를최소화할수있도록선형부호화복잡도를가지는 IRA 구조의 LDPC 부호를사용한다. DVB-S2 LD PC 부호기는 의길이를가지는정보블록 를입력으로받아부호화테이블을사용한간단한연산을통해 길이의패리티블록 를생성하고 와 를연접함 으로써부호율 의부호어 925
한국통신학회논문지 '08-09 Vol. 33 No. 9 를생성한다 [1]. DVB-S2 LDPC 부호는 부 터 까지모두 11개의부호율을지원하며, 각부호율에따른부호화테이블을가지고있다. DVB-S2 LD PC 부호는모든패리티비트를 0으로초기화한후식 (1) 의연산을모든정보비트와부호화테이블에대해수행함으로써패리티비트를업데이트한다. 식 (1) 에서 는부호율에의해정의되는값이고 과 는각각부호어의길이와정보블록의길이이며, 는부호화테이블중 번째열의값이다. DVB-S2 LDPC 부호는부호화과정에서식 (1) 의덧셈연산이반복적으로수행되므로 IRA 구조를가진다. DVB-S2 LDPC 부호의 H 행렬구조는그림 2 에제시하였으며 [9], 그림 2의 H 행렬을표현한 Tanne r 그래프는그림 3과같다. 그림 2의 H 행렬은 A 행렬과 B 행렬으로나뉜다. A 행렬은부호어 중정보블록인 와곱해패리티검사식을생성하고 B 행렬은패리티블록인 와곱해패리티검사식을생성한다. H 행렬을표현한그림 3의 Tann er 그래프의비트노드는정보비트노드와패리티비트노드로구분된다. 정보비트노드는부호어중정보블록인 에해당하는위치의비트노드이고체크노드와연결이불규칙적이다. 패리티비트노드는부호어중패리티블록인 에해당하는위치의비트노드이고, 체크노드와지그재그의규칙적인형태로연결된다. 파선으로나타낸에지는불규칙적인연결관계의에지이고실선으로나타낸에지는규칙적인연결관계의에지이다. 그림 2. DVB-S2 LDPC 부호의패리티검사행렬 (1) 그림 3. DVB-S2 LDPC 부호의 Tanner 그래프 2.2 DVB-S2 LDPC 부호의기존복호기구조 LDPC 복호기의구조는크게직렬복호기구조와병렬복호기구조, 부분병렬복호기구조로구분된다 [13]. 직렬복호기구조는적은수의비트노드연산모듈과체크노드연산모듈을가지고있으며각각의연산모듈이모든비트노드와체크노드의연산을수행한다. 연산모듈의수가적어복호기의면적은작지만, throug hput 성능이좋지않다 [14]. 병렬복호기구조는 Tanner 그래프의각노드가직접비트노드연산모듈과체크노드연산모듈로구현된다. 하나의노드가하나의연산모듈과대응되어빠른속도로복호가가능하지만복호기의면적이크다 [15]. DVB-S2 LDPC 부호는긴부호어길이로인해병렬구조의복호기는실제로구현할수없고직렬구조의복호기는 DVB-S2 에서요구하는 throughput을만족할수없다. 따라서부분병렬구조의복호기만이구현가능하다 [11]. F. Kienle는 360개의연산모듈을사용한부분병렬구조의복호기구조를제안하였다 [11]. 제안된복호기구조는 Tanner 그래프상의에지를정보비트노드- 체크노드에지와패리티비트노드-체크노드에지로나눈다. 모든정보비트노드 -체크노드에지는부호화테이블에의해정해진 360개의정보비트노드 -체크노드에지를사용하여표현가능하다. 360개의에지는각각메모리뱅크로구현되고 360개의메모리뱅크를사용해에지를통해전달되는모든메시지를저장한다. 360개의연산모듈은비트노드연산과체크노드연산을모두수행하며각메모리뱅크로부터메시지를전달받는다. 연산모듈은한클럭사이클마다새로운메시지를입력받아메시지전달알고리듬에따라전달할메시지를계산하고, 계산한값을 shu ffling 네트워크를통해메모리에저장하여다음반복과정에서사용한다. 이상의과정을통해제안된복호기는 255Mbps의 throughput을가진다. 926
논문 / 높은 throughput 성능을갖는 DVB-S2 LDPC 부호의복호기구현 J. Dielissen은 DVB-S2 LDPC 부호의 H 행렬이 크기의블록들로구성된사실을이용한복호기구조를제안하였다 [12]. 제안된복호기구조는메시지전달알고리듬에근접한성능을가지고하드웨어복잡도를감소시킬수있는 UMP-BP 알고리듬과 staggered 복호기법을사용하였다. UMP-BP 알고리듬은체크노드연산과정에서 LUT을사용하지않고, 전달받은메시지의최소값을비트노드에전달한다. Staggered 복호기법은반복복호과정에서메모리에저장되어있는메시지를읽은후다음반복복호과정이시작될때까지메시지를유지하지않고, 메시지를읽은후곧바로다음반복복호를위한메시지를해당위치에저장하는기법이다. 참고문헌 [1 2] 의복호기구조는 Staggered 복호기법과 UMP-BP 알고리듬을사용해메모리사용을참고문헌 [11] 의구조에비해절반으로줄일수있었다. 반면에제안된복호기는 90Mbps의 throughput을가진다. Ⅲ. 제안한 LDPC 복호기구조 3.1 노드그룹핑 DVB-S2 LDPC 부호의 H 행렬이가지는특징은식 (2) 와식 (3) 으로표현할수있다. 식 (2) 와식 (3) 에서 은부호어의길이, 는정보블록의길이이며, 와 는각각 A 행렬과 B 행렬의원소이고, 는각각 와 의열과행인덱스이다. 식 (2) 와식 (3) 으로표현된 H 행렬의특징에의해 Tanner 그래프의비트노드와체크노드는비트노드그룹과체크노드그룹으로그룹핑할수있다. 부 호율 의 DVB-S2 LDPC 부호는부호어길이 이고정보어길이 이며, 의값을가진다 [1]. 따라서식 (2) 와식 (3) 은부호율 에서식 (4) 와식 (5) 로표현된다. (2) (3) 은인덱스 의정보비트노드와인덱스 의체크노드사이에는에지가존재함을의미한다. 식 (4) 는 일때 로부터 90씩증가한인덱스의체크노드와 로부터 1씩증가한인덱스의정보비트노드사이에는에지가존재함을나타낸다. 이때, 정보비트노드인덱스는 1 증가후에모듈로 (modulo) 3 60 연산을수행하므로항상연속적인 360개의비트노드만을가리킨다. 이사실을이용해 360개의연속적인정보비트노드를하나의정보비트노드그룹으로그룹핑하고, 인덱스가 90씩증가하는 360개의체크노드를하나의체크노드그룹으로그룹핑한다. 식 (5) 는 일때 과 로부터각각 90씩증가한인덱스의체크노드와패리티비트노드사이에는에지가존재함을나타낸다. 식 (5) 의사실을이용해 90 씩증가하는 360개의비트노드로이루어진패리티비트노드를하나의패리티비트노드그룹으로그룹핑한다. (4) (5) 부호율 에대한그룹핑결과를그림 4 에보인 다. 64,800개의비트노드는 90개의정보비트노드그룹과 90개의패리티비트노드그룹으로그룹핑하고, 32,400개의체크노드를 90개의체크노드그룹으로그룹핑한다. 각노드그룹은노드연산을수행하는연산모듈로구현하며연산모듈사이의메시지전달은메시지라우팅로직과메모리로구현한다. 3.2 메모리접근패턴 메시지전달알고리듬에의한복호과정을하드웨어로구현할때, 메시지전달은메모리를통해이루어진다. 각연산모듈은전달할메시지를메모리에저장하고, 해당연산모듈의상대연산모듈은저장된메시지를읽어메시지연산후메모리에저장한다. 본논문에서는모든연산모듈이로컬메모리를가지는구조를제안한다. 연산모듈은로컬메모리에서순차적으로메시지를읽어에지로연결된연산모듈로전달할메시지를계산한다. 하나의연산모듈에서계 927
한국통신학회논문지 '08-09 Vol. 33 No. 9 (a) 그림 5. 노드그룹을사용한 Tanner 그래프 (b) 그림 4. 비트노드그룹과체크노드그룹. (a) 정보비트노드그룹과체크노드그룹의 Tanner 그래프, (b) 패리티비트노드그룹과체크노드그룹의 Tanner 그래프 산된메시지는전달되어질연산모듈에따라다른값을가지므로, 메시지를정확한위치의메모리에저장해야할필요가있다. 제안한구조는라우팅로직을사용하여메시지가정확한위치에저장되도록한다. 메시지라우팅로직은연산모듈로부터출력된메시지가 Tanner 그래프상에서에지로연결된연산모듈의로컬메모리에저장될수있도록메시지의경로를정해준다. 각연산모듈은자신의로컬메모리에서메시지를읽고 Tanner 그래프상에서에지로연결된연산모듈의로컬메모리에메시지를저장하므로, 제안한복호기구조에는메모리충돌이없다. 그림 5는부호율 일때, 비트노드그룹과체크노드그룹으로구성된 Tanner 그래프이고각노드그룹안의숫자는노드그룹을구성하는노드의인덱스이다. 그림 5에서노드그룹사이의에지는내부노드사이의에지의집합과같다. 즉하나의노드그룹은내부노드와연결된노드를포함하는노드그룹과만연결된다. 비트노드그룹과체크노드그룹은각각정렬된인덱스를가지는 360개의노드로구성되기때문에, 비트노드그룹과체크노드그룹의연결은각노드그룹내부의비트노드와체크노드의순차적연결과같다. 따라서메시지전달알고리듬을 사용한복호과정에서하나의노드그룹에서전송하는메시지는다른하나의노드그룹으로만전달되며, 노드그룹사이의메시지전달은내부노드사이의순차적메시지전달과같다. 연산모듈이전달하는메시지는에지로연결된연산모듈의로컬메모리에저장된다. 메시지를상대연산모듈의로컬메모리로전달하는과정은메시지라우팅로직이수행한다. 하나의연산모듈에할당된 36 0개노드에서출력되는모든메시지는같은연산모듈로만전달되므로에지로연결된두연산모듈사이의메시지전달은연산모듈과로컬메모리사이의메시지전달경로로구현된다. 메시지라우팅로직은 H 행렬로부터추출한연산모듈사이의연결관계를바탕으로모든연산모듈의출력으로부터상대연산모듈의로컬메모리까지메시지전달경로를각각할당한다. 연산모듈에서출력되는메시지는할당된메시지전달경로를통해상대연산모듈의로컬메모리에저장된다. 연산모듈은전달받은메시지를로컬메모리로부터읽어에지로연결된연산모듈로전달하는메시지를계산한다. 로컬메모리의첫주소에는연산모듈의첫노드가필요로하는메시지가아닌, 메시지를전달한연산모듈의첫노드로부터의전달된메시지가저장되어있다. 연산모듈이첫번째로읽어야하는메시지는 H 행렬에의해초기값으로정의된인덱스를가지는노드로부터전달받은메시지이다. 따라서각로컬메모리의메모리컨트롤러는해당연산모듈이첫번째로읽어야할메모리주소를가지고있어, 연산모듈이초기주소로부터순차적으로메시지를읽도록한다. 본논문에서제안한메모리접근패턴을부호율 의예를통해그림 6에보인다. 그림 6의 BFM은 비트노드연산모듈이고 CFM은체크노드연산모듈이 928
논문 / 높은 throughput 성능을갖는 DVB-S2 LDPC 부호의복호기구현 그림 6. 메모리접근패턴며, 연산모듈안의숫자는연산모듈의인덱스를나타낸다. 메모리안의숫자는해당메모리에저장된메시지를전달한노드의인덱스이다. 인덱스 0의비트노드연산모듈은인덱스 48의체크노드연산모듈과연결된다. 연산모듈에서출력된메시지는메시지라우팅로직을거쳐상대연산모듈의로컬메모리의첫주소부터저장되므로, 인덱스 0의비트노드연산모듈의로컬메모리에는인덱스 48의체크노드연산모듈에서보낸메시지가순차적으로저장된다. 인덱스 0의비트노드연산모듈이읽어야할첫번째메시지는인덱스 9318의체크노드에서보낸메시지이므로해당메시지가저장되어있는주소에서첫번째메시지를읽고, 이후로는 1씩증가된주소에서메시지를읽는다. 3.3 연산모듈 Tanner 그래프의비트노드는비트노드연산모듈로구현하고, 체크노드는체크노드연산모듈로구현한다. 본논문에서는비트노드그룹과체크노드그룹을각각비트노드연산모듈과체크노드연산모듈로구현한다. DVB-S2 LDPC 부호는비균일부호로서부호율 의경우, 비트노드의웨이트는 8, 3, 2이고체크노드의웨이트는 7이다. 그림 7은웨이트가 8인비트노드를구현한비트노드연산모듈의구조이다. 64,800개의비트노드를총 180개의비트노드연산모듈로구현하였으며, 각각의비트노드연산모듈은 360개의비트노드에대한비트노드연산을순차적으로수행한다. 비트노드연산모듈은체크노드로부터받은메시지인 와채널 LLR인 을모두더하여전송된심볼을판정한다. 또모든메시지를더한값으 그림 7. 비트노드연산모듈로부터체크노드에서받은메시지를각각빼주어체크노드로전달할메시지를계산한다. 비트노드연산모듈은 16개의덧셈기로구성된 5 단계의덧셈기트리를사용해체크노드로전달하는메시지를계산한다. 덧셈기트리는각단계마다레지스터를배치한파이프라인구조를가지고있어높은클럭주파수에서도동작가능하다. 메시지는한클럭사이클단위로비트노드연산모듈에입력되므로, 모든비트노드연산은 latency 를포함해총 365 클럭사이클을필요로한다. 그림 8은부호율 에서의체크노드연산모듈을나타낸다. 하나의체크노드연산모듈은 360개의체크노드에대한체크노드연산을순차적으로수행한다. 체크노드연산은메시지의값을계산하는부분과부호를계산하는부분으로나뉜다. 메시지의값을계산하는부분은입력받은메시지의절대값만을사용한다. 따라서제안한구조의체크노드연산모듈은 2의보수로표현된메시지를부호화된크기표현으로변그림 8. 체크연산모듈 929
한국통신학회논문지 '08-09 Vol. 33 No. 9 환하여부호부분을제외한값부분만을사용한다. 체크노드연산모듈내부에서사용하는메시지의길이를 1비트줄여, 체크노드연산에필요한 LUT의면적을반으로줄일수있고덧셈기입력의길이도줄일수있다. 체크노드연산모듈은덧셈과정을덧셈기트리로구현하고, 연산모듈의각구성요소사이에레지스터를배치한파이프라인구조를가진다. 체크노드연산모듈은각노드에대한입력을한클럭사이클마다읽도록구현되어, 체크노드연산모듈내부의모든체크노드연산을수행하는데총 367 클럭사이클이소요된다. 3.4 제안한복호기의전체적인구조그림 9는제안한복호기의블록다이어그램을보인다. 메모리안의괄호로표현된숫자는메모리를구성하는메모리뱅크의수이다. 각연산모듈의로컬메모리는연산모듈의입력수만큼메모리뱅크로구성되어, 연산모듈에필요한입력을한클럭사이클 에제공한다. 부호율 의경우체크노드연산모듈은각각 7개의뱅크로이루어진로컬메모리를가지고비트노드연산모듈은각각 8개와 3개, 그리고 2개의뱅크로이루어진로컬메모리를각각가진다. 그림 9에서실선으로표현된화살표는메시지의흐름을나타내고, 파선으로표현된화살표는컨트롤신호의흐름을나타낸다. 복호기의복호과정은주컨트롤러에의해제어된다. 주컨트롤러는입력메모리컨트롤러와메시지메모리컨트롤러를통해메시지전달과정을제어한다. 그림 9. 제안한구조의블록다이어그램 복호과정이시작되면주컨트롤러는각메모리컨트롤러의메모리주소값을초기화한다. 초기화과정으로메모리컨트롤러는 H 행렬에의해정해진읽기주소와 0 번지의쓰기주소를가지고, 각주소는반복복호과정중 1씩증가한다. 따라서연산모듈은 H 행렬에의해정해진읽기주소의로컬메모리로부터메시지를읽고전달하는메시지를계산한다. 계산된메시지는메시지라우팅로직을통해에지로연결된연산모듈의로컬메모리에 0 번지부터순차적으로저장된다. Ⅳ. 구현결과 제안한구조의복호기는 Synopsys 사의 Design Co mpiler 를사용해 TSMC 90nm 공정으로합성하였다. 복호기는메모리, 연산모듈, 메시지라우팅로직, 컨트롤러의네부분으로나누어각각의면적을표 1에나타내었다. 복호기의 throughput은식 (6) 과같이구할수있다. (6) 는정보블록의길이이고 은 L DPC 부호한프레임을복호하는데소요되는클럭사이클이며 은클럭주파수이다. 제안된복호기는한번의반복과정에서비트노드연산과체크노드연산을위해각각 365 클럭사이클과 367 클럭사이클을필요로하며, 메모리주소초기화를위해 1 클럭사이클을필요로한다. 또복호시작시채널 LLR 값을입력받는데 360 클럭사이클이필요하다. 제안한복호기의최대반복회수는 25이고, 300MHz 에서동작가능하므로제안된복호기의 throughput은 520Mbps이다. 표 1에서제안한복호기구조의 throug hput을기존구조의 throughput과함께보인다. 표 1은제안한복호기구조의구현결과를면적과 t hroughput 측면에서기존복호기구조인 [11] 과 [12] 와함께보인다. 참고문헌 [11] 에서제안한복호기구조는 ST microelectronics의 0.13um 공정을사용하여합성하였으나, 90nm 공정에맞게스케일링하였다 [12]. 제안한 DVB-S2 LDPC 복호기구조는모든연산모듈이로컬메모리를가지는구조로서, 비트노드와체크노드사이의양방향메시지전달을위한메모리를모두가진다. 메모리충돌을고려할필요가없고순차적인메모리접근이가능하므로 throughput이증가한 930
논문 / 높은 throughput 성능을갖는 DVB-S2 LDPC 부호의복호기구현 표 1. 기존복호기구조와제안한복호기구조의성능비교 memory function Area(mm 2 ) 문헌 [11] 문헌 [12] 제안한구조 input 1.0 1.8 1.0 message 4.5 1.2 12.2 controller 0.04 0.1 1.61 functional logic 5.4 0.8 3.59 controller 0.1 0.1 0.001 shuffling/r outing 0.3 0.2 0.26 total 11.34 4.2 18.66 Throughput(Mbps) 255 90 520 1.34 의면적을가지고참고문헌 [12] 의구조는 4.2 의면적을가지는데비해제안한구조는 18.6 6 의면적을가진다. 그림 11은기존복호기구조와제안한복호기구조의성능을비율로나타낸다. 제안한구조의복호기는기존복호기구조인 [11] 의구조에비해 104% 증가된 throughput 가지고 [12] 의구조에비해 478% 증가된 throughput을가진다. 반면 [11] 의구조에비해 65% 증가된면적을가지고 [12] 의구조에비해 345% 증가된면적을가진다. 다. 제안한복호기의구조와참고문헌 [11][12] 의구조를비교하여그림 10과그림 11에보인다. 그림 10은기존복호기구조와제안한복호기구조의성능을나타낸다. 기존복호기구조인참고문헌 [1 1] 의구조는 255Mbps의 throughput 가지고참고문헌 [12] 의구조는 90Mbps의 throughput을가지는데비해제안한구조의복호기는 520Mbps의 throughput을가진다. 반면모든연산모듈이각각의로컬메모리를가지므로면적이증가한다. 참고문헌 [11] 의구조는 1 (a) (a) (b) 그림 10. 기존복호기구조와제안한복호기구조의성능 (a) Throughput, (b) 면적 (b) 그림 11. 기존복호기구조와제안한복호기구조의성능비교. (a) 참고문헌 [11] 의구조와제안한구조의비교, (b) 참고문헌 [12] 의구조와제안한구조의비교 Ⅴ. 결론 본논문에서는 DVB-S2 LDPC 부호의복호기구조를제안하였다. DVB-S2 LDPC 부호는 IRA 구조를가진다. IRA 구조의 LDPC 부호가가지는특징을이용해 Tanner 그래프상의비트노드와체크노드를비트노드그룹과체크노드그룹으로그룹핑하였다. 그룹핑한노드그룹은 Tanner 그래프상에서그룹내의노드와에지로연결된노드를포함하는노드그룹과연결되었다. 노드그룹을구현한연산모듈은각각로컬메모리를가지며전달받은메시지는로컬메모리에서순차적으로읽도록하였다. 제안한구조 931
한국통신학회논문지 '08-09 Vol. 33 No. 9 의 DVB-S2 LDPC 복호기는로컬메모리의사용으로메모리충돌의가능성을없애고메모리접근패턴을단순화할수있어 throughput 성능을향상시켰지만, 전체적인면적이증가하였다. 제안한구조의복호기는참고문헌 [11] 의구조에비해약 104%, 참고문헌 [12] 의구조에비해약 478% 의 throughput 성능향상이있었다. 반면에참고문헌 [11] 의구조에비해약 65%, 참고문헌 [12] 의구조에비해약 345% 증가한면적을가진다. 본논문에서는 IRA 구조를가지는 DVB-S2 규격을위한 LDPC 부호의복호기구조를제안하였다. 제안한구조의핵심은노드의그룹핑과로컬메모리를통한메모리접근패턴의단순화이다. 본논문에서는 DVB-S2 LDPC 부호의복호기구조를제안하였지만, IRA 구조의 LDPC 부호를사용하는다른응용에도적용가능하다. 참고문헌 [1] ETSI, Digital video broadcasting (DVB); Se cond generation framing structure, channel c oding and modulation systems for broadcasti ng, interactive services, news gathering and other broad-band satellite applications: EN 3 02 307 V1. 1.1, 2005. [2] A. Morello and V. Mignone, DVB-S2: The Second generation standard for satellite broa d-band services, Proceedings of the IEEE, Vol.94, No.1, pp.210-227, Jan. 2006. [3] R. Gallager, Low-density parity-check code s, IEEE Transactions on Information Theor y, Vol.8, No.1, pp.21-28, Jan. 1962. [4] R. Tanner, A recursive approach to low co mplexity codes, IEEE Transactions on Infor mation Theory, Vol.27, No.5, pp.533-547, S ep. 1981. [5] D. MacKay, Good error-correcting codes ba sed on very sparse matrices, IEEE Transact ions on Information Theory, Vol.45, No.2, p p.399-431, Mar. 1999. [6] F. Kschischang and B. Frey, Iterative deco ding of compound codes by probability prop agation in graphical models, IEEE Journal on Selected Areas in Communications, Vol.1 6, No.2, pp.219-230, Feb. 1998. [7] T. Richardson and R. Urbanke, Efficient en coding of low-density parity-check codes, I EEE Transactions on Information Theory, V ol.47, No.2, pp.638-656, Feb. 2001. [8] 배슬기, 김준성, 송홍엽, 순환행렬과 eira 부호를이용한효율적인 LDPC 부호화기설계, 한국통신학회논문지, 제 31권, 2C호, p p.123-129, 2006년 2월. [9] M. Gomes, G. Falcao, V. Silva, V. Ferreira, A. Sengo, and M. Falcao, Flexible parallel architecture for DVB-S2 LDPC decoders, i n Proc. GLOBECOM. IEEE, Washington D C, pp.3265-3269, Nov. 2007. [10] H. Jin, A. Khandekar, and R. McEliece, Irr egular Repeat-Accumulate Codes, in Proc. 2nd Int. Symp. on Turbo Codes & Related Topics, Brest, France, pp.1-8, sep. 2000. [11] F. Kienle, T. Brack, and N. Wehn, A synt hesizable IP core for DVB-S2 LDPC code decoding, in Proc. DATE, Munich, German y, Vol.3, pp.100-105, Mar. 2005. [12] J. Dielissen, A. Hekstra and V. Berg, Low cost LDPC decoder for DVB-S2, In Proc. DATE, Munich, Germany, Vol.2, pp.1-6, M ar. 2006. [13] E. Yeo and V. Anantharam, Iterative decod er architectures, IEEE Communications Mag azine, Vol.41, No.8, pp.132-140, Aug. 2003. [14] E. Yeo, P. Pakzad, B. Nikolic, and V. Ana ntharam, High throughput low-density parity -check decoder architectures, in Proc. GLO BECOM. IEEE, San Antonio, TX, pp.3019-3 024, Nov. 2001. [15] A. Blanksby and C. Howland, A 690-mW 1-Gb/s 1024-b, rate-1/2 low-density parity-ch eck code decoder, IEEE Journal of Solid-St ate Circuits, Vol.37, No.3, pp.404-412, Mar. 2002. 932
논문 / 높은 throughput 성능을갖는 DVB-S2 LDPC 부호의복호기구현 김성운 (Seong-Woon Kim) 준회원 2007년 2월서강대학교전자공학과졸업 2007년 3월 ~ 현재서강대학교전자공학과대학원 CAD & ES 연구실석사과정 < 관심분야 > ECC decoder design for mobile, Low power VLSI design 박창수 (Chang-Soo Park) 정회원 2002년 2월서강대학교전자공학과졸업 2004년 8월서강대학교전자공학화석사학위취득 2005년 8월 ~ 현재서강대학교전자공학과대학원 CAD & ES 연구실박사과정 < 관심분야 > SoC design, Embedded System Design 황선영 (Sun-Young Hwang) 정회원 1976년 2월서울대학교전자공학과졸업 1978년 2월한국과학원전기및전자공학과공학석사취득 1986년 10월미국 Stanford 대학전자공학박사학위취득 1976년 ~1981년삼성반도체주식회사연구원팀장 1986년 ~1989년 Stanford 대학 Center for Integrated System 연구소책임연구원 1989년 ~1992년삼성전자 ( 주 ) 반도체기술자문 2002년 4월 ~2004년 2월서강대학교정보통신대학원장 1989년 3월 ~ 현재서강대학교전자공학과교수 < 관심분야 > CAD 및임베디드시스템설계, NoC/ SoC 시스템설계, HW/SW co-design, DSP/VLSI 시스템설계 933