自在自线亚洲а∨天堂在线-中文字幕一区视频播放-扒开双腿猛进入喷水高潮叫声-欧美日本亚洲一区二区-老熟妇高潮偷拍一区二区-国产精品高清一区二区不卡-午夜色福利视频一区二区三区-亚洲国产成人精品福利在线观看-亚洲欧美成人一区二区在线电影

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
使用MATLAB為System Generator for DSP創(chuàng)建IP
使用MATLAB為System Generator for DSP創(chuàng)建IP
 更新時間:2008-8-3 16:37:04  點擊數(shù):12
【字體: 字體顏色


    


將基于圖形和基于語言的設(shè)計方法結(jié)合起來最能準(zhǔn)確描述DSP系統(tǒng)。DSP建模軟件行業(yè)專家The MathWorks提供了一種稱為Simulink的時序精度的圖形化設(shè)計環(huán)境和一種稱為MATLAB的數(shù)學(xué)建模語言,從而滿足了這種二分法。



Simulink非常適合DSP設(shè)計的“系統(tǒng)”方面,包括輸入輸出接口和存儲器數(shù)據(jù)流的控制與同步。Simulink還以模塊集的形式提供了一個豐富的預(yù)定義DSP算法集,可以用來構(gòu)建DSP系統(tǒng)。不過,對于專用算法的建模來說,Simulink并非總是最有效的開發(fā)環(huán)境。它不必要地增加了設(shè)計人員考慮時序精度的負(fù)擔(dān),并且強制用圖形模塊集而非簡明的文本表達(dá)式來構(gòu)建底層的算術(shù)運算和數(shù)組操作。


 



圖1 顯示系統(tǒng)控制和同步邏輯的Xilinx System Generator圖



有些DSP算法開發(fā)人員發(fā)現(xiàn)MATLAB語言最能滿足他們喜歡的開發(fā)方式。MATLAB具有針對信號處理、通信和小波處理的1000多種內(nèi)置函數(shù)和工具箱擴展,為復(fù)雜算法的開發(fā)和調(diào)試提供了豐富且易用的環(huán)境。



Simulink利用一個嵌入式MATLAB模塊將這兩種建模環(huán)境統(tǒng)一起來,該模塊允許MATLAB模型在Simulink內(nèi)部仿真,再通過Real-Time Workshop編譯成C代碼后在DSP處理器上實現(xiàn)。



Xilinx System Generator for DSP是一種廣泛公認(rèn)的高效工具,用于在FPGA中創(chuàng)建DSP設(shè)計。System Generator for DSP提供了基于Simulink的圖形環(huán)境和Xilinx DSP核的預(yù)定義模塊集,這同時滿足了系統(tǒng)架構(gòu)設(shè)計師和硬件設(shè)計人員的需要,前者需要把組件集成到設(shè)計中,而后者需要優(yōu)化實現(xiàn)。不過,System Generator for DSP缺少對基于MATLAB的設(shè)計流程的支持。


Xilinx AccelDSPTM綜合工具是專為已經(jīng)熟悉基于語言的DSP算法建模的算法開發(fā)人員和DSP架構(gòu)設(shè)計師開發(fā)的。借助AccelDSP綜合工具,算法開發(fā)人員可以用浮點MATLAB M文件創(chuàng)建激勵、評估算法并對結(jié)果進(jìn)行后處理。


DSP硬件系統(tǒng)



System Generator for DSP非常適合DSP系統(tǒng)建模,它不僅包括核心DSP算法,還包括針對外部總線、存儲器讀寫訪問、系統(tǒng)數(shù)據(jù)同步和整體系統(tǒng)控制的同步接口。System Generator for DSP提供了面向控制的模塊(如MicroBlazeTM處理器),還提供了用于實現(xiàn)DSP系統(tǒng)同步的各個寄存器、延時器和存儲器模塊(如圖1所示)。


自定制DSP算法



任何DSP系統(tǒng)的核心都是算法。算法與系統(tǒng)的區(qū)別在于所產(chǎn)生的輸出是基于給定輸入集的函數(shù),與時鐘或硬件無關(guān)。這可以由以下簡單公式表示:



y=f(x)



我們可以分別在FPGA、DSP處理器和軟件上執(zhí)行一種MATLAB定義的算法,它們對時序精度的理解各不相同。



算法的這種特有性質(zhì)具有兩大好處。



首先,算法開發(fā)人員完全不用顧及硬件實現(xiàn)細(xì)節(jié),可以只專心于算法功能。正因為如此,今天在DSP中使用的算法估計有90%都是首先作為MATLAB模型出現(xiàn)的,即使設(shè)計流程表明它們此后還要重新實現(xiàn)Simulink圖或System Generatorfor DSP圖。用一個簡單的MATLAB語句就可以計算4×1024數(shù)據(jù)矩陣的快速傅里葉變換(FFT),不必考慮基數(shù)、擴展性、緩沖或有效信號的同步,如下所示:



y=fft(data,1024)



其次,在建立算法模型時,給定的輸出集總是對應(yīng)于給定的輸入集;因此,不必在生成的硬件中解決同步問題。這就使算法具有可通過AccelDSP這樣的綜合工具進(jìn)行調(diào)度的固有“可調(diào)度”性。由于硬件要求,可能需要使用多個時鐘周期來計算一個輸出(如資源共享MAC FIR濾波器的情形),但這種操作卻非常適合AccelDSP綜合工具的自動流程。加入一個簡單的硬件握手接口即可為集成到整個系統(tǒng)敞開方便之門,如圖2所示。


 



圖2 AccelDSP 握手接口


MATLAB運算符(如矩陣轉(zhuǎn)置)可以使MATLAB代碼短小易讀。而像矩陣求逆運算這類復(fù)雜運算可以用MATLAB豐富的線性代數(shù)功能完成。


AccelDSP和System Generator工具一起使用



AcceDSP綜合工具可依據(jù)浮點MATLAB模型生成System Generator IP模塊,從而使System Generator for DSP能夠支持DSP系統(tǒng)和算法兩種建模方法。這樣可以產(chǎn)生與用嵌入式MATLAB模塊功能相似的FPGA設(shè)計流程(見圖3)。我們可以用Xilinx DSP模塊集實現(xiàn)系統(tǒng)設(shè)計,而用浮點MATLAB實現(xiàn)算法設(shè)計。用AccelDSP綜合工具創(chuàng)建的System Generator IP模塊是具有時序精度特點的定點模塊。


卡爾曼濾波器示例



我們來看一種用MATLAB編寫的高級算法,使用AccelDSP綜合工具進(jìn)行綜合,然后將算法集成到System Generator模型中?柭鼮V波器是一種特殊類型的自適應(yīng)遞歸濾波器,非常適合將多個有噪聲的信號合并成一個較清晰的信號?柭鼮V波器以對象(如由地面雷達(dá)跟蹤的商用飛機)的數(shù)學(xué)模型開始,使用該模型預(yù)測未來行為。然后,濾波器使用實測信號(如返回到雷達(dá)接收器的飛機特征信號)定時校正預(yù)測。


 



圖3 DSP系統(tǒng)框圖



以下是一個卡爾曼濾波器的MATLABM文件。該算法定義矩陣R和I,這兩個矩陣描述了實測信號和預(yù)測行為的統(tǒng)計數(shù)據(jù)。算法的后九行是前向預(yù)測代碼和自我校正代碼。




 



像加減這類常用運算符是在A或P_cap這類數(shù)組上運算,無須像C語言所要求的那樣編寫循環(huán)語句。二維數(shù)組自動以矩陣相乘,無須任何特別注釋。



MATLAB運算符(如矩陣轉(zhuǎn)置)可以使MATLAB代碼短小易讀。而像矩陣求逆這類復(fù)雜運算可以用MATLAB豐富的線性代數(shù)功能完成。雖然可以將這種算法構(gòu)建成框圖,但這樣做很容易使算法結(jié)構(gòu)在MATLAB中顯得費解。有了AccelDSP綜合工具,就可以用AccelWare IP工具套件將復(fù)雜的MATLAB工具箱和內(nèi)置函數(shù)(如卡爾曼濾波器示例中使用的矩陣求逆)直接賦予硬件。這些工具套件提供多種矩陣求逆方法。核的選擇取決于矩陣的大小、結(jié)構(gòu)和值。



我們再回到卡爾曼濾波器示例,最適宜的方法是使用AccelWare QR矩陣求逆核。AccelWare核是依據(jù)MATLAB語法生成的,可有多種硬件實現(xiàn)架構(gòu),這些架構(gòu)允許用戶對設(shè)計進(jìn)行速度、面積、功耗和噪聲優(yōu)化。為了使用AccelWare功能,需要對代碼進(jìn)行以下小修改:



用AccelDSP綜合工具綜合MATLAB可以使用AccelDSP綜合工具進(jìn)行浮點仿真,以建立一個基準(zhǔn)來參考。然后將設(shè)計轉(zhuǎn)換成定點,以便進(jìn)行定點效果仿真。有諸多功能可以幫助分析這些效果和定點設(shè)計(如飽和與四舍五入)。數(shù)據(jù)位寬的增長可以用戶控制的方式自動傳播到整個設(shè)計中。這種算法設(shè)計瀏覽過程可以幫助您獲得理想的量化結(jié)果,此量化結(jié)果能夠在控制上溢出/下溢出的同時盡量縮小位寬,以便盡早在硅片面積與性能指針之間進(jìn)行權(quán)衡。一旦確定了適宜的量化結(jié)果,使用AccelDSP綜合工具的下一步就是為Xilinx目標(biāo)器件生成RTL。可以通過使用表1所列綜合指令來規(guī)定硬件含義。使用這些指令可以規(guī)范基于硬件的設(shè)計瀏覽,使設(shè)計小組能夠進(jìn)一步提高結(jié)果質(zhì)量。在綜合RTL時,AccelDSP綜合工具評估和調(diào)度整個算法,并且在可能時進(jìn)行邊界優(yōu)化。



AccelDSP工具在整個流程中都保持始終如一的驗證環(huán)境,這是因為使用了自校驗式測試平臺,即使用MATLAB定點設(shè)計時生成的輸入/輸出向量來驗證生成的RTL。AccelDSP綜合工具還會報告卡爾曼濾波器的流量和延時量,這是衡量設(shè)計是否滿足指標(biāo)以及生成時序精度的SystemGenerator模型所必需的。


生成System Generator模型



成功完成RTL驗證之后,即可通過單擊“Generate System Generator”圖標(biāo)來為設(shè)計生成System Generator模型。AccelDSP工具產(chǎn)生一個可支持仿真和RTL代碼的System Generator IP模塊。



此時,設(shè)計流程過渡到System Generator for DSP,其中可以在Simulink庫瀏覽器中使用卡爾曼濾波器的新模塊,只需選擇卡爾曼濾波器模塊,然后將其拖入到目標(biāo)環(huán)境中,便可將AccelDSP生成的卡爾曼濾波器集成到System Generator設(shè)計中。



結(jié)束語



自定制DSP算法最適于用MATLAB建立數(shù)學(xué)模型,而完整的系統(tǒng)則最適于用Simulink建立時序精度的模型。這兩種建模域緊密結(jié)合即可使用豐富的MATLAB語言(包括內(nèi)置函數(shù)和工具箱函數(shù))來創(chuàng)建復(fù)雜DSP算法的System Generator IP模塊,從而為在FPGA中設(shè)計DSP系統(tǒng)提供一種有效的手段。

[1]



[1] [2]  下一頁
  • 上一篇: 單芯片的一致多處理
  • 下一篇: 仿真器在單片機多路開發(fā)中的應(yīng)用
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1