You are on page 1of 4

FULL SUBTRACTER

BehaviouralModel

modulefullsubtbeh(diff,borrow,a,b,c) ;

outputdiff,borrow;

inputa,b,c;

outputdiff,borrow;

always@(a,b,)

diff = a^b^c;

borrow=(~a&b)|(~(a^b)&c);

endmodule
Data Flow

Module fullsubtdf(diff,borrow,a,b,c) ;

outputdiff,borrow;

inputa,b,c;

assign diff = a^b^c;

assign borrow=(~a&b)|(~(a^b)&c);

endmodule

Structural

module fullsubtstr(diff,borrow,a,b,c) ;

outputdiff,borrow;

inputa,b,c;

wire a0,q,r,s,t;

not(a0,a);

xor(x,a,b);

xor(diff,x,c);

and(y,a0,b);

and(z,~x,c);

or(borrow,y,z);

endmodule
HALF SUBTRACTER

Behavioral

modulehalfsubtbeh(diff,borrow,a, b);

outputdiff,borrow;

inputa,b;

regdiff,borrow;

always @(a,b)

diff = a ^ b;

borrow=(~a&b);

endmodule

Data Flow

modulehalfsubtdf(diff,borrow,a, b);

outputdiff,borrow;

inputa,b;

assign diff = a ^ b;

assign borrow=(~a&b);

endmodule

Structural

modulehalfsubtstr(diff,borrow,a, b);

outputdiff,borrow;
inputa,b;

xor(diff,a,b);

and( borrow,~a,b);

endmodule

You might also like