Verilog實現(xiàn)全減器
前言
全減器真值表—>引用知乎:鏈接: 全減器真值表怎么理解
一、任務(wù)要求
二、門極結(jié)構(gòu)描述
代碼部分
//門級結(jié)構(gòu)化描述
module full_subtraction(xi,yi,bi,D,Bo);
input xi,yi,bi;//xi被減數(shù),yi減數(shù),bi被減數(shù)向高位的借位
output D,Bo; //D差值,Bo低位向被減數(shù)的借位
wire r1,r2,r3,r4,r5;//連接線
xor (r1,xi,yi),(D,r1,bi) ;//異或門
and (r5,r2,yi),(r4,bi,r3) ;//與門
or (Bo,r4,r5) ;//或門
not (r2,xi),(r3,r1);//非門
endmodule
原理圖
三、數(shù)據(jù)流描述
代碼部分
//數(shù)據(jù)流描述
module full_subtraction(xi,yi,bi,D,Bo);
input xi,yi,bi;//xi被減數(shù),yi減數(shù),bi被減數(shù)向高位的借位
output D,Bo; //D差值,Bo低位向被減數(shù)的借位
assign D=xi^yi^bi;//差值表達式
assign Bo=~xi&bi|~xi&yi|yi&bi;//進位表達式
endmodule
原理圖
四、行為描述
代碼部分
//行為描述
module full_subtraction(xi,yi,bi,D,Bo);
input xi,yi,bi;//xi被減數(shù),yi減數(shù),bi被減數(shù)向高位的借
output reg D,Bo; //D差值,Bo低位向被減數(shù)的借位
always @*
begin
{Bo,D}=xi-bi-yi;
end
endmodule
原理圖
五、結(jié)構(gòu)描述
代碼部分
//半減器
module Half_sub(xi,yi,D,Bo);
input wire xi,yi;//輸入被減數(shù)xi,減數(shù)yi,
output wire D,Bo;//輸出差值D,被減數(shù)向高位借位Bo
assign D=xi^yi;//
assign Bo=~(xi)&yi;
endmodule
//調(diào)用半減 構(gòu)成全減
//全減器,頂層文件
module Total_sub(xi,yi,bi,Dr,Bor);
input wire xi,yi,bi;//輸入被減數(shù)xi,減數(shù)yi,低位向被減數(shù)的借位
output wire Bor,Dr;//輸出差值Bor,被減數(shù)向高位借位Bo
wire D_1,Bor_1,Bor_2;//定義連接導(dǎo)線
Half_sub U1(.xi(xi),.yi(yi),.D(D_1),.Bo(Bor_1));//被調(diào)用的模塊名,自定義名; .被調(diào)用接口(頂層接口)
Half_sub U2(.xi(D_1),.yi(bi),.D(Dr),.Bo(Bor_2));
or(Bor,Bor_1,Bor_2);
endmodule
原理圖
文章來源:http://www.zghlxwxcb.cn/news/detail-526094.html
七、仿真波形
文章來源地址http://www.zghlxwxcb.cn/news/detail-526094.html
到了這里,關(guān)于全減器---Verilog實現(xiàn)(結(jié)構(gòu)描述,數(shù)據(jù)流描述,行為描述,層次結(jié)構(gòu)描述)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!