fpga實驗及FPGA基本知識_第1頁
fpga實驗及FPGA基本知識_第2頁
fpga實驗及FPGA基本知識_第3頁
fpga實驗及FPGA基本知識_第4頁
fpga實驗及FPGA基本知識_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實驗指導(dǎo)(一)認(rèn)識FPGA開發(fā)板一、實驗?zāi)康?、了解FPGA開發(fā)流程2、了解XilinxKC705開發(fā)平臺二、實驗原理FPGA是FieldProgrammableGateArray的縮寫,即現(xiàn)場可編程門陣列。FPGA是在CPLD的基礎(chǔ)上發(fā)展起來的新型高性能可編程邏輯器件,它一般采用SRAM工藝,也有一些專用器件采用Flash工藝或反熔絲(Anti-Fuse)工藝等。FPGA的集成度很高,其器件密度從數(shù)萬系統(tǒng)門到數(shù)千萬系統(tǒng)門不等,可以完成極其復(fù)雜的時序與組合邏輯電路功能,適用于高速、高密度的高端數(shù)字邏輯電路設(shè)計領(lǐng)域。FPGA的基本組成部分有可編程輸入/輸出單元、基本可編程邏輯單元、嵌入式RAM、

2、豐富的布線資源、底層嵌入功能單元、內(nèi)嵌專用硬核等。一般來說,完整的FPGA設(shè)計流程包括電路設(shè)計與輸入、功能仿真、綜合優(yōu)化、綜合后仿真、布局布線、布局布線后仿真、板級驗證與加載配置調(diào)試等主要步驟,如圖1所示。(1)電路設(shè)計與輸入。電路設(shè)計與輸入是指通過某些規(guī)范的描述方式,將工程師電路構(gòu)思輸入給EDA工具。常用的設(shè)計輸入方法有硬件描述語言(HDL)和原理圖設(shè)計輸入方法等。HDL語言中,應(yīng)用最為廣泛的是VHDL和VerilogHDL。(2)功能仿真。電路設(shè)計完成后,要用專用的仿真工具對設(shè)計進(jìn)行功能仿真,驗證電路功能是否符合設(shè)計要求。功能仿真有時也被稱為前仿真。常用的仿真工具有ModelSim、VCS

3、、NC.Verilog和NC.VHDL等。(3)綜合優(yōu)化。綜合優(yōu)化(Synthesize)是指將HDL語言、原理圖等設(shè)計輸入翻譯成由與、或、非門,RAM,觸發(fā)器等基本邏輯單元組成的邏輯連接(網(wǎng)表),并根據(jù)目標(biāo)與要求(約束條件)優(yōu)化所生成的網(wǎng)表,輸出edf和edn等標(biāo)準(zhǔn)格式的網(wǎng)表文件,供FPGA廠家的布局布線器進(jìn)行實現(xiàn)。(4)綜合后仿真。綜合完成后需要檢查綜合結(jié)果是否與原設(shè)計一致,做綜合后仿真。在仿真時,把綜合生成的標(biāo)準(zhǔn)延時文件反標(biāo)到綜合仿真模型中去,可估計門延時帶來的影響。(5)實現(xiàn)與布局布線。綜合結(jié)果的本質(zhì)是一些與、或、非門,觸發(fā)器,RAM等基本邏輯單元組成的邏輯網(wǎng)表,它與芯片實際的配置情況

4、有較大差距。此時,應(yīng)該使用FPGA廠商提供的軟件工具,根據(jù)所選芯片型號,將綜合輸出的邏輯網(wǎng)表適配到具體FPGA器件上,這個過程叫做實現(xiàn)過程。在實現(xiàn)過程中,最主要的過程就是布局布線。所謂布局(Place)是指將邏輯網(wǎng)表中的硬件原語或者底層單元合理地適配到FPGA內(nèi)部的固有硬件結(jié)構(gòu)上;所謂布線(Route)是指根據(jù)布局的拓?fù)浣Y(jié)構(gòu),利用FPGA內(nèi)部的各種連線資源,合理正確連接各個元件的過程。(6)時序仿真與驗證。將布局布線的時延信息反標(biāo)到設(shè)計網(wǎng)表中,所進(jìn)行的仿真就叫時序仿真或布局布線后仿真,簡稱后仿真。布局布線后仿真的主要目的在于發(fā)現(xiàn)時序違規(guī)(TimingViolation),即不滿足時序約束條件或

5、者器件固有時序規(guī)則(建立時間、保持時間)的情況。(7)板級仿真與驗證。在有些高速設(shè)計情況下還需要使用第三方的板極驗證工具進(jìn)行仿真與驗證。這些工具通過對設(shè)計的IBIS、HSPICE等模型的仿真,能較好地分析高速設(shè)計的信號完整性、電磁干擾(EMI)等電路特性等。(8)對器件下載調(diào)試。設(shè)計開發(fā)的最后步驟是在線調(diào)試或者將生成的配置文件寫入芯片中進(jìn)行測試。示波器和邏輯分析儀是邏輯設(shè)計的主要測試工具。以上任何仿真或者驗證步驟出現(xiàn)問題,就需要根據(jù)錯誤的定位返回到相應(yīng)的步驟更改或者重新設(shè)計。目前主要的FPGA器件生產(chǎn)廠商有兩家,即美國的Altera公司和軟件開發(fā)平臺,其中Altera公司的FPGA產(chǎn)品主要有C

6、yclone系列和Stratix系列等,軟件開發(fā)平臺為QuartusII,而Xilinx公司的FPGA產(chǎn)品主要有Virtex系列和Spartan系列等,軟件開發(fā)平臺為ISE。本實驗采用的是Xilinx公司的帶有Kintex-7FPGA的KC705開發(fā)平臺。Xilinx的7系列FPGA包括Artix-7,Kintex-7和Virtex-7三個系列。具有超高端連接帶寬,邏輯容量和信號完整性,提供低成本,小型尺寸和大容量的要求嚴(yán)格的高性能應(yīng)用。其中,Kintex-7FPGA具有較高的性價比,其組成的收發(fā)器從600Mbps到最高的6.6Gbps,達(dá)到28.05Gbps。主要用在航空電子、LED背光的平

7、板電視和3DTV、LTE基帶、手持超聲設(shè)備、多模式無線電、Prosumer數(shù)碼單反照相機(jī)和視頻IP網(wǎng)關(guān)。圖1FPGA開發(fā)流程Kintex-7FPGA主要包括以下主要特性:(1)基于6輸入查找表(LUT)技術(shù),可配置為分布式內(nèi)存的,先進(jìn)的高性能FPGA邏輯。(2)36kB雙端口RAM塊,內(nèi)置片上數(shù)據(jù)緩沖的FIFO邏輯。(3)高性能的SelectIO技術(shù),支持高達(dá)1866Mb/s的DDR3接口。(4)強(qiáng)大的時鐘管理瓷磚(CMT),結(jié)合鎖相環(huán)(PLL)和混合模式時鐘管理器(MMCM),用于實現(xiàn)高精度和低抖動。(5)低成本,線焊接,無蓋倒裝芯片,高信號完整性,倒裝芯片封裝,可以方便在同一系列產(chǎn)品之間互

8、換。所有型號都具有無鉛封裝,并具有可選鉛封裝。本實驗采用的Kintex-7FPGA的KC705評估板提供了一個硬件環(huán)境,用于Kintex-7XC7K325T-2FFG900CFPGA的設(shè)計開發(fā)和評估,KC705開發(fā)平臺如圖2所示。模塊號描述1Kintex-7FPGA(風(fēng)扇下面)2DDR模塊3BPIflash存儲器4SPIflash存儲器5SD卡接口6USBJTAG接口7系統(tǒng)時鐘源8用戶時鐘源9SMA時鐘輸入10GTX時鐘輸入11JitterAttenuatedClock12GTX收發(fā)器13PCI插槽14SFP連接器15以太網(wǎng)芯片16GTX收發(fā)器時鐘源17USB轉(zhuǎn)UART芯片18HDMI接口19

9、LCD顯示屏20I2C總線切換開關(guān)圖2KC705開發(fā)平臺從圖中可以看出KC705板提供了許多嵌入式處理系統(tǒng)的共同特性,開發(fā)板資源介紹如表1所示。表1KC705資源介紹21以太網(wǎng)指示燈22用戶GPIOLED燈23用戶GPIO按鍵24用戶DIP切換開關(guān)25旋轉(zhuǎn)按鈕26GPIOSMA連接器27電源開關(guān)28FPGA下載按鈕29Flash配置開關(guān)30HPC連接器31LPC連接器32電源管理33XADC模塊34JTAG接口35PMBus連接3612V電壓輸入37CPU復(fù)位按鈕為了了解并掌握FPGA開發(fā)流程,本實驗在KC705平臺設(shè)計設(shè)計一個分頻計數(shù)的實驗,用FPGA內(nèi)部邏輯控制LED燈的亮滅。KC705平

10、臺自帶的8個LED燈原理圖如圖3所示,當(dāng)GPIO輸入端為高電平時,二極管導(dǎo)通,燈變亮。當(dāng)輸入端為低電平時,二極管截至,燈變暗。本實驗通過Verilog代碼進(jìn)行計數(shù)分頻,控制GPIO_LED_0的周期性變化。圖3KC705平臺LED燈原理圖在Verilog代碼設(shè)計中,把分頻輸出信號與GPIO_LED_0管腳相連,大家就可以感受到分頻產(chǎn)生的效果了。在代碼里,使用的200M的差分時鐘,一個周期是5ns,在代碼里24位計數(shù)器cnt進(jìn)行循環(huán)計數(shù),一個周期有224個時鐘周期,大約是80ms,所以LED0以80ms為周期變化。三、實驗步驟a)打開ISE軟件,新建工程,如圖4所示圖4新建ISE工程然后輸入工程

11、名稱和路徑,其余選擇默認(rèn)選項,點擊finish,如圖5所示。圖5輸入工程名稱和路徑b)新建工程結(jié)束之后,右擊新建的工程名稱,選擇addnewsource,可以向工程中添加源文件,在這里選擇verilogmodule,在左側(cè)對話框輸入文件名稱和路徑,如圖6所示圖6添加verilog源文件回到設(shè)計頁面,可以發(fā)現(xiàn)在工程下面多了一個.v文件,點開文件,輸入下面代碼moduleclk_div(clk_p,clk_n,rst,clk_div);inputclk_p,rst;inputclk_n;outputclk_div;regclk_div;reg23:0count;wireclk;always(pos

12、edgeclk)if(rst)begincount=1b0;clk_div=1b0;endelseif(count=24hffffff)begincount=count+1b1;endelsebegincount=1b0;clk_div=clk_div;end/差分時鐘例化原語IBUFDSUUT_IBUFG(.I(clk_p),.IB(clk_n),.O(clk);endmodule代碼輸入完成之后對代碼進(jìn)行綜合,雙擊Synthesize-XST,綜合成功后會顯示對號或感嘆號,如圖7所示。如果是感嘆號,代表有警告,可右擊Synthesize-XST查看綜合報告,對這里出現(xiàn)的警告可以忽略。圖7代

13、碼綜合成功c)為了使我們的代碼與硬件映射,還需要進(jìn)行管腳約束,管腳約束文件格式為ucf,與添加verilogmodule文件相同的方法,添加一個ucf文件,不同的是在圖8的左側(cè)界面中選擇ImplementationConsraintsFile。圖8添加ucf文件回到設(shè)計界面,開始編輯ucf文件,打開KC705的datasheet,我們可以找到要使用的LED0與FPGA管腳AB8相連,如圖9所示圖9LED0與FPGA管腳對應(yīng)關(guān)系同樣的方法,再對時鐘和復(fù)位信號進(jìn)行配置。時鐘選用200M的systemclocksource,復(fù)位信號選用SW3,確定了管腳對應(yīng)關(guān)系之后,開始編輯ucf文件,輸入下列內(nèi)容

14、,其中IOSTANDARD為電壓約束,在KC705的datasheet中可以找到。NETclk_pLOC=AD12|IOSTANDARD=LVDS;/200MNETclk_nLOC=AD11|IOSTANDARD=LVDS;/200MNETrstLOC=AG5|IOSTANDARD=LVCMOS15;/sw3NETclk_divLOC=AB8|IOSTANDARD=LVCMOS15;/LED0d)以上工作做完之后,就要對代碼進(jìn)行布局布線,生成可下載的比特流,如圖10所示,雙擊GenerateProgrammingFile。e)上面步驟完成之后,開始將生成的比特流下載到FPGA板,如圖11所示,連接開發(fā)板與電腦圖11連接FPGA與電腦點擊configuretargetdevice,打開Impact,如圖12所示圖12打開iMPACT軟件點擊箭頭所示按鈕,出現(xiàn)圖13界面,點擊OK圖13掃描設(shè)備如圖14所示,軟件識別出所連接設(shè)備,點擊OK圖14設(shè)別設(shè)備雙擊設(shè)備,找到生成的比特流,出現(xiàn)圖15對話框

溫馨提示

  • 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

提交評論