第七章 基于System Generator的DSP系統(tǒng)開發(fā)技術(shù)_第1頁
第七章 基于System Generator的DSP系統(tǒng)開發(fā)技術(shù)_第2頁
第七章 基于System Generator的DSP系統(tǒng)開發(fā)技術(shù)_第3頁
第七章 基于System Generator的DSP系統(tǒng)開發(fā)技術(shù)_第4頁
第七章 基于System Generator的DSP系統(tǒng)開發(fā)技術(shù)_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第七章 基于(jy)System Generator的DSP系統(tǒng)開發(fā)技術(shù) System Generator簡介System Generator安裝System Generator基礎(chǔ)(jch)Simulink 簡介AccelDSP 簡介基于System Generator的DSP系統(tǒng)設(shè)計基于System Generator的硬件協(xié)仿真共五十七頁System Generator簡介(jin ji)FPGA是理想的高性能數(shù)字信號處理器件包含了邏輯資源,還有多路復(fù)用器、存儲器、硬核乘加單元以及內(nèi)嵌的處理器等設(shè)備,還具備高度并行計算的能力;特別適合于完成數(shù)字濾波、快速傅立葉變換等。FPGA并未在數(shù)字信

2、號處理領(lǐng)域獲得廣泛應(yīng)用 (?) 大部分DSP設(shè)計者通常對C語言或MATBLAB工具很熟悉(shx) ,不了解硬件描述語言VHDL和Verilog HDL ;部分DSP工程師認(rèn)為對HDL語言在語句可綜合方面的要求限制了其編寫算法的思路。 共五十七頁System Generator簡介(jin ji)System Generator for DSP Xilinx簡化FPGA數(shù)字處理系統(tǒng)的集成開發(fā)工具; 和Simulink(MathWorks公司產(chǎn)品)實現(xiàn)無縫鏈接,利用Simulink建模和仿真環(huán)境來實現(xiàn)FPGA設(shè)計,無需了解和使用 RTL級硬件語言; Xilinx公司XtremeDSP解決方案的關(guān)

3、鍵組成,集成了先進(jìn)的FPGA設(shè)計工具以及IP 核,支持(zhch)Xilinx公司全系列的FPGA芯片;可作為MATLAB軟件中的一個硬件設(shè)計工具包。 共五十七頁System Generator簡介(jin ji)共五十七頁System Generator簡介(jin ji)System Generator的主要特征 可在MATLAB/Simulink環(huán)境(hunjng)下對算法以及系統(tǒng)建模,并生成相應(yīng)的工程;再調(diào)用ISE相應(yīng)的組件進(jìn)行仿真、綜合、實現(xiàn),并完成芯片的配置。 共五十七頁System Generator簡介(jin ji)System Generator的主要(zhyo)特征 豐富

4、的DSP模塊信號處理(如FIR濾波器、FFT)糾錯(如Viterbi 解碼器、Reed-Solomon編碼器/解碼器)算法存儲器(如FIFO、RAM、ROM)數(shù)字邏輯功能的Xilinx模塊集使用戶導(dǎo)入.m函數(shù)及HDL模塊 Simulink設(shè)計的VHDL或Verilog的自動代碼生成 硬件協(xié)仿真 FPGA 在環(huán)路(FPGA-in-the-loop),加速用戶的硬件驗證工作并加速其在Simulink與MATLAB中的仿真 嵌入式系統(tǒng)的硬件/軟件協(xié)設(shè)計 直接加載Xilinx公司的MicroBlaze 32位 RISC處理器,甚至構(gòu)建和調(diào)試DSP協(xié)處理器 共五十七頁System Generator安裝

5、(nzhung)軟件環(huán)境 (以System Generator 9.1為例)MATLAB v7.3/Simulink v6.5(R2006b)或MATLAB v7.4/ Simulink v6.6(R2007a)。MATLAB軟件的安裝路徑上不能出現(xiàn)空格。ISE版本(bnbn)為9.1.01i或者更高版本(bnbn),ISE Simulator的版本(bnbn)為完全版; System Generator軟件版本必須和ISE版本一致。IP核庫的版本為ISE IP 9.1i Update 1或者更高版本。 系統(tǒng)環(huán)境變量$XILINX必須設(shè)置為ISE的安裝目錄。 綜合工具Synplify Pro的

6、版本為v8.6.2或v8.8.0.4; 仿真工具M(jìn)odelSim的版本至少為PE或SE v6.1f以及更高版本。 共五十七頁System Generator安裝(nzhung)與MATLAB關(guān)聯(lián)(gunlin) 共五十七頁System Generator基礎(chǔ)(jch)典型的System Generator設(shè)計流程浮點算法開發(fā)定點(dn din)算法實現(xiàn)硬件系統(tǒng)設(shè)計代碼優(yōu)化共五十七頁System Generator基礎(chǔ)(jch)浮點運算開發(fā)利用MATLAB軟件及其提供的工具包快速地完成浮點算法的開發(fā)、驗證以及性能評估(pn );借助于Simulink可快速完成原型設(shè)計和模型分析。定點算法實現(xiàn) 將

7、MATLAB浮點算法通過AccelDSP在Xilinx器件上實現(xiàn)定點邏輯 ;AccelDSP直接將浮點MATLAB算法的M-文件自動生成可綜合的RTL模型,自動進(jìn)行浮點-定點轉(zhuǎn)換,生成可綜合的VHDL或Verilog HDL設(shè)計,并創(chuàng)建用于驗證的測試平臺。 共五十七頁System Generator基礎(chǔ)(jch)硬件系統(tǒng)設(shè)計與實現(xiàn) 定義使用Xilinx IP的詳細(xì)硬件架構(gòu),采用System Generator for DSP 劃分協(xié)處理器和可編程器件之間的設(shè)計 ;會生成下列文件:設(shè)計所對應(yīng)的HDL程序代碼;時鐘處理模塊,包括系統(tǒng)時鐘處理操作以及生成設(shè)計中所需的不同頻率的時鐘信號; 用于測試設(shè)計

8、的HDL測試代碼,可直接將其仿真結(jié)果和Simulink輸出比較(bjio); 工程文件以及綜合、實現(xiàn)過程所產(chǎn)生的各種腳本文件。共五十七頁System Generator基礎(chǔ)(jch)代碼優(yōu)化 利用(lyng)ISE RTL設(shè)計環(huán)境生成優(yōu)化的FPGA設(shè)計;不僅要熟悉算法的架構(gòu)、瓶頸,還需精通RTL設(shè)計; 屬于高級應(yīng)用,直接對RTL進(jìn)行修改和優(yōu)化。共五十七頁Simulink簡介(jin ji)Simulink是MATLAB的組件安裝程序會自動將其安裝到MATLAB目錄下; Simulink的運行需要(xyo)MATLAB后臺的支持,因此必須要安裝MATLAB軟件。 工具欄點擊或者命令啟動共五十七頁

9、Simulink簡介(jin ji)Simulink工作(gngzu)原理模型初始化 模型執(zhí)行 一般模型是使用數(shù)值積分來進(jìn)行仿真; 仿真結(jié)束時,模型得出系統(tǒng)的輸入、狀態(tài)和輸出 。共五十七頁Simulink設(shè)計(shj)示例例 建立一個調(diào)幅(AM)系統(tǒng),信號頻率為100KMHz,載波頻率為1MHz,調(diào)幅系數(shù)為0.5,并在示波器中顯示出來。啟動Simulink;新建一個模型, “New Model”命令新模型保存為am.mdl;從Simulink library Browser中加入基本模塊 ;連接各個模塊 ;在工具欄點擊運行(RUN)圖標(biāo) ,再直接點擊Scope模塊即可觀察(gunch)運行結(jié)果

10、 。 共五十七頁Simulink設(shè)計(shj)示例共五十七頁AccelDSP簡介(jin ji) AccelDSPAccelDSP是一款第三方綜合軟件,可將MATLAB浮點算法轉(zhuǎn)換成為可綜合RTL代碼 ;Xilinx AccelDSP是目前業(yè)界唯一(wi y)能夠?qū)ATLAB浮點算法轉(zhuǎn)換成為可綜合RTL代碼的開發(fā)工具; 自動地進(jìn)行浮點-定點轉(zhuǎn)換,生成可綜合的VHDL或Verilog代碼,并創(chuàng)建用于驗證的測試平臺; 可以生成定點C+模型或由MATLAB算法得到System Generator塊 ;Xilinx XtremeDSP解決方案的重要組成部分。 共五十七頁AccelDSP簡介(jin

11、ji)AccelWare 包含一系列參數(shù)DSP模塊的IP庫;可以綜合成為RTL代碼(VHDL或Verilog)。 AccelWare IP(包含三個專用工具箱)信號處理(xn ho ch l)工具包:FIR 濾波器、CIC 抽取濾波器、CIC內(nèi)插濾波器、多相抽取濾波器、半帶 FIR 濾波器、FFT 以及IFFT等; 通信工具包:直接數(shù)字合成器、BCH 編碼器和解碼器、卷積交織器和去交織器、卷積編碼器、Reed-Solomon 編解碼器、Viterbi解碼器、開方升余弦濾波器、加擾器、解擾器以及ADC采樣-保持電路/正弦比較濾波器等; 高級數(shù)學(xué)運算工具包:QR分解法、Cholesky分解法、QR

12、求逆、Cholesky求逆、三角形矩陣求逆、特定排列旋轉(zhuǎn)、多項式求值、奇異值分解以及QRD-RLS空間濾波器等。 共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計Xilinx Blockset庫System Generator和Simulink是無縫鏈接的,可以在MATLAB標(biāo)準(zhǔn)工具欄中直接啟動;在Simulink環(huán)境中,只有通過Xilinx模塊搭建的系統(tǒng)才能保證(bozhng)硬件可實現(xiàn),類似于HDL語言中的可綜合語句。 共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計System Generator庫 共五十七頁基于(jy)System

13、Generator的DSP系統(tǒng)設(shè)計基本單元(dnyun)模塊 包含了數(shù)字邏輯的標(biāo)準(zhǔn)組件模塊 ;可插入時間延遲、改變信號速率、引入常數(shù)、計數(shù)器以及多路復(fù)用器等 ;包含了3個特殊的模塊System Generator標(biāo)志、黑盒子模塊(Black Box)以及邊界定義模塊 。共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計通信模塊 提供了用于實現(xiàn)(shxin)數(shù)字通信的各種函數(shù) 共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計控制(kngzh)邏輯模塊 創(chuàng)建各種控制邏輯和狀態(tài)機(jī)的資源 包括邏輯表達(dá)式、軟核控制器、復(fù)用器以及存儲器 共五十七頁基于(j

14、y)System Generator的DSP系統(tǒng)設(shè)計數(shù)據(jù)類型模塊 用于信號(xnho)的數(shù)據(jù)類型轉(zhuǎn)換 包括移位、量化、并/串、串/并轉(zhuǎn)換以及精度調(diào)整模塊 共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計DSP模塊(m kui) System Generator的核心 包含了所有常用的DSP模塊 共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計數(shù)學(xué)運算模塊 豐富的數(shù)學(xué)運算庫 包括基本四則運算、三角運算以及(yj)矩陣運算等 共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計存儲器模塊 包含(bohn)了所有Xilinx存

15、儲器的Logic Core 共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計共享儲存器模塊(m kui)主要用于共享存儲器操作 共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計工具模塊ModelSim、ChipScope、資源評估(pn )等模塊以及算法設(shè)計階段的濾波器設(shè)計等 共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計FPGA邊界定義模塊 通過兩個標(biāo)準(zhǔn)模塊“Gateway In”和“Gateway Out”來定義Simulink仿真(fn zhn)模型中FPGA的邊界;Gateway In模塊標(biāo)志著FPGA邊界

16、的開始,能夠?qū)⑤斎氲母↑c轉(zhuǎn)換成定點數(shù);Gateway Out模塊標(biāo)志著FPGA邊界的結(jié)束,將芯片的輸出數(shù)據(jù)轉(zhuǎn)換成雙精度數(shù)。 共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計System Generator標(biāo)志每個System Generator應(yīng)用框圖都必須(bx)至少包含一個System Generator標(biāo)志;用來驅(qū)動整個FPGA實現(xiàn)過程,不與任何模塊相連 ;打開屬性編輯框,能夠設(shè)置目標(biāo)網(wǎng)表、器件型號、目標(biāo)性能以及系統(tǒng)時鐘頻率等指標(biāo) 。 共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計建立簡易的DSP設(shè)計例 使用System Genera

17、tor建立一個3輸入(a、b、c)的DSP4模塊的計算電路,使得輸出p = c + a * b,并利用標(biāo)準(zhǔn)的Simulink模塊對延遲電路進(jìn)行功能驗證。1.建立一個新的Simulink模型,并保存為mydsp.mdl。 2.選擇Xilinx DSP48模塊,拖到mydsp.mdl;按照同樣的方法添加邊界定義模塊以及System Generator標(biāo)志(biozh)模塊。3. 添加Simulink標(biāo)準(zhǔn)庫中的常數(shù)模塊(Constant)和顯示器(Display)模塊。其中常數(shù)模塊用于向DSP計算電路灌數(shù)據(jù),作為測試激勵;顯示器則用于觀測輸出數(shù)據(jù)。共五十七頁基于System Generator的DS

18、P系統(tǒng)(xtng)設(shè)計4. 連接模塊Xilinx模塊之間的端口可以(ky)直接相互連接Xilinx模塊和非Xilinx模塊之間的連接需要Gateway連接共五十七頁基于(jy)System Generator的DSP系統(tǒng)設(shè)計5. 設(shè)定系統(tǒng)(xtng)參數(shù)多數(shù)選項與ISE開發(fā)中選項相同;“Create testbench”,自動生成設(shè)計的測試代碼。 共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計6.設(shè)置關(guān)鍵模塊參數(shù) Gataway In模塊屬性可查看輸入(shr)數(shù)據(jù)位寬和量化規(guī)則 共五十七頁基于(jy)System Generator的DSP系統(tǒng)設(shè)計7. 運行測試(

19、csh)激勵運行Simulink仿真,可以看到顯示器輸出為18,表明設(shè)計的功能是正確的。 8. 生成HDL代碼 共五十七頁基于(jy)System Generator的DSP系統(tǒng)設(shè)計相應(yīng)的文件夾“netlist sysgen”子目錄中“nonleaf_results.v”可作為(zuwi)子模塊直接使用生成的部分代碼段共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計System Generator中的信號類型 “Format” 菜單中的“Port/Signal Display Port Data Types”命令,來顯示所有端口的數(shù)據(jù)類型,形象顯示整個系統(tǒng)(xtng)

20、的數(shù)據(jù)精度??筛鶕?jù)輸入端口的數(shù)據(jù)類型來確定輸出數(shù)據(jù)類型 。允許設(shè)計人員自定義模塊的輸入、輸出數(shù)據(jù)的量化效果以及飽和處理。Simulink中的連續(xù)時間信號,還必須經(jīng)過“Gateway In”模塊的采樣轉(zhuǎn)換才能使用。 共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計自動代碼生成 System Generator能夠自動地將設(shè)計編譯為低級的HDL描述,且編譯方式多樣,取決于System Generator標(biāo)志中的設(shè)置。 還需要生成一些輔助下載(xi zi)的文件工程文件、約束文件等,以及用于驗證的測試代碼。詳見7.3.3節(jié)。 共五十七頁基于(jy)System Genera

21、tor的DSP系統(tǒng)設(shè)計編譯MATLAB設(shè)計生成FPGA代碼兩種方法將MATLAB設(shè)計.m文件轉(zhuǎn)化(zhunhu)為HDL設(shè)計 :利用AccelDSP綜合器 :多應(yīng)用于復(fù)雜或高速設(shè)計中,常用來完成高層次的IP核開發(fā)。 直接接利用MCode模塊:支持MATLAB語言的有限子集,實現(xiàn)算術(shù)運算、有限狀態(tài)機(jī)和邏輯控制等。要使用MCode模塊,必須實現(xiàn)編寫.m函數(shù),且代碼文件必須和System Generator模型文件放在同一個文件夾中,或者處于MATLAB路徑上的文件夾中。 共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計例 使用(shyng)MATLAB編寫一個簡單的移位寄

22、存器完成對輸入數(shù)據(jù)乘8以及除以4的操作,并使用(shyng)MCode將其編譯成System Generator直接可用的定點模塊。1相關(guān)的.m函數(shù)代碼為:共五十七頁基于System Generator的DSP系統(tǒng)(xtng)設(shè)計2. 新建System Generator設(shè)計,添加MCode模塊通過Browse按鍵將 .m函數(shù)和模型設(shè)計關(guān)聯(lián)(gunlin)起來 共五十七頁基于(jy)System Generator的DSP系統(tǒng)設(shè)計3. 添加邊界模塊(m kui)、Sytem Generator模塊(m kui)、正弦波測試激勵以及示波器模塊(m kui) 共五十七頁基于(jy)System G

23、enerator的DSP系統(tǒng)設(shè)計4.運行仿真,正確(zhngqu)實現(xiàn)了.m文件的功能。左圖將信號放大了8倍,右圖將信號縮小了4倍。 共五十七頁基于(jy)System Generator的DSP系統(tǒng)設(shè)計5. 自動(zdng)代碼生成共五十七頁基于(jy)System Generator的DSP系統(tǒng)設(shè)計子系統(tǒng)的建立和使用簡介 建立子系統(tǒng)的方法是利用NGC二進(jìn)制網(wǎng)表文件 ;將System Generator設(shè)計封裝成單獨的二進(jìn)制模塊,綜合工具將其作為黑盒子看待;管腳約束不能在Gataway模塊中定義(dngy);同樣時鐘管腳不能在System Generator模塊中定義;通過網(wǎng)表編輯器來指定物

24、理約束 。詳見7.3.5節(jié)。 共五十七頁基于(jy)System Generator的硬件協(xié)仿真硬件協(xié)仿真通過在硬件上模擬部分設(shè)計,大大提高仿真的速度(通??梢?ky)提高一個甚至多個數(shù)量級); 一旦將設(shè)計編譯成FPGA比特流文件,System Generator會自動創(chuàng)建一個新的硬件協(xié)仿真模塊,同時還會生成一個Simulink庫來存儲生成的模塊 。此部分相對復(fù)雜,通常為高級應(yīng)用所使用,請參考7.4節(jié)的使用方法。共五十七頁邏輯(lu j)與計算機(jī)設(shè)計基礎(chǔ)共五十七頁邏輯與計算機(jī)設(shè)計(shj)基礎(chǔ)第1章 數(shù)字計算機(jī)與信息1.1 數(shù)字計算機(jī)1.2 數(shù)值(shz)系統(tǒng)1.3 算術(shù)運算1.4 十進(jìn)制碼1

25、.5 格雷碼1.6 字母數(shù)字碼1.7 本章小結(jié)參考文獻(xiàn)習(xí)題共五十七頁邏輯(lu j)與計算機(jī)設(shè)計基礎(chǔ)第2章 組合邏輯電路2.1 二值邏輯和門2.2 布爾代數(shù)2.3 標(biāo)準(zhǔn)式2.4 兩級電路優(yōu)化2.5 卡諾圖化簡2.6 多級電路優(yōu)化2.7 其他的門類型2.8 異或操作符和異或門2.9 高阻輸出(shch)2.10 本章小結(jié)參考文獻(xiàn)習(xí)題共五十七頁邏輯(lu j)與計算機(jī)設(shè)計基礎(chǔ)第3章 組合邏輯設(shè)計3.1 設(shè)計的概念和設(shè)計自動化3.2 設(shè)計空間3.3 設(shè)計過程3.4 工藝映射3.5 驗證3.6 可編程實現(xiàn)技術(shù)(jsh)3.7 本章小結(jié)參考文獻(xiàn)習(xí)題共五十七頁邏輯(lu j)與計算機(jī)設(shè)計基礎(chǔ)第4章 組合函數(shù)及相應(yīng)電路4.1 組合電路4.2 基本的邏輯函數(shù)4.3 譯碼4.4 編碼(bin m)4.5 選取4.6 組合函數(shù)實現(xiàn)4.7 組合電路的HDL描述VHDL4.8 組合電路的HDL描述Verilog4.9 本章小結(jié)參考文獻(xiàn)習(xí)題共五十七頁邏輯與計算機(jī)設(shè)計(shj)基礎(chǔ)第5章 算術(shù)運算函數(shù)及相應(yīng)電路5.1 迭代式組合電路5.2 二進(jìn)制加法器5.3 二進(jìn)制減法5.4 二進(jìn)制加法減法器5.5 二進(jìn)制乘法5.6 其他算術(shù)運算函數(shù)5.7 HDL

溫馨提示

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

評論

0/150

提交評論