作為一個負責FPGA 企業市場營銷團隊工作的人,我不得不說,由于在工藝技術方面的顯著成就以及硅芯片設計領域的獨創性,FPGA 正不斷實現其支持片上系統設計的承諾。隨著每一代新產品的推出,FPGA 在系統中具有越來來越多的功能,可作為協處理器、DSP 引擎以及通信平臺等,在某些應用領域甚至還可用作完整的片上系統。
因此,在摩爾定律的作用下,FPGA 產業的門數量不斷增加,性能與專門功能逐漸加強,使得 FPGA 在電子系統領域能夠取代此前只有 ASIC 和 ASSP 才能發揮的作用。不過,說到底,FPGA 這種出色的硅芯片必須要有適當的設計工具輔佐,讓設計人員充分發揮 FPGA 的作用,否則再好的產品也毫無意義。
毫無疑問,隨著 FPGA 硅芯片的更新換代、推陳出新,FPGA 工具在改進綜合運行時間、編譯時間以及布局布線算法方面取得重大進步的同時,實現了更低的功耗和更高的性能。不過,上述進步基本沒有體現在嵌入式軟件方面,而且DSP 設計人員或系統架構師并不熟悉 FPGA 設計工作。盡管FPGA的性能和定制要優于MPU和ASSP,但許多設計團隊由于不熟悉 FPGA 設計,因此只好選擇 MPU 或ASSP,這種情況真的不該埋怨設計團隊,畢竟 MPU 或 ASSP 的設計工作要簡便快捷一些,而且學習新的設計技術需要時間,導致設計團隊的設計周期延長。若想幫助 FPGA 用戶獲得成功,FPGA 廠商必須實現設計工作的自動化,但又不能強行定義用戶的設計流程。因此,我們必須滿足不同設計領域的不同要求。
從另一個角度來看,如果 FPGA 廠商要想進一步推廣 FPGA,就需要在現有 VHDL 和Verilog(邏輯)設計人員的基礎上進一步滿足嵌入式軟件以及 DSP 等其它設計領域的需求和設計方法要求。這些設計人員有自己的具體要求,需要不同的設計方法和語言。我們應構建一個適當的平臺,使 FPGA 廠商及其第三方生態合作伙伴能夠在此基礎上滿足具體應用及市場的需求。
今年 2月,隨著最新Virtex-6 與 Spartan-6 FPGA 系列產品的推出,賽靈思開始向客戶推薦“目標設計平臺”的理念。過去,我們一直為設計人員提供開發板、硅芯片、工具、IP 以及參考設計,不過多年來,我們清楚地認識到,我們需要一個更加有效、規范的方式來為設計人員提供一個開展設計工作的平臺??蛻粜枰氖歉油暾?、可擴展性更強、產品化程度更高的解決方案,而“目標設計平臺”正是我們根據上述要求制定完成的。
目標設計平臺在充分考慮到客戶設計進程和成功需求的基礎上集成了五大關鍵組件:1)FPGA 器件;2)IP 核;3)采用業界驗證方法的設計環境;4)強大的參考設計;5)可擴展的開發板和套件。作為上述方案的一部分,我們還優化了工具,旨在為邏輯、嵌入式、DSP 以及系統級設計等特定設計領域提供所需的各種工具和 IP,確保提高設計團隊的工作效率。邏輯設計人員自然要確保獲得含有所有傳統 FPGA 工具的完整 RTL 設計流程,以滿足高級平面布置、在線驗證以及漸增實施的需求。不過,FPGA 廠商需要從其它各領域設計人員的切實需求出發,以便使嵌入式與 DSP 設計人員以及系統架構師能將設計工作的各方面聯系在一起,高效地使用可編程邏輯。
FPGA 廠商多年來一直支持嵌入式和數字處理技術的發展。隨著我們在該市場領域的發展,我們目睹了市場的巨大變革。尤其是過去兩年半以來,我們看到了平均有 20% 的嵌入式設計客戶正在使用一個以上的處理器。過去,客戶面臨的挑戰主要是如何自己獨立完成設計工作,而現在,我們必須為客戶提供可簡化系統生成的更加自動化的設計流程,充分發揮多處理器的作用。
嵌入式設計人員需要一種新的設計方法,讓他們能夠快速配置硬件平臺,并創建包括適當的庫、自動生成的設備驅動程序及完整開發板支持套件的定制軟件設計方案。這種高效環境能加速開發進程,節約開發時間,從而避免容易出錯的手動操作。此外,設計人員還要能夠創建自己的定制處理平臺,將外部功能集成到 FPGA 中,從而降低系統成本。這可幫助他們在系統特性與尺寸間,以及軟/硬件特性間實現最佳平衡,從而實現最高性價比。
下面,我們就來談談 DSP 設計流程。為了幫助在 FPGA 中實施復雜算法的算法開發人員,我們要為設計人員提供高度自動化的流程,而且即便設計人員不熟悉硬件描述語言,也不影響設計工作。設計人員應當在整體系統開發流程早期階段就能使用 DSP 設計環境來開發高級算法的硬件解決方案,或組裝全套 DSP 系統,便于生產。
比方說,一名 DSP 設計人員用 The MathWorks 推出的 Simulink 開始基于模型的設計工作。首先,他用一系列模塊開始工作,這些模塊代表著其所用算法的高級數據流程。接下來,他要在 FPGA 中實施設計方案。他在 Simulink 環境中啟用工具,用廠商提供的 DSP IP 生成構建下一階段模型的模塊,并用 Simulink 或 MATLAB 實施并驗證,完成基準測試。
DSP設計流程通常包括以下步驟:
- 用 The MathWorks推出的業界標準工具配合賽靈思的 System Generator與AccelDSP 綜合工具開發并驗證硬件模型。
- 生成 HDL 位和周期仿真精確的電路圖,也就是說,其行為確保符合原始模型中的功能。
- 設計綜合并生成比特流,用于 FPGA 的編程。現在FPGA 設計人員無需將 DSP 工程師或系統架構師的設計方案轉變為 HDL,從而避免了既耗時且容易出錯的步驟。
在本模型中,設計人員可使用過濾器,過濾器的系數需要適應于即將通過系統的數據,因此我們可通過共享存儲器向過濾器添加處理器組件。利用賽靈思工具,設計人員還能在系統生成器中調用軟件開發套件,編寫一些C代碼,以便根據數據更新系數,并編輯整個模塊,將其下載到開發板上進行實時調試,仍用 SimuLink 或 MATLAB 測試基準實現硬件協同仿真。最后,如需要修改某些 C 代碼的話,設計人員可即時進行修改,且無需對設計方案進行再編譯。
系統架構師的角色就是完成整個設計工作,根據設計方案的復雜程度,架構師可能需要在嵌入式、DSP 和 RTL等領域跨領域工作。這時,FPGA廠商就需要提供系統級和RTL級工具。
系統設計的理念需要集成不同領域的技術知識,在 FPGA 中更好地利用資源。隨著應用對 DSP 功能的依賴程度越來越高,我們可讓處理器充分利用加速器的作用,從而大幅提高性能。事實上,FPGA 專用系統設計的一大優勢就在于它能執行系統分區,控制軟硬件實施的平衡。對許多用戶來說,已經沒必要對低級 HDL 語言進行算法優化。
FPGA 為設計、實施和修改片上系統級硬件提供了高度的靈活性,在目前全球產業面臨巨大壓力的情況下,這種靈活性對設計人員尤為重要,而且正不斷服務于更多的產業、公司和工程師。甚至在產品的設計階段,電子系統的設計人員就面臨著不斷加劇的商業挑戰和日益苛刻的產品要求,所以必須利用 FPGA 來解決難題,否則就難以工作。FPGA 廠商要與合作伙伴一道致力于提供新的設計方法,幫助客戶跟上快速發展的業務和產品要求的步伐,不斷實現進步。 不僅要滿足 FPGA 硅芯片的發展要求,還要滿足相關工具發展的要求,從而提供更加以市場為導向的、用戶更加友好的設計體驗。