Skip to content

Commit 3c7b6fc

Browse files
committed
improve print messages of RC correlation segment mode
Signed-off-by: Arthur Koucher <arthurkoucher@precisioninno.com>
1 parent ba57297 commit 3c7b6fc

File tree

1 file changed

+33
-8
lines changed

1 file changed

+33
-8
lines changed

flow/util/correlateRC.py

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -370,10 +370,9 @@ def generic_rc_fit(type_sieve):
370370
################################################################
371371

372372
if args.mode == "segment":
373-
print(
374-
"# Updated layer resistance {}/um capacitance {}/um".format(res_unit, cap_unit)
375-
)
373+
print("\nUnits: resistance [{}/um], capacitance [{}/um]".format(res_unit, cap_unit))
376374

375+
layer_models = {}
377376
for layer_name in routing_layers:
378377
# There may be routing layers with no segments, so we check if the
379378
# layer exists in the dict.
@@ -388,16 +387,42 @@ def generic_rc_fit(type_sieve):
388387

389388
res_model = LinearRegression(fit_intercept=False).fit(lengths, resistances)
390389
cap_model = LinearRegression(fit_intercept=False).fit(lengths, capacitances_ff)
390+
layer_models[layer_name] = (
391+
res_model,
392+
cap_model,
393+
lengths,
394+
resistances,
395+
capacitances_ff,
396+
)
391397

392-
r_sq = res_model.score(lengths, resistances)
393-
print("# Resistance coefficient of determination: {:.4f}".format(r_sq))
394-
r_sq = cap_model.score(lengths, capacitances_ff)
395-
print("# Capacitance coefficient of determination: {:.4f}".format(r_sq))
396-
398+
# Print R² table
399+
print("{:<13s} | {:>8s} | {:>8s}".format("\nLayer", "Res R²", "Cap R²"))
400+
print("-" * 34)
401+
for layer_name, (
402+
res_model,
403+
cap_model,
404+
lengths,
405+
resistances,
406+
capacitances_ff,
407+
) in layer_models.items():
408+
r_sq_res = res_model.score(lengths, resistances)
409+
r_sq_cap = cap_model.score(lengths, capacitances_ff)
410+
print("{:<12s} | {:>8.4f} | {:>8.4f}".format(layer_name, r_sq_res, r_sq_cap))
411+
print("-" * 34)
412+
print("")
413+
414+
for layer_name, (
415+
res_model,
416+
cap_model,
417+
lengths,
418+
resistances,
419+
capacitances_ff,
420+
) in layer_models.items():
397421
print(
398422
"set_layer_rc -layer {} -resistance {:.5E} -capacitance {:.5E}".format(
399423
layer_name,
400424
res_model.coef_[0] / res_scale,
401425
cap_model.coef_[0] * 1e-15 / cap_scale,
402426
)
403427
)
428+
print("")

0 commit comments

Comments
 (0)