資源描述:
《實(shí)驗(yàn)五用狀態(tài)機(jī)實(shí)現(xiàn)序列檢測器的設(shè)計(jì)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、實(shí)驗(yàn)五用狀態(tài)機(jī)實(shí)現(xiàn)序列檢測器的設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?.熟悉QuartusII軟件應(yīng)用環(huán)境,了解實(shí)驗(yàn)流程。2.編寫簡單的Verilog代碼,并在QuartusII中進(jìn)行調(diào)試和驗(yàn)證,并在EDA6000中下載代碼和驗(yàn)證。3?掌握用狀態(tài)機(jī)(StateMachine)實(shí)現(xiàn)序列檢測器的設(shè)計(jì)。二、實(shí)驗(yàn)原理假設(shè)檢測器預(yù)先已經(jīng)設(shè)定一個(gè)8位序列d,那么當(dāng)由din端口串行輸入的一個(gè)8位序列,與d完全相同時(shí),檢測器輸出代碼1010,即在試驗(yàn)箱上的LED±顯示一個(gè)“A”;否則,檢測器輸ill1110,即在試驗(yàn)箱上的LED上顯示一個(gè)“E”。同時(shí),當(dāng)清零信號clr有
2、效時(shí),輸出為HlOo由清零信號clr和輸入信號din共同控制狀態(tài)機(jī)的狀態(tài)變化。三、實(shí)驗(yàn)內(nèi)容1、檢測一紐二進(jìn)制序列信號,當(dāng)連續(xù)的脈沖信號和預(yù)先設(shè)定的序列d相同時(shí),顯示字符“A”,否則顯示“E”。2、使用工具為譯碼器建立一個(gè)元件符號3、設(shè)計(jì)仿真文件,進(jìn)行驗(yàn)證。4、編程下載并在實(shí)驗(yàn)箱上進(jìn)行驗(yàn)證。四、實(shí)驗(yàn)步驟1.新建VerilogX程項(xiàng)冃,編寫代碼并保存至與模塊名對應(yīng)的項(xiàng)口文件夾。2.編譯程序,編譯無誤后,在[tools]>[netlistviewers】里面選擇RTLViewer,觀察電路結(jié)構(gòu);在[tools]>[netlistviewe
3、rs]里面選擇StateMachineViewer,查看狀態(tài)機(jī)轉(zhuǎn)換圖。3.新建波形文件進(jìn)行仿真。保存時(shí)要和源程序存放在同一冃錄下。設(shè)置好輸入波形參數(shù)后,開始仿真。在仿真后輸入輸出波形中觀察邏輯關(guān)系是否正確。4.將實(shí)驗(yàn)箱和PC合理連接起來。打開EDA6000軟件,設(shè)置好芯片類空為ACEX1K(EP1K30TC144-3),載入模式12。5.根據(jù)EDA6000界而內(nèi)管腳對■應(yīng)芯片的實(shí)際管腳在QUARTUSII里而設(shè)定管腳號并檢查無誤。6.將程序下載至FPGA內(nèi),并在EDA6000軟件界面內(nèi)進(jìn)行驗(yàn)證測試。程序代碼moduleSCHK(cl
4、k,din,clr,d,err);inputclk,din,clr;input[7:0]d;output[3:0]err;parameters0=0,s1=1,s2=2,s3=3,s4=4,s5=5,s6=6,s7=7,s8=8;reg[8:0]cs,ns;reg[3:0]err;always@(posedgeelkorposedgeclr)beginif(clr)cs<=s0;elsecs<=ns;case(cs)s0:if(din==d[0])ns<=s1;elsens<=s0;sl:if(din==d[l])elsens<=s
5、O;ns<=s2;s2:if(din==d[2])nsv=s3;elsens<=sO;s3:if(din==d[3])ns<=s4;elsens<=sO;s4:if(din==d[4])ns<=s5;elsens<=sO;s5:if(din==d[5])ns<=s6;elsens<=sO;s6:if(din==d[6])ns<=s7;elsens<=sO;s7:if(din==d[7])ns<=s8;elsens<=sO;s8:ns<=s8;defaultns<=sO;endcaseendalways@(ns)beginif(ns=
6、=s8)err<=4!bl010;elseeirv=4'blll0;endendmodule編譯:選擇processingstartcompilation命令,開始編譯。也可玄接點(diǎn)擊ifij板上編譯按鈕。結(jié)果如圖:4*Qiiartii*TI-Df/qwartna4?r/ST1!I/XCI
7、Cn?Fila*bmiRr>?rf-Fl?v%?M?ry
8、EDMICXvU>?rtLmUBh???FlwHotHotAAU8比1?liiK"?*trtj^cl178Y&*4w??;?HectorFIotS<*?wnUvtuMYUbut*1*4F
9、mlrT??amMUaTMU!?<*?UMattT???X?IMTm?i?■rTmUHUKOHIHDWC1MJr?MiTmit/lm(ib>is/:a?(:si)0/K.TM(0?)Fmd^iimihwaauMwr&e0ASr入SWWwO后7U2jrF?
10、?0M)ewu“■r*■?????a>?0CtOBm*CifS“XUMUgpl*??cc(xrtMC0?a?