用於軟體無線電基頻處理之系統晶片設計技術---子計劃II:以正交分頻多工為基礎之多模式基頻收發器研製(I)

全文

(1)

行政院國家科學委員會專題研究計畫 期中進度報告

子計劃二:以正交分頻多工為基礎之多模式基頻收發器研製

(1/3)

計畫類別: 整合型計畫 計畫編號: NSC91-2218-E-009-010-執行期間: 91 年 08 月 01 日至 92 年 07 月 31 日 執行單位: 國立交通大學電子工程學系 計畫主持人: 李鎮宜 計畫參與人員: 林建青、陳黎峰、許騰仁、施彥旭、俞壹馨、管成偉、曾逸晨、 劉子明 報告類型: 完整報告 報告附件: 出席國際會議研究心得報告及發表論文 處理方式: 本計畫可公開查詢

國 92 年 5 月 21 日

(2)

國科科會會專專題題研研究究計計畫畫成成果果報報告告撰撰寫寫格格式式 一、說明 國科會基於學術公開之立場,鼓勵一般專題研究計畫主持人發表其研 究成果,但主持人對於研究成果之內容應負完全責任。計畫內容及研究成果 如涉及專利或其他智慧財產權、違異現行醫藥衛生規範、影響公序良俗或政 治社會安定等顧慮者,應事先通知國科會不宜將所繳交之成果報告蒐錄於學 門成果報告彙編或公開查詢,以免造成無謂之困擾。另外,各學門在製作成 果報告彙編時,將直接使用主持人提供的成果報告,因此主持人在繳交報告 之前,應對內容詳細校對,以確定其正確性。 本格式說明僅為統一成果報告之格式,以供撰寫之參考,並非限制研 究成果之呈現方式。精簡報告之篇幅(不含封面之頁數)以 4 至 10 頁為原 則,完整報告之篇幅則不限制頁數。 成果報告繳交之期限及種類(精簡報告、完整報告或期中報告等),應 依本會補助專題研究計畫作業要點及專題研究計畫經費核定清單之規定辦 理。 二、內容格式:依序為封面、中英文摘要、目錄(精簡報告得省略)、報告內容、 參考文獻、計畫成果自評、可供推廣之研發成果資料表、附錄。 (一)報告封面:請至本會網站(http://www.nsc.gov.tw)下載製作(格式如 附件一)。 (二)中、英文摘要及關鍵詞(keywords)。 (三)報告內容:請包括前言、研究目的、文獻探討、研究方法、結果與討論 (含結論與建議)…等。若該計畫已有論文發表者,可以 A4 紙影印, 作為成果報告內容或附錄,並請註明發表刊物名稱、卷期及出版日期。 若有與執行本計畫相關之著作、專利、技術報告、或學生畢業論文等, 請在參考文獻內註明之,俾可供進一步查考。 (四)頁碼編寫:請對摘要及目錄部分用羅馬字 I 、II、 III……標在每頁下方 中央;報告內容至附錄部分請以阿拉伯數字 1.2.3.……順序標在每頁下 方中央。 (五)附表及附圖可列在文中或參考文獻之後,各表、圖請說明內容。 (六)計畫成果自評部份,請就研究內容與原計畫相符程度、達成預期目標情 況、研究成果之學術或應用價值、是否適合在學術期刊發表或申請專 利、主要發現或其他有關價值等,作一綜合評估。 (七)可供推廣之研發成果資料表:凡研究性質屬應用研究及技術發展之計 畫,請依本會提供之表格(如附件二),每項研發成果填寫一份。 三、計畫中獲補助國外或大陸地區差旅費、出席國際學術會議差旅費或國際合作 研究計畫差旅費者,須依規定撰寫心得報告(出席國際學術會議者須另附發 表之論文),以附件方式併同成果報告繳交,並請於成果報告封面註記。 四、打字編印注意事項

(3)

1. 用紙 使用 A4 紙,即長 29.7 公分,寬 21 公分。 2. 格式 中文打字規格為每行繕打(行間不另留間距),英文打字規格為 Single Space。 3. 字體 報告之正文以中英文撰寫均可。在字體之使用方面,英文使用 Times New Roman Font,中文使用標楷體,字體大小請以 12 號為主。 附件一

(4)

行政院國家科學委員會補助專題研究計畫 □成果報告 □ 進 度 報 告 用於軟體無線電基頻處理之系統晶片設計技術-子計劃二:以正交分頻多 工為基礎之多模式基頻收發器研製(1/3) 計畫類別:□ 個別型計畫 ● 整合型計畫 計畫編號:NSC91-2218-E-009-010- 執行期間: 91 年 8 月 1 日至 92 年 7 月 31 日 計畫主持人:李鎮宜 計畫參與人員: 林建青、陳黎峰、許騰仁、施彥旭、俞壹馨、管成偉、曾逸晨、 劉子明 成果報告類型(依經費核定清單規定繳交):□精簡報告 ●完整報告 本成果報告包括以下應繳交之附件: □赴國外出差或研習心得報告一份 □赴大陸地區出差或研習心得報告一份 ●出席國際學術會議心得報告及發表之論文各一份 □國際合作研究計畫國外研究報告書一份 處理方式:除產學合作研究計畫、提升產業技術及人才培育研究計畫列管計畫及 下列情形者外,得立即公開查詢 □涉及專利或其他智慧財產權,□一年□二年後可公開查詢 執行單位:國立交通大學電子工程學系 中 華 民 國 92 年 5 月 20 日

(5)

可供推廣之研發成果資料表 □ 可申請專利 ● 可技術移轉 日期:92 年 5 月 21 日 國科會補助計畫 計畫名稱:以正交分頻多工為基礎之多模式基頻收發器研製(1/3) 計畫主持人: 李鎮宜 計畫編號: NSC91-2218-E-009-010 學門領域:微電子學門

技術/創作名稱 FFT Processor based on Pre-fetched buffer

發明人/創作人 李鎮宜 林昱偉 中文:此 FFT 處理器是利用新式預取記憶體架構應用於 radix-8 的 演算法,除了改變以往存取記憶體的模式,大幅的減少所需的 gate count 數目外(約 64%),也籍由減少 memory 存取,和減少乘法的運 算,達到低功率的目標。 技術說明

英文:The design of this FFT processor is based on a novel pre-fetched scheme with modified radix-8 data flow. As a result, both computational complexity and memory access can be reduced. This leads to an

area-efficient and low-power FFT solution which is suitable for XDSL and DVB systems. 可利用之產業 可開發之產品 DVB 和 XDSL 系統所需求之 FFT 處理器 技術特點 較現有發表於文獻之 FFT,具有較少面積和較低功率的特色 推廣及運用的價值 提供 IP 整合所需求的行為模式 及 可合成的 Verilog-HDL 和測試向 量. 附件二

(6)

1.每項研發成果請填寫一式二份,一份隨成果報告送繳本會,一份送

貴單位研發成果推廣單位(如技術移轉中心)。

2.本項研發成果若尚未申請專利,請勿揭露可申請專利之主要內容。

(7)

中文摘要:此期中報告,主要針對數位視訊廣播系統(DVB-T)的正交分頻多工基頻 系統,進行關鍵技術的研究,包含同步子系統的演算法,高點數 FFT 處理器的設計, 和 FEC 中的 Viterbi 解碼器設計.為有效提供同步演算法的系統效能分析,系統模 擬平台的建立頗為重要,因此報告中包含三部份,分別為 DVB-T 系統模擬平台的 建構和開發,高點數 FFT 處理器的設計,和 Viterbi 解碼器設計.另外也包含出國開 會的會議論文和相關報告. 關鍵字: 數位視訊系統 正交分頻多工 同步演算法 FFT 處理器 Viterbi 解碼器 系 統模擬平台

Abstract: This report describes the project progress in developing core technologies for OFDM-based digital video broadcasting (DVB) system. The research tasks include the following: synchronization algorithm, high-point FFT processor design, and Viterbi decoder used in FEC processor. To provide a better environment for performance analysis of synchronization algorithms, a system simulation and design platform should be constructed first. And then all the rest key modules can be designed and simulated. There are 3 parts in this report, including DVB-T simulation platform, high-point FFT processor, and Viterbi decoder design. In addition, a technical report for attending an international conference (ESSIRCC2002) is appended for reference.

Keywords: DVB System, OFDM, Synchronization Algorithm, FFT processor, Viterbi Decoder, System Simulation Platform.

(8)

PartI:數位視訊廣播基頻系統模擬平台建構與開發

DVB-T base-band system simulation platform construction, development 一、摘要 一個方便驗證開發之系統內部演算法效能與觀察系統行為特性的演算法層次 模擬平台可以讓研究人員有效率的研究、發展各自負責區塊的細部功能與行為。目 前,在所建構的數位視迅廣播基頻系統模擬平台上已經提供了數種現實環境的效應 與初步的無線電接收端變數,以便讓開發、研究中各個功能區塊可以應映各種的環 境效應做調整。同時,整個模擬過程中可以觀察各階段資料特性並瞭解各種環境校 應對於傳輸資料的影響。 二、簡介 為有效率開發、研究數位視訊廣播系統(DVB-T)內部詳細演算法與架構,建構一個 方便系統模擬、驗證接收端演算法平台為首要工作。此一工作平台的需求如下: 1) 觀察、呈現各種環境效應對於所傳送資料的影響。 2) 驗證發展、研究的演算法的正確性與效能。 3) 評估更動過的內部顯算法對於整個系統效能影響。 4) 方便觀察每個階段功能區塊呈現的資料特性。 5) 整個系統行為的觀察與效能的評估。 目前整個工作平台是使用 MathWorks 的 Matlab 6.5 平台來建構,著重的地方在於整 個系統的整合、模擬,接收端內部各個階段功能區塊的研究以及數種環境效應變數的建 構。因為上述的要求,此一平台發展成為可以提供多組環效應境組合,另外可以更換不 同的時域、頻域同步化演算法、發展多重模式錯誤更正演算法,同時驗證研究之演算法 效能的模組化模擬平台。整個模擬平台詳細架構列於附圖一中。圖中,第一列所示為發 射端功能區塊,其詳細規格與特性是參照 ESTI DVB-T 標準[1]所建構。其中依功能性質 主要分為錯誤編碼(FEC)與正交多工分頻調變技術(OFDM)兩大部分。第二列為此一平台 目前提供之各種環境效應,其中包括了 AWGN 雜訊模組、數位視訊廣播標準中所引用 的多重路徑模組(multipath fading channel)[1]、時變杜普勒效應模組(time variant Doppler Effect)[2][8]、發射接收端無線電頻率偏移效應(CFO)與基頻系統之時脈偏移效應(Clock offset)[3][4]。第三列以下為基頻接收端,其中包括了正交多工分頻解調變區塊、錯誤更 正區塊以及接收端必須增加的時域、頻域同步功能與通道等化器等區塊。這些同步功能 與通道等化器的研究與發展是整個接收端系統的研究重心之一,將在下面段落詳敘,而 錯誤更正技術的研究將由另外章節敘述。 三、接收端同步功能架構 接收端的同步功能大致分為傅力葉轉換(FFT)之前的程序與之後的程序。如圖二所 示,傅力葉轉換之前的同步工作是時域的同步工作,主要針對正交多工分頻符號(OFDM symbol)做同步化工作,目的是找出符號邊緣(symbol bound)。同時對於類比數位轉換器 (ADC)的時脈偏移(clock offset)做初步補償。因為目前所有參考文獻中所提出的符號同 步演算法(symbol synchronization algorithm)都必須先知道工作模式(mode)(即傅立夜轉 換點數)與間格區間長度(Guard interval length)方可正確動作,因此在符號同步化之前, 我們增加了一個偵測系統工作模式、間隔區間長度的機制,此一機制可以偵測出目前工 作模式為哪一種工作模式(2k/8k),同時也可以量測出間格區間的長度,以便在接下來的

(9)

符號同步化程序中順利工作。在封包同步化程序中,我們提供了數種演算法例如 Normalize Maximum Correlation、Cascade Maximum Correlation[5]… 等,並分析各種算 法的複雜度與準確率。其中一種正規化最大關聯方法(Normalize Maximum Correlation) 是我們基於最大關聯方法(Maximum Correlation)針對數位視訊廣播系統八種間格區間長 度所改進的方法,因為不一樣的間隔區間長度會相對產生不一樣大小的關聯能量峰點 (Correlation Power peak),此一不同大小的能量範圍會對定義符號邊緣(symbol bound)的 能量門檻(Power threshold)造成判斷困擾。利用正規化的方法可以將關聯能量轉換成相 對比例的表示方式,如此一來訂定能量門檻將會成為單一的制訂方式。在同步化程序之 後是初步的時脈偏移補償,只要是利用間格區間的循環前輟(cyclic prefix)資料相同的特 性來檢查一個符號之內是否有時脈偏移,若有則進行補償的動作(圖三)。最後在傅立 葉轉換前將間格區間移除。 如圖四所表示,經過傅立葉轉換之後的同步工作主要是在頻域對接收的資料做頻域 同步、資料補償動作與第二次的符號同步[5] [6] [7],同時也有控制訊號回傳給間格區間 移除區塊、鎖相迴路(PLL)與自動增益控制(AGC)。一開始先檢查連慣性嚮導訊號 (continue pilots)的位址來判斷 FFT 出來的資料並沒有偏移原來預定的位置,同時調整資 料讀取的頻域區段做調整。確認資料所在的正確頻域之後,即抽取散佈性嚮導訊號 (Scattered Pilot)的資訊加以處理。在此之後分成兩個處理程序,其一為通道等化器 (Channel Equalizer),一為第二次符號同步程序。在通道等化器之中,主要是收集多組符 號內的散佈性嚮導訊號來趨近通道頻率響應(圖五),以此為依據將受通道效應污染的 資料補償回來。當然,在這近似方式取出的通道頻率響應中有些影響、效果是載波頻率 偏移或者時脈偏移所造成。為了有效分離出不同效應的影響,目前正在研究設計第二次 符號同步(fine symbol synch.)的工作便是自抽取出來的散佈性嚮導訊號加以處理,計算 散佈性嚮導訊號之間的相對相位誤差以便補償時域符號同步程序中判斷符號邊緣時的 偏差,同時也將取樣頻率誤差(sampling frequency error)、取樣相位誤差(sampling phase error)資訊提供給鎖相迴路(PLL),藉以修正類比數位轉換器的工作狀態。 四、結論 目前研究題目重點著重於時域、頻域的同步化演算法研究以及針對各種環境效應組 合下,如何在混和的效應中清楚地分辨出各種效應的影響,乃至於通道等化器與其他補 償機制發展的研究。而因應不同傳輸速率、編碼方式的錯誤更正機制的研究也是一個研 究課題。 五、參考文獻

[1] “Digital Video Broadcasting: Framing structure, channel coding and modulation for digital terrestrial television”, ETSI EN300744 V1.4.1

[2] I. Gaspard, “Mobile Reception of The Terrestrial DVB system”, Vehicular Technology Conference, 1999 IEEE 49th, Vol. 1, Jul 1999 Page(s): 151 –155.

[3] M. Speth, S.A. Fechtel, G. Fock, and H. Meyr, “Optimum receiver design for wireless broad-band systems using OFDM— Part I”, IEEE TRANS on Comm. Vol 47, No. 11, Nov 1999, Page(s): 1668 -1677

[4] M. Speth, S.A. Fechtel, G. Fock, and H. Meyr, “Optimum Receiver Design for OFDM-Base BroadBand Transmission— Part II: A Case study”, in IEEE TRANS on Comm. Vol. 49, No. 4, April 2001, Page(s): 571-578.

[5] A. Palin, and J. Rinne, “Enhanced symbol synchronization method for OFDM system in SFN channels”, Global Telecommunications Conference, 1998. GLOBECOM 98. The Bridge to Global Integration. IEEE, Vol. 5, 1998, Page(s): 2788 –2793

(10)

transmission”, IEEE Journal on Selected Areas in Communications, Vol. 18, No. 11, Nov 2000, Page(s): 2278 –2291

[7] Y.J. Ryu, D.S. Han, “Timing Phase Estimator overcoming Rayleigh for OFDM systems”, in IEEE Trans. On Consumer Electroinc, Vol.47, No. 3, Aug 2001, Page(s): 370-377 [8] St. Bug, Ch. Wengerter, I. Gaspard and R. Jakoby, “WSSUS-Channel Models for

BroadBand Mobile Communication Systems”, IEEE VTC, Vol.2 , Spr 2002 , Page(s): 894 -898 vol.2 圖一、數位視訊廣播系統功能區塊圖 圖二、時域之符號同步程序與時脈補償功能區塊圖 圖三、時域類比數位轉換器時脈偏移偏移測量 Post-FFT Synchronization #1 De-Inner Interleaver De-Outer Interleaver De-Outer Coder De-Inner Coder QAM Demodulation TPS & Pilot Remove De-OFDM (FFT) GI Remove De-scrambler Pre-FFT Synchronization #1 Soft QAM Demodulation Post-FFT Synchronization #2 Pre-FFT Synchronization #2 BER Calculation Inner Interleaver Outer Interleaver Outer Coder Inner Coder QAM Modulation TPS & Pilot Insertion OFDM (IFFT) GI Insertion Scrambler Doppler Effect Clock

Offset CFO AWGN

Ricean/Rayleight Multi-path Cascade MC algorithm Normalized MC algorithm GI remove Time-domain AFC (fractional part) Received data Maximum Correlation algorithm Maximum Likelihood L algorithm FFT Mode, GI Estimator x(i) == x(i+ N)? OFDM Symbol(length=N) GI copy

(11)

圖四、頻域之載波頻率同步、符號同步與通道效應補償功能區塊圖 圖五、散佈性嚮導訊號分佈特性與通道頻率響應示意圖 FFT Freq-domain AFC (integer part) Scatter pilots extract Continue pilots Extraction Channel Equalizer Fine symbol synchronization TPS, Pilots remove QAM Demodulation FEC GI remove PLL AGC ADC Coefficient Buffer

(12)

Part II:高點數 FFT 處理器的設計

一、 摘要

本 計 劃 擬 設 計 並 製 作 一 個 以 快 取 記 憶 體 為 基 礎 的 多 模 式 FFT/IFFT (Fast Fourier Transform/ Inversed Fast Fourier Transform) 處理器,應用在數位影像傳播(Digital Video Brocasting)系統與ADSL系統,在發射端與接收端作為正交多工分頻技術(OFDM)系統中 的調變與解調變功能,並且降低功率消耗與硬體面積,使無線傳播的系統達到低耗電量 的功能。 此FFT處理器是利用我們所提出的新式快取記憶體架構應用於radix-8的演算法,除了 改變以往存取記憶體的模式,大幅的減少所需的gate count數目外(約64%),也籍由減少 memory存取,和減少乘法的運算,達到低功率的目標。 二、 研究動機

Wanhammar [1]提出一個1024 points 的 FFT 處理器,得知memory 存取的功率消耗約佔 整個處理器的45%, 而複數乘法則約佔30%。所以在高點數的FFT設計中,除了考慮降低 硬體的複雜度,也需考量如何減少memroy的存取,複數乘法的次數,來降低整個FFT的 功率消耗。M. Bass [2]提出 cache-memory FFT 架構,是利用FFT在運算時所有要運算資 料的位址都是可預測的,籍由一些特殊addressing的方式,將部分的資料下載入cache內 運算,減少整體memory存取的次數.。 在L. Wanhammar[3]的文章中,列出不同的radix 演算法在4096點所需要的複數乘法數 目,如table1所示 radix-8約為radix-2的47%,因此由以上得知,要設計一個低功率的FFT 處理器,以radix-8演算法為基礎的cache memory 架構,最為合適。 Table 1 三、 電路特色 本 FFT 的特色有二: 一、提出一個更有效率的方式來實現 radix-8 架構的方法,可以最少 的硬體來實現 radix-8 的演算法。二、提出一個新式 2-D 的 cache 架構(圖一), 相較於 M.Bass[2]所提出的方式在 cache 方面約減少 50%,且在透過一些 address 的方式,在 meory 方面我們也和以往 two port 的記憶體不同,只需用 single port memory 便可完成可 所有資料的存取。

A. Radix-8演算法的實現

由於 高點數(8K)的 FFT 需要很龐大的運算所以對功率的消耗很大。我們利用 radix-8 的演算法來降低整個處理器的功率消耗。假設像 L. Wanhammar [3] direct mapping radix-8 的架構時,整個蝴碟運算單元需要 7 個複數乘法器,12 個複數加減法器,硬體的複雜度

相當的高,Hannu Tenhunen [5]則提出 pipeline shared-memory 的架構,是利用 radix-23

DIF (decimation-in-frequency)形式的演算法來設計,將整個蝴碟運算單元分來三級,用 6 個

暫存器、三個複數加減法器和一個複數乘法器來實現(如圖二)。我們則是利用 radix-23

Operation Radix-2 Radix-4 Radix-8

Complex Multiplications 22528 15360 10752

Real Multiplications 0 0 8192

Complex Additions 49152 49152 49152

Real Additions 0 0 8192

(13)

DIT (decimation-in-time) type 的演算法(圖三),也是將 radix-8 的蝴碟運算單元分做三級, 由於 DIT 形式的演算法可利用以往 radix- 2 addressing 的方式,所以一個 radix-8 的蝴碟 運算單元可以拆成 12 個 radix-2 蝴碟運算單元(1 個複數乘法器和 1 個複數加減法器)再 配合一些控制便可完成,相較於兩位所提出的方法,我們實現的硬體為最少。

B. Cache 的設計

Cache 的設計主要是要減少 memory 的存取,為了使資料在 cache 內使用的更有效率, M.bass [2]提出一個有效的 addressing 的模式,減少蝴碟運算單元跟 main memory 的存取 次數。但為了處理器的 performance 不想有 stall 的情況發生,他提出如圖三所示的架構, 增加一個 cache。一個和處理器運算時,另一個則和 memory 換資料。而可我們提出一 個新的 2-D 64 點的 cache 架構,如圖一所示,配合一些 addressing 的方法,資料以 0.1,2,3… 依序載入,當完成載入的動作時,處理器會先以 column 0,column1… column7 運算,之 後換為以 Row0… Row7 運算,當 Row0 運算完後,便可和 memory 換資料,以 0,8,16,24,… . 依序的換資料,當 Row7 運算完了,cache 內 Row0… Row6 的資料也更新完畢了,所以 cache 可以立刻以 Row 的方向先行運算,之後再運算 column 並同時進行換資料的動作。 由於我們提出的 cache 在和 main memory 換資料時一次是換一條 Row or column,只需兩 個 cycle(一讀一寫),因此 main memory 只需用八個 bank 的 single port memory 便可完成和 傳統需用 tow port 或 dual port memory 有很大的差異,以我們所設計的實數及虛數各 12 bit 8192 點為例,約可減少 64% 的 gate counts 如 table 2 所示。

Table 2

C. 系統規格

系 統 規 格 是 以 radix-8 演 算 法 , cache memory 的 架 構 來 實 現 , 為 了 增 加 處 理 器 的 throughout,我們用四套複數乘法器,和四套複數加減法器。一個radix-8的蝴碟運算單元 為三個cycle做完。

整個晶片規格如下:

Items Specification

Technology 0.35um CMOS 1P4M

VLSI Type Cell-Based

Function FFT processor (8K,4K) Work Frequency 50MHz~20MHz Pin-Count 100 Gate count 250,000 Power Supply +2.0~3.0 V 四、 設計流程

整個 FFT processor 是先用 matlab 模擬,決定出 bit length, 並且驗證 cache 和 memory 的 addressing 是否正確。本晶片是由以硬體描述語言 Verilog 來設計晶片中的各 個 Module 並且作模擬測試,測試成功之後,利用 Synopsys 合成。合成後的 Gate-level Verilog 再重複模擬,確定一切功能正確並符合要求之後再進行 Physical Design (P&R)。

8K-point FFT Processor Gate count

FFT Processor [4] 600,000

FFT Processor [5] 700,000

FFT Processor [6] 612,500

(14)

本晶片全以 Cell-Base Design 來實現。我們採用 Avanti standard cell library 來合成晶片, 最後佈局和繞線使用 Apollo 完成。

五、 模擬結果

本晶片在 Verilog Behavior Mode和 Synopsys 根據 Avanti Cell Library 合成以後的 Gate Level (with in file) 和post layout simulation情況下,與我們用matlab產生的結果一致。

六、 測試考量

因為整個晶片有 64%為 SRAM 的面積,所以我們先測試 meory 是否能正常工 作,將晶片轉成 test mode , 依序寫入資料進每一個位址上,再依序的讀出。當確定 SRAM 無錯後再讀入我們先前準備好的測試資料,比對結果是否正確。

參考文獻

[1] Weidong Li and Lars Wanhammar “A pipeline FFT Processor”

[2] Bevan M. Bass “A

Low-Power,High-Performance,1024-point FFT processor”

[3] T.Widhe, J. Melander,and L. Wanhammar “Design of Efficient Radix-8 Butterfly PEs for

VLSI” IEEE, 1997.

[4]Sang Yoon Park,Nam Ik Cho,Sang Uk Lee,”Design of 2K/4K/8K/point FFT processor based on Cordic algorithm in ofdm receiver”, 2001.

[5]Se Ho Park, Dong Hwan Kim,Dong Seog Han,Kyu,Seon Lee,”Sequential design of a 8192 complex point FFT in OFDM RECEIVER”, 1999.

[6]E.Bidet,C.Joanblanq,P.Senn “A Fast Single Chip Implementation of8192 complex points FFT”, 2001. 8 points 8 points 8 points 8 points 1 0 2 5 4 3 8 7 6 10 11 9 13 12 16 14 17 15 18 19 20 21 23 22 26 24 27 25 28 29 30 31 33 32 36 34 37 35 38 39 40 41 43 42 46 44 47 45 48 49 50 51 53 52 56 54 57 55 58 59 60 61 63 62 Row 0 Row 1 Row 2 Row 3 Row 4 Row 5 Row 6 Row 7 Column 0 Column 1 Column 2 Column 3 Column 4 Column 5 Column 7 Column 6 圖一

(15)

圖二 0 2 3 4 5 6 7 1 0 2 6 1 5 3 7 4 -j -j -j W3N/8 W N/8 Wp W2p W3p W4p W5p W6p W7p

Stage 0 Stage 1 Stage2

圖三 Radix-2 butterfly 3 Radix-2 butterfly 2 Radix-2 butterfly 1

FIFO FIFO FIFO

0 2 3 4 5 6 7 1 0 2 6 1 5 3 7 4 -j -j -j W3N/8 WN/8 Wp W2p W3p W4p W5p W6p W7p

(16)

Proc

Cache 0A Cache 1B Main memory Cache 0B Cache 1A 圖四

(17)

Part III: Viterbi 解碼器

一、相關研究發展現況

在無線網路應用的領域中,convolutional code 可以用來保護數位資料,防止 資料在傳輸過程中因為雜訊而喪失。目前被廣泛應用在 IEEE 802.11a WLAN 與 DVB 系統中。

Viterbi algorithm(簡稱 VA)是用來解碼 convolutional code 最有效的方法。利 用 VA 來解碼 convolutional code 的解碼器稱為 Viterbi decoder。VA 利用收到的 資料來推算狀態圖中最有可能的狀態變換路徑然後找出正確的資料。在 Viterbi decoder 裡 有 關 路 徑 記 憶 體 的 架 構 主 要 分 成 register exchange 與 traceback memory 兩種。在狀態數少(<16)的時候,register exchange 是比較簡單有效的方 式,但是狀態數很大的時候路徑記憶體需求量大,利用 traceback memory 會是比 較好的方式;目前在無線通訊應用上,狀態數至少是 64。在 traceback memory 架 構下,記憶體存取次數十分頻繁,因此會有相當大的功率消耗在記憶體存取上。 而且受限於記憶體的 bandwidth,整體的處理速度也受到限制。

在增加 Viterbi decoder 的更正錯誤能力方面可以利用 soft decision 的方式來 改善,相較於傳統 hard decision 的架構,soft decision 的運算量會增加很多,可 是在效能的改善卻相當顯著。目前的實現方式主要是 8-level 的 soft decision。 二、研究動機

VA 在找尋狀態變換路徑的過程中,在經過一定的長度之後會找到正確的路 徑,或者說在在 traceback 過程中,路徑會回歸到同一條路,這個長度我們稱為 truncation length。以往的作法會把這個長度固定,可是由模擬結果發現,在大部 分的情況下,狀態路徑在小於 truncation length 時就會回到同一條路徑。在 IEEE 802.11a 的模擬平台中 truncation length 在 BPSK、code rare 1/2 情況下約 30 到 40。在 AWGN channel 狀況下,模擬結果顯示 97 % 以上的狀況下,路徑在 traceback 的第級 3 就會與前一次的 traceback 路徑重合,不需要繼續做到 30 級以 上,表 1 列出模擬的結果。 Input BER 3.7×10-2 2.2×10-2 1.2×10-2 6×10-3 Output BER 5.5×10-3 2.9×10-5 0 0 Stage 1 93.6% 96.78% 98.48% 99.34% Stage 2 3.1% 2.1% 1.1% 0.57% Stage 3 0.13% 0.05% 0.018% 0.0039% Path merge distribution Stage 4 0.33% 0.13% 0.049% 0.011%

Merge within 3 stage 97% 98.9% 99.7% 99.9%

Tab1. Path merge result in different input bit error rate

我的們利用這樣的特性,如果有一個暫存器存著上一次的 traceback 路徑,當路 徑重合時,就不需要在去讀取記憶體中的路徑值,如此可降低記憶體讀取次數。 另外我們提出了路徑預測機制,利用路徑權值(Path Metric)之間的差異與路徑連

(18)

續的特性,在做 traceback 之前先作預測的動作,但是當路徑發生不連續的狀況 時,必須停止預測的動作。預測機制一樣可以減少記憶體的讀取次數。

在 soft decision 的考量方面,8-level 對大部分的系統實已足夠,但是由表 2 的 模擬結果來看,8-level 對於 BPSK 與 QPSK 來說已經有足夠的改善,但是對於 16QAM 與 64QAM 卻顯的不足,因此 16-level 對於 QAM 系統來說會是較佳

SNR improvement in AWGN channel (IEEE 802.11 platform)

Type 8-level 16-level

BPSK 2.1dB 2.2dB

QPSK 2.1dB 2.2dB

16QAM 1.9dB 2.5dB

64QAM 1.8dB 2.8dB

Tab2. SNR improvement form hard decisoin to soft-decision Viterbi decoder 的選擇。此外,為了達到高速的需求我們利用 radix-4 的演算法來進行平行處理, 達到每個週期運算兩個 symbol。

三、架構簡介

Viterbi 解碼器通常將解碼的程序分成如 Fig.1 所示的四個單元。Branch metric(又稱 Transition metric)接收輸入訊號計算出權值(metric),接著把權值送入 Add -Compare-Select (簡稱 ACS)做計算,ACS 的結果為路徑累記值(path metric) 和路徑殘存值(survivor)。最後對路徑殘存值做運算便可以得到正確的解碼。 Fig1. 功能方塊圖 Viterbi 解碼器在對路徑殘存值做計算時,會大量的讀取記憶體中的資料。但是我 們利用一些事先的偵測電路,可能讓記憶体不再大量的讀取資料。如此的電路, 我們分成二個部份,第一部份稱為 prediction,在每做一次 ACS 時,就先計算可 能的解碼並儲存於暫存器中。第二部份為 merge,當要對路徑殘存值做運算時, 先合對他是否已經存在於暫存器中,如果是,就停止所有的記憶體讀取,直接從 暫存器中解碼。若否,則讀取記憶體,更新暫存器,下次再做殘存值計算時,暫 存器中就能有最新的值可以當做比較。在 SNR 高的時候,如此偵測的計算幾乎 可以讓記憶體減少一半以上讀取的動作。Fig2 為架構的方塊圖。 Branch metric Path metric Survivor memory

ACS

branch metric

(19)

Fig2. 架構方塊圖 四、設計流程

一開始先用 Matlab 來驗證演算法,以及模擬各種架構的優劣,以及決定 sodt-decision 所需要的位元數,另一個比較重要的是決定路徑權值(PM)的位元 數,經過計算,在 16-level,64 truncation length,所需要的位元數為 12。圖 3 是 各種不同 normalize 方式下 Viterbi decoder 的效能,difference 是最理想的曲線, 我們所用的方法是 modular normalization,在 12-bit PM 的情況下,modular 是非 常接近理想值的。 B u ffe r S u rvivo r m em o ry S ta te T B com p a re d isa ble S u rvivo r P red ictio n

(20)

Fig3. 12-bit PM 在不同 normmalize 方式下的效能

在實際實現的過程中,我們在 layout 與 Verilog 之間持續重複多次修正與改 進,直到 post-layout gate level 的模擬接近 pre-layout gate-level 的模擬結果。如 此才能達到預期的效能。在最後的 timemill 部分也如預期。

五、模擬結果

在 Verilog simulation 的時候,因先前已先做過完整的 C 語言程式模擬。所以 在 gate-level simulation 以及 post-layout simulation 時都可以使用 C 語言程式來產 生測試向量,接著把這些測試向量加上 AWGN Noise 後灌入待測的 Verilog 程式。 測試的結果驗證可以分為二個步驟:第一步,在每個時間點,把各塊記憶體中儲 存的值和 C 語言模擬的值做比較;第二步,把 Verilog 程式解碼的結果跟先前沒 有加上 AWGN Noise 的測試向量相比較,可以得出錯誤的比率(BER),把模擬後 錯誤的比率和文獻上的數據做比較。如此反復測試就能夠得到正確的模擬結果。 六、預期規格

跑 完 timemill 之 後, clock 頻 率 可 以 達 到 66MHz , 已 經 滿 足 所 要 求 的 108Mb/s 需要 54MHz 的要求。

Design Viterbi Decoder

Chip size 6.23mm x 6.23mm

Package 84 CLCC

Supply voltage 3.3 V

Operating frequency 66MHz

(21)

七、測試考量

我們在 core 的部分加上利用 Syntest 加上 scan chain 來作測試,整體 fault coverage 達到 98.2%以上。另外在 SRAM 的部分也加上了 BIST,當晶片進入記 憶體測試模式時,BIST 開使測試 SRAM 並回報是否有損壞的記憶體。

七、參考文獻

[1] G. Feygin and P.G. Gulak, " Architecture Tradeoffs for Survivor Sequence Memory

Management in Viterbi Decoders", IEEE Trans. on Commu. , vol. 41, no. 3, pp.

425-429, Mar. 1993.

[2] A. J. Viterbi, "Error Bounds for Convolutional Codes and an Asymptotically

Optimum Decoding Algorithm", IEEE Trans. on Inform. Theory, vol. IT-13, no. 2,

pp.260-269, Apr. 1967.

[3] G.D. Forney, Jr.,"The Viterbi Algorithm", Proc. IEEE, vol. 61, pp.268-278, Mar.

1973.

[4] Dae-Il Oh and Sun-Young Hwang, "Design of a Viterbi decoder with Low Power

Using Minimum-transition Traceback Scheme",IEE Electronics Letters, vol. 32, no.

24, Nov. 21, 1996.

[5] A.P. Hekstra, "An Alternative to Metric Rescaling in Viterbi Decoders", IEEE Trans.

on Commu. , vol. 37, no. 11, pp. 1220-1222, Nov. 1989

[6] C.B. Shung, P.H. Siegel, G. Ungerboeck, and H.K. Thapar, "VLSI Architecture for

Metric Normalization in the Viterbi Algorithm", IEEE Int. Conf. Communications,

vol. 4, pp.1723-1728, Atlanta, GA, Apr. 1990.

[7] I.M. Onyszchuk, K.-M. Cheung, and O. Collins, "Quantization Loss in

(22)

Feb. 1993.

[8] P.J. Black, T.H. Meng, "A 140-Mb/s, 32-State, Radix-4, Viterbi Decoder", IEEE J.

Solid-State Citcuits, vol. 27, no.12, Dec. 1992.

[9] Y.-N. Chang, H. Suzuki, K.K. Parhi, "A 2 Mb/s 256-State 10mW Rate 1/3 Viterbi

Decoder", IEEE J. Solid-State Citcuits, vol. 35, no.6, Jun. 2000.

[10] T. Gemmeke, M. Gansen, and T.G. Noll, "Implementation of Scalable Power and

Area Efficient High-Throughput Viterbi Decoder", IEEE J. Solid-State Citcuits, vol.

(23)

附件一: 出國報告 會議時間:2002/9/24-26 會議地點:義大利 佛羅倫斯 會議名稱:ESSCIRC

發表論文題目:A High Speed Reed-Solomon Decoder Chip Using Inversionless Decomposed Architecture for Euclidean Algorithm

一、 參加會議經過

ESSCIRC 是目前在歐洲最大的國際會議,歐美知名的大學,研究機構與公 司皆在這個會議發表目前最新的技術。整個會議涵蓋的領域相當廣,包含數位電 路與類比電路,從整個系統到個別的模組都有論文發表。其中比較重要的部分就 屬 System-on-a-Chip,這個主題一共分成了四個發表會,分別是 platform,issue, application 與 implementation。在 application 的部分有幾篇 SoC 的實際例子,都 是業界的公司所提出,整個系統的完整度相當高,而且都經過晶片的驗證。另外 還有一篇由 Intel 提出,探討在 70nm 製程下,如何避免因為漏電流造成的功率 消耗,達成低功率的微處理器設計。這也是台灣 IC 設計產業在製程日益精進下 所面臨的問題。另外比較重要的是在數位通訊方面,一篇由 IMEC 提出了利用 adaptive loading 的方式提高 OFDM WLAN 的效能,以及 FPGA 的快速驗證。會 議最後一個 keynote presentation 提出利用微處理器的控制與製程的改良將 microsensor system 的功率消耗推到 10μW,其中所用到的一些技巧相當聰明, 而且也提到了為了降低功率而降低 switching activity 所造成的反效果。 二、 與會心得 這次會議的論文相當多,也相當廣,而且有越來越多的論文所提的東 西是一個完整的系統,從演算法,架構,晶片實做,到驗證。另外就是強調 高性能的電路越來越少,反而更加強調低功率的消耗。而且針對實際的應用 範圍與環境提出更好的解決方案,針對重點作最佳化。在既有的演算法與架 構上去提升運算效能已經不是很實際的課題,反而是在可接受的效能下如何 解決衍生的高功率消耗問題吸引了更多的研究。 三、攜回資料 1. ESSCIRC 2002 論文光碟一份。 2.ESSCIRC 2002 論文集一本。 3.ESSCIRC 2003 相關資料。

數據

Updating...

參考文獻

Updating...