管 武,梁利平,胡巧芝
(中國科學(xué)院微電子研究所,北京100029)
面向LTE-A寬帶通信的并行比特協(xié)處理器*
管武,梁利平,胡巧芝
(中國科學(xué)院微電子研究所,北京100029)
通過時分復(fù)用的硬件方法,設(shè)計實現(xiàn)了面向LTE-A寬帶通信的PBC(Parallel Bit Coprocessor)并行比特協(xié)處理器。該協(xié)處理器支持2G/3G/LTE/LTE-A標(biāo)準(zhǔn)的高速比特處理。協(xié)處理器以并行計算的結(jié)構(gòu),支持CRC校驗、卷積碼/Turbo碼編解碼、比特交織等寬帶通信中的比特處理,吞吐率達600 Mb/s。在65 nm CMOS工藝下,該譯碼器面積約為1.9mm×2.1mm,slow case下時鐘速率550 MHz;工作在510 MHz時,可完成面向LTE-A的600 Mb/s高速比特處理需求。
LTE-A;CRC校驗;卷積碼;Turbo碼;交織;并行比特處理
LTE-A(Long Term Evolution-Advanced)是 3GPP最大的新技術(shù)研發(fā)項目,它以其優(yōu)異的性能成為4G通信的標(biāo)準(zhǔn)。它上行峰值速率500 Mb/s,上行峰值頻譜利用率15 Mbps/Hz,下行峰值速率1 Gb/s,下行峰值頻譜利用率30 Mbps/Hz[1-2]。LTE-A的研究和開發(fā)已經(jīng)成為現(xiàn)在通信領(lǐng)域的熱點。
然而,其高速率的比特處理為LTE-A的實現(xiàn)帶來了巨大的挑戰(zhàn)。Bickerstaff等設(shè)計了支持卷積碼和Turbo碼的可配置譯碼器[3]。Vogt等實現(xiàn)了對卷積碼、Turbo碼和LDPC碼的譯碼[4-6]。但是,這些協(xié)處理器僅支持信道編解碼處理,缺少對CRC校驗和交織的支持,且速率偏低。
為了適應(yīng)LTE-A上行300 Mb/s、下行 600 Mb/s的通信要求,本文設(shè)計了一種兼容CRC校驗、卷積碼、Turbo碼和交織的通用并行比特協(xié)處理器。這種協(xié)處理器通過時分的方法,可以實現(xiàn)并行的 CRC校驗[7]、卷積碼的Viterbi譯碼[8]、Turbo碼MAX-Log-MAP譯碼[9]與信道交織[10]。通過可配置的結(jié)構(gòu),可實現(xiàn)面向 2G/3G/LTE/ LTE-A等模式的高速比特處理。這種通用的并行比特協(xié)處理器降低了系統(tǒng)復(fù)雜度,實現(xiàn)了運算器的通用化。
2G/3G/LTE/LTE-A通信的比特處理包含 CRC校驗、卷積/Turbo編碼和交織,如圖1所示。特別對于LTE-A系統(tǒng)來說,首先輸入數(shù)據(jù),進行 CRC校驗;然后校驗的數(shù)據(jù)進行1/3碼率的卷積/Turbo編碼,輸出編碼數(shù)據(jù);編碼數(shù)據(jù)再進行內(nèi)交織合并,組成一個交織編碼序列;編碼序列進行速率匹配截斷,變成刪截序列輸出。
對于接收端,HARQ模式可以將多個接收得到的符號序列組合,輸入給解交織模塊;解交織模塊將數(shù)據(jù)進行解交織,變成3路數(shù)據(jù);解碼器將3路數(shù)據(jù)進行解碼,得到比特輸出,然后進行CRC校驗,輸出最終比特。
典型LTE-A上行300 Mb/s、下行600 Mb/s的需求,要求發(fā)送端的信息速率為300 Mb/s,接收端的信息速率為600 Mb/s。其高速率的比特處理為LTE-A的實現(xiàn)帶來了巨大的挑戰(zhàn)。因此,需要采用并行的模式,實行高速率的比特處理。
圖1 2G/3G/LTE/LTE-A通信中的比特處理
協(xié)處理器結(jié)構(gòu)如圖2所示,共有硬件執(zhí)行單元6個,其中:(1)CRCEnc/CRCDec,執(zhí)行CRC編解碼;(2)Intlv/Deintlv,執(zhí)行交織和解交織;(3)FECEnc/FECDec,執(zhí)行核心卷積碼和Turbo碼的編碼及解碼。
圖2 高速并行比特協(xié)處理器結(jié)構(gòu)圖
同時,協(xié)處理器還有 4類存儲器,其中:(1)C0~C5/ P0~P1,其中C0~C5為 256×192的 RAM,P0~P1為 256× 256的RAM。RAM中,C0~C2/P0為第一組,C3~C5/P1為第二組。8塊RAM通過乒乓的結(jié)構(gòu)進行數(shù)據(jù)處理。這兩組RAM主要供編碼的比特或譯碼的軟信息的輸入或輸出。(2)B0~B4,為768×64的RAM,主要供交織運算。(3)ExRAM,為256×1 280的大塊RAM,主要供譯碼中間狀態(tài)的保存。(4)IntlvRAM,為512×32的小塊RAM,主要供Turbo碼的編解碼交織器的暫存。
此外,協(xié)處理器還包括3個總線。一個256位寬總線,供DMA輸入輸出;一個64比特總線,供交織數(shù)據(jù)傳遞;一個32位總線,供APB端口進行協(xié)處理器的配置處理。
2.1CRCEnc/CRCDec
CRC校驗的基本思想是利用線性編碼理論,在發(fā)送端根據(jù)要傳送的k位二進制碼序列,以一定的規(guī)則產(chǎn)生一個校驗用的監(jiān)督碼(既CRC碼)r bit,并附在信息后邊,構(gòu)成一個新的二進制碼序列數(shù)共(k+r)bit,最后發(fā)送出去。在接收端,則根據(jù)信息碼與CRC碼之間所遵循的規(guī)則進行檢驗,以確定傳送中是否出錯。
并行CRC的硬件結(jié)構(gòu)如圖3所示。首先,完成CRC生成矩陣的配置,然后進行 CRC的計算。由于系統(tǒng)32 bit字的要求,其輸入/輸出均為32 bit字,內(nèi)部CRC并行位數(shù)M由配置決定。CRC并行硬件包含3步:
(1)首先完成 32 bit并行字到 M bit并行字的轉(zhuǎn)換,為CRC矩陣乘法提供輸入;
(2)實現(xiàn)M bit并行數(shù)據(jù)加r bit余數(shù)與M×(r+M)矩陣的比特乘法;
(3)最后將r bit并行余數(shù)字轉(zhuǎn)換為32 bit并行字,為CRC的輸出。
圖3 并行CRC硬件結(jié)構(gòu)
這里,編解碼的操作實際上是一樣的,不過,CRC編碼輸入k bit數(shù)據(jù),需要給出r+k bit比特輸出;CRC解碼輸入r+k bit數(shù)據(jù),輸出為k bit比特和CRC校驗指示符。
2.2FECEnc/FECDec
卷積碼和Turbo碼等FEC碼的編解碼,在待發(fā)送的原始信息流中,按照一定的規(guī)律附加一些監(jiān)督碼元,這些多余的碼元與信息碼元之間以某種確定的規(guī)則相互約束。在接收端接收到通過差錯控制編碼的信息后,再按照既定的規(guī)則檢驗信息碼元與監(jiān)督碼元之間的關(guān)系,一旦傳輸過程中發(fā)生錯誤,信息碼元與監(jiān)督碼元之間的關(guān)系就會受到破壞,而從中發(fā)現(xiàn)錯誤,乃至糾正錯誤。
典型的卷積碼/Turbo碼信道編碼器框圖如圖4所示。FECEnc采用Turbo碼編碼結(jié)構(gòu),采取巧妙、獨特的措施將普通的RSC(遞歸系統(tǒng)卷積碼)組成元素重新排列,達到了非凡的性能。當(dāng)FECEnc進行卷積碼編碼時,將Intlv模式配制成直通模式即可。
圖4 典型的FECEnc編碼圖
FECDec并行譯碼器的結(jié)構(gòu)如圖5所示,包含交織地址生成模塊(TurboIntlv)、數(shù)據(jù)并行分發(fā)(Parallel Reshp)、狀態(tài)度量計算(Metric)和似然比軟信息計算(LLR)模塊,此外,還包含一個寬口存儲ExRAM。
交織地址生成模塊(TurboIntlv)計算 3G/LTE/LTE-A等系統(tǒng)中的Turbo碼交織器序列,并傳遞給數(shù)據(jù)并發(fā)單元。由于在Turbo譯碼時有前向遞歸和后向遞歸,因此其交織器有正反序交織輸出的能力。
圖5 并行譯碼器硬件結(jié)構(gòu)
數(shù)據(jù)并行分發(fā)模塊將輸入的 32路信道信息 Mesg、32路信道校驗Parity和32路外信息LLR根據(jù)交織器的交織地址進行行內(nèi)交織,分發(fā)到32路支路度量計算單元。
度量計算模塊包含支路度量的計算和狀態(tài)度量的計算。
根據(jù)支路度量進行遞歸運算,即可得到前向狀態(tài)度量 Ak(s)和后向狀態(tài)度量 Bk(s)為:
這里,由于Turbo碼前向狀態(tài)度量、Turbo碼后向狀態(tài)度量和卷積碼狀態(tài)度量計算的輸入是不同的,所以輸入是根據(jù)配置3選1的。同時,為了保證輸出的量化精度,輸出需要歸一化,所以其執(zhí)行模塊是3選1的加比選后再歸一化,歸一化參數(shù)為或。
似然比軟信息計算模塊計算譯碼的軟信息,主要包含4步:
(1)加法,即完成前后度量的綜合,當(dāng) uk=+1/-1時,其狀態(tài)轉(zhuǎn)移各有8個。
(3)似然比計算,即+1的似然比減去-1的似然比,得到先驗信息為:
(4)最后,計算判決似然比,即:
整個模塊以可配置的模式,完成對各種卷積碼和Turbo碼的解碼運算。
2.3Intlv/Deintlv
為了實現(xiàn)各種速率的要求,在編碼之后需要進行速率匹配。
速率匹配的作用是根據(jù)系統(tǒng)要求,通過增減比特數(shù),將編碼器的輸出速率調(diào)整到所需要的碼率。LTE針對Turbo碼和咬尾卷積碼采用了不同的速率匹配機制。速率匹配是通過交織來實現(xiàn)的。然而,LTE-A上行信息速率300 Mb/s,速率較高,需要并行的交織器完成數(shù)據(jù)交織,交織結(jié)構(gòu)如圖6所示。交織器根據(jù)8路交織地址,選擇8路比特,然后對這些比特進行合并,組成32 bit的字輸出。
圖6 速率匹配交織器硬件結(jié)構(gòu)
解交織結(jié)構(gòu)如圖7所示,需要將索引間隔為32的數(shù)據(jù)變換成索引間隔為L(L為滑窗譯碼的窗長)的數(shù)據(jù)。解交織分兩步進行:首先將索引間隔為32的數(shù)據(jù)變換成索引間隔為1的數(shù)據(jù);然后將索引間隔為1的數(shù)據(jù)變換成索引間隔為L(L為滑窗譯碼的窗長)的數(shù)據(jù)。
圖7 解交織硬件結(jié)構(gòu)
(1)將索引間隔為32的數(shù)據(jù)變換成索引間隔為1的數(shù)據(jù)。解交織器根據(jù)交織索引,生成列數(shù)據(jù)讀地址。每次讀入1列,讀8次,讀入8列。然后8列數(shù)據(jù)進行裝置,再按照行輸出,即完成數(shù)據(jù)的第一步解交織。
(2)將索引間隔為 1的數(shù)據(jù)變換成索引間隔為 L(L為滑窗譯碼的窗長)的數(shù)據(jù)。解交織器根據(jù)交織索引,生成行數(shù)據(jù)讀地址。每次讀入1行,讀8次,讀入8行。然后8行數(shù)據(jù)進行裝置,再按照列輸出,即完成數(shù)據(jù)的解交織。這樣的數(shù)據(jù)可以被后面的解碼器并行使用,便于譯碼。
本文在65 nm CMOS工藝下,實現(xiàn)了可配置多模式并行比特協(xié)處理器。譯碼器面積 1.9mm×2.1mm,slow case下時鐘速率達 600 Mb/s。支持 CRC校驗、卷積碼/ Turbo碼和交織。并行比特協(xié)處理器版圖如圖8所示。
圖8 并行比特協(xié)處理器版圖
協(xié)處理器進行LTE-A上行比特處理時,占用帶寬431 MHz;進行下行解交織處理時,占用帶寬506 MHz;進行下行解碼時,占用帶寬508 MHz。由于系統(tǒng)采用乒乓結(jié)構(gòu)完成,且時鐘頻率可達 550 MHz,故可以通過時分的結(jié)構(gòu)完成面向LTE-A的高速比特處理。運行速率如表1所示。
表1 協(xié)處理器運算速率
本文介紹了一種面向LTE-A寬帶通信的PBC協(xié)處理器。通過可配置的結(jié)構(gòu),該協(xié)處理器支持2G/3G/LTE/ LTE-A標(biāo)準(zhǔn)的高速比特處理,包括600 Mb/s的 CRC校驗編解碼、卷積/Turbo編解碼和交織/解交織。在 65 nm CMOS工藝下,該譯碼器資源約為 1.9mm×2.1mm,slow case下時鐘速率 550 MHz;工作在510 MHz時,可完成面向LTE-A的600 Mb/s高速比特處理需求。
[1]秉毅,張云勇.LTE/LTE-A技術(shù)及標(biāo)準(zhǔn)進展[J].電信網(wǎng)技術(shù),2010(5):25-28.
[2]張光輝,孫震強,許森.4G在 3GPP的演進和 5G展望[J].電信技術(shù),2013(12):12-17.
[3]BICKERSTAFF M A,GARRETT D,THOMAS C,et al.A unifed turbo/viterbi channel decoder for 3GPP mobile wireless in 0.18 um CMOS[C].IEEE International Solid-State Cuircuits Conference(ISSCC'02).San Francisco,CA:Feb. 2002:124,451.
[4]VOGT T,WEHN N.A reconfigurable application specific instruction set processor for convolutional and turbo decoding in a sdr environment[C].Proceedings of Design,Automation and Test in Europe(DATE'08).Munich,Germany:Mar.2008.
[5]ALLES M,VOGT T,WEHN N.Flexichap:A reconfigurable ASIP for convolutional,turbo,and LDPC code decoding[C]. International Symposium on Turbo Coding(TURBO CODING′08).Lausanne,Switzerland:Sept.2008.
[6]DIELISSEN J,ENGIN N,SAWITZKI S,et al.Multistandard FEC decoders for wireless devices[J].IEEE Transaction on Circuits And Systems—II:Express Briefs,2008,55(3):284-288.
[7]許培培,賈鉑奇,余金培,等.一種通用并行 CRC計算原理及其實現(xiàn)[J].微計算機信息,2010,26(27):110-111.
[8]段高攀,杜慧敏,韓俊剛,等.可編程 Viterbi譯碼器設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2014,40(3):29-31.
[9]汪漢新,葉俊民.基于Turbo碼的Max-Log-MAP譯碼算法的改進[J].現(xiàn)代電子技術(shù),2013(16):37-39.
[10]劉輝,陳小亭,李小文.LTE系統(tǒng)中基于FPGA速率匹配算法的仿真及實現(xiàn)[J].電子技術(shù)應(yīng)用,2013(7):14-16.
A parallel bit coprocessor for LTE-A wideband communication
Guan Wu,Liang Liping,Hu Qiaozhi
(Institute of Microelectronics of Chinese Academy of Sciences,Beijing 100029,China)
In this paper,a parallel bit coprocessor for LTE-A widebande communications is presented.It can finish the bit processing for 2G/3G/LTE/LTE-A communications including a CRC checker,a channel codec and a bit interleaver,with 600 Mb/s thoughputs.Realized as a configrable coprocessor,it allows high-thoughput bit-processing for a vast number of different communication standards with just one single IPcore.Implemented in 65 nm technology,it results in a bit processing throughput of 600 Mb/s for LTE-A systems,at 510 MHz for an area of 1.9mm×2.1mm.
LTE-A;CRC checker;convolutional codes;Turbo codes;interleaver;parallel bit processing
TN911.22
A
0258-7998(2015)01-0042-04
10.16157/j.cnki.0258-7998.2014062902390
國家自然科學(xué)基金資助項目(61102073)
2014-06-29)
管武(1981-),男,博士,副研究員,主要研究方向:信道編碼及通信與信息系統(tǒng)。
梁利平(1969-),男,研究員,主要研究方向:多核處理器、軟件無線電以及基于芯片的通信系統(tǒng)(SOC)。
胡巧芝(1985-),男,碩士,主要研究方向:通信信號處理及通信與信息系統(tǒng)。