版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1.設(shè)計(jì)名稱:38譯碼器帶使能端的主要功能:實(shí)現(xiàn)38譯碼功能,并且在使能段處于低電平是輸出為設(shè)計(jì)框圖:設(shè)計(jì)代碼:module decoder3_8(a,b,ena);input 2:0 a;input ena;output 7:0 b;reg 7:0 b;always (ena,a)if(!ena)begin b=8b;endelse begincase(a)3b000: b=8b;3b001: b=8b;3b010: b=8b;3b011: b=8b;3b100: b=8b;3b101: b=8b;3b110: b=8b;3b111: b=8b;default: b=8b;endcaseen
2、dendmodule仿真代碼:timescale 1ns/1nsmodule tb; reg 2:0 a; reg ena; wire 7:0 b; initial begin a = 3b000; ena = 1b0; #50; ena = 1b1; #50; a=3b001; #50; a=3b010; #50; a=3b011; #50; a=3b100; #50; a=3b101; #50; a=3b110; #50; a=3b111; #50; $ stop; end decoder3_8 udecoder3_8( .a(a), .ena(ena), .b(b) );endmodul
3、e仿真結(jié)果:輔助說明:當(dāng)ena為低電平時(shí),無論a為何值,總是輸出,當(dāng)ena為高電平時(shí),輸出即隨a的數(shù)值變化而變化,當(dāng)a為001時(shí),b的值變?yōu)?;?dāng)a為010時(shí),b的值變?yōu)?,這與設(shè)計(jì)時(shí)的功能是一致的。_2.設(shè)計(jì)名稱:83編碼器帶使能端的和優(yōu)先級(jí)主要功能:實(shí)現(xiàn)83編碼功能,并且在使能段處于低電平是輸出為000,同時(shí)最高位的優(yōu)先級(jí)最高設(shè)計(jì)框圖:設(shè)計(jì)代碼:module undecoder8_3(a,b,ena);input 7:0 a;input ena;output 3:0 b;reg 3:0 b;always (ena,a)if(!ena)begin b=3b000;endelse if(a7) b
4、=3b111;elseif(a6) b=3b110;elseif(a5) b=3b101;elseif(a4) b=3b100;elseif(a3) b=3b011;elseif(a2) b=3b010;elseif(a1) b=3b001;elseif(a0) b=3b000;else b=3b000;endmodule仿真代碼:module tb; reg 7:0 a; reg ena; wire 2:0 b; initial begin a = 8b; ena = 1b0; #50; ena = 1b1; #50; a=8b; #50; a=8b; #50; a=8b; #50; a=8
5、b; #50; a=8b; #50; a=8b; #50; a=8b; #50; $stop; end undecoder8_3 unit1_undecoder8_3( .a(a), .ena(ena), .b(b) );endmodule仿真結(jié)果:輔助說明:當(dāng)ena為低電平時(shí),無論a為何值,總是輸出000,當(dāng)ena為高電平時(shí),輸出即隨a的數(shù)值變化而變化,當(dāng)a為時(shí),b為110,當(dāng)a為是,b為101以此類推,同時(shí)最后一個(gè)波形為,當(dāng)a為時(shí),b為111,體現(xiàn)了優(yōu)先譯碼的功能,此結(jié)果和當(dāng)初設(shè)計(jì)的功能一致的。_3.設(shè)計(jì)名稱:設(shè)計(jì)一個(gè)1:1的3分頻器主要功能:實(shí)現(xiàn)3分頻,同時(shí)高低電平比為1:1設(shè)計(jì)框圖:設(shè)
6、計(jì)代碼:這個(gè)設(shè)計(jì)可以利用模三計(jì)數(shù)器分別在時(shí)鐘的上升和下降沿設(shè)計(jì)一個(gè)高低電平為1:2的3分頻,然后將兩個(gè)波形相或即能得到結(jié)果。代碼一:module Devider2_1( /inputs clk, rst_n, /outputs opt1, opt2, opt); input clk; input rst_n; output opt; output opt1; output opt2; reg opt1; reg 1:0 temp1; reg opt2; reg 1:0 temp2; always(posedge clk) begin if(!rst_n) begin temp1 = 2d0;
7、opt1 = 1b0; end else if(temp1=1) begin opt1 =1b1; temp1 = temp1 + 2d1; end else if(temp1=2d2)begin opt1 = 1b0; temp1 = 2d0;end elsebegin temp1 = temp1+2d1;endend always(negedge clk) begin if(!rst_n) begin temp2 = 2d0; opt2 = 1b0; end else if(temp2=1) begin opt2 =1b1; temp2 = temp2 + 2d1; end else if
8、(temp2=2d2)begin opt2 = 1b0; temp2 = 2d0; end else begin temp2 = temp2+2d1; end end assign opt = opt1 | opt2; endmodule同時(shí)也可以用同樣的方法設(shè)計(jì)一個(gè)在上升和下降沿高低電平2:1的3分頻器,將兩個(gè)波形相與即可。代碼二:module Devider2_1( /inputs clk, rst_n, /outputs opt1, opt2, opt); input clk; input rst_n; output opt; output opt1; output opt2; reg
9、opt1; reg opt2; reg 1:0 temp1; reg 1:0 temp2; always(posedge clk) begin if(!rst_n) begin temp1 = 2d0; opt1 = 1b0;end /reset else if(temp1=2d0) begin opt1=1b1; temp1 = temp1 + 2d1;end else if(temp1=2d1)begin opt1 =1b1; temp1 = temp1 + 2d1;end else if(temp1=2d2)begin opt1 = 1b0; temp1 = 2d0;endend alw
10、ays(negedge clk) begin if(!rst_n)begin temp2 = 2d0; opt2 = 1b0;end /reset else if(temp2=2d0) begin opt2=1b1; temp2 = temp2 + 2d1;end else if(temp2=2d1) begin opt2 =1b1; temp2 = temp2 + 2d1;end else if(temp2=2d2)begin opt2 = 1b0; temp2 3) Q=1;else Q=0; endendmodule仿真代碼:timescale 1ns/1nsmodule q; reg
11、rst; reg 6:0vote; wire Q; initial begin rst=0; vote=7b;#50; rst=1;#50; rst=0;#50; vote=7b;#50; vote=7b;#50; vote=7b;#50; vote=7b;#50; vote=7b;#50; vote=7b;#50; $stop;endv v_unit(.vote(vote),.rst(rst),.Q(Q);endmodule仿真結(jié)果:輔助說明:第一個(gè)表決為,有6人同意,于是顯示通過,Q為高電平,第二個(gè)單位是,rst復(fù)位信號(hào)顯示為1,此時(shí)對(duì)表決器復(fù)位,于是Q清0,后面當(dāng)rst為低電平時(shí)又可以開
12、始表決,當(dāng)最后一個(gè)表決信號(hào)只有1個(gè)人同意時(shí),由于人數(shù)少于4,所以Q為0,不通過,結(jié)果與設(shè)計(jì)相仿。_5設(shè)計(jì)名稱:十進(jìn)制計(jì)數(shù)器的設(shè)計(jì)主要功能:使能端為高電平且復(fù)位信號(hào)為低電平是,進(jìn)行模十同步計(jì)數(shù),同時(shí)滿10 的時(shí)候清0并且進(jìn)位co置1,在一個(gè)始終后默認(rèn)高位已經(jīng)接受完進(jìn)位信號(hào)將其清0。使能端為低電平時(shí)計(jì)數(shù)器保持輸出不變,當(dāng)使能端為高電平,且復(fù)位信號(hào)為高電平時(shí),將計(jì)數(shù)器異步清0.設(shè)計(jì)框圖:設(shè)計(jì)代碼:module ten(clk,rst_tong,rst_yi,a,co,ena); input clk; input rst_tong; input rst_yi; input ena; output 3:
13、0 a; output co; reg 3:0a; reg co;always(posedge clk or posedge rst_yi)beginco=0;if(rst_yi) begin a=4b0000; co=0;endif(!ena) beginco=0;endelsebegin if(rst_tong)begin a=4b0000; co=0;end else if(a4b1001) a=a+4b0001;elseif(a=4b1001)begin a=4b0000; co=1;endendendendmodule仿真代碼:timescale 1ns/1nsmodule tb;
14、reg clk; reg rst_yi; reg ena; reg rst_tong; wire 3:0a; wire co; always #10 clk = clk; initial begin ena=0; clk = 1b0; rst_yi= 1b1; rst_tong=1b0; #10; ena=1; #14; rst_yi= 1b0; #230; rst_yi= 1b1; #20; rst_yi=1b0; #20; ena=0; #30; rst_tong=1b1; #500; $stop; end ten ten_unit(.clk(clk), .rst_yi(rst_yi),
15、.rst_tong(rst_tong), .ena(ena), .a(a), .co(co) ); endmodule仿真結(jié)果:輔助說明:這個(gè)十進(jìn)制計(jì)數(shù)器里面我設(shè)計(jì)了兩個(gè)復(fù)位端口,一個(gè)是同步復(fù)位端口rst_tong,一個(gè)是異步復(fù)位端口rst_yi,從仿真圖形中可以看出,在使能端ena為低是計(jì)數(shù)器保持?jǐn)?shù)值不變,輸出全是0,當(dāng)使能端ena為高電平的時(shí)候,當(dāng)異步復(fù)位rst_yi為高電平是實(shí)現(xiàn)異步清零,這個(gè)可以在rst_yi的第二個(gè)高電平處看清楚,當(dāng)rst_yi為低電平時(shí),若rst_tong為低電平,實(shí)現(xiàn)正常計(jì)數(shù),此時(shí)從0000計(jì)數(shù)到1001,在下一個(gè)時(shí)鐘周期產(chǎn)生一個(gè)半個(gè)周期的進(jìn)位高電平co,在并且計(jì)
16、數(shù)a重新變?yōu)?,當(dāng)rst-tong為高電平時(shí),在時(shí)鐘的上升沿進(jìn)行同步置數(shù)此功能和當(dāng)初的設(shè)計(jì)目標(biāo)一致。_6:設(shè)計(jì)名稱: 4路搶答器主要功能: 完成搶答功能,并且在搶答結(jié)束的時(shí)候清0,在下一次搶答開始之前按搶答鍵無效。設(shè)計(jì)框圖:設(shè)計(jì)代碼:module qiang(a,b,start); input 3:0 a; input start; output 3:0b; reg 3:0b; reg 3:0temp; always(a or start)begin if(!start) begin temp=0; b=0; end else if(temp= 4b0000) begin temp=a; b=
17、temp; end end endmodule 仿真代碼:timescale 1ns/1nsmodule tb; reg 3:0a; reg start; wire 3:0b; initial begin start=0; a=4b0000; #10; start=1; #10; a=4b0100; #10; a=4b0110; #50; start=0; #10; a=4b0100; #30; a=4b0000; #50; start=1; #50; a=4b1000; #50; $stop; end qiang qiang_unit( .a(a), .start(start), .b(b)
18、 );Endmodule仿真結(jié)果: 輔助說明:可以看出,當(dāng)start為0,搶答器未啟動(dòng)時(shí),輸出為0000,當(dāng)start為1時(shí),此時(shí)a=0010,表明第二個(gè)人已經(jīng)先按下?lián)尨鹌鳎@是輸出為0010,之后a=0110,又有人再次之后按下?lián)尨鹌?,但是由于a【1】已經(jīng)先按下,所以a【2】按下后還是只能顯示0010,這就實(shí)現(xiàn)了搶答功能,當(dāng)start=0是,這是輸出清零,這是輸入0100,由于搶答器未工作,所以輸出還是0000,后面當(dāng)start又是1的時(shí)候,這時(shí)候a【3】搶答成功,所輸出又為1000,符合當(dāng)初的設(shè)計(jì)功能。7.設(shè)計(jì)名稱:并串轉(zhuǎn)換主要功能:在沒有數(shù)據(jù)輸出時(shí),輸出為x,此時(shí)ready信號(hào)為高,若l
19、oad信號(hào)也為高時(shí),則將輸入的數(shù)據(jù)傳輸給中間寄存器temp,然后resdy信號(hào)變?yōu)榈碗娖?,ready信號(hào)有temp【7】決定,當(dāng)temp【7】中還有數(shù)據(jù)時(shí),表明還沒有全部轉(zhuǎn)換完,則ready為低,當(dāng)temp【7】沒有數(shù)據(jù)顯示為x時(shí),則ready為高,表明可以接收數(shù)據(jù)了。當(dāng)接收完數(shù)據(jù)之后,在8個(gè)時(shí)鐘周期將信號(hào)輸出。設(shè)計(jì)框圖:設(shè)計(jì)代碼:module bcc(clk,ain,rst,bout,load,ready); input clk; input 7:0ain; input rst; input load; output bout; output ready; reg bout; reg 7:0
20、temp; reg ready; always (posedge rst or posedge clk)begin if(rst)begin bout =1bx; temp =8bxxxxxxxx; ready=1;end else if(load & ready) temp=ain;/if load is high leve and temp is empty,then,transport data if(temp7|!temp7) /temp7 has databegin bout=temp7; /temp shift left,and temp0 equal x temp7:1=temp
21、6:0; temp0=1bx; ready=0;end else begin bout=1bx; ready=1;end end endmodule仿真代碼:timescale 1ns/1ns module bcc_tb; reg clk; reg 7:0ain; reg rst; reg load; wire ready; wire bout; always #10 clk = clk; initialbegin clk=0; rst=1; load=0; ain=11; #10; rst=0; #10; load=1; #20; load=0; #20; ain=8; #40; load=
22、1; #20; load=0; #100; load=1; #20; load=0; #200; rst=1; #10; $stop;end bcc bcc_unit( .clk(clk), .ain(ain), .rst(rst), .load(load), .bout(bout), .ready(ready) ); Endmodule仿真結(jié)果:輔助說明:可以從仿真圖形中看出,在rst為高時(shí),進(jìn)行復(fù)位,當(dāng)rst為低時(shí),由于temp里面沒有數(shù)據(jù),所以ready信號(hào)為高,此時(shí)表明temp可以接受數(shù)據(jù),若load信號(hào)為高,之后temp則接收到ain的信號(hào),此時(shí)temp里面有了數(shù)據(jù),則ready信號(hào)
23、為0,不能再傳輸數(shù)據(jù),此時(shí)后8個(gè)時(shí)鐘周期輸出為,完成串并轉(zhuǎn)換,期間就算load為高電平,但是ready信號(hào)為低,所以不會(huì)傳輸下一個(gè)數(shù)據(jù),只有當(dāng)之后ready為高電平時(shí),此時(shí)財(cái)貨執(zhí)行下一個(gè)數(shù)據(jù)的傳輸。此仿真波形與我當(dāng)時(shí)設(shè)計(jì)的目標(biāo)相符,基本達(dá)到設(shè)計(jì)目標(biāo)。8.設(shè)計(jì)名稱:串并轉(zhuǎn)換主要功能:當(dāng)rst為高電平時(shí)進(jìn)行復(fù)位,當(dāng)rst為低電平時(shí),若 load為高電平且ready為高電平(ready信號(hào)有temp決定,若temp里面的數(shù)據(jù)已經(jīng)傳滿則ready為低電平,若temp數(shù)據(jù)還未傳滿,則ready為高電平)時(shí)將輸入數(shù)據(jù)傳給自己定義的中間寄存器temp,若temp接受完8位數(shù)據(jù),則ok信號(hào)為高電平并且將rea
24、dy置為低電平,就可以將temp的值傳給bout輸出,傳輸完畢之后temp又被清空,此時(shí)ok又置為低電平,ready顯示高電平。設(shè)計(jì)框圖:設(shè)計(jì)代碼:module cbc(clk,ain,load,rst,ready,bout,ok); input clk; input ain; input load; input rst; output ready; output 7:0bout; output ok; reg ready; reg 7:0bout; reg 7:0temp; reg ok; always (posedge clk or posedge rst)begin bout=8bxxxxxxxx; if(rst)begin temp=8bxxxxxxxx; bout=8bxxxxxxxx; ready=1; ok=0;end
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 歐亞共同體課程設(shè)計(jì)
- 自動(dòng)駕駛技術(shù)應(yīng)用總結(jié)
- 體育娛樂行業(yè)人力資源總結(jié)
- 新媒體行業(yè)技術(shù)工作概覽
- 音響行業(yè)演出場(chǎng)地衛(wèi)生消毒方案
- 食品安全銷售總結(jié)
- 非公開發(fā)行股票認(rèn)購(gòu)協(xié)議三篇
- 2024年稅務(wù)師題庫(kù)(輕巧奪冠)
- 2024年美術(shù)教案7篇合集
- 2024年福建開放大學(xué)《網(wǎng)絡(luò)測(cè)試與故障維修》形成性考核參考試題庫(kù)(含答案)
- DB21-T 2931-2018羊肚菌日光溫室栽培技術(shù)規(guī)程
- 貴州省黔東南州2023-2024學(xué)年九年級(jí)上學(xué)期期末文化水平測(cè)試化學(xué)試卷
- 《空調(diào)零部件介紹》課件
- 2024年度醫(yī)院內(nèi)分泌與代謝科述職報(bào)告課件
- 手術(shù)室無菌操作流程
- 農(nóng)業(yè)機(jī)械控制系統(tǒng)硬件在環(huán)測(cè)試規(guī)范
- 翁潭電站大王山輸水隧洞施工控制網(wǎng)設(shè)計(jì)說明書
- 隆胸術(shù)培訓(xùn)課件
- 鋼筋焊接培訓(xùn)課件
- 行政內(nèi)勤培訓(xùn)課件
- 化纖企業(yè)(化學(xué)纖維紡織企業(yè))安全生產(chǎn)操作規(guī)程
評(píng)論
0/150
提交評(píng)論