智力競賽搶答器 Verilog HDL 建模

2021-10-08 04:50:31 字數 3148 閱讀 8896

設計題目: 智力競賽搶答器 verilog hdl 建模

設計要求: 1、 5 組參賽者進行搶答;

2、 當搶先者按下按鈕時,搶答器能準確判斷,並以聲、光標誌(模擬)。要求聲響、光亮時間為 3s 後自動結束;

3、 搶答器應具有互鎖功能,某組搶答後能自動封鎖其他各組進行搶答;

4、 具有限時功能,分 5s 、 10s 、 15s 三檔時間,時間到自動發出聲響,且計時時間通過數碼管顯示(以 7 段解碼輸出、動態掃瞄方式);

5、 犯規、違章警告訊號(如主持人未說 「 開始搶答 」 ,搶答者按下按鈕),以指示燈閃爍標誌;

6、 系統具有乙個總復位開關;

7、 用 verilog hdl 對此搶答器進行建模,並在 modelsim se 或 quartus ii 平台進行**測試,給出**結果。

設計任務

智力競賽搶答器的 verilog hdl 建模

一、設計任務與要求

智力競賽搶答器 verilog hdl 要求有 5 組參賽者進行搶答,有五個搶答訊號進行搶答。當有搶答選手按下搶答鍵後系統能夠快速準確的判斷是那一組選手按下了搶答訊號,由於系統比較小,速度比較快一般不會有同時按下的可能,所以只有五種狀態,然後系統能夠根據這五種狀態進行適時的顯示和提示。本系統設計的是以數碼管顯示對應選手的編碼,並且顯示選手之前對應的 led 燈。當有選手按下以後就對搶答訊號進行鎖存,其他選手的輸入無效。然後就是對搶答進行時間限制了,根據設定的時間進行倒計時,當倒計時完成還沒有人搶答的時候系統發出警報聲音提示時間已經到了。當有選手在設定的時間裡面完成搶答後,系統自動停止計時。系統需要主持人進行控制,當主持人按下開始以後才能搶答,否則搶答無效。還有清除復位鍵,搶答完成以後按復位鍵即可清除已有的狀態。通過 verilog hdl 建模實現系統的各個模組功能,最後將系統連線完成,進行編譯**。

二、方案設計與論證

2.1 方案論證

本系統採用 verilog hdl 語言進行建模,總共分為五個模組,分別是搶答模組,鎖存器模組,計數模組, 聲音產生模組、聲音頻號控制模組 。搶答模組有三個輸入,分別是搶答訊號,清除訊號,和使能訊號。搶答模組有五組選手進行搶答,當使能訊號有效以後,搶答訊號其中乙個有效則進行搶答鎖存,然後輸出搶答以後的各種狀態,並且顯示。計數模組可以進行倒計時,在使能訊號有效的時候進行倒計時,然後發出控制訊號控制聲音控制模組,進行聲音警報。

方案一:採用微控制器來實現智力競賽搶答器。基於微控制器的智力競賽搶答器的工作原理是採用微控制器最小系統,用程式查詢方式採用動態顯示組號。主持人按下開始搶答鍵才可以搶答。主持人沒有按下開始搶答按紐( start ),有人搶答則搶答違規,報警並顯示組號,主持人按下開始搶答開關重新搶答。主持人按下開始搶答按紐( p3.0 ),蜂鳴響聲提示,數碼管 30 秒倒計時搶答,蜂鳴器響聲提示並顯示他的組號, 30 秒內有人搶答則最後五秒倒計時警報。微控制器最小系統、搶答按鍵模組(一位數碼顯示)、顯示模組、顯示驅動模組、搶答開關模組、蜂鳴器音訊輸出模組。基於微控制器的智力競賽搶答器硬體原理圖如下:

圖二:基於 fpga 智力競賽搶答器

通過綜合分析以後,得到的 rtl 圖如下:

圖三: rtl 圖

2.2 綜合分析

綜合以上分析我們可知 fpga 和微控制器都可以實現智力競賽搶答器這一系統,但是 fpga 執行速度快 fpga 內部整合鎖項環 , 可以把外部時鐘倍頻 , 核心頻率可以到幾百 m, 而微控制器執行速度低的多 . 在高速場合 , 微控制器無法代替 fpga ,在這一系統中當選手進行搶答的時候,要求系統的執行速度較快,否則當有兩個選手搶答的時間相差不是很大的時候,對於微控制器系統通過查詢方式占用很大的系統資源,執行速度比較慢,會造成搶答判斷錯誤。微控制器 io 口有限 , 而 fpga 動輒數百 io, 可以很容易用不同 io 連線各外設。所以我們選用 fpga 來實現智力競賽搶答器 , 用 verilog hdl 語言實現程式設計。

三、模組設計及程式清單

本次設計的搶答器系統由 5 部分模組組成,分別是:選手搶答模組、鎖存模組、計數模組、聲音警報模組、聲音頻號控制模組。

3.1 搶答模組

搶答模組主要完成兩個功能,一是 準確的判斷出第一位搶答者 ,二是當選手搶答後送出聲音使能訊號,作為下個模組的聲音的觸發訊號。 其 verilog hdl 源程式如下:

case (player) // 選手搶答訊號

5』b00001 : // 五位搶答訊號判斷

begin

y1 <= 1 ;

y2 <= 5』b00001 ;

ea <= 1』b0 ;

end……

default : // 沒有相符合的訊號時則執行此句

begin

y1<= 0;

y2=5』b00000;

ea<=1;

endendcase

以上模組通過乙個 case 語句來實現搶答功能, case 語句是乙個條件語句,當 play 訊號的值為「 00001 」時候程式執行第乙個「 begin end 」裡面的語句,當 play 訊號為「 00010 」的時候程式執行第二個「 begin end 」裡面的語句,依次類推如果 play 的值與以上訊號都不符的話就執行 default 後面的語句。通過模組編譯以後所得的模組框圖如下:

圖四:搶答模組

通過綜合以後我們可以得到 rtl 圖如下:

圖五:搶答模組 rtl 圖

3.2 鎖存模組

鎖存模組 是對第一位搶答者的訊號進行鎖存,其後的訊號無效。其中 d 為鎖存輸入訊號, clk 為時鐘訊號, ea 為使能訊號, clear 為清除訊號, q 為鎖存輸出訊號, alm0 為觸發選手搶答報警的聲音頻號。整個模組 verilog hdl 源程式如下:

else if (ea == 1』b0) // 使能訊號有效則執行下面語句

begin

q <= d ; // 將 d 的值傳給 q

if (clk == 1』b1) // 時鐘到達則執行下面

begin

temp = temp + 1;

if (temp == 2)

begin

alm0 <= 1』b0 ;

temp = temp - 1;

endelse

begin

alm0 <= 1』b1 ;

endend

end以上模組主要通過 if 進行條件判斷選擇,當條件符合的時候則執行,模組通過編譯綜合以後得到的框圖如下所示:

圖六:鎖存模組

綜合以後得到的 rtl 圖如下:

圖七:鎖存器 rtl 圖

智力競賽搶答器的設計與除錯

一 實驗目的 1 了解乙個數字系統的基本組成及它的控制電路的設計。2 熟悉整合晶元的綜合應用和pld的應用與特點。3 學習用實驗的方法來完善理論設計以及用實驗的方法確定某些電路引數。4 繼續掌握逐級分部的除錯方法。二 設計要求 搶答器應具有數碼鎖存 顯示功能,搶答組數分為7組,即序號1 2 3 4 ...

基於微控制器智力競賽搶答器的設計 畢設課設資料

供6組選手參賽,編號分別為1 6,按鈕的編號與選手編號相對應。主持人控制開關可用來控制系統的清零和開始。按下 開始 鍵時,進入正常工作。具有資料鎖存和顯示的功能。若有選手搶答,搶答電路和定時電路停止工作,禁止其它選手搶答,同時顯示該選手編號和搶答時刻時間。定時搶答 一次搶答時間設定為30s,開始 後...

數字式競賽搶答器設計

題目 數字式競賽搶答器設計 4人搶答器 一 需求分析 1 問題描述 設計乙個可容納不低於四組參賽者同時搶答的數字搶答器,可判斷第一搶答者並報警指示搶答成功,其他組搶答均無效。用數碼管顯示成功搶答者的組號,若提前搶答則對相應的搶答組發出警報。2 基本要求 a 裁判按下開始按鈕之後方可開始搶答,當裁判按...