使用MATLAB為SystemGeneratorforDSP創(chuàng)建IP_第1頁(yè)
使用MATLAB為SystemGeneratorforDSP創(chuàng)建IP_第2頁(yè)
使用MATLAB為SystemGeneratorforDSP創(chuàng)建IP_第3頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、使用 MATLAB為 System Generator for DSP創(chuàng)建 IP( 圖使用 MATLABM文件借助 AccelChip 綜合工具優(yōu)化 FPGA實(shí)現(xiàn)將基于圖形和基于語(yǔ)言的設(shè)計(jì)方法結(jié)合起來(lái)最能準(zhǔn)確描述DSP系統(tǒng)。 DSP建模軟件行業(yè)專家 The MathWorks 提供了一種稱為 Simulink 的時(shí)序精度的圖形化設(shè)計(jì)環(huán)境和一種稱為 MATLAB 的數(shù)學(xué)建模語(yǔ)言,從而滿足了這種二分法。Simulink 非常適合 DSP設(shè)計(jì)的“系統(tǒng)”方面,包括輸入輸出接口和存儲(chǔ)器數(shù)據(jù)流的控制與同 步。 Simulink 還以模塊集的形式提供了一個(gè)豐富的預(yù)定義DSP算法集,可以用來(lái)構(gòu)建 DSP系統(tǒng)。

2、不過(guò),對(duì)于專用算法的建模來(lái)說(shuō), Simulink 并非總是最有效的開(kāi)發(fā)環(huán)境。它不必要地增 加了設(shè)計(jì)人員考慮時(shí)序精度的負(fù)擔(dān),并且強(qiáng)制用圖形模塊集而非簡(jiǎn)明的文本表達(dá)式來(lái)構(gòu)建底層 的算術(shù)運(yùn)算和數(shù)組操作。圖 1 顯示系統(tǒng)控制和同步邏輯的 Xilinx System Generator 圖有些 DSP算法開(kāi)發(fā)人員發(fā)現(xiàn) MATLAB語(yǔ)言最能滿足他們喜歡的開(kāi)發(fā)方式。 MATLAB具有針對(duì)信號(hào) 處理、通信和小波處理的 1000 多種內(nèi)置函數(shù)和工具箱擴(kuò)展,為復(fù)雜算法的開(kāi)發(fā)和調(diào)試提供了 豐富且易用的環(huán)境。Simulink 利用一個(gè)嵌入式 MATLAB模塊將這兩種建模環(huán)境統(tǒng)一起來(lái),該模塊允許MATLAB模型在 Si

3、mulink 內(nèi)部仿真,再通過(guò) Real-Time Workshop 編譯成 C 代碼后在 DSP處理器上實(shí)現(xiàn)。Xilinx System Generator for DSP 是一種廣泛公認(rèn)的高效工具,用于在FPGA中創(chuàng)建 DSP設(shè)計(jì)。 System Generator for DSP 提供了基于 Simulink 的圖形環(huán)境和 Xilinx DSP 核的預(yù)定義 模塊集,這同時(shí)滿足了系統(tǒng)架構(gòu)設(shè)計(jì)師和硬件設(shè)計(jì)人員的需要,前者需要把組件集成到設(shè)計(jì) 中,而后者需要優(yōu)化實(shí)現(xiàn)。不過(guò), System Generator for DSP 缺少對(duì)基于 MATLAB的設(shè)計(jì)流程 的支持。Xilinx AccelD

4、SPTM 綜合工具是專為已經(jīng)熟悉基于語(yǔ)言的DSP算法建模的算法開(kāi)發(fā)人員和DSP架構(gòu)設(shè)計(jì)師開(kāi)發(fā)的。借助 AccelDSP 綜合工具,算法開(kāi)發(fā)人員可以用浮點(diǎn)MATLAB M文件創(chuàng)建激勵(lì)、評(píng)估算法并對(duì)結(jié)果進(jìn)行后處理。DSP硬件系統(tǒng)System Generator for DSP非常適合 DSP系統(tǒng)建模,它不僅包括核心 DSP 算法,還包括針對(duì)外部總線、存儲(chǔ)器讀寫訪問(wèn)、系統(tǒng)數(shù)據(jù)同步和整體系統(tǒng)控制的同步接口。System Generatorfor DSP 提供了面向控制的模塊(如 MicroBlazeTM 處理器),還提供了用于實(shí)現(xiàn) DSP系統(tǒng)同 步的各個(gè)寄存器、延時(shí)器和存儲(chǔ)器模塊(如圖1 所示)。自定

5、制 DSP算法任何 DSP 系統(tǒng)的核心都是算法。算法與系統(tǒng)的區(qū)別在于所產(chǎn)生的輸出是基于給定輸入集的函 數(shù),與時(shí)鐘或硬件無(wú)關(guān)。這可以由以下簡(jiǎn)單公式表示:y=f(x我們可以分別在 FPGA、 DSP處理器和軟件上執(zhí)行一種 MATLAB定義的算法,它們對(duì)時(shí)序精度的 理解各不相同。算法的這種特有性質(zhì)具有兩大好處。首先,算法開(kāi)發(fā)人員完全不用顧及硬件實(shí)現(xiàn)細(xì)節(jié),可以只專心于算法功能。正因?yàn)槿绱?,今天?DSP 中使用的算法估計(jì)有 90%都是首先作為 MATLAB模型出現(xiàn)的,即使設(shè)計(jì)流程表明它們此 后還要重新實(shí)現(xiàn) Simulink 圖或 System Generatorfor DSP 圖。用一個(gè)簡(jiǎn)單的 MAT

6、LAB語(yǔ)句就可 以計(jì)算 4×1024 數(shù)據(jù)矩陣的快速傅里葉變換 (FFT ,不必考慮基數(shù)、擴(kuò)展性、緩沖或有效信號(hào)的 同步,如下所示:y=fft(data,1024其次,在建立算法模型時(shí),給定的輸出集總是對(duì)應(yīng)于給定的輸入集;因此,不必在生成的硬件 中解決同步問(wèn)題。這就使算法具有可通過(guò) AccelDSP 這樣的綜合工具進(jìn)行調(diào)度的固有“可調(diào) 度”性。由于硬件要求,可能需要使用多個(gè)時(shí)鐘周期來(lái)計(jì)算一個(gè)輸出(如資源共享MAC FIR濾波器的情形),但這種操作卻非常適合 AccelDSP 綜合工具的自動(dòng)流程。加入一個(gè)簡(jiǎn)單的硬件 握手接口即可為集成到整個(gè)系統(tǒng)敞開(kāi)方便之門,如圖 2 所示。圖 2 Ac

7、celDSP 握手接口MATLAB運(yùn)算符 ( 如矩陣轉(zhuǎn)置可以使 MATLAB代碼短小易讀。而像矩陣求逆運(yùn)算這類復(fù)雜運(yùn) 算可以用 MATLAB豐富的線性代數(shù)功能完成。AccelDSP 和 System Generator 工具一起使用AcceDSP 綜合工具可依據(jù)浮點(diǎn) MATLAB模型生成 System Generator IP 模塊,從而使 System Generator for DSP 能夠支持 DSP系統(tǒng)和算法兩種建模方法。這樣可以產(chǎn)生與用嵌入式MATLAB模塊功能相似的 FPGA設(shè)計(jì)流程(見(jiàn)圖 3)。我們可以用 Xilinx DSP 模塊集實(shí)現(xiàn)系統(tǒng)設(shè)計(jì),而 用浮點(diǎn) MATLAB實(shí)現(xiàn)算法

8、設(shè)計(jì)。用 AccelDSP 綜合工具創(chuàng)建的 System Generator IP 模塊是具有 時(shí)序精度特點(diǎn)的定點(diǎn)模塊??柭鼮V波器示例我們來(lái)看一種用 MATLAB編寫的高級(jí)算法,使用 AccelDSP 綜合工具進(jìn)行綜合,然后將算法集成 到 System Generator 模型中。卡爾曼濾波器是一種特殊類型的自適應(yīng)遞歸濾波器,非常適合 將多個(gè)有噪聲的信號(hào)合并成一個(gè)較清晰的信號(hào)??柭鼮V波器以對(duì)象(如由地面雷達(dá)跟蹤的商 用飛機(jī))的數(shù)學(xué)模型開(kāi)始,使用該模型預(yù)測(cè)未來(lái)行為。然后,濾波器使用實(shí)測(cè)信號(hào)(如返回到 雷達(dá)接收器的飛機(jī)特征信號(hào))定時(shí)校正預(yù)測(cè)。圖 3 DSP 系統(tǒng)框圖以下是一個(gè)卡爾曼濾波器的 M

9、ATLABM文件。該算法定義矩陣 R和 I ,這兩個(gè)矩陣描述了實(shí)測(cè)信 號(hào)和預(yù)測(cè)行為的統(tǒng)計(jì)數(shù)據(jù)。算法的后九行是前向預(yù)測(cè)代碼和自我校正代碼。functions=simple_kalman(ADIM=size(A,2pesistentifP_cap=800;080;0end;1=eye(DIM;R=128 00;01280;0%estimateP_cap_est=P_cap+1;%correctionP_cap isempty(P_cap 0 8; p=ones(DIM,1/2;0 128step:step:K=P_cap_est*inv(P_cap_est+R;P=P+K*(A'-P;P_

10、cap=(1-K*P_cap_est;S=p'表1 控制所生成硬件的綜合指令像加減這類常用運(yùn)算符是在 A或 P_cap 這類數(shù)組上運(yùn)算,無(wú)須像 C語(yǔ)言所要求的那樣編寫循環(huán) 語(yǔ)句。二維數(shù)組自動(dòng)以矩陣相乘,無(wú)須任何特別注釋。MATLAB運(yùn)算符(如矩陣轉(zhuǎn)置)可以使MATLAB代碼短小易讀。而像矩陣求逆這類復(fù)雜運(yùn)算可以用 MATLAB 豐富的線性代數(shù)功能完成。雖然可以將這種算法構(gòu)建成框圖,但這樣做很容易使算 法結(jié)構(gòu)在 MATLAB中顯得費(fèi)解。有了 AccelDSP 綜合工具,就可以用 AccelWare IP 工具套件將 復(fù)雜的 MATLAB工具箱和內(nèi)置函數(shù)(如卡爾曼濾波器示例中使用的矩陣求逆

11、)直接賦予硬件。 這些工具套件提供多種矩陣求逆方法。核的選擇取決于矩陣的大小、結(jié)構(gòu)和值。我們?cè)倩氐娇柭鼮V波器示例,最適宜的方法是使用 AccelWare QR 矩陣求逆核。 AccelWare 核是依據(jù) MATLAB語(yǔ)法生成的,可有多種硬件實(shí)現(xiàn)架構(gòu),這些架構(gòu)允許用戶對(duì)設(shè)計(jì)進(jìn)行速度、 面積、功耗和噪聲優(yōu)化。為了使用 AccelWare 功能,需要對(duì)代碼進(jìn)行以下小修改:用 AccelDSP 綜合工具綜合 MATLAB可以使用 AccelDSP 綜合工具進(jìn)行浮點(diǎn)仿真,以建立一個(gè)基 準(zhǔn)來(lái)參考。然后將設(shè)計(jì)轉(zhuǎn)換成定點(diǎn),以便進(jìn)行定點(diǎn)效果仿真。有諸多功能可以幫助分析這些效 果和定點(diǎn)設(shè)計(jì)(如飽和與四舍五入)。

12、數(shù)據(jù)位寬的增長(zhǎng)可以用戶控制的方式自動(dòng)傳播到整個(gè)設(shè) 計(jì)中。這種算法設(shè)計(jì)瀏覽過(guò)程可以幫助您獲得理想的量化結(jié)果,此量化結(jié)果能夠在控制上溢出 / 下溢出的同時(shí)盡量縮小位寬,以便盡早在硅片面積與性能指針之間進(jìn)行權(quán)衡。一旦確定了適 宜的量化結(jié)果,使用 AccelDSP 綜合工具的下一步就是為 Xilinx 目標(biāo)器件生成 RTL??梢酝ㄟ^(guò) 使用表 1 所列綜合指令來(lái)規(guī)定硬件含義。使用這些指令可以規(guī)范基于硬件的設(shè)計(jì)瀏覽,使設(shè)計(jì) 小組能夠進(jìn)一步提高結(jié)果質(zhì)量。在綜合RTL 時(shí), AccelDSP 綜合工具評(píng)估和調(diào)度整個(gè)算法,并且在可能時(shí)進(jìn)行邊界優(yōu)化。AccelDSP 工具在整個(gè)流程中都保持始終如一的驗(yàn)證環(huán)境,這是

13、因?yàn)槭褂昧俗孕r?yàn)式測(cè)試平 臺(tái),即使用 MATLAB定點(diǎn)設(shè)計(jì)時(shí)生成的輸入 /輸出向量來(lái)驗(yàn)證生成的 RTL。AccelDSP 綜合工具還會(huì)報(bào)告卡爾曼濾波器的流量和延時(shí)量,這是衡量設(shè)計(jì)是否滿足指標(biāo)以及生成時(shí)序精度的 SystemGenerator 模型所必需的。生成 System Generator 模型成功完成 RTL 驗(yàn)證之后,即可通過(guò)單擊“ Generate System Generator ”圖標(biāo)來(lái)為設(shè)計(jì)生成 System Generator 模型。 AccelDSP 工具產(chǎn)生一個(gè)可支持仿真和 RTL代碼的 System Generator IP 模塊。此時(shí),設(shè)計(jì)流程過(guò)渡到 System Generator for DSP ,其中可以在 Simulink 庫(kù)瀏覽器中使用卡 爾曼濾波器的新模塊,只需選擇卡爾曼濾波器模塊,然后將其拖入到目標(biāo)環(huán)境中,便可

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論