第五章 驗證結果與晶片實現
5.1 設計驗證與應用結果
5.1.4 快速傅立葉轉換(FFT)驗證
MELP 對於前 10 個 prediction residual signal 的 pitch harmonics 值計 算它的傅立葉值,這裏使用 512 點的 FFT。分析 FFT 的演算法,在進行運算前須
將係數作位元反轉(bit-reverse)的動作,利用智慧型 DMA 的位元反轉的定址模 式,可以不經處理器快速的完成轉換。
另外,對於ㄧ個 2 點的蝴蝶運算,計算上需要進行複數的加法及乘法,並且 重複進行從記憶體取資料出來,作蝴蝶運算運算,再存回記憶體,規律且重複性 的做此動作。這裏設計了一個 Butterfly 單元,利用智慧型 DMA 裡的 ALU,增加ㄧ 條計算路徑,利用 DMA 抓取資料的同時進行複數加法及乘法,再存回記憶體,如此 只需要 8 cycles; 而處理器只需要設定智慧型 DMA 的參數值,並控制 FFT 的流 程,。分工排程將大幅提升計算能力。
結果驗證:底下驗證了 512 點 FFT 結果,列出前 32 點,分別為定點化 C 程式模 擬與 Post-sim 結果,如圖 5-10,驗證無誤。
(a)C Simulator (b)Post-sim 值
利用智慧型 DMA 搬移 FFT 的係數,搬移的效率為 2*(n-1),其中 n 為 FFT 的 點數,相較於利用處理器實現,智慧型 DMA 可以節省 96%的運算量。
此外,經觀察ㄧ次兩點的蝴蝶運算光搬移資料與額外負擔就需要 28 個指令 週期,複數運算與迴圈計算只有 17 個週期,所以ㄧ次的蝴蝶運算將會花超過一 半的時間在等待資料。這裏利用智慧型 DMA 來處理,在搬移資料的同時利用內建 的蝴蝶運算資料路徑,可以大幅減少因搬移資料所造成的額外負擔。如表 5-4 所示,進行 512 點 FFT 含搬移係數的準備動作,可以減少運算量約 76%。
174851
41010
0 50000 100000 150000 200000 cycle count
1 Performance
Processor+DMA Processor+SDMA
表 5-4:512-FFT 含位元反轉效能表 5.1.5 結論
利用智慧型 DMA 的定址模式,包括遞增遞減定址法、位元反轉定址法,與資 料路徑配合內建的 ALU 使用,只要設定智慧型 DMA 的暫存器組,就可以幫助處理 器進行各種數位訊號處理的運算。另外對於語音與影像常見的向量量化運算,
MELP 演算法使用 4 級向量量化器與增加 8 條搜尋路徑,智慧型 DMA 加入向量量 化的資料路徑單元,可以有效的處理 MELP 中 10 個線性預估參數的量化。表 5-5 表示經由智慧型 DMA 可以成功的簡化運算複雜度,所以處理器加入智慧型 DMA 不僅可以獨立進行記憶體資料搬移的功能,配合內建的運算單元更可以達到協助 處理器運算的能力。
表 5-5:智慧型 DMA 化簡複雜度表
Pitch Search Quantize LPC 512 Complex FFT Processor+DMA 664408 533827 174851
Processor+SDMA 136482 31553 41010 Reduction Ratio 80% 94% 76%
5.2 晶片製作
5.2.1 設計流程
依照標準的CIC Cell-Based Design Flow設計硬體,設計流程如下:
Specification
Assembler Design
Instructions Design
HDL Code Design
ModelSim
Design Compiler UMC18 Design Kit HDL
Simulation
HDL & Scan-Chain Synthesis
Gate level Simulation
Auto Place & Route
Post-layout DFT Compiler
DRC & LVS Calibre TEXT Editor C++
HDL Code Design HDL Code
Design
ModelSim
Design Compiler UMC18 Design Kit HDL
Simulation HDL Simulation
HDL & Scan-Chain Synthesis
Gate level Simulation
Gate level Simulation
Auto Place & Route
Auto Place & Route
Post-layout DFT Compiler
DRC & LVS
DRC & LVS Calibre TEXT Editor C++
VB
圖 5-11:晶片設計流程
5.2.2 合成結果
初期功能的設計,以 Verilog 硬體描述語言實作[29],搭配 Mentor 公司出 的 ModelSim 進行功能驗證。待功能驗證正確後,以 Synopsys 公司出的 Design Compiler 進行電路合成[30],Library 使用 UMC 0.18um 製程。經由合成軟體 Design Compiler 合成後,其結果如下:
表 5-6:合成後的資訊
ITEM Area(㎜2) Timing Fault coverage Processor+SDMA 1355414.875 7.53 ns 97.35 %
5.2.3 佈局與封裝
採用 Cadence 公司出的 SOC Encounter 佈局軟體[31],將合成後的電路放在 晶片上,並依據速度的要求,自動最佳化並繞線,結果如下:
CHIP name :SD297
Technology :UMC 0.18um 1P6M CMOS Package :208 CQFP
Chip Size :3.5× 3.5 mm2 Gate Count :126K gate count Power Dissipation :~200mW Max. Frequency :128.5 MHz
使用 Prime Power 量測功率,跑驗證功能的測試程式,得到平均消耗功率約 400mW。如圖 5-12,為佈局及腳位圖,圖 5-13 為晶片打線圖,以 208-CQFP 的方 式包裝。
PAD Core VSS
PAD pro_mem
data 54:62
Core VDD Core VSS PAD_pro_memData 63
PAD PAD_IO VDD
PAD_IO VSS PAD_BCLK_out Core VSS
PAD
Core VSS PAD
而而在後續的佈局驗證部分,使用Calibre的DRC(Design Rule Check)及 LVS(Layout VS Schematic)也驗證無誤。
晶片設計規格如表 5-7。
表 5-7:晶片設計規格 Entry Description
Architecture 9-stage pipeline and RISC Clock(expectant/Pre/Post) 100MHz/102.3MHz/128.5MHz
Process / Supply UMC 0.18μm 1P6M Mixed Signal / 1.8V Power Consumption 200mW
Embedded memory RAM(512x32)x2 RAM(1024x64)x2 RAM(1024x6)x2
Gate count / Die size 126k / 3.8 × 3.8 mm2 I/O Bus AMBA Ver. 2.0 only APB
Audio Interface I2S (Inter-IC Sound)/ External mem. on APB
DMA gate count 41k
DMA channels 2 (offer 8 I/O requirements)
DMA special function ALU with Multiple Addressing and DataPath
5.3 效能比較
市面上有種類相當多的 DMA 控制器[31][32],多數以 ARM 的 AMBA 匯流排為 主,以 IP 化為訴求,因此,設計者多半為 IP 設計公司,強調在傳輸模式的支援,
及連續傳輸的能力。ARM 本身對於 DMA 控制器設計,多了不連續資料(LLI)的 傳輸方式。本論文的智慧型 DMA 控制器,與ㄧ般 DMA 控制器同,具有進行資料傳 輸與多種傳輸模式的特性,此外還增加多樣的定址能力,包括位元反轉等,可以 在資料被取出進行運算前,對資料先作搬移的動作。
表 5-8:與市面上 DMAC 做比較
NCTU FARADAY GLOBAL UNICHIP This Work FTDMAC020 UAPC-5110 UAPC-5100
Channel 2 8 3 2(8)
Request 8 8 3 4(32)
Transfer Type
Addressing Incrementing Non-Increment
Circuit Mirror Index-Based Bit-reverse
Chain Transfer
Incrementing Non-Increment Wrap-incrementing
Operating Function
DIV Barrel shift
MAC
None None
Data Path Butterfly VQ
由使用者可以設定量化器的參數,如 Order、Level、Stage 與 M_Paths 數,對於 不同的處理情況可以加速處理器的運算。
以下各小節列出處理器結合智慧型 DMA 的資料傳輸效能比較、處理器結合智 慧型 DMA 的資料運算效能比較,最後是處理器結合智慧型 DMA 和其他處理器效能 的比較。
5.3.1 資料傳輸效能
比較 5 種不同傳輸狀況,使用處理器與ㄧ般 DMA 和處理器搭配智慧型 DMA 的結果。如表 5-9,其中 A 表示為第一個內部記憶體,B 表示為第二個內部記憶 體。下列各種情況下,DMA 循序搬移資料所需的時間相當一致,而在使用不同定 址模式的傳輸後,處理器必須花額外的時間去處理,因而造成在使用定址方式 時,大幅降低傳輸效能。表 5-10 表示位元反轉(Bit-Reverse)的定址模式,橫軸 代表反轉位元數,分別比較 6 種位元的情形,當反轉的位元數越高,相較於一般 DMA 搬移的效率越高。
表 5-9:資料傳輸效能表
11741174
10371037
10195
1041
8732
1047
0 2000 4000 6000 8000 10000
12000cycle count
A to A A to B A to B circular
A to B mirror
Performance Processor+DMA
Processor+SDMA
表 5-10:位元反轉資料傳輸效能表 25000cycle count
Inner Product
Linear Convolution
1D-DWT DCT36 Performance
2542609
126 1051 62 cycle count
10 9 8 7 6 5
Performance
Processor+DMA Processor+SDMA
各點 FFT 數值
cycle count
1 0 2 4 5 1 2 2 5 6 1 2 8 6 4 3 2
cycle count
Order-10 Order-5 Order-2 Performance
Processor+DMA Processor+SDMA
5.3.3 其他處理器比較
如表 5-14 所示,與其他處理器比較 256 點 FFT 效能與速度。
表 5-14:多級向量量化效能比較表[33]
Device Speed MHz
256-point FFT benchmark
ADSP-218X 75
DSP16410 170
TMS320C54X 160
`320VC549 100
ARM7TDMI/
Piccolo
70
DSP1620 120
This work 125
Execution time Execution cycle
20 40 60 80 100 120 140 160 180 200 (us) 2K 4K 6K 8K 10K 12K 14K 16K 18K 20K (cycles) 另外與 TIC54x 的規格比較如表 5-15。
表 5-15:與 TI 的規格比較表 TIC54X Proposed
Design S-P –Com MAC 8 cycle 1 cycle S-P –Real MAC 1 cycle 1/2 cycle R2 Butterfly 8 cycle 9 cycle * S-P Com Bit-Revise 3 cycle 2 cycle Convolution 1 cycle 1/2 cycle Hardware
Accelerators
Image/Video Extension
MSVQ Paths
External RAM Type Support
Async SDRAM
SRAM
*:include Scale shift & load/store memory
與其他 paper[2]比較,處理器加上智慧型 DMA 後效能已逼近且成本非常低。
表 5-16:效能與成本比較表 ITEM 50-taps FIR
100 samples
50-taps complex FIR,
100 samples
1K Complex FFT
Gate Count
This Work 11200 (cycles)
24000 (cycles)
53427 (cycles)
136K (Include
VQ IP) A 32-b RISC/DSP
Microprocessor[2]
12200 (cycles)
22000 (cycles)
45000 (cycles)
210K
第六章 結論
通用的 32-bit RISC 處理器與平行的 16-bit/32-bit DSP 整合,為一個兼顧 成本與效能單核心處理器的解決方案,本論文提出語音導向的智慧型 DMA 搭配處 理器可成為 RISC/DSP 平行處理的架構,掛載的語音向量量化加速器符合 IP 重覆 使用的特性,對特定運算可大幅提升處理器的效能。智慧型 DMA 擁有傳輸與運算 的模式,傳輸方面從周邊到記憶體擁有多種傳輸組合,並有多種的定址模式提升 傳輸效率;在運算方面內建 ALU,能處理複數乘法、柱狀位移等資料路徑,且指 令集模式符合 RISC 架構,不影響處理器管線的運作。
智慧型 DMA 的特色在於能結合傳輸與運算的功能,在計算中有效率的安排資 料與運算,提高處理器的處理的效率。以下說明三種合作方式:
(1)利用智慧型 DMA 傳輸資料的定址法,與 ALU 的乘加器合作,可進行固定迴圈 的乘累加運算。
(2)利智慧型 DMA 的位元反轉傳輸模式,在進行快速複立葉轉換前先安排好係 數,再經由智慧型 DMA 裡 ALU 的資料路徑作蝴蝶運算。
(3)進行編碼簿搜尋時,利用智慧型 DMA 對外部記憶體周邊的溝通能力,協助向 量量化加速器傳輸編碼簿,進行加權均方誤差的計算。
本論文提出的 RISC/DSP 處理器特別適合於語音的運算,語音的運算常需要 對訊號做頻譜轉換來進行分析;另外也常用線性預測模型來合成語音的訊號,對 此,這個處理器特別適合作以上兩個動作,如 FFT 及 FIR 的實現,可用在語音壓 縮、語音辨識等。
為了應付其他語音應用或影像處理,智慧型 DMA 可以針對演算法掛載特定的 硬體加速器 IP,因此未來可增加一條高速的匯流排如 AHB bus,各種加速 IP 與 外部記憶體皆可透過匯流排與處理器內部作溝通,由智慧型 DMA 掌管優先權順 序。另外在智慧型 DMA 與記憶體處理能力上,為了成本導向的目標,未來在智慧
型 DMA 內可增加處理動態隨機存取記憶體的單元(DRAM),相較於靜態隨機存取記 憶體(SRAM),需支援高低位址的資料交互讀取的機制,雖然在速度上不如 SRAM,
但擁有高密度成本低的優點。
本論文設計與一顆通用 RISC 處理器做整合,並應用在 MELP 語音壓縮演算法 上,能解決 MELP 三個運算集中的地方,成功減少運算量 70%以上。本設計將在 國家晶片中心(CIC)下線,未來此顆晶片可用做低成本的單核心 RISC/DSP 處理 器來使用,也可以 IP 的方式,將系統整合起來,成為一個 SOC 的系統。
參考文獻
[1] Vijay K. Madisetti, “VLSI Digital Signal Processors: An Introduction to Rapid Prototyping and Design Synthesis,” IEEE Press, 1995.
[2] Michael Dolle, Satwinder Jhand, Walter Lehner, Otto M¨uller and Manfred Schlett “A 32-b RISC/DSP microprocessor with reduced complexity,” IEEE Journal of Solid-State Circuits, vol. 32, no. 7, 1997.
[3] Dave Comiskey, Sanjive Agarwala, and Charles Fuoco, “A scalable high-performance DMA architecture for DSP application,” Proceedings of the IEEE International Conference on Computer Design (ICCD), pp. 414-417, 2000.
[4] Luca Breveglieri and Luigi Dadda, “A VLSI inner product macrocell,” IEEE Trans. on VLSI, vol. 6, no. 2, pp. 292-298, 1998.
[5] Vassilios A. Chouliaras and Jose Nunez, “Scalar Coprocessors for Accelerating the G723.1 and G729A Speech Coders,” IEEE Transactions on Consumer Electronics, vol. 49, no. 3, 2003.
[6] V.A.Chouliaras, J.L. Nunez, K. Koutsomyti, D.J. Mulvaney and S. Datta, S.R.
Parr, “Development of custom vector accelerator for high-performance speech coding,” Electronics Letters 25th, vol. 40, no. 24, 2004.
[7] Han Qi, Zheng Jiang and Jia Wei, ”IP reusable design methodology,” ASIC, 2001.
Proceedings. 4th International Conference, pp. 756-759, 2001.
[8] 戴顯權編著,資料壓縮, 紳藍出版社, 2002.
[9] L. Supplee, R. Cohn,J. Collura, and A. McCre., “MELP: The New Federal Standard at 2400 bps,” IEEE ICASSP-97 Conference, pp.1591-1594, 1997.
[10] Tian Wang, Kazuhito Koishida., Vladimir Cuperman, Allen Gersho and John S.
Collura, “A 1200/2400 bps coding suite based on MELP,” Speech Coding, 2002,
IEEE Workshop Proceedings, pp.90-92, 2002.
[11] Grant Davidson, Allen Gersho, “Application of a VLSI Vector Quantization Processor to Real-Time Speech Coding,” IEEE Journal on Selected Areas in Communications, vol. sac-4, no. 1 , 1986.
[12] Chin-Liang Wang and Ker-Min Chen , “A New VLSI Architecture for Full-Search Vector Quantization,“ IEEE Transactions on Circuit and Systems for Video Technology, vol. 6, no. 4, 1996.
[13] Chen-Yi Lee, Shih-Chou Juan and Yen-Juan Chao, “Finite State Vector
[13] Chen-Yi Lee, Shih-Chou Juan and Yen-Juan Chao, “Finite State Vector