




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、FPGA系統設計實驗報告學院: 計算機與通信工程學院 班級: 電信10 學號: 41050204 姓名: 陳小慧 指導教師: 2013年3月27日FPGA系統設計實驗報告陳小慧計算機與通信工程學院,電信10,學號:41050204【摘要】 本文第一部分主要介紹了FPGA;第二部分為實驗的內容和結果;第三部分為根據實驗二設計的拓展實驗;最后部分為實驗報告總結。【關鍵字】 FPGA ;SOPC;20nm1 引言FPGA 自1984年Xilinx公司發(fā)明以來,逐漸一起全球集成電路格局的變化。從一開始僅僅實現粘合邏輯到后來的數字信號處理以及目前的系統級解決方案,FPGA 不斷蠶食著微處理器、DSP以及
2、ASIC的市場,成為目前發(fā)展最為迅猛的熱門技術之一。本文便在高校學習的基礎上,簡單介紹了一些FPGA的概念和應用,并在完成實驗的基礎上寫了實驗的過程和總結。2 FPGA簡介2.1 FPGA的概述單片機可以理解為集成在單一芯片上的微型計算機系統,麻雀雖小可是五臟俱全,也有運算器、控制器、存儲器、總線及輸入輸出設備,采用也是存儲程序執(zhí)行的方式,對單片機的編程就是對其中的ROM寫入程序,在加電后ROM中的程序會像計算機內存中的程序一樣得到逐條的執(zhí)行。當今的單片機還集成了A/D、D/A轉換,并串口等多種與外界進行數據交換的手段。單片機計算速度和性能有限,但在一些基本控制上搓綽綽有余。FPGA則是操控層
3、次更低,所以自由度更大的芯片,對FPGA的編程在編譯后是轉化為FPGA內的連線表,相當于FPGA內提供了大量的與非門、或非門、觸發(fā)器(可以用與非門形成吧)等基本數字器件,編程決定了有多少器件被使用以及它們之間的連接。只要FPGA規(guī)模夠大,這些數字器件理論上能形成一切數字系統,包括單片機甚至CPU。FPGA在抗干擾,速度上有很大優(yōu)勢。2.2 FPGA的發(fā)展前沿2.2.1 FPGA向SOPC方向發(fā)展System-on-a-Programmable-Chip,即可編程片上系統。 用可編程邏輯技術把整個系統放到一塊硅片上,稱作SOPC??删幊唐舷到y(SOPC)是一種特殊的嵌入式系統:首先它是片上系統
4、(SOC),即由單個芯片完成整個系統的主要邏輯功能;其次,它是可編程系統,具有靈活的設計方式,可裁減、可擴充、可升級,并具備軟硬件在系統可編程的功能。SOPC是SOC與FPGA相結合的產物。SOC(System-On-a-Chip)的定義,是指在一個芯片上包含了計算機引擎、存儲器和邏輯電路的集成電路,其在本質上具備作為一個系統的基本要素。Soc采用單一芯片的形式實現了系統的功能,把系統從原來的整機、電路板縮小到芯片,不僅有利于實現系統的小型化、一體化,減少板級和整機對電路的干擾,同時還有助于降低產品成本。SOPC可以在一塊現成的可編程芯片上提供系統集成??删幊滔到y級芯片還具有掩膜ASIC的高集
5、成度及FPGA的低風險、靈活和快速上市的特性1。相關成品為2012年10月中旬,Microsemi公司宣布推出其新一代SmartFusion2 SoC FPGA系列產品。該系列產品是市場上最安全的FPGA;還具備高可靠性、低功耗等優(yōu)勢;應用極其廣泛。2.2.2 20納米FPGA時代臺積電28nm良率大幅提升的利好還沒被市場徹底消化,FPGA業(yè)界雙雄已爭先恐后地發(fā)布20nm FPGA戰(zhàn)略,在性能、功耗、集成度等方面均大幅躍升,蠶食ASIC之勢將愈演愈烈。在45nm工藝節(jié)點,大量ASIC廠商率先量產;而到了28nm工藝時代,率先量產的7家公司中已有兩家是FPGA廠商;在20nm時代,FPGA或將拔
6、得頭籌。在28nm工藝節(jié)點上,賽靈思率先推出了統All Programmable的7系列FPGA、嵌入ARM cortex-A9的FPGA SoC以及采用3D封裝技術的Virtex-7 2000T,賽靈思20nm產品依然是三個產品系列并行發(fā)展,分別“進化”成8系列FPGA、第二代FPGA SoC和第二代3D封裝FPGA。賽靈思20nm 8系列All Programmable FPGA將有更快的DSP、BRAM(Block RAM)、DDR4及收發(fā)器,有最高的帶寬(100個33Gb/s收發(fā)器),可以實現更高的帶寬總線和更快的設計收斂。FPGA另一重要供應商Altera在20nm工藝也導入了三項新
7、技術。Altera高級副總裁、首席技術官Misha Burich介紹,Altera的20nm工藝FPGA一是可將芯片間的數據傳輸速度提高至40Gbps,而現行的28nm工藝FPGA為28Gbps。為了實現高速化,20nm工藝FPGA提高了收發(fā)器電路使用的晶體管性能,同時導入了根據在芯片間交換信號的波形來修正信號、改善信號干擾及衰減程度的電路技術。二是配備浮點運算性能達到5TFLOPS(每秒5萬億次浮點運算)以下的可變精度DSP模塊。為了提高性能,將原來用軟件實現的DSP部分運算處理改為了硬件操作。三是異構3D IC的應用。Altera的異構20nm FPGA的開發(fā)通過全功能高級設計環(huán)境得以實現
8、,這一設計環(huán)境包括系統集成工具(Qsys)、基于C語言的設計工具(OpenCL)以及DSP開發(fā)軟件(DSP Builder)。Misha Burich表示,下一代高性能設計DSP開發(fā)人員不再需要花費數天甚至幾個星期的時間來評估FPGA DSP解決方案的性能。通過集成OpenCL和DSP創(chuàng)新技術,采用業(yè)界標準設計工具和軟件庫,Altera產品能夠實現5 TFLOPS的單精度DSP能力,這將重新樹立業(yè)界TFLOPS/W硅片效率的標準。參考文獻1 劉皖、何道君、譚明,FPGA設計與應用,清華大學出版社 ,2006年6月第1版,P2013 FPGA實驗實驗一 LED實驗1.1實驗目的l 學習Xilin
9、x公司ISE8.2i軟件設計流程;l 熟悉SEED-XDTK XUPV2PRO實驗環(huán)境;l 了解Verilog語言在FPGA中的使用;l FPGA管腳與外設的配置;l 了解時鐘分頻的Verilog實現。1.2實驗內容l 定時時鐘設計;l LED點亮。1.3實驗步驟1.3.1創(chuàng)建工程 1. 雙擊桌面Xilinx ISE8.2 快捷方式或者選擇【開始】/【所有程序】/【Xilinx ISE 8.2i】/【Project Navigator】打開 ISE 工程管理器(Project Navigator)。 2. 打開Project Navigator后,選擇 File New Project,彈出新
10、建工程對話框建立文件名和路徑。器件族類型(Device Family)選擇“Virtex2P”,器件型號(Device)選“XC2VP30ff896-7”,綜合工具(Synthesis Tool)選“XST(VHDL/Verilog)”,仿真器(Simulator)選“ISE Simulator”1.3.2新建Verilog源代碼新工程創(chuàng)建完在【Sources】面板右擊,選【New Source】命令打開新建代碼智能向導,輸入源代碼;選【Add Source】命令調用以給源代碼程序。如果以有源代碼,則選擇.v.文件,自動添加到窗口中。選擇【Verilog Module】新建一個Verilog源
11、代碼,然后在【File name】欄中輸入文件名稱led(區(qū)別大小寫)。單擊Next按鈕進入模塊定義頁面,這個頁面的【Port Name】欄中可以輸入相應的端口名稱(可在程序中定義);。直接點【Next】按鈕進入新建代碼總結頁面單擊【Finish】按鈕完成新建代碼過程。ISE將自動打開源代碼視圖以及設計總結視圖,選擇源代碼視圖。1.3.3編輯Verilog源代碼。編輯led.v源代碼成如下形式。module led(led_cona,led_conb,reset,clk,led_data);input reset;input clk;output led_cona;output led_con
12、b;output 7:0led_data;reg 7:0led_data;reg clk_1k;reg 15:0cnt_1k;reg 11:0cnt_led;parameter freq_1k=16'h3a98; assign led_cona=0;assign led_conb=1;initialbegincnt_1k<=0;clk_1k<=0;cnt_led<=0;endalways(posedge clk)beginif(reset=0)begincnt_1k<=0;clk_1k<=0;endelse if(cnt_1k=freq_1k)beginc
13、nt_1k<=0;clk_1k<=clk_1k;endelse cnt_1k<=cnt_1k+1;endalways(posedge clk_1k)if(reset=0) begin cnt_led<=0; led_data<='h01; endelsebegincase(cnt_led)'h001: led_data<='h01;'h07D: led_data<='h02;'h0FA: led_data<='h04;'h177: led_data<='h08;'
14、;h1F4: led_data<='h10;'h271: led_data<='h20;'h2EE: led_data<='h40;'h36B: led_data<='h80;'h3EC: beginled_data<='hff; cnt_led<='h000;enddefault: cnt_led<=cnt_led;endcasecnt_led<=cnt_led+1;endendmodule輸入完畢保存。1.3.4綜合(Synthesize XST)(1) 確保源代
15、碼【led.v】在【Synthesis/Implementation】模式下(2) 在【Sources】窗口中選擇【led】模塊,然后在相關的程序窗口【processes】中雙擊【Synthesize-XST】。1.3.5添加約束在【Sources】窗口選中l(wèi)ed.v文件,【Processes】窗口單擊【User Constraints】左邊的“”號展開,雙擊【Assign Package Pins】, 彈出新建一個UCF文件的對話框,點“yes”后就可以打開PACE。在【Design Object ListI/O pins】窗口的【Loc】欄輸入連接FPGA的管腳名,在【Device Arc
16、hitecture】窗口放大即可以看清管腳分配。 管腳分配完畢,點擊保存。退出PACE。在【Sources】窗口選中l(wèi)ed.v文件,【Processes】窗口雙擊【User Constraints】下的【Edit Constrains】即可查看UCF文本實例的管腳約束文件(*.UCF文件)如下:NET "clk" LOC = "AH15" ;NET "led_cona" LOC = "R3" ;NET "led_conb" LOC = "V1" ;NET "led_
17、data0" LOC = "U8" ;NET "led_data1" LOC = "Y2" ;NET "led_data2" LOC = "Y1" ;NET "led_data3" LOC = "V5" ;NET "led_data4" LOC = "V4" ;NET "led_data5" LOC = "U7" ;NET "led_data6"
18、LOC = "U9" ;NET "led_data7" LOC = "W1" ;NET "reset" LOC = "AH5" ;即clk連接FPGA的AH15管腳,led_cona連接FPGA的R3管腳1.3.6FPGA的實現和下載配置Place&Route之后,進入配置FPGA階段展開【Implement Design】左邊的“”號,自動執(zhí)行FPGA實現階段的過程。雙擊【Generate Programming】生成可下載的*.bit文件展開【Processes】欄的【Generat
19、e Programming】旁的“”號,雙擊【Configure Device】打開iMPACT下載程序。彈出【iMPACTWelcome to iMPACT】對畫框,選中【Configure devices using BoundaryScan(JTAG)】,單擊【FINISH】。彈出【Assign New Configuration File】對話框,即給器件指定配置文件,其中前兩個器件為PROM和CPLD,都選擇【Bypass】按鈕,最后一個器件為FPGA,選擇led.bit文件,選擇【Open】按鈕, 彈出的對話框單擊【OK】,彈出一個警告信息,再單擊【OK】按鈕。右擊最后一個器件,單
20、擊【Program】彈出的對話框單擊【OK】,如果下載成功則出現Program Succeed。1.4實驗結果會看到實驗箱的LED燈閃爍,證明結果正確。實驗二 LED點陣實驗2.1實驗目的:熟悉ISE8.2開發(fā)環(huán)境,掌握工程的生成方法;熟悉SEED-XDTK XUPV2Pro實驗環(huán)境;了解Verilog語言在FPGA中的使用。了解定時器的Verilog實現。2.2實驗內容定時時鐘設計;LED點陣亮點的控制。2.3實驗步驟: 2.3.1創(chuàng)建工程 雙擊桌面Xilinx ISE8.2 快捷方式或者選擇【開始】/【所有程序】/【Xilinx ISE 8.2i】/【Project Navigator】打
21、開 ISE 工程管理器(Project Navigator)。 打開Project Navigator后,選擇 File New Project,彈出新建工程對話框,選擇工程存放的目錄單擊確定,Project Name(工程名稱)輸入工程名lab2。點擊【Next】按鈕,彈出器件特性對話框。器件族類型(Device Family)選擇“Virtex2P”,器件型號(Device)選“XC2VP30ff896-7”,綜合工具(Synthesis Tool)選“XST(VHDL/Verilog)”,仿真器(Simulator)選“ISE Simulator”,單擊【Next】直到【Finish】。
22、 2.3.2添加源代碼在【Sources】面板右擊,選【Add Source】按鈕,指向工程存放的目錄文件夾下,打開dot.v文件。在彈出的【Adding Source Files】對話框單擊【OK】,2.3.3綜合雙擊dot.v打開源代碼視圖,雙擊【SynthesizeXST】進行綜合。2.3.4添加約束本實例的管腳約束文件(UCF文件)如下:NET "clk" LOC = "AH15" ;NET "cpld_cona" LOC = "R3" ;NET "cpld_conb" LOC = &q
23、uot;V1" ;NET "dot_con0" LOC = "AA3" ;NET "dot_con10" LOC = "R4" ;NET "dot_con11" LOC = "T2" ;NET "dot_con12" LOC = "R7" ;NET "dot_con13" LOC = "P4" ;NET "dot_con14" LOC = "R2"
24、 ;NET "dot_con15" LOC = "P5" ;NET "dot_con1" LOC = "AB1" ;NET "dot_con2" LOC = "Y4" ;NET "dot_con3" LOC = "W4" ;NET "dot_con4" LOC = "V8" ;NET "dot_con5" LOC = "W5" ;NET "dot_
25、con6" LOC = "AA1" ;NET "dot_con7" LOC = "AA2" ;NET "dot_con8" LOC = "R6" ;NET "dot_con9" LOC = "U1" ;NET "dot_data0" LOC = "M4" ;NET "dot_data10" LOC = "U7" ;NET "dot_data11"
26、LOC = "V4" ;NET "dot_data12" LOC = "V5" ;NET "dot_data13" LOC = "Y1" ;NET "dot_data14" LOC = "Y2" ;NET "dot_data15" LOC = "U8" ;NET "dot_data1" LOC = "N2" ;NET "dot_data2" LOC = &q
27、uot;P9" ;NET "dot_data3" LOC = "L4" ;NET "dot_data4" LOC = "M2" ;NET "dot_data5" LOC = "N5" ;NET "dot_data6" LOC = "L5" ;NET "dot_data7" LOC = "N6" ;NET "dot_data8" LOC = "W1"
28、 ;NET "dot_data9" LOC = "U9" ;NET "reset" LOC = "AH5" ;在【Sources】窗口選中dot.v文件,【Processes】窗口單擊【User Constraints】左邊的“”號展開,雙擊【Assign Package Pins】 彈出新建一個UCF文件的對話框,點“yes”后就可以打開PACE。在【Design Object ListI/O pins】窗口的【Loc】欄輸入連接FPGA的管腳名,在【Device Architecture】窗口放大即可以看清管腳
29、分配。管腳分配完畢,點擊保存。退出PACE。在【Sources】窗口選中dot.v文件,【Processes】窗口雙擊【User Constraints】下的【Edit Constrains】即可查看*.UCF管腳約束文件。2.3.5配置下載文件雙擊【Generate Programming】生成可下載的bit文件。展開【Processes】欄的【Generate Programming】旁的“”號,雙擊【Configure Device】打開iMPACT下載程序。彈出【iMPACTWelcome to iMPACT】對畫框,選中【Configure devices using Boundar
30、yScan(JTAG)】,單擊【finsh】。彈出【Assign New Configuration File】對話框,即給器件指定配置文件,其中前兩個器件為PROM和CPLD,都選擇【Bypass】按鈕,最后一個器件為FPGA,選擇dot.bit文件,選擇【Open】按鈕 彈出的對話框單擊【OK】,彈出一個警告信息,單擊【OK】按鈕。右擊最后一個器件,單擊【Program】右擊FPGA,選中Program彈出的對話框單擊【OK】,如果下載成功則出現Program Succeed。2.4實驗結果實驗結果可以看到合眾達的圖標(如圖2-1)圖2-1實驗三鍵盤實驗3.1實驗目的:主模塊調用子模塊接口
31、程序了解子模塊數碼管顯示程序顯示的特點了解子模塊鍵盤控制程序的特點3.2實驗內容時鐘分頻設計;鍵盤數據讀取;數碼管點亮;蜂鳴器驅動。3.3實驗例程介紹3.3.1例程流程圖如圖3-1 圖3-13.3.2例程包含文件1. main.v:程序主模塊,通過調用各功能模塊實現鍵盤數據的讀取、蜂鳴器的驅動以及數碼管的顯示 (主模塊包含調用子模塊的接口語句,但個子模塊程序還未調用)2. v2_dcm.xaw:系統輸入時鐘處理文件,將外部輸入時鐘(100M)進行10 分頻3. CLK_DIV.v:系統運行時鐘分頻文件,將系統運行時間進行分頻,通過重載提供 100K 及 1K 的模塊處理時鐘 4. KEY_SC
32、AN.v:鍵盤讀取程序,包含鍵盤去抖處理 5. DEBOUNCE.v:鍵盤去抖延時程序 6. THAN_HEX_LED.v:數碼管點亮程序 7. main.ucf:FPGA 管腳分配程序 3.4實驗步驟3.4.1創(chuàng)建工程1.雙擊桌面Xilinx ISE8.2 快捷方式或者選擇【開始】/【所有程序】/【Xilinx ISE 8.2i】/【Project Navigator】打開 ISE 工程管理器(Project Navigator)。 2.打開Project Navigator后,選擇 File New Project,彈出新建工程對話框, 在工程路徑中單擊“”按鈕,選擇工程存放的目錄單擊確定
33、,Project Name(工程名稱)輸入工程名lab3。點擊【Next】按鈕,彈出器件特性對話框。器件族類型(Device Family)選擇“Virtex2P”,器件型號(Device)選“XC2VP30ff896-7”,綜合工具(Synthesis Tool)選“XST(VHDL/Verilog)”,仿真器(Simulator)選“ISE Simulator”。單擊【Next】直到【Finish】。3.4.2添加源代碼在【Sources】面板右擊,選【Add Source】按鈕,指向工程存放的目錄文件夾下,打開main.v文件在彈出的【Adding Source Files】對話框單擊【
34、OK】, 用【Add Source】命令接著添加【CLK_DIV.v】,【v2_dcm.v】,【THAN_HEX_LED.v】,【KEY_SCAN.v】,【DEBOUNCE.v】文件,方法和添加頂層模塊相同。展開【KEY_SCAN.v】旁的“”號,展開后會發(fā)現此文件關聯的文件有“?”號,繼續(xù)添加【DEBOUNCE.v】文件。共添加了五個程序模塊.3.4.3綜合雙擊main.v打開源代碼視圖,雙擊【SynthesizeXST】進行綜合。雙擊進行綜合3.4.4添加約束在【Sources】面板右擊,選【Add Source】按鈕,指向工程存放的目錄文件夾下,打開【main.ucf】文件。彈出的對話框
35、單擊【OK】。3.4.5配置下載文件雙擊【Generate Programming】生成可下載的bit文件。如圖3-13。展開【Processes】欄的【Generate Programming】旁的“”號,雙擊【Configure Device】打開iMPACT下載程序彈出【iMPACTWelcome to iMPACT】對畫框,選中【Configure devices using BoundaryScan(JTAG)】,單擊【FINISH】。彈出【Assign New Configuration File】對話框,即給器件指定配置文件,其中前兩個器件為PROM和CPLD,都選擇【Bypas
36、s】按鈕,最后一個器件為FPGA,選擇【main.bit】文件,選擇【Open】按鈕彈出的對話框單擊【OK】,彈出一個警告信息,單擊【OK】按鈕。右擊最后一個器件,單擊【Program】彈出的對話框單擊【OK】,如果下載成功則出現Program Succeed。3.5實驗結果按下按鍵,觀察數碼管的顯示,在按鍵按下的同時可聽見蜂鳴器的聲音。按下“5”按鍵,實驗結果如圖3-1:圖3-1 實驗四 LCD顯示實驗4.1實驗目的:閃頻顯示4.2實驗內容:系統時鐘DCM核的調用和編寫時鐘分頻設計;LCD文字顯示;FPGA的memory IP 核調用。4.3實驗例程介紹:4.3.1例程流程圖如圖4-1所示。
37、圖4-14.3.2例程包含文件:1. main.v:程序主模塊,實現功能將AD 輸入波形還原至 DA 輸出 2. v2_dcm.xaw:系統輸入時鐘處理文件,將外部輸入時鐘(100M)進行10 分頻 3. CLK_DIV.v:系統運行時鐘分頻文件,將系統運行時間進行分頻,提供100K的模塊處理時鐘 4. LCD_DISPLAY.v:LCD 初始化,以及數據顯示 4.1. LCD_WRITE.v:LCD 寫操作函數 5. MEMORT_LCD.v:漢字字庫存儲空間 (IP核)6. main.ucf:FPGA 管腳分配程序4.4實驗步驟:4.4.1創(chuàng)建工程1.雙擊桌面Xilinx ISE8.2 快
38、捷方式或者選擇【開始】/【所有程序】/【Xilinx ISE 8.2i】/【Project Navigator】打開 ISE 工程管理器(Project Navigator)。 2.打開Project Navigator后,選擇 File New Project,彈出新建工程對話框。在工程路徑中單擊“”按鈕,選擇工程存放的目錄工程存放的目錄,單擊確定,Project Name(工程名稱)輸入工程名lab4。點擊【Next】按鈕,彈出器件特性對話框。器件族類型(Device Family)選擇“Virtex2P”,器件型號(Device)選“XC2VP30ff896-7”,綜合工具(Synthe
39、sis Tool)選“XST(VHDL/Verilog)”,仿真器(Simulator)選“ISE Simulator”。單擊【Next】直到【Finish】。4.4.2添加源代碼在【Sources】面板右擊,選【Add Source】按鈕,指向工程存放的目錄文件夾下,打開main.v文件。如圖4-4所示。在彈出的【Adding Source Files】對話框單擊【OK】。會發(fā)現main模塊為頂層模塊,單擊【sources】欄中的main.v旁邊的“號, 用【Add Source】命令接著添加【CLK_DIV.v】,【LCD_DISPLAY.v】,【LCD_WRITE.v】文件,方法和添加頂
40、層模塊相同?!緑2_lcd_ziku.xco】文件為存儲器核,看源代碼【v2_lcd_ziku.v】,該文件已放在lcd文件夾下。【Add Source】命令接著添加【v2_dcm.xaw】文件的過程,方法和添加頂層模塊相同。此時只顯示主程序(main)等待編譯。用同樣的方法添加約束文件main.ucf。4.4.3配置下載文件雙擊【Generate Programming】生成可下載的bit文件。如圖4-10。運行中展開【Processes】欄的【Generate Programming】旁的“”號,雙擊【Configure Device】打開iMPACT下載程序。彈出【iMPACTWelco
41、me to iMPACT】對畫框,選中【Configure devices using BoundaryScan(JTAG)】,單擊【Finish】彈出【Assign New Configuration File】對話框,即給器件指定配置文件,其中前兩個器件為PROM和CPLD,都選擇【Bypass】按鈕,最后一個器件為FPGA,選擇【main.bit】文件,選擇【Open】按鈕,如圖4-12。彈出的對話框單擊【OK】,彈出一個警告信息,單擊【OK】按鈕。右擊最后一個器件,單擊【Program】彈出的對話框單擊【OK】,如果下載成功則出現Program Succeed。4.5實驗結果觀察LCD
42、,合眾達刷屏顯示,如下圖4-1為當前時刻的顯示,圖4-2為幾秒之后的顯示。圖4-1 圖4-2 實驗五RTC讀取實驗5.1實驗目的:熟悉ISE8.2開發(fā)環(huán)境,掌握工程的生成方法;熟悉SEED-XDTK XUPV2PRO實驗環(huán)境;了解Verilog語言在FPGA中的使用;了解RTC操作的Verilog實現5.2實驗內容:系統時鐘設計數碼管點亮I2C實現5.3實驗例程介紹5.3.1例程流程圖如圖5-1 圖5-15.3.2例程包含文件1.main.v:程序主模塊,實現功能將AD 輸入波形還原至 DA 輸出 2. v2_dcm.xaw:系統輸入時鐘處理文件,將外部輸入時鐘(100M)進行10 分頻 3.
43、 CLK_DIV.v:系統運行時鐘分頻文件,將系統運行時間進行分頻,通過重載提供 100K 及 1K 的模塊處理時鐘 4. I2C_FUNC.v:I2C 功能實現 5. LED_DISPLAY.v:RTC 時鐘信息寫操作函數 6. TRAN_HEX_LED.v:數碼管顯示函數 7. main.ucf:FPGA 管腳分配程序5.4實驗步驟:5.4.1創(chuàng)建工程1.雙擊桌面Xilinx ISE8.2 快捷方式或者選擇【開始】/【所有程序】/【Xilinx ISE 8.2i】/【Project Navigator】打開 ISE 工程管理器(Project Navigator)。 2.打開Project
44、 Navigator后,選擇 File New Project,彈出新建工程對話框。在工程路徑中單擊“”按鈕,選擇工程存放的目錄工程存放的目錄,單擊確定,Project Name(工程名稱)輸入工程名lab4。點擊【Next】按鈕,彈出器件特性對話框。器件族類型(Device Family)選擇“Virtex2P”,器件型號(Device)選“XC2VP30ff896-7”,綜合工具(Synthesis Tool)選“XST(VHDL/Verilog)”,仿真器(Simulator)選“ISE Simulator”。單擊【Next】直到【Finish】。5.4.2添加源代碼在【Sources】
45、面板右擊,選【Add Source】按鈕,指向工程存放的目錄文件夾下,打開main.v文件。如圖5-4所示。用【Add Source】命令接著添加【v2_dcm.xaw】【CLK_DIV.v】【I2C_FUNC.v】【TRAN_HEX_LED.v】【LED_DISPLAY.v】以及約束文件【main.ucf】文件,方法和添加頂層模塊相同。5.4.3配置下載文件雙擊【Generate Programming】生成可下載的bit文件。展開【Processes】欄的【Generate Programming】旁的“”號,雙擊【Configure Device】打開iMPACT下載程序。彈出【iMPA
46、CTWelcome to iMPACT】對畫框,選中【Configure devices using BoundaryScan(JTAG)】,單擊【FINISH】。彈出【Assign New Configuration File】對話框,即給器件指定配置文件,其中前兩個器件為PROM和CPLD,都選擇【Bypass】按鈕,最后一個器件為FPGA,選擇【main.bit】文件,選擇【Open】按鈕。 彈出的對話框單擊【OK】,彈出一個警告信息,單擊【OK】按鈕。右擊最后一個器件,單擊【Program】彈出的對話框單擊【OK】,如果下載成功則出現Program Succeed。5.5實驗結果數碼管
47、將顯示RTC時鐘,如圖5-1所示顯示為“23”秒,圖5-2顯示“28”秒,反應時鐘在變化。圖5-1 圖5-2 4 FPGA實驗拓展4.1實驗目的:深入理解實驗二的內容了解16*16LED點陣的控制程序通過LED點陣設計自己喜歡的圖案4.2實驗內容定時時鐘設計;LED點陣亮點顯示“陳小慧”三個漢字和一個笑臉圖案。4.3實驗步驟: 實驗步驟與實驗二的一樣,只是將dot.v源文件代碼改為如下:module my_hart(cpld_cona,cpld_conb,reset,dot_data,dot_con,clk);output cpld_cona;output cpld_conb;input re
48、set;output 15:0dot_data;output 15:0dot_con;input clk;reg dot_con;reg dot_data;reg 15:0cnt_1k;reg clk_1k;reg 3:0cnt;parameter freq_1k=16'h3a98;/cpld pinsassign cpld_cona=1;assign cpld_conb=1;/iniinitialbeginclk_1k=0;cnt_1k=0;cnt=0;end/freqalways(posedge clk)beginif(reset=0)begincnt_1k<=0;clk_1
49、k<=0;endelse if(cnt_1k=freq_1k)begincnt_1k<=0;clk_1k<=clk_1k;endelse cnt_1k<=cnt_1k+1;end/always(posedge clk_1k)if(reset=0)cnt<=0;elsebegincase(cnt)'h0:begindot_con<='h8000;dot_data<='hD17F; end'h1:begindot_con<='h4000;dot_data<='hEAE3;end'h2:begindot_con<='h2000;dot_data<='hE0D5;end'h3:begindot_con<='h1000;dot_data<='hF0AA;end'h4:begindot_con<='h0800;dot_data<='hE0BE;end'h5:begindot_con<='h0400;dot_data<='hC42A;end'h6:begindot_con<='h0200;dot_data<='
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 確立商務英語專業(yè)發(fā)展的目標與關鍵問題試題及答案
- 檢驗內科學試題及答案
- 安全工程師在施工后評估中的作用試題及答案
- 教師如何通過反思提升教育教學質量試題及答案
- 電荷的測試題及答案
- 肺積聚的護理試題及答案
- 安全工程師職業(yè)質量與施工安全的關系試題及答案
- 注冊土木工程師考試職場應用分析試題及答案
- 深入理解施工安全法規(guī)的試題及答案
- 電動汽車發(fā)展史與未來展望試題及答案
- 2025年地理高考復習 專題05“演變過程類”選擇題答題技巧(解析版)
- 軟切片安全挑戰(zhàn)-全面剖析
- 運動康復與體能訓練理療中心商業(yè)計劃書
- 山東能源電力集團招聘筆試題庫2025
- GB/T 3091-2025低壓流體輸送用焊接鋼管
- 湖北省武漢市2025屆高中畢業(yè)生四月調研考試生物試題及答案(武漢四調)
- 武漢2025屆高中畢業(yè)生二月調研考試數學試題及答案
- 物業(yè)財務知識培訓課件
- 第四單元 社會爭議解決(大單元教學設計)高二政治同步備課系列(統編版選擇性必修2)
- 泌尿外科學(醫(yī)學高級)-案例分析題-9
- 2024年中考物理試題分類匯編:浮力及其應用(原卷版 )
評論
0/150
提交評論