




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
ISE應用基礎實驗重點
ISE9.1使用流程實驗ArchitectureWizard與PACE實驗綜合技術實驗IP核生成工具使用實驗背景了解FPGA的實驗、項目研發與設計流程,了解ISE軟件在FPGA項目設計中的作用、組成部分和基本操作步驟。1ISE9.1使用流程實驗實驗目的(1)熟悉ISE9.1的開發環境,掌握工程的生成方法。(2)熟悉SEED-XDTKXUPV2Pro實驗與仿真設計的環境。(3)了解PicoBlaze8bit嵌入式微控制器特點。ISE9.1窗口圖1實驗內容(1)創建工程。(2)添加HDL資源文件。(3)配置一個應用程序完成設計。(4)設計的仿真及實現。實驗準備(1)將光盤下03.ExamplesofProgram實驗程序目錄下的01.ISE9.1文件夾復制到E盤根目錄下。(2)將USB下載電纜與計算機及XUPV2Pro板的J8連接好。(3)將RS232串口線一端與計算機連接好,另一端與板卡的J11相連接。(4)啟動計算機后,將XUPV2Pro板的電源開關SW11打開到“ON”上。觀察XUPV2Pro板上的+2.5V,+3.3V,+1.5V的電源指示燈是否均亮,若有不亮的,請斷開電源,檢查電源。實驗步驟創建工程1)雙擊桌面XilinxISE9.1的快捷方式,打開ISE工程管理器(ProjectNavigator)。2)打開ProjectNavigator后,選擇“File”→“NewProject”,彈出新建工程對話框,如圖5.2所示。圖23)在工程路徑中單擊“…”按鈕,將工程指定到如下目錄后單擊“確定”按鈕:4)在工程名稱中輸入Flow_lab,單擊“Next”按鈕,彈出器件特性對話框。器件族類型(DeviceFamily)選擇“Virtex2P”,器件型號(Device)選擇“XC2VP30ff896-7”,綜合工具(SynthesisTool)選擇“XST(VHDL/Verilog)”,仿真器(Simulator)選擇“ISESimulator”,如圖5.3所示。圖35)單擊“Next”按鈕,彈出“CreateNewSource”對話框,可以使用這個對話框來創建新的HDL資源文件,或者也可以創建工程后,新建HDL資源文件,如圖5.4所示。圖46)單擊“Next”按鈕,彈出添加存在資源對話框,如圖5.5所示。圖5添加HDL資源文件1)單擊“AddSource”按鈕,指向E:\01.ISE9.1\KCPSM3\VHDL(Verilog)目錄,選擇kcpsm3_int_test和kcpsm3文件,單擊“Open”按鈕,如圖5.6所示。圖62)單擊“Next”按鈕,彈出工程信息后單擊“Finish”按鈕,如圖5.7所示。圖73)單擊“OK”按鈕,資源文件添加完成,如圖5.8所示。圖8注意:在工程中你會看到一個int_test模塊出現紅色問號,這是工程中缺少資源文件的標記,在下一步將會解決此問題。圖9配置一個應用程序完成設計1)打開E:\01.ISE9.1\KCPSM3目錄下的Assembler文件夾。注意,KCPSM3.exe匯編編譯系統執行文件和ROM_form模板文件與兩個PSM例子文件必須在這個目錄下。緊記匯編編譯器生成的用于程序內存的VHDL/Verilog文件會在這個目錄下,如圖5.9所示。圖102)用文件編輯器打開int_test.psm文件,瀏覽一下代碼,此檔就是設計者編寫和輸入的源文件。3)在開始菜單中的所有程序的附件上單擊“命令提示符”,使用cd命令指向匯編編譯器的目錄下,輸入“kcpsm3int_test.psm”命令,如圖5.10所示。4)執行完命令后,會看到在Assembler下生成了一些文件,其中包括VHDL(int_test.vhd)和Verilog(int_test.v)。5)在ISEProjectNavigator,單擊“Project”→“AddCopyofSource”,指向E:\01.ISE9.1\KCPSM3\Assembler目錄下的int_test.vhd或者int_test.v文件,如圖5.11所示。圖11圖12單擊“打開”按鈕,如圖5.12所示。圖13單擊“OK”按鈕后,將int_test.vhd或者int_test.v文件添加到工程里,則解決了出現紅色問號的問題,如圖5.13所示。設計的仿真1)在ISEProjectNavigator中單擊“Project”→“AddCopyofSource”,指向E:\01.ISE9.1\KCPSM3\vhdl(或者Verilog)目錄,選擇test_bench.vhd(或者testbench.v)文件,單擊“打開”按鈕,如圖5.14所示。圖142)選擇“SimulationOnly”,單擊“OK”按鈕,則將測試范本(Testbench)test_bench.vhd/.v文件添加到工程里,如圖5.15所示。圖153)單擊Sourcese窗口中的“testbench”,則在Processes窗口中顯示“XilinxISESimulator”工具欄,擴展開后,右鍵單擊“SimulatorBehavioralModel”,選擇“Properties”,對“SimulationRunTime”輸入10000ns,單擊“OK”按鈕,如圖5.16所示。圖164)雙擊Processes窗口中的“SimulateBehavioralModel”對設計進行仿真,將在右方窗口彈出仿真結果的波形,如圖5.17所示。圖17設計的實現1)在工程的Sources窗口“Sourcesfor”選擇“Synthesis/Implementation”,并單擊工程的頂層文件kcpsm3_int_test.vhd/v,如圖5.18所示。圖182)在工程的資源操作窗(Processes),雙擊“ImplementDesign”,如圖5.19所示。圖193)當實現設計(ImplementDesign)運行的過程中,展開實現(ImplementDesign)的步驟,會看到實現過程中,首先是進行綜合(Synthesis),然后才依次完成實現的步驟。當完成相關操作后,在每個操作步驟前會顯示一個小圖標,表示該步驟的完成情況。對于本設計,在一些操作步驟前顯示的是嘆號,這些警告是可以忽略的。圖5.19示意如下:對號(√)表示該操作步驟成功完成;嘆號(!)表示該操作步驟雖完成但有警告信息;叉號(×)表示該操作步驟因錯誤而未完成。4)當完成這些操作步驟后,生成相應的操作報告供查看。實現操作完成后,再看designutilization的DesignSummary窗口,如圖5.20所示。注意:此窗口中的信息包括資源利用率,在調試的過程中這個很重要。圖20ISE結構向導(ArchitectureWizard)功能可快速配置高性能芯片特性,時鐘向導(ClockingWizard)功能則支持對Virtex-IIProTM系列器件進行高級內部FPGA時鐘配置。PACE(ISE引腳和區域約束編輯器)通過易于使用的圖形接口提供了高級引腳管理和邏輯區塊平面規劃能力,PACE包括了針對并發開關輸出(SSO)的關鍵工程規則檢查功能,可幫助確定潛在的地反彈問題。2ArchitectureWizard與PACE實驗實驗目的(1)熟悉并使用ArchitectureWizard。(2)掌握如何例化DCM模塊單元。(3)熟悉并使用PACE。實驗內容(1)使用ArchitectureWizard生成DCM模塊單元。(2)將例化DCM模塊單元添加到工程。(3)使用PACE進行引腳位置鎖定。實驗準備(1)將光盤下03.ExamplesofProgram實驗程序目錄下的01.ISE9.1文件夾復制到E:盤根目錄下。(2)將USB下載電纜與計算機及XUPV2Pro板的J8連接好。(3)將RS232串口線一端與計算機連接好,另一端與板卡的J11相連接。(4)啟動計算機后,將XUPV2Pro板的電源開關SW11打開到“ON”上。觀察XUPV2Pro板上的+2.5V,+3.3V,+1.5V的電源指示燈是否均亮,若有不亮的,請斷開電源,檢查電源。(5)打開超級終端。實驗步驟(1)使用ArchitectureWizard生成DCM模塊單元1)選擇“Start”→“Programs”→“XilinxISE9.1i”→“ProjectNavigator”,進入ISE的ProjectNavigator環境。2)選擇“File”→“OpenProject”,并指向如下目錄,選擇“arwz_pace.ise”打開工程。Verilog使用者:E:\01.ISE9.1\xupv2pro\labs\verilog\lab2\arwz_paceVHDL使用者:E:\01.ISE9.1\xupv2pro\labs\vhdl\lab2\arwz_pace3)雙擊Processes窗口中的“CreatNewSource”,彈出新資源向導窗口,選擇“IP(CoreGen&ArchitectureWizard)”,輸入my_dcm,如圖5.21所示。圖214)單擊“Next”按鈕,彈出SelectIP窗口,展開FPGAFeaturesandDesign和Clocking目錄,選擇“SingleDCMv9.1”,如圖5.22所示。圖225)單擊“Next”按鈕,顯示新建資源信息。單擊“Finish”按鈕,則彈出XilinxClockingWizard–GeneralSetup窗口,選中CLK0,CLKFX和LOCKED,不選中RST,輸入時鐘頻率為100MHz,如圖5.23所示。圖236)單擊“Next”按鈕,彈出XilinxClockingWizard–ClockBuffers窗口,保持默認選項,如圖5.24所示。圖247)單擊“Next”按鈕,彈出XilinxClockingWizard–ClockingFrequencySynthesizer窗口,輸入50MHz輸出頻率,如圖5.25所示。圖258)單擊“Next”按鈕,顯示新建資源信息。單擊“Finish”按鈕,則在工程的Sources窗口看到my_dcm.xaw作為資源添加到工程中,但沒有作為一個模塊加入頂層設計文件中,則需要下一步的例化過程,如圖5.26所示。圖26(2)DCM組件的例化1)選中my_dcm.xaw文件,則在工程的Processes窗口雙擊“ViewHDLSource”,在HDL編輯器中可以看到由ArchitectureWizard生成的DCM的VHDL源代碼。此代碼中包含了一個IBUFG、一個DCM和兩個BUFG例化的組件。輸入時鐘CLKIN_IN驅動IBUFG,輸出的時鐘與DCM相接,CLKFX_BUF和CLK0_BUF輸出時鐘驅動BUFG組件,所有的DCM屬性使用VHDLgeneric語句傳遞。
2)在工程的Sources窗口,雙擊“uart_clock.vhd”在HDL編輯器中打開源代碼。3)在工程的Sources窗口,選擇my_dcm.xaw,在Processes窗口雙擊“ViewHDLInstantiationTemplate”在HDL編輯器中打開例化組件的模板。在HDL例化范本my_dcm.vhi中,復制組件聲明(從COMPONENTmy_dcm到ENDCOMPONENT)并粘貼到uart_clock.vhd代碼中的“--InsertDCMcomponentdeclarationhere”注釋的下方。4)在uart_clock.vhd代碼中的“--InsertDCMcomponentinstantiationhere”注釋下方,添加下列對端口的名稱映像代碼,完成對組件的例化。Inst_my_dcm:my_dcmPORTMAP(CLKIN_IN=>clk,CLKFX_OUT=>clk50MHz,CLKIN_IBUFG_OUT=>open,CLK0_OUT=>open,LOCKED_OUT=>lock);5)在“--SignalsforDCM,asfollows:”注釋的下方添加DCM的50MHz的信號聲明:signalclk50MHz:std_logic;6)在實體說明里添加lock輸出管腳如下:entityuart_clockisPort(tx:outstd_logic;rx:instd_logic;alarm:outstd_logic;clk:instd_logic;lock:outstd_logic);enduart_clock;7)保存后,my_dcm.xaw作為一個模塊加入頂層設計文件中,如圖5.27所示。圖27(3)使用PACE進行管腳分配1)在工程的Sources窗口,選擇頂層設計文件uart_clock.vhd/.v,則在Processes窗口,擴展UserConstraints并雙擊“AssignPackagePins”打開PACE,在此過程中彈出詢問是否添加UCF文件到工程中對話框,單擊“yes”按鈕。用VHDL做實驗時,如果PACE沒有自動跳出,可把lab2復制到根目錄下再打開工程。注意:在PACE能啟動之前必須先進行綜合。2)在PACE中瀏覽DesignObjectList-I/OPins窗口,如圖5.28所示,可看到所列的信號名稱和信號方向是Output還是Input。在Loc欄里每個信號對應于FPGA的管腳,FPGA的管腳分配需查看光盤數據../02.Schmatic目錄下的原理圖。圖283)保存后出現“BusDelimiter”對話框,如圖5.29所示。選擇“XSTDefault”,單擊“OK”按鈕。將DeviceArchitecture窗口放大直到可以看清每個管腳。圖294)保存后出現“BusDelimiter”對話框,選擇“XSTDefault”,單擊“OK”按鈕。單擊菜單欄中的“File”→“Exit”,退出PACE;5)單擊工程中Sources窗口中的uart_clock.ucf文件,然后雙擊Prosesses窗口中UserConstraints目錄下的“EditConstraints(Text)”,就可以看到由PACE生成的uart_clock.ucf管腳約束文件,如圖5.30所示。圖301)單擊工程中的Sources窗口的uart_clock.vhd/v文件,然后打開Processes窗口中的ImplementDesign目錄下的Place&Route目錄,雙擊“PadReport”。當Place&Route完成后,“PadReport”在HDL編輯器中打開,可以看“PadReport”來確定I/O信號管腳約束是否與分配的管腳相匹配,如圖5.31所示。(4)檢查Pad報告并打開超級終端2)從開始菜單的“File”→所有程序→附件→通訊中單擊超級終端,輸入名字并單擊“OK”按鈕,選擇COM1作為端口連接,單擊“確定”按鈕后按照圖5.31進行設定,最后單擊“確定”完成設定。圖313)單擊超級終端菜單中屬性中的設置,單擊“ASCII碼設置”,選中“將換行符附加到傳入行末尾”并單擊“確定”按鈕。再次單擊“確定”按鈕退出屬性對話框,如圖5.32所示。圖321)給板卡上電,打開SW11開關。2)單擊工程的頂層文件uart_clock.vhd/v文件,然后雙擊Processes窗口中“GenerateProgrammingFile”來生成此工程的Bitstream文件并下載到芯片中去。3)當這個過程完成后,打開GenerateProgrammingFile目錄,雙擊“ConfigureDevice(iMPACT)”,彈出“iMPACT”對話框后選擇“ConfigureDevicesusingBoundary-Scan(JTAG)”,然后單擊“Finish”按鈕,如圖5.33所示。(5)程序的下載并操作UART實時時鐘圖334)等到彈出“AssignNewConfigurationFile”對話框后,前兩個器件都選擇“bypass”按鈕,對于最后一個器件單擊uart_clock.bit文件選擇“Open”按鈕,然后再單擊“OK”按鈕后彈出一個警告信息,單擊“OK”按鈕,如圖5.34所示。圖345)在iMPACT窗口右鍵單擊“xc2vp30”,選擇“Program”后彈出ProgrammingProperties窗口,單擊“OK”按鈕,如果下載成功則出現“ProgramSucceeded”,如圖5.35所示。圖356)在超級終端窗口則會看到KCPSM3>提示符,如圖5.36所示。注意:這里超級終端是否顯示成功不僅與下載是否成功有關,而且還與電腦的連接有關。如果COM1不行的話,可以試一下COM2。圖367)在KCPSM3>提示符后輸入“time”命令,則會以hh:mm:ss格式顯示當前時鐘,如圖5.37所示。圖378)在命令提示符后輸入“alarm”命令,則以hh:mm:ss形式顯示當前警告時間,此時alarm是關閉的,如圖5.38所示。圖389)輸入“alarmon”命令,則警告變成有效,然后輸入“alarm00:00:30”設定警告時間為30s,輸入“time00:00:00”設定時間后,會看到板卡上的LED1燈會在30s警告后熄滅。當你輸入“alarmoff”命令后則關閉警告,LED1燈則再次亮起。FPGA設計一般使用同步時序電路。同步時序電路基于時鐘觸發沿設計,對時鐘的周期、占空比、延時和抖動提出了很高的要求。為了滿足同步時序設計的要求,一般在FPGA設計中采用全局時鐘資源驅動設計的主時鐘,以達到最低的時鐘抖動和延遲。FPGA全局時鐘資源一般使用全銅層工藝實現,并設計了專用時鐘緩沖與驅動結構,從而使全局時鐘到達芯片內部的所有可配置單元(CLB)、I/O單元(IOB)和選擇性塊RAM(BlockSelectRAM)的時延和抖動都為最小。為了適應復雜設計的需要,Xilinx的FPGA中集成的專用時鐘資源與數字延遲鎖相環(DLL)的數目有所增加。3全局時序約束實驗實驗目的1)學習使用約束編輯器(ConstraintsEditor)設置全局時序約束。2)通過分析映像后的靜態時序報告來檢驗時序約束的實現。3)通過分析布局布線后靜態時序報告來確認實際的設計效果。實驗內容通過設置全局時序約束來提高系統時鐘頻率,用映像后的靜態時序報告和布線布局后的靜態時序報告來分析設計的性能。實驗準備(1)將光盤下03.ExamplesofProgram實驗程序目錄下的01.ISE9.1文件夾復制到E:盤根目錄下。(2)將USB下載電纜與計算機及XUPV2Pro板的J8連接好。(3)將RS232串口線一端與計算機連接好,另一端與板卡的J11相連接。(4)啟動計算機后,將XUPV2Pro板的電源開關SW11打開到“ON”上。觀察XUPV2Pro板上的+2.5V,+3.3V,+1.5V的電源指示燈是否均亮,若有不亮的,請斷開電源,檢查電源。實驗步驟(1)編譯范本中的匯編1)選擇“Start”→“Programs”→“XilinxISE9.1i”→“ProjectNavigator”,進入ISE的ProjectNavigator環境。2)選擇“File”→“OpenProject”,并指向如下目錄,選擇time_const.ise打開工程。Verilog使用者:E:\01.ISE9.1\xupv2pro\labs\verilog\lab3\time_constVHDL使用者:E:\01.ISE9.1\xupv2pro\labs\vhdl\lab3\time_const3)選擇“Start”→“Programs”→“Accessories”→“CommandPrompt”,打開命令提示符,并使cd命令指向如下的匯編編譯器的目錄下,如圖5.40所示。圖40在提示符后輸入kcpsm3program.psm命令,執行結束后的結果如圖5.41所示。圖414)執行完命令后,會看到在Assemble下生成了一些文件,其中包括VHDL(program.vhd)和Verilog(program.v),這就是匯編編譯系統將編寫的匯編源文件program.psm自動生成了用于程序內存的VHDL/Verilog格式文件,用于綜合和仿真。將生成的program.vhd/v文件添加到工程中。
5)單擊工程Sources窗口中的頂層文件loopback.vhd,然后雙擊Processes窗口中Synthesis-XST目錄下的“CheckSyntax”,檢驗添加的文件是否有語法錯誤。(2)輸入全局時鐘約束1)單擊工程Sources窗口中的頂層文件loopback.vhd,然后雙擊Processes窗口中的UserConstraints目錄下的“CreateTimingConstraints”,如圖5.42所示。圖422)本工程若沒有UCF文件,則彈出提示對話框,單擊“Yes”按鈕,將自動生成UCF文件為loopback.ucf,并添加到工程中,如圖5.43所示。圖433)當打開約束編輯器時,選中“Globle”全局約束窗口,如圖5.44所示。圖444)雙擊Period列下的單元格,彈出“ClockPeriod”對話框,可以設置Period約束。例如輸入10ns,單擊“OK”按鈕,如圖5.45所示。圖455)雙擊PadtoSetup列下的單元格,彈出對話框并輸入6ns,單擊“OK”按鈕,完成輸入延遲約束設置,如圖5.46所示。圖466)單擊ClocktoPad列下的單元格,彈出對話框并輸入7.5ns,單擊“OK”按鈕,完成輸出延遲約束設置,如圖5.47所示。圖477)選擇“File”→“Save”保存,然后選擇“Exit”退出約束編輯器,如圖5.48所示。圖48(3)輸入引腳位置約束大部分的FPGA在設計完成前就進行了引腳分配。在這個實驗中,通過UCF文件手動輸入來分配輸入/輸出引腳的位置,也可以使用PACE進行引腳位置分配。區域約束的主要目的是關聯耦合邏輯,減少后續布線壓力;其次是加大資源利用率,距離近的信號延遲不一定就小,信號線上延遲主要是來自線與線之間的轉接(如LUT,switch-box)。由于FPGA內部連接的結構是橫縱兩向的,斜向的連接延遲會大于橫、縱方向上的最大跨度連接延遲。所以,在進行位置約束時應盡量避免斜向;而區域約束要寬松,如果沒有資源上的顧慮,約束面積建議為所需的3倍以上。需要注意的是,區域約束對時序的改善貢獻很小,緊的約束甚至有惡化時序的可能。1)單擊工程Sources窗口中的頂層文件loopback.vhd,然后雙擊Processes窗口中的UserConstraints目錄下的“EditTimingConstraints(Text)”,打開loopback.ucf文件。2)從XUPVirtex-IIPro使用手冊可知,關于IO引腳位置的設置如表5.1所示。表1PinNameDirectionWidthXUPBoardcinnectionclkInput1bit100MHzclockoscillatorrstInput1bitUsecenterpushbuttonswitchesInput4bit8Slideswitches(usefirstfour)rs232_rxInput1bitRS-232serialreceiveLEDsOutput4bit4LEDsrs232_tsOutput1bitRS-232serialtransmit(4)實現設計并進行時序分析執行此步驟是通過映像實現設計,并生成映像后時序報告。在時序分析器(TimingAnalyzer)中打開此報告,通過此報告可以驗證時序約束是否實現,以此避免浪費布局布線的時間。
1)單擊工程的Sources窗口中的頂層文件loopback.vhd文件,展開Processes窗口中的“ImplementDesign”,然后再展開Map目錄下的“GeneratePost-MapStaticTiming”,右鍵單擊“AnalyzePost-MapStaticTiming(TimingAnalyzer)”并選擇“RerunAll”。2)單擊“AnalyzeAgainstTimingConstraints”按鈕,映像如表5.2所示。表2Chart1PERIODconstraint(DCMclock)OFFSETINconstraintOFFSETOUTconstaintConstraint20ns6ns7.5nsPost-Map~5.3ns~2.7ns~2.19ns3)在時序報告窗口中可以看到時序約束報告,分析每個時序路徑約束,注意線網延遲。4)“e”代表評估。實際的線網延遲是在布局布線后計算出來的。5)退出時序分析器后,在Processes窗口,展開Place&Route目錄下的“GeneratePost-Place&RouteStaticTiming”,雙擊“AnalyzePost-Place&RouteStaticTiming(TimingAnalyzer)”,完成表5.3,并與表5.2進行對照比較。Chart2PERIODconstraint(DCMclock)OFFSETINconstraintOFFSETOUTconstaintConstraint20ns6ns7.5nsPost-P&R~7.6ns~4.9ns~2.15ns表3(5)生成軟件并進行HDL仿真1)打開本實驗的Assembler文件包內的program.psm文件,此匯編范本的匯編代碼含有三部分。2)在匯編范本Task#1部分中,添加如下匯編語句,編寫完成后,要重新用匯編編譯系統把編寫的匯編源文件program.psm自動生成用于程序內存的VHDL/Verilog格式文件。在匯編范本涉及到的端口值的常量,參考PicoBlaze的指南,而代碼的編寫參考KCPSM3的使用手冊。3)在工程中選擇Project下拉菜單中的“AddSource”,選擇lab3目錄下的testbench.vhd文件(testbench主要是為了對電路進行仿真驗證,測試設計電路的功能,部分性能是否與其的目標相符),此文件為測試激勵文件,仿真結果波形如圖5.49所示。圖49綜合是FPGA/CPLD設計流程中的重要環節,綜合的結果優劣直接影響布局布線結果的最終效能。好的綜合器能使設計占用芯片的物理面積最小,工作頻率最快,這也是評定綜合器優劣的兩個重要指標。4綜合技術實驗實驗目的(1)學習使用保留層次和扇出綜合這些選擇來提高調試和綜合結果。(2)通過讀取XST軟件的綜合報告來確認綜合結果質量。實驗內容(1)修改XST綜合選項。(2)分析綜合報告。實驗準備(1)將光盤下03.ExamplesofProgram實驗程序目錄下的01.ISE9.1文件夾復制到E:盤根目錄下。(2)將USB下載電纜與計算機及XUPV2Pro板的J8連接好。(3)將RS232串口線一端與計算機連接好,另一端與板卡的J11相連接。(4)啟動計算機后,將XUPV2Pro板的電源開關SW11打開到“ON”上。觀察XUPV2Pro板上的+2.5V,+3.3V,+1.5V的電源指示燈是否均亮,若有不亮的,請斷開電源,檢查電源。(5)打開超級終端。實驗步驟(1)瀏覽設計并生成軟件1)選擇“Start”→“Programs”→“XilinxISE9.1i”→“ProjectNavigator”,進入ISE的ProjectNavigator環境。2)選擇“File”→“OpenProject”,并指向如下目錄,選擇synth_lab.ise打開工程。Verilog使用者:E:\01.ISE9.1\xupv2pro\labs\verilog\lab4\synth_labVHDL使用者:E:\01.ISE9.1\xupv2pro\labs\vhdl\lab4\synth_lab3)用文件編輯器打開在lab4目錄下的Assembler文件包中的program.psm,在此匯編范本的task#2部分添加代碼。
4)在開始菜單中的所有程序的附件上單擊命令提示符,使用cd命令指向匯編編譯器的目錄下,在提示符后輸入kcpsm3program.psm,命令如圖5.50所示。圖505)匯編編譯系統把編寫的匯編源文件program.psm自動生成的用于程序內存的VHDL/Verilog格式文件program.vhd/v添加到工程中。(2)默認選項進行綜合和實現1)在工程的Sources窗口單擊頂層文件loopback.vhd/v文件,雙擊Processes窗口中的“Synthesize–XST”進行綜合。2)綜合完成后,雙擊“ViewSynthesisReport”,在此報告中會看到“TimingSummary”,時鐘頻率評估值為395.749MHz(注意這些結果會因為每個PC系統的不同而不一樣),如圖5.51所示。圖513)在此報告中找到“Deviceutilizationsummary”,信息如下:(3)改變選項進行綜合和實現1)右鍵單擊“Synthesize”并選擇“Properties”,彈出“ProcessProperties”對話框,將“KeepHierarchy”值選為“Yes”,然后單擊“OK”按鈕,重新雙擊Processes窗口中的“Synthesize-XST”進行綜合,如圖5.52所示。圖522)綜合完成后,雙擊“ViewSynthesisReport”,在此報告中會看到“TimingSummary”,時鐘頻率評估值為375.023MHz,可以比較默認選項時候的結果,如圖5.53所示。圖533)在此報告中找到“Deviceutilizationsummary”,信息如下,可以比較默認選項時候的結果。4)在此報告中也可看到線網最多的扇出(Fanout:一邏輯門的輸出需要驅動多個等效門的輸入,稱輸出端接的需要驅動的等效門數為扇出“Fanout”)為71,如圖5.53所示。扇出會引起布線問題,因此綜合會通過復用門或者嵌入緩存來限制扇出數。這個限制不是技術上的限制,而是作為XST的指導,當這個限制很小(小于30)時可以忽略,如圖5.54所示。圖545)右鍵單擊“Synthesize”并選擇“Properties”,彈出“ProcessProperties”對話框,單擊Category窗口的“XilinxSpecificOptions”,將“MaxFanout”值改為50,單擊“OK”按鈕。重新雙擊Processes窗口中的“Synthesize-XST”進行綜合,如圖5.55所示。圖556)綜合完成后,雙擊“ViewSynthesisReport”,則在此報告中也可看到線網最多的扇出為40,如圖5.56所示。圖567)在此報告中找到“TimingSummary”,時鐘頻率評估值為378.146MHz,如圖5.57所示。圖57(4)下載并測試系統1)在工程的Sources窗口單擊頂層文件loopback.vhd/v文件,展開Processes窗口中的“GenerateProgrammingFile”,雙擊“ConfigureDevice(iMPACT)”。2)彈出“WelcomeiMPACT”對話框后,選擇“ConfiguredevicesusingBoundary-Scan(JTAG)”,單擊“Finish”按鈕,按照ISE9.1程序下載過程,將loopback.bit文件下載到FPGA中后,超級終端顯示如圖5.58所示。圖58
IP核生成器(COREGenerator)是XilinxFPGA設計中的一個重要設計輸入工具,它將原有驗證過的設計模塊重新利用,也就是一般的IP復用工具。它提供了大量成熟、高效的IP核為用戶使用,這些IP核直接用XilinxFPGA底層硬件語言描述。該工具可以生成用戶所需的IP核,在實際工程中例化。CoreGenerator可生成的IP核大致分為:基本模塊、通信與網絡模塊、數字信號處理模塊、數學功能模塊、內存模塊、微處理器、控制器與外設模塊、標準與協議數據單元到復雜功能樣機的眾多設計,這些IP核是根據Xilinx的FPGA器件特點和結構而設計的,直接用XilinxFPGA底層硬件語言描述,充分發揮了FPGA的功能(本實驗是在VHDL環境下實現的)。5IP核生成工具使用實驗實驗目的(1)學會使用IP核生成工具(COREGenerator)。(2)例化組件到工程中。實驗內容(1)IP核生成工具(COREGenerator)生成雙口BlockRAM。(2)將生成的內存例化到工程中。(3)進行行為仿真并在板卡上驗證設計。實驗準備(1)將光盤下03.ExamplesofProgram實驗程序目錄下的01.ISE9.1文件夾復制到E:盤根目錄下。(2)將USB下載電纜與計算機及XUPV2Pro板的J8連接好。(3)將RS232串口線一端與計算機連接好,另一端與板卡的J11相連接。(4)啟動計算機后,將XUPV2Pro板的電源開關SW11打開到“ON”上。觀察XUPV2Pro板上的+2.5V,+3.3V,+1.5V的電源指示燈是否均亮,若有不亮的,請斷開電源,檢查電源。(5)打開超級終端。實驗步驟(1)生成ROM初始化文件1)選擇“Start”→“Programs”→“XilinxISE9.1i”→“ProjectNavigator”,進入ISE的ProjectNavigator環境。2)選擇“File”→“OpenProject”,并指向如下目錄,選擇“coregen_lab.ise”打開工程。Verilog使用者:E:\labs\verilog\lab5\coregen_labVHDL使用者:E:\labs\vhdl\lab5\coregen_lab3)用文件編輯器打開lab5目錄下的Assembler文件包中的program.psm匯編范本文件。(2)生成BLOCKRAMIP核1)單擊工程Sources窗口中的頂層文件loopback.vhd,然后雙擊Processes窗口中的“CreateNewSource”,彈出新資源對話框,選擇“IP(CoreGen&ArchitectureWizard)”,在欄輸入文件名稱program,如圖5.60所示。圖602)單擊“Next”按鈕后,在選擇“CoreType”對話框中,展開“Memories&StorageElements”,展開“RAMs&ROMs”,選擇“BlockMemoryGeneratorv2.1”,單擊“Next”按鈕,如圖5.61所示。圖613)彈出核信息窗口,單擊“Finish”按鈕后,彈出“COREGenerator?systemGUI”對話框,并按照以下要求配置雙口存儲塊核,單擊“Next”按鈕,如圖5.62所示。圖624)選擇以下參數:ReadWidth:18,ReadDepth:1024,Enable:AlwaysEnabled,然后單擊“Next”按鈕,如圖5.63所示。圖635)選擇以下參數,然后單擊“Next”按鈕,如圖5.64所示。ReadWidth:18ReadDepth:1024Enable:AlwaysEnabled圖64選擇“LoadInitFile”,單擊“Browse”按鈕打開lab5目錄下的Assembler文件包中program.coe文件,單擊“Next”按鈕,然后單擊“Finish”按鈕,如圖5.65所示。圖657)在ISE工程窗口生成以下信息,如圖5.66所示。圖66(3)BlockRAMIP核的例化1)雙擊工程Sources窗口的loopback.vhd文件,并選擇Edit下拉菜單中的“LanguageTemplates”,如圖5.67所示。圖672)在彈出的LanguageTemplates窗口展開“COREGEN”,然后展開“VHDLComponentInstantiation”并選擇“program”,右端則出現相應的模板,如圖5.68所示。圖683)在此模板上復制組件聲明(從componentprogram到endcomponent;)并粘貼到loopbac
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/ZHCA 013-2021潔面類化妝品眼刺激性試驗體外測試方法重建人角膜上皮模型體外刺激試驗
- 2025煙臺工程職業技術學院輔導員考試試題及答案
- 2025福建工程學院輔導員考試試題及答案
- 陜能(慶陽)能源開發有限公司招聘筆試題庫2025
- 貴州織金翔盛工業發展有限公司招聘筆試題庫2025
- 湖北宜昌高新招商投資有限公司招聘筆試題庫2025
- VI基本要素系統設計項目
- 投融資分析師職業資格考試試卷及答案2025年
- 2025年網絡技術與應用能力測試試題及答案
- 2025年數據科學與大數據技術考核試題及答案
- 信息通信建設工程預算定額 (2017版)第五冊+通信管道工程預算定額
- 產前診斷知識考核試題及答案
- 測深、測速記載及流量計算表(暢流期流速儀法)
- 顱腦外傷康復
- 室間質評不合格原因分析及糾正措施表
- 排水管網清淤疏通方案
- 鍋爐四管防磨噴涂方案
- 教學設計 可愛的家鄉保定
- GB/T 5210-2006色漆和清漆拉開法附著力試驗
- GB 20052-2020電力變壓器能效限定值及能效等級
- Introduction-to-MedDRA-M教學講解課件
評論
0/150
提交評論