Skip to content

Commit 2bdfdf9

Browse files
committed
Fixed handling to CTS flow variables
Signed-off-by: Jeff Ng <[email protected]>
1 parent 2eea2b1 commit 2bdfdf9

File tree

9 files changed

+27
-3
lines changed

9 files changed

+27
-3
lines changed

docs/user/FlowVariables.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ configuration file.
7575
| <a name="CORNER"></a>CORNER| PVT corner library selection. Only available for ASAP7 and GF180 PDKs.| | |
7676
| <a name="CTS_ARGS"></a>CTS_ARGS| Override `clock_tree_synthesis` arguments.| | |
7777
| <a name="CTS_BUF_DISTANCE"></a>CTS_BUF_DISTANCE| Distance (in microns) between buffers.| | |
78+
| <a name="CTS_BUF_LIST"></a>CTS_BUF_LIST| List of cells used to construct the clock tree.| | |
7879
| <a name="CTS_CLUSTER_DIAMETER"></a>CTS_CLUSTER_DIAMETER| Maximum diameter (in microns) of sink cluster.| 20| |
7980
| <a name="CTS_CLUSTER_SIZE"></a>CTS_CLUSTER_SIZE| Maximum number of sinks per cluster.| 50| |
8081
| <a name="CTS_SNAPSHOT"></a>CTS_SNAPSHOT| Creates ODB/SDC files prior to clock net and setup/hold repair.| | |
@@ -307,6 +308,7 @@ configuration file.
307308
- [CELL_PAD_IN_SITES_DETAIL_PLACEMENT](#CELL_PAD_IN_SITES_DETAIL_PLACEMENT)
308309
- [CTS_ARGS](#CTS_ARGS)
309310
- [CTS_BUF_DISTANCE](#CTS_BUF_DISTANCE)
311+
- [CTS_BUF_LIST](#CTS_BUF_LIST)
310312
- [CTS_CLUSTER_DIAMETER](#CTS_CLUSTER_DIAMETER)
311313
- [CTS_CLUSTER_SIZE](#CTS_CLUSTER_SIZE)
312314
- [CTS_SNAPSHOT](#CTS_SNAPSHOT)

flow/designs/asap7/riscv32i/config.mk

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,6 @@ export IO_CONSTRAINTS = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NICKNAME)/io.tcl
2828
export MACRO_PLACE_HALO = 2 2
2929

3030
export TNS_END_PERCENT = 100
31+
32+
export CTS_CLUSTER_SIZE = 10
33+
export CTS_CLUSTER_DIAMETER = 50

flow/designs/nangate45/bp_be_top/config.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ export MACRO_PLACE_HALO = 10 10
3131
export PLACE_DENSITY_LB_ADDON = 0.10
3232
export TNS_END_PERCENT = 100
3333

34+
export CTS_CLUSTER_SIZE = 30
35+
export CTS_CLUSTER_DIAMETER = 50
3436
export SYNTH_MINIMUM_KEEP_SIZE = 3000
3537

3638
export FASTROUTE_TCL = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/fastroute.tcl

flow/designs/sky130hd/aes/config.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,5 @@ export FASTROUTE_TCL = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NICKNAME)/fastroute.t
1818

1919
export REMOVE_ABC_BUFFERS = 1
2020

21+
export CTS_CLUSTER_SIZE = 20
22+
export CTS_CLUSTER_DIAMETER = 50

flow/designs/sky130hd/ibex/config.mk

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,6 @@ export TNS_END_PERCENT = 100
5252
export FASTROUTE_TCL = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NICKNAME)/fastroute.tcl
5353

5454
export REMOVE_ABC_BUFFERS = 1
55+
56+
export CTS_CLUSTER_SIZE = 20
57+
export CTS_CLUSTER_DIAMETER = 50

flow/designs/sky130hs/aes/config.mk

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,7 @@ export PLACE_DENSITY_LB_ADDON = 0.25
1313
export TNS_END_PERCENT = 100
1414

1515
export REMOVE_ABC_BUFFERS = 1
16+
17+
export CTS_CLUSTER_SIZE = 10
18+
export CTS_CLUSTER_DIAMETER = 50
19+

flow/designs/sky130hs/jpeg/config.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,5 @@ export CORE_MARGIN = 2
1414
export PLACE_DENSITY_LB_ADDON = 0.25
1515
export TNS_END_PERCENT = 100
1616

17+
export CTS_CLUSTER_SIZE = 30
18+
export CTS_CLUSTER_DIAMETER = 50

flow/scripts/cts.tcl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@ set cts_args [list \
1818
-sink_clustering_enable \
1919
-balance_levels]
2020

21-
append_env_var cts_args -distance_between_buffers CTS_BUF_DISTANCE 1
22-
append_env_var cts_args -sink_clustering_size CTS_CLUSTER_SIZE 1
23-
append_env_var cts_args -sink_clustering_max_diameter CTS_CLUSTER_DIAMETER 1
21+
append_env_var cts_args CTS_BUF_DISTANCE -distance_between_buffers 1
22+
append_env_var cts_args CTS_CLUSTER_SIZE -sink_clustering_size 1
23+
append_env_var cts_args CTS_CLUSTER_DIAMETER -sink_clustering_max_diameter 1
24+
append_env_var cts_args CTS_BUF_LIST -buf_list 1
2425

2526
if {[env_var_exists_and_non_empty CTS_ARGS]} {
2627
set cts_args $::env(CTS_ARGS)

flow/scripts/variables.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -721,6 +721,11 @@ CTS_BUF_DISTANCE:
721721
Distance (in microns) between buffers.
722722
stages:
723723
- cts
724+
CTS_BUF_LIST:
725+
description: |
726+
List of cells used to construct the clock tree.
727+
stages:
728+
- cts
724729
CTS_CLUSTER_DIAMETER:
725730
description: >
726731
Maximum diameter (in microns) of sink cluster.

0 commit comments

Comments
 (0)