第二章 理論基礎與技術背景
2.2 SOPC 系統整合設計
隨著科技的進步與近年來微電子技術及其應用快速的發展,產品生命週期日 益下降,功能日益複雜,如何在短時間內開發出好的產品是個重要的議題。由於 在傳統的系統設計上,軟體與硬體是分開設計的,若在整合軟硬體時出現錯誤,
除錯是非常困難的,必須需花費大量的時間重新檢查軟硬體,也因此延遲了產品 開發時間,降低了競爭力。為了改善軟硬體分開設計的缺點,可程式化系統晶片 設計(SOPC)是一種新的軟硬體整合設計技術,SOPC 帶來的靈活性,使過去耗費、
刻板的硬體設計變得像軟體設計一樣容易除錯修改,可以加速產品的開發設計,
提升整體的競爭力,大大降低設計的時間與成本。
Altera 公司根據不同使用者的需求,開發出許多不同系列的 FPGA 開發板,並 且推出 PLD(programmable logic device)設計軟體 Quartus II 供使用者使用,Quartus
II 包括硬體描述語言的輸入、合成模擬工具、時序分析工具,繞線布局工具、產 品驗證工具等,是一個應用廣泛、非常受歡迎的 PLD 設計工具。本研究是在 NIOS
development kit 中的 Stratix II EP2S60 和 Cyclon III EP3C120 系統開發板上實現 我們所提出的硬體電路,在 NIOS 系統中提供了一套專門給 NIOS 處理器使用的 匯流排(Avalon bus),使用者可以利用此匯流排上的各個訊號線,將電路掛載在 Avalon bus 上與整個系統溝通,而使用者電路稱為使用者自訂邏輯(Custom User Logic)如圖 2.2 所示;整個系統的設計流程如圖 2.4 所示。
第二章 理論基礎與技術背景 NIOS 系統擁有下列優點:
1. Altera 公司所提供的 NIOSⅡ IDE 是視窗介面的軟體開發工具,設計者可 以在上面編寫程式碼、編譯、除錯及觀察程式執行結果。此開發工具除 了包含 C 語言的函式庫外,還包含 HAL(hardware abstraction layer)函式庫。
其中 HAL 函式庫提供設計者一個呼叫系統相關裝置的 API(Application
Program Interface),如圖 2.3 所示,所以設計者可以撰寫 C 語言程式並透 過 HAL API 呼叫來讓特定的裝置運作。
2. 提供 Compact Flash 卡存取功能,讓設計者可以將資料置於 CF 卡中,設 計者可透過 HAL API 進行讀取與寫入的動作。
3. 提供 DMA(direct memory access)機制讓設計者可加快資料在記憶體與系 統周邊元件的傳輸速度且不佔用 CPU 資源。
4. lwIP 提供基本的網路功能,除了符合嵌入式系統最基本的簡單、快速、
不佔用過多系統資源之外,也讓設計者更容易修改或增刪想要的功能而 不需有大量的修改或變更程式。
5. 設計者可依自己的需求增減電路的功能,製作一個專屬的系統。如需增 減裝置時,只要重新 build 系統並 compile 成硬體檔之後燒入板子即可。
第二章 理論基礎與技術背景
圖 2.2 Avalon System[15]
圖 2.3 HAL API
第二章 理論基礎與技術背景
圖 2.4 軟硬體共同設計流程圖