基于System Generator的FPGA開發(fā)總結(jié)_第1頁
基于System Generator的FPGA開發(fā)總結(jié)_第2頁
基于System Generator的FPGA開發(fā)總結(jié)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

基于SystemGenerator的FPGA開發(fā)總結(jié)前一陣一直在忙,所以沒有來得及寫博文。弄完雜七雜八的事情,又繼續(xù)FPGA的研究。使用VerilogHDL語言和原理圖輸入來完成FPGA設(shè)計(jì)的方法都試驗(yàn)過了,更高級(jí)的還有基于SystemGenerator和基于EDK/Microblaze的方法。為了將以往已經(jīng)開發(fā)的Matlab仿真通過的電機(jī)控制算法快速轉(zhuǎn)換為可供FPGA使用的算法,首先研究了基于SystemGenerator的FPGA開發(fā),并有選擇性地實(shí)現(xiàn)了幾個(gè)算法,證明了其有效性。在這里先把開發(fā)過程中的一些心得寫出來,歡迎大家分享、交流。預(yù)先介紹一下軟硬件環(huán)境:

ISE版本為XilinxISEDesignSuite12.1(包含SystemGenerator12.1,但是那個(gè)著名的AccelDSP組件找不到了);Matlab版本為MATLABR2010aWin32版(Simulink為7.5版),硬件開發(fā)板有Digilentinc的Spartan3EXC3S500E開發(fā)板和自己制作的Spartan3XC3S400實(shí)驗(yàn)板。首先是安裝Matlab,這里要注意的是Matlab的安裝路徑必須與英文開頭,中間可以包含數(shù)字;其次是路徑中不能有空格,否則SystemGenerator將無法識(shí)別Matlab的路徑。然后安裝ISE12.1,完成之后點(diǎn)擊“C:\DocumentsandSettings\AllUsers\「開始」菜單\程序\XilinxISEDesignSuite12.1”里面的“SystemGeneratorMATLABConfigurator”,如果Matlab安裝正確,SystemGenerator會(huì)識(shí)別出Maltab,否則需要手動(dòng)選擇Maltab的路徑;這里還有個(gè)版本限制,即ISE/SystemGenerator12.1只能完全支持Maltab2009a/b,對(duì)Maltab2010a只能beta支持(中間遇到問題就是ResourceEstimator用了一次之后就再也不能正常運(yùn)行了,不知道是不是beta的原因)。然后就可以啟動(dòng)Matlab,新建一個(gè)mdl仿真文件,并打開SimulinkLibraryBrowser,切換到XilinxBlocket,如果是第一次打開XilinxBlocket,需要有一個(gè)建立Xilinx緩存的過程,時(shí)間比較長,不要把它當(dāng)成電腦的假死。另外還有兩個(gè)Xilinx的菜單是XilinxReferenceBlocksetv12.1和XilinxBlocksetv12.1,這個(gè)以后再詳細(xì)講。下面進(jìn)入開發(fā)步驟了。首先,每個(gè)工程里面都要有一個(gè)SystemGenerator的工具箱(在XilinxBlocket—tools里面),在這里可以配置的有

[1].SystemGenerator生成的工程類型,比如ISE工程、EDK工程等,甚至可以直接生產(chǎn).bit配置文件;[2].器件的型號(hào),包括封裝、速度等;[3].SystemGenerator的輸出路徑(文件夾);[4].綜合工具(如XST、Synplify等,經(jīng)常找不到Synplify,干脆就XST好了);[5].編程語言選擇:只有VHDL和VerilogHDL;[6].可以選擇是否生產(chǎn)測(cè)試文件;[7].配置FPGA的時(shí)鐘,并選擇時(shí)鐘管理方式,這里給出了時(shí)鐘管腳的配置,不過應(yīng)該先不填,不然在后面的綜合中會(huì)有很多警告;其次是若選擇了DCM方式,則只能支持Virtex4\5的器件(用Spartan3、3E編譯時(shí)提示的;奇怪是為什么沒有說支持最新的Spartan6、Virtex6器件);[8].最后是選擇Simulink的仿真周期,以及各個(gè)模塊的顯示方式(比如選擇default顯示各個(gè)模塊的默認(rèn)值,選擇SamplingFrequency則在各模塊的輸入輸出引腳上顯示其時(shí)鐘頻率,如50MHz、10MHz等)。完成SystemGenerator的配置之后,剩下的仿真環(huán)境的搭建、運(yùn)行步驟和Simulink的普通應(yīng)用是一樣的,只不過必須是從Xilinx的菜單下拖出來的模塊才能被物理實(shí)現(xiàn)(即可綜合);對(duì)應(yīng)Simulink庫中的其他模塊和Xilinx模塊之間的連接,要使用GatewayIn和GatewayOut做為接口。搭建完整個(gè)系統(tǒng)之后,把需要觀察的變量通過GatewayOut接到示波器上,點(diǎn)擊Simulink的運(yùn)行按鈕,就可以觀測(cè)結(jié)果了。SystemGenerator的差錯(cuò)機(jī)制非常嚴(yán)格,即使是數(shù)據(jù)位數(shù)不對(duì)都會(huì)停止仿真并報(bào)錯(cuò)。仿真無誤之后,可以運(yùn)行的操作更加豐富,比如調(diào)用Modelsim進(jìn)行仿真(SystemGenerator的輸出文件夾中已自動(dòng)生產(chǎn)了.do文件),調(diào)用ResourceEstimator預(yù)估資源(過程比較漫長,因?yàn)樾枰C合等過程)等。完成之后在SystemGenerator工具箱中點(diǎn)擊generate,就可以在輸出文件夾中生產(chǎn)ISE的工程了(.xise)。打開生產(chǎn)的ISE工程,接下來的操作跟平時(shí)沒有什么區(qū)別,只不過這里的代碼全部是自動(dòng)生成的:)。當(dāng)然,還有一點(diǎn)需要特別交待的就是,生成的工程中的約束文件中,只有時(shí)序約束,是沒有管腳約束的(雖然沒有管腳約束,也可以綜合、映射、生成下載文件,有點(diǎn)奇怪)。可以給工程添加輸入輸出、信號(hào),然后在Floorplan里面分配管腳。再經(jīng)過綜合、映射、生成下載文件,燒寫到PROM里面,就可以運(yùn)行了。最后附上一點(diǎn)在SystemGenerator開發(fā)、調(diào)試過程中的一點(diǎn)小經(jīng)驗(yàn):

[1].一些XilinxBlocket沒有的邏輯結(jié)構(gòu),比如說case---switch語句,用模塊搭比較麻煩,這時(shí)可以用Matlab的m文件書寫,并保存為Matlab的函數(shù),然后使用XilinxBlocket的Mcode模塊調(diào)用,這樣比搭模塊還要簡(jiǎn)單的多;[2].浮點(diǎn)數(shù)的處理是個(gè)大麻煩,幸運(yùn)的是XilinxBlocket提供了Xfix語句,可以將浮點(diǎn)轉(zhuǎn)換為需要的寬度、位數(shù)的定點(diǎn),比如a=xfix({xlUnsigned,8,3},1.53),就把浮點(diǎn)數(shù)1.53轉(zhuǎn)換為無符號(hào)數(shù),其前8位代表整數(shù),后3位代表小數(shù);[3].XilinxB

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論