嵌入式SoC系統(tǒng)設計第58章ISE開發(fā)進階SoC原理與技術基礎基于SystemGenerator基于FPGA可編程嵌入式開發(fā)初步_第1頁
嵌入式SoC系統(tǒng)設計第58章ISE開發(fā)進階SoC原理與技術基礎基于SystemGenerator基于FPGA可編程嵌入式開發(fā)初步_第2頁
嵌入式SoC系統(tǒng)設計第58章ISE開發(fā)進階SoC原理與技術基礎基于SystemGenerator基于FPGA可編程嵌入式開發(fā)初步_第3頁
嵌入式SoC系統(tǒng)設計第58章ISE開發(fā)進階SoC原理與技術基礎基于SystemGenerator基于FPGA可編程嵌入式開發(fā)初步_第4頁
嵌入式SoC系統(tǒng)設計第58章ISE開發(fā)進階SoC原理與技術基礎基于SystemGenerator基于FPGA可編程嵌入式開發(fā)初步_第5頁
已閱讀5頁,還剩158頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

IPCore的使用ISE提供的IPCore面向復雜設計的軟核ISE版本的適用性XilinxFPGA芯片的適用性系統(tǒng)IPCore的生成在ISE的Project中直接生成ISE->Accessories->CoreGeneratorISE->Accessories->ArchitectureWizardIP參數(shù)化設計IPCore的使用方法1:定制ISE中一個已有的IPCore小寫IPCore的使用IPCore的使用定制同步FIFO Core為例IPCore使用說明IPCore的使用生成點擊GenerateISE的ModuleView窗口中出現(xiàn)所生成的IPCoreIPCore的使用例化生成IPCore后,工程所在文件夾下產(chǎn)生下列文件.xco是IPCore配置文件 例化的時候識別.xco.edn是網(wǎng)表文件.v和.vhd是模塊的封裝源代碼IPCore的使用方法2:CoreGeneratorIPCore的使用配置芯片配置IPCore的使用配置生成配置IPCore的使用配置高級配置IPCore的使用方法2:ArchitectureWizardIP復雜的IPCore生成,如DCMIPCore的使用例化產(chǎn)生的關鍵文件.ucf是約束文件.xaw是二進制的Core文件 (例化時和.xco的使用類似).v是模塊的封裝源代碼.ngc

二進制網(wǎng)表文件(根據(jù)綜合選項不同而生成)IPCore的使用IPCore端口聲明ViewHDLFunctionalModelIPCore的使用IPCore的說明IPCore生成后,添加到工程中被認為是黑盒子,不會被重新綜合;IPCore的可移植性與ISE的版本和芯片類型有關;部分IPCore是付費使用的。用戶IPCore的生成如何將自己的代碼封裝成一個IPCore?可以提供給他人使用,但不想被篡改或者開源方法:提供verilogwrapper文件(.v文件),只提供端口描述和參數(shù);提供.edn文件或者.ngc文件等同名的網(wǎng)表文件。用戶約束文件(UCF)UCF是項目實現(xiàn)不可缺少的部分UCF生成方法1NewSouce->ImplementationConstraintsFile模塊關聯(lián)非常重要用戶約束文件(UCF)UCF生成方法2UserConstraints用戶約束文件(UCF)UCF主要三個組成部分引腳約束:引腳位置和類型配置;面積約束:模塊的布局布線區(qū)域配置;時序約束:時鐘約束、關鍵路徑約束等。UCF語法:類似于一種腳本語言

{NET|INST|PIN}“Signal_name”Attribute圖形工具:PACE編輯器,約束編輯器參見教材4.4節(jié)自行學習用戶約束文件(UCF)引腳約束用戶約束文件(UCF)引腳約束引腳的參數(shù)可以進一步配置用戶約束文件(UCF)引腳約束配置成功后,打開.ucf文件用戶約束文件(UCF)面積約束將Logic的模塊指定到芯片的某個區(qū)域編輯一般不需要用戶約束文件(UCF)時鐘約束全局約束 必選,主要針對全局時鐘引腳時序約束 padtopad,clocktopad高級約束 分組約束,高級時序約束特定約束 特定約束(較少使用)語法規(guī)則較為復雜用戶約束文件(UCF)重新查看.ucf文件用戶約束文件(UCF)關于UCF文件的幾點說明UCF語法較為復雜,需要確切知道含義;圖形界面的選項可以自動轉換為UCF語句;如果要在FPGA上實現(xiàn),時鐘約束、引腳約束必填;UCF通常關聯(lián)頂層模塊,綜合選項中默認包含;UCF引腳配置要非常小心,嚴格遵照PCB圖和芯片手冊的要求,否則可能燒毀昂貴的FPGA芯片;某些特殊引腳約束或者復雜約束,只能通過UCF語句來生成;UCF編寫不正確,無法進行綜合以后的后續(xù)步驟。ISEimplementdesign配置Implement在綜合之后執(zhí)行,需要有.ucf文件包括Translate、Map、Place&Route屬性卡可以集中修改,也可以分項修改每個步驟都會生成分析報告詳細屬性配置參考教材4.3.3節(jié)ISEimplementdesign配置Translate屬性通常使用默認屬性生成.ngd文件所包含的三個工具 較少使用ISEimplementdesign配置Translate報告ISEimplementdesign配置Map屬性通常使用默認屬性主要需要調整的屬性:LUT輸入面積與速度IOB所包含的四個工具 較少使用ISEimplementdesign配置Map報告(很長,關注以下幾個部分)ISEimplementdesign配置Place&Route屬性主要需要調整的屬性:布線努力程度運行開銷表部分工具比較重要ISEimplementdesign配置Place&Route報告(也很長)靜態(tài)時序分析與布局布線后仿真靜態(tài)時序分析當布局布線效果不理想時使用產(chǎn)生布局布線靜態(tài)時序使用TimingAnalyzer進行分析靜態(tài)時序分析與布局布線后仿真錯誤時序會被標紅靜態(tài)時序分析與布局布線后仿真三種后仿真生成文件GeneratePost-TranslateSimulationModelxxx_translate.vGeneratePost-MapSimulationModel

xxx_map.v,xxx_map.sdfGeneratePost-Place&RouteSimulationModel主要使用布局布線后仿真xxx_timsim.v,xxx_timsim.sdf靜態(tài)時序分析與布局布線后仿真布局布線后仿真方法新建一個目錄,將編寫的仿真測試文件、xxx_timsim.v、xxx_timsim.sdf、glbl.v文件復制到此目錄下;(注意:一定不要編寫的源代碼,glbl.v在ISE根目錄/verilog/src下)如果使用了宏定義文件(.v)、其他仿真模型文件(.v)也添加進來;打開ModelSim,新建一個Project,添加上述文件;編譯所有文件;vsim-LXilinxCoreLib_ver-Lunisims_ver-Lsimprims_ver-t1ps+maxdelayssimulate_moduleglbl靜態(tài)時序分析與布局布線后仿真將uut(例化的源代碼頂層)添加到波形中靜態(tài)時序分析與布局布線后仿真后仿真也可以采用非命令行方法,請自行查閱相關資料;后仿真時間較長,與功能仿真可能相差幾個數(shù)量級的時間;如果源代碼較為龐大,生成后仿真模型的過程也會比較耗時。功耗分析XPower功耗分析在仿真文件中某個initial語句中需要增加

$dumpfile("design.VCD"); $dumpvars(1,test_v.uut);運行GeneratePowerData運行AnalyzePower功耗分析分析報告功耗分析XPower使用(后續(xù)部分參考教材4.3.5節(jié))FPGA的配置FPGA配置模式主模式 PROM配置(最終產(chǎn)品)從模式JTAG模式 主機配置(調試)JTAGJointTestActionGroup一種國際標準測試協(xié)議JTAG邊界掃描TDI、TDO、TMS、TCKVCC、GNDFPGA的配置JTAG下載電纜并口電纜ParallelIII 電路公開,可自行制作ParallelIVUSB電纜價格較為昂貴,速度和穩(wěn)定性遠優(yōu)于并口電纜JTAG配置電路參見教材5.3節(jié)自行學習菊花鏈FPGA的配置配置文件的生成PC調試的配置選項CCLK用于主模式PROM配置,內部產(chǎn)生JTAGCLOCK用于JTAG調試FPGA的配置配置文件的生成執(zhí)行生成.bit文件FPGA的配置啟動iMPACT選擇邊界掃描也可以取消 然后點擊 進行自動檢測FPGA的配置下載配置右鍵Program,選中生成的.bit文件下載成功后,提示“Success”FPGA的配置采用PROM配置FPGA生成的.bit文件需要轉換成.mcs文件下載到PROM中,PROM自動配置FPGA執(zhí)行FPGA的配置選擇所使用PROM芯片F(xiàn)PGA的配置選擇.bit文件轉換(注意:此時要用CCLK時鐘生成.bit)FPGA的配置JTAG菊花鏈FPGA的配置多片PROM配置FPGA的配置SystemACE配置可參考PROM配置教材5.3.6節(jié)SoC原理與設計基礎SoC基本概念SoC技術特點SoC設計的關鍵技術SoC發(fā)展趨勢基于FPGA的SoC應用技術片上總線嵌入式RISCCPU軟件無線電芯片級應用系統(tǒng)SoC基本概念SoC(SystemonChip)片上系統(tǒng)狹義:信息系統(tǒng)核心的芯片集成,將系統(tǒng)關鍵部件集成在一塊芯片上廣義:微小型系統(tǒng)SoC在集成電路(IC)向集成系統(tǒng)(IS)轉變大方向下產(chǎn)生

1994年Motorola的FlexCore系統(tǒng)1995年LSILogic公司為Sony公司設計的SoCSoC技術特點半導體工藝技術的系統(tǒng)集成軟件系統(tǒng)和硬件系統(tǒng)的集成SoC具有以下幾方面的優(yōu)勢,因而創(chuàng)造其產(chǎn)品價值與市場需求:降低耗電量減少體積增加系統(tǒng)功能提高速度節(jié)省成本SoC設計的關鍵技術總線架構IP核復用軟硬件協(xié)同設計SoC驗證可測性設計低功耗設計超深亞微米電路實現(xiàn)嵌入式軟件移植與開發(fā)SoC發(fā)展趨勢SoC芯片的規(guī)模一般遠大于普通的ASIC;SoC仿真與驗證最復雜、最耗時,先進的設計與仿真驗證方法成為SoC設計成功的關鍵;除了那些無法集成的外部電路或機械部分以外,其他所有的系統(tǒng)電路全部集成在一起;高度集成化、固件化;基于SoC開發(fā)平臺,最大程度系統(tǒng)重用?;贔PGA的SoC應用技術系統(tǒng)功能集成是SoC的核心技術固件集成是SoC的基礎設計思想嵌入式系統(tǒng)是SoC的基本結構IP是SoC的設計基礎片上總線IP核互連一般采用總線的方式,這種總線稱為片上總線(On-ChipBus,OCB)ARM公司的AMBA總線Altera公司Avalon總線IBM公司的CoreConnect總線OpenCore組織的Wishbone總線OpenCore組織的OPC總線片上總線AMBA總線AdvancedMicrocontrollerBusArchitectureARM公司設計的用于高性能嵌入式系統(tǒng)的總線標準,獨立于處理器和制造工藝技術片上總線AMBA總線AHB(AdvancedHighPerformanceBus)ASB(AdvancedSystemBus)APB(AdvancedPerpheralBus)片上總線AVALON總線Altera在推出業(yè)內第一個軟核Nios時開發(fā)的片上總線一種簡單的總線協(xié)議,規(guī)定了主部件和從部件之間進行連接的端口和通信的時序片上總線CoreConnect總線IBM公司設計的一種SoC總線協(xié)議,能夠使處理器、內存控制器和外設在基于標準產(chǎn)品平臺設計中的集成和復用更加靈活,從而提高系統(tǒng)性能。片上總線CoreConnect總線處理器局部總線PLB(ProeessorLocalBus):高速的CPU核、高速存儲器控制器、仲裁器、高速的DMA控制器等高性能、寬帶寬的設備都連接在PLB上。片內外設總線OPB(On-ChipPeripheralBus):低性能的設備都連接在OPB總線上。器件控制寄存器總線DCR(DeviceControlRegister):配置PLB和OPB主/從設備中的狀態(tài)寄存器和控制寄存器。片上總線Wishbone總線Silicore公司提出,現(xiàn)在已被移交給OpenCores組織維護結構十分簡單,它僅僅定義了一條高速總線用戶可以按需要自定義Wishbone標準,如字節(jié)對齊方式、標志位等片上總線Wishbone總線互連方式點到點(point-to-point):用于兩IP核直接互連;數(shù)據(jù)流(dataflow):用于多個串行IP核之間的數(shù)據(jù)并發(fā)傳輸;共享總線(sharedbus):多個IP核共享一條總線;交叉開關(crossbarswitch):同時連接多個主從部件,提高系統(tǒng)吞吐量。片上總線Wishbone總線WISHBONESystem-on-Chip(SoC)InterconnectionArchitectureforPortableIPCores片上總線典型主從設備連接單個讀周期單個寫周期片上總線BIGENDIAN片上總線LITTLEENDIAN嵌入式RISCCPUAlteraNois系列XilinxPowerPC(硬核)PicoBlaze(8位微處理器軟核)MicroBlaze(32位微處理器軟核,支持CoreConnect總線的標準外設集合)基于EDK開發(fā):EDK中提供的IP核均有相應的設備驅動和應用接口,只需利用相應函數(shù)庫,就可以編寫自己的應用軟件和算法程序;對于用戶自己開發(fā)的IP核,需要自己編寫相應的驅動和接口函數(shù)。嵌入式RISCCPUGaislerLeon系列(SparcV8架構,開源,完整的工具鏈)SunOpenSparc(SparcV9架構,開源)OpencoresOpenRiscZPU(最小的32位RISC軟核)幾十種CPU軟核軟件無線電軟件無線電(SoftwareRadio)在開放公共硬件平臺上利用可編程的軟件方法實現(xiàn)所需要的無線電系統(tǒng)?;舅枷耄簩拵?shù)變換器(A/D)及數(shù)模變換器(D/A)盡可能地靠近射頻天線(模擬信號的數(shù)字化過程盡可能地接近天線)通過軟件編程來完成傳送信息抽樣、量化、編碼/解碼、運算處理和變換。通過軟件編程實現(xiàn)不同的信道調制方式的選擇,如調幅、調頻、單邊帶、數(shù)據(jù)、跳頻和擴頻。通過軟件編程實現(xiàn)不同的保密結構、網(wǎng)絡協(xié)議和控制終端功能。軟件無線電軟件無線電AD->DSP->DAAD->DSP+FPGA->DAAD->FPGA->DA編程最終將向FPGA邏輯設計過渡,以嵌入式SoC系統(tǒng)為核心。芯片級應用系統(tǒng)FPGA的兩個走向高度并行專用電路設計追求高速度高度的電路優(yōu)化靈活的SoC系統(tǒng)設計追求靈活性、高性價比嵌入式CPU為核心的軟硬件協(xié)同設計SoC驗證芯片級應用系統(tǒng)通信(仍占據(jù)主流)衛(wèi)星通信、網(wǎng)絡交換工業(yè)控制(新興)取代傳統(tǒng)MCU汽車電子定位、識別、控制生物醫(yī)療醫(yī)療信息采集、大規(guī)模生物計算第七章基于SystemGenerator的

DSP系統(tǒng)開發(fā)技術SystemGenerator簡介SystemGenerator安裝SystemGenerator基礎Simulink簡介AccelDSP簡介基于SystemGenerator的DSP系統(tǒng)設計基于SystemGenerator的硬件協(xié)仿真SystemGenerator簡介FPGA是理想的高性能數(shù)字信號處理器件包含了邏輯資源,還有多路復用器、存儲器、硬核乘加單元以及內嵌的處理器等設備,還具備高度并行計算的能力;特別適合于完成數(shù)字濾波、快速傅立葉變換等。FPGA并未在數(shù)字信號處理領域獲得廣泛應用(??)大部分DSP設計者通常對C語言或MATBLAB工具很熟悉,不了解硬件描述語言VHDL和VerilogHDL;部分DSP工程師認為對HDL語言在語句可綜合方面的要求限制了其編寫算法的思路。SystemGenerator簡介SystemGeneratorforDSPXilinx簡化FPGA數(shù)字處理系統(tǒng)的集成開發(fā)工具;和Simulink(MathWorks公司產(chǎn)品)實現(xiàn)無縫鏈接,利用Simulink建模和仿真環(huán)境來實現(xiàn)FPGA設計,無需了解和使用RTL級硬件語言;Xilinx公司XtremeDSP解決方案的關鍵組成,集成了先進的FPGA設計工具以及IP核,支持Xilinx公司全系列的FPGA芯片;可作為MATLAB軟件中的一個硬件設計工具包。SystemGenerator簡介SystemGenerator簡介SystemGenerator的主要特征可在MATLAB/Simulink環(huán)境下對算法以及系統(tǒng)建模,并生成相應的工程;再調用ISE相應的組件進行仿真、綜合、實現(xiàn),并完成芯片的配置。SystemGenerator簡介SystemGenerator的主要特征豐富的DSP模塊信號處理(如FIR濾波器、FFT)糾錯(如Viterbi解碼器、Reed-Solomon編碼器/解碼器)算法存儲器(如FIFO、RAM、ROM)數(shù)字邏輯功能的Xilinx模塊集使用戶導入.m函數(shù)及HDL模塊Simulink設計的VHDL或Verilog的自動代碼生成硬件協(xié)仿真FPGA在環(huán)路(FPGA-in-the-loop),加速用戶的硬件驗證工作并加速其在Simulink與MATLAB中的仿真嵌入式系統(tǒng)的硬件/軟件協(xié)設計直接加載Xilinx公司的MicroBlaze32位RISC處理器,甚至構建和調試DSP協(xié)處理器SystemGenerator安裝軟件環(huán)境(以SystemGenerator9.1為例)MATLABv7.3/Simulinkv6.5(R2006b)或MATLABv7.4/Simulinkv6.6(R2007a)。MATLAB軟件的安裝路徑上不能出現(xiàn)空格。ISE版本為9.1.01i或者更高版本,ISESimulator的版本為完全版;SystemGenerator軟件版本必須和ISE版本一致。IP核庫的版本為ISEIP9.1iUpdate1或者更高版本。

系統(tǒng)環(huán)境變量$XILINX必須設置為ISE的安裝目錄。

綜合工具SynplifyPro的版本為v8.6.2或v8.8.0.4;仿真工具ModelSim的版本至少為PE或SEv6.1f以及更高版本。SystemGenerator安裝與MATLAB關聯(lián)SystemGenerator基礎典型的SystemGenerator設計流程浮點算法開發(fā)定點算法實現(xiàn)硬件系統(tǒng)設計代碼優(yōu)化SystemGenerator基礎浮點運算開發(fā)利用MATLAB軟件及其提供的工具包快速地完成浮點算法的開發(fā)、驗證以及性能評估;借助于Simulink可快速完成原型設計和模型分析。定點算法實現(xiàn)將MATLAB浮點算法通過AccelDSP在Xilinx器件上實現(xiàn)定點邏輯;AccelDSP直接將浮點MATLAB算法的M-文件自動生成可綜合的RTL模型,自動進行浮點-定點轉換,生成可綜合的VHDL或VerilogHDL設計,并創(chuàng)建用于驗證的測試平臺。SystemGenerator基礎硬件系統(tǒng)設計與實現(xiàn)定義使用XilinxIP的詳細硬件架構,采用SystemGeneratorforDSP劃分協(xié)處理器和可編程器件之間的設計;會生成下列文件:設計所對應的HDL程序代碼;時鐘處理模塊,包括系統(tǒng)時鐘處理操作以及生成設計中所需的不同頻率的時鐘信號;用于測試設計的HDL測試代碼,可直接將其仿真結果和Simulink輸出比較;工程文件以及綜合、實現(xiàn)過程所產(chǎn)生的各種腳本文件。SystemGenerator基礎代碼優(yōu)化利用ISERTL設計環(huán)境生成優(yōu)化的FPGA設計;不僅要熟悉算法的架構、瓶頸,還需精通RTL設計;屬于高級應用,直接對RTL進行修改和優(yōu)化。Simulink簡介Simulink是MATLAB的組件安裝程序會自動將其安裝到MATLAB目錄下;Simulink的運行需要MATLAB后臺的支持,因此必須要安裝MATLAB軟件。工具欄點擊或者命令啟動Simulink簡介Simulink工作原理模型初始化模型執(zhí)行一般模型是使用數(shù)值積分來進行仿真;仿真結束時,模型得出系統(tǒng)的輸入、狀態(tài)和輸出。Simulink設計示例例建立一個調幅(AM)系統(tǒng),信號頻率為100KMHz,載波頻率為1MHz,調幅系數(shù)為0.5,并在示波器中顯示出來。啟動Simulink;新建一個模型,“NewModel”命令新模型保存為am.mdl;從SimulinklibraryBrowser中加入基本模塊;連接各個模塊;在工具欄點擊運行(RUN)圖標,再直接點擊Scope模塊即可觀察運行結果。Simulink設計示例AccelDSP簡介AccelDSPAccelDSP是一款第三方綜合軟件,可將MATLAB浮點算法轉換成為可綜合RTL代碼;XilinxAccelDSP是目前業(yè)界唯一能夠將MATLAB浮點算法轉換成為可綜合RTL代碼的開發(fā)工具;自動地進行浮點-定點轉換,生成可綜合的VHDL或Verilog代碼,并創(chuàng)建用于驗證的測試平臺;可以生成定點C++模型或由MATLAB算法得到SystemGenerator塊;XilinxXtremeDSP解決方案的重要組成部分。AccelDSP簡介AccelWare包含一系列參數(shù)DSP模塊的IP庫;可以綜合成為RTL代碼(VHDL或Verilog)。AccelWareIP(包含三個專用工具箱)信號處理工具包:FIR濾波器、CIC抽取濾波器、CIC內插濾波器、多相抽取濾波器、半帶FIR濾波器、FFT以及IFFT等;

通信工具包:直接數(shù)字合成器、BCH編碼器和解碼器、卷積交織器和去交織器、卷積編碼器、Reed-Solomon編解碼器、Viterbi解碼器、開方升余弦濾波器、加擾器、解擾器以及ADC采樣-保持電路/正弦比較濾波器等;

高級數(shù)學運算工具包:QR分解法、Cholesky分解法、QR求逆、Cholesky求逆、三角形矩陣求逆、特定排列旋轉、多項式求值、奇異值分解以及QRD-RLS空間濾波器等。

基于SystemGenerator的DSP系統(tǒng)設計XilinxBlockset庫SystemGenerator和Simulink是無縫鏈接的,可以在MATLAB標準工具欄中直接啟動;在Simulink環(huán)境中,只有通過Xilinx模塊搭建的系統(tǒng)才能保證硬件可實現(xiàn),類似于HDL語言中的可綜合語句?;赟ystemGenerator的DSP系統(tǒng)設計SystemGenerator庫基于SystemGenerator的DSP系統(tǒng)設計基本單元模塊包含了數(shù)字邏輯的標準組件模塊;可插入時間延遲、改變信號速率、引入常數(shù)、計數(shù)器以及多路復用器等;包含了3個特殊的模塊SystemGenerator標志、黑盒子模塊(BlackBox)以及邊界定義模塊?;赟ystemGenerator的DSP系統(tǒng)設計通信模塊提供了用于實現(xiàn)數(shù)字通信的各種函數(shù)基于SystemGenerator的DSP系統(tǒng)設計控制邏輯模塊創(chuàng)建各種控制邏輯和狀態(tài)機的資源包括邏輯表達式、軟核控制器、復用器以及存儲器基于SystemGenerator的DSP系統(tǒng)設計數(shù)據(jù)類型模塊用于信號的數(shù)據(jù)類型轉換包括移位、量化、并/串、串/并轉換以及精度調整模塊基于SystemGenerator的DSP系統(tǒng)設計DSP模塊SystemGenerator的核心包含了所有常用的DSP模塊基于SystemGenerator的DSP系統(tǒng)設計數(shù)學運算模塊豐富的數(shù)學運算庫包括基本四則運算、三角運算以及矩陣運算等基于SystemGenerator的DSP系統(tǒng)設計存儲器模塊包含了所有Xilinx存儲器的LogicCore基于SystemGenerator的DSP系統(tǒng)設計共享儲存器模塊主要用于共享存儲器操作基于SystemGenerator的DSP系統(tǒng)設計工具模塊ModelSim、ChipScope、資源評估等模塊以及算法設計階段的濾波器設計等基于SystemGenerator的DSP系統(tǒng)設計FPGA邊界定義模塊通過兩個標準模塊“GatewayIn”和“GatewayOut”來定義Simulink仿真模型中FPGA的邊界;GatewayIn模塊標志著FPGA邊界的開始,能夠將輸入的浮點轉換成定點數(shù);GatewayOut模塊標志著FPGA邊界的結束,將芯片的輸出數(shù)據(jù)轉換成雙精度數(shù)?;赟ystemGenerator的DSP系統(tǒng)設計SystemGenerator標志每個SystemGenerator應用框圖都必須至少包含一個SystemGenerator標志;用來驅動整個FPGA實現(xiàn)過程,不與任何模塊相連;打開屬性編輯框,能夠設置目標網(wǎng)表、器件型號、目標性能以及系統(tǒng)時鐘頻率等指標?;赟ystemGenerator的DSP系統(tǒng)設計建立簡易的DSP設計例使用SystemGenerator建立一個3輸入(a、b、c)的DSP4模塊的計算電路,使得輸出p=c+a*b,并利用標準的Simulink模塊對延遲電路進行功能驗證。1.建立一個新的Simulink模型,并保存為mydsp.mdl。2.選擇XilinxDSP48模塊,拖到mydsp.mdl;按照同樣的方法添加邊界定義模塊以及SystemGenerator標志模塊。3.添加Simulink標準庫中的常數(shù)模塊(Constant)和顯示器(Display)模塊。其中常數(shù)模塊用于向DSP計算電路灌數(shù)據(jù),作為測試激勵;顯示器則用于觀測輸出數(shù)據(jù)?;赟ystemGenerator的DSP系統(tǒng)設計4.連接模塊Xilinx模塊之間的端口可以直接相互連接Xilinx模塊和非Xilinx模塊之間的連接需要Gateway連接基于SystemGenerator的DSP系統(tǒng)設計5.設定系統(tǒng)參數(shù)多數(shù)選項與ISE開發(fā)中 選項相同;“Createtestbench”, 自動生成設計的測試 代碼。基于SystemGenerator的DSP系統(tǒng)設計6.設置關鍵模塊參數(shù)

GatawayIn模塊屬性可查看輸入數(shù)據(jù)位寬和量化規(guī)則基于SystemGenerator的DSP系統(tǒng)設計7.運行測試激勵運行Simulink仿真,可以看到顯示器輸出為18,表明設計的功能是正確的。8.生成HDL代碼基于SystemGenerator的DSP系統(tǒng)設計相應的文件夾“netlistsysgen”

子目錄中“nonleaf_results.v”可作為子模塊直接使用生成的部分代碼段基于SystemGenerator的DSP系統(tǒng)設計SystemGenerator中的信號類型“Format”菜單中的“Port/SignalDisplayPortDataTypes”命令,來顯示所有端口的數(shù)據(jù)類型,形象顯示整個系統(tǒng)的數(shù)據(jù)精度??筛鶕?jù)輸入端口的數(shù)據(jù)類型來確定輸出數(shù)據(jù)類型。允許設計人員自定義模塊的輸入、輸出數(shù)據(jù)的量化效果以及飽和處理。Simulink中的連續(xù)時間信號,還必須經(jīng)過“GatewayIn”模塊的采樣轉換才能使用。

基于SystemGenerator的DSP系統(tǒng)設計自動代碼生成SystemGenerator能夠自動地將設計編譯為低級的HDL描述,且編譯方式多樣,取決于SystemGenerator標志中的設置。還需要生成一些輔助下載的文件工程文件、約束文件等,以及用于驗證的測試代碼。詳見7.3.3節(jié)?;赟ystemGenerator的DSP系統(tǒng)設計編譯MATLAB設計生成FPGA代碼兩種方法將MATLAB設計.m文件轉化為HDL設計:利用AccelDSP綜合器:多應用于復雜或高速設計中,常用來完成高層次的IP核開發(fā)。直接接利用MCode模塊:支持MATLAB語言的有限子集,實現(xiàn)算術運算、有限狀態(tài)機和邏輯控制等。要使用MCode模塊,必須實現(xiàn)編寫.m函數(shù),且代碼文件必須和SystemGenerator模型文件放在同一個文件夾中,或者處于MATLAB路徑上的文件夾中?;赟ystemGenerator的DSP系統(tǒng)設計例使用MATLAB編寫一個簡單的移位寄存器完成對輸入數(shù)據(jù)乘8以及除以4的操作,并使用MCode將其編譯成SystemGenerator直接可用的定點模塊。1.相關的.m函數(shù)代碼為:基于SystemGenerator的DSP系統(tǒng)設計2.新建SystemGenerator設計,添加MCode模塊通過Browse按鍵 將.m函數(shù)和模型 設計關聯(lián)起來

基于SystemGenerator的DSP系統(tǒng)設計3.添加邊界模塊、SytemGenerator模塊、正弦波測試激勵以及示波器模塊基于SystemGenerator的DSP系統(tǒng)設計4.運行仿真,正確實現(xiàn)了.m文件的功能。左圖將信號放大了8倍,右圖將信號縮小了4倍。基于SystemGenerator的DSP系統(tǒng)設計5.自動代碼生成基于SystemGenerator的DSP系統(tǒng)設計子系統(tǒng)的建立和使用簡介建立子系統(tǒng)的方法是利用NGC二進制網(wǎng)表文件;將SystemGenerator設計封裝成單獨的二進制模塊,綜合工具將其作為黑盒子看待;管腳約束不能在Gataway模塊中定義;同樣時鐘管腳不能在SystemGenerator模塊中定義;通過網(wǎng)表編輯器來指定物理約束。詳見7.3.5節(jié)。基于SystemGenerator的硬件協(xié)仿真硬件協(xié)仿真通過在硬件上模擬部分設計,大大提高仿真的速度(通??梢蕴岣咭粋€甚至多個數(shù)量級);一旦將設計編譯成FPGA比特流文件,SystemGenerator會自動創(chuàng)建一個新的硬件協(xié)仿真模塊,同時還會生成一個Simulink庫來存儲生成的模塊。此部分相對復雜,通常為高級應用所使用,請參考7.4節(jié)的使用方法。第八章基于FPGA的可編程嵌入式開發(fā)初步可配置嵌入式系統(tǒng)Xilinx嵌入式開發(fā)系統(tǒng)MicroBlazePowerPCIP和及驅動EDK軟件XPS軟件的基本操作可配置嵌入式系統(tǒng)FPGA在嵌入式系統(tǒng)中獲得廣泛應用狀態(tài)機模式:可以無外設、無總線結構和無實時操作系統(tǒng),達到最低的成本,應用于VGA、LCD控制等,根據(jù)用戶設計可達到不同的性能。

單片機模式:包括一定的外設,可以利用實時操作系統(tǒng)和總線結構,以中等的成本,應用于控制和儀表,達到中等的性能。定制嵌入模式:高度集成擴充的外設,實時操作系統(tǒng)和總線結構,達到高性能,應用于網(wǎng)絡和無線通信等。

采用90nm生產(chǎn)工藝之后,F(xiàn)PGA器件處理能力更強,且成本低、功耗少,已取代了相當數(shù)量的中小規(guī)模ASIC器件和處理器,使嵌入式系統(tǒng)具備片上系統(tǒng)(SOC)的規(guī)模和動態(tài)可編程的能力,具有明顯的優(yōu)勢,成為嵌入式應用的主力軍之一??膳渲们度胧较到y(tǒng)Xilinx解決方案PicoBlaze:8位處理器軟核,用匯編語言編寫的程序經(jīng)過編譯后放入FPGA的BlockRam存儲區(qū)。MicroBlaze:32位流水線RISC結構,包含32個32位通用寄存器和1個可選的32位移位寄存器,時鐘可達150MHz。PowerPC:32位PowerPC嵌入式環(huán)境架構。VirtexIIPro、Virtex4、Virtex5系列部分芯片中集成了2~4個PowerPC405處理器核??膳渲们度胧较到y(tǒng)開發(fā)工具嵌入式開發(fā)套件(EDK):用于設計嵌入式可編程系統(tǒng)的全面的解決方案,該套件包括了嵌入式軟件工具(PlatformStudio)以及嵌入式IBMPowerPC硬件處理器核和/或XilinxMicroBlaze軟處理器核進行Xilinx平臺FPGA設計時所需的技術文檔和IP。Xilinx公司提供了大量的硬件平臺(評估板),提供了大量的軟、硬件設計參考。Xilinx嵌入式開發(fā)系統(tǒng)MicroBlaze支持CoreConnect總線的標準外設集合;RISC架構,哈佛結構32位指令和數(shù)據(jù)總線最精簡的核只需要將近400個Slice。Xilinx嵌入式開發(fā)系統(tǒng)MicroBlaze通用寄存器特殊寄存器PC、MSRXilinx嵌入式開發(fā)系統(tǒng)MicroBlaze指令集A型指令:兩個源寄存器和一個目的寄存器,完成寄存器到寄存器間的數(shù)據(jù)運算;B型指令:一個源寄存器、一個目的寄存器和一個16位的立即數(shù),進行寄存器和立即數(shù)間的數(shù)據(jù)運算。Xilinx嵌入式開發(fā)系統(tǒng)MicroBlaze三級流水Xilinx嵌入式開發(fā)系統(tǒng)PowerPC采用CoreConnect技術,可運行在100-133MHz的高帶寬64位總線;獨立的指令緩存和數(shù)據(jù)緩存、1個JTAG端口、TraceFIFO、多個定時器和一個內存管理單元(MMU);集成了輔助處理器單元控制器(APU),可直接控制FPGA架構內的硬件指令協(xié)處理;不占用FPGA內部任何邏輯資源。Xilinx嵌入式開發(fā)系統(tǒng)Xilinx嵌入式開發(fā)系統(tǒng)PowerPC通用寄存器Xilinx嵌入式開發(fā)系統(tǒng)PowerPC專用寄存器:計數(shù)寄存器、連接寄存器、調試資源、計數(shù)器、中斷寄存器等。多數(shù)是應用程序不能訪問的。機器狀態(tài)寄存器:處理器的工作狀態(tài),允許用戶修改。條件寄存器:可分為8個區(qū)域(CR0-CR7),每區(qū)域包含4個比特,可用于控制所有的條件分支。應用軟件可訪問所有的CR數(shù)值。芯片控制寄存器:配置、控制和讀取外部處理器,可在特殊軟件中通過mtdcr和mfdcr指令來訪問。

Xilinx嵌入式開發(fā)系統(tǒng)PowerPC指令集執(zhí)行指令的速度接近每周期執(zhí)行一條指令

Xilinx嵌入式開發(fā)系統(tǒng)PowerPC五級流水取指、譯碼、執(zhí)行、寫回、加載寫回Xilinx嵌入式開發(fā)系統(tǒng)常用的IP核以及設備驅動通用I/O設備中斷控制器設備定時器外部存儲器控制器以太網(wǎng)、串口等

溫馨提示

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

最新文檔

評論

0/150

提交評論