實驗三用狀態機實現序列檢測器的設計_第1頁
實驗三用狀態機實現序列檢測器的設計_第2頁
實驗三用狀態機實現序列檢測器的設計_第3頁
實驗三用狀態機實現序列檢測器的設計_第4頁
實驗三用狀態機實現序列檢測器的設計_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、精選優質文檔-傾情為你奉上 FPGA實驗報告 實驗名稱:用狀態機實現序列檢測器的設計 姓 名: 班 級: 電子1002班 指導老師: 時 間: 2013年3月27日 一、實驗要求1、應用有限狀態機的設計思路,檢測輸入的串行數據是否是8b。2、擬用SW3-SW0,J4接口的E8,F8,C7,D7作為系統輸入(系統由此需要設計一個8bits并行數據轉串行的模塊)3、一個7段數碼顯示譯碼器作為檢測結果的輸出顯示,如果串行序列為”,顯示A,否則顯示b(系統需要設計一個7段數碼顯示譯碼器模塊)4、為了顯示可控,清晰,擬用V16,D18實現時鐘,復位信號的輸入。2、 任務分析頂層模塊并轉串模塊串行檢測模塊

2、數碼管顯示模塊并行8bits數據clk串行數據4bits數據reset7bits數據圖2.1 設計任務框圖系統共包括4個模塊:1、并行數據轉串行數據模塊(xulie.v); 異步復位,在時鐘控制下,將并行輸入數據din87:0,按照din7,din6,din5,din4,din3,din2,din1,din0的順序輸出至串行檢測模塊的輸入端口din。2、串行檢測模塊;輸入信號:din-1bit的串行輸入數據clk-同步輸入時鐘clr -異步清零信號,當CLR=1,系統輸出置0,否則,系統正常工作。輸出信號:AB-4bits數據,如果系統檢測到8b的串行輸入,AB=4b1010,否則,AB=4b

3、1011。3、數碼管顯示模塊;輸入:data_in3:0 -待顯示的數值輸出:data_out6:0 -驅動數碼管的七位數值4、消抖模塊。 由于需要用按鍵V16作為時鐘輸入,為保證實驗效果,調用實驗二中應用的消抖模塊,對時鐘clk輸入信號進行消抖。三、實驗過程 1、構建一個工程名為XULIEQI的工程,正確選擇器件和EDA工具。2、設計串行檢測模塊(schk.v)a)、建立新Verilog HDL模塊編輯窗口,選擇資源類型為Verilog Module,并輸入合法文件名圖3.1 工程建立及工具選擇b)、在文本編輯窗口輸入代碼圖3.2 文本編輯附:module schk(din,clk,clr,

4、AB); input din,clk,clr; output 3:0 AB; reg 3:0 AB; reg 7:0 Q; parameter s0= 8'b,a = 8'b,b = 8'b,c = 8'b,d = 8'b,e = 8'b,f = 8'b,g = 8'b,h = 8'b,data=8'b; always (posedge clk or posedge clr) if(clr) begin Q <= s0; end else begin case(Q) s0: begin if(din=data

5、7) Q<=a; else Q<=s0; end a: begin if(din= data6) Q<=b; else Q<=s0; end b:begin if(din= data5) Q<=c; else Q<=s0; end c: begin if(din= data4) Q<=d; else Q<=c; end d: begin if(din= data3) Q<=e; else Q<=a; end e: begin if(din= data2) Q<=f; else Q<=s0; end f: begin if(

6、din= data1) Q<=g; else Q<=b; end g: begin if(din= data0) Q<=h; else Q<=s0; end h: begin if(din= data7) Q<=a; else Q<=s0; end default : Q<=s0; endcase endalways (Q) begin if(Q = h) AB <= 4'b1010 ; else AB <= 4'b1011 ; end endmoduled)、執行綜合得到綜合后的電路,并進行功能仿真。圖3.3 功能仿真3、

7、 串行檢測模塊(schk.v)步驟同2,附上設計結果,如下圖所示:圖3.4 功能仿真4、 數碼管顯示模塊(decled7s .v)同樣的步驟,參考實驗二的數碼顯示模塊。5、 消抖模塊設計同樣的步驟,參考實驗二的消抖模塊。6、 編寫頂層設計,進行綜合、仿真。圖3.5 綜合結構圖圖3.6 功能仿真7、在頂層添加消抖模塊,綜合后,鎖定引腳。擬用SW3-SW0,J4接口的E8,F8,C7,D7作為系統輸入din87:0;采用D18按鍵為復位信號輸入;采用V16按鍵作為時鐘輸入;仍采用J2,J1的引腳為數碼管輸出引腳;50MHZ板上時鐘為消抖計時時鐘。8、 驗證程序后,下載。9、連接輸入信號到FPGA,

8、改變撥動開關和按鍵,觀察結果。下載成功后,可以看到,按下按鍵即給一定的時鐘后,檢測到數據后,數碼管顯示A,否則顯示b。4、 思考題并行轉串行模塊采用Moore型狀態機:次態=f(現狀,輸入),輸出=f(現狀);Moore型FSM的輸出是僅由狀態寄存器驅動的,由于狀態寄存器是同步的,所以由其驅動的輸出邏輯也是同步的。Moore型FSM的輸出邏輯相對于Mealy型FSM的輸出邏輯簡單許多,僅是對狀態寄存器進行譯碼的組合邏輯。通過對Moore型FSM的狀態寄存器進行恰當地編碼,可以簡化對狀態寄存器進行譯碼的組合邏輯,得到更加簡單的輸出邏輯。串行檢測模塊采用Mealy型狀態機:次態=f(現狀,輸入),輸出=f(現

溫馨提示

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

評論

0/150

提交評論