【正文】
特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級(jí)語言。80年代為計(jì)算機(jī)輔助工程(CAE)階段。(2)通過該課程設(shè)計(jì)的學(xué)習(xí),總結(jié)計(jì)算機(jī)組成原理課程的學(xué)習(xí)內(nèi)容,運(yùn)用所學(xué)的數(shù)字電路以及計(jì)算機(jī)組成和狀態(tài)機(jī)的基本原理、基本知識(shí)和基本技巧,解決某一個(gè)具體的實(shí)際問題,培養(yǎng)綜合分析和解決問題的能力。課業(yè)繁重,但閑暇時(shí),總喜歡在校園中徜徉,每每看到跳動(dòng)的乒乓,就有種輕衫襯跳脫的輕松感。本論文對(duì)系統(tǒng)的功能設(shè)計(jì)、實(shí)現(xiàn)流程及正確使用都做了詳細(xì)的描述。其中電子玩具的發(fā)展也是在日益成熟。(3)當(dāng)“球”(點(diǎn)亮的那只LED)運(yùn)動(dòng)到某方的最后一位時(shí),參賽者應(yīng)能果斷地按下位于自己一方的按鈕開關(guān),即表示啟動(dòng)球拍擊球。目前,就FPGA/CPLD開發(fā)來說,比較常用和流行的HDL主要有ABELHDL、AHDL和VHDL[3]。 (2)VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。設(shè)計(jì)該乒乓球游戲機(jī)的輸入與輸出端口。 在整個(gè)程序中,狀態(tài)機(jī)起的是中央控制器的作用,由它控制的信號(hào)來影響整個(gè)程序中的其他相關(guān)部分,如記分部分,發(fā)光二極管部分。count100000。 elsestate=ballmoveto2。state=allow1hit。else count2=count2+1。 七段譯碼器是在數(shù)學(xué)電路設(shè)計(jì)中經(jīng)常用到的顯示電路。bcdout2=1111110。bcdout2=1111111。bcdout2=1011111。 這個(gè)記分譯馬電路是針對(duì)乒乓球游戲機(jī)的特點(diǎn)進(jìn)行的特別設(shè)計(jì),采用的是全部列舉的方法。從構(gòu)造體設(shè)計(jì)中可以看到,控制整個(gè)乒乓球游戲機(jī)運(yùn)轉(zhuǎn)的就是狀態(tài)機(jī)進(jìn)程,它隊(duì)各個(gè)外圍部分起控制作用。當(dāng)?shù)搅藸顟B(tài)3乙沒有擊球,所以甲得分了,count1由0變到1,而七段譯碼器隨之改變。本文是在指導(dǎo)老師 XXX老師的悉心指導(dǎo)下完成的,XXX老師在學(xué)術(shù)上嚴(yán)格要求,老師的教誨和鼓勵(lì),及在學(xué)術(shù)上一絲不茍的精神,本人受益匪淺,在此向XXX老師表示衷心的感謝和敬意!參考文獻(xiàn)[1] 劉艷. EDA 技術(shù)在數(shù)字系統(tǒng)電路設(shè)計(jì)實(shí)驗(yàn)中的應(yīng)用[J]. 實(shí)驗(yàn)室研究與探索,2002,21(3): 63264[2] 99 SE EDA技術(shù)及應(yīng)用[M].西安:139。SIGNAL score1,score2 : integer range 0 to 11。 total1,total2: OUT integer range 0 to 4)。 U3: score_stat PORT MAP(p1win=p1win,p2win=p2win,reset=clear,reset_all=reset,score1=score1,score2=score2)。 end if。use 。 d2 = 1111001。 d2 = 0110000。 when 7= d3 = 0000000。 when 4= d5 = 0110011。 when 3= cat = 111110。ENTITY clk_div IS PORT(clk,sel: IN STD_LOGIC。, clk_out_5hz when 39。) then 裁判按下開始鍵 if(ends=39。 elsif(rising_edge(p2total)) then total_2 = total_2 + 1。ARCHITECTURE main OF control ISSIGNAL led_pos:integer range 0 to 9。139。= first=39。139。139。 elsif(led_pos = 0) then p2win = 39。 else CASE who IS 根據(jù)發(fā)球權(quán)選擇下一狀態(tài) when 39。 END ARCHITECTURE。 總比分加1 state = waiting。 else p2win = 39。 when p1top2= if(p2 = 39。 when p1ready= clear = 39。state=p2ready。 p2total = 39。當(dāng)前局比分 total: IN integer range 0 to 4。) then if(ends=39。139。 end if。 // 程序名稱:// 程序作者:陳 梁// 最后修改日期:200932library ieee。 先掃描顯示比分 when 1= cat = 101111。 PROCESS(total1,total2) BEGIN CASE total1 IS when 0= d5 = 1111110。 when 5= d3 = 0000000。 d2 = 1111011。 d2 = 0110000。END ARCHITECTURE。 OR reset_all = 39。 digit:OUT STD_LOGIC_VECTOR(6 downto 0))。COMPONENT score_stat IS PORT(p1win,p2win,reset,reset_all: IN STD_LOGIC。 cat: OUT STD_LOGIC_VECTOR(5 downto 0)。SIGNAL temp:integer range 0 to 21。書本上的內(nèi)容第一次完完全全的綜合運(yùn)用??梢钥吹?,在甲該擊球的時(shí)候沒有擊球,也就是hit1在state狀態(tài)6的時(shí)候沒有高電平‘1’輸入,則乙得分,count2由0變1,score22的值隨之變化。 進(jìn)程處i信號(hào)控制發(fā)光二極管的亮暗light=10000000when(i=1) else01000000 when(i=2) else00100000 when(i=3) else00010000 when(i=4) else00001000 when(i=5) else00000100 when(i=6) else00000010 when(i=7) else00000001 when(i=8) else00000000。bcdout2=1111110。bcdout2=0110011。bcdout2=1011111。end mydecoder。end case。when allow1hit= 進(jìn)程處于允許甲擊球狀態(tài)if hit1=39。 theni=0。139。count2=00000。 甲和乙的擊球輸入端口控制8個(gè)發(fā)光二極管的輸出端口light:out std_logic_vector(1 to 8)。狀態(tài)轉(zhuǎn)移規(guī)則都是一樣的。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。90年代為電子系統(tǒng)設(shè)計(jì)自動(dòng)化(EDA)階段[2]。利用VHDL,不需要按照傳統(tǒng)的設(shè)計(jì)方法進(jìn)行煩瑣的狀態(tài)分配、繪制狀態(tài)、化簡(jiǎn)狀態(tài)方程等,就可以簡(jiǎn)單地根據(jù)MDS圖直接對(duì)狀態(tài)機(jī)進(jìn)行描述。本課程設(shè)計(jì)就是以乒乓球?yàn)楸尘?,利用所學(xué)的硬件知識(shí)完成一個(gè)乒乓球游戲機(jī)的設(shè)計(jì)。乒乓球游戲機(jī)的設(shè)計(jì)與實(shí)現(xiàn)摘要:本文介紹了乒乓球游戲機(jī)的設(shè)計(jì),并進(jìn)行了程序仿真,實(shí)現(xiàn)一個(gè)乒乓球游戲機(jī)的規(guī)定功能。隨著科學(xué)技術(shù)的發(fā)展,人類社會(huì)已進(jìn)入到高度發(fā)達(dá)的信息化社會(huì), 信息社會(huì)的發(fā)展離不開電子產(chǎn)品的進(jìn)步。乒乓球游戲機(jī)可以實(shí)現(xiàn)如下功能。硬件描述語言HDL是相對(duì)于一般的計(jì)算機(jī)軟件語言,如:C、PASCAL而言的。應(yīng)用VHDL進(jìn)行工程設(shè)計(jì)的優(yōu)點(diǎn)是多方面的[4]。等待發(fā)球 甲得分 乙得分 甲發(fā)球 乙發(fā)球第一盞燈亮第八盞燈亮允許甲發(fā)球球向甲移動(dòng) 乙擊球 甲擊球球向乙移動(dòng) 乙擊球 甲擊球允許乙發(fā)球 乙沒擊球 甲沒擊球 乒乓球游戲機(jī)原理圖該乒乓球游戲機(jī)的設(shè)計(jì)主要包括的模塊與內(nèi)容有:乒乓球游戲機(jī)實(shí)體的設(shè)計(jì),游戲機(jī)編程的實(shí)現(xiàn),記分譯碼器的設(shè)計(jì)以及構(gòu)造體的設(shè)計(jì)。 score11,score12,score21,score22:out std_logic_vector(1 to 7)); 4個(gè)用于控制4個(gè)7段譯碼器的輸出端口end pingponggame。elsif startbutton+39。 theni=0。count2=count2+1。139。end if。architecture m of mydecoder issignal tembinaryin:std_logic_vector(1 to 5)。when00111=bcdout1=1111110。when01111=bcdout1=0110000。end case。 其他情況所有發(fā)光二極管都暗u0:mydecoder port map(count1,score11,score12)。從最后一行state值的變化,可以清楚分析狀態(tài)轉(zhuǎn)移。在設(shè)計(jì)過程中。BEGIN first_temp = first。 digit: OUT STD_LOGIC_VECTOR(6 downto 0))。 score1,score2: OUT integer range 0 to 11)。END COMPONENT。139。// 程序名稱:// 程序作者:陳 梁// 最后修改日期:200932library ieee。 when 2= d1 = 0000000。 when 10=d1 = 0110000。 d4 = 1011011。 when 1= d5 = 0110000。digit = d2。use 。 END PROCESS。) then 全局復(fù)位 total_1 = 0。139。 總比分和 p1total,p2total,p1win,p2win,clear,first: OUT STD_LOGIC。039。 END CASE。039。139。139。 狀態(tài)轉(zhuǎn)移至等待裁判開始 elsif(score2 = 11) then p2total = 39。 state = waiting。 end if。擊球成功 else p1win = 39??拷l(fā)球方的發(fā)光二