專家點(diǎn)撥:如何發(fā)揮FPGA設(shè)計(jì)的無限潛力
重建一體化
如前所述,簡單地在現(xiàn)有的設(shè)計(jì)工作流程中添加FPGA開發(fā)流程難以充分發(fā)揮FPGA的全部優(yōu)勢。對于需要降低NRE成本、加快設(shè)計(jì)速度的應(yīng)用而言,傳統(tǒng)設(shè)計(jì)方法所帶來的局限性會抵消這種優(yōu)勢;而這正是FPGA應(yīng)當(dāng)發(fā)揮最大作用的地方。
恢復(fù)設(shè)計(jì)選擇和全面發(fā)揮FPGA優(yōu)勢的第一步就是讓硬件設(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ù)中的子集。由于更改可以方便地(甚至是自動地)反映在所有設(shè)計(jì)領(lǐng)域中,因而可以顯著簡化設(shè)計(jì)更改,如在軟件與硬件之間進(jìn)行功能轉(zhuǎn)移,或探索其他器件等。
例如,在統(tǒng)一設(shè)計(jì)數(shù)據(jù)池中,針對選定FPGA器件的設(shè)計(jì)數(shù)據(jù)和配置文件可同時(shí)適用于硬件和FPGA設(shè)計(jì)領(lǐng)域。如果FPGA器件或其引腳配置在FPGA設(shè)計(jì)階段進(jìn)行了更改,該信息會立即用于硬件設(shè)計(jì)的實(shí)施。這樣,我們探索不同設(shè)計(jì)選擇就能變得更加有效,而且硬件和FPGA設(shè)計(jì)域之間的引腳交換等高級設(shè)計(jì)功能也得以簡化。
充分利用可再編程性
在這種一體化的設(shè)計(jì)環(huán)境中,開發(fā)人員終于能夠充分發(fā)揮FPGA的靈活性了。例如在典型的環(huán)境中,物理硬件組件的大多數(shù)實(shí)際放置位置會造成FPGA與外設(shè)的連接極為復(fù)雜,而這一方面也是高密度BGA封裝造成的問題。
解決方法之一就是在FPGA內(nèi)部來解決部件之間布線的復(fù)雜性,通過FPGA可重新配置的引腳和內(nèi)部布線功能來實(shí)現(xiàn)板上連接線路的戰(zhàn)略安排。
我們在這里用FPGA的引腳再分配和內(nèi)部布線功能解決板上布線難題,還有可能減少板上空間占用和層數(shù)要求。這一理念同樣依賴于平臺級的軟硬件與FPGA開發(fā)環(huán)境,只有這樣才能支持硬件與FPGA域之間的智能和自動引腳交換。
此外,這種一體化設(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è)域中較高級的設(shè)計(jì)抽象不會增加設(shè)計(jì)數(shù)據(jù)流的復(fù)雜性。
這種設(shè)計(jì)抽象的自然延伸的目的是實(shí)施軟件元素與其所依附硬件能有效分離的高級嵌入式層。這些插入的層實(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)后期升級,F(xiàn)PGA設(shè)計(jì)的再配置都將成為一個(gè)更簡單、更低風(fēng)險(xiǎn)的過程。
在實(shí)踐中,采用Wishbone總線架構(gòu)、基于庫的FPGA內(nèi)核可同時(shí)支持處理器和外設(shè)。通過有效“包裹”器件,使其在架構(gòu)上等同于其他處理器,該內(nèi)核可以提取處理器接口,從而能夠根據(jù)需要修改處理器,而不會影響與其相連的外設(shè),或者造成設(shè)計(jì)方案的被迫大幅修改。除了基于FPGA的“軟”器件之外,上述理念還可擴(kuò)展適用于混合型硬內(nèi)核處理器、外部處理器以及片外獨(dú)立外設(shè)和存儲器器件。
新一代FPGA設(shè)計(jì)
本文介紹的一體化高級設(shè)計(jì)方法是通過發(fā)揮FPGA主機(jī)的可再編程功能實(shí)現(xiàn)的。所有應(yīng)用的層和接口以及功能設(shè)計(jì)本身都自動包含在FPGA系統(tǒng)中。因此,與適用于“固定”ASIC類SoC設(shè)計(jì)的傳統(tǒng)流程不同,功能相當(dāng)?shù)母呒塅PGA能在不嚴(yán)重影響設(shè)計(jì)方案其他部分的情況下動態(tài)探索不同的硬件設(shè)計(jì)選擇。
RobEvans現(xiàn)任AltiumLimited技術(shù)編輯。他在電子設(shè)計(jì)與出版行業(yè)擁有超過20年的豐富經(jīng)驗(yàn),并曾在澳大利亞墨爾本的RMIT學(xué)習(xí)電子工程。
評論