FPGA器件的開(kāi)發(fā)平臺(tái)與MATLAB接口仿真_第1頁(yè)
FPGA器件的開(kāi)發(fā)平臺(tái)與MATLAB接口仿真_第2頁(yè)
FPGA器件的開(kāi)發(fā)平臺(tái)與MATLAB接口仿真_第3頁(yè)
FPGA器件的開(kāi)發(fā)平臺(tái)與MATLAB接口仿真_第4頁(yè)
FPGA器件的開(kāi)發(fā)平臺(tái)與MATLAB接口仿真_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、FPGA器件的開(kāi)發(fā)平臺(tái)與MATLAB接口仿真引言 現(xiàn)場(chǎng)可編程邏輯門(mén)陣列FPGA器件的出現(xiàn)是超大規(guī)模集成電路技術(shù)和計(jì)算機(jī)輔助設(shè)計(jì)技術(shù)發(fā)展的結(jié)果。FPGA器件集成度高、體積小,具有通過(guò)用戶(hù)編程實(shí)現(xiàn)專(zhuān)門(mén)應(yīng)用功能。它允許電路設(shè)計(jì)者利用基于計(jì)算機(jī)的開(kāi)發(fā)平臺(tái),經(jīng)過(guò)設(shè)計(jì)輸入、仿真、測(cè)試和校驗(yàn),直到達(dá)到預(yù)期的結(jié)果。目前使用最多的Quartus II 軟件支持幾乎所有的EDA工具,并且可以通過(guò)命令行或Tcl腳本與第三方EDA工具之間進(jìn)行無(wú)縫連接。但在很多工程設(shè)計(jì)應(yīng)用中,由FPGA器件完成的主程序中只完成大量的數(shù)學(xué)運(yùn)算,程序調(diào)試時(shí)以二進(jìn)制輸出的信號(hào)可視性差,給設(shè)計(jì)人員進(jìn)行仿真、調(diào)試帶來(lái)了很多不便。對(duì)于很多工程設(shè)計(jì)

2、人員來(lái)說(shuō)MATLAB是一種熟悉的具有強(qiáng)大的運(yùn)算功能和波形仿真、分析功能的軟件,如果能將FPGA與MATLAB接口,就可以快速、準(zhǔn)確、直觀地對(duì)FPGA程序進(jìn)行校驗(yàn)和仿真,尤其在波形信號(hào)處理等工程應(yīng)用領(lǐng)域具有實(shí)際意義。Quartus II 開(kāi)發(fā)軟件Altera公司的QuartusII軟件提供了可編程片上系統(tǒng)(SOPC)設(shè)計(jì)的一個(gè)綜合開(kāi)發(fā)環(huán)境。Quartus II 開(kāi)發(fā)工具人機(jī)界面友好、易于使用、性能優(yōu)良,并自帶編譯、仿真功能。QuartusII軟件支持VHDL和Verilog硬件描述語(yǔ)言的設(shè)計(jì)輸入、基于圖形的設(shè)計(jì)輸入方式以及集成系統(tǒng)級(jí)設(shè)計(jì)工具。QuartusII軟件可以將設(shè)計(jì)、綜合、布局和布線(xiàn)以及

3、系統(tǒng)的驗(yàn)證全部都整合到一個(gè)無(wú)縫的環(huán)境之中,其中也包括和第三方EDA工具的接口。QuartusII設(shè)計(jì)軟件根據(jù)設(shè)計(jì)者需要提供了一個(gè)完整的多平臺(tái)開(kāi)發(fā)環(huán)境,它包含整個(gè)FPGA和CPLD設(shè)計(jì)階段的解決方案。圖1說(shuō)明了QuartusII軟件的開(kāi)發(fā)流程。在實(shí)際應(yīng)用設(shè)計(jì)中,對(duì)程序原理性及可執(zhí)行性的驗(yàn)證主要集中在程序修改階段,尤其在處理的數(shù)據(jù)復(fù)雜、繁多時(shí),Quartus II自帶的波形輸入仿真就很難實(shí)現(xiàn)程序的驗(yàn)證,而且輸出的數(shù)據(jù)不能方便的以波形圖示直觀的呈現(xiàn),給程序設(shè)計(jì)者在校驗(yàn)程序階段帶來(lái)了很多的不便。再有,在很多數(shù)字電路設(shè)計(jì)中,考慮成本的問(wèn)題,F(xiàn)PGA實(shí)現(xiàn)的往往是設(shè)計(jì)的核心部分,而很多的外圍電路如A/D轉(zhuǎn)換

4、器、D/A轉(zhuǎn)換器等仍然使用傳統(tǒng)的接口芯片來(lái)實(shí)現(xiàn)。而QuartusII 設(shè)計(jì)只是針對(duì)數(shù)字信號(hào),并不支持模擬量的輸入。而僅僅為了便于程序的驗(yàn)證而用FPGA實(shí)現(xiàn)這些外圍電路,不但會(huì)大大延長(zhǎng)程序的開(kāi)發(fā)周期,更會(huì)增大開(kāi)發(fā)的成本。而MATLAB具有強(qiáng)大的運(yùn)算功能,可以容易的實(shí)現(xiàn)A/D、D/A轉(zhuǎn)換等外圍電路功能,并能以波形形式將結(jié)果直觀地呈現(xiàn),極大地方便了程序設(shè)計(jì)人員設(shè)計(jì)應(yīng)用系統(tǒng)。 QuartusII與Matlab的接口實(shí)現(xiàn)接口原理VHDL程序從根本上講就是將一些現(xiàn)有的數(shù)據(jù)進(jìn)行處理,并輸出預(yù)期的數(shù)據(jù)。QuartusII 軟件的波形文件(.vwf文件)可以根據(jù)設(shè)計(jì)人員的要求靈活輸入。但在大多數(shù)情況下需要仿真的

5、波形數(shù)據(jù)數(shù)量龐大,這樣的輸入方式就明顯不能滿(mǎn)足仿真的要求了。而上述提到的一些外圍電路的作用也是將需要處理的數(shù)據(jù)輸入到程序中,并將處理過(guò)的數(shù)據(jù)輸出到指定的裝置。根據(jù)這一原理,用一個(gè)輸入、輸出寄存器就可以方便的實(shí)現(xiàn)與MATLAB之間的接口了。QuartusII工具中提供了很多種類(lèi)的寄存器宏模塊,并能根據(jù)用戶(hù)的要求進(jìn)行編輯。使用這些宏模塊可以很容易地實(shí)現(xiàn)與MATLAB之間的接口。下面就是幾種RAM宏模塊:接口的實(shí)現(xiàn) 數(shù)據(jù)的輸入很多FPGA程序在仿真時(shí),需要輸入特定條件下的數(shù)值。程序設(shè)計(jì)時(shí),可以在輸入端口前加一個(gè)預(yù)置的存儲(chǔ)器,那么初始數(shù)據(jù)的輸入就變成了該寄存器的初始化。一般情況下,這些初始數(shù)據(jù)很容易用

6、MATLAB軟件經(jīng)過(guò)計(jì)算實(shí)現(xiàn)。QuartusII中提供了兩種寄存器的初始文件格式,.mif文件和.hex文件。由MATLAB生成的數(shù)據(jù)可以方便的根據(jù)指定路徑加載到寄存器模塊中。數(shù)據(jù)的輸出數(shù)據(jù)輸出和數(shù)據(jù)輸入的原理是相同的。將寄存器中的.mif文件或.hex文件導(dǎo)出,并加載到MATLAB中相應(yīng)的變量中,MATLAB的波形仿真功能就可使設(shè)計(jì)人員方便直觀地觀察程序結(jié)果了,這樣大大地方便了設(shè)計(jì)人員在設(shè)計(jì)早期對(duì)程序進(jìn)行校驗(yàn)。 應(yīng)用舉例這里以一個(gè)簡(jiǎn)單的FFT諧波分析過(guò)程的設(shè)計(jì)為例,說(shuō)明如何在FPGA設(shè)計(jì)中靈活地應(yīng)用MATLAB來(lái)完成設(shè)計(jì)的初步仿真和驗(yàn)證。FPGA的快速運(yùn)算雖然能更好的實(shí)現(xiàn)了FFT,但大多數(shù)F

7、FT設(shè)計(jì)并不能預(yù)知處理對(duì)象的準(zhǔn)確波形,而QuartusII更不能提供直觀的結(jié)果觀察。為了驗(yàn)證設(shè)計(jì)的可行性,在設(shè)計(jì)時(shí),在輸入、輸出端分別設(shè)置一個(gè)數(shù)據(jù)存儲(chǔ)器,數(shù)據(jù)存入的時(shí)序可以根據(jù)設(shè)計(jì)的要求靈活控制,存儲(chǔ)需要的數(shù)據(jù)。需要注意的一點(diǎn)就是,對(duì)于大量數(shù)據(jù)的波形驗(yàn)證,存儲(chǔ)器的加入會(huì)使設(shè)計(jì)的資源變大,初步驗(yàn)證時(shí)需使用比預(yù)計(jì)的容量大的器件。在程序的初步驗(yàn)證之后,就可以在預(yù)定的器件中進(jìn)行編譯配置,然后進(jìn)行進(jìn)一步的調(diào)試。 程序設(shè)計(jì)如圖2所示,程序設(shè)計(jì)大致分為四個(gè)模塊,主程序模塊、輸入存儲(chǔ)器、輸出存儲(chǔ)器以及控制模塊。主程序模塊是FFT的設(shè)計(jì)程序,來(lái)完成預(yù)期的數(shù)據(jù)處理,而輸入、輸出存儲(chǔ)器則為與Matlab的接口程序,

8、控制模塊則控制數(shù)據(jù)的輸入、輸出,也即是接口模塊的控制。接口的設(shè)計(jì) 假設(shè)設(shè)計(jì)時(shí)的A/D接口采樣頻率為50kHz,即一個(gè)周期內(nèi)的采樣點(diǎn)數(shù)為1000點(diǎn)。在MATLAB中可以很容易的實(shí)現(xiàn)公式(1)所示的信號(hào)的A/D采樣。根據(jù)采樣要求,就可以確定輸入存儲(chǔ)器的容量為12 1000bit。將MATLAB中生成的目標(biāo)向量以相應(yīng)的二進(jìn)制表示,并導(dǎo)入到該輸入存儲(chǔ)器中,就完成了輸入存儲(chǔ)器的初始化。所得的結(jié)果輸出原理亦同,在MATLAB中建立大小相當(dāng)?shù)南蛄?,將輸出存?chǔ)器中的數(shù)據(jù)導(dǎo)入到該向量就可以直觀的形式觀察輸出的結(jié)果。那么設(shè)計(jì)中的關(guān)鍵問(wèn)題主要就集中在了控制模塊的設(shè)計(jì)。該模塊的時(shí)序必須與外圍電路時(shí)序、主程序中的時(shí)序相匹配,以達(dá)到逼真模擬真實(shí)A/D等外圍電路的作用。結(jié)果仿真 任意取兩個(gè)不同的輸入信號(hào)如下:按照上述的程序設(shè)計(jì)流程,可以由FPGA快速計(jì)算得到任意波形的FFT處理結(jié)果,并以直觀的結(jié)果方便程序設(shè)計(jì)人員的初步程序調(diào)試。結(jié)論FPGA器件的最大的優(yōu)勢(shì)就是具有更快的速度、更

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論