ISP器件設計與應用_第1頁
ISP器件設計與應用_第2頁
ISP器件設計與應用_第3頁
ISP器件設計與應用_第4頁
ISP器件設計與應用_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

ISP器件設計與應用第一頁,共53頁。一、實驗目的了解并掌握采用可編程邏輯器件實現(xiàn)數字電路與系統(tǒng)的方法;學習并掌握采用Xilinx_ISE軟件開發(fā)可編程器件的過程;學習使用verilogHDL描述數字邏輯電路與系統(tǒng)的方法;掌握分層次、分模塊的電路設計方法,熟悉使用可編程器件實現(xiàn)數字系統(tǒng)的一般步驟。第二頁,共53頁。二、實驗原理——傳統(tǒng)數字系統(tǒng)設計流程設計目標人工給出真值表人工化簡卡諾圖得到最簡表達式人工使用LSI電路實現(xiàn)系統(tǒng)調試和驗證第三頁,共53頁。二、實驗原理——現(xiàn)代數字系統(tǒng)設計流程設計目標設計輸入編譯、功能級仿真邏輯綜合時序仿真系統(tǒng)調試與驗證entitylab1isport(a,b,c:instd_logic;y:outstd_logic);endlab1;

architecturertloflab1isbeginy<=aor(candb);endrtl;配置文件加載后,用示波器、邏輯分析儀、軟件程序觀察設計仿真轉換(Translate)映射(Map)布局和布線(PAR)設計下載FPGA設計實現(xiàn)CLBCLBCLBCLB創(chuàng)建約束第四頁,共53頁??捎觅Y源4個七段數碼管(AN3-AN0)(不含8421譯碼);8個LED指示燈(LD7-LD0);4個按鍵開關(BTN3-BTN0);8個滑動開關(SW7-SW0);1個PS/2接口;1個8位VGA顯示接口;4個6針PMOD用戶擴展接口;可配置晶振(25,50,100MHz);USB2.0接口。二、實驗原理——BASYS2實驗板第五頁,共53頁。二、實驗原理——BASYS2實驗板第六頁,共53頁。二、實驗原理——BASYS2各IO管腳定義發(fā)光二極管時鐘撥碼開關按鍵數碼管LD0M5MCLKB8SW0P11BTN0G12AN0F12LD1M11RCCLKC8SW1L3BTN1C11AN1J12LD2P7CCLKN12SW2K3BTN2M4AN2M13LD3P6UCLKM6SW3B4BTN3A7AN3K14LD4N5SW4G3CAL14LD5N4SW5F3CBH12LD6P4SW6E2CCN14LD7G1SW7N3CDN11CEP12CFL13CGM12DPN13第七頁,共53頁。源文件窗口處理子窗口腳本子窗口工作區(qū)子窗口二、實驗原理——ISE集成開發(fā)環(huán)境主界面第八頁,共53頁。1.新建工程

(1)開啟ISE13.4軟件:開始程序XilinxISEDesignSuite13.4ISEDesignToolsProjectNavigator,或直接雙擊桌面上的快捷圖標,會出現(xiàn)ISE13.4的畫面.三、設計舉例---流水燈第九頁,共53頁。流水燈---新建工程項目名項目路徑頂層模塊類型(2)在ISE13.4軟件環(huán)境下,開啟一個新的工程:FileNewProject.第十頁,共53頁。流水燈---新建工程(3)單擊next,下一個畫面就是設定硬件FPGA的參數----請參照實驗板芯片系列進行選擇第十一頁,共53頁。流水燈---新建工程(4)點擊next.此時出現(xiàn)此項目所有設定的信息,若需重新設定,則可back.若無誤,則按finish第十二頁,共53頁。流水燈---創(chuàng)建新的Verilog源文件(1)此時出現(xiàn)一個項目的架構,可以允許使用者開始進行項目的設計.(2)創(chuàng)建新的設計文件:ProjectNewSource;選擇VerilogModule,并設定文件名稱為led第十三頁,共53頁。流水燈---創(chuàng)建新的Verilog源文件(3)點擊next,出現(xiàn)NewSourceWizard,設定此設計的輸出輸入信號.

clk:input(時鐘輸入信號).reset:input(當Reset=‘1’時,清除內部計數器)led_out:Output(輸出信號),勾上Bus,MSB=3,LSB=0.第十四頁,共53頁。流水燈---創(chuàng)建新的Verilog源文件(4)按next,再按finish;此時項目加入此模塊之后,在Sourcees的窗口中會出現(xiàn)led.v的編輯窗口。(5)在ProjectNavigator右邊的工作區(qū)可以看到led.v的文件內容,此時可以修改或改變設計內容,在修改完成之后,利用FileSave來儲存文件.(6)在撰寫led.v內容之時,對一些模塊不熟悉的話可以參考ISE所附的LanguageTemplate。在本實驗中我們如需要了解計數器模塊,點擊軟件界面上方的語言模板的快捷鍵,然后選擇“VerilogSynthesisConstructsCodingExamplesCounters”,然后選擇所需的計數器類型以做參考。第十五頁,共53頁。流水燈---創(chuàng)建新的Verilog源文件led.v代碼:第十六頁,共53頁。流水燈---編譯檢錯并查看電路(1)代碼寫完之后,進行句法檢查。點開Synthesize-xst,雙擊CheckSyntax。如果語法沒錯,是綠色的打勾,否則會有紅色的錯誤提示。第十七頁,共53頁。流水燈---編譯檢錯并查看電路(2)雙擊Synthesize–xst進行綜合,確認設計的正確與否。還可以查看設計RTL電路。點開綜合選項,雙擊ViewRTLSchematic,并選擇Startwithaschematicofthetop-levelblock選項第十八頁,共53頁。流水燈---編譯檢錯并查看電路(3)點擊OK,出現(xiàn)設計的整個電路模塊圖(4)直接雙擊電路頂層,查看內部電路模塊第十九頁,共53頁。流水燈---編譯檢錯并查看電路(5)如果需要查看設計內部具體有哪些實際資源組成,則可以點開綜合選項,雙擊“viewtechnologyschematic”第二十頁,共53頁。流水燈---編譯檢錯并查看電路(6)點擊OK,出現(xiàn)設計頂層(7)直接雙擊頂層電路,則可以看到設計的內部電路是由哪些資源組成的。第二十一頁,共53頁。流水燈---編譯檢錯并查看電路(8)在Processes的窗口中,直接以鼠標雙擊GenerateProgrammingFile的選項.此時ISE會自動執(zhí)行并產生可以下載的.bit類型文件,此步驟是最直接驗證設計工作的正確性與否.---也可以等待仿真驗證后再執(zhí)行。(9)若在每一個步驟后都出現(xiàn)綠色的打勾,代表程序成功跑完而沒有錯誤和警告。若有黃色的警告,一般可以忽略。若有一個程序都出現(xiàn)紅色打叉[X]的符號,代表有錯誤,可以依顯示結果來偵錯.---也可以等待仿真驗證后再執(zhí)行。第二十二頁,共53頁。流水燈---設計仿真

當檢查輸入源程序句法沒有錯誤后,一般在設計綜合之前,可以做行為仿真,以驗證代碼的行為功能是否正確,利用測試模板(Testbench)來驗證設計的正確性。

在這里請注意一下,為了加快仿真進程,仿真時將counter的低4位傳給led_out以提高頻率,更快地看到輸出仿真結果。這時,將代碼led.v的第37行使能,第38行不使能,然后保存。第二十三頁,共53頁。流水燈---設計仿真 (1)點擊ledHDL文件,創(chuàng)建一個新的測試平臺源文件:ProjectNewSource.在源文件向導里,點擊VerilogTestFixture作為源文件類型,輸入文件名稱為test.第二十四頁,共53頁。流水燈---設計仿真(2)一直點擊next,直到點擊finish,自動生成test.v的測試模板,在此基礎上編輯輸入激勵:時鐘周期設定為10ns,復位信號為高持續(xù)500ns后,再將復位信號置低。`timescale1ns/1ps//////////////////////////////////////////////////////////////////////////////////Company://Engineer:////CreateDate:12:25:2706/21/2011//DesignName:led//ModuleName:E:/Training/training_demo/Verilog/lab1_4bitsLEDs/test.v//ProjectName:lab1_4bitsLEDs//TargetDevice://Toolversions://Description:////VerilogTestFixturecreatedbyISEformodule:led////Dependencies:////Revision://Revision0.01-//AdditionalComments://////////////////////////////////////////////////////////////////////////////////第二十五頁,共53頁。流水燈---設計仿真moduletest; //Inputs regclk; regreset; //Outputs wire[3:0]led_out;parameterPERIOD=10;

//InstantiatetheUnitUnderTest(UUT) leduut( .clk(clk), .reset(reset), .led_out(led_out) );

alwaysbegin clk=1'b0; #(PERIOD/2)clk=1'b1; #(PERIOD/2); end initialbegin //InitializeInputs clk=1'b0; reset=1; //Wait500nsforglobalresettofinish #500; reset=0;

//Addstimulushere end

endmodule第二十六頁,共53頁。流水燈---設計仿真(3)保存test.v。選擇sourcesforSimulation雙擊BehavioralCheckSyntax第二十七頁,共53頁。流水燈---設計仿真(4)雙擊SimulateBehavioralModel,ISE仿真器打開并開始仿真,將圖形界面縮小到合適的界面,其仿真結果如圖所示:由圖所示,可見Isim仿真器自動運行到1us處停止運行,并按照測試文件規(guī)定的時間方式開始運行。led_out在每個時鐘上升沿到來時加1,結果是正確的。第二十八頁,共53頁。流水燈---設計仿真(5) 我們也可以查看設計的內部信號。添加內部信號的步驟是:在Isim的InstancesandProcesses窗口中點選test,右鍵選Expland,然后點擊UUT,再按右鍵選Addtowavewindow,在object窗口則會出現(xiàn)全部信號:可添加對模塊內部信號如counter[26:0]的觀察。第二十九頁,共53頁。流水燈---設計仿真

(6)拖動counter到仿真波形里,點擊restart按鈕,再點擊runall按鈕,運行一段時間后點擊暫停,就可以看到內部信號仿真圖。為了查看方便,將二進制數改為10進制無符號數的形式,選擇counter信號,點擊右鍵選擇radix擴展欄中的UnsignedDecimal,由圖可知counter信號是在正確計數的。第三十頁,共53頁。流水燈---設計仿真(8)關閉Isim仿真器并保存。(7)為控制Isim仿真器運行時間,可在Isimconsole中鍵入run1us等運行控制命令,或直接利用Isimsimulationbreak來控制Isim仿真器運行時間如圖。第三十一頁,共53頁。流水燈---創(chuàng)建約束

約束主要包括全局時序約束(周期約束)和管腳約束,可以使用圖形化界面設置和直接編輯UCF文件兩種方式。一般初學者可以采用圖形化界面設置的方式,比較直觀,軟件自動生成相關的約束而不需要手動編輯;如果是有一定經驗的設計人員,對約束語法比較熟悉,且會涉及到一些高級約束時,則可以考慮使用直接編輯UCF文件的方式或者兩種方法相結合。第三十二頁,共53頁。流水燈---創(chuàng)建約束---圖形化界面設置方式(1)選中Implmentation,點擊頂層文件led(led.v),按Yes,打開Process窗口,找到UserConstraints,雙擊CreatTiminngConstraints第三十三頁,共53頁。流水燈---創(chuàng)建約束---圖形化界面設置方式(2)在彈出的ConstraintType窗口中選擇ClockDomains第三十四頁,共53頁。流水燈---創(chuàng)建約束---圖形化界面設置方式(3)雙擊clk;打開進入時鐘設定界面,設置相應參數,因為開發(fā)板提供的系統(tǒng)時鐘為50MHz,所以設置時鐘的周期為20ns,上升沿有效,占空比設為50%(4)點擊Create并點擊OK,保存后再關閉TimingConstraints界面。---完成了系統(tǒng)時鐘周期約束第三十五頁,共53頁。流水燈---創(chuàng)建約束---圖形化界面設置方式(5)開始管腳約束:回到Process窗口選擇UserConstraints中的I/OPinPlanning(PlanAhead)-Post-Synthesis,雙擊打開PlanAhead界面(本過程需要一定時間,視計算機配置要1分鐘左右)。(如果沒有.ucf文件,軟件會提示是否需要自動創(chuàng)建ucf文件,點擊Yes)第三十六頁,共53頁。流水燈---創(chuàng)建約束---圖形化界面設置方式(6)在打開的PlanAhead中對管腳進行設定,我們先找到I/OPorts窗口中的clk端口第三十七頁,共53頁。流水燈---創(chuàng)建約束---圖形化界面設置方式(7)鼠標點在Site,在下拉窗口中選擇B8(管腳位置參考BASYS2使用手冊及表4.2.1)。I/OStd默認是LVCMOS25,驅動強度DriveStrength默認是12mA,翻轉速率SlewType默認是Slow,因時鐘變化速度比較快將SlewType屬性其改為FAST。第三十八頁,共53頁。流水燈---創(chuàng)建約束---圖形化界面設置方式(8)其他端口也是類似操作,最終的端口設定如下圖所示。選擇reset為撥碼開關SW0;其管腳位置為P11;選擇LED0~LED3為LD0~LD3;其管腳位置分別為M5,M11,P6,P7注:如果更換了開發(fā)板,管腳約束會發(fā)生變化。這時代碼可以不用修改,直接在PlanAhead圖形化界面中對site做重新定義,具體參考實際板子的管腳分配說明。第三十九頁,共53頁。流水燈---創(chuàng)建約束---圖形化界面設置方式(9)保存并退出PlanAhead。(10)回到ISE界面,點選Sourcees窗口內的led.ucf,點擊processess窗口里的userconstraints,雙擊editconstraints(txt),可以看到之前所做的約束都自動保存在UCF文件中。第四十頁,共53頁。流水燈---創(chuàng)建約束---直接編輯UCF文件方式(2)一直點擊next,最后按finish(3)選擇sourceforImplementation選項(1)選擇ProjectNewSource.設定輸入的文件格式為ImplementationConstraintsFile,文件名稱為led(自動儲存為led.UCF)第四十一頁,共53頁。流水燈---創(chuàng)建約束---直接編輯UCF文件方式(4)點選Sourcees窗口內的led.ucf,點擊processess窗口里的userconstraints,雙擊editconstraints(txt),直接在編輯窗口輸入所需的約束后保存文件。其中,“LOC”代表管腳定義,相關管腳定義請參考使用手冊;“IOSTANDARD”代表電平標準,默認是LVCMOS25;“SLEW”代表信號的翻轉速率,有fast和slow之分,默認是slow,時鐘信號clk變化比較快可設定為fast。NET"clk"LOC=B8;NET"led_out[0]"LOC=M5;NET"led_out[1]"LOC=M11;NET"led_out[2]"LOC=P7;NET"led_out[3]"LOC=P6;NET"reset"LOC=P11;NET"clk"IOSTANDARD=LVCMOS33;NET"led_out[0]"IOSTANDARD=LVCMOS33;NET"led_out[1]"IOSTANDARD=LVCMOS33;NET"led_out[2]"IOSTANDARD=LVCMOS33;NET"led_out[3]"IOSTANDARD=LVCMOS33;NET"reset"IOSTANDARD=LVCMOS33;NET"clk"SLEW=FAST;第四十二頁,共53頁。流水燈---執(zhí)行設計并生成下載的bit

約束創(chuàng)建完成之后,可執(zhí)行設計并生成下載的bit文件。注意:在執(zhí)行設計并生成下載的bit文件之前,需將之前我們仿真時修改的代碼給還原,將代碼led.v的第37行不使能,第38行使能,然后保存。---修改了led.v文件后,須重新綜合,再執(zhí)行設計!

執(zhí)行設計并生成下載的bit文件,可直接雙擊GenerateProgrammingFile,確認設計無誤(即確認所有步驟后均出現(xiàn)綠色的打勾,表示無錯或至少沒有步驟出現(xiàn)紅色打叉[X]的符號,表示沒有不可容忍的錯誤)。第四十三頁,共53頁。流水燈---下載設計到實驗板(1)確認執(zhí)行設計無誤并成功生成bit文件后,就可以將led.bit寫入到FPGA內部,此時連接板子的USB下載線,并打開電源。點開“ConfigureTargetDevice-ManageConfigurationProject(Impact)”第四十四頁,共53頁。流水燈---下載設計到實驗板(2)雙擊打開iMPACT軟件(3)雙擊“BoundaryScan”,右邊變成空白,此時點擊右鍵選擇“InitializeChain”第四十五頁,共53頁。流水燈---下載設計到實驗板(4)此時掃描到兩個器件,一個是FPGA器件xc3s250e,一個是prom器件xcf02s.(5)點擊“Yes”,配置文件,尋找到工程的led.bit文件第四十六頁,共53頁。流水燈---下載設計到實驗板(6)點擊“Open”,彈出是否需要配置SPI或BPIPROM,不需要點擊No第

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論