0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的自動化DSP開發(fā)流程

電子設(shè)計(jì) ? 來源:工程師曾玲 ? 2019-09-14 10:07 ? 次閱讀

DSP產(chǎn)品中的FPGA使用量急劇上升,只需要了解部署DSP的產(chǎn)品就可以了解原因??偟膩碚f,DSP正在成為一種高度普遍存在的技術(shù),不僅在無數(shù)的消費(fèi)者,汽車和電話產(chǎn)品中,而且在越來越先進(jìn)的設(shè)備類別中也看到了它的應(yīng)用。

無線基站,雷達(dá)處理,指紋識別和軟件定義無線電等應(yīng)用需要非常高性能的處理。然而,這種新型高性能DSP應(yīng)用推動了獨(dú)立處理器的性能范圍,硬件解決方案正在不斷發(fā)展以提升性能。

在20世紀(jì)90年代初期,設(shè)計(jì)人員面臨著通過部署來提高馬力的挑戰(zhàn)多個處理器,以滿足其性能需求。但是,在協(xié)調(diào)多個處理器的功能時,系統(tǒng)級設(shè)計(jì)變得非常困難,更不用說這種方法成本高昂且浪費(fèi)資源。

當(dāng)?shù)谝慌鶧SP授權(quán)的FPGA出現(xiàn)在現(xiàn)場時,DSP設(shè)計(jì)人員開始使用這些設(shè)備來增強(qiáng)其處理器的功能。通過這種方法,F(xiàn)PGA通過加速DSP算法的性能關(guān)鍵部分來補(bǔ)充處理器。

今天的專用FPGA,如Xilinx的Virtex 4或Altera的Stratix II,具有通過并行化提高性能的巨大潛力。事實(shí)上,與其他實(shí)現(xiàn)方案相比,DSP專用FPGA技術(shù)已經(jīng)顯示出高達(dá)100倍的性能優(yōu)勢(圖1)。

因此,越來越常見的是發(fā)現(xiàn)標(biāo)準(zhǔn)DSP伴隨著執(zhí)行高性能功能的FPGA,并且預(yù)計(jì)這種方式使用FPGA會迅速提升。

基于FPGA的自動化DSP開發(fā)流程


圖1 - FPGA提供快速M(fèi)ACOPS(每秒乘法/累加運(yùn)算)作為時鐘頻率乘以倍數(shù)的因子。

滿足設(shè)計(jì)要求挑戰(zhàn)

然而,除了這種強(qiáng)大的硬件功能外,高效實(shí)施這些基于FPGA的DSP系統(tǒng)也面臨著挑戰(zhàn)。這種大而復(fù)雜的設(shè)計(jì)對傳統(tǒng)的DSP設(shè)計(jì)方法要求。這主要是因?yàn)镈SP空間中的傳統(tǒng)FPGA設(shè)計(jì)流程沒有利用高效且有效的設(shè)計(jì)流程的兩個關(guān)鍵要素:合成技術(shù)和便攜式知識產(chǎn)權(quán)(IP)。

那些使用合成技術(shù)設(shè)計(jì)ASIC的人都知道它的優(yōu)點(diǎn)。對于基于FPGA的DSP,這項(xiàng)技術(shù)至關(guān)重要,可以實(shí)現(xiàn)高水平抽象設(shè)計(jì),以及區(qū)域和性能權(quán)衡的自動化探索??焖僭O(shè)計(jì)輸入,高度抽象和自動化操作的組合不僅提供了設(shè)計(jì)的單一實(shí)例化,而且提供了一系列可供選擇的結(jié)果。

用于哪個性能優(yōu)先于區(qū)域,可能需要消耗數(shù)百個乘法器的實(shí)現(xiàn) - 它會非常快,但也會消耗很多區(qū)域。同樣,對于對區(qū)域更敏感的應(yīng)用程序,在較低性能下共享較少乘數(shù)的實(shí)現(xiàn)將產(chǎn)生更小的結(jié)果。這些類型的權(quán)衡需要強(qiáng)大的工具,對于基于FPGA的高級DSP的最佳開發(fā)至關(guān)重要。

高效DSP開發(fā)的另一個關(guān)鍵因素是擁有正確的構(gòu)建模塊或IP。適合這些應(yīng)用程序的IP有兩個主要屬性:可擴(kuò)展性和可移植性。

與其適應(yīng)性較差的對應(yīng)物相比,可擴(kuò)展IP使設(shè)計(jì)人員能夠在不降低效率的情況下構(gòu)建自定義IP功能。新的功能塊非常高效,因?yàn)樵陔S后的合成過程中,未使用的或不必要的部分將被優(yōu)化掉。

便攜性也確保了效率。 DSP設(shè)計(jì)人員需要能夠設(shè)計(jì)一次算法,然后才能在任何FPGA供應(yīng)商的產(chǎn)品中運(yùn)行它們而無需修改。這種便攜性提供了很高的效率,并且可以輕松選擇最佳實(shí)現(xiàn)。

DSP驗(yàn)證也可能帶來挑戰(zhàn)。在驗(yàn)證DSP時,信號調(diào)試和分析比檢查時域和頻域圖和散點(diǎn)圖更復(fù)雜。由于數(shù)字信號的特征在于采樣時間和離散幅度,因此DSP驗(yàn)證工具必須在多速率DSP應(yīng)用中有效地定義和操縱時間。

此外,它們必須能夠輕松地從全精度浮動轉(zhuǎn)換 - 有限字長定點(diǎn)模擬的點(diǎn)模擬。還需要一種用于建模DSP算法的語言,其中包括對時間,定點(diǎn)資源和并行性等概念的本機(jī)支持。

將方法結(jié)合在一起

設(shè)計(jì)技術(shù)的最新進(jìn)展為解決DSP設(shè)計(jì)人員的獨(dú)特挑戰(zhàn)提供了有趣的解決方案。 MathworksSimulink是一個基于數(shù)學(xué)模型的系統(tǒng)設(shè)計(jì)環(huán)境,為DSP設(shè)計(jì)人員提供了強(qiáng)大的建模和仿真功能。該環(huán)境本身處理DSP問題,如多速率離散時間定義和管理以及單源浮點(diǎn)仿真。

對于FPGA實(shí)現(xiàn),DSP綜合是將DSP驗(yàn)證與最優(yōu)化相結(jié)合的關(guān)鍵創(chuàng)新。 DSP實(shí)現(xiàn)。借助Synplicity的Synplify DSP工具中體現(xiàn)的功能,設(shè)計(jì)人員可以通過自動化,獨(dú)立于設(shè)備的方式來檢查實(shí)現(xiàn)權(quán)衡并實(shí)現(xiàn)目標(biāo)映射。

將DSP綜合與Simulink結(jié)合使用可帶來專業(yè)知識系統(tǒng)架構(gòu)師和硬件設(shè)計(jì)人員在一個共同的環(huán)境中。系統(tǒng)架構(gòu)師為Simulink創(chuàng)建了一個獨(dú)立于供應(yīng)商的模型,使入口點(diǎn)保持在純粹的算法級別,從而將注意力集中在設(shè)計(jì)的高級功能上。

當(dāng)它交給硬件設(shè)計(jì)師時,規(guī)范沒有架構(gòu)含義。只要建模環(huán)境的DSP驗(yàn)證基礎(chǔ)架構(gòu)允許無縫集成合成引擎,硬件設(shè)計(jì)人員就可以在不修改驗(yàn)證源的情況下檢查架構(gòu)權(quán)衡。

由于保留了源代碼,系統(tǒng)架構(gòu)師無需擔(dān)心硬件實(shí)現(xiàn)問題,硬件設(shè)計(jì)人員也不必?fù)?dān)心DSP算法規(guī)范。同時,確保了設(shè)計(jì)的完整性和優(yōu)化,提高了團(tuán)隊(duì)成員的工作效率。

這種方法的關(guān)鍵是使用通用DSP庫。特定于供應(yīng)商的IP使算法設(shè)計(jì)陷入困境,并且具有不必要的實(shí)現(xiàn)細(xì)節(jié)。使用沒有架構(gòu)參數(shù)的通用DSP功能庫,處理輸入信號,并根據(jù)高級規(guī)范生成輸出。

使用高級庫,甚至與DSP功能相關(guān)的延遲也可以被推遲到架構(gòu)優(yōu)化階段。通過DSP綜合,實(shí)現(xiàn)了硬件功能和實(shí)現(xiàn)。 DSP綜合,Simulink和便攜式庫等創(chuàng)新是改進(jìn)DSP設(shè)計(jì)的關(guān)鍵因素,但同樣重要的是將這些功能納入連接RTL和實(shí)現(xiàn)設(shè)計(jì)領(lǐng)域的整體方法。最佳DSP設(shè)計(jì)流程通過通用庫以及DSP綜合和Simulink的組合功能(圖2)增強(qiáng)了現(xiàn)有功能。

基于FPGA的自動化DSP開發(fā)流程


圖2 - DSP FPGA設(shè)計(jì)流程

在設(shè)計(jì)規(guī)范期間,系統(tǒng)架構(gòu)師純粹在算法抽象層次上運(yùn)行。通過使用功能塊集,設(shè)計(jì)人員可以使用熟悉的DSP概念捕獲算法。

在流程的后期,Simulink的DSP驗(yàn)證環(huán)境功能大大減輕了算法驗(yàn)證??梢暬驼{(diào)試以及內(nèi)置加速器等功能有助于快速模擬離散時間設(shè)計(jì)。

這種設(shè)計(jì)方法的引擎,是區(qū)域和性能的系統(tǒng)級目標(biāo)的決定因素, DSP合成。此步驟構(gòu)建了一種架構(gòu),該架構(gòu)消耗了實(shí)現(xiàn)所需性能所需的最少資源。應(yīng)用適當(dāng)?shù)南到y(tǒng)級優(yōu)化技術(shù)(如折疊,系統(tǒng)范圍的重定時和延遲添加),DSP綜合可滿足系統(tǒng)級性能目標(biāo)。

生成的體系結(jié)構(gòu)由獨(dú)立于供應(yīng)商的可綜合RTL代碼生成。由于此時設(shè)計(jì)仍然與供應(yīng)商無關(guān),因此RTL綜合工具的全部功能可用于進(jìn)一步優(yōu)化設(shè)計(jì)。

令人印象深刻的結(jié)果

與傳統(tǒng)流程相比,所描述的DSP設(shè)計(jì)方法顯示出顯著的優(yōu)勢。隨著設(shè)計(jì)變得越來越大,DSP合成流可能僅僅由于其無延遲算法而超過其傳統(tǒng)對應(yīng)物,并且因?yàn)闆]有時間來同步多個路徑。

比較DSP合成和傳統(tǒng)流程的設(shè)計(jì)結(jié)果,即使在不同的優(yōu)化方案下,前者也能得到持續(xù)改進(jìn)。當(dāng)在DSP合成期間不執(zhí)行高級優(yōu)化時,任何產(chǎn)生的優(yōu)化很大程度上歸因于單獨(dú)的RTL合成。即使沒有DSP綜合優(yōu)化,所部署的邏輯單元數(shù)量也會在所有測試電路中保持一致,性能也會提高。

應(yīng)考慮幾種不同的優(yōu)化方案。當(dāng)允許資源共享時,通常會期望資源利用率顯著提高,但會有一些性能損失。測試電路證明了這一點(diǎn),顯示出消耗的資源顯著減少,但代價是性能顯著下降。

當(dāng)資源有限且可以容忍性能下降時,最好應(yīng)用此優(yōu)化技術(shù)。重定時優(yōu)化技術(shù)為增強(qiáng)DSP合成結(jié)果提供了另一種選擇。當(dāng)重新定時是一種選擇時,與單獨(dú)的DSP合成和傳統(tǒng)設(shè)計(jì)相比,可以觀察到顯著的性能提升,盡管它可能以消耗更多資源為代價。

一些DSP綜合解決方案重新分配寄存器并在架構(gòu)級別引入流水線以實(shí)現(xiàn)時序。通過門級重新定時補(bǔ)充這種高級重定時功能,可以通過在特定FPGA器件中移位寄存器來進(jìn)一步優(yōu)化。高級和門級重定時的這種組合可以產(chǎn)生最高度優(yōu)化的結(jié)果,并且可以在不增加額外資源的情況下顯著提高性能。

如今,性能匱乏的DSP應(yīng)用推動了高性能DSP專用FPGA的使用,這反過來又帶來了新的重大設(shè)計(jì)挑戰(zhàn)。為了應(yīng)對這一挑戰(zhàn),基于現(xiàn)有方法的基于FPGA的自動化DSP開發(fā)流程已被證明在提供高度優(yōu)化的設(shè)計(jì)結(jié)果方面遠(yuǎn)遠(yuǎn)超出傳統(tǒng)設(shè)計(jì)方法。

DSP-的組合具體的建模和仿真創(chuàng)新,自動化綜合和優(yōu)化工具以及通用便攜式DSP庫是該流程中的關(guān)鍵要素。憑借這些功能,DSP開發(fā)人員可以解決以前困擾他們的有問題的生產(chǎn)力和設(shè)計(jì)質(zhì)量問題,現(xiàn)在可以充分利用新的強(qiáng)大FPGA技術(shù)所能提供的所有功能。

Dirk Seynhaeve是Synplicity Inc.的DSP企業(yè)應(yīng)用工程總監(jiān)。他在ASIC設(shè)計(jì)和EDA行業(yè)擁有20年的經(jīng)驗(yàn)。他加入Synplicity,幫助定義和推出DSP解決方案,以增加綜合產(chǎn)品組合。之前,在Tera Systems擔(dān)任技術(shù)營銷總監(jiān)之前,Seynhaeve專注于定義RTL交接策略的產(chǎn)品線策略。在Tera Systems之前,Seynhaeve擔(dān)任Tharas Systems的技術(shù)服務(wù)總監(jiān),之后擔(dān)任Escalade的應(yīng)用總監(jiān)。

Andrew Dauman是Synplicity公司應(yīng)用工程副總裁,負(fù)責(zé)所有技術(shù)支持,產(chǎn)品驗(yàn)證,產(chǎn)品培訓(xùn)和技術(shù)出版物。自從1994年加入Synplicity以來,Dauman已經(jīng)將Synplicity的應(yīng)用工程團(tuán)隊(duì)從一個概念發(fā)展成為一個全球性的組織。在加入Synplicity之前,Dauman是Mentor Graphics Corporation的AutoLogic ASIC綜合團(tuán)隊(duì)的成員。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19100

    瀏覽量

    228813
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    552

    文章

    7959

    瀏覽量

    347925
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21620

    瀏覽量

    601232
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA設(shè)計(jì)之自動化

    建立Quartus II工程,參考[2]翻譯了參考[1]的內(nèi)容,這里對這些熱心人表示感謝。Quartus II工程自動化在參考[3]中介紹了ALTERA的FPGA開發(fā)時利用TCL建立、編譯
    發(fā)表于 12-16 15:09

    SoC FPGA進(jìn)軍工廠自動化應(yīng)用

    SoC FPGA將大舉進(jìn)軍機(jī)器視覺、馬達(dá)控制和工業(yè)乙太網(wǎng)路等工廠自動化應(yīng)用。FPGA開發(fā)商正紛紛祭出SoC設(shè)計(jì)策略,透過整合多核心CPU、數(shù)位訊號處理器和微控制器等運(yùn)算核心,強(qiáng)化處理效
    發(fā)表于 07-03 06:07

    如何提高嵌入式DSP系統(tǒng)設(shè)計(jì)與自動化程度?

    嵌入式DSP系統(tǒng)傳統(tǒng)設(shè)計(jì)流程通常由概念到算法及算法到產(chǎn)品兩個階段構(gòu)成,通常這兩個階段互相獨(dú)立且由不同設(shè)計(jì)小組完成。傳統(tǒng)的設(shè)計(jì)流程里要用手工在兩個階段之間進(jìn)行轉(zhuǎn)換與銜接,這樣容易出現(xiàn)錯誤而推遲產(chǎn)品的上市時間。本文介紹一種集成工具可
    發(fā)表于 09-19 06:29

    DSP NSAT-2000自動化測試系統(tǒng)

    `大家早上好,以下圖片為DSP芯片的自動化測試系統(tǒng)。NSAT-2000 DSP自動化測試系統(tǒng)可完成在不同的溫濕度環(huán)境下,振動環(huán)境下,自動測試
    發(fā)表于 03-13 10:47

    基于TESTBASE-PLTE的自動化測試流程

    基于TESTBASE-PLTE 的自動化測試流程TESTBASE-PLTE 產(chǎn)品功能特點(diǎn)
    發(fā)表于 01-11 06:42

    Alter FPGA的設(shè)計(jì)流程以及DSP設(shè)計(jì)

    Alter FPGA的設(shè)計(jì)流程以及DSP設(shè)計(jì).
    發(fā)表于 03-16 15:52 ?127次下載
    Alter <b class='flag-5'>FPGA</b>的設(shè)計(jì)<b class='flag-5'>流程</b>以及<b class='flag-5'>DSP</b>設(shè)計(jì)

    機(jī)器流程自動化是什么

    RPA全稱Robotic Process Automation,即機(jī)器流程自動化,機(jī)器的作用是用來替代人工操作大量高重復(fù)、標(biāo)準(zhǔn)的日常事務(wù),但這里的機(jī)器并非實(shí)體,而是虛擬性的軟件,因此也可稱為軟件
    的頭像 發(fā)表于 01-01 16:52 ?9163次閱讀

    機(jī)器人流程自動化(RPA)系統(tǒng)原理及特點(diǎn)

    機(jī)器人流程自動化(RPA)系統(tǒng)是一種應(yīng)用程序,它通過模仿最終用戶在電腦的手動操作方式,提供了另一種方式來使最終用戶手動操作流程自動化;可迅速實(shí)現(xiàn)業(yè)務(wù)提效,將重復(fù)性勞動進(jìn)行
    的頭像 發(fā)表于 01-16 11:53 ?7052次閱讀

    FPGA設(shè)計(jì)流程及原理

    最新才流行的嵌入式C程序。 FPGA開發(fā)流程即是利用EDA開發(fā)軟件以及編程工具對FPGA芯片進(jìn)行開發(fā)
    的頭像 發(fā)表于 11-12 18:22 ?6462次閱讀

    機(jī)器人流程自動化的發(fā)展前景

    機(jī)器人流程自動化(RPA)如今正在改變數(shù)字支持體驗(yàn)。根據(jù)調(diào)研機(jī)構(gòu)Gartner公司最近發(fā)布的一份調(diào)查報(bào)告,2021年,全球的機(jī)器人流程自動化
    的頭像 發(fā)表于 02-20 09:23 ?2633次閱讀

    智能流程自動化技術(shù)綜述

    智能流程自動化是不同技術(shù)的組合,用于實(shí)現(xiàn)更完整的端到端業(yè)務(wù)流程自動化。它是從基本的、基于規(guī)則的任務(wù)自動化到由眾多任務(wù)組成的整個業(yè)務(wù)
    發(fā)表于 06-14 16:43 ?5304次閱讀

    RPA解決方案可用于辦公流程自動化和協(xié)作機(jī)器人編程

    機(jī)器人流程自動化(RPA)是指一系列工具,可在無需軟件工程師介入的情況下開發(fā)自動化流程
    的頭像 發(fā)表于 12-29 17:43 ?3100次閱讀

    自動化測試框架unittes詳解

    的測試框架,不妨“軟為硬用”。這里就基于python的自動化測試框架unittest來實(shí)現(xiàn)一個簡單的自動化上板測試流程,同時自動生成html測試報(bào)告。
    的頭像 發(fā)表于 05-20 14:47 ?2870次閱讀

    一個自動化的測試流程

    一個自動化的測試流程。
    發(fā)表于 05-04 17:48 ?0次下載

    自動化構(gòu)建環(huán)境在FPGA設(shè)計(jì)中的應(yīng)用

    為了加快實(shí)現(xiàn) FPGA 構(gòu)建環(huán)境的自動化(如用于持續(xù)集成 (CI)),并確保在開發(fā)與生命周期后期階段完整重現(xiàn)設(shè)計(jì)結(jié)果,Missing Link Electronics 團(tuán)隊(duì)已整合出一套腳本。
    發(fā)表于 02-20 11:05 ?363次閱讀
    <b class='flag-5'>自動化</b>構(gòu)建環(huán)境在<b class='flag-5'>FPGA</b>設(shè)計(jì)中的應(yīng)用