武漢理工大學(xué)fpga原理及應(yīng)用實驗報告書_第1頁
武漢理工大學(xué)fpga原理及應(yīng)用實驗報告書_第2頁
武漢理工大學(xué)fpga原理及應(yīng)用實驗報告書_第3頁
武漢理工大學(xué)fpga原理及應(yīng)用實驗報告書_第4頁
武漢理工大學(xué)fpga原理及應(yīng)用實驗報告書_第5頁
已閱讀5頁,還剩225頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

序號(學(xué)號):0121309340728忒揉理7人孚實驗報告書實驗類別 FPGA原理及應(yīng)用學(xué) 院 信息工程學(xué)院專 業(yè)通信工程班 級通信1303姓 名 '處 指導(dǎo)教師 張家亮 實驗課程名稱:FPGA原理及應(yīng)用實驗項目名稱ISE應(yīng)用基礎(chǔ)實驗實驗成績梁飛專業(yè)班級通信實驗項目名稱ISE應(yīng)用基礎(chǔ)實驗實驗成績梁飛專業(yè)班級通信1303組別實驗日期實驗者同組者18ISE應(yīng)用基礎(chǔ)實驗1.1實驗?zāi)康?1)熟悉ISE9.1開發(fā)環(huán)境,掌握工程的生成方法;(2)熟悉SEED-XDTKXUPV2Pro實驗與仿真設(shè)計的環(huán)境;(3)了解PicoBlaze8-bit嵌入式微控制器特點。1.2實驗內(nèi)容(1)創(chuàng)建工程:(2)添加HDL資源文件;(3)配置一個應(yīng)用程序完成設(shè)計;(4)設(shè)計的仿真及實現(xiàn)。1.3實驗準備(1)將光盤下03.ExamplesofProgram實驗程序目錄下的01.ISE9.1文件夾拷貝到E:盤根目錄下;(2)將USB下載電纜與計算機及XUPV2Pro板的J8連接好:(3)將RS232串口線一端與計算機連接好,另一端與板卡的J11相連接;(4)啟動計算機后,將XUPV2Pro板的電源開關(guān)SW11打開到0N上。觀察XUPV2Pro板h的+2.5V,+3.3V,+1.5V的電源指示燈是否均亮,若有不亮的,請斷開電源,檢查電源。1.4實驗步驟(1)創(chuàng)建工程1)雙擊桌面XilinxISE9.1快捷方式打開ISE工程管理器(ProjectNavigator)?2)打開ProjectNavigator后,選擇FilefNewProject,彈出新建工程對話框;uiiSgI>iiM-ISI-B:\OI.LSK9.l\xa*v?9ra\lBba\*ar>lo(\lBl?4\?ynth_lal>.iaa-Lkcp?3.vjuiiSg,1 ,14'U七Xri?e?c?le1ps/lpIIIIIIIIIIIIIIIIHlIllt'〃〃/〃〃/〃/〃〃〃〃〃Fr*e?i*?iforl??pb?ckA44Ianti?cS?wc?Cr??t?Tiw,1 ,14'U七Xri?e?c?le1ps/lpIIIIIIIIIIIIIIIIHlIllt'〃〃/〃〃/〃/〃〃〃〃〃Fr*e?i*?iforl??pb?ckA44Ianti?cS?wc?Cr??t?TiwSvwaryVt?rSp>tlw*it?-XST**?1<?Upda<? vi<XFraModulekcpsnd(?ddrcss,inatructioBf\",_&畫???rt_tK(?*Qr??i??"<Mrt_xi(tuaefQ??*b*cmaynil>_l*bnQ>c2vp?-?f09B-d??0?ck??)[vj?y_k<yia3-kcpw)*^$Svorc*sPr?!薄薄薄?^$Svorc*sPr。”””圖1-2ISE工程管理器3)在工程路徑中單擊“…”按鈕,將工程指定到如下目錄,單擊確定。

Verilog使用者:E:\01.ISE9.I\xupv2pro\labs\verilog\lablVHDL使用者:E:\01.ISE9.I\xupv2pro\labs\vhdl\labl4)在工程名稱中輸入Flow」ab,點擊Next按鈕,彈出器件特性對話框。器件族類型(DeviceFamily)選擇“Virtex2P",器件型號(Device)選“XC2Vp30ff896-7”,綜合工具(SynthesisTool)選“XST(VHDL/Verilog)w,仿真器(Simulator)選"ISESimulator",如圖所示。ProductC?t?co>'y◎回因ProductC?t?co>'yEnableEnhancedDesignSumnaryDisplayIncrementalHessazes回口口EnableEnhancedDesignSumnaryDisplayIncrementalHessazes回口口FwilyVirtexZPD?vic?XC2VP30V-P*ck?<?FF896rSpeedTop-L?velSourceTypeSynthasisToolSimulatorPr?f?rr?dLanu?c?HDLXST(VHDL/V.riloc)ISESiaulator(VMDL/Veriloc)V?O)Lvaluem""""SelecttheDeviceandDesienFlowfortheProject圖1-3特性對話框5)單擊Next按鈕,彈出創(chuàng)建新資源(CreateNewSoure)對話框,可以使用這個對話框來創(chuàng)建新的HDL資源文件,或者也可以創(chuàng)建工程后,新建HDL資源文件;圖1-4圖1-4創(chuàng)建新資源對話框6)單擊Next按鈕,彈出添加存在資源對話框:圖1-5添加存在資源對話框(2)添加HDL資源文件1)點擊AddSource按鈕,指向E:\01.ISE9.1\KCPSM3\VHDL(Verilog)活頁夾下,選擇kcpsm3_int_test和kcpsm3文件,單擊Open按鈕;圖1-6操作示意2)單擊Next按鈕,彈出工程信息后單擊Finish按鈕;

CXiluui-ISE-E:\01.ISE9.l\xupv2pco\l&bs\verilo\Flov_lab\Flov_lab.iseEil.EditP^ojtct$&wc?froctttlndo*H?lp口3^392QMN廖囪區(qū)|塾目mdSovretiProctttesSovretiProcessesforxc2vpX_7ffB96□AddExtstinfSourcenCreateNevSource??D?siaUtilities圖上7操作示意£FPGADesignSunnaryProcessesfor:kcpsi?3_int_t?stSowc?sforSynth?sul^ilXll*n*nt?tionDesignOv?rvi?vpjSwmaryQlOBPropertiesIjTmiingConstraintsIjPinoulReportQClockRportErrorsandWarningsQSynth?sisMessages[jTrmxl?tionM?isac?xQW?pM?ssa?sQPieceandRouteiessaces-QTimingMessagesQBitgenMessagesAllCurrentMessagesProjectFile:■od?lelaae.kcps?3_int_testFro40ctVersion'Flow_Jab.ixc2vp30-7ff896ISE9.liFLOf_LABParti£FPGADesignSunnaryProcessesfor:kcpsi?3_int_t?stSowc?sforSynth?sul^ilXll*n*nt?tionDesignOv?rvi?vpjSwmaryQlOBPropertiesIjTmiingConstraintsIjPinoulReportQClockRportErrorsandWarningsQSynth?sisMessages[jTrmxl?tionM?isac?xQW?pM?ssa?sQPieceandRouteiessaces-QTimingMessagesQBitgenMessagesAllCurrentMessagesProjectFile:■od?lelaae.kcps?3_int_testFro40ctVersion'Flow_Jab.ixc2vp30-7ff896ISE9.liFLOf_LABPartiMopartitioninfom*tioa**sfound.BetaileiAddEx>stin{SourceCr??t?NwSourctViewDesignSunmaryDesignUtilitiesUserConstraints~iD?tail?dReports口SynthesisReportSynthesisReportStatasGeneraSynthasic?-XSTIapl?n?ntD<stcnProjectProp?rti?s0EnableEnhancedDesignSwwnary口Enable Filtering口DisplayIncrementalMesssagesEnh?nc?dDesignSwmaryContents0ShowPartitionDataIITranslationReportNapReportPlandRout*KeportStaticTimingReport圖「8資源文件添加完成注意:在工程中你會看到一個int_test模塊出現(xiàn)紅色問號,這是工程中缺少資源文件的標記,在下一步將會解決此問題。(3)配置一個應(yīng)用程序完成設(shè)計1)打開E:\01.ISE9.1\KCPSM3目錄下的Assembler文件夾。注意KCPSM3.exe匯編編譯系統(tǒng)執(zhí)行文件和ROM_form模板文件與兩個PSM例子文件必須在這個目錄下。緊記匯編編譯器生成的用于程序內(nèi)存的VHDL/Verilog文件會在這個目錄下;?Asseabler文件②Atsil)查看⑦收藏&TAd)幫助魚) 患》.■團。后退,j7/造外快區(qū)?地址S.0r\01ISM八HPS?3\A”M>bl" y£)鑄到文件和文件天任務(wù)J管健一個新文件夾J嚙這個文件夾發(fā)布到Y(jié)eb口共享缸文件夾*1gjiir^TEsrcozI^IIT.TISTDECI^IIT.nSTFWII^IIT.TESTKEI[[IIT_nSTLOGIglJT.TZSTM其它位置ft■@ir_nsrVB^jlMT.TESTVKD圖1-9程序內(nèi)存的VHDL/Verilog文件所在目錄2)用文件編輯器打開int_test.psm文件,瀏覽一下代碼,此檔就是設(shè)計者編寫和輸入的源文件;3)在開始菜單中的所有程序的附件,點擊命令提示符,使用cd命令指向匯編編譯器的目錄下,輸入〉kcpsm3inttest,psm命令;t命令提示符MicrosoftWindowsXP1版本5.1.2600J<C>版權(quán)所有1985-2001MicrosoftCorp.p:\Document*andSettIngs\AdministFator>e:^:\>cdE:\01.ISE9.1\KCPSH3\Assenbler£: .ISE9.l\KCPSM3M)ssenbler?<cpsm3int_test.psn圖1-10操作DOS命令示意)執(zhí)行完命令后,會看到在Assembler下生成了一些文件,其中包括VHDL(int_test.vhd)和Verilog(int_test.v),這就是匯編編譯系統(tǒng)把編寫的匯編源文件int_test.psm自動生成用于程序內(nèi)存的VHDL/Verilog格式文件,以用于綜合和仿真。)在ISEProjectNavigator,點擊Project AddCopyofSource,指向E:\01.ISE9.l\KCPSM3\Assembler目錄下的inttest.vhd或者int_test.v文件;

AddCopiesofExistingSources圖1-11操作示意單擊打開后如圖;圖1-12操作示意AddCopiesofExistingSources圖1-11操作示意單擊打開后如圖;點擊0K后,則將int_test.vhd或者int_test.v文件添加到工程里,解決了出現(xiàn)紅色問號的問題;Xilinx-ISE-E:\01.ISE9.l\xupv2pro\labs\verilog\Flow_lab\EditViewProjectSourceprocessJindo?Help口》同目以@XA/團因電臼mQ0[yjproctsior-kcpxm3Qccpsa3.v)[v]program-int_testdMT_TESTV)毛口》同目以@XA/團因電臼mQ0[yjproctsior-kcpxm3Qccpsa3.v)[v]program-int_testdMT_TESTV)毛Sources Snapshots的Librari”QSynthesisMessages門TranslationMessagesQffltpMessagesQPlaceandRouteMessages口TimingM?ss<c?snBitgenMessages

圖1-13操作示意(4)設(shè)計的仿真1)如前所述,在ISEProjectNavigator點擊Project AddCopyofSource,指向E:\01.ISE9.l\KCPSM3\vhdl(或者verilog)目錄,選擇testbench,vhd(或者testbench,v)文件,點擊打開;圖1-14操作示意2)選擇SimulationOnly,點擊OK,則將測試范本(Testbench)test_bench.vhd/?v文件添加到工程里;QXilinx-ISE-E:\01.ISE9.l\xupv2pro\labs\verilog\Flov_lab'工RileRditViewProjectSourceprocessYindowHelp口》同目.尸月嵐A雪國bmo-??圖1-15操作示意3)單擊Sourcese窗口中的testbench,則在Processes窗口中顯示XilinxISESimulator工具欄,擴展開后,右鍵單擊SimulatorBehavioralModel,選擇Properties,對SimulationRunTime輸入10000ns,單擊OK按鈕;

ProcessPropertiesISESinulatorPropertiesProcessPropertiesISESinulatorPropertiesUseCustomSiaul?tionConoiandPileCustomSii*ul?tionConan*adFil*Increment*!CompilationCowpilaforKDLDebugs1&CUseCustomCoapil*Fil*ListCustomConpileFil*ListRunforSp?cifi?dTint*SiaulationRuaTia(StoreAllSi0*lTransitionsDuriaSiaulktion1VHDLProptrtitspropertydispl?y :Advanc?dpropertydispl?y :Advanc?dv圖1-16操作示意4)雙擊Processes窗口中的SimulateBehavioralModel對設(shè)計進行仿真,在右方窗口彈出仿真結(jié)果的波形;IThis18?FullversionofISESlnulator.SiMilacorisdoingciccuieInitializationprocess.TiDlsbedciccuitiaitializatlODpcocess.*圖1-17仿真及結(jié)果示意(5)設(shè)計的實現(xiàn)1)在工程的Sources窗口,Sourcesfor選擇Synthesis/Implementat1)在工程的Sources頂層文件kcpsm3_int_test.vhd/v;

EXilinx-ISE-E:\01.ISES.1\xupv2pro\labs\verilogMEditVitwProjectSourceProcessWindowHelpEdit£FPGAD?signSwnmqi-iDesiOverview[7)SummaryO工OBPropert[7)TimingConsQPinoutRepc[7|ClockRepoti-iErrorsandWarninQSynthesisVUTransl&tioi目MapMessageQPlactandF[y|TimingM?si□BitgenMess圖1-18操作示意改I£ditYi^roctssWindowHelp2)在工程的資源操作窗(Processes),雙擊I£ditYi^roctssWindowHelp;;口今冒印'J3PXXJ?00::%Bm0:o?ourc”Sourcesfor:Synthesis/lBple*ent*tion V?Flow_l?bSourc”Sourcesfor:Synthesis/lBple*ent*tion V?Flow_l?bSaxc2vp30-7ff896H[v^CjQkcpsB3_int_t?stQccpsB3_int_test.v)0Processor-kcps?3Qccpsm3.v)回procrMi- QMT_TBSTV)ProcessesiGenerat.ProgrMM?in<Fil*Upd*t?BitstrcMivithProcessorData€,**AnalyzeDesignUsin^Chipscope工FPGAD?si?nSwumtry6DesignOverview0SummaryQlOBProp?rti?s■'I-^TimingConstraints-口PinoutReportQClockReport6ErrorsandWarningsQSynthesisMessagesQlrtnil*t>onM?ts?4?s-QMapMessagesnPlaceandRouteMessages口Tiein,QBitgenMessagesp)AllCurrentlessees國D?t?il?dReport*QSynthesisReport v*roj?ctProperties叼Entbl*EnhutctdD.ncntryEnableMessageFilteringDisplayIncrementalHesssa^es!nh*nc?dD”inSiMMaryCont?ntsShowPartitionDataShowErrorsLJShowWarninfsShowFailingConstraintsShowClockReportProjectFile:lodulelaae:Tar??tDevice:ProductVersion:NopartitioniiReportlaaeSynthaiisReportTranslationReportMapReportPlaceandRouttReportStaticTintingReportRitvan圖1-19操作示意3)當(dāng)實現(xiàn)設(shè)計(ImplementDesign)運行的過程中,展開實現(xiàn)(ImplementDesign)的步驟,會看到實現(xiàn)過程中,首先是進行綜合(Synthesis),然后才依次完成實現(xiàn)的步驟。當(dāng)完成相關(guān)操作后,在每個操作步驟前會顯示一個小圖標,表示該步驟的完成情況。對于本設(shè)計,在一些操作步驟前顯示的是嘆號,這些警告是可以忽略的。上圖的示意如下:令對號表示該操作步驟成功完成:。嘆號表示該操作步驟雖完成但有警告信息;

。叉號表示該操作步驟因錯誤而未完成。4)當(dāng)完成這些操作步驟后,生成相應(yīng)的操作報告供查看。實現(xiàn)操作完成后,再看designutilization的DesignSummary窗口;Lo\labs\verilog\Flo>_lab\FloT_lab.ise-[DesignSuBaary]EE?vHelpQ?IE£FPGADesignaryFLOV_ULBPrejectStatvsfaD<signOv?rvi?w[y]Sun*aryp)IOBPropcrti?>[yjTimincConstraintsPinoutReportQClockR?portrorsandYarmn<sp]SynthasisN?ss?c?s^TranslationMessagesfrojectFile:Plow_lab.iseCvrrentState:PlacedandRouted■aaekcpsa3_int_t?st?Irrers:MoErrors匕&T*rf?tBevice:xc2vp?-7f£896346IfuniMtFrodvctV*rsi?B:IS19.11?V>d?te4:星期四十一月62101:412008團MapMessagesQPlaceandBout*FLOI-LMPartiti?nary(yJTimin^Messages[jBitgealess<c?sMopartitioninfori*&tionwasfound.|^|mcurrentn?ss?g?s二Detul?dReportsQSynihtsisB?port■evieeVtilizatitnSuaaaryLegicVtilizati*UsedAvailableUtilization■ote(s) rrojactProparti?1HEnableEnhancedDesignSwiaaryLJDisplayIncreaentalMesss&{esEnhancedD?sinSwwnaryContantsNumberofSliceFlipFlops7627,392IXVunbarof4LUTsput10727,392IXHShowPartitionData口ShowErrorsL?eicBistri¥utioa口ShowWarnings口ShowFailingConstraintsKvnbtrofocSlicescupi?d9913,6961%MunbtrofSlicescontainingonlyrelatedloic9999100%7工DesignStain>u-y

實驗課程名稱:FPGA原理及應(yīng)用實驗項目名稱ArchitectureWizard與PACE實驗實驗成績實驗者梁飛 專業(yè)班級通信1303組別18同組者實驗日期ArchitectureWizard與PACE實驗L1實驗?zāi)康?1)熟悉并使用ArchitectureWizard;(2)掌握如何例化DCM模塊單元;(3)熟悉并使用PACEo1.2實驗內(nèi)容(1)使用ArchitectureWizard生成DCM模塊單元;(2)將例化DCM模塊單元添加到工程;(3)使用PACE進行引腳位置鎖定。1.3實驗準備(1)將光盤下03.ExamplesofProgram實驗程序目錄下的01.ISE9.1文件夾拷貝到E:盤根目錄下;(2)將USB下載電纜與計算機及XUPV2Pro板的J8連接好;(3)將RS232串口線一端與計算機連接好,另一端與板卡的J11相連接;(4)啟動計算機后,將XUPV2Pro板的電源開關(guān)SW11打開到0N上。觀察XUPV2Pro板上的+2.5V,+3.3V,+1.5V的電源指示燈是否均亮,若有不亮的,請斷開電源,檢查電源;1.4實驗步驟包括DCM模塊生成、DCM組件例化、管腳分配、超級終端的使用、UART實時時鐘操作等(1)使用ArchitectureWizard生成DCM模塊單元1)選擇StartfProgramsfXilinxISE9.li~ProjectNavigator,進入ISE的ProjectNavigator環(huán)境;2)選擇FileOpenProject,并指向如下目錄,選擇arwz_pace.ise打開工程;Verilog使用者:E:\01.ISE9.I\xupv2pro\labs\verilog\lab2\arwz_paceVHDL使用者:E:\01.ISE9.I\xupv2pro\labs\vhdl\lab2\arwz_pace3)雙擊Processes窗口中的CreatNewSource,彈出新資源向?qū)Т翱?,選擇IP(CoreGen&ArchitectureWizard),輸入my_dcm;

圖2-1操作示意4)單擊Next按鈕,彈出SelectIP窗口,展開FPGAFeaturesandDesign和Clocking目錄,選擇SingleDCM;圖2-2操作示意5)單擊Next按鈕,顯示新建資源信息,單擊Finish按鈕則彈出XilinxClockingWizard-GeneralSetup窗口,選中CLKO、CLKFX和LOCKED,不選中RST,輸入時鐘頻率為100MHz*XilinxClockingVizard-GenetalSetup□□oc口口-0口口-0dock".quncyCLKINSource□□oc口口-0口口-0dock".quncyCLKINSource?Ixtcmal OAteraal@Sinl*ODi££<r?ati?lDivideByValue|2T叵Us?Dut£Cjrcl*CorrectionPh”.Sh>ftTye*.NOHV?13?:iF??dbkckSowc*O?SincleDifferentialFeedbackValu*

?u&[也In£o]|^dv*ac?d圖2-3操作示意6)單擊Next按鈕,彈出XilinxClockingWizard-ClockBuffers窗口,保持默認選項;<g*ck[晝*t>jjCancel圖2-4操作示意7)單擊Next按鈕,彈出XilinxClockingWizard-ClockingFrequencySynthesizer窗口,輸入50MHz輸出頻率;

aXilinxClockincVizard-ClockFrequencySynthesizerValidR*ngforSp4Gr?4a-7 1.000-240.000 24.000-240000Mich 50000-320000 210000-320000InputsfarJitterC*leulattMi*lapvtClockFr?qu?acy100MHr(*)](>■outputfr?i?ncy. |@時Oa*。U|?Rui11ply(JI)andDividaG))valuas?H 二I D口:][Calelt]G?nrl4Ovtpvt[且’0二“1晨;’, [<Rack][ [Cue>1]圖2-5操作示意8)單擊Next按鈕,顯示新建資源信息。單擊Finish按鈕則在工程的Sources窗口看到mydem.xaw作為資源添加到工程中,但沒有作為一個模塊加入頂層設(shè)計文件中,則需要下一步的例化過程;EXilimISE-E;\OI.t£EXKn9Vc|>tD\lab3\*ctilec\l?bc\acvz_pa>?.xac SuaauyJtll<lit<lit* 2>ir<t>?essl.KlrfBd?11>klCf.;{X9a,MX,W入dnFo/、?他一NOT,8汽丸XtOOrXi6jv,S?rc??C?rS?v.?“rlnltx”isvF?nj”-[2?rrXi6jv,S?rc??C?rS?v.?“rlnltx”isvF?nj”-[2?r4cateatdc<fc0、??,?0(?.??*??)?LdA??<-*i^w<.i.??kv[y]fr?g?nM"?<>■ ?)1丫]***”9/9?344CL0CKf)0?*rl_U>clt<uf*>回&,」》)Q????.?? ,^(StWCCS 、■<??((Q*iac??*41>?.(?tosaan73“ta>MUQm卜““,.C**ityUt*?(1(*???□Clztk?,&m_r?r>Pr?*?rt<1???r*<?Bball*Fifr-T,"fgoaa,CAea5?I”,。ivw?rr(McaattICSkwIrrwaF'St?v(rnlimLSk?>CSb*—artL—— ;目(]OVr?rt!^tanuko@Td9wll??4n?>J?圖2-6操作示意DCM組件的例化選中my_dcm.xaw文件,則在工程的Processes窗口雙擊ViewHDLSource,在HDL編輯器中可以看到由ArchitectureWizard生成的DCM的VHDL源代碼。此代碼中包含了一個IBUFG、一個DCM和兩個BUFG例化的組件。輸入時鐘CLKIN」N驅(qū)動IBUFG,輸出的時鐘與DCM相接,CLKFX_BUF和CLKO_BUF輸出時鐘驅(qū)動BUFG組件,所有的DCM屬性使用VHDLgeneric語句傳遞;2)在工程的Sources窗口,雙擊uart_clock.vhd在HDL編輯器中打開源代碼;3)在工程的Sources窗口,選擇my_dcm.xaw,在Processes窗口雙擊ViewIIDLInstantiationTemplate在HDL編輯器中打開例化組件的模板。在HDL例化范本

my_dcm.vhi中,拷貝組件聲明(從COMPONENTmy_dcm到ENDCOMPONENT)并粘貼到uartclock.vhd代碼中的一InsertDCMcomponentdeclarationhere注釋的下方;在uart_clock.vhd代碼中的“一InsertDCMcomponentinstantiationhere”注釋下方,添加如下對端口的名稱映像完成對組件的例化:Instmydem:mydemPORTMAP(CLKINJN二>elk,CLKFX_OUT=>clk50MHz,CLKIN」BUFG__OUT=>open,CLKO_OUT=>open,LOCKED_OUT=>lockX.),5)在“-SignalsforDCM,asfollows:M注釋的下方添加DCM的50MHz的信號聲明:signalclk50MHz:stdlogic;6)在實體說明里添加lock輸出管腳如下:entityuartclockisPort(tx:outstd_logic;rx:instd_logic;alarm:outstdlogic;elk:instd_logic;lock:outstdlogic);enduart_clock;7)保存后,my_dcm.xaw作為一個模塊加入頂層設(shè)計文件中;圖2-7操作示意(3)使用PACE進行管腳分配1)在工程的Sources窗口,選擇頂層設(shè)計文件uartclock.vhd/.v,則在Processes窗口,擴展UserConstraints并雙擊AssignPackagePins打開PACE,在此過程中彈出詢問是否添加UCF文件到工程中對話框,單擊“yes”按鈕。用VHDL做實驗時,如果PACE沒有自動跳出,可把lab2拷到根目錄下再打開工程;注意:在PACE能啟動之前必須先進行綜合。2)在PACE中瀏覽DesignObjectList-I/OPins窗口,可看到所列的信號名稱和信號方向是Output還是Input.在Loc欄里每個信號對應(yīng)于FPGA的管腳,F(xiàn)PGA的管腳分配需查看光盤數(shù)據(jù)../O2.Schmatic目錄下的原理圖,信號連接如下:Clk:連接管腳BANK4,system_clock,Loc欄中填入AJ15;Lock:連接管腳BANK3,led_0,Loc欄中填入AC4;Alarm:連接BANK3,led_l,Loc欄中填入AC3;Rx::連接MAX3232的接收串行數(shù)據(jù)管腳BANK4,RS232_RX_DATA,Loc欄中填入AJ8;Tx:連接MAX3232的發(fā)送串行數(shù)據(jù)管腳BANK4,RS232_TX_DATA,Loc欄中填入AE7。圖2-8操作示意3)保存后出現(xiàn)BusDelimiter對話框,選擇XSTDefault,單擊0K按鈕。在DeviceArchitecture窗口放大直到可以看清每個管腳:

圖2-9操作示意Alarm:連接BANK3,led_l:Rx:連接MAX3232的接收串行數(shù)據(jù)管腳BANK4,RS232RXDATA;Tx:連接MAX3232的發(fā)送串行數(shù)據(jù)管腳BANK4,RS232_TX_DATA。注意:圖中粉紅色彩條說明管腳在同一個bank中。單擊每個藍色I/O管腳,則對應(yīng)著DesignObjectList-I/OPins窗口相應(yīng)的管腳。4)保存后出現(xiàn)BusDelimiter對話框,選擇XSTDefault,單擊0K按鈕。單擊菜單欄中的File-Exit,退出PACE;單擊工程中Sources窗口中的uart_clock.ucf文件,然后雙擊Prosesses窗口中UserConstraints目錄下的EditConstraints(Text),就可以看到由PACE生成的uart_clock.ucf管腳約束文件;EXilinx-ISE-E:\lab2\arvz.pace,ise-[uart_clock,ucf]口EditViw l>n4svU?lpSovrcttfor Synthesis/lopl?nAPACE:StartofConstraintsgeneratedbyPACEr?x_p*c?c2vj>30-7ffB969品u*rt_clodt-B*h?vior?l(u?rt_cl?ckvhd)?kc>m3- (㈤pryjs-uel?dt?Ia?t_ay_do???y.do*G?y_dex??)*恒EXilinx-ISE-E:\lab2\arvz.pace,ise-[uart_clock,ucf]口EditViw l>n4svU?lpSovrcttfor Synthesis/lopl?nAPACE:StartofConstraintsgeneratedbyPACEr?x_p*c?c2vj>30-7ffB969品u*rt_clodt-B*h?vior?l(u?rt_cl?ckvhd)?kc>m3- (㈤pryjs-uel?dt?Ia?t_ay_do???y.do*G?y_dex??)*恒transmit?uwt_tx-■>?cro_l?vd_<lef>nitioa*pjr?ce?v?-u?rt_rx?■?cro_lev?l_defi>ut>on忖u?rt_clock.ucf(uert_clock.vcf)#PACE:ScareoxPACEI/OPinAssignmentsNETNETNETNETNET"alarm""elk""lock""rx"1"tx"1LOC--AC3cLOC""U15"'LOCLOC-LOC-“AT?”10*PACE:#PACE:StareofStartofPACEAreaConstraintsPACEProhitoicConstraints?PACE:EndotConstraintsgeneratedbyPACE氣Processes?PACE:EndotConstraintsgeneratedbyPACE氣ProcessesSowcts shots^LibrariesED,itaSuMtry ]u*rlelockpad.txtQwtcl?ckuefItwattmJ2TclSh?llFindinFiltsItwattmJ2TclSh?llFindinFilts圖2-10操作示意(4)檢查Pad報告并打開超級終端1)單擊工程中的Sources窗口的uart_clock.vhd/v文件,然后打開Processes窗口中的ImplementDesign目錄下的Place&Route目錄,雙擊PadReport,當(dāng)Place&Route完成后,PadReport在HDL編輯器中打開,可以看PadReport來確定I/O信號管腳約束是否與分配的管腳相匹配:2)在開始菜單一一所有程序一一附件一一通訊中單擊超級終端,輸入名字并單擊0K按鈕,選擇C0M1作為端口連接,點擊確定按鈕后按照下圖進行設(shè)定,最后點擊確定按鈕完成設(shè)定;圖2T1操作示意每秒位數(shù):9600;數(shù)據(jù)位:8;奇偶校驗:無;停止位:1;數(shù)據(jù)流控制:無3)單擊超級終端菜單中屬性中的設(shè)置,單擊ASCII設(shè)置,選中“將換行符附加到傳入行末尾”并單擊確定按鈕。再次單擊確定按鈕退出屬性對話框;圖2-12操作示意(5)程序的下載并操作UART實時時鐘

1)給板卡上電,打開SW11開關(guān);2)單擊工程的頂層文件uart_clock.vhd/v文件,然后雙擊Processes窗口中的GenerateProgrammingFile來生成此工程的Bitstream文件并下載到芯片中去;3)當(dāng)這個過程完成后,打開GenerateProgrammingFile目錄,雙擊ConfigureDevice(iMPACT),彈出iMPACT對話框后選擇ConfigureDevicesusingBoundary-Scan(JTAG),然后單擊Finish按鈕;圖2T3操作示意4)當(dāng)?shù)鹊綇棾鯝ssignNewConfigurationFile對話框后,前兩個器件都選擇bypass按鈕,最后一個器件單擊uart_clock.bit文件選擇Open按鈕,然后再點擊0K按鈕后彈出一個警告信息,單擊0K按鈕;圖2T4操作示意5)在iMPACT窗口右鍵點擊xc2Vp30,選擇Program后彈出ProgrammingProperties窗口單擊0K按鈕,如果下載成功則出現(xiàn)ProgramSucceeded;

EXilinxXSEE:\lab2\ar*z_j*ace.ise-[BoundaryScan)圖2-15操作示意6)在超級終端窗口則會看到KCPSM3》提示符如圖:注意:這里超級終端是否顯示成功不僅與下載是否成功有關(guān),而且還與電腦的連接有關(guān)。如果COM1不行的話,可以試一下COM2o工,a,mi>si(i>qi9!i<rwi?'aD? 3Q31rKCPSM3>圖2-16操作示意7)在KCPSM3〉提示符后輸入“time”命令,則會以hh:mm:ss格式顯示當(dāng)前時鐘;圖2-17操作不意8)在命令提示符后輸入“alarm”命令,則以hh:mm:ss形式顯示當(dāng)前警告時間,此時alarm是關(guān)閉的;KCPSK3>tine00:00:22KCPSIOaldru0O0ONRlarMOFFKCPSH3>_圖2-18操作小意9)輸入“alarmon”命令,則警告變成有效,然后輸入“alarm00:00:30”設(shè)定警告時間為30秒,輸入“time00:00:00”設(shè)定時間后,會看到板卡上的LED1燈會在30秒警告后熄滅。當(dāng)你輸入“alarmoff"命令后則關(guān)閉警告,LED1燈則再次亮起。實驗課程名稱:FPGA原理及應(yīng)用實驗項目名稱全局時序約束實驗實驗成績實驗者梁飛專業(yè)班級通信1303組別18同組者實驗日期全局時序約束實驗1實驗?zāi)康?)學(xué)習(xí)使用約束編輯器(ConstraintsEditor)設(shè)置全局時序約束;2)學(xué)習(xí)分析映像后的靜態(tài)時序報告來檢驗時序約束的實現(xiàn);3)學(xué)習(xí)分析布局布線后靜態(tài)時序報告來確認實際的設(shè)計效果。1.2實驗內(nèi)容通過設(shè)置全局時序約束來提高系統(tǒng)時鐘頻率,用映像后的靜態(tài)時序報告和布線布局后的靜態(tài)時序報告來分析設(shè)計的性能。1.3實驗準備(1)將光盤下03.ExamplesofProgram實驗程序目錄下的01.ISE9.1文件夾拷貝到E:盤根目錄下;(2)將USB下載電纜與計算機及XUPV2Pro板的J8連接好;(3)將RS232串口線一端與計算機連接好,另一端與板卡的J11相連接;(4)啟動計算機后,將XUPV2Pro板的電源開關(guān)SW11打開到0N上。觀察XUPV2Pro板上的+2.5V,+3.3V,+1.5V的電源指示燈是否均亮,若有不亮的,請斷開電源,檢查電源。1.4實驗步驟(1)編譯范本中的匯編1)選擇Start-Programs—?XilinxISE9.li-ProjectNavigator,進入ISE的ProjectNavigator環(huán)境;2)選擇File—OpenProject,并指向如下目錄,選擇timeconst.ise打開工程:Verilog使用者:E:\01.ISE9.I\xupv2pro\labs\verilog\lab3\time_constVHDL使用者:E:\01.ISE9.I\xupv2pro\labs\vhdl\lab3\timeconst3)選擇StartPrograms-*Accessories~CommandPrompt.打開命令提示符,并使用cd命令指向如下的匯編編譯器的目錄下,如圖所示。E:〉cdE:\01.ISE9.l\xupv2pro\labs\vhdl\lab3\Assembler

圖3-2操作示意輸入》kcpsm3program.psm命令,執(zhí)行完后的結(jié)果如圖所示。圖3-3操作示意4)執(zhí)行完命令后,會看到在Assembler下生成了一些文件,其中包括VHDL(program,vhd)和Verilog(program,v),這就是匯編編譯系統(tǒng)將編寫的匯編源文件program.psm自動生成了用于程序內(nèi)存的VHDL/Verilog格式文件,來用于綜合和仿真。將生成的program.vhd/v文件添加到工程中;

5)單擊工程Sources窗口中的頂層文件loopback.vhd,然后雙擊Processes窗口中的Synthesis-XST目錄下的"CheckSyntax”,檢驗添加的文件是否有語法錯誤。(2)輸入全局時鐘約束1)單擊工程Sources窗口中的頂層文件loopback.vhd,然后雙擊Processes窗口中的UserConstraints目錄下的CreateTimingConstraints;Processeoces口□£>>sfor:loopbackoces口□£>>ViewDesigxtSummaryDesignUtilitiesUserConstraintsCreateTimingConstraintsQTjAssignPackagePinsCreateAreaConstraints國EditConstraints(Text)P)[\Synthesize-XST圖3-4操作示意2)本工程若沒有UCF文件,則彈出提示對話框,單擊Yes按鈕,將自動生成UCF文件為loopback.ucf,并添加到工程中;圖3-5操作示意3)當(dāng)打開約束編輯器時,選中“Globle”全局約束窗口:BE?ClockN?tK*neelkPeriodClocktoPadCoastrunts(r.admt.)BE?ClockN?tK*neelkPeriodClocktoPadCoastrunts(r.admt.)XilinxConstraintsEditor-[Globalloopback.ngd/loopback.ucf]塔EditVi”Yindtm 二IIB區(qū)■□Hx儀Rtr,、?圖3-6操作示意4)雙擊Period列下的單元格,彈出ClockPeriod對話框,可以設(shè)置Period約束。如圖輸入10ns,單擊0K按鈕;Coament:Units:nsInputTi?eCoament:Units:nsInputTi?e:0TS-clkClockNetNameelk圖3-7操作示意0K按鈕,完成輸入延5)雙擊PadtoSetup列下的單元格,彈出對話框并輸入6ns,單擊

遲(OFFSETIN)0K按鈕,完成輸入延圖3-8操作示意6)點擊ClocktoPad列下的單元格,彈出對話框并輸入7.5ns,單擊0K按鈕,完成輸出延遲約束設(shè)置:圖3-9操作示意7)選擇File-Save保存,然后選擇Exit退出約束編輯器。圖3-10操作示意(3)輸入引腳位置約束大部分的FPGA在設(shè)計完成前就進行了引腳分配。在這個實驗中,通過UCF文件手動輸入來分配輸入/輸出引腳的位置,也可以采用實驗二中使用PACE進行引腳位置分配。區(qū)域約束的主要目的是關(guān)聯(lián)耦合邏輯,減少后續(xù)布線壓力;其次是加大資源利用率,距離近的信號延遲不一定就小,信號線上延遲主要是來自線與線之間的轉(zhuǎn)接(如LUT,switch-box).由于FPGA內(nèi)部連接的結(jié)構(gòu)是橫縱兩向的,斜向的連接延遲會大于橫縱方向上最大跨度連接。所以,在做位置約束時盡量避免斜向;而區(qū)域約束要寬松,如果沒有資源上的顧慮,約束面積建議為所需的3倍以上。需要注意的是,區(qū)域約束對時序的改善貢獻很小,緊的約束甚至有惡化時序的可能。通過PACE軟件,可將設(shè)計中的所有邏輯資源,包括全局時鐘緩沖器、硬核乘加器、塊RAM、硬核處理器、高速收發(fā)器以及數(shù)字時鐘管理模塊等模塊放入器件架構(gòu)(DeviceArchitecture)的任何位置。1)單擊工程Sources窗口中的頂層文件loopback.vhd,然后雙擊Processes窗口中的UserConstraints目錄下的EditTimingConstraints(Text).打開loopback,ucf文件;2)打開XUPVirtex-IIPro使用手冊,關(guān)于設(shè)置10引腳位置如下表所示。表3-110引腳位置圖PinNameDirectionWidthXUPBoardconnectionelkInput1bit100MHzclockoscillatorrstInput1bitUsecenterpushbuttonswitchesInput4bits8Slideswitches(usefirstfour)rs232_rxInput1bitRS-232serialreceiveLEDsOutput4bits4LEDsrs232_txOutput1bitRS-232serialtransmit引腳位置約束語法如下:信號:NET"alarm"LOC="K12";總線:NET*led<0>*LOC=P12;NET*led<l>*LOC=P13;按照表中的位置及語法格式進行引腳分配,在loopback.ucf文件的"#PACE:StartofPACEI/OPinAssignmentsw注釋下方輸入以下引腳分配內(nèi)容,輸入完后保存loopback,ucf文件。若找不到"#PACE:StartofPACEI/OPinAssignments"注釋,直接添加需要添加的內(nèi)容即可。

NET"elk"LOC="AJ15” ;NET〃leds<0>"LOC="AC4" ;NET〃leds〈l》”LOC="AC3" ;NET*leds<2>*LOC="AA6" ;NET"leds<3>"LOC="AA5" ;NET〃rs232_rx”LOC="AJ8"NET"rs232_tx”LOC="AE7"NET〃rst”LOC="AG5"NET“switches”>”LOC=*AcirNET“switches〈l>”LOC="ADU"NET“switches。)”LOC="AF8"NET*switches<3>*LOC="AF9”(4)實現(xiàn)設(shè)計并進行時序分析執(zhí)行此步驟是通過映像實現(xiàn)設(shè)計來生成映像后時序報告,在時序分析器(TimingAnalyzer)中打開此報告。通過此報告可以驗證時序約束是否實現(xiàn),以此避免浪費布局布線的時間。1)單擊工程的Sources窗口中的頂層文件loopback,vhd文件,展開Processes窗口中的ImplementDesign,然后再展開Map目錄下的GeneratePost-MapStaticTiming,右鍵單擊AnalyzePost-MapStaticTiming(TimingAnalyzer)并選擇RerunAll;2)單擊"AnalyzeAgainstTimingConstraints"按鈕,映像如下表。表3-2映像表Chart1PERIODconstraint(DCMclock)OFFSETINconstraintOFFSETOUTconstraintConstraint20ns6ns7.5nsPost-Map?5.3ns?2.7ns?2.19ns引腳位置約束語法如下:信號:NET"alarm"LOC="K12";總線:NET“l(fā)ed<0〉”LOC=P12;NET"led<l>"LOC=P13;按照表中的位置及語法格式進行引腳分配,在loopback.ucf文件的“#PACE:StartofPACEI/OPinAssignments”注釋下方輸入以下引腳分配內(nèi)容,輸入完后保存loopback,ucf文件。NET"elk"LOC="AJ15"NET*leds<0>*LOC:="AC4"NET*leds<lZLOC:="AC3"NET〃leds<2>"LOC:="AA6"NET"leds<3>"LOC:="AA5"NET〃rs232_rx”LOC="AJ8"NET“rs232_tx”LOC="AE7”NET〃,“rstLOC="AG5"NET*switches<O>JLOC="AC113)在時序報告窗口中可以看到時序約束報告,分析每個時序路徑約束注意線網(wǎng)延遲后;4)“e”代表評估。實際的線網(wǎng)延遲是在布局布線后計算出來的;DataPath:nyproQram/ram1G24x18.Ato“jkcpsm3/pcloop[9].reqisterbitDelaytype Delay(ns)LogicalResource(s)Tbcko1.401叫proqran/ram1024x18.Anet(Fanout=23)e0.100i.nstnjcti.on<15>TopcuF0.671叫kcpsm3/pcloopf01.uectorselectnuxmukcpsm3/pcloop[0].pcIsbcarru.pcuectormuxcumukcpsm3/pcloopf11.pcmidcarru.pcuectorruxcunet(Fanout?1)e0.100叫kcpsn3/pcuectorcarru<1>Tbup0.073nukcpsm3/pcloopf2].pcmidcarry.pcuectormuxcumukcpsm3/pcloop[3].pcmidcarru.pcuectormuxcunet(fanouta1)e0.100叫kcpsm3/pcuectorcarru<3>Tbup0.073叫kcpsm3/pcloopTM].pcmidcarru.pcuectormuxcumukcpsm3/pcloop⑸.pcmidcarry.pcuectormuxcunet(Fanout?1)e0.100mukcpsm3/pcuectorcarru<5>Tcinx0.626mukcpsm3/pcloopTd].pcmidcarru.pcuectorxornet(Fanout=1)e0.100叫kcpsn3/incpcvector<6>TopcuF0.671叫kcpsn3/pcloop[6].ualueselectmuxmukcpsn3/pcloop[6].pcmidcarru.pcualuemuxcu叫kcpsm3/pcloop[7].pcmidcarru.pcualuemuxcunet(Fanout*!)e0.100mukcpsm3/pcualuecarru<7>Tciny0.728叫kcpsm3/pcloopfS].pcmidcarru.pcualuenuxcu5)退出時序分析器后,在Processes窗口,展開Place&Route目錄下的GeneratePost-Place&RouteStaticTiming,雙擊AnalyzePost-Place&RouteStaticTiming(TimingAnalyzer),并完成下表,與上表進行比較;

Chart2PERIODconstraint(DCMclock)OFFSETINconstraintOFFSETOUTconstraintConstraint20ns6ns7.5nsPost-PAR?7.6ns?4.9ns?2.15ns6)分析每個時序路徑約束,注意真實的線網(wǎng)延遲已經(jīng)被計算出來。luensandiyzeaMinimumperiodishdiningerrorsaeneccea.(usetuperrorsv6.941ns.unoiaerrors)(Slack:Source:Destination:Requirement:DataPathDelay:ClockPathSkew:SourceClock:DestinationClock:ClockUncertainty:13.059ns(requirement-(datapath-clockpathskew?uncertainty))Droqran/rapi102,x18.A(RAM)inport2(FF)20.000ns6.934ns(LeuelsofLogic-5)-0.807nsclkSOMHzrisingat0.000nsclkSOMHzrisingat20.000ns0.000nsDataPath:叫proqram/ram1024x18.Atoinport2DelaytypeDelay(ns)LogicalResource(s)Tbcko1.401叫proqram/ram1024x18.Anet(Fanout-11)Tilo1.3140.2SUinstniction”》叫kcpsn3/reqloopf6].registerbit/DPnet(Fanout-2)Tilo0.7790.254rajkci>sii3/su<6>inportandOOOOSWOnet(Fanout-1)Tilo0.6080.275N46inportandOOOOnet(fanout=3)0.329inportandOOOOTilo0.275inportnux0002<1>21(5)生成軟件并進行HDL仿真1)打開本實驗的Assembler文件包內(nèi)的program.psm文件,此匯編范本的匯編代碼含有三部分:

:Actualassemblyprogramgoeshere...cold_start: LOAD sO,all_clear :zerooutregsO:LABTASK#2;Writecodetooutputashort(10characters;orless)messagetotheserialport.loop: LOAD sO,all-clear :zerooutregsO(nop):LABTASK#1:Writecodetoreadtheswitchstateand;thenwriteittotheLEDcontrolport.rs232_echo: LOAD sO,all_clear :zerooutregsO(nop):LABTASK#3;Writecodetocheckifabytehasbeen:receivedbytheuart.Ifso,writeit:backtotheuarttransmitport.Ifnot|;don'tdoanythingandjust...JUMP loop :loopagain2)在匯編范本Task#1部分中,添加如下匯編語句,編寫完后,則要重新用匯編編譯系統(tǒng)把編寫的匯編源文件program,psm自動生成用于程序內(nèi)存的VHDL/Verilog格式文件。在匯編范本涉及到的端口值的常量,參考PicoBlaze的指南,而代碼的編寫參考KCPSM3的使用手冊;INPUTsi,switch_in;readvalueofswitchesOUTPUTsi,leds_out ;writevalueofsOtoLEDs3)在工程中選擇Project下拉菜單中的AddSourc,選擇lab3目錄下的testbench.vhd文件(testbench主要是為了對電路進行仿真驗證,測試設(shè)計電路的功能,部分性能是否與與其的目標相符),此文件為測試激勵文件,仿真結(jié)果波形如下。圖3-11仿真結(jié)果實驗課程名稱:FPGA原理及應(yīng)用實驗項目名稱綜合技術(shù)實驗實驗成績實驗者梁飛專業(yè)班級通信1303組別18同組者實驗日期綜合技術(shù)實驗1實驗?zāi)康?1)學(xué)習(xí)使用保留層次和扇出綜合這些選擇來提高調(diào)試和綜合結(jié)果;(2)學(xué)習(xí)讀取XST軟件的綜合報告來確認綜合結(jié)果質(zhì)量。1.2實驗內(nèi)容(1)修改XST綜合選項:(2)分析綜合報告。1.3實驗準備(1)將光盤下03.ExamplesofProgram實驗程序目錄下的01.ISE9.1文件夾拷貝到E:盤根目錄下;(2)將USB下載電纜與計算機及XUPV2Pro板的J8連接好:(3)將RS232串口線一端與計算機連接好,另一端與板卡的J11相連接;(4)啟動計算機后,將XUPV2Pro板的電源開關(guān)SW11打開到0N上。觀察XUPV2Pro板上的+2.5V,+3.3V,+1.5V的電源指示燈是否均亮,若有不亮的,請斷開電源,檢查電源;(5)打開超級終端。1.4實驗步驟(1)瀏覽設(shè)計并生成軟件1)選擇Start-Programs—?XilinxISE9.li-ProjectNavigator,進入ISE的ProjectNavigator環(huán)境;2)選擇File—OpenProject,并指向如下目錄,選擇synthlab.ise打開工程;Verilog使用者:E:\01.ISE9.I\xupv2pro\labs\verilog\lab4\synth_labVHDL使用者:E:\01.ISE9.I\xupv2pro\labs\vhdl\lab4\synth_lab3)用文件編輯器打開在lab4目錄下的Assembler文件包中的program.psm,在此匯編范本的task#2部分添加如下代碼:coldstart: LOADs0,allclear;zerooutregsO;LABTASK#2;Writecodetooutputashort(10characters;orless)messagetotheserialport.LOADsO,ascii_XOUTPUTsO,uartdatatxLOADsO,ascii_iOUTPUTsO,uart_data_txLOADsO,ascii_lOUTPUTsO,uart_data_txLOADsO,ascii_iOUTPUTsO,uart_data_txLOADsO,ascii_nOUTPUTsO,uart_data_txLOADsO,ascii_xOUTPUTsO,uart__data_txLOADsO,ascii_SPACEOUTPUTsO,uart_data_txLOADsO,ascii_ROUTPUTsO,uart_data_txLOADsO,ascii_uOUTPUTsO,uart_data_txLOADsO,ascii_lOUTPUTsO,uart_data_txLOADsO,ascii_eOUTPUTsO,uart_data_txLOADsO,asciisOUTPUTsO,uartdata_txLOADsO,ascii_EXCLAIMOUTPUTsO,uart_data_txLOADsO,ascii_CROUTPUTsO,uart_data_tx4)在開始菜單中的所有程序的附件,點擊命令提示符,下,輸入〉kcpsm3program.psm,命令如圖5-49ocd命令指向匯編編譯器的目錄cdE:\01.ISE9.l\labs\verilog\lab4\Assembler回命令提示符picbosoftWindowsXP[版本5.1.2600]<C>版權(quán)所有1985-2001MicrosoftCorp.C:\DocunentsandSettings^dninisti*ator>e:E:\>cd01.ISE9.l\xupu2pi*o\labs\uhdl\lab4\Assemblei*,圖4T操作示意5)匯編編譯系統(tǒng)把編寫的匯編源文件program,psm自動生成的用于程序內(nèi)存的VHDL/Verilog格式文件program,vhd/v添加到工程中。(2)默認選項進行綜合和實現(xiàn)1)在工程的Sources窗口單擊頂層文件loopback,vhd/v文件,雙擊Processes窗口中的Synthesize-XST進行綜合;ise-[SynthesisReport]2)綜合完成后,雙擊ViewSynthesisReport,在此報告中會看到"TimingSummaryv,時鐘頻率評估值為395.749MHz,(注意這些結(jié)果會因為每個PC系統(tǒng)的不同而不一樣);ise-[SynthesisReport]?ssfindow廠國小電百①bTimingDetail:Allvaluesdisplayedinnanoseconds(ns)Timingconstraint

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論