資源描述:
《用狀態(tài)機實現(xiàn)序列檢測器的設計.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、.1.掌握基于語言的ISE設計全流程;實驗三:用狀態(tài)機實現(xiàn)序列檢測器的設計一、實驗目的2.用狀態(tài)機實現(xiàn)序列檢測器的設計,并對其進行仿真和硬件測試。3.掌握基于語言的ISE設計全流程;4.熟悉、應用VerilogHDL描述數(shù)字電路;二、實驗原理與設計過程(一)實驗內(nèi)容:序列檢測器可用于檢測一組或多組由二進制碼組成的脈沖序列信號,當序列檢測器連續(xù)收到一組串行二進制碼后,如果這組碼與檢測器中預先設置的碼相同,則輸出A,否則輸出b。由于這種檢測的關(guān)鍵在于正確碼的收到必須是連續(xù)的,這就要求檢測器必須記住前一次的正確碼及正確序列,直到在連續(xù)的檢測中所收到的每一位碼都與預置數(shù)的對
2、應碼相同。在檢測過程中,任何一位不相等都將回到初始狀態(tài)重新開始檢測。例3-1描述的電路完成對序列數(shù)"11100101"的。當這一串序列數(shù)高位在前(左移)串行進入檢測器后,若此數(shù)與預置的密碼數(shù)相同,則輸出“A”,否則仍然輸出“b”。(二)本次實驗的核心是:應用有限狀態(tài)機的設計思路,檢測輸入的串行數(shù)據(jù)是否是8’b11100101。根據(jù)下載電路板的資源,擬用SW3---SW0,J4接口的E8,F8,C7,D7作為系統(tǒng)輸入(系統(tǒng)由此需要設計一個8bits并行數(shù)據(jù)轉(zhuǎn)串行的模塊),一個7段數(shù)碼顯示譯碼器作為檢測結(jié)果的輸出顯示,如果串行序列為”11100101”,顯示A,否則顯示
3、b(系統(tǒng)需要設計一個7段數(shù)碼顯示譯碼器模塊),為了顯示可控,清晰,擬用V16,D18實現(xiàn)時鐘,復位信號的輸入。(三)設計參考:本實驗由頂層文件、串行檢測、并行數(shù)據(jù)轉(zhuǎn)串行、數(shù)碼管顯示四個模塊組成:范文..a)系統(tǒng)共包括4個模塊:并行數(shù)據(jù)轉(zhuǎn)串行數(shù)據(jù)模塊、串行檢測模塊、數(shù)碼管顯示模塊、消抖模塊。由于需要用按鍵V16作為時鐘輸入,為保證實驗效果,調(diào)用實驗二中應用的消抖模塊,對時鐘clk輸入信號進行消抖。b)對于并行數(shù)據(jù)轉(zhuǎn)串行數(shù)據(jù)模塊輸入輸出端口說明:i.clk-----系統(tǒng)時鐘,由按鍵V16通過消抖模塊后提供。ii.din8-----8bits輸入數(shù)據(jù),需在時鐘控制下,串行
4、輸出。iii.reset----系統(tǒng)復位信號,當reset=1’b1時,系統(tǒng)輸出復位,否則系統(tǒng)正常工作。iv.din----------1bit輸出信號。該并行模塊的設計如下:modulexulie_u1(clk,din8,reset,din);inputclk;input[7:0]din8;inputreset;outputdin;parameters0=3'b000,s1=3'b001,s2=3'b010,s3=3'b011,s4=3'b100,s5=3'b101,s6=3'b110,s7=3'b111;reg[2:0]cur_state,next_state;
5、regdin;always@(posedgeclkorposedgereset)if(reset)cur_state<=s0;elsecur_state<=next_state;always@(cur_stateordin8ordin)begincase(cur_state)s0:begindin<=din8[7];next_state<=s1;ends1:begindin<=din8[6];next_state<=s2;end范文..s2:begindin<=din8[5];next_state<=s3;ends3:begindin<=din8[4];next_s
6、tate<=s4;ends4:begindin<=din8[3];next_state<=s5;ends5:begindin<=din8[2];next_state<=s6;ends6:begindin<=din8[1];next_state<=s7;ends7:begindin<=din8[0];next_state<=s0;enddefault:begindin<=1'b0;next_state<=s0;endendcaseendendmodule(四)對于串行檢測模塊其輸入輸出端口說明如下:a)din-----1bit的串行輸入數(shù)據(jù)b)clk-----同步輸入
7、時鐘c)clr------異步清零信號,當CLR=1,系統(tǒng)輸出置0,否則,系統(tǒng)正常工作d)AB--------4bits數(shù)據(jù),如果系統(tǒng)檢測到8’b11100101的串行輸入,AB=4’b1010,否則,AB=4’b1011.e)其設計代碼如下:moduleschk_u2(din,clk,reset,AB);inputdin;inputclk;inputreset;output[3:0]AB;范文..reg[3:0]AB;reg[3:0]current_state,next_state;parameterst0=4'b0000,st1=4'b0001,st2=4'