999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Verilog HDL數(shù)字式競賽搶答器的制作

2015-01-22 10:34:38□程
產(chǎn)業(yè)與科技論壇 2015年7期
關(guān)鍵詞:信號系統(tǒng)設(shè)計(jì)

□程 瓊

一、引言

Verilog HDL是一種硬件描述語言(HDL:Hardware Description Language),于1995年成為IEEE標(biāo)準(zhǔn)(即IEEE Std 1364-1995)。它是以文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語言,可用于從算法級、門級到開關(guān)級的多種抽象設(shè)計(jì)層次的數(shù)字系統(tǒng)建模。作為業(yè)界使用最廣泛的硬件描述語言之一,有大量的電子設(shè)計(jì)自動(dòng)化工具對它予以支持。通過使用集成開發(fā)環(huán)境,設(shè)計(jì)人員可以在常見的Windows或其它圖形化系統(tǒng)中進(jìn)行設(shè)計(jì)、仿真、驗(yàn)證。

現(xiàn)代數(shù)字系統(tǒng)的設(shè)計(jì)多采用自頂向下(TOP-DOWN)的設(shè)計(jì)方法,自頂向下的設(shè)計(jì)方式有利于系統(tǒng)級別層次的劃分和管理,提高效率、降低成本。基于Verilog HDL設(shè)計(jì)并實(shí)現(xiàn)的數(shù)字式競賽搶答器,自頂層設(shè)計(jì)各個(gè)階層,成本低,操作簡便、可靠性高,有著廣泛的應(yīng)用前景。

二、系統(tǒng)設(shè)計(jì)原理及總體模塊設(shè)計(jì)

數(shù)字式競賽搶答器要求具有四路搶答輸入,能夠識別最先搶答的信號,對回答問題所用的時(shí)間進(jìn)行計(jì)時(shí)、顯示,能進(jìn)行搶答報(bào)警及超時(shí)報(bào)警,可以預(yù)置回答問題的時(shí)間,同時(shí)具有記分和復(fù)位功能。

(一)系統(tǒng)設(shè)計(jì)原理及開發(fā)平臺。采用自頂向下的設(shè)計(jì)方法,把系統(tǒng)劃分為幾個(gè)基本模塊,再把每個(gè)基本單元?jiǎng)澐譃橄乱粚哟蔚幕締卧恢毕氯ィ钡絼澐譃橐粋€(gè)個(gè)簡單的功能模塊為止。設(shè)計(jì)的實(shí)現(xiàn)采用的是EDA Pro2K實(shí)驗(yàn)開發(fā)系統(tǒng),所用芯片為ALTERA的FLEX10K系列中的EPF10K10LC84-4,系統(tǒng)設(shè)計(jì)所用軟件為MAX+plus2 10.0。

圖1 系統(tǒng)總體結(jié)構(gòu)圖

(二)系統(tǒng)總體模塊設(shè)計(jì)。根據(jù)系統(tǒng)的功能要求,構(gòu)造系統(tǒng)總體結(jié)構(gòu)圖,如圖1。根據(jù)系統(tǒng)總體結(jié)構(gòu)圖,再結(jié)合自頂向下的設(shè)計(jì)思想,系統(tǒng)基本模塊可分為Winner(鎖定搶答勝出者模塊)和Showscore(各選手的分?jǐn)?shù)顯示模塊)。設(shè)計(jì)系統(tǒng)總體模塊樹如圖2。

圖2 系統(tǒng)總體模塊設(shè)計(jì)

三、系統(tǒng)各模塊設(shè)計(jì)及其仿真實(shí)現(xiàn)

(一)系統(tǒng)總模塊。系統(tǒng)總模塊即是將兩個(gè)獨(dú)立的基本模塊Winner和Showscore連接起來,使其實(shí)現(xiàn)完整的系統(tǒng)功能,其連接圖如圖3。

圖3 Winner和Showscore連接圖

(二)Winner模塊。此基本模塊的功能是選出4位選手中的搶答勝出者,并對超前搶答的選手予以犯規(guī)提示;選出優(yōu)勝者后,若此選手在規(guī)定的時(shí)間內(nèi)未回答出來問題,同樣也予以提示。該模塊的主要代碼及注釋如下:

module Winner(clk,compere_reset,compere_begin,player_signals,Vic_Lights,Monitor_Lights);

input clk,compere_reset,compere_begin;//輸入信號:時(shí)鐘脈沖、主持人復(fù)位和開始信號

input[4:1]player_signals;//輸入信號:4位選手的搶答信號

output[4:1]Vic_Lights,Monitor_Lights;//輸出信號:提示成功搶答和犯規(guī)搶答的信號燈

reg[4:1]Vic_Lights,Monitor_Lights;

reg[1:0]judgeA,judgeB,judgeC,judgeD;//中間變量:標(biāo)識4位選手的搶答動(dòng)作是否犯規(guī)的編碼

wire ok;//中間變量:標(biāo)識是否已有選手成功搶答

reg time_up;//中間變量:從成功搶答開始計(jì)時(shí)到3秒鐘的標(biāo)志信號

reg clk_256,clk_512;//中間變量:分頻信號,用于計(jì)時(shí)和提供不同的監(jiān)督提示信號

divFreq divF_0(clk,compere_reset,clk_256,clk_512);

//對1kHz的時(shí)鐘脈沖進(jìn)行分頻

is_leading is_leading_1(clk,clk_256,player_signals[1],compere_reset,compere_begin,judgeA),

is_leading_2(clk,clk_256,player_signals[2],compere_reset,compere_begin,judgeB),

is_leading_3(clk,clk_256,player_signals[3],compere_reset,compere_begin,judgeC),

is_leading_4(clk,clk_256,player_signals[4],compere_reset,compere_begin,judgeD);

//對各選手搶答行為進(jìn)行編碼

Analysis_judge analysis_1(clk,clk_256,clk_512,compere_reset,time_up,judgeA,ok,Vic_Lights[1],Monitor_Lights[1]),

analysis_2(clk,clk_256,clk_512,compere_reset,time_up,judgeB,ok,Vic_Lights[2],Monitor_Lights[2]),

analysis_3(clk,clk_256,clk_512,compere_reset,time_up,judgeC,ok,Vic_Lights[3],Monitor_Lights[3]),

analysis_4(clk,clk_256,clk_512,compere_reset,time_up,judgeD,ok,Vic_Lights[4],Monitor_Lights[4]);

//對各選手搶答行為的編碼進(jìn)行解碼,并驅(qū)動(dòng)各提示燈

assign ok=Vic_Lights[1]||Vic_Lights[2]||Vic_Lights[3]||Vic_Lights[4];

//判斷是否產(chǎn)生了最先搶答成功選手

count_3s count_3s0(clk,clk_256,compere_reset,ok,time_up);

//產(chǎn)生了最先搶答成功選手后,開始計(jì)時(shí)3秒

采用自頂向下的設(shè)計(jì)方法,將Winner模塊進(jìn)一步分層,Winner模塊可分為divFreq子模塊、is_leading子模塊、Analysis_judge子模塊、count_3s子模塊等,對應(yīng)功能及實(shí)現(xiàn)如下:

1.divFreq子模塊。實(shí)現(xiàn)對1kHz的輸入脈沖進(jìn)行分頻,得到4Hz和2Hz的脈沖,這些分頻脈沖用于計(jì)時(shí)和提供不同的監(jiān)督提示信號。

2.is_leading子模塊。用于判斷選手是否有超前犯規(guī)動(dòng)作,輸出一個(gè)兩位的用于判斷選手是否超前搶答犯規(guī)的編碼。

3.Analysis_judge子模塊。用于對標(biāo)識選手是否犯規(guī)的標(biāo)識碼進(jìn)行解碼,若選手成功搶答且之前無其它選手成功搶答,則通過成功搶答燈(Vic_Light)予以提示,如圖4;若選手超前犯規(guī)搶答,則通過監(jiān)督燈(Monitor_Light)予以提示,閃爍頻率為4Hz;若選手在規(guī)定時(shí)間內(nèi)(3秒)未答對,則通過監(jiān)督燈(Monitor_Light)予以提示,閃爍頻率2Hz。

圖4 此選手搶答成功仿真圖

4.count_3s子模塊。用于計(jì)時(shí),在得到最先搶答選手時(shí),啟動(dòng)此計(jì)時(shí)器,當(dāng)過了3秒后此計(jì)時(shí)器輸出一個(gè)高電平信號time_up,即相當(dāng)于一個(gè)3秒計(jì)時(shí)器。

(三)Showscore模塊。此基本模塊為在每次搶答決出優(yōu)勝者后,主持人可根據(jù)其回答問題的對錯(cuò),對其分?jǐn)?shù)進(jìn)行加減,并予以顯示,即記分模塊。

module ShowScore(HFclk,Enables,compere_reset,compere_add,compere_sub,

scoreA,scoreB,scoreC,scoreD);

input HFclk,compere_reset,compere_add,compere_sub;//輸入信號:1kHz脈沖、主持人的復(fù)位信號、加信號、減信號

input[4:1]Enables;//輸入信號:4個(gè)使能信號,只有當(dāng)此選手為優(yōu)勝者時(shí)主持人才可對其分?jǐn)?shù)進(jìn)行操作

output[8:1]scoreA,scoreB,scoreC,scoreD;//輸出信號:4位選手的分?jǐn)?shù)

reg[8:1]scoreA,scoreB,scoreC,scoreD;

Score score1A(HFclk,Enables[1],compere_reset,compere_add,compere_sub,scoreA),

score1B(HFclk,Enables[2],compere_reset,compere_add,compere_sub,scoreB),

score1C(HFclk,Enables[3],compere_reset,compere_add,compere_sub,scoreC),

score1D(HFclk,Enables[4],compere_reset,compere_add,compere_sub,scoreD);

//在使能端的控制下,主持人對優(yōu)勝者的分?jǐn)?shù)進(jìn)行操作

采用自頂向下的設(shè)計(jì)方法,將Showscore模塊進(jìn)一步分層,Showscore模塊還包括Score子模塊,Score子模塊實(shí)現(xiàn)對選手的分?jǐn)?shù)進(jìn)行初始化,主持人可以對選手的分?jǐn)?shù)進(jìn)行加和減,如圖5。

圖5 選手記分模塊仿真

(四)系統(tǒng)仿真測試。在各位選手均無犯規(guī)行為如超前搶答的情況下,實(shí)現(xiàn)的效果如圖6。

圖6 搶答正常情況仿真圖

其中,clk為周期為200ns的脈沖;reset為主持人復(fù)位信號;sub和add為主持人加減分信號;begin為開始信號;player分別為4位選手的搶答信號;MLight分別為4位選手的監(jiān)督提示燈信號;VLight為4位選手的勝出搶答信號燈;Score為4位選手的成績顯示。以上信號均為高電平有效。

可見,在本輪搶答中,在主持人按下add和sub后,選手的分?jǐn)?shù)得到初始化;在主持人按下開始鍵后,4號選手最先搶答成功,所以其成功搶答指示燈VLight4亮,并且過了3秒鐘后其監(jiān)督指示燈(MLight4)低速閃爍。假如本輪比賽4號選手答錯(cuò),則主持人可以將4號分?jǐn)?shù)減少,變?yōu)?分。

另外,系統(tǒng)設(shè)計(jì)在每輪比賽中,只給每位選手一次搶答機(jī)會,選手一旦按鍵后,以后按鍵將會無效,這是為了防止有選手不停按鍵以騙取答題機(jī)會。

四、結(jié)語

本系統(tǒng)采用自頂向下的設(shè)計(jì)思想,即先要對系統(tǒng)功能進(jìn)行分析和劃分,即分為選出搶答勝出者模塊和記分模塊。系統(tǒng)設(shè)計(jì)要求四路搶答輸入,故選出搶答勝出者模塊可以分為4個(gè)相同的小模塊。Verilog HDL設(shè)計(jì)中模塊之間為并行執(zhí)行,可以根據(jù)各位選手的搶答情況判斷整輪比賽的搶答情況。同樣,對于記分模塊,也可細(xì)化到一位選手的記分情況。這樣,不同的選手都可以套用同一個(gè)模塊,提高了模塊的利用率,也使系統(tǒng)更簡單明了。

[1]云創(chuàng)工作室.Verilog HDL程序設(shè)計(jì)與實(shí)踐[M].北京:人民郵電出版社,2009

[2]王思淼,陳戰(zhàn)勝,胡正坤.數(shù)字競賽搶答器的設(shè)計(jì)與實(shí)現(xiàn)[J].齊齊哈爾大學(xué)學(xué)報(bào),2013

[3]http://baike.baidu.com/linkurl=Q0mT90ZQ1eUteVwTOH wUMVqhsmEFejasUiOKelkpQY66GQGbNy1Y3XW4RpkQKJrHb CpqjurArFqHgWE0Or1bJq

猜你喜歡
信號系統(tǒng)設(shè)計(jì)
Smartflower POP 一體式光伏系統(tǒng)
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
完形填空二則
瞞天過海——仿生設(shè)計(jì)萌到家
基于FPGA的多功能信號發(fā)生器的設(shè)計(jì)
電子制作(2018年11期)2018-08-04 03:25:42
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
主站蜘蛛池模板: 精品国产女同疯狂摩擦2| 99精品高清在线播放| 午夜天堂视频| 熟女视频91| 麻豆国产精品一二三在线观看| 亚洲精品男人天堂| 欧美精品一二三区| 亚洲精品国产精品乱码不卞| 狠狠五月天中文字幕| 中文字幕色在线| 亚洲中文字幕手机在线第一页| 欧美亚洲另类在线观看| 日韩免费毛片| 四虎在线高清无码| 日本午夜影院| 国产女人喷水视频| 欧美一级在线| 色综合中文| 色呦呦手机在线精品| 久久久久久久久久国产精品| 91精品国产综合久久香蕉922| 国产欧美高清| 色成人综合| 国产精品亚洲综合久久小说| 国产产在线精品亚洲aavv| 久久青青草原亚洲av无码| 国产香蕉在线视频| 婷婷激情亚洲| 免费黄色国产视频| 久久久久人妻精品一区三寸蜜桃| 精品一区二区三区波多野结衣| 国产xxxxx免费视频| 在线观看免费人成视频色快速| 国产欧美日韩另类| 亚洲中文字幕在线观看| 中日韩一区二区三区中文免费视频 | 国产va在线| 中文字幕在线播放不卡| 久久特级毛片| 亚洲精品无码久久毛片波多野吉| 国产精品久久精品| 欧美黑人欧美精品刺激| 成年片色大黄全免费网站久久| 日韩福利在线观看| 18禁黄无遮挡免费动漫网站| 91久久精品国产| 中文字幕66页| 亚洲欧美激情小说另类| 国产欧美亚洲精品第3页在线| 在线欧美日韩| 国产精品区网红主播在线观看| 免费高清毛片| 欧美影院久久| 国产成a人片在线播放| 野花国产精品入口| 精品久久久久无码| 97成人在线视频| 无码有码中文字幕| 欧美成人影院亚洲综合图| 久久免费视频播放| 欧美有码在线| 国产精品99r8在线观看| 午夜老司机永久免费看片| 白浆视频在线观看| 免费毛片在线| 精品国产电影久久九九| 国产性猛交XXXX免费看| 91视频日本| 四虎永久免费地址| 啊嗯不日本网站| 久久人搡人人玩人妻精品| 亚洲美女一区| 亚洲激情区| 精品成人免费自拍视频| 中文字幕天无码久久精品视频免费 | 久青草国产高清在线视频| 伊人久久大香线蕉影院| 欧美日韩在线第一页| 国产美女免费| 久草视频精品| 日本在线国产| 久久精品中文字幕少妇|