• 沒有找到結果。

4.4 摺疊演算法實現 WCDMA 規格並比較

4.4.1 原始架構及各種摺疊架構實現

4.4.1 原始架構及各種摺疊架構實現原始架構及各種摺疊架構實現原始架構及各種摺疊架構實現 原始架構及各種摺疊架構實現

(a) 原始架構原始架構原始架構原始架構

以直接方式去實現表表表表 4.2 所列 FIR 規格,見圖圖圖圖 4.13 原始架構由 33 個 MAC(將 圖中○x 與○+視為最小操作單元)並加上 33 個中間運算暫存器所組成。

(b) 第一篇系統化第一篇系統化第一篇系統化第一篇系統化摺疊摺疊摺疊摺疊演算法演算法演算法演算法[9]

推導[9]的摺疊演算法應用在 IS-95 WCDMA Pulse Shaping 33 taps FIR Filter 的規格,摺疊架構應如上圖圖圖圖 4.14 所示,以 3 MACs 來實現 33 taps 的摺疊架構,

操作簡介:MAC2 做係數 h32,h31,…,h22的乘加運算,將運算結果存在 MAC2 的輸 出 12D 移位暫存器中,依時序切換多工器將運算結果加到下一級 MAC1;而圖 中的 MAC1, MAC0 操作同理。

(c) 位元平面摺疊方法位元平面摺疊方法位元平面摺疊方法位元平面摺疊方法[6]

推導[6]的摺疊演算法應用在 IS-95 WCDMA Pulse Shaping 33 taps FIR Filter 的規格,摺疊示意架構見圖圖圖圖 2.8 所示,以 33 個位元處理器(圖圖圖圖 2.8 中虛線矩形為 一位元處理器)來實現 33 taps 的摺疊架構,而每個位元處理器將重複執行 b = 16 (b 為係數位元長度)回合後才做下一次重複( Iteration );下圖圖圖 4.15 為[6]實現架構圖 圖,圖中有 33 排位元處理器,33 個 16 位元係數暫存器及多工器,1 個 x 輸入移 位暫存器,一個 VMA( Vector Merging Adder),操作簡介:每一排位元處理器重 複執行 16 回合完成一重複( Iteration )。

33 reg.與 2 個位址解碼器(一個是寫入解碼器,另一是讀出解碼器)組成,因為處 理器陣列為 3 MACs,所以寫入解碼器的輸入及讀出解碼器輸出端各有 3 條訊號 線。

(e) Serial-In 摺疊摺疊摺疊摺疊演算演算演算演算法法法法

本篇提出符合規格的 Serial-In 摺疊架構示意圖如上圖圖圖圖 4.17 所示,由 3 MACs 加上 3 個 1D 暫存器與 2 個 11D 暫存器(作用為保留相鄰 MAC 的資料溝通)及 3 個多工器(作用為切換正確資料流)並在 x 輸入端加上 11D 的圓形定址暫存器,操 作原理請參考 3.4 節。

4.4.2 軟體模擬軟體模擬軟體模擬面積大小軟體模擬面積大小面積大小面積大小及功率消耗情形及功率消耗情形及功率消耗情形及功率消耗情形

使用 SYNOPSYS 公司所發展的 Design Compiler 與 PrimePower 軟體來模擬 4.4.1 節實現 WCDMA 規格的原始架構與摺疊架構,其面積大小與功率消耗情形 見表表表表 4.3 與表表表 4.4。 表

4.4.3 結果分析結果分析結果分析 結果分析 (168.96MHz)處理的單一 MAC 面積比低速(15.36MHz)處理的 MAC 面積來的大,

但其實大的量遠低於摺疊所省下來的面積(以 3 個高速 MAC 來節省 30 個低速 多,原因是 Parallel-In 摺疊演算法在讀取中間運算暫存器利用暫存器檔案中的解 碼器讓每一回合中只讀寫 3 個暫存器,且同時其他 30 個暫存器並不動作;而[9]

的摺疊演算法其作法主要是討論位元平面上的摺疊,並未考慮實際應用到電路上 時會發生嚴重的繞線問題,所以其面積大小與功率消耗在各種摺疊演算法中皆是 最差的。

第五章 第五章 第五章 第五章

設計流程與模擬結果

在這個章節中,將完整描述我們晶片設計的過程,從一開始的構思,到使用 MATLAB 軟體與 ModelSim 軟體來驗證構思,接著操作所需 CAD 軟體,執行功 能驗證、邏輯閘合成、加入掃描鏈(Scan Chain,目的是為了可以做日後驗證設計 中的正反器是否功能正常)、佈局繞線、估測功率、DRC 及 LVS 驗證,其流程圖 如圖圖圖圖 5.1 所示,最後,附上模擬結果驗證第四章所提實現的架構為可工作的並符 合預期結果。

5.1 設計流程 設計流程 設計流程 設計流程

第一步先熟悉MATLAB 軟體所提供的濾波器設計工具箱,對有限脈衝濾波 器有概念性的瞭解後,再利用MATLAB 程式語言,完成IS-95 WCDMA Pulse Shaping 33 taps FIR Filter的功能驗證與並找到符合規格( Specification )的濾波器 係數,規格列在表表表表4.2。

構想

Synopsys Design Compiler

Synopsys DFT Compiler

5.2 功能驗證 功能驗證 功能驗證 功能驗證

而該 hq[n]的頻率響應圖如圖圖圖圖 5.2 所示,亦符合表表表表 4.2 所列的規格。

量化係數及其頻率響應圖

濾波器功能驗證無誤後,根據第四章硬體架構的設計,使用VHDL硬體描述 語言,在RTL層級描述此硬體架構,依照圖圖圖圖5.1的流程,使用ModelSim來做RTL 層級的模擬輸出並與MATLAB計算結果互相比對驗證是否一樣,若不同則回去 修改硬體描述語言,直到相符為止,以下展示驗證濾波器功能的實例-

 驗證實例一驗證實例一驗證實例一驗證實例一---脈衝響應-脈衝響應脈衝響應(Impulse Response)脈衝響應(Impulse Response)(Impulse Response) (Impulse Response)

當輸入訊號x1[n]為一脈衝訊號,通過該有限脈衝響應濾波器後,輸出訊號y1[n]

應等於hq[n],所以,ModelSim模擬RTL輸出結果應符合上述預期結果,截取 ModelSim模擬結果畫在圖圖圖圖5.3中,發現ModelSim模擬RTL輸出結果符合預測結果 與hq[n]係數相等。

Impulse Response驗證結果圖

 驗證實例二驗證實例二驗證實例二驗證實例二---弦波相加-弦波相加弦波相加( sin (弦波相加( sin (( sin (ω( sin (ωω1t) + sin(ω1t) + sin(1t) + sin(ω1t) + sin(ωωω2t) )2t) )2t) )2t) )

當輸入訊號x2[n]為一不同頻率弦波相加的訊號(選擇ω1< 0.28π,而ω2>

0.28π),通過該有限脈衝響應濾波器後,分析輸出訊號y2[n]的頻譜應剩下ω1而 濾掉ω2,所以,ModelSim模擬RTL輸出結果應符合上述預期結果,截取ModelSim 模擬結果畫在圖圖圖圖5.4中,發現ModelSim模擬RTL輸出結果符合預測結果。

5.3 電路合成 電路合成 電路合成 電路合成

本節將介紹設計流程圖圖圖圖5.1中邏輯閘合成部份,除了合成出第四章實現的硬 體電路外,還使用SYNOPSYS公司所發展的軟體DFT Compiler軟體加入測試電路 到設計中,將在以下小節中介紹加入測試電路的重要性,以及合成電路的相關資 訊。

5.3.1 測試電路測試電路測試電路 測試電路

隨著VLSI 設計之高密度化,一個晶片含有上百萬個電晶體是十分常見的情 形。為了使晶片在生產後能夠具有容易測試的特性,所以在設計晶片時,需加入 額外的測試電路於設計中,以幫助簡化晶片測試的困難度。一般而言,測試電路 的加入技術可分成以下三種方法:Scan Path [21]、BIST [22]與Boundary Scan。

其中,Scan Path 就是在電路中額外加上SI ( Scan-in )、SE ( Scan-test )及SO ( Scan-out )腳,另外會在各個正反器( Flip-Flop )的輸入端插入適當的多工器如圖圖圖圖 5.5所示;當處在測試模式時,令每個正反器連接成為移位暫存器的構造,將事 先設計好的Test Patterns 從SI 輸入端依序位移到每一個正反器,之後切回正常模 式並等待正反器、鎖住( Latch )組合電路的輸出結果,然後,再切回到測試模式 將結果由SO 端輸出,並同時送入下一組Test Pattern,重複此動作測試完所有的 Test Patterns。

BIST 則是“Built-In Self-Test”之縮寫,意即“內建自我測試”,也就是在晶片 裡面內建樣本產生的電路和檢查結果的電路,使晶片本身具有自我測試的功能。

最後,Boundary Scan 則是將多個VLSI晶片組裝在一片基板上同時測試的技術,

目前已成為IEEE 的標準化規格。

由 SYNOPSYS 公司所發展的軟體 DFT Compiler 軟體,是一套整合在 Design Analyzer 中的一個功能( Function ),主要是協助設計者在電路中自動加入測試電 路,包含有掃描鏈( Scan-Chain )的合成。設計者只要下指令就能產生如圖圖圖圖 5.5.5.55.555 的 具有掃描( Scan )功能的正反器,並自動將全部置換後的正反器連結成移位暫存 器結構,並有 Autofix 工具可自動修改違反測試規則的部份,最後並提供錯誤涵 蓋率( Fault Coverage )的報告,若使用者滿意此時的錯誤涵蓋率後,便可以將設 計交由 TetraMAX 軟體自動產生 Test Patterns。

由 SYNOPSYS 公司所發展的軟體 TetraMAX,是一套可產生 Test Patterns 及 錯誤模擬( Fault Simulation )的軟體。使用者在操作此套軟體之前,需先準備好已 加入掃描鏈的硬體描述語言程式碼檔,及 SPF(STIL Protocol File)檔,輸入到軟體 中,即可對使用者電路的掃描鏈自動產生 Test Patterns。亦或可以把已存在的 Functional Pattern 輸入,用以求得該 Pattern 的錯誤涵蓋率。

表表表表5.2是採用本篇論文第四章的硬體實現架構透過Design Analysis合成後,再 由DFT Compiler自動產生加入測試電路於設計中,最後使用TetraMAX所做的測 試涵蓋率評估。下列介紹表表表表5.2中Fault Coverage與Test Coverage的定義,其中 posdet_credit內定值為50%,au_credit內定值為0%。

5.3.2 邏輯閘合成邏輯閘合成邏輯閘合成 邏輯閘合成

由SYNOPSYS公司所發展的Design Compiler軟體,主要是用來執行邏輯合 成( Logic Synthesis)工作,在Cell-Based Flow各個軟體工具中扮演著非常重要的 角色,透過Design Compiler可以將所寫好的RTL Verilog或是VHDL 程式碼轉 換成閘層級電路描述檔(Gate-Level Netlist),此外還可以搭配現有的DesignWave Library來完成設計,以及設定限制( Constraints )來達成效能最佳化(Performance Optimization)。

利用Design Compiler軟體合成電路,藉由改變設計的條件與限制,讓合成軟

體編譯出最佳的閘層級電路描述檔,接著做考慮閘延遲時間的閘層級電路模擬,

重複以上模擬比對步驟至符合設計規格,到這裡完成前段晶片設計,軟體合成電

在clock = 168.96 MHz所合成出的各單元細部電路面積統計表。

Percentage of Chip

124,648

MAC (3) 63,318

Net 639,150 77.17%

5.4 晶片規格與佈局設計 晶片規格與佈局設計 晶片規格與佈局設計 晶片規格與佈局設計

下線晶片的完整規格列表,如表表表表 5.4 所示,我們是採用UMC 0.18µm 1P6M 製程,並使用圖圖圖圖 5.1 的設計流程圖來完成晶片設計與驗證,而自動化佈局設計是 使用Cadence公司最新釋出的RTL-to-GDSII產品-SOC Encounter,圖圖圖圖 5.7 為使 用SOC Encounter所產生的晶片佈局圖,表表表表 5.5 顯示晶片pad使用狀況。

5.5 DRC&LVS 驗證與佈局後模擬 驗證與佈局後模擬 驗證與佈局後模擬 驗證與佈局後模擬

Calibre為Mentor Graphics公司所有之電路佈局驗證軟體,其功能包含電路 佈局之 DRC、LVS 驗證,能幫助設計者在下線之前,快速的檢查所設計的電路 佈局是否完全符合晶圓廠的要求,並可驗證數位、類比積體電路佈局的設計。在 所支援的電路佈局軟體方面,包含 Cadence 公司的 Virtuoso、SpringSoft 公司的 Laker以及Mentor Graphics公司的Calibre DESIGNrev等,以提供設計者完整修 改電路佈局的環境。

我們在後段佈局設計與驗證階段,是使用Mentor Graphics公司所有之電路佈

局驗證軟體-Calibre tool,來完成晶片自動化佈局與繞線設計後的驗證工作。當

使用SOC Encounter軟體完成5.4節晶片自動化佈局與繞線設計之後,再透過使用

Cadence公司的Virtuoso軟體產生最後的佈局檔( GDS-II ),最後經過Calibre軟體做 DRC與LVS 驗證正確見圖圖圖圖5.8與圖圖圖圖5.9,佈局前後驗證見圖圖圖5.10,發現佈局後圖 yn輸 出只有受閘延滯( Gate Delay )影響,不影響yn值的正確性。

DRC驗證

LVS驗證

佈局後驗證

第 第 第

第六 六 六章 六 章 章 章

結論

6.1 主要貢獻 主要貢獻 主要貢獻 主要貢獻

本篇論文提出一套硬體架構之摺疊演算法,此演算法可應用於各種採用基本

運作單元( PE )所構成之陣列架構,而其具備可重複使用的特性,特別適合用在

陣列的基本運作單元個數會因規格而變動的應用上。將此摺疊演算法套用在有限

陣列的基本運作單元個數會因規格而變動的應用上。將此摺疊演算法套用在有限