如何發(fā)揮FPGA設(shè)計(jì)的無限潛力

時(shí)間:2010-06-11

來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:隨著FPGA技術(shù)逐步延伸至軍事電子系統(tǒng)以及嵌入式電子產(chǎn)業(yè)的幾乎全部領(lǐng)域,能發(fā)揮可編程邏輯優(yōu)勢(shì)的應(yīng)用已經(jīng)占據(jù)主流地位。

      盡管FPGA為嵌入式設(shè)計(jì)帶來了強(qiáng)大的功能與靈活性,但額外的開發(fā)流程也給設(shè)計(jì)工作增加了新的復(fù)雜性和限制問題。整合傳統(tǒng)的硬件-FPGA-軟件設(shè)計(jì)流程并充分利用FPGA的可再編程功能是我們的一個(gè)解決之道。    
      隨著FPGA技術(shù)逐步延伸至軍事電子系統(tǒng)以及嵌入式電子產(chǎn)業(yè)的幾乎全部領(lǐng)域,能發(fā)揮可編程邏輯優(yōu)勢(shì)的應(yīng)用已經(jīng)占據(jù)主流地位。通信、機(jī)載和控制系統(tǒng)尤其受益于FPGA的設(shè)計(jì)靈活性、現(xiàn)場(chǎng)重構(gòu)和并行處理功能。同時(shí),較短的設(shè)計(jì)周期和更加簡(jiǎn)化的驗(yàn)證過程則有助于加快應(yīng)用投入現(xiàn)場(chǎng)的進(jìn)程。    
      盡管FPGA無所不在,但能真正全面發(fā)揮FPGA靈活設(shè)計(jì)潛力的應(yīng)用卻很少。之所以存在這種局限性,原因在于FPGA開發(fā)很大程度上只是簡(jiǎn)單地疊加,或者最多也只是連接于傳統(tǒng)的軟硬件工作流程上。這個(gè)孤立的FPGA開發(fā)階段會(huì)導(dǎo)致整個(gè)設(shè)計(jì)流程的復(fù)雜性大幅上升——并最終限制軟硬件領(lǐng)域可用的設(shè)計(jì)選擇范圍。    
      為了簡(jiǎn)化整體設(shè)計(jì)工作,并豐富設(shè)計(jì)選項(xiàng),硬件設(shè)計(jì)、軟件開發(fā)和可編程硬件設(shè)計(jì)等獨(dú)立的設(shè)計(jì)過程需集成在一起,以作為一個(gè)整體的任務(wù)進(jìn)行處理。只有在基礎(chǔ)層面上讓所有設(shè)計(jì)進(jìn)程都能共享統(tǒng)一的設(shè)計(jì)數(shù)據(jù)庫和通用的設(shè)計(jì)環(huán)境,F(xiàn)PGA的可再編程性這一最主要的獨(dú)特優(yōu)勢(shì)才能得到充分發(fā)揮,從而將FPGA設(shè)計(jì)推向前所未有的水平。全面發(fā)揮FPGA靈活性優(yōu)勢(shì)的關(guān)鍵在于了解其發(fā)展趨勢(shì)及所面臨的設(shè)計(jì)挑戰(zhàn),并掌握如何讓包含F(xiàn)PGA系統(tǒng)中的三大設(shè)計(jì)方面(硬件、可編程硬件和軟件)實(shí)現(xiàn)協(xié)調(diào)整合。    

 
FPGA從膠合邏輯向SoC方向發(fā)展   

  
      FPGA剛進(jìn)入嵌入式市場(chǎng)領(lǐng)域時(shí),被認(rèn)為是用于實(shí)施大量簡(jiǎn)單膠合邏輯的方便而有效的替代技術(shù)。在這種應(yīng)用中,嵌入式硬件是主要軟硬件設(shè)計(jì)的附屬部分,其開發(fā)過程不涉及其他組件的設(shè)計(jì)流程,也不需要與這些流程進(jìn)行交互。    


      不過,現(xiàn)在的FPGA器件及其使用方式已經(jīng)在海量數(shù)字邏輯便捷容器概念的基礎(chǔ)上發(fā)生了重大變化。大容量FPGA現(xiàn)在能承載整個(gè)SoC設(shè)計(jì),其中處理器、內(nèi)存以及高速數(shù)據(jù)處理等核心功能元素都在可編程領(lǐng)域?qū)嵤T谲娪们度胧较到y(tǒng)中,由于受產(chǎn)量相對(duì)較低的影響,很難采用ASIC設(shè)計(jì)方案,而FPGA則為充分發(fā)揮SoC設(shè)計(jì)方案的物理簡(jiǎn)單性和可靠性等優(yōu)勢(shì)提供了一條經(jīng)濟(jì)高效的可行之道。    
      相對(duì)于簡(jiǎn)單的膠合邏輯設(shè)計(jì)而言,SoC實(shí)施的一個(gè)重大不同點(diǎn)在于,軟硬件開發(fā)現(xiàn)在基本上都是關(guān)聯(lián)于、且依賴于FPGA設(shè)計(jì)。這是因?yàn)镕PGA器件和支持外設(shè)是物理設(shè)計(jì)的中心與核心元素,而嵌入式應(yīng)用軟件也要裝載在FPGA上發(fā)揮作用。因此,F(xiàn)PGA域的任何更改都會(huì)對(duì)軟硬件域造成顯著影響。


    受限制的創(chuàng)新    


      如果將硬件、軟件乃至當(dāng)前的嵌入式硬件等設(shè)計(jì)的各個(gè)部分視作是彼此分開、互不關(guān)聯(lián)的任務(wù),則無論設(shè)計(jì)域之間如何相互依存,F(xiàn)PGA產(chǎn)品設(shè)計(jì)的常規(guī)開發(fā)流程采用的仍然是傳統(tǒng)方案。
某個(gè)設(shè)計(jì)域的變動(dòng)往往會(huì)對(duì)其他域造成具有破壞性影響且耗時(shí)巨大的重新設(shè)計(jì)。也就是說,必須在設(shè)計(jì)階段早期就做出(并且鎖定)軟硬件分區(qū)等重大決策,這與傳統(tǒng)的非FPGA嵌入式設(shè)計(jì)別無二致。實(shí)際上,F(xiàn)PGA器件和外設(shè)硬件等物理硬件和隨后的可編程硬件元素在有意義的軟件開發(fā)之前都被依次一一鎖定了。    
      這些最初的決策決定了后續(xù)開發(fā)流程的參數(shù)和限制,因此設(shè)計(jì)的可選項(xiàng)會(huì)隨著流程的逐步推進(jìn)而越來越少。例如,選定的FPGA器件(和硬件外設(shè))將定義包括確定采用哪種嵌入式IP等在內(nèi)的性能上限,嵌入式硬件設(shè)計(jì)進(jìn)而定義軟件可用的功能。或者說,F(xiàn)PGA器件只能支持該器件廠商提供的軟處理器,這進(jìn)而也定義了應(yīng)用軟件可用的編程選擇。    

 
      此外,要想微調(diào)設(shè)計(jì)方案的性能,比如將軟件算法轉(zhuǎn)移到嵌入式硬件中、或者從嵌入式處理器轉(zhuǎn)為硬連接的處理器、抑或是選擇不同的FPGA類型等,都會(huì)導(dǎo)致對(duì)硬件、可編程硬件和軟件等所有域進(jìn)行大規(guī)模重新設(shè)計(jì)。對(duì)開發(fā)時(shí)間緊迫的軍事/航空系統(tǒng)而言,這種重新設(shè)計(jì)對(duì)設(shè)計(jì)周期造成的中斷影響極大,因此大多數(shù)工程師都會(huì)全力避免這種設(shè)計(jì)風(fēng)險(xiǎn)的發(fā)生。不過,高性能和設(shè)計(jì)穩(wěn)定性同樣至關(guān)重要,因此檢查處理器選項(xiàng)并充分利用軟算法的優(yōu)勢(shì)來替代硬算法也是必不可少的。    

 
重建一體化  

   
      如前所述,簡(jiǎn)單地在現(xiàn)有的設(shè)計(jì)工作流程中添加FPGA開發(fā)流程難以充分發(fā)揮FPGA的全部?jī)?yōu)勢(shì)。對(duì)于需要降低NRE成本、加快設(shè)計(jì)速度的應(yīng)用而言,傳統(tǒng)設(shè)計(jì)方法所帶來的局限性會(huì)抵消這種優(yōu)勢(shì);而這正是FPGA應(yīng)當(dāng)發(fā)揮最大作用的地方。    
      恢復(fù)設(shè)計(jì)選擇和全面發(fā)揮FPGA優(yōu)勢(shì)的第一步就是讓硬件設(shè)計(jì)、軟件開發(fā)和可編程硬件設(shè)計(jì)等統(tǒng)一起來。通過使用來自整體設(shè)計(jì)統(tǒng)一數(shù)據(jù)模型中的一體化設(shè)計(jì)系統(tǒng)和應(yīng)用,設(shè)計(jì)域可隨各域中設(shè)計(jì)的變化而實(shí)現(xiàn)交互和及時(shí)響應(yīng)。在實(shí)踐中,各個(gè)域采用的都是同一設(shè)計(jì)和組件庫數(shù)據(jù)中的子集。由于更改可以方便地(甚至是自動(dòng)地)反映在所有設(shè)計(jì)領(lǐng)域中,因而可以顯著簡(jiǎn)化設(shè)計(jì)更改,如在軟件與硬件之間進(jìn)行功能轉(zhuǎn)移,或探索其他器件等。    
      例如,在統(tǒng)一設(shè)計(jì)數(shù)據(jù)池中,針對(duì)選定FPGA器件的設(shè)計(jì)數(shù)據(jù)和配置文件可同時(shí)適用于硬件和FPGA設(shè)計(jì)領(lǐng)域。如果FPGA器件或其引腳配置在FPGA設(shè)計(jì)階段進(jìn)行了更改,該信息會(huì)立即用于硬件設(shè)計(jì)的實(shí)施。這樣,我們探索不同設(shè)計(jì)選擇就能變得更加有效,而且硬件和FPGA設(shè)計(jì)域之間的引腳交換等高級(jí)設(shè)計(jì)功能也得以簡(jiǎn)化。


充分利用可再編程性  

      在這種一體化的設(shè)計(jì)環(huán)境中,開發(fā)人員終于能夠充分發(fā)揮FPGA的靈活性了。例如在典型的環(huán)境中,物理硬件組件的大多數(shù)實(shí)際放置位置會(huì)造成FPGA與外設(shè)的連接極為復(fù)雜,而這一方面也是高密度BGA封裝造成的問題。
解決方法之一就是在FPGA內(nèi)部來解決部件之間布線的復(fù)雜性,通過FPGA可重新配置的引腳和內(nèi)部布線功能來實(shí)現(xiàn)板上連接線路的戰(zhàn)略安排。    
      我們?cè)谶@里用FPGA的引腳再分配和內(nèi)部布線功能解決板上布線難題,還有可能減少板上空間占用和層數(shù)要求。這一理念同樣依賴于平臺(tái)級(jí)的軟硬件與FPGA開發(fā)環(huán)境,只有這樣才能支持硬件與FPGA域之間的智能和自動(dòng)引腳交換。    
      此外,這種一體化設(shè)計(jì)方案還將實(shí)施可提升設(shè)計(jì)流程抽象程度的全局軟件系統(tǒng)變成了一種可能,如可采用圖表或圖形化嵌入式設(shè)計(jì)方法,實(shí)現(xiàn)軟硬件域的同步。由于數(shù)據(jù)已經(jīng)作為貫穿于一體化設(shè)計(jì)環(huán)境所有域的統(tǒng)一實(shí)體而存在,所以與采用一系列獨(dú)立工具的系統(tǒng)不同的是,單個(gè)域中較高級(jí)的設(shè)計(jì)抽象不會(huì)增加設(shè)計(jì)數(shù)據(jù)流的復(fù)雜性。    
      這種設(shè)計(jì)抽象的自然延伸的目的是實(shí)施軟件元素與其所依附硬件能有效分離的高級(jí)嵌入式層。這些插入的層實(shí)現(xiàn)了處理器與其他硬件(如內(nèi)存和外設(shè))之間接口的標(biāo)準(zhǔn)化,因而無需再考慮I/O配置和總線系統(tǒng)的底層硬件復(fù)雜性問題。無論是進(jìn)行傳統(tǒng)設(shè)計(jì)更新、不同產(chǎn)品模式配置、現(xiàn)有IP重用,還是執(zhí)行生產(chǎn)后期升級(jí),F(xiàn)PGA設(shè)計(jì)的再配置都將成為一個(gè)更簡(jiǎn)單、更低風(fēng)險(xiǎn)的過程。    
      在實(shí)踐中,采用Wishbone總線架構(gòu)、基于庫的FPGA內(nèi)核可同時(shí)支持處理器和外設(shè)。通過有效“包裹”器件,使其在架構(gòu)上等同于其他處理器,該內(nèi)核可以提取處理器接口,從而能夠根據(jù)需要修改處理器,而不會(huì)影響與其相連的外設(shè),或者造成設(shè)計(jì)方案的被迫大幅修改。除了基于FPGA的“軟”器件之外,上述理念還可擴(kuò)展適用于混合型硬內(nèi)核處理器、外部處理器以及片外獨(dú)立外設(shè)和存儲(chǔ)器器件。 

    
新一代FPGA設(shè)計(jì)  

   
      本文介紹的一體化高級(jí)設(shè)計(jì)方法是通過發(fā)揮FPGA主機(jī)的可再編程功能實(shí)現(xiàn)的。所有應(yīng)用的層和接口以及功能設(shè)計(jì)本身都自動(dòng)包含在FPGA系統(tǒng)中。因此,與適用于“固定”ASIC類SoC設(shè)計(jì)的傳統(tǒng)流程不同,功能相當(dāng)?shù)母呒?jí)FPGA能在不嚴(yán)重影響設(shè)計(jì)方案其他部分的情況下動(dòng)態(tài)探索不同的硬件設(shè)計(jì)選擇。    
      RobEvans現(xiàn)任AltiumLimited技術(shù)編輯。他在電子設(shè)計(jì)與出版行業(yè)擁有超過20年的豐富經(jīng)驗(yàn),并曾在澳大利亞墨爾本的RMIT學(xué)習(xí)電子工程。

中傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:

凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

關(guān)注伺服與運(yùn)動(dòng)控制公眾號(hào)獲取更多資訊

關(guān)注直驅(qū)與傳動(dòng)公眾號(hào)獲取更多資訊

關(guān)注中國傳動(dòng)網(wǎng)公眾號(hào)獲取更多資訊

最新新聞
查看更多資訊

娓娓工業(yè)

廣州金升陽科技有限公司

熱搜詞
  • 運(yùn)動(dòng)控制
  • 伺服系統(tǒng)
  • 機(jī)器視覺
  • 機(jī)械傳動(dòng)
  • 編碼器
  • 直驅(qū)系統(tǒng)
  • 工業(yè)電源
  • 電力電子
  • 工業(yè)互聯(lián)
  • 高壓變頻器
  • 中低壓變頻器
  • 傳感器
  • 人機(jī)界面
  • PLC
  • 電氣聯(lián)接
  • 工業(yè)機(jī)器人
  • 低壓電器
  • 機(jī)柜
回頂部
點(diǎn)贊 0
取消 0