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












評論