<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > FPGA器件的開發(fā)平臺與MATLAB接口仿真

          FPGA器件的開發(fā)平臺與MATLAB接口仿真

          ——
          作者:中南財經(jīng)政法大學(xué)信息學(xué)院周巍 武漢大學(xué)電氣工程學(xué)院 張志杰 時間:2007-01-26 來源:《世界電子元器件》 收藏

          引言
          現(xiàn)場可編程邏輯門陣列fpga器件的出現(xiàn)是超大規(guī)模集成電路技術(shù)和計算機輔助設(shè)計技術(shù)發(fā)展的結(jié)果。fpga器件集成度高、體積小,具有通過用戶編程實現(xiàn)專門應(yīng)用功能。它允許電路設(shè)計者利用基于計算機的開發(fā)平臺,經(jīng)過設(shè)計輸入、仿真、測試和校驗,直到達(dá)到預(yù)期的結(jié)果。目前使用最多的quartus ii 軟件支持幾乎所有的eda工具,并且可以通過命令行或tcl腳本與第三方eda工具之間進行無縫連接。但在很多工程設(shè)計應(yīng)用中,由fpga器件完成的主程序中只完成大量的數(shù)學(xué)運算,程序調(diào)試時以二進制輸出的信號可視性差,給設(shè)計人員進行仿真、調(diào)試帶來了很多不便。對于很多工程設(shè)計人員來說matlab是一種熟悉的具有強大的運算功能和波形仿真、分析功能的軟件,如果能將fpga與matlab接口,就可以快速、準(zhǔn)確、直觀地對fpga程序進行校驗和仿真,尤其在波形信號處理等工程應(yīng)用領(lǐng)域具有實際意義。

          本文引用地址:http://www.ex-cimer.com/article/20789.htm


          quartus ii 開發(fā)軟件

          altera公司的quartusii軟件提供了可編程片上系統(tǒng)(sopc)設(shè)計的一個綜合開發(fā)環(huán)境。quartus ii 開發(fā)工具人機界面友好、易于使用、性能優(yōu)良,并自帶編譯、仿真功能。quartusii軟件支持vhdl和verilog硬件描述語言的設(shè)計輸入、基于圖形的設(shè)計輸入方式以及集成系統(tǒng)級設(shè)計工具。quartusii軟件可以將設(shè)計、綜合、布局和布線以及系統(tǒng)的驗證全部都整合到一個無縫的環(huán)境之中,其中也包括和第三方eda工具的接口。quartusii設(shè)計軟件根據(jù)設(shè)計者需要提供了一個完整的多平臺開發(fā)環(huán)境,它包含整個fpga和cpld設(shè)計階段的解決方案。圖1說明了quartusii軟件的開發(fā)流程。

          在實際應(yīng)用設(shè)計中,對程序原理性及可執(zhí)行性的驗證主要集中在程序修改階段,尤其在處理的數(shù)據(jù)復(fù)雜、繁多時,quartus ii自帶的波形輸入仿真就很難實現(xiàn)程序的驗證,而且輸出的數(shù)據(jù)不能方便的以波形圖示直觀的呈現(xiàn),給程序設(shè)計者在校驗程序階段帶來了很多的不便。再有,在很多數(shù)字電路設(shè)計中,考慮成本的問題,fpga實現(xiàn)的往往是設(shè)計的核心部分,而很多的外圍電路如a/d轉(zhuǎn)換器、d/a轉(zhuǎn)換器等仍然使用傳統(tǒng)的接口芯片來實現(xiàn)。而quartusii 設(shè)計只是針對數(shù)字信號,并不支持模擬量的輸入。而僅僅為了便于程序的驗證而用fpga實現(xiàn)這些外圍電路,不但會大大延長程序的開發(fā)周期,更會增大開發(fā)的成本。而matlab具有強大的運算功能,可以容易的實現(xiàn)a/d、d/a轉(zhuǎn)換等外圍電路功能,并能以波形形式將結(jié)果直觀地呈現(xiàn),極大地方便了程序設(shè)計人員設(shè)計應(yīng)用系統(tǒng)。


          quartusii與matlab的接口實現(xiàn)

          接口原理

          vhdl程序從根本上講就是將一些現(xiàn)有的數(shù)據(jù)進行處理,并輸出預(yù)期的數(shù)據(jù)。quartusii 軟件的波形文件(.vwf文件)可以根據(jù)設(shè)計人員的要求靈活輸入。但在大多數(shù)情況下需要仿真的波形數(shù)據(jù)數(shù)量龐大,這樣的輸入方式就明顯不能滿足仿真的要求了。而上述提到的一些外圍電路的作用也是將需要處理的數(shù)據(jù)輸入到程序中,并將處理過的數(shù)據(jù)輸出到指定的裝置。根據(jù)這一原理,用一個輸入、輸出寄存器就可以方便的實現(xiàn)與matlab之間的接口了。quartusii工具中提供了很多種類的寄存器宏模塊,并能根據(jù)用戶的要求進行編輯。使用這些宏模塊可以很容易地實現(xiàn)與matlab之間的接口。下面就是幾種ram宏模塊:

          接口的實現(xiàn)

          數(shù)據(jù)的輸入

          很多fpga程序在仿真時,需要輸入特定條件下的數(shù)值。程序設(shè)計時,可以在輸入端口前加一個預(yù)置的存儲器,那么初始數(shù)據(jù)的輸入就變成了該寄存器的初始化。一般情況下,這些初始數(shù)據(jù)很容易用matlab軟件經(jīng)過計算實現(xiàn)。quartusii中提供了兩種寄存器的初始文件格式,.mif文件和.hex文件。由matlab生成的數(shù)據(jù)可以方便的根據(jù)指定路徑加載到寄存器模塊中。

          數(shù)據(jù)的輸出

          數(shù)據(jù)輸出和數(shù)據(jù)輸入的原理是相同的。將寄存器中的.mif文件或.hex文件導(dǎo)出,并加載到matlab中相應(yīng)的變量中,matlab的波形仿真功能就可使設(shè)計人員方便直觀地觀察程序結(jié)果了,這樣大大地方便了設(shè)計人員在設(shè)計早期對程序進行校驗。


          應(yīng)用舉例

          這里以一個簡單的fft諧波分析過程的設(shè)計為例,說明如何在fpga設(shè)計中靈活地應(yīng)用matlab來完成設(shè)計的初步仿真和驗證。fpga的快速運算雖然能更好的實現(xiàn)了fft,但大多數(shù)fft設(shè)計并不能預(yù)知處理對象的準(zhǔn)確波形,而quartusii更不能提供直觀的結(jié)果觀察。為了驗證設(shè)計的可行性,在設(shè)計時,在輸入、輸出端分別設(shè)置一個數(shù)據(jù)存儲器,數(shù)據(jù)存入的時序可以根據(jù)設(shè)計的要求靈活控制,存儲需要的數(shù)據(jù)。需要注意的一點就是,對于大量數(shù)據(jù)的波形驗證,存儲器的加入會使設(shè)計的資源變大,初步驗證時需使用比預(yù)計的容量大的器件。在程序的初步驗證之后,就可以在預(yù)定的器件中進行編譯配置,然后進行進一步的調(diào)試。 程序設(shè)計

          如圖2所示,程序設(shè)計大致分為四個模塊,主程序模塊、輸入存儲器、輸出存儲器以及控制模塊。主程序模塊是fft的設(shè)計程序,來完成預(yù)期的數(shù)據(jù)處理,而輸入、輸出存儲器則為與matlab的接口程序,控制模塊則控制數(shù)據(jù)的輸入、輸出,也即是接口模塊的控制。

          接口的設(shè)計

          假設(shè)設(shè)計時的a/d接口采樣頻率為50khz,即一個周期內(nèi)的采樣點數(shù)為1000點。在matlab中可以很容易的實現(xiàn)公式(1)所示的信號的a/d采樣。根據(jù)采樣要求,就可以確定輸入存儲器的容量為12 1000bit。將matlab中生成的目標(biāo)向量以相應(yīng)的二進制表示,并導(dǎo)入到該輸入存儲器中,就完成了輸入存儲器的初始化。所得的結(jié)果輸出原理亦同,在matlab中建立大小相當(dāng)?shù)南蛄浚瑢⑤敵龃鎯ζ髦械臄?shù)據(jù)導(dǎo)入到該向量就可以直觀的形式觀察輸出的結(jié)果。那么設(shè)計中的關(guān)鍵問題主要就集中在了控制模塊的設(shè)計。該模塊的時序必須與外圍電路時序、主程序中的時序相匹配,以達(dá)到逼真模擬真實a/d等外圍電路的作用。


          結(jié)果仿真

          任意取兩個不同的輸入信號如下:

          按照上述的程序設(shè)計流程,可以由fpga快速計算得到任意波形的fft處理結(jié)果,并以直觀的結(jié)果方便程序設(shè)計人員的初步程序調(diào)試。


          結(jié)論

          fpga器件的最大的優(yōu)勢就是具有更快的速度、更靈活的控制方式及現(xiàn)場可編程功能,但處理對象只限于數(shù)字信號,因而給程序的初期調(diào)試帶來了不便。而matlab具有強大的計算功能,尤其便于實現(xiàn)數(shù)字信號與模擬信號之間的靈活轉(zhuǎn)換,并將結(jié)果直觀呈現(xiàn)。仿真結(jié)果證明,將兩種設(shè)計軟件結(jié)合使用,可以大大地方便工程設(shè)計人員進行初期修正。

          fpga相關(guān)文章:fpga是什么


          存儲器相關(guān)文章:存儲器原理




          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();