邏輯設計領域正發生著根本變化,新一代設計工具能夠幫助軟件開發者將其算法表達直接轉換成硬件,而無需學習傳統的硬件設計技術。這些工具及相關設計方法學一起被歸類為電子系統級 (ESL) 設計,廣義上指從比目前主流的寄存器傳輸級 (RTL) 更高的抽象級別上開始的系統設計與驗證方法學。與硬件語言如 Verilog 和 VHDL比起來,ESL 設計語言在語法和語義上與流行的 ANSI C 比較接近。
ESL 與 FPGA 的關系
ESL 工具已經存在了一段時間,而許多人覺得這些工具主要專注于 ASIC 設計流程。然而事實上,越來越多的 ESL 工具提供商正在專注于可編程邏輯。ESL 流程是對 FPGA 設計工具的一種自然演進,可以使更多和更廣泛以軟件為中心的用戶群更容易地使用可編程硬件的靈活性。
我們來考慮一些由 ESL 和 FPGA 構成重大組合的情景。
1. ESL 工具和可編程硬件一起構成一個基于桌面的硬件開發環境,符合軟件開發者的工作流程模型。工具可提供針對特定的基于 FPGA 的參考板的優化支持,軟件開發者可以利用這些支持啟動項目評估或原型構建。這些板及相應的參考應用程序均使用更高級別的語言編寫,這使創建定制、硬件加速的系統更為快速和容易。實際上,現在軟件程序員能夠以使用微處理器參考板及工具大體相同的方式,使用基于 FPGA 的參考板及工具。
2. 通過使用現在FPGA 中已很普遍的高性能嵌入式處理器,軟件和硬件設計組件可以裝入到一個器件中。從系統的軟件描述開始,您可以根據應用程序的性能要求,將每個設計塊用硬件或軟件來實現。ESL 工具支持智能分割和軟件功能到等效硬件功能的自動導出,從而增加了價值。ESL 提升了“探測式設計和優化”的概念。ESL 方法學與可編程硬件的結合使用,使嘗試大量可能的應用實現以及對極大不同的軟件/硬件分割策略快速進行實驗成為可能。這種實驗的能力——嘗試新方法和快速分析性能與尺寸平衡——使 ESL/FPGA 用戶能夠比使用傳統的 RTL 方法以更短的時間實現更高的總體性能。通過在更抽象的級別上工作,您可以使用更少的擊鍵和更少的代碼行來表達您的意圖。這通常意味著更快地完成設計,和更少的犯錯機會,而這些錯誤將需要繁雜的、低級調試。