實驗二 四人搶答器 一、實驗目的 1、熟悉四人搶答器的工作原理; 2、掌握EDA開發的基本流程。 二、硬件需求 EDA/SOPC實驗箱一臺。 三、實驗原理 搶答器在各類競賽性質的場合得到了廣泛的應用,它的出現,消除了原來由于人眼的誤差而未能正確判斷最先搶答的人的情況。 搶答器的原理比較簡單,首先必須設置一個搶答允許標志位,目的就是為了允許或者禁止搶答者按按鈕;如果搶答允許位有效,那么第一個搶答者按下的按鈕就將搶答允許位清除,同時記錄按鈕的序號,也就是對應的按按鈕的人,這樣做的目的是為了禁止后面再有人按下按鈕的情況。總的說來,搶答器的實現就是在搶答允許位有效后,第一個按下按鈕的人將其清除以禁止再有按鈕按下,同時記錄清除搶答允許位的按鈕的序號并顯示出來,這就是搶答器的實現原理。 四、實驗內容 本實驗的任務是設計一個四人搶答器,用按鍵模塊的F5作搶答允許按鈕,用F1~F4來表示1號~4號搶答者,同時用LED模塊的led1~led4分別表示搶答者對應的位子。具體要求為:按下F5一次,允許一次搶答,這時F1~F4中第一個按下的按鍵將搶答允許位清除,同時將對應的LED點亮,用來表示對應的按鍵搶答成功。F1、F2、F3、F4、F5按下時為高電平,平時為低電平,led1~led4均為低電平輸出時點。- module responder_module
- (
- LED, F
- );
- input [4:0] F;
- output [3:0] LED;
-
- reg [3:0] LED;
- reg flag;
- always@(F)
- begin
- if(!F[4])
- begin
- LED<=4'b1111;
- flag<=1'b1;
- end
- else if(flag)
- case({F[0],F[1],F[2],F[3]})
- 4'b0000: LED<=4'b1111;
- 4'b1000: begin LED<=4'b1110;flag<=1'b0; end
- 4'b0100: begin LED<=4'b1101;flag<=1'b0; end
- 4'b0010: begin LED<=4'b1011;flag<=1'b0; end
- 4'b0001: begin LED<=4'b0111;flag<=1'b0; end
- default: LED<=4'b1111;
- endcase
- end
- endmodule
復制代碼 仿真圖:
仿真圖
|