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