mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-14 01:46:16 +00:00
ecp5: Fixing arith_map
Signed-off-by: David Shah <davey1576@gmail.com>
This commit is contained in:
parent
11c916840d
commit
b0fea67cc6
1 changed files with 5 additions and 4 deletions
|
@ -51,7 +51,7 @@ module _80_ecp5_alu (A, B, CI, BI, X, Y, CO);
|
||||||
wire [Y_WIDTH2-1:0] AA = A_buf;
|
wire [Y_WIDTH2-1:0] AA = A_buf;
|
||||||
wire [Y_WIDTH2-1:0] BB = BI ? ~B_buf : B_buf;
|
wire [Y_WIDTH2-1:0] BB = BI ? ~B_buf : B_buf;
|
||||||
wire [Y_WIDTH2-1:0] C = {CO, CI};
|
wire [Y_WIDTH2-1:0] C = {CO, CI};
|
||||||
wire [Y_WIDTH2-1:0] FCO;
|
wire [Y_WIDTH2-1:0] FCO, Y1;
|
||||||
|
|
||||||
genvar i;
|
genvar i;
|
||||||
generate for (i = 0; i < Y_WIDTH2; i = i + 2) begin:slice
|
generate for (i = 0; i < Y_WIDTH2; i = i + 2) begin:slice
|
||||||
|
@ -64,14 +64,15 @@ module _80_ecp5_alu (A, B, CI, BI, X, Y, CO);
|
||||||
.CIN(C[i]),
|
.CIN(C[i]),
|
||||||
.A0(AA[i]), .B0(BB[i]), .C0(1'b0), .D0(1'b1),
|
.A0(AA[i]), .B0(BB[i]), .C0(1'b0), .D0(1'b1),
|
||||||
.A1(AA[i+1]), .B1(BB[i]), .C1(1'b0), .D1(1'b1),
|
.A1(AA[i+1]), .B1(BB[i]), .C1(1'b0), .D1(1'b1),
|
||||||
.S0(F0), .S1(F1),
|
.S0(Y[i]), .S1(Y1[i]),
|
||||||
.COUT(FCO[i])
|
.COUT(FCO[i])
|
||||||
);
|
);
|
||||||
|
|
||||||
assign CO[i] = (AA[i] && BB[i]) || (C[i] && (AA[i] || BB[i]));
|
assign CO[i] = (AA[i] && BB[i]) || (C[i] && (AA[i] || BB[i]));
|
||||||
if (i < Y_WIDTH)
|
if (i < Y_WIDTH) begin
|
||||||
assign CO[i+1] = FCO[i];
|
assign CO[i+1] = FCO[i];
|
||||||
|
assign Y[i+1] = Y1[i];
|
||||||
|
end
|
||||||
end endgenerate
|
end endgenerate
|
||||||
|
|
||||||
assign X = AA ^ BB;
|
assign X = AA ^ BB;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue