Proposed Approach
3.1 Our Approach
Proposed Approach
在這個章節,我們建立一個新的架構,結合 ARM 微處理器及一 個小點數的 FFT ASIC,並提供設計者一個高階的模擬環境,讓它很 容易可以根據系統效能,估出 FFT ASIC 點數的大小。我們將在 SID 平台上介紹我們所設計的方式及流程,然後根據所訂定的流程,去做 軟體及硬體加速器的快速傅立葉轉換 (FFT) 相互模擬及效率分析。
3.1 Our Approach
早期在設計一系統時,軟體開發者總是要等到硬體設計者將所設 計之ASIC 完成後,軟體開發者才能開始進行軟體的開發,這是由於 系統設計者沒有一好的設計流程與方法來給予軟體開發者一明確的 規格,或是軟體開發者沒有一可讓他們進行較完整的驗證與測試的平 台,以致於軟體開發不知從何做起,而且也不太清楚硬體規格與動作 情形。在這樣的結果下,若沒有市場上的求新求變的要求下,且沒成
本考量時,或許可以接受,但是以目前的清況來看,是無法接受的事 實。當一個系統以處理器搭配程式碼作為實現的方式我們稱它為軟體 設計,若是針對該系統的功能而去開發ASIC 則稱之為硬體設計。系 統以軟體實現可以縮短研發時間,降低成本,可修改度高,與硬體設 計相較之下顯得性能(performance)較差。反之,系統以硬體實現則需較 長的研發時間,高成本,可修改度差,但性能與軟體設計相較之下顯 得較高。當欲設計的系統對速度的需求較低時,整個系統以軟體設計 較佳,如以軟體設計不能滿足系統的速度,那麼則需使用硬體設計。
在滿足系統速度的條件之下,如何設計一個低成本系統, 是我們追 求的目標。我們以軟硬體共同設計( Hardware/Software co-design ) 的方式 試著去達成目的。透過軟硬體共同設計(co-design),我們可以得到一個 折衷的方式,在設計成本以及性能(performance)之間取得一個我們所想 要的平衡點。為了降低設計複雜度,硬體/軟體共同設計與驗證
(Hardware/Software co-design)便成為了目前最受注目的解決方法之一。如
圖3.1所示,為FFT軟硬體模擬器的組織及架構圖。我們結合ARM微 處理器及一個小點數的FFT ASIC,再將功能逐一抽出改由硬體的型 式來執行,以降低設計成本到最低又可達到系統的規格。此實驗的背 景是採用SID硬體模擬器架構,以ARM微處理為核心去架構軟體快速 傅立葉轉換 (FFT) 及硬體加速器,並根據使用者提供不同的限制,例
如,面積大小或者是運算時間的需求去做最佳的分析,提供設計人員 一個設計時的參考。因此我們能提供數位IC設計者於快速傅立葉轉換 (FFT) 設計時,針對傅立葉轉換點數最佳化的選擇,提供一個方便的 模擬環境,並根據軟體的建議,找到一個面積最佳化或者是運算時間 最佳化結果,以達到系統之效能規格並且使用面積最小的ASIC為目 的。
Figure 3.1 System Framework
一個簡易的 FFT 硬體最佳點數模擬器的執行步驟簡述如下,當我 們輸入 FFT 的點數需求和基本的限制,例如面積的限制或者是運算 時間的限制,然後去執行我們的模擬程式,最後將自動產生一個最佳 化的 FFT 硬體加速器點數大小報告。