mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-14 18:06:16 +00:00
Attach abc_scc_break, abc_carry_{in,out} attr to ports not modules
This commit is contained in:
parent
958be89c47
commit
562c9e3624
1 changed files with 20 additions and 8 deletions
|
@ -181,8 +181,14 @@ module XORCY(output O, input CI, LI);
|
||||||
assign O = CI ^ LI;
|
assign O = CI ^ LI;
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
(* abc_box_id = 4, abc_carry="CI,CO", lib_whitebox *)
|
(* abc_box_id = 4, lib_whitebox *)
|
||||||
module CARRY4(output [3:0] CO, O, input CI, CYINIT, input [3:0] DI, S);
|
module CARRY4(
|
||||||
|
(* abc_carry_out *) output [3:0] CO,
|
||||||
|
output [3:0] O,
|
||||||
|
(* abc_carry_in *) input CI,
|
||||||
|
input CYINIT,
|
||||||
|
input [3:0] DI, S
|
||||||
|
);
|
||||||
assign O = S ^ {CO[2:0], CI | CYINIT};
|
assign O = S ^ {CO[2:0], CI | CYINIT};
|
||||||
assign CO[0] = S[0] ? CI | CYINIT : DI[0];
|
assign CO[0] = S[0] ? CI | CYINIT : DI[0];
|
||||||
assign CO[1] = S[1] ? CO[0] : DI[1];
|
assign CO[1] = S[1] ? CO[0] : DI[1];
|
||||||
|
@ -289,10 +295,12 @@ module FDPE_1 (output reg Q, input C, CE, D, PRE);
|
||||||
always @(negedge C, posedge PRE) if (PRE) Q <= 1'b1; else if (CE) Q <= D;
|
always @(negedge C, posedge PRE) if (PRE) Q <= 1'b1; else if (CE) Q <= D;
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
(* abc_box_id = 5, abc_scc_break="D,WE" *)
|
(* abc_box_id = 5 *)
|
||||||
module RAM32X1D (
|
module RAM32X1D (
|
||||||
output DPO, SPO,
|
output DPO, SPO,
|
||||||
input D, WCLK, WE,
|
(* abc_scc_break *) input D,
|
||||||
|
input WCLK,
|
||||||
|
(* abc_scc_break *) input WE,
|
||||||
input A0, A1, A2, A3, A4,
|
input A0, A1, A2, A3, A4,
|
||||||
input DPRA0, DPRA1, DPRA2, DPRA3, DPRA4
|
input DPRA0, DPRA1, DPRA2, DPRA3, DPRA4
|
||||||
);
|
);
|
||||||
|
@ -307,10 +315,12 @@ module RAM32X1D (
|
||||||
always @(posedge clk) if (WE) mem[a] <= D;
|
always @(posedge clk) if (WE) mem[a] <= D;
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
(* abc_box_id = 6, abc_scc_break="D,WE" *)
|
(* abc_box_id = 6 *)
|
||||||
module RAM64X1D (
|
module RAM64X1D (
|
||||||
output DPO, SPO,
|
output DPO, SPO,
|
||||||
input D, WCLK, WE,
|
(* abc_scc_break *) input D,
|
||||||
|
input WCLK,
|
||||||
|
(* abc_scc_break *) input WE,
|
||||||
input A0, A1, A2, A3, A4, A5,
|
input A0, A1, A2, A3, A4, A5,
|
||||||
input DPRA0, DPRA1, DPRA2, DPRA3, DPRA4, DPRA5
|
input DPRA0, DPRA1, DPRA2, DPRA3, DPRA4, DPRA5
|
||||||
);
|
);
|
||||||
|
@ -325,10 +335,12 @@ module RAM64X1D (
|
||||||
always @(posedge clk) if (WE) mem[a] <= D;
|
always @(posedge clk) if (WE) mem[a] <= D;
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
(* abc_box_id = 7, abc_scc_break="D,WE" *)
|
(* abc_box_id = 7 *)
|
||||||
module RAM128X1D (
|
module RAM128X1D (
|
||||||
output DPO, SPO,
|
output DPO, SPO,
|
||||||
input D, WCLK, WE,
|
(* abc_scc_break *) input D,
|
||||||
|
input WCLK,
|
||||||
|
(* abc_scc_break *) input WE,
|
||||||
input [6:0] A, DPRA
|
input [6:0] A, DPRA
|
||||||
);
|
);
|
||||||
parameter INIT = 128'h0;
|
parameter INIT = 128'h0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue