Compare commits
No commits in common. "597e24564153a02236db7cb848c0e9dce4ee3e32" and "87e48f162ef0ed72ca156be118d68ba42ea4afc1" have entirely different histories.
597e245641
...
87e48f162e
@ -23,9 +23,6 @@ module FULL_ADDER(S,CO,A,B, CI);
|
|||||||
output S,CO;
|
output S,CO;
|
||||||
input A,B, CI;
|
input A,B, CI;
|
||||||
|
|
||||||
wire Y, CO1, CO2;
|
//TBD
|
||||||
HALF_ADDER ha1(.Y(Y), .C(CO1), .A(A), .B(B));
|
|
||||||
HALF_ADDER ha2(.Y(S), .C(CO2), .A(Y), .B(CI));
|
|
||||||
or (CO, CO1, CO2);
|
|
||||||
|
|
||||||
endmodule
|
endmodule;
|
||||||
|
@ -22,7 +22,6 @@ module HALF_ADDER(Y,C,A,B);
|
|||||||
output Y,C;
|
output Y,C;
|
||||||
input A,B;
|
input A,B;
|
||||||
|
|
||||||
xor digit(Y, A, B);
|
// TBD
|
||||||
and carry(C, A, B);
|
|
||||||
|
|
||||||
endmodule
|
endmodule;
|
4
logic.v
4
logic.v
@ -20,7 +20,7 @@ output [63:0] Y;
|
|||||||
//input list
|
//input list
|
||||||
input [63:0] A;
|
input [63:0] A;
|
||||||
|
|
||||||
RC_ADD_SUB_64 twoscomp64_sub(.Y(Y), .A(64'b0), .B(A), .SnA(1'b1));
|
// TBD
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ output [31:0] Y;
|
|||||||
//input list
|
//input list
|
||||||
input [31:0] A;
|
input [31:0] A;
|
||||||
|
|
||||||
RC_ADD_SUB_32 twoscomp32_sub(.Y(Y), .A(0), .B(A), .SnA(1'b1));
|
// TBD
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
@ -29,21 +29,7 @@ input [63:0] A;
|
|||||||
input [63:0] B;
|
input [63:0] B;
|
||||||
input SnA;
|
input SnA;
|
||||||
|
|
||||||
// carry-in bits for each 1-bit full adder
|
// TBD
|
||||||
wire C[0:64];
|
|
||||||
buf (C[0], SnA);
|
|
||||||
|
|
||||||
genvar i;
|
|
||||||
generate
|
|
||||||
for (i = 0; i < 64; i = i + 1)
|
|
||||||
begin : add64_gen_loop
|
|
||||||
wire B_xor;
|
|
||||||
xor (B_xor, B[i], SnA);
|
|
||||||
FULL_ADDER add64_inst(Y[i], C[i+1], A[i], B_xor, C[i]);
|
|
||||||
end
|
|
||||||
endgenerate
|
|
||||||
|
|
||||||
buf (CO, C[64]);
|
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
@ -56,20 +42,7 @@ input [`DATA_INDEX_LIMIT:0] A;
|
|||||||
input [`DATA_INDEX_LIMIT:0] B;
|
input [`DATA_INDEX_LIMIT:0] B;
|
||||||
input SnA;
|
input SnA;
|
||||||
|
|
||||||
// carry-in bits for each 1-bit full adder
|
// TBD
|
||||||
wire C[0:32];
|
|
||||||
buf (C[0], SnA);
|
|
||||||
|
|
||||||
genvar i;
|
|
||||||
generate
|
|
||||||
for (i = 0; i < 32; i = i + 1)
|
|
||||||
begin : add32_gen_loop
|
|
||||||
wire B_xor;
|
|
||||||
xor (B_xor, B[i], SnA);
|
|
||||||
FULL_ADDER add32_inst(Y[i], C[i+1], A[i], B_xor, C[i]);
|
|
||||||
end
|
|
||||||
endgenerate
|
|
||||||
|
|
||||||
buf (CO, C[32]);
|
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user