實(shí)驗(yàn)2:1位全加器
用與非門(mén)和異或門(mén)設(shè)計(jì)一個(gè)1位全加器電路,然后在實(shí)驗(yàn)板上實(shí)現(xiàn)自己設(shè)計(jì)的邏輯電路,并驗(yàn)證是否正確。
在將兩個(gè)多位二進(jìn)制數(shù)相加時(shí),除了最低位以外,每一位都應(yīng)該考慮來(lái)自低位的進(jìn)位,即將兩個(gè)對(duì)應(yīng)位的加數(shù)和來(lái)自低位的進(jìn)位三個(gè)數(shù)相加。這種運(yùn)算稱為全加,所用的電路稱為全加器。按照二進(jìn)制加法運(yùn)算規(guī)則,可以得到如下表所示全加器真值表。其中,A、B是兩個(gè)加數(shù),CI是來(lái)自低位的進(jìn)位,S是相加的和,CO是向高位的進(jìn)位。將S、CO和A、B、CI的關(guān)系寫(xiě)成邏輯表達(dá)式則得到:
S=CI’A’B+CI’AB’+CIA’B’+CIAB=A⊕B⊕CI
CO=CI’AB+CIA’B+CI’AB’+CIAB=AB+AC+BC
1位全加器程序清單adder1.v
module adder1 (
input wire a, //輸入的低位進(jìn)位及兩個(gè)加數(shù)cin、a、b
input wire b,
input wire cin,
output wire sum, //輸出的和與進(jìn)位
output wire cout );
wire s1,s2,s3; //定義中間變量
xor (s1,a,b); //調(diào)用基本異或門(mén)
xor (sum,s1,cin);
nand (s2,a,b); //調(diào)用基本與非門(mén)
nand (s3,s1,cin);
and (cout,s2,s3);
endmodule
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。