4位全加器實(shí)驗(yàn)報(bào)告_第1頁(yè)
4位全加器實(shí)驗(yàn)報(bào)告_第2頁(yè)
4位全加器實(shí)驗(yàn)報(bào)告_第3頁(yè)
4位全加器實(shí)驗(yàn)報(bào)告_第4頁(yè)
已閱讀5頁(yè),還剩6頁(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、4位全加器實(shí)驗(yàn)報(bào)告數(shù)電第一次實(shí)驗(yàn)通信1402 程杰U202113468【實(shí)驗(yàn)?zāi)康摹坎捎肐SE集成開(kāi)發(fā)環(huán)境,利用verilog硬件描述語(yǔ)言中行為描述模式、結(jié)構(gòu)描述模式或數(shù)據(jù)流描述模式設(shè)計(jì)四進(jìn)制全加器。【實(shí)驗(yàn)內(nèi)容】加法器是數(shù)字系統(tǒng)中的基本邏輯器件。多位加法器的構(gòu)成有兩種方式:并行進(jìn)位和串行進(jìn)位方式。并行進(jìn)位加法器設(shè)有并行進(jìn)位產(chǎn)生邏輯,運(yùn)算速度快;串行進(jìn)位方式是將全加器級(jí)聯(lián)構(gòu)成多位加法器。通常,并行加法器比串行級(jí)聯(lián)加法器占用更多的資源,并且隨著位數(shù)的增加,相同位數(shù)的并行加法器比串行加法器的資源占用差距也會(huì)越來(lái)越大。實(shí)現(xiàn)多位二進(jìn)制數(shù)相加的電路稱為加法器,它能解決二進(jìn)制中1110的功能(當(dāng)然還有 00、

2、01、10).【實(shí)驗(yàn)原理】全加器除本位兩個(gè)數(shù)相加外,還要加上從低位來(lái)的進(jìn)位數(shù),稱為全加器。圖4為全加器的方框圖。圖5全加器原理圖。被加數(shù)Ai 、加數(shù)Bi從低位向本位進(jìn)位Ci-1作為電路的輸入,全加和Si 與向高位的進(jìn)位Ci作為電路的輸出。能實(shí)現(xiàn)全加運(yùn)算功能的電路稱為全加電路。全加器的邏輯功能真值表如表2中所列。信號(hào)輸入端信號(hào)輸出端A iB iC i S i C i0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1表2 全加器邏輯功能真值表圖4 全加器方框圖圖5 全加器原理圖多位全加器連接可以是逐位進(jìn)位

3、,也可以是超前進(jìn)位。逐位進(jìn)位也稱串行進(jìn)位,其邏輯電路簡(jiǎn)單,但速度也較低。四位全加器如圖9所示,四位全加器是由半加器和一位全加器組建而成:圖9 四位全加器原理圖【實(shí)驗(yàn)步驟】(1)建立新工程項(xiàng)目:打開(kāi)ISE軟件,進(jìn)入集成開(kāi)發(fā)環(huán)境,點(diǎn)擊FileNew project建立一個(gè)工程項(xiàng)目adder_4bit。建立文本編輯文件:點(diǎn)擊FileNew在該項(xiàng)目下新建Verilog源程序文件adder_4bit.v并且輸入源程序。(2)編譯和仿真工程項(xiàng)目:在verilog主頁(yè)面下,選擇Compile Compile All或點(diǎn)擊工具欄上的按鈕啟動(dòng)編譯,直到project出現(xiàn)status欄全勾,即可進(jìn)行仿真。選擇si

4、mulate - start simulate或點(diǎn)擊工具欄上的按鈕開(kāi)始仿真,在跳出來(lái)的 start simulate框中選擇work-test_adder_4bit測(cè)試模塊,同時(shí)撤銷Enable Optimisim前的勾,之后選擇ok。在sim-default框內(nèi)右擊選擇test_adder_4bit,選擇Add Wave,然后選擇simulate-run-runall,觀察波形,得出結(jié)論,仿真結(jié)束。四位全加器1、原理圖設(shè)計(jì)如圖9所示,四位全加器是由半加器和一位全加器組建而成:圖9 四位全加器原理圖【程序源代碼】半加器程序代碼如下:module Halfadder(S,C,A,B);input

5、 A, B;output S, C;xor (S,A,B);and (C,A,B);endmodule一位全加器程序代碼如下:module onebit_adder(Sum,Co,A ,B,Ci);input A,B,Ci;output Sum,Co;wire S1,D1,D2;Halfadder HA1(.B(B), .S(S1), .C(D1), .A(A);Halfadder HA2(.A(S1), .B(Ci), .S(Sum), .C(D2);or g1(Co, D2, D1);endmodule四位全加器程序代碼如下:module fourbit_adder(S,C3,A,B,C_

6、1);input 3:0 A,B;input C_1;output 3:0 S;output C3;wire C0,C1,C2;onebit_adder U0_FA(S0,C0,A0,B0,C_1);onebit_adder U1_FA(S1,C1,A1,B1,C0);onebit_adder U2_FA(S2,C2,A2,B2,C1);onebit_adder U3_FA(S3,C3,A3,B3,C2); endmodule四位全加器仿真代碼如下:module fourbir_adder_TF;/ Inputsreg 3:0 A_t;reg 3:0 B_t;reg C_1_t;/ Outpu

7、tswire 3:0 S_t;wire C3_t;/ Instantiate the Unit Under Test (UUT)fourbit_adder uut (.S(S_t),.C3(C3_t),.A(A_t),.B(B_t),.C_1(C_1_t);initial begin/ Initialize InputsA_t = 0000;B_t = 0001;C_1_t = 0;#10 $display (A B=%b %b,S_t=%b,C3_t=%b,A_t,B_t,S_t,C3_t);A_t = 0011;B_t = 0011;C_1_t = 0;#10 $display (A B=

8、%b %b,S_t=%b,C3_t=%b,A_t,B_t,S_t,C3_t);A_t = 0111;B_t = 1100;C_1_t = 0;#10 $display (A B=%b %b,S_t=%b,C3_t=%b,A_t,B_t,S_t,C3_t);endendmodule仿真結(jié)果截圖引腳分配代碼NET A0 LOC =P11;NET A1 LOC =L3;NET A2 LOC =K3;NET A0 LOC =B4;NET B0 LOC =G3;NET B0 LOC =F3;NET B0 LOC =E2;NET B0 LOC =N3;/撥動(dòng)開(kāi)關(guān)NET S0 LOC =M5;NET S0

9、LOC =M11;NET S0 LOC =P7;NET S0 LOC =P6;NET C3 LOC =N5同步可逆二進(jìn)制計(jì)數(shù)器【程序源代碼】module M2_counter(UPDO,CP,Q);input UPDO,CP;output reg 3:0 Q;initial beginQ=0000;endalways (posedge CP)if(UPDO)/如果UPDO=1,則加法記數(shù)beginif(Q=15)Q=0;elseQ=Q+1;endelse/如果updo=0,則減法計(jì)數(shù)beginif(QQ=15;elseQ=Q-1;endendmodule【仿真源代碼】module M2_cou

10、nter_TF;reg UPDO_t;reg CP_t;/ Outputswire 3:0 Q_t;M2_counter uut (.UPDO(UPDO_t),.CP(CP_t),.Q(Q_t);initial beginCP_t=0;/ Initialize InputsForever #10 CP_t=CP_t;endinitial beginUPDO_t=1;$display (CP UPDO = %b %b,Q=%b ,CP_t,UPDO_t,Q_t);#80 UPDO_t=0;$display (CP UPDO = %b %b,Q=%b ,CP_t,UPDO_t,Q_t);endendmodule【仿真截圖】【引腳分配代碼】/輸入引腳分配NET UPDO LOC =P11;NET CP LOC =B8;/輸出引腳分配NET Q0 LOC =M5;NET Q1 LOC =M11;NET Q2 LOC =P6;NET Q2 LOC =P7;【實(shí)驗(yàn)小結(jié)】通過(guò)設(shè)計(jì)4位全加器,及可逆二進(jìn)制計(jì)數(shù)器的附加實(shí)驗(yàn),使我對(duì)數(shù)電這門課程有了更深的興趣,在實(shí)驗(yàn)過(guò)程中,我們首先通過(guò)Verilog語(yǔ)音對(duì)兩個(gè)電路進(jìn)行描述,然后通過(guò)寫(xiě)仿真文件,讓我們能夠更直觀的看出我們的電路是否正確,也是在幾乎沒(mé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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論