文獻標識碼: A
文章編號: 0258-7998(2014)02-0094-03
維特比譯碼算法[1-2]是1967年由Viterbi提出的一種最大概率譯碼算法。作為卷積碼的最優譯碼算法,維特比譯碼算法被廣泛地應用于2G、3G以及衛星通信等多種通信系統中。加比選迭代運算是維特比譯碼算法的核心,但是其非線性反饋環制約著整個譯碼速率[3]。為了對抗譯碼速率瓶頸,以60 GHz無線個域網為代表的新一代吉比特通信系統 [4]不得不并行大量單路譯碼器。因此,提高單路譯碼器的譯碼速率,可以有效提高系統吞吐率,并能夠大幅度降低硬件復雜度。
1 維特比譯碼器原理
根據編碼生成多項式的不同,卷積碼可以被劃分為(n,k,m)型,其中n是指編碼輸出的比特數,k是指輸入的信息比特數,而m為卷積編碼的深度又稱編碼約束長度,碼率為k/n[5]。通常情況下,(n,k,m)型卷積碼就是由k×(m-1)位移位寄存器和異或邏輯電路組成。作為卷積碼的最大概率譯碼算法,維特比譯碼算法由分支度量計算、路徑度量的更新判決以及最大似然譯碼序列輸出組成。因此,維特比譯碼器分成四個部分[2]:分支度量單元、加比選單元、路徑度量寄存器和幸存路徑存儲單元。
加比選是一種非線性的迭代更新運算,傳統流水線算法無法直接插入[4]。由于運算需要在一個時鐘周期內完成,因此加比選迭代運算是維特比譯碼器實現的關鍵路徑,它限制著譯碼器的工作時鐘。對于吉比特維特比譯碼而言,打破加比選譯碼器速率瓶頸是其需要面對的關鍵挑戰。
2 吉比特維特比譯碼器設計
作為第一個支持吉比特毫米波短距離的標準,IEEE 802.15.3c標準[6]已經被60 GHz無線個域網領域廣泛采納。該標準規定采用8路獨立并行(3,1,7)卷積碼。每路卷積碼的約束長度為7,生成多項式為(1338,1718,1658),基本碼率為1/3。基于刪余處理,系統支持1/3、1/2、4/7、2/3、4/5五種碼率,最大吞吐率為3.807 Gb/s。本文基于此標準給出了吉比特維特比譯碼器設計, 整體結構如圖1所示。
2.2 平衡加選延比單元
傳統維特比譯碼器加比選單元的結構,如圖2(a)所示。關鍵路徑包括了加法-比較-選擇運算。為了降低關鍵路徑的延遲,加選延比式[3]結構采用運算展開和拆分的思想,通過增加一倍的寄存器和加法器,將加法和比較運算分到兩個時間周期中運算,其結構如圖2(b)所示。具體來說,該單元在完成n時刻的加法運算之后,并沒有對其直接進行比較判決,而是進行數據的存儲。在n時刻,比較單元輸出的是n-1時刻的狀態路徑度量的比較結果,輸出的判決信息指示了n時刻有效加法運算路線。在沒有消耗過多硬件資源的情況下,加選延比式結構實現了加比選運算的有效分離。
由于輔助進位運算的電路延遲相對較低,從而可以很好地完成平衡處理的任務。因此,在嵌入的輔助進位比特的幫助下,進位加法運算被后移到比較運算中,從而實現了加選單元與比較選擇單元的建立時間的平衡。在該模式下,比較判定運算轉化如下式(6):
這里PM1R和PM2R(由輔助進位加法運算得到)表示著正常意義下的狀態路徑度量值。針對(3,1,7)維特比譯碼器S0狀態,推薦結構如圖3所示。
由圖3(b)可見,平衡加選延比結構的輔助進位模塊的建立時間延遲為四輸入與非門和異或電路,路徑延遲時間在13μm CMOS工藝中可以控制在0.5 ns以內。剛好平衡了加法運算和比較運算的延時。因此與原始加比選電路相比,該方法將原本9 bit加法、9 bit比較以及選擇延遲下降到了僅為5 bit加法和選擇延遲(如圖3(a)中粗線所示),有效縮短了關鍵路徑。
2.3 幸存路徑存儲單元
本設計回溯譯碼長度定為64、存儲位寬為64 bit,采用2-pointer回溯算法[2]。由于并行卷積碼是獨立的,因而圖1中各路譯碼的判決數據輸出相互獨立的并行執行的。基于RAM塊合并共享的思路,本文給出存儲管理單元,通過將輸入輸出數據經寄存器緩存整合后對更大的RAM進行讀寫操作。將相鄰維特比譯碼器核的兩個64 bit判決信息存取RAM合并成一個128 bit位寬RAM,將8個用于回溯譯碼反相的1 bit位寬RAM塊合并成一個8 bit位寬RAM。因此,該方法將RAM塊個數從原始各自獨立模式下24個降低到了9個,易于ASIC芯片設計。
3 實現與分析
基于Verilog HDL語言,本文完成了上述譯碼器的實現,并對1/3、1/2、4/7、2/3、4/5五種碼率分別進行Modelsim仿真驗證,誤碼率與Matlab維特比譯碼函數性能基本相同,其中1/3碼率下的譯碼性能比較如圖4所示。
本文采用TSMC.13 CMOS工藝,供電電壓為1.2 V。DC compiler門級綜合工具給出了芯片的綜合報告,如表1所示。該譯碼器的邏輯面積為4.33 mm2,支持兩種工作模式。在工作模式1全速運行模式中,芯片工作時鐘為500 MHz,譯碼器最大吞吐速率為4 Gb/s,功耗為416 mW;在工作模式2低功耗模式中,工作時鐘調整為250 MHz,功耗降低為208 mW。本設計滿足IEEE 802.15.3c標準指標要求,其在高速前向糾錯信道編譯碼領域有著廣闊的應用前景。
參考文獻
[1] 陶杰,王欣,張天輝. 基于VHDL語言的卷積碼和Viterbi譯碼的實現[J]. 微型機與應用, 2012,31(16):3-5.
[2] BLACK P J, MENG T H. A 1 Gb/s, four-state, sliding block viterbi decoder[J].IEEE J. Solid-State Circuits,1997,32(6):797-805.
[3] LAI K Y. A high-speed low-power pipelined Viterbi decoder: breaking the ACS-bottleneck[C]. Int. Conf. on Green Circ. and Syst., 2010:334-337.
[4] ZHANG X, LU L, FUNADA R, et al. Physical layer design and performance analysis on multi-Gbps millimeter wave WLAN system[C]// IEEE Int. Conf. on Comm. Syst.,2010:92-96.
[5] 阮崢,景為平. IEEE 802.11p下刪余卷積編碼譯碼方法的研究[J]. 電子技術應用, 2012,38(8):116-118.
[6] IEEE 802.15.3c: Wireless medium access Control (MAC) and physical layer(PHY) specifications for high rate wireless personal area networks(WPANs)[S]. Sep. 2009.