• 沒有找到結果。

軟硬輸出之腓特比理論同位架構之設計與實現Design and implementation of in-place VLSI architecture for hard and soft output Viterbi Algorithm

N/A
N/A
Protected

Academic year: 2021

Share "軟硬輸出之腓特比理論同位架構之設計與實現Design and implementation of in-place VLSI architecture for hard and soft output Viterbi Algorithm"

Copied!
7
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會專題研究計畫 成果報告

軟硬輸出之腓特比理論同位架構之設計與實現

計畫類別: 個別型計畫 計畫編號: NSC91-2215-E-110-025- 執行期間: 91 年 08 月 01 日至 92 年 07 月 31 日 執行單位: 國立中山大學資訊工程學系(所) 計畫主持人: 張雲南 計畫參與人員: 柯孟昌、吳松翰、何宗哲、張嘉玨 報告類型: 精簡報告 處理方式: 本計畫可公開查詢

中 華 民 國 92 年 10 月 31 日

(2)

1

行政院國家科學委員會專題研究計畫成果報告

軟硬輸出之腓特比理論同位架構之設計與實現

Design and implementation of in-place VLSI architecture for

hard and soft output Viterbi Algorithm

計畫編號:NSC 91-2215-E-110-025-

執行期限:91 年 8 月 1 日至 92 年 7 月 31 日

主持人:張雲南 執行機構及單位名稱:國立中山大學資訊工程學系

計畫參與人員:柯孟昌、吳松翰、何宗哲、張嘉玨

一、中文摘要 腓特比理論能在狀態變化圖中找出最可能的狀態轉換順序,因而被廣泛地使用在許 多實際的應用上:譬如數位通信、磁性編碼、文字及語言的辨認等;而近年來軟輸出腓 特比解碼在通信系統上配合連接碼的使用,更可大輻降定傳輸訊號的錯誤率。因此如何 設計一個高效能、低功率的腓特比解碼器對於前膽性無線通信系統顯得非常重要。而影 響腓特比解碼器效能最主要的模組在於路徑回溯處理單元,本計畫將結合暫存器置換及 回溯兩種路徑搜尋方式實現在軟硬輸出的腓特比解碼器之設計。此外針對高組態腓特比 解碼中加法比較選擇單元的設計,也將提出了一個利用同位處理的特性得到一個相當規 律的硬體架構,適合在超大型積體電路上的實現,減少繞線面積及其導致的信號延遲。 而此同位處理的架構也可更進一步應用在路徑回溯處理單元的設計,以減少所須路徑記 憶體的大小及存取次數,因而對於降低功率有極大的助益。而針對系統晶片設計中對於 參數化數位矽智產的需求,本計畫也產出一軟硬輸出腓特比解碼產生器。 關鍵詞:腓特比解碼器、軟輸出腓特比理論,路徑回溯、加法比較選擇單元 Abstract

The Viterbi algorithm can efficiently find the most likely state transition in a state diagram, and thus it has been widely used in various application domains including digital communication, magnetic recoding, optical character recognition and speech recognition. Especially in the recent communication systems, SOVA (Soft-Output Viterbi Algorithm) is very often utilized in the concatenated code in order to achieve very low bit error rate. Therefore, how to design high-performance and low-power Viterbi decoders has become one of the key issues in the advanced wireless digital communication systems. The dominating performance factor of Viterbi decoders lies on the architecture of the survivor memory management unit. This project proposes a hybrid approach which combines the well-known register-exchange and trace-back techniques to the implementation of SOVA. In addition, based on the in-place feature inherent in Viterbi algorithm, the ACS (Add-Compare-Select) unit for Viterbi decoders with a long constraint length can be efficiently implemented with highly regular topology that is very suitable for the VLSI implementation. Furthermore, the regular in-place topology used in ACS module has also been applied to the design of the hybrid survivor path unit to help reducing the power significantly because of the reduction in the operation frequency and required size of the survivor memory. The SOC designs nowadays have create large demand for the parameterized IP (Intellectual Property), therefore, the project also implements a general hard/soft output Viterbi decoder generator.

Keywords: Viterbi Algorithm, SOVA, Viterbi decoder, convolutional coding, ACS module, hybrid traceback.

(3)

二、計畫緣由與目的

Viterbi Algorithm (VA)是由 A. J. Viterbi 於 1967 所提出[1],對於 convolutional 編碼而言,VA 可以用來得到最佳近似解的解碼方式,因此 VA 廣泛地被應用在許多領 域;尢其針對信號或資料的傳輸或儲存如磁碟、光碟裝置、數位通訊系統等,藉由 convolutional 編碼及 VA 解碼所提供之前饋錯誤更正(Forward Error Correction)功能, 可以讓接受到的訊號錯誤的機會減到最低。此外,一般 Viterbi 解碼器搜尋出最可能的 轉換路徑,換言之,因為解碼只提供唯一可能的結果,其 VA 的輸出可視為 Hard-output。 然而,有愈來愈多的通信編碼乃是採用串接編碼(concatenated code),或者是應用上 採用 VA 做等化器加上其他錯誤編碼,在這情況下,Hard-output 的 VA 在使用上就有了 限制,這時就必需採用所謂的 SOVA(soft-output VA) [2],也就是說,VA 解碼除了 解碼出最可能的發送資料,還必須提供此一資料可靠度(reliability)。如何設計出高效 能軟硬輸出之 Viterbi 解碼器是相當熱門的研究課題。

而 VA 的演算法可從 state 轉換圖中找出最接近的狀態轉換順序,搜尋此一路徑乃根 據累加 branch metric 所得之 state metric 值來決定進入每一 state 之路徑;而此一最可能 之路徑則以 decision bit 記錄下來,最後則由每一階段之 decision bit 來回溯找出整體的 survivor 路徑。因此,在硬體架構上 VA 如圖一包含了三個部份:branch metric unit (BMU)、ACS unit(ACSU)和 survivor memory unit(SMU)。其中以 ACSU 及 SMU 之設計最複雜,分別敘述如下。

VA 中的一個很重要的步驟就是計算 state metric,對於一個 rate-1/2 的 Viterbi 解碼

器,計算的公式如下:

(

(

)

)

4 2 / 3 1 2 2 2 / 1 2 , min , min bm sm bm sm sm bm sm bm sm sm N j j j N j j j + + = + + = + + + 從這個公式可以看出 state metric(sm2j,sm2j+1)是從兩個加法的結果中,選擇一個較 小的數,一般稱這個動作為 add-compare-select(ACS)。一般說來目前有兩種主要的方 法來實現 Viterbi 解碼器的 ACS 模組:state-parallel[3]和 state-serial[4]。其中 state-serial 只用少數 ACS pair 來循序完成所有 states 的 ACS 運算,此一方法的優點是所需要的 ACS 硬體較少,然而其速度很慢。而 state-parallel 的方法中,若有 N 個 states,就需要 N 個 ACS units,每個 ACS unit 負責固定一個 state 的 ACS 運算。這種方法的好處是速度快, 儲存 state metric 和 decision bit 的硬體較簡單;然而當 constraint 長度很大時,如 CDMA 及許多 TV broadcasting 的應用如 HDTV(High Definition TV)、DVB(Digital Video Broadcasting),其架構需要很多的 ACS 運算元,耗費許多的硬體面積;更重要的,因 著 Viterbi 的演算特性需要許多整體訊號的聯結,因此繞線的複雜度會非常的高。這是 在設計 ACSU 中得注意的。

除了 ACSU 之外,SMU 的設計在 Viterbi 解碼器上更為重要,尢其是當 constraint 的長度很大時,survivor 路徑需要更長的距離收歛,也導致所需儲存 decision 結果的記 憶體及相對應的操作增加。Register-Exchange(RE)和 Trace-Back(TB)是目前最常使 用的 SMU 的設計架構。其中 Trace-Back 的方式乃將某一特定時間儲存所有組態其來源 組態的訊息(i.e. decision bit) ,若要尋找出整體路徑則須要做回溯(TraceBack)的動作。 在 Viterbi 解碼動作一般定義了 L 及 D 分別代表了 survivor path 及 decode path 的長度, 當從任意組態回溯 L 個長度時會收歛(converge)到一組態;而從此一組態再回溯的 D 個長度所得即為正確解碼輸出。D 的大小則牽涉到 TB 的效率,也就是說,當 D 愈大代 表得到一筆解碼結果所需要的 TB 次數愈少;但是,另一方面則是代表了儲存 decision bit 所須要的 survivor path 記憶體愈大。

另一得到 survivor 路徑的方法是 RE,當每一階段從 ACSU 得到 decision 結果時即 動態的決定了 survivor 路徑;換句話說,RE 每一時間都更新整體的 survivor 路徑。RE 的優點在於操作上比較直接,而且解碼的 latency 最短,每當接受到一新的輸入訊號就

(4)

及衍生而來繞線的問題;此外,每一時間各組暫存器都需要有移位的操作帶來許多的電 路交換的動作(switching activity),這都會導致所消耗很大的功率。因此 TB 及 RE 各 有其優缺點,一般而言在 constraint 長度小的情況多半使用 RE,而當 constraint 長度大 的情況則使用 TB。

上述之 ACSU 及 SMU 之設計方式也可以適用於 SOVA。SOVA 在解碼時不但要輸 出解碼位元,還要提供輸出可信度值,而為了要產生對應於每個最大可能輸出之可靠 度,除了搜尋最大可能之路徑,每一階段還得從最大可能路徑分支去找次可能之競爭路 徑,然後將兩個路徑對應之 Path metric 相減做為其可靠度,因此,可以想見其 SMU 之 設計將會更加複雜,所以傳統上 SOVA 多數使用 RE 的方式。

三、研究方法與成果

針對於 constraint 長度很大的 Viterbi 解碼器之設計,其關鍵問題包含 ACSU 如何在 state 數目很多的情況下有效率地完成每個 iteration 的 ACS 運算,以及更重要的 survivor 路徑的尋找及解碼輸出。很明顯的 RE(Register Exchange)的設計方式不適合於大 constraint 長度 VA 的應用,然而 TB(Traceback)的設計則需要考量到如何提高有效的 回溯運算,並且 Survivor Path 的記憶體不能太大,尢其記憶體 RAM 的讀寫很耗費功率 及時間。此外,這兩部分(ACSU 及 SMU)如何聯繫溝通也非常重要,也影響到如何 得到最佳化 Viterbi 解碼器設計。

其實 Viterbi 的演算法可以表示如圖二具有同位(in-place)特性的計算圖。利用這 個特性,Viterbi 解碼器中 ACS 的運算架構,可以設計如圖三所顯示的架構,圖中方框 內有虛線的部分為 switch。對於一個 constraint length 為 v 的 Viterbi 應用,此一架構需 要 v-2 個 stage 的 ACS 運算元。此一架構應用在 Viterbi 的最大優點乃在於其硬體的規 律性,使得此一架構非常適用於超大型積體電路之設計;同時,此一架構也非常容易按 比例調整(scalable),可以藉由展開(unfolding)的技巧,以平行運算的處理方式來降 低完成一個 iteration 的 ACS 運算時間。與一般 fully parallel 方法相比,雖然後者的速度 比較快,但在硬體需求方面確很高。而且 fully parallel 方法的繞線複雜度極高,會佔去 大量晶片面積。另一方面,若與[5]比較,本計畫可以省略了因位元序列(Bit-serial)處 理所須的額外電路如 state metric 的記憶體及在 ACS 運算元內的回饋暫存器(feedback register),同時[5]的 ACS 的佈局仍比本計畫之架構複雜。

而關於 SMU 之設計,如前所述,RE 和 TB 各有其優缺點,因此本計畫提出一個類 似混合式(hybrid)的架構,一方面是做局部的 RE,另一方面則是做整體的 TB。也就 是當 ACSU 產生每個 iteration 的 decision bits,會先以一 K-級 RE 模組找出長度 K 之最 佳路徑,而此路徑會儲存在 survivor path 記憶體做為以後整體 TB 尋找長度 L 之 Survivor 路徑之用。與一般純粹的 TB 方式相較,後者所存的結果是 iteration 間 state 到 state 轉 換的最小路徑,其路徑長度為 1;而混合架構則是預先已找出路徑長度 K 的最小路徑, 雖然找出整體最小路徑仍須藉由 TB 的方式,但可預期其搜尋的速度一定比較快。也可 減少 TB 次數進而減少功率消耗。

以上混合回溯的技巧可以配合任何 ACS 架構,只是在 bit-parallel 的 ACSU 下使用, 此一方式在 constraint 以及局部 RE 的長度大的時候,REU 的設計仍然很複雜。然而針 對本計畫中所提出的 ACS 架構,可以相對應設計出比較有效率的混合回溯的模組。以 32-state rate-1/2 的 Viterbi 解碼器來做說明,圖四為了簡化只顯示四組 Data Path 中的一 組。其中 REUi 為一個 i bit 的 RE unit,其中包括了二個 i bit 的暫存器和二個 i-1 bit 的 2 對 1 多工器。其原理乃在於 RE 的標準乃是根據相對應的 ACS 運算所產生的 decision bit, 因此,可以將 decision bit 所儲存之暫存器以類似 ACS 的架構來傳遞。所以,當 state i

(5)

的 state metric 在 ACS pair j 時,則其 decision vector 就會在 REU j 中,而如果而 state i 的 state metric 在 ACS pairs 之間的某個 delay 中,則其 decision vector 就會在 RE units 之 間相對應的 delay 中,而最後一個 RE unit 會輸出 2 組 decision vector 至 survivor path 的 記憶體。由此可見,混合回溯很容易在與 ACS 的架構中結合一起實現,其所需硬體為 log(state number),而要在 state-parallel 實現 hybrid scheme,其所需硬體和狀態數目成正 比。

混合式之 Trace-back 的方式同樣也可進一步應用在 SOVA 的架構上。SOVA 的 SMU 的架構可分為兩個步驟。第一步驟先計算出最大相似狀態,第二步驟再根據此最大相似 狀態去做向後回溯並執行更新可靠度值的動作。完整的 SOVA 架構如圖五所示,其中上 半部分乃是負責產生最可能的路徑輸出,而下半部負責產生競爭路徑並計算出可靠度。 關於可靠度的決定,一般可以採用兩種方式,其一為利用第一組之 ACSU 產生進入每個 狀能之路徑差值,存在記憶體以供後來使用;本計劃採用的是第二種方法,乃將輸入信 號存起來,利用第二組 ACSU 即時產生。後者雖然需要額外一組 ACSU,然而,卻可大 量地減少儲存可靠值的記憶體。更重要的,最可能路徑與競爭路徑的計算可以分開做最 佳化的處理。如最佳路徑的搜尋可採用純粹 TB 的方法或 Hybrid 的方式;而競爭路徑則 可考慮使用純粹 RE 的方法或 Hybrid 的方式,惟若採用 Hybrid 的方式會衍生如何找出 對應於最佳路徑的各個狀態,因 RE 只記憶存活路徑,並不記載其競爭路徑如何走。因 此得藉由第二個 ACSU 來即時產生這些狀態。圖五中 PCU(Path Compare Unit)模組用來 產生 hard output 和關聯位元,RMU(Reliability Measurement Unit)則根據 PCU 所送來的 關聯位元去更新可靠度值來產生 soft output。在 PCU 的架構上,我們對於[6]所提出的架 構做研究,發現他們的 PCU 架構是對於每個狀態都比較其存活路徑及競爭路徑的解碼 差別,但我們只需要針對最大相似狀態做輸出。因此對於其他狀態做比較都是多餘的, 而且也浪費了許多 XOR 閘,再我們的 PCU 架構上如圖六每一級我們只需一個 XOR 閘, 在 32 個狀態以及 25 級的 SOVA 解碼器中的第二步驟 PCU 中,我們的架構只需原本的 3.125%的 XOR 閘,而且對於硬體的繞線上也更為簡單。

四、結果與討論

表一針對 64-state Viterbi 解碼器不同架構之比較。雖然所提之架構因著 pipeline latency 的關係其硬體使用率略差,然而其所須之記憶體減少約 30% 並且其記憶體之讀 取頻率大輻地減少。這些改進主要在於一個 5 級之混合 RE 單元之使用。一般使用混合 之方式須要很大額外之 RE 硬體,但所提之架構因著採用 in-place 之方法,此額外的成 本卻可以大大地減少,此可由表二所列之比較得知。此外,針對 SOVA 解碼器之設計, 表三表列了在 16-state 下不同架構的比較[6],[7]。可以看出我們所需的 gate 數少,更重 要的是暫存器(或記憶體)的信號轉換頻率大大地減少,可以預期功率的消耗也將大大減 小。圖七為實際 16 state SOVA 的 layout 結果,使用 0.35um 1P4M 的元件庫其 Die 面積

約 2.1mm2。Design Analyzer 的報告其最大的操作頻率在 3.3V 下可達 450MHz。 而針對

一般廣泛 Viterbi 之應用,本計畫亦設計出軟硬輸出 Viterbi 的 IP 產生器,如圖八所示透 過這個介面使用者可以自行設定 Code rate、Constraint length、Generator polynomial、 Survivor length、Quantization bits、Measure length、BER 的精確度、test pattern 的數量、 及雜訊干擾的程度,此外還包含一些 option 的項目如 SMU 採用方法(TB or RE)、是否加 上 puncher 的架構及 BIST。

五、成果自評

(6)

刊[8],而關於 SOVA 的架構也曾發表於國際會議[9],未來將進一步發表於國際刊物。

六、參考文獻

[1] A. J. Viterbi, "Error bounds for convolutional codes and an asymptotically optimum decoding algorithm," IEEE Trans. on Information Theory, IT-13, April 1967.

[2] P. Hoeher, “Advances in soft-output decoding,” in Global Telecommunications Conference, vol.2 pp. 793-797, 1993

[3] G. Fettweis, H. Meyr, "High-speed parallel Viterbi decoding: algorithm and VLSI-architecture," IEEE Communications Magazine, vol. 29-5, pp.46 -55, May 1991

[4] H.-D. Lin and B. Shung, "General in-place scheduling for the Viterbi Algorithm," in Proc. of ICASSP, vol. 25, no. 4, pp.1577-1579, 1991

[5] Y.-N. Chang, H. Suzuki, K.K. Parhi, "A 2-Mb/s 256-state 10-mW rate-1/3 Viterbi decoder," IEEE J. Solid-State Circuits, vol. 35, pp.846-834, June 2000.

[6] E. Yeo, P. Pakzad, B. Nikolic, V. Anantharam, “VLSI architectures for iterative decoders in magnetic recoding channels, ”IEEE Transactions on Magnetics, vol.37, Part 1, pp748-755, March 2001.

[7] C. Berrou, P. Adde, E. Angui, S. Faudeil, ”A low complexity soft-output Viterbi decoder architecture,” IEEE Int. Conference on Communication, vol:2, pp.737-740,1993.

[8] Y.-N. Chang, “An efficient in-place VLSI architecture for Viterbi algorithm,”, in Journal of VLSI Signal Processing, pp. 317-324, March 2003

[9] Y.-N. Chang, “Design of soft-output Viterbi decoders with hybrid trace-back processing,” in Proc. of 2003 IEEE Int. Symposium on Circuits and Systems, Vol II, pp. 69-73, Bangkok, Thailand, May, 2003.

圖一. Viterbi 解碼器架構圖

圖二. 同位之 VA 表示圖

圖三.同位之 Viterbi 解碼器 ACSU 架構圖

圖四. Hybrid Viterbi 解碼器架構圖

(7)

5 圖六. SOVA 解碼器 PCU 架構圖 圖七. SOVA 解碼器 Layout 圖 圖七. Viterbi 解碼矽智產產生器 表一: 各種 64-state Viterbi 解碼器之比較 BS State -Parallel Parallel state-seq uential Proposed( single) Proposed( 2-parallel) Throughp ut(bit/cycl e) 1/10 1/8 5/40 5/20 Memory R,W (ops/bit) 48R/12 12W/12 48R/12 48W/12 8R/5 16W/5 8R/5 8W/5 L 36 36 40 40 D 12 12 5 5 Survivor Memory 60x64 3840 240x16 3840 128x20 2560 64x40 2560 ACS pari 32(BS) 4 5 10 表二: 使用 5 stage RE 模組之硬體需求比較 General state-parallel Proposed (single) Proposed (2-parallel) No of multiplexers 256 50 80 No of registers 320 144 164 表三:各種 16-state SOVA 解碼器之比較 [7] [6] Proposed (K=5) Gate count 47647 20526 6939 Switching activities λ λ λ/5 Power consumption

參考文獻

相關文件

設計了正立方體框架的組合,在計算方塊個數與框架的差異性可透過等差數列的概念作 結合;而作品「腳踏實地」

請舉出一個可以準確計算出根號值的數字。這類數字有什麼樣

• 少年人自願或同意 與他人進行性活動 亦有可能 是有人利 用本身與少年人之間 權力差異 的特殊地位而對少年人在

D5.1 應用1個具體圖像代表 1個單位,製作象形圖 D5.2

應用閉合電路原理解決生活問題 (常識) 應用設計循環進行設計及改良作品 (常識) 以小數加法及乘法計算成本 (數學).

本論文之目的,便是以 The Up-to-date Patterns Mining 演算法為基礎以及導 入 WDPA 演算法的平行分散技術,藉由 WDPA

由於資料探勘 Apriori 演算法具有探勘資訊關聯性之特性,因此文具申請資 訊分析系統將所有文具申請之歷史資訊載入系統,利用

本論文結合了 GPU-FPM 以及 Bitmap 的優點,並利用 Multi-GPU 架構提出 Multi-GPU CSFPM 的演算法,由於 CSFPM 如同 GPU-FPM