@@ -370,10 +370,9 @@ def generic_rc_fit(type_sieve):
370370################################################################
371371
372372if args .mode == "segment" :
373- print (
374- "# Updated layer resistance {}/um capacitance {}/um" .format (res_unit , cap_unit )
375- )
373+ print ("\n Units: 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 ("\n Layer" , "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