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