【正文】
...................... 22 參考文獻 ........................................................................................................... 22 3 第一 章 智能搶答器設(shè)計 第一節(jié) : 基于 VHDL 智能搶答器 在許多比賽活動中,為了準確 公正 直觀地判斷出第一搶答者,通常設(shè)置一臺搶答器,通過數(shù)顯 燈光及音響等多種手段指示出第一搶答者。 2) 系統(tǒng)清 零信號 CLR,系統(tǒng)時鐘信號 CLK,記分復(fù)位端 RST,加分按鈕端 ADD,計時預(yù)置控制端 LDN,計時使能端 EN,計時預(yù)置數(shù)據(jù)調(diào)整按鈕 TA; TB。 5 其 VHDL 源程序如下: LIBRARY IEEE。 BEGIN PROCESS(CLR,A,B,C,D) IS BEGIN IF CLR=39。039。139。 STATES =0001。 then c_1=39。 END IF。其中,初始值的預(yù)置功能是將兩位數(shù)分解成兩個數(shù)分別進行預(yù)置。 shi wei END ENTITY JSQ。EVENT AND CLK=39。 THEN計時開始 IF TMPA=0000 THEN遇到 9 則自動變?yōu)?0,否則減一 TMPA:=1001。 QA=TMPA。 其 VHDL 源程序如下: LIBRARY IEEE。 ARCHITECTURE ART OF JFQ IS BEGIN PROCESS(RST,ADD,CHOS) IS VARIABLE POINTS_A0: STD_LOGIC_VECTOR(3 DOWNTO 0)。139。 ELSIF CHOS=0010 THEN IF POINTS_B0=1001 THEN POINTS_B0:=0000。 END IF。 END IF。 ARCHITECTURE ART OF YMQ IS BEGIN PROCESS(AIN4) BEGIN CASE AIN4 IS WHEN 0000=DOUT7=1111110。 7 WHEN 1000=DOUT7=1111111。 USE 。 out3 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0))。 TA,TB:IN STD_LOGIC_vector(3 downto 0)。 ADD: IN STD_LOGIC。 out1=tmp1。 END ENTITY qdjb。 ELSIF (A=39。) THEN A1=39。states=w1。039。039。 and D=39。D1=39。039。039。 USE 。 SIGNAL cc2,cc1,cc0,dd2,dd1,dd0: STD_LOGIC_VECTOR (3 DOWNTO 0)。) THEN IF RST=39。 POINTS_D2:=0001。139。 ELSIF CHOS=0010THEN IF POINTS_B1=1001THEN POINTS_B1:=0000。BB1= points_B1。 ELSE POINTS_C2:=POINTS_C2+39。 END IF。 END IF。PP0=DD0。 USE 。 BEGIN PROCESS (ta,tb,clr) IS BEGIN IF clr=39。 END IF。 PROCESS (clk) IS variable tmpa: STD_LOGIC_VECTOR (3 DOWNTO 0)。139。 IF tmpb=0000 THEN tmpb:=0110。 qb=tmpb。 TA,TB: IN STD_LOGIC。 STATES: OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 ADD: IN STD_LOGIC。 BEGIN u1:qdjb PORT map(clr,qd(0),qd(1),qd(2),qd(3), qdo(0),qdo(1),qdo(2),qdo(3),tmp1)。 END PROCESS。 sel=001000。 WHEN 0001=sm=0000110。 WHEN 1001=sm=1101111。 END CASE。 21 WHEN 0011=sm=1001111。 sel=010000。 sel=000001。 u3: jsq PORT map(clr,ldn,en,clk,ta,tb,tmp2,tmp3)。 pp2,pp1,pp0: INOUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 COMPONENT jsq IS PORT(CLR,LDN,EN,CLK: IN STD_LOGIC。 sel: OUT STD_LOGIC_VECTOR (5 DOWNTO 0)。 END ARCHITECTURE art。 END IF。139。 BEGIN IF clr=39。139。 THEN Da=0000。 TA,Tb: IN STD_LOGIC。 END IF。139。139。 CC2= points_C2。 PP2=BB2。 ELSE POINTS_B2:=POINTS_B2+39。AA1= points_A1。 ELSIF CHOS=0001THEN IF POINTS_A1=1001THEN POINTS_A1:=0000。THEN POINTS_A2:=0001。 VARIABLE points_b2,points_b1: STD_LOGIC_VECTOR (3 DOWNTO 0)。 ENTITY jfq IS PORT(rst: IN STD_LOGIC。139。139。states=w3。) THEN A1=39。 ELSIF (A=39。039。039。B1=39。 and B=39。 constant w2: STD_LOGIC_VECTOR :=0010。 13 V C Cc lk IN P U TV C CR E S T IN P U TV C CA IN P U TV C CB IN P U TV C CC IN P U TV C CD IN P U TV C CC ON T OL IN P U TVCCADDINPUTVCCSUBINPUTOU 0O U T P U TOU 3O U T P U TOU 1O U T P U TO U 2O U T P U TOU 10O U T P U TO U 20O U T P U TOU 30O U T P U TO U 40O U T P U TSPEAKER O U T P U TQA1O U T P U TQA2O U T P U TQA3O U T P U TQA4O U T P U TQB1O U T P U TQB2O U T P U TQB3O U T P U TQB4O U T P U TQC 1O U T P U TQ C 2O U T P U TQC 3O U T P U TQC 4O U T P U TQ D 1O U T P U TQD 2O U T P U TQD 3O U T P U TQ D 4O U T P U TDAO U T P U TDBO U T P U TDCO U T P U TDDO U T P U TD1O U T P U TD2O U T P U Tf g1O U T P U Tf g2O U T P U Tf g3O U T P U Tf g4O U T P U Tjb 1O U T P U Tjb2O U T P U Tjb3O U T P U Tjb 4O U T P U TI0I1I2I3SRc lkE O Nou10u20u30u4s p e a k e rFGins tC H A N G EARB C GC S TDCSO U AO U BO U CO U Dr e s tc lk g es t o pc lk s hC O T R O Lins t 15r e s tc lk g ec lk jss t o pc lk s hqa