資源描述:
《集成電路eda技術(shù)作業(yè)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、集成電路EDA技術(shù)作業(yè)班級:電信11姓名:張瑞玲學(xué)號:10第26頁共26頁一、數(shù)字集成電路設(shè)計EDA目錄加法器設(shè)計實驗2加法器設(shè)計與仿真2halfadder3fulladder58-bitripplecarryadder64-bitcarrylookaheadadder716-bitcarrylookaheadadder964-bitcarrylookaheadadder128-bittwopipelinedstagesadder1712-bitthreepipelinedstagesadder1
2、9第26頁共26頁加法器設(shè)計與仿真一,實驗?zāi)康耐ㄟ^試驗,掌握數(shù)字電路仿真工具Modelsim仿真使用,掌握硬件描述語言基本語法,掌握組合邏輯電路和時序邏輯電路的設(shè)計與仿真,對半加器,全加器、串行進位加法器,超前進位加法器和流水線加法器從理論上和設(shè)計上進行理解。二,實驗內(nèi)容halfadder(半加器)實驗原理:在半加器結(jié)構(gòu)中,只有兩個加數(shù),一個和,一個進位輸出,行波進位是用8個一位的加法器串聯(lián)而構(gòu)成的。因此由一個一位的半加器和7個一位的全加器構(gòu)成。一位半加器原理:半加器有兩個二進制的輸入,其將輸入的
3、值相加,并輸出結(jié)果到和(Sum)和進位(Carry)。半加器雖能產(chǎn)生進位值,但半加器本身并不能處理進位值。下表為半加器的真值表:輸入輸出ABCS0000010110011110則可以得到半加器的表達式為:一位全加器原理:全加器三個二進制的輸入,其中一個是進位值的輸入,所以全加器可以處理進位值。下表為全加器的真值表:輸入輸出ABCiCoS00000001010100101110100011011011010第26頁共26頁11111進行卡諾圖化簡:Co的卡諾圖:ABCi000111100001010
4、111S的卡諾圖:ABCi000111100010111010則全加器的表達式如下:實驗程序:moduleonebit_hfad(a,b,co,s);inputa,b;outputco,s;assignco=a&b,s=a^b;endmodule測試程序:moduleonebit_hfad_test;rega,b;wireco;wires;onebit_hfadHI(.a(a),.b(b),.co(co),.s(s));initialbegina=0;b=0;第26頁共26頁endalways#5
5、a=a+1'b1;always#10b=b+1'b1;endmodule仿真分析:fulladder實驗程序moduleonebit_fad(a,b,ci,co,s);inputa,b,ci;outputco,s;assignco=(a&b)
6、(b&ci)
7、(a&ci),s=a^b^ci;endmodule測試程序moduleonebit_fad_test;rega,b,ci;wireco;wires;onebit_fadHI(.a(a),.b(b),.co(co),.s(s),.ci(ci));
8、initialbegina=0;b=0;ci=0;endalways#5a=a+1'b1;always#10b=b+1'b1;第26頁共26頁always#20ci=ci+1'b1;endmodule仿真分析:8-bitripplecarryadder實驗程序:moduleonebit_fad(a,b,ci,co,s);inputa,b,ci;outputco,s;assignco=(a&b)
9、(b&ci)
10、(a&ci),s=a^b^ci;endmodulemoduleonebit_fad(ina
11、,inb,cin,cout,sum);input[7:0]ina,inb;inputcin;outputcout;output[7:0]sum;wireci1,ci2,ci3,ci4,ci5,ci6,ci7;fadad0(.a(ina[0]),.b(inb[0]),.ci(cin),.co(ci1),.s(sum[0]));fadad1(.a(ina[1]),.b(inb[1]),.ci(ci1),.co(ci2),.s(sum[1]));fadad2(.a(ina[2]),.b(inb[2]),
12、.ci(ci2),.co(ci3),.s(sum[2]));fadad3(.a(ina[3]),.b(inb[3]),.ci(ci3),.co(ci4),.s(sum[3]));fadad4(.a(ina[4]),.b(inb[4]),.ci(ci4),.co(ci5),.s(sum[4]));fadad5(.a(ina[5]),.b(inb[5]),.ci(ci5),.co(ci6),.s(sum[5]));fadad6(.a(ina[6]),.b(inb[6]),.ci(ci6