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