的教科書,我讀器具1位加法器使用內置基本模塊:Verilog的:實現使用基本模塊與位運算符
module yAdder1(z, cout, a, b, cin);
output[0:0] z, cout;
input[0:0] a, b, cin;
wire[0:0] tmp, outL, outR;
xor left_xor(tmp, a, b);
xor right_xor(z, cin, tmp);
and left_and(outL, a, b);
and right_and(outR, tmp, cin);
or my_or(cout, outR, outL);
endmodule
但是,爲什麼不使用位運算符?似乎更簡單。
module yAdder1(z, cout, a, b, cin);
output[0:0] z, cout;
input[0:0] a, b, cin;
assign z = (a^b)^cin;
assign cout = (a & b) | ((a^b) & cin);
endmodule
除非按位運算符隱式使用原始模塊?
啊我看到,門(結構)水平抽象與功能和算法水平(行爲)抽象。每個人都有自己的優點和缺點。 – NoName