From 6f19de3916b7714a006d3beab060e2d4f86023a1 Mon Sep 17 00:00:00 2001 From: Zhiyu Zheng <1806471942@qq.com> Date: Fri, 14 Nov 2025 14:07:18 +0800 Subject: [PATCH 1/3] Remove all pins placed check from global placement Removed check for all pins placed before skipping global placement. --- flow/scripts/global_place_skip_io.tcl | 2 -- 1 file changed, 2 deletions(-) diff --git a/flow/scripts/global_place_skip_io.tcl b/flow/scripts/global_place_skip_io.tcl index b528856..ff05f36 100644 --- a/flow/scripts/global_place_skip_io.tcl +++ b/flow/scripts/global_place_skip_io.tcl @@ -4,8 +4,6 @@ load_design 2_floorplan.odb 2_floorplan.sdc if { [env_var_exists_and_non_empty FLOORPLAN_DEF] } { puts "FLOORPLAN_DEF is set. Skipping global placement without IOs" -} elseif { [all_pins_placed] } { - puts "All pins are placed. Skipping global placement without IOs" } else { log_cmd global_placement -skip_io -density [place_density_with_lb_addon] \ -pad_left $::env(CELL_PAD_IN_SITES_GLOBAL_PLACEMENT) \ From 12f1f41200b1820ea1ea379127d42f9e4a8bbcb6 Mon Sep 17 00:00:00 2001 From: Zhiyu Zheng <1806471942@qq.com> Date: Fri, 14 Nov 2025 14:08:37 +0800 Subject: [PATCH 2/3] Add Kogge-Stone LCU module implementation --- flow/platforms/common/lcu_kogge_stone.v | 34 +++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 flow/platforms/common/lcu_kogge_stone.v diff --git a/flow/platforms/common/lcu_kogge_stone.v b/flow/platforms/common/lcu_kogge_stone.v new file mode 100644 index 0000000..e865c07 --- /dev/null +++ b/flow/platforms/common/lcu_kogge_stone.v @@ -0,0 +1,34 @@ +(* techmap_celltype = "$lcu" *) +module _80_lcu_kogge_stone (P, G, CI, CO); + parameter WIDTH = 2; + + (* force_downto *) + input [WIDTH-1:0] P, G; + input CI; + + (* force_downto *) + output [WIDTH-1:0] CO; + + integer i, j; + (* force_downto *) + reg [WIDTH-1:0] p, g; + + wire [1023:0] _TECHMAP_DO_ = "proc; opt -fast"; + + always @* begin + p = P; + g = G; + + // in almost all cases CI will be constant zero + g[0] = g[0] | (p[0] & CI); + + for (i = 0; i < $clog2(WIDTH); i = i + 1) begin + for (j = WIDTH - 1; j >= 2**i; j = j - 1) begin + g[j] = g[j] | p[j] & g[j - 2**i]; + p[j] = p[j] & p[j - 2**i]; + end + end + end + + assign CO = g; +endmodule From 1de8c4736b0c14028e4fdb91e257055ec78f70fd Mon Sep 17 00:00:00 2001 From: shifengzhicheng <75062138+shifengzhicheng@users.noreply.github.com> Date: Fri, 14 Nov 2025 06:10:06 +0000 Subject: [PATCH 3/3] [BOT] Update yosys submodule Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- tools/yosys | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/yosys b/tools/yosys index 863f409..9ed031d 160000 --- a/tools/yosys +++ b/tools/yosys @@ -1 +1 @@ -Subproject commit 863f40978e798f8002bac989a1cb1c755ef1165e +Subproject commit 9ed031ddd588442f22be13ce608547a5809b62f0