從硬件角度討論FPGA開發(fā)框架
FPGA采用了邏輯單元陣列概念,內部包括可配置邏輯模塊、輸出輸入模塊和內部連線三個部分。每一塊FPGA芯片都是由有限多個帶有可編程連接的預定義源組成來實現(xiàn)一種可重構數字電路。
本文引用地址:http://www.biyoush.com/article/268662.htm長久以來新型FPGA的功能和性能已經為它們贏得系統(tǒng)中的核心位置,成為許多產品的主要數據處理引擎。
鑒于FPGA在如此多應用中的重要地位,采取正式且注重方法的開發(fā)流程來處理FPGA設計比以往更加重要。該流程旨在避免開發(fā)周期后期因發(fā)現(xiàn)設計缺陷而不得不進行費時費錢的設計修改,而且該缺陷還可能對項目進度計劃、成本和質量造成災難性影響。
本文所介紹的的框架覆蓋從系統(tǒng)架構考量到FPGA開發(fā)與測試規(guī)劃等各個環(huán)節(jié)。我們從FPGA硬件的角度重點詳細介紹該框架,通過介紹希望其他工程團隊能夠發(fā)現(xiàn)該框架在復雜的FPGA設計項目里面的優(yōu)點。
該框架是一種在FPGA中設計硬件的自上而下的迭代設計方法。首先規(guī)劃從系統(tǒng)架構層面出發(fā)決策FPGA功能。隨后我們根據FPGA器件的已知功能和性能逐步優(yōu)化FPGA設計的特性。
另外,大型FPGA設計的實現(xiàn)需要制定完備的開發(fā)、仿真和驗證規(guī)劃。該框架的作用就是幫助我們制定這些規(guī)劃。簡而言之,該框架可歸納為圖1所示的流程圖。本文的討論將集中在規(guī)劃和技術文檔部分(頂部)。
系統(tǒng)架構
就本討論范圍而言,系統(tǒng)架構指在系統(tǒng)軟件和硬件之間的功能劃分。尤其,重點是將硬件功能細分到FPGA以及其它微芯片組件上(假設已經明確產品層面需求),例如市場營銷或產品定義部門可能已經參與進來并明確產品需求。
在系統(tǒng)架構階段,思路是如何明確地讓這些產品需求在真實產品中得以實現(xiàn)。就FPGA來說,主要的決策圍繞著應將哪些特性和功能在FPGA中實現(xiàn),以及進一步,哪些特性和功能適合在FPGA中實現(xiàn)。
通過提前定義FPGA的高級要求,就能避免開發(fā)流程已接近尾聲時進行成本不菲的設計及需求修改。在設計早期階段明確系統(tǒng)架構有助于指導用戶做出對開發(fā)時間和產品成本至關重要的多項重大決策。
在這個層面上探討,只需要一般性地概略介紹FPGA特性。詳細特性和實現(xiàn)需求將在FPGA需求定義過程的后續(xù)階段進行定義。本次探討的參與者應包括熟悉系統(tǒng)級要求的、了解系統(tǒng)級架構設計的,以及熟悉FPGA特性與功能的等不同人員。
具體就FPGA而言,需要回答十大問題:
1.要在FPGA中實現(xiàn)的特性列表是什么樣的?
2.在FPGA中實現(xiàn)特性與使用非FPGA組件實現(xiàn)特性相比,需在技術上做怎樣的權衡取舍?
3.在FPGA中實現(xiàn)與使用非FPGA組件實現(xiàn)相比,設計工作量/成本分別如何?
4.需要什么樣的定制特性或處理?
5. FPGA的靈活性對功能有什么好處?
6.您應該考慮的未來風險緩解措施是什么?
7.能否把多個非FPGA組件的特性集中到FPGA中?
8.根據準備實現(xiàn)的設計特性,如何選擇FPGA器件?
9.特性是否能在FPGA中實現(xiàn)?
10.需要什么樣的非FPGA器件,如何讓這些非FPGA器件與FPGA接口相連?
FPGA架構
FPGA架構屬于FPGA器件上物理層的微架構級和芯片級數據流設計。您的團隊應與系統(tǒng)級架構同步設計該架構,以確定器件尺寸、選擇器件和可行性。
定義FPGA架構的目的,是確保系統(tǒng)架構需求是準確、現(xiàn)實、切實可行的設計要求,能夠在FPGA中實現(xiàn)。
圖1 - FPGA開發(fā)框架
評論