籃球記分牌verilog設(shè)計(jì)_第1頁(yè)
籃球記分牌verilog設(shè)計(jì)_第2頁(yè)
籃球記分牌verilog設(shè)計(jì)_第3頁(yè)
籃球記分牌verilog設(shè)計(jì)_第4頁(yè)
籃球記分牌verilog設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、-作者xxxx-日期xxxx籃球記分牌verilog設(shè)計(jì)【精品文檔】數(shù)字邏輯設(shè)計(jì)及應(yīng)用課程設(shè)計(jì)報(bào)告姓 名: 學(xué) 號(hào): 選課號(hào): 79 設(shè)計(jì)題號(hào): 23 一設(shè)計(jì)題目籃球比賽數(shù)字計(jì)分牌二設(shè)計(jì)要求1分別記錄兩隊(duì)得分情況;2進(jìn)球得分加2分,罰球進(jìn)球得分加1分;3糾正錯(cuò)判得分減2分或1分;4分別用三個(gè)數(shù)碼管顯示器記錄兩隊(duì)的得分情況。三設(shè)計(jì)過(guò)程(一) 設(shè)計(jì)方案題目中要用三個(gè)數(shù)碼管來(lái)記錄兩隊(duì)的得分情況,本文采用輸出為8421bcd碼,外接譯碼器和數(shù)碼管的方式來(lái)實(shí)現(xiàn)。先設(shè)計(jì)一個(gè)帶有進(jìn)位(co)和借位(ci)輸出的模塊pad,輸出端(num)輸出4位8421bcd碼外接譯碼器和數(shù)碼管,pad模塊還帶有加一輸入端

2、(a1),加二輸入端(a2),減一輸入端(d1),減二輸入端(d2)。輸入端與開關(guān)相接,操作者按下開關(guān)即給該端口一個(gè)脈沖信號(hào),各輸入端口由上升沿觸發(fā)。如果操作者同時(shí)按下多個(gè)端口,輸出端口將保持原來(lái)的信號(hào)不變。pad模塊功能圖見圖1-1。 圖 1-1 pad模塊輸入輸出端口及功能然后將三個(gè)相同的pad模塊進(jìn)行級(jí)聯(lián),構(gòu)造為新的模塊numberpad,從而得到帶有三個(gè)數(shù)碼管的籃球記分牌。甲乙兩隊(duì)都將分別使用這個(gè)記分牌。級(jí)聯(lián)圖見圖1-2。 圖 1-2 pad模塊級(jí)聯(lián)圖流程 每個(gè)模塊有四個(gè)輸入端口a1,a2,d1,d2來(lái)進(jìn)行觸發(fā),觸發(fā)事件太多,因此構(gòu)造rem=a1|a2|d1|d2作為新的觸發(fā)信號(hào)。因此

3、,只要a1,a2,d1,d2中任意一個(gè)按鍵被按下,將會(huì)發(fā)出一個(gè)脈沖,rem也就會(huì)產(chǎn)生一個(gè)脈沖。但是可能出現(xiàn)多個(gè)按鍵同時(shí)按下的情況,這樣會(huì)產(chǎn)生沖突。所以在always語(yǔ)句塊中,進(jìn)行判斷,看是否a1,a2,d1,d2中只有一個(gè)處于高電平,若同時(shí)處于高電平,則輸出維持原來(lái)的值不變。判斷完端口a1,a2,d1,d2中哪一個(gè)輸入了以后,就要進(jìn)行加1,加2,減1,減2的操作。加1分為以下情況:(1)若num已經(jīng)計(jì)數(shù)到9即1001,再加1則num應(yīng)變?yōu)?000,進(jìn)位端co輸出1;(2)若num不為9,則直接加1,co輸出0。加2分為以下情況:(1)若num已經(jīng)計(jì)數(shù)到8即1000,再加2則num應(yīng)變?yōu)?000

4、,進(jìn)位端co輸出1;(2)num已經(jīng)計(jì)數(shù)到9即1001。再加2則num應(yīng)變?yōu)?001,進(jìn)位端co輸出1;(3)若num不為8或9,則直接加2,co輸出0/。減1分為以下情況:(1)若num此時(shí)為0,再減1則num應(yīng)變?yōu)?即1001,借位端ci輸出1;(2)若num不為0,則直接減1,ci輸出0。減2分為以下情況:(1)若num此時(shí)為0,再減2則num應(yīng)變?yōu)?即1000,借位端ci輸出1;(2)若num此時(shí)為1,再減2則num應(yīng)變?yōu)?即1001,借位端ci輸出1;(3)若num不為0或1,則直接減2,ci輸出0算法流程圖見圖1-3 圖1-3 算法流程圖(二)Verilog程序 (注:在quatu

5、s2中不能編寫中文注釋,這里的注釋為后期編寫)/將pad級(jí)聯(lián)成新的模塊numberpad,其中num1,num2,num3分別輸出個(gè)十百位的8421bcd碼module numberpad(a1,a2,d1,d2,num1,num2,num3);output 3:0 num1,num2,num3;input a1,a2,d1,d2; /a1為加1端口,a2為加2端口,d1為減1端口,d2為減2端口wire co1,co2,co3,ci1,ci2,ci3;pad(a1,a2,d1,d2,num1,co1,ci1); /將三個(gè)pad級(jí)聯(lián)pad(co1,0,ci1,0,num2,co2,ci2);p

6、ad(co2,0,ci2,0,num3,co3,ci3);endmodule/pad模塊,輸出為4為8421bcd碼,由a1,a2,d1,d2來(lái)實(shí)現(xiàn)加減1、2,有進(jìn)位和借位端口module pad(a1,a2,d1,d2,num,co,ci);output reg 3:0 num; /輸出4位8421bcd碼output reg co,ci; /co 進(jìn)位信號(hào), ci is 借位信號(hào)input a1,a2,d1,d2; /a1為加1端口,a2為加2端口,d1為減1端口,d2為減2端口wire rem;initial num<=4'b0000;assign rem=a1|a2|d1

7、|d2;always (posedge rem)begin if(a1&&!a2&&!d1&&!d2) /僅a1輸入脈沖時(shí)加1,必要時(shí)進(jìn)位begin if(num=4'b1001) begin num<=4'b0000; co<=1'b1; end else begin num<=num+4'b0001; co<=1'b0; endendelse if(a2&&!a1&&!d1&&!d2) /僅a2輸入脈沖時(shí)加2,必要時(shí)進(jìn)位 begin

8、 if(num=4'b1000) begin num<=4'b0000; co<=1'b1; end else if(num=4'b1001) begin num<=4'b0001; co<=1'b1; end else begin num<=num+4'b0010; co<=1'b0; end end else if(d1&&!a1&&!a2&&!d2) /僅d1輸入脈沖時(shí)減1,必要時(shí)借位 begin if(num=4'b0000) be

9、gin num<=4'b1001; ci<=1'b1; end else begin num<=num-4'b0001; ci<=1'b0; endendelse if(d2&&!a1&&!a2&&!d1) /僅d2輸入脈沖時(shí)減2,必要時(shí)借位begin if(num=4'b0001) begin num<=4'b1001; ci<=1'b1; end else if(num=4'b0000) begin num<=4'b1000; c

10、i<=1'b1; end else begin num<=num-4'b0010; ci<=1'b0; endendelse /多個(gè)端口同時(shí)輸入,輸出保持原來(lái)的值begin num<=num; co<=1'b0; ci<=1'b0;endend endmodule(三)仿真結(jié)果1.驗(yàn)證加1、加2、減1、減2端口正常,個(gè)位到十位進(jìn)位正常當(dāng)輸入端分別輸入加1、加2、減1、減2信號(hào)時(shí),輸出了相應(yīng)的結(jié)果。18ns時(shí),執(zhí)行加1操作,個(gè)位num1由1001(即9)變成了0,同時(shí)向十位進(jìn)位,十位num2變成了0001。31ns時(shí)又有

11、一進(jìn)位,十位num2變成了0010(即2)。(見圖3-1) 圖3-1 仿真圖像一由圖3-2可得,213ns時(shí)已計(jì)數(shù)到199,即個(gè)位num1為1001,十位num2為1001,百位num3為0001。此時(shí)輸入了加2的信號(hào),輸出變成了201,即個(gè)位num1變?yōu)?001,十位num2變?yōu)?000,百位num3變?yōu)?010。由此驗(yàn)證了十位向百位進(jìn)位正常。 圖3-2 仿真圖像二3驗(yàn)證多個(gè)端口同時(shí)輸入時(shí),保持原值不變從219ns開始到230秒都有多個(gè)端口同時(shí)輸入,由圖3-3可以觀察到,輸出端口的值并未發(fā)生改變。 圖3-3 仿真圖像三四、設(shè)計(jì)結(jié)論 (一)設(shè)計(jì)結(jié)果分析 由以上的仿真圖像可知,各端口工作正常,通過(guò)給a1、a2、d1、d2端口輸入脈沖,可以使輸出分別進(jìn)行加1、加2、減1、減2的操作,且個(gè)位到十位、十位到百位進(jìn)位正常,輸出為8421bcd碼。當(dāng)多個(gè)端口同時(shí)輸入時(shí),輸出將保持原值,避免了沖突。 (二)設(shè)計(jì)中遇到的問(wèn)題 由于a1、a2、d1、d2端口相互獨(dú)立,剛開始設(shè)計(jì)時(shí)將它們都作為觸發(fā)端口放在always后面,發(fā)現(xiàn)調(diào)試總是有沖突。后來(lái)引入

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論