DSP產品中的FPGA使用量急劇上升,只需要了解部署DSP的產品就可以了解原因。總的來說,DSP正在成為一種高度普遍存在的技術,不僅在無數的消費者,汽車和電話產品中,而且在越來越先進的設備類別中也看到了它的應用。
無線基站,雷達處理,指紋識別和軟件定義無線電等應用需要非常高性能的處理。然而,這種新型高性能DSP應用推動了獨立處理器的性能范圍,硬件解決方案正在不斷發展以提升性能。
在20世紀90年代初期,設計人員面臨著通過部署來提高馬力的挑戰多個處理器,以滿足其性能需求。但是,在協調多個處理器的功能時,系統級設計變得非常困難,更不用說這種方法成本高昂且浪費資源。
當第一批DSP授權的FPGA出現在現場時,DSP設計人員開始使用這些設備來增強其處理器的功能。通過這種方法,FPGA通過加速DSP算法的性能關鍵部分來補充處理器。
今天的專用FPGA,如Xilinx的Virtex 4或Altera的Stratix II,具有通過并行化提高性能的巨大潛力。事實上,與其他實現方案相比,DSP專用FPGA技術已經顯示出高達100倍的性能優勢(圖1)。
因此,越來越常見的是發現標準DSP伴隨著執行高性能功能的FPGA,并且預計這種方式使用FPGA會迅速提升。
圖1 - FPGA提供快速MACOPS(每秒乘法/累加運算)作為時鐘頻率乘以倍數的因子。
滿足設計要求挑戰
然而,除了這種強大的硬件功能外,高效實施這些基于FPGA的DSP系統也面臨著挑戰。這種大而復雜的設計對傳統的DSP設計方法要求。這主要是因為DSP空間中的傳統FPGA設計流程沒有利用高效且有效的設計流程的兩個關鍵要素:合成技術和便攜式知識產權(IP)。
那些使用合成技術設計ASIC的人都知道它的優點。對于基于FPGA的DSP,這項技術至關重要,可以實現高水平抽象設計,以及區域和性能權衡的自動化探索。快速設計輸入,高度抽象和自動化操作的組合不僅提供了設計的單一實例化,而且提供了一系列可供選擇的結果。
用于哪個性能優先于區域,可能需要消耗數百個乘法器的實現 - 它會非常快,但也會消耗很多區域。同樣,對于對區域更敏感的應用程序,在較低性能下共享較少乘數的實現將產生更小的結果。這些類型的權衡需要強大的工具,對于基于FPGA的高級DSP的最佳開發至關重要。
高效DSP開發的另一個關鍵因素是擁有正確的構建模塊或IP。適合這些應用程序的IP有兩個主要屬性:可擴展性和可移植性。
與其適應性較差的對應物相比,可擴展IP使設計人員能夠在不降低效率的情況下構建自定義IP功能。新的功能塊非常高效,因為在隨后的合成過程中,未使用的或不必要的部分將被優化掉。
便攜性也確保了效率。 DSP設計人員需要能夠設計一次算法,然后才能在任何FPGA供應商的產品中運行它們而無需修改。這種便攜性提供了很高的效率,并且可以輕松選擇最佳實現。
DSP驗證也可能帶來挑戰。在驗證DSP時,信號調試和分析比檢查時域和頻域圖和散點圖更復雜。由于數字信號的特征在于采樣時間和離散幅度,因此DSP驗證工具必須在多速率DSP應用中有效地定義和操縱時間。
此外,它們必須能夠輕松地從全精度浮動轉換 - 有限字長定點模擬的點模擬。還需要一種用于建模DSP算法的語言,其中包括對時間,定點資源和并行性等概念的本機支持。
將方法結合在一起
設計技術的最新進展為解決DSP設計人員的獨特挑戰提供了有趣的解決方案。 Mathworks的Simulink是一個基于數學模型的系統設計環境,為DSP設計人員提供了強大的建模和仿真功能。該環境本身處理DSP問題,如多速率離散時間定義和管理以及單源浮點仿真。
對于FPGA實現,DSP綜合是將DSP驗證與最優化相結合的關鍵創新。 DSP實現。借助Synplicity的Synplify DSP工具中體現的功能,設計人員可以通過自動化,獨立于設備的方式來檢查實現權衡并實現目標映射。
將DSP綜合與Simulink結合使用可帶來專業知識系統架構師和硬件設計人員在一個共同的環境中。系統架構師為Simulink創建了一個獨立于供應商的模型,使入口點保持在純粹的算法級別,從而將注意力集中在設計的高級功能上。
當它交給硬件設計師時,規范沒有架構含義。只要建模環境的DSP驗證基礎架構允許無縫集成合成引擎,硬件設計人員就可以在不修改驗證源的情況下檢查架構權衡。
由于保留了源代碼,系統架構師無需擔心硬件實現問題,硬件設計人員也不必擔心DSP算法規范。同時,確保了設計的完整性和優化,提高了團隊成員的工作效率。
這種方法的關鍵是使用通用DSP庫。特定于供應商的IP使算法設計陷入困境,并且具有不必要的實現細節。使用沒有架構參數的通用DSP功能庫,處理輸入信號,并根據高級規范生成輸出。
使用高級庫,甚至與DSP功能相關的延遲也可以被推遲到架構優化階段。通過DSP綜合,實現了硬件功能和實現。 DSP綜合,Simulink和便攜式庫等創新是改進DSP設計的關鍵因素,但同樣重要的是將這些功能納入連接RTL和實現設計領域的整體方法。最佳DSP設計流程通過通用庫以及DSP綜合和Simulink的組合功能(圖2)增強了現有功能。
圖2 - DSP FPGA設計流程
在設計規范期間,系統架構師純粹在算法抽象層次上運行。通過使用功能塊集,設計人員可以使用熟悉的DSP概念捕獲算法。
在流程的后期,Simulink的DSP驗證環境功能大大減輕了算法驗證。可視化和調試以及內置加速器等功能有助于快速模擬離散時間設計。
這種設計方法的引擎,是區域和性能的系統級目標的決定因素, DSP合成。此步驟構建了一種架構,該架構消耗了實現所需性能所需的最少資源。應用適當的系統級優化技術(如折疊,系統范圍的重定時和延遲添加),DSP綜合可滿足系統級性能目標。
生成的體系結構由獨立于供應商的可綜合RTL代碼生成。由于此時設計仍然與供應商無關,因此RTL綜合工具的全部功能可用于進一步優化設計。
令人印象深刻的結果
與傳統流程相比,所描述的DSP設計方法顯示出顯著的優勢。隨著設計變得越來越大,DSP合成流可能僅僅由于其無延遲算法而超過其傳統對應物,并且因為沒有時間來同步多個路徑。
比較DSP合成和傳統流程的設計結果,即使在不同的優化方案下,前者也能得到持續改進。當在DSP合成期間不執行高級優化時,任何產生的優化很大程度上歸因于單獨的RTL合成。即使沒有DSP綜合優化,所部署的邏輯單元數量也會在所有測試電路中保持一致,性能也會提高。
應考慮幾種不同的優化方案。當允許資源共享時,通常會期望資源利用率顯著提高,但會有一些性能損失。測試電路證明了這一點,顯示出消耗的資源顯著減少,但代價是性能顯著下降。
當資源有限且可以容忍性能下降時,最好應用此優化技術。重定時優化技術為增強DSP合成結果提供了另一種選擇。當重新定時是一種選擇時,與單獨的DSP合成和傳統設計相比,可以觀察到顯著的性能提升,盡管它可能以消耗更多資源為代價。
一些DSP綜合解決方案重新分配寄存器并在架構級別引入流水線以實現時序。通過門級重新定時補充這種高級重定時功能,可以通過在特定FPGA器件中移位寄存器來進一步優化。高級和門級重定時的這種組合可以產生最高度優化的結果,并且可以在不增加額外資源的情況下顯著提高性能。
如今,性能匱乏的DSP應用推動了高性能DSP專用FPGA的使用,這反過來又帶來了新的重大設計挑戰。為了應對這一挑戰,基于現有方法的基于FPGA的自動化DSP開發流程已被證明在提供高度優化的設計結果方面遠遠超出傳統設計方法。
DSP-的組合具體的建模和仿真創新,自動化綜合和優化工具以及通用便攜式DSP庫是該流程中的關鍵要素。憑借這些功能,DSP開發人員可以解決以前困擾他們的有問題的生產力和設計質量問題,現在可以充分利用新的強大FPGA技術所能提供的所有功能。
Dirk Seynhaeve是Synplicity Inc.的DSP企業應用工程總監。他在ASIC設計和EDA行業擁有20年的經驗。他加入Synplicity,幫助定義和推出DSP解決方案,以增加綜合產品組合。之前,在Tera Systems擔任技術營銷總監之前,Seynhaeve專注于定義RTL交接策略的產品線策略。在Tera Systems之前,Seynhaeve擔任Tharas Systems的技術服務總監,之后擔任Escalade的應用總監。
Andrew Dauman是Synplicity公司應用工程副總裁,負責所有技術支持,產品驗證,產品培訓和技術出版物。自從1994年加入Synplicity以來,Dauman已經將Synplicity的應用工程團隊從一個概念發展成為一個全球性的組織。在加入Synplicity之前,Dauman是Mentor Graphics Corporation的AutoLogic ASIC綜合團隊的成員。
-
處理器
+關注
關注
68文章
19286瀏覽量
229841 -
dsp
+關注
關注
553文章
7998瀏覽量
348924 -
FPGA
+關注
關注
1629文章
21736瀏覽量
603385
發布評論請先 登錄
相關推薦
評論