librelane 3.0.0.dev35__py3-none-any.whl → 3.0.0.dev37__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of librelane might be problematic. Click here for more details.
- librelane/scripts/openroad/cts.tcl +11 -12
- librelane/steps/openroad.py +21 -5
- {librelane-3.0.0.dev35.dist-info → librelane-3.0.0.dev37.dist-info}/METADATA +1 -1
- {librelane-3.0.0.dev35.dist-info → librelane-3.0.0.dev37.dist-info}/RECORD +6 -6
- {librelane-3.0.0.dev35.dist-info → librelane-3.0.0.dev37.dist-info}/WHEEL +0 -0
- {librelane-3.0.0.dev35.dist-info → librelane-3.0.0.dev37.dist-info}/entry_points.txt +0 -0
|
@@ -63,28 +63,27 @@ proc get_buflist {} {
|
|
|
63
63
|
set arg_list [list]
|
|
64
64
|
lappend arg_list -buf_list [get_buflist]
|
|
65
65
|
lappend arg_list -root_buf $::env(CTS_ROOT_BUFFER)
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
|
|
67
|
+
append_if_exists_argument arg_list CTS_SINK_CLUSTERING_SIZE -sink_clustering_size
|
|
68
|
+
append_if_exists_argument arg_list CTS_SINK_CLUSTERING_MAX_DIAMETER -sink_clustering_max_diameter
|
|
69
|
+
append_if_flag arg_list CTS_SINK_CLUSTERING_ENABLE -sink_clustering_enable
|
|
70
|
+
append_if_exists_argument arg_list CTS_MACRO_CLUSTERING_SIZE -macro_clustering_size
|
|
71
|
+
append_if_exists_argument arg_list CTS_MACRO_CLUSTERING_MAX_DIAMETER -macro_clustering_max_diameter
|
|
72
|
+
append_if_flag arg_list CTS_DISABLE_POST_PROCESSING -post_cts_disable
|
|
73
|
+
append_if_flag arg_list CTS_OBSTRUCTION_AWARE -obstruction_aware
|
|
74
|
+
append_if_flag arg_list CTS_BALANCE_LEVELS -balance_levels
|
|
69
75
|
|
|
70
76
|
if { $::env(CTS_DISTANCE_BETWEEN_BUFFERS) != 0 } {
|
|
71
77
|
lappend arg_list -distance_between_buffers $::env(CTS_DISTANCE_BETWEEN_BUFFERS)
|
|
72
78
|
}
|
|
73
|
-
|
|
74
|
-
lappend arg_list -post_cts_disable
|
|
75
|
-
}
|
|
76
|
-
if { [info exists ::env(CTS_OBSTRUCTION_AWARE)] && $::env(CTS_OBSTRUCTION_AWARE) } {
|
|
77
|
-
lappend arg_list -obstruction_aware
|
|
78
|
-
}
|
|
79
|
+
|
|
79
80
|
if { [info exists ::env(CTS_SINK_BUFFER_MAX_CAP_DERATE_PCT)] } {
|
|
80
81
|
lappend arg_list -sink_buffer_max_cap_derate [expr $::env(CTS_SINK_BUFFER_MAX_CAP_DERATE_PCT) / 100.0]
|
|
81
82
|
}
|
|
83
|
+
|
|
82
84
|
if { [info exists ::env(CTS_DELAY_BUFFER_DERATE_PCT)] } {
|
|
83
85
|
lappend arg_list -delay_buffer_derate [expr $::env(CTS_DELAY_BUFFER_DERATE_PCT) / 100]
|
|
84
86
|
}
|
|
85
|
-
if { [info exists ::env(CTS_BALANCE_LEVELS)] && $::env(CTS_BALANCE_LEVELS) } {
|
|
86
|
-
lappend arg_list -balance_levels
|
|
87
|
-
}
|
|
88
87
|
|
|
89
88
|
log_cmd clock_tree_synthesis {*}$arg_list
|
|
90
89
|
|
librelane/steps/openroad.py
CHANGED
|
@@ -2265,17 +2265,33 @@ class CTS(OpenROADStep):
|
|
|
2265
2265
|
"Enables obstruction-aware buffering such that clock buffers are not placed on top of blockages or hard macros. "
|
|
2266
2266
|
+ "This option may reduce legalizer displacement, leading to better latency, skew or timing QoR.",
|
|
2267
2267
|
),
|
|
2268
|
+
Variable(
|
|
2269
|
+
"CTS_SINK_CLUSTERING_ENABLE",
|
|
2270
|
+
bool,
|
|
2271
|
+
"Enables pre-clustering of sinks to create one level of sub-tree before building the H-tree. "
|
|
2272
|
+
+ "Each cluster is driven by a buffer which becomes the end point of the H-tree structure.",
|
|
2273
|
+
default=True,
|
|
2274
|
+
),
|
|
2268
2275
|
Variable(
|
|
2269
2276
|
"CTS_SINK_CLUSTERING_SIZE",
|
|
2270
|
-
int,
|
|
2277
|
+
Optional[int],
|
|
2271
2278
|
"Specifies the maximum number of sinks per cluster.",
|
|
2272
|
-
default=25,
|
|
2273
2279
|
),
|
|
2274
2280
|
Variable(
|
|
2275
2281
|
"CTS_SINK_CLUSTERING_MAX_DIAMETER",
|
|
2276
|
-
Decimal,
|
|
2277
|
-
"Specifies maximum diameter of the sink cluster.",
|
|
2278
|
-
|
|
2282
|
+
Optional[Decimal],
|
|
2283
|
+
"Specifies the maximum diameter of the sink cluster.",
|
|
2284
|
+
units="µm",
|
|
2285
|
+
),
|
|
2286
|
+
Variable(
|
|
2287
|
+
"CTS_MACRO_CLUSTERING_SIZE",
|
|
2288
|
+
Optional[int],
|
|
2289
|
+
"Specifies the maximum number of sinks per cluster for the macro tree.",
|
|
2290
|
+
),
|
|
2291
|
+
Variable(
|
|
2292
|
+
"CTS_MACRO_CLUSTERING_MAX_DIAMETER",
|
|
2293
|
+
Optional[Decimal],
|
|
2294
|
+
"Specifies the maximum diameter of the sink cluster for the macro tree.",
|
|
2279
2295
|
units="µm",
|
|
2280
2296
|
),
|
|
2281
2297
|
Variable(
|
|
@@ -116,7 +116,7 @@ librelane/scripts/openroad/common/set_layer_adjustments.tcl,sha256=xqAIDXsTa1_Js
|
|
|
116
116
|
librelane/scripts/openroad/common/set_power_nets.tcl,sha256=_2n2AKl8UTh9-KeUOOwKaeyRw_4zi1Ifgh8oa9HIWc4,1253
|
|
117
117
|
librelane/scripts/openroad/common/set_rc.tcl,sha256=oJJCQG9RvAltgB5KTFsJcCzVvwUIkXeI7KJehCEWex0,7224
|
|
118
118
|
librelane/scripts/openroad/common/set_routing_layers.tcl,sha256=fCQsIjcFRsHJPFQvk87ta4mPj-gl27KLOCK3SNXH0jM,1335
|
|
119
|
-
librelane/scripts/openroad/cts.tcl,sha256=
|
|
119
|
+
librelane/scripts/openroad/cts.tcl,sha256=QJHK7qsSXSg0L2Rj91Y53h9Immdkyo-9xaGDApQvtbY,3992
|
|
120
120
|
librelane/scripts/openroad/cut_rows.tcl,sha256=8RN4_muN1FXkXCU1VGVI_nox3BQNVGVNlQn_21HRCKM,1403
|
|
121
121
|
librelane/scripts/openroad/dpl.tcl,sha256=U5iTPBf7H4w3cmCM8-yTjLTVr8npwc5G7hVuszljCVc,777
|
|
122
122
|
librelane/scripts/openroad/drt.tcl,sha256=xIBTKJ1HwcvsVCLZW5nMkK6JV7wIskSw9CTHNEqOXcE,3138
|
|
@@ -160,14 +160,14 @@ librelane/steps/magic.py,sha256=Cc_qApOgeltIn7lKA7dBQ4Ud9EQtbMatsuGPEvqvpcQ,2118
|
|
|
160
160
|
librelane/steps/misc.py,sha256=8ubCvFeFEspXrgnzNWINY5-TXTyalNtlvcX8TSw0qdg,5685
|
|
161
161
|
librelane/steps/netgen.py,sha256=R9sDWv-9wKMdi2rkuLQdOc4uLlbYhXcKKd6WsZsnLt0,8953
|
|
162
162
|
librelane/steps/odb.py,sha256=-zsXi0jVdtfBfAJI0OC4x1jI_B2OX5YVn4uAn6NyFdk,38424
|
|
163
|
-
librelane/steps/openroad.py,sha256=
|
|
163
|
+
librelane/steps/openroad.py,sha256=0UZDYTqKHOvkqXTEb44HaesaZ8d4GS-6gUahtjDc-m4,100355
|
|
164
164
|
librelane/steps/openroad_alerts.py,sha256=IJyB4piBDCKXhkJswHGMYCRDwbdQsR0GZlrGGDhmW6Q,3364
|
|
165
165
|
librelane/steps/pyosys.py,sha256=BzTUYCFxXJWtHqPtEPAztoWNLbDWvECWnsWVdK_lljU,23589
|
|
166
166
|
librelane/steps/step.py,sha256=THIxZkhtkNYt1iRgMduD0ywrOTCaV7cCfUB2EqXN6-k,55751
|
|
167
167
|
librelane/steps/tclstep.py,sha256=68AjCmbLhBscbzQDxRcPQVU-6UvZQNOalO7qNwUXCa4,10138
|
|
168
168
|
librelane/steps/verilator.py,sha256=MWx2TpLqYyea9_jSeLG9c2S5ujvYERQZRFNaMhfHxZE,7916
|
|
169
169
|
librelane/steps/yosys.py,sha256=lYdZPFvjcmdu_NE6rtB94_dysIK2qwGdGb480W6pg2w,12711
|
|
170
|
-
librelane-3.0.0.
|
|
171
|
-
librelane-3.0.0.
|
|
172
|
-
librelane-3.0.0.
|
|
173
|
-
librelane-3.0.0.
|
|
170
|
+
librelane-3.0.0.dev37.dist-info/METADATA,sha256=XRDuS9Fu4WGt0zMRqNHRl_0gut_L7opE_WwTnhfUIVs,6561
|
|
171
|
+
librelane-3.0.0.dev37.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
172
|
+
librelane-3.0.0.dev37.dist-info/entry_points.txt,sha256=0eZs2NOH-w-W_GVRCs-ualst26XplkPpJkOnGWMaFw0,306
|
|
173
|
+
librelane-3.0.0.dev37.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|