實(shí)驗(yàn)八全加器設(shè)計(jì)_第1頁(yè)
實(shí)驗(yàn)八全加器設(shè)計(jì)_第2頁(yè)
實(shí)驗(yàn)八全加器設(shè)計(jì)_第3頁(yè)
實(shí)驗(yàn)八全加器設(shè)計(jì)_第4頁(yè)
實(shí)驗(yàn)八全加器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、20152016秋冬浙江大學(xué)計(jì)算機(jī)學(xué)院實(shí)驗(yàn)教學(xué)中心8邏輯與計(jì)算機(jī)設(shè)計(jì)基礎(chǔ)實(shí)驗(yàn)邏輯與計(jì)算機(jī)設(shè)計(jì)基礎(chǔ)實(shí)驗(yàn)簡(jiǎn)易計(jì)算器設(shè)計(jì)簡(jiǎn)易計(jì)算器設(shè)計(jì)(運(yùn)算器設(shè)計(jì))一、全加器的設(shè)計(jì)分析一、全加器的設(shè)計(jì)分析22010-11-14全加器的設(shè)計(jì)分析掌握一位全加器的工作原理和邏輯功能掌握一位全加器的工作原理和邏輯功能掌握串行進(jìn)位加法器的工作原理和進(jìn)位延遲掌握串行進(jìn)位加法器的工作原理和進(jìn)位延遲掌握超前進(jìn)位的工作原理掌握超前進(jìn)位的工作原理掌握減法器的實(shí)現(xiàn)原理掌握減法器的實(shí)現(xiàn)原理了解加法器在了解加法器在CPU中的地位中的地位掌握掌握FPGA開發(fā)平臺(tái)進(jìn)行簡(jiǎn)單的開發(fā)平臺(tái)進(jìn)行簡(jiǎn)單的I/O數(shù)據(jù)交互數(shù)據(jù)交互32010-11-14全加器的設(shè)

2、計(jì)分析實(shí)驗(yàn)設(shè)備1臺(tái)1套裝有ISE的計(jì)算機(jī)系統(tǒng)Spartan III 實(shí)驗(yàn)板實(shí)驗(yàn)材料無42010-11-14全加器的設(shè)計(jì)分析1. 實(shí)現(xiàn)實(shí)現(xiàn)16位加減器的調(diào)試仿真位加減器的調(diào)試仿真2. 16位計(jì)算器設(shè)計(jì)位計(jì)算器設(shè)計(jì)AiBiC iSiC i+1000000011001010011011001010101110011111152010-11-14全加器的設(shè)計(jì)分析1. 一位全加器ii i i三個(gè)輸入位:數(shù)據(jù)位 Ai 和 Bi,低位進(jìn)位輸入 Ci二個(gè)輸出位:全加和 Si,進(jìn)位輸出 Ci+1Si A Bi CiCi 1 A Bi BCi Ci A62010-11-14全加器的設(shè)計(jì)分析or(co,c1,c2,

3、c3);endmodule 根據(jù)一位全加器的輸入輸出關(guān)系,得到電路圖module adder_1bit(a, b, ci, s, co);/ port declarationand (c1,a,b), (c2,b,ci), (c3,a,ci);xor (s1,a,b), (s,s1,ci);72010-11-14全加器的設(shè)計(jì)分析 多位全加器可由一位全加器將進(jìn)位串接構(gòu)成 高位進(jìn)位生成速度慢,位數(shù)越多時(shí)間越長(zhǎng)82010-11-14全加器的設(shè)計(jì)分析module adder_8bits(A, B, Ci, S, Co);/ port and variable declarationS1,S2,S3,S

4、4,S5,S6,S7,S8,Ctemp1),Ctemp2),Ctemp3),Ctemp4),Ctemp5),Ctemp6),Ctemp7),Co);adder_1bit A1_1(A1, B1, Ci,A1_2(A2, B2, Ctemp1,A1_3(A3, B3, Ctemp2,A1_4(A4, B4, Ctemp3,A1_5(A5, B5, Ctemp4,A1_6(A6, B6, Ctemp5,A1_7(A7, B7, Ctemp6,A1_8(A8, B8, Ctemp7,endmodulemodule adder_32bits(A, B, Ci, S, Co);/ port and va

5、riable declarationS 8: 1,S16: 9,S24:17,S32:25,Ctemp1),Ctemp2),Ctemp3),Co);adder_8bits A8_1(A 8: 1, B 8: 1, Ci,A8_2(A16: 9, B16: 9, Ctemp1,A8_3(A24:17, B24:17, Ctemp2,A8_4(A32:25, B32:25, Ctemp3,endmodule92010-11-14全加器的設(shè)計(jì)分析 用負(fù)數(shù)補(bǔ)碼加法實(shí)現(xiàn),減數(shù)當(dāng)作負(fù)數(shù)求補(bǔ)碼 共用加法器 用“異或”門控制求反,最低進(jìn)位位加一Ctr為0時(shí),S7 : 0 A7 : 0 B7 : 0Ctr為1時(shí)

6、,S7 : 0 A7 : 0 B7 : 0 A7 : 0 B7 : 0 1102010-11-14全加器的設(shè)計(jì)分析module add_sub_8bits(A, B, Ctr, S, Co);input wire 8:1 A, B;input wire Ctr;output wire 8:1 S;output wire Co;wire 8:1 Bo;wire 7:1 Ctemp;assign Bo = 8Ctr B;adder_1bit A1_1(A1, Bo1, Ctr,A1_2(A2, Bo2, Ctemp1,A1_3(A3, Bo3, Ctemp2,A1_4(A4, Bo4, Ctemp

7、3,A1_5(A5, Bo5, Ctemp4,A1_6(A6, Bo6, Ctemp5,A1_7(A7, Bo7, Ctemp6,A1_8(A8, Bo8, Ctemp7,S1,S2,S3,S4,S5,S6,S7,S8,Ctemp1),Ctemp2),Ctemp3),Ctemp4),Ctemp5),Ctemp6),Ctemp7),Co);endmoduleCtr0,做加法Ctr1,做減法,同時(shí) C01112010-11-14全加器的設(shè)計(jì)分析 超前進(jìn)位加法器用當(dāng)前輸入直接產(chǎn)生進(jìn)位輸出 對(duì)于給定的第 i 位全加器,其進(jìn)位有如下規(guī)律: 當(dāng)Ai=Bi=1時(shí),無論是否有進(jìn)位輸入,都有進(jìn)位產(chǎn)生,即Ci+1

8、=1 定義進(jìn)位生成函數(shù):Gi = Ai Bi 當(dāng)半加器和為1,且進(jìn)位Ci = 1時(shí),進(jìn)位被傳遞至輸出,即Ci+1=1 定義進(jìn)位傳遞函數(shù):Pi = Ai Bi 輸出進(jìn)位通過二個(gè)門(與門、或門)即可得到C1C2C3C4=G0 + P0C0G1 + P1C1 = G1 + P1G0 + P1P0C0G2 + P2C2 = G2 + P2G1 + P2P1G0 + P2P1P0C0G3 + P3C3 = G3 + P3G2 + P3P2G1 + P3P2P1G0+P3P2P1P0C0122010-11-14全加器的設(shè)計(jì)分析S3A3 B3 S2A2 B2 S1A0 B0A1 B1 S0C0C3PCPCG

9、GPCGG3P3C3GG2P2C2PG1CP1C1G0P0四位超前進(jìn)位加法器132010-11-14全加器的設(shè)計(jì)分析 當(dāng)加法器位數(shù)較多時(shí),進(jìn)位輸出函數(shù)式很長(zhǎng),電路很復(fù)雜 為了在速度和復(fù)雜性之間權(quán)衡,可采用分組超前進(jìn)位方式 16位超前進(jìn)位加法器可分4 組4位加法器,每4位加法有一個(gè)向上的進(jìn)位輸出 每組加法部件產(chǎn)生組進(jìn)位函數(shù) C16表達(dá)式形式上與C4相同,可以使用4位超前進(jìn)位電路142010-11-14全加器的設(shè)計(jì)分析7 6 5 49 8117 6 57 6 599C 8 G 7 PG 6 P7 PG 5 P7 P6 PG 4 P7 P6 P5 PC 4 G 4 7 P4 7 C 4C12 G11

10、 P11G10 P11 P10 G 9 P11 P10 PG 8 P11 P10 P9 PC 8 G 811 P811C 8C16 G15 P15 G14 P15 P14 G13 P15 P14 P13G12 P15 P14 P13 P12 C12 G1215 P1215 C12 G1215 P1215 (G 81 1 P811 (G 4 7 P 4 7 (G 0 3 P0 3C 0 )G 0 3 G 3 P3G 2 P3 P2 G1 P3 P2 PG 0G 4 7 G 7 PG 6 P7 PG 5 P7 P6 PG 4G 811 G11 P11G10 P11 P10 G 9 P11 P10

11、PG 8G1215 G15 P15 G14 P15 P14 G13 P15 P14 P13G12P0 3 P3 P2 PP0P4 7 PPPP4P811 P11 P10 PP8P1215 P15 P14 P13 P12152010-11-14全加器的設(shè)計(jì)分析1. 實(shí)現(xiàn)16位加減器的調(diào)試仿真2. 16位計(jì)算器設(shè)計(jì),在實(shí)驗(yàn)板上驗(yàn)證。162010-11-14全加器的設(shè)計(jì)分析1. 用Verilog結(jié)構(gòu)化描述語(yǔ)言實(shí)現(xiàn)16位加減器add_sub_16bits2. 令A(yù)15:0 = AAAA, B15:0 = BBBB, 對(duì)add_sub_16bits 模塊進(jìn)行仿真3. 記錄并分析仿真結(jié)果,若有錯(cuò)誤應(yīng)返回修

12、改代碼172010-11-14全加器的設(shè)計(jì)分析一一. 功能:功能:1.2.兩個(gè)16位操作數(shù)支持按鍵修改進(jìn)入計(jì)算狀態(tài)后,可進(jìn)行加/減/與/或操作,并顯示結(jié)果二二. 步驟步驟:1.2.3.4.5.編寫Top模塊調(diào)用前面16為全加器和顯示模塊增加創(chuàng)建操作數(shù)模塊/計(jì)算結(jié)果模塊編寫UCF文件。下載到板子上驗(yàn)證。182010-11-14全加器的設(shè)計(jì)分析類型類型引腳引腳取值取值含義含義輸入輸入sw3:0Sw0=1做加法操作Sw1=1做減法操作Sw2=1做與操作Sw3=1做或操作btn0-3上升沿修改操作數(shù)A(擴(kuò)展板上)btn4-7修改操作數(shù)B(擴(kuò)展板上)輸出輸出運(yùn) 算 結(jié) 果 顯 示運(yùn) 算 結(jié) 果 顯 示

13、1 6 位 數(shù) 字 在位 數(shù) 字 在Spartan-3板上的板上的4個(gè)七段數(shù)碼個(gè)七段數(shù)碼moduleadder_16bits(A,B,Ctr,S,Co);parametersize=16;inputsize:1A;inputsize:1B;inputCtr;outputsize:1S;outputCo;wiresize-1:1Ctemp;wiresize:1Bo;assignBo=16CtrB;16位全加器程序位全加器程序adder_1bitA1(.a(A1),.b(Bo1),.ci(Ctr),.s(S1),.co(Ctemp1),A2(A2,Bo2,Ctemp1,S2,Ctemp2),A3(

14、A3,Bo3,Ctemp2,S3,Ctemp3),A4(A4,Bo4,Ctemp3,S4,Ctemp4),A5(A5,Bo5,Ctemp4,S5,Ctemp5),A6(A6,Bo6,Ctemp5,S6,Ctemp6),A7(A7,Bo7,Ctemp6,S7,Ctemp7),A8(A8,Bo8,Ctemp7,S8,Ctemp8),A9(A9,Bo9,Ctemp8,S9,Ctemp9),A10(A10,Bo10,Ctemp9,S10,Ctemp10),A11(A11,Bo11,Ctemp10,S11,Ctemp11),A12(A12,Bo12,Ctemp11,S12,Ctemp12),A13(A1

15、3,Bo13,Ctemp12,S13,Ctemp13),A14(A14,Bo14,Ctemp13,S14,Ctemp14),A15(A15,Bo15,Ctemp14,S15,Ctemp15),A16(A16,Bo16,Ctemp15,S16,Co);endmodulemoduleadder_1bit(a,b,ci,s,co);/portdeclarationinputwirea,b,ci;outputwires,co;and(c1,a,b),(c2,b,ci),(c3,a,ci);xor(s1,a,b),(s,s1,ci);or(co,c1,c2,c3);endmodule一位全加器一位全加器

16、moduledisplay32bits(clk,disp_num,digit_anode,segment);inputclk;input31:0disp_num;output7:0digit_anode;output7:0segment;reg7:0digit_anode;reg7:0segment;reg12:0cnt=0;wire31:0disp_num;reg3:0num;擴(kuò)展的擴(kuò)展的32位顯示位顯示(display32bits)程序程序always(posedgeclk)begincase(cnt12:10)3b000:begindigit_anode=8b11111110;num=d

17、isp_num3:0;end3b001:begindigit_anode=8b11111101;num=disp_num7:4;end3b010:begindigit_anode=8b11111011;num=disp_num11:8;end3b011:begindigit_anode=8b11110111;num=disp_num15:12;end3b100:begindigit_anode=8b11101111;num=disp_num19:16;end3b101:begindigit_anode=8b11011111;num=disp_num23:20;end3b110:begindig

18、it_anode=8b10111111;num=disp_num27:24;end3b111:begindigit_anode=8b01111111;num=disp_num31:28;endendcasecase(num)4b0000:segment=8b11000000;4b0001:segment=8b11111001;4b0010:segment=8b10100100;4b0011:segment=8b10110000;4b0100:segment=8b10011001;4b0101:segment=8b10010010;4b0110:segment=8b10000010;4b0111

19、:segment=8b11111000;4b1000:segment=8b10000000;4b1001:segment=8b10010000;4b1010:segment=8b10001000;4b1011:segment=8b10000011;4b1100:segment=8b11000110;4b1101:segment=8b10100001;4b1110:segment=8b10000110;4b1111:segment=8b10001110;endcaseendalways(posedgeclk)begincnt=cnt+1;endendmodule192010-11-14全加器的設(shè)

20、計(jì)分析module top(input wire clk, input wire 7:0btn_in, input wire3:0switch, output wire 11:0anode, output wire 15:0segment);/variable definition: op1, op2,disp_numreg 15:0 op1,op2;wire 15:0 display_num;wire 7:0 btn_out;wire 15:0 result;wire 31:0 display_num32b;initial begin op1=16b0011_0011_0011_0011;/

21、3333op2=16b0010_0010_0010_0010;/2222Endpbdebounce p0(clk,btn_in0,btn_out0);/去抖程序去抖程序pbdebounce p1(clk,btn_in1,btn_out1);pbdebounce p2(clk,btn_in2,btn_out2);pbdebounce p3(clk,btn_in3,btn_out3);pbdebounce p4(clk,btn_in4,btn_out4);Anode11:0:anode3:0為SPART3板上七段數(shù)碼管的4個(gè)位選。Anode11:4:為擴(kuò)展板上七段數(shù)碼管的8個(gè)位選。Segment1

22、5:0:segment7:0為SPART3板子上七段數(shù)碼管的8個(gè)段信號(hào)。Segment15:8為擴(kuò)展板上七段數(shù)碼管的8個(gè)段信號(hào)。pbdebounce p5(clk,btn_in5,btn_out5);pbdebounce p6(clk,btn_in6,btn_out6);pbdebounce p7(clk,btn_in7,btn_out7);display m0(clk,display_num,anode3:0, segment7:0); /原原16位顯示程序位顯示程序display32bits m1(clk,display_num32b,anode11:4,segment15:8);/32位

23、顯示程序位顯示程序 calculate_result m2(switch,op1, op2, result); /運(yùn)算值運(yùn)算值always (posedge btn_out0) op1 3: 0 = op1 3: 0 + 4d1;/操作數(shù)操作數(shù)4位位+1always (posedge btn_out1) op1 7: 4 = op1 7: 4 + 4d1;always (posedge btn_out2) op1 11: 8 = op1 11: 8 + 4d1;always (posedge btn_out3) op1 15: 12= op115: 12 + 4d1;always (posed

24、ge btn_out4) op2 3: 0 = op2 3: 0 + 4d1;always (posedge btn_out5) op2 7: 4 = op2 7: 4 + 4d1;always (posedge btn_out6) op2 11: 8 = op2 11: 8 + 4d1;always (posedge btn_out7) op2 15: 12= op215: 12 + 4d1;assign display_num32b=op2,op1;/操作數(shù)操作數(shù)2,1合成合成32位數(shù)據(jù)。位數(shù)據(jù)。assign display_num=result;endmodule202010-11-14

25、全加器的設(shè)計(jì)分析module calculate_result(switch,op1,op2,result);input 3:0 switch;input 15:0 op1;input 15:0 op2;output reg 15:0 result;wire 15:0 add_sub_result;adder_16bits m0(op1, op2, switch1, add_sub_result, co);always (switch) begincase(switch)4b0001:result = add_sub_result;4b0010:result = add_sub_result;4b0100:result =

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論