freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

最新基于fpga的乒乓球游戲機(jī)設(shè)計(jì)(編輯修改稿)

2024-07-20 08:25 本頁面
 

【文章內(nèi)容簡介】 態(tài),它們代表的具體數(shù)值依次是0到6。在波形模擬圖中是用數(shù)值來表示狀態(tài)的。 在整個程序中,狀態(tài)機(jī)起的是中央控制器的作用,由它控制的信號來影響整個程序中的其他相關(guān)部分,如記分部分,發(fā)光二極管部分。乒乓球游戲機(jī)中有兩個計(jì)數(shù)器,分別記憶甲和乙的得分,用發(fā)光二極管的輪流發(fā)光表示球的移動軌跡。狀態(tài)機(jī)的進(jìn)程如下:module state_machine (clk,res,key1,key2,led,jia,yi,en_jia,en_yi,win,t1,t2)。input clk,res,key1,key2,en_jia,en_yi,win,t1。output jia,yi,t2。reg jia,yi,t2。output[7:0] led。reg[7:0] led。parameter[7:0] s0=839。b0000_0001,s1=839。b0000_0010,s2=839。b0000_0100,s3=839。b0000_1000, s4=839。b0001_0000,s5=839。b0010_0000,s6=839。b0100_0000,s7=839。b1000_0000。reg[7:0] current_state,next_current。/*每個時(shí)鐘沿轉(zhuǎn)跳一次邏輯狀態(tài)*/always@(posedge clk or negedge res)begin if(~res) current_state=s0。 else current_state=next_current。end/*產(chǎn)生下一狀態(tài)的組合邏輯*/always@(current_state)begincase(current_state)s0: if((key1==1)amp。amp。(en_jia==1)) next_current=s1。 else if((key2==1)amp。amp。(en_yi==1)) next_current=s2。 else next_current=s0。s1: if(led==839。b0000_0001) next_current=s3。 else next_current=s1。s2: if(led==839。b1000_0000) next_current=s4。 else next_current=s2。s3: if((t1==1)amp。amp。(key2==1)) next_current=s2。 else next_current=s5。s4: if((t1==1)amp。amp。(key1==1)) next_current=s1。 else next_current=s6。s5: if(win==1) next_current=s7。 else if((en_jia==1)||(en_yi==1)) next_current=s0。 else next_current=s5。s6: if(win==1) next_current=s7。 else if((en_jia==1)||(en_yi==1)) next_current=s0。 else next_current=s6。endcaseend/*狀態(tài)機(jī)輸出的組合邏輯*/always@(posedge clk or negedge res)begin if(~res) begin led=839。b0000_0000。 t2=0。 jia=0。 yi=0。 end else begin case(current_state) s0: led=839。b0000_0000。 s1: begin led=839。b1000_0000。 1000 led=839。b0100_0000。 1000 led=839。b0010_0000。 1000 led=839。b0001_0000。 1000 led=839。b0000_1000。 1000 led=839。b0000_0100。 1000 led=839。b0000_0010。 1000 led=839。b0000_0001。 end s2: begin led=839。b0000_0001。 1000 led=839。b0000_0010。 1000 led=839。b0000_0100。 1000 led=839。b0000_1000。 1000 led=839。b0001_0000。 1000 led=839。b0010_0000。 1000 led=839。b0100_0000。 1000 led=839。b1000_0000。 end s3: begin led=839。b0000_0001。 t2=1。 end s4: begin led=839。b1000_0000。 t2=1。 end s5: jia=1。 s6: yi=1。 s7: begin led=839。b0000_0001。 1000 led=839。b0000_0010。 1000 led=839。b0000_0100。 1000 led=839。b0000_1000。 1000 led=839。b0001_0000。 1000 led=839。b0010_0000。 1000 led=839。b0100_0000。 1000 led=839。b1000_0000。 1000 led=839。b0100_0000。 1000 led=839。b0010_0000。 1000 led=839。b0001_0000。 1000 led=839。b0000_1000。 1000 led=839。b0000_0100。 1000 led=839。b0000_0010。 1000 led=839。b0000_0001。 end endcase endendendmodule(3)得分判斷模塊的設(shè)計(jì)在一方并沒有擊球成功時(shí),需要進(jìn)行判定,并且鳴響蜂鳴器來提示這個球某一方?jīng)]有擊中,而另一方得分。于是編寫相應(yīng)程序。module goal(res,buzz,jia,yi,en)。input res,jia,yi。output buzz,en。reg buzz,en。reg[12:0] q。wire w。or u1(w,jia,yi)。always@(posedge w or negedge res)begin if(~res) begin q=0。 en=1。 buzz=0。 end else begin if(q==2999) begin en=1。 q=0。 buzz=0。 end else begin q=q+1。 en=0。 buzz=1。 end endendendmodule(4)記分譯碼器的設(shè)計(jì)七段譯碼器是在數(shù)學(xué)電路設(shè)計(jì)中經(jīng)常用到的顯示電路。所謂七段譯碼器,其實(shí)是由7段發(fā)光二極管組成的用于顯示數(shù)字的器件。記分譯碼器(encoder):由于記分需要顯示出來,所以要使用七段譯碼器。而狀態(tài)機(jī)中的記分是由2個4位二進(jìn)制碼來表示的。以下程序就是實(shí)現(xiàn)從4位二進(jìn)制碼轉(zhuǎn)換成七段譯碼顯示。module encoder(in1,in2,out1,out2)。input[3:0] in1,in2。output[7:0] out1,out2。reg[7:0] out1,out2。always@(*) case(in1) //共陽數(shù)碼管編碼 839。b0000:out1=839。b1100_0000。 //0 839。b0001:out1=839。b1111_1001。 //1 839。b0010:out1=839。b1010_0100。 //2 839。b0011:out1=839。b1011_0000。 //3 839。b0100:out1=839。b1001_1001。 //4 839。b0101:out1=839。b1001_0010。 //5 839。b0110:out1=839。b1000_0010。 //6 839。b0111:out1=839。b1111_1000。 //7 839。b1000:out1=839。b1000_0000。 //8 839。b1001:out1=839。b1001_0000。 //9 default:out1=839。b1100_0000。 endcasealways@(*) case(in2) 839。b0000:out2=839。b1100_0000。 //0 839。b0001:out2=839。b1111_1001。 //1 839。b0010:out2=839。b1010_0100。 //2 839。b0011:out2=839。b1011_0000。 //3 839。b0100:out2=839。b1001_1001。 //4 839。b0101:out2=839。b1001_0010。 //5 839。b0110:out2=839。b1000_0010。 //6 839。b0111:out2=839。b1111_1000。 //7 839。b1000:out2=839。b1000_0000。 //8 839。b1001:out2=839。b1001_0000。 //9 default:out2=839。b1100_0000。 endcaseendmodule這個記分譯馬電路是針對乒乓球游戲機(jī)的特點(diǎn)進(jìn)行的特別設(shè)計(jì),采用的是全部列舉的方法。(4)頂層的設(shè)計(jì)頂層綜合各個模塊設(shè)計(jì),這樣就完成了數(shù)字乒乓球游戲機(jī)的VHDL源程序編寫。module table_tennis(clk,res,key1,key2,led,smg1,smg2,smg3,smg4,buzz,jia_led,yi_led)。input clk,res,key1,key2
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1