diff --git a/.gitignore b/.gitignore index ec3c5d0b8..1506bcd8e 100644 --- a/.gitignore +++ b/.gitignore @@ -45,4 +45,6 @@ pdks/ /install # Venv -/venv \ No newline at end of file +/venv + +sandbox diff --git a/regression_results/benchmark_results/sky130A/sky130_fd_sc_hd.csv b/regression_results/benchmark_results/sky130A/sky130_fd_sc_hd.csv index 5233711f0..23602c7f4 100644 --- a/regression_results/benchmark_results/sky130A/sky130_fd_sc_hd.csv +++ b/regression_results/benchmark_results/sky130A/sky130_fd_sc_hd.csv @@ -1,22 +1,22 @@ -design,design_name,config,flow_status,total_runtime,routed_runtime,DIEAREA_mm^2,CellPer_mm^2,OpenDP_Util,Final_Util,Peak_Memory_Usage_MB,synth_cell_count,tritonRoute_violations,Short_violations,MetSpc_violations,OffGrid_violations,MinHole_violations,Other_violations,Magic_violations,pin_antenna_violations,net_antenna_violations,lvs_total_errors,cvc_total_errors,klayout_violations,wire_length,vias,wns,pl_wns,optimized_wns,fastroute_wns,spef_wns,tns,pl_tns,optimized_tns,fastroute_tns,spef_tns,HPWL,routing_layer1_pct,routing_layer2_pct,routing_layer3_pct,routing_layer4_pct,routing_layer5_pct,routing_layer6_pct,wires_count,wire_bits,public_wires_count,public_wire_bits,memories_count,memory_bits,processes_count,cells_pre_abc,AND,DFF,NAND,NOR,OR,XOR,XNOR,MUX,inputs,outputs,level,DecapCells,WelltapCells,DiodeCells,FillCells,NonPhysCells,TotalCells,CoreArea_um^2,power_slowest_internal_uW,power_slowest_switching_uW,power_slowest_leakage_uW,power_typical_internal_uW,power_typical_switching_uW,power_typical_leakage_uW,power_fastest_internal_uW,power_fastest_switching_uW,power_fastest_leakage_uW,critical_path_ns,CLOCK_PERIOD,FP_ASPECT_RATIO,FP_CORE_UTIL,FP_PDN_HPITCH,FP_PDN_VPITCH,GRT_ADJUSTMENT,GRT_REPAIR_ANTENNAS,PL_TARGET_DENSITY,RUN_HEURISTIC_DIODE_INSERTION,STD_CELL_LIBRARY,MAX_FANOUT_CONSTRAINT,SYNTH_STRATEGY -./designs/ci/APU,APU,run_config,flow completed,0h4m26s0ms,0h3m1s0ms,0.0983350472999999,34484.144698225005,36.06,36.0,792.03,3253,0,0,0,0,0,0,0,3,3,0,-1,-1,140372,25964,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,106197908.0,0.0,42.45,43.9,6.23,12.61,0.0,2847,3426,183,703,0,0,0,3120,89,40,102,150,274,250,56,1024,432,424,23,5671,1221,33,2252,3391,12568,88101.99680000001,-1,-1,-1,-1,-1,-1,-1,-1,-1,4.76,17.0,1,35,153.18,153.6,0.3,1,0.4,0,sky130_fd_sc_hd,6,AREA 0 -./designs/ci/PPU,PPU,run_config,flow completed,0h13m54s0ms,0h6m31s0ms,0.733195271625,18162.9649226804,20.49,25.0,2077.11,12649,0,0,0,0,0,0,0,72,65,0,-1,-1,914385,99369,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,640716798.0,0.0,36.57,38.6,7.09,12.5,0.17,5308,8922,576,4178,0,0,0,7674,52,8,53,75,466,113,21,3014,2918,2927,21,43486,10075,708,14399,13317,81985,703299.52,-1,-1,-1,-1,-1,-1,-1,-1,-1,9.05,18.0,1,20,153.18,153.6,0.3,1,0.25,0,sky130_fd_sc_hd,8,AREA 0 -./designs/ci/aes,aes,run_config,flow completed,0h31m18s0ms,0h16m12s0ms,1.5614589344249998,13835.778529747611,15.32,19.0,3995.48,20122,0,0,0,0,0,0,0,75,70,0,-1,-1,1906160,185725,-26.68,-45.4,-1,0.0,0.0,-77174.7,-129120.43,-1,0.0,0.0,1421600626.0,0.0,34.34,35.77,9.34,16.27,0.15,21918,39764,1376,19222,0,0,0,24130,219,143,88,346,8958,2179,691,1414,3037,3024,24,98615,21612,1617,28611,21604,172059,1519006.8479999998,-1,-1,-1,-1,-1,-1,-1,-1,-1,2.91,25.0,1,15,153.18,153.6,0.3,1,0.25,0,sky130_fd_sc_hd,8,AREA 0 -./designs/ci/aes_core,aes_core,run_config,flow completed,0h38m54s0ms,0h17m41s0ms,0.8670581510250001,24200.22229788714,25.56,36.0,3197.34,19301,0,0,0,0,0,0,0,10,10,0,-1,-1,1995431,218062,-20.25,-33.48,-1,0.0,0.0,-47470.02,-78096.02,-1,0.0,0.0,1553775824.0,0.0,54.68,59.5,32.22,50.36,2.92,21779,38579,1339,18139,0,0,0,23475,303,11,176,343,8963,2035,834,1198,2865,2604,25,50614,11830,22472,31654,20983,137553,835761.5616,-1,-1,-1,-1,-1,-1,-1,-1,-1,2.9899999999999998,22.0,1,25,153.18,153.6,0.3,1,0.3,1,sky130_fd_sc_hd,6,AREA 0 -./designs/ci/aes_user_project_wrapper,aes_user_project_wrapper,run_config,flow completed,0h9m31s0ms,0h0m56s0ms,10.2784,0.09729140722291407,-1,6.44782,514.45,1,0,0,0,0,0,0,0,0,0,0,-1,-1,13328,214,0.0,-1,-1,-1,-1,0.0,-1,-1,-1,-1,-1,0.0,0.02,0.01,0.08,0.0,-1,19,637,19,637,0,0,0,1,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,1,1,10173980.1536,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,25,1,50,81.6,81.6,0.3,0,10,0.6,0,sky130_fd_sc_hd,AREA 0 -./designs/ci/blabla,blabla,run_config,flow completed,0h37m16s0ms,0h9m39s0ms,1.44,9359.027777777776,8.74,14.0,2878.57,11696,0,0,0,0,0,0,0,118,111,0,-1,-1,2328661,115651,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,2126108228.0,0.0,46.54,44.08,12.63,29.41,0.0,10117,21673,226,11782,0,0,0,12090,654,5,575,813,507,2076,906,1434,2004,1100,50,92567,20010,5285,28187,13477,159526,1399932.6464000002,-1,-1,-1,-1,-1,-1,-1,-1,-1,8.7,65.0,1,11,153.18,153.6,0.3,1,0.16,0,sky130_fd_sc_hd,10,AREA 0 -./designs/ci/caravel_upw,user_project_wrapper,run_config,flow completed,0h6m23s0ms,0h1m58s0ms,-1.0,-1.0,-1.0,11.0,755.36,2,0,0,0,0,0,0,0,0,0,0,-1,-1,1803198,5162,0.0,-1.0,-1,0.0,0.0,0.0,-1.0,-1,0.0,0.0,-1.0,0.0,3.56,7.04,0.84,2.89,-1.0,19,637,19,637,0,0,0,2,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,2,2,10173980.1536,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1.0,10.0,1,50,180.0,180.0,0.3,1,0.55,0,sky130_fd_sc_hd,10,AREA 0 -./designs/ci/gcd,gcd,run_config,flow completed,0h1m34s0ms,0h1m4s0ms,0.0784251948,4743.373617989407,5.25,7.0,562.96,313,0,0,0,0,0,0,0,0,0,0,-1,-1,19936,2738,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,17027897.0,0.0,7.09,7.52,1.69,3.98,0.0,347,1106,140,899,0,0,0,293,6,3,2,6,41,25,6,32,70,52,11,4823,970,14,1092,372,7271,67039.29599999999,-1,-1,-1,-1,-1,-1,-1,-1,-1,3.48,10.0,1,50,27.2,27.14,0.3,1,0.55,0,sky130_fd_sc_hd,10,DELAY 4 -./designs/ci/inverter,inverter,run_config,flow completed,0h0m23s0ms,0h0m12s0ms,0.00197064,1522.3480696626475,-1.0,3.0,479.06,1,0,0,0,0,0,0,0,0,0,0,-1,-1,77,14,0.0,-1.0,-1,0.0,0.0,0.0,-1.0,-1,0.0,0.0,-1.0,0.0,1.0,1.83,0.0,0.0,0.0,2,2,2,2,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,77,7,0,23,3,110,829.5456,-1,-1,-1,-1,-1,-1,-1,-1,-1,0.3500000000000001,10.0,1,50,25.0,25.0,0.3,1,0.75,0,sky130_fd_sc_hd,10,AREA 0 -./designs/ci/manual_macro_placement_test,manual_macro_placement_test,run_config,flow completed,0h0m46s0ms,0h0m17s0ms,0.1007267267999999,724.7331698263823,-1.0,37.0,512.96,2,0,0,0,0,0,0,0,0,0,0,-1,-1,20029,500,0.0,-1.0,-1,0.0,0.0,0.0,-1.0,-1,0.0,0.0,-1.0,0.0,6.4,7.26,2.58,7.14,0.1,10,72,10,72,0,0,0,2,0,0,0,0,0,0,0,0,-1,-1,-1,3641,713,4,689,73,5120,90011.32800000001,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1.0,100.0,1,35,153.18,30.0,0.3,1,0.35,0,sky130_fd_sc_hd,10,AREA 0 -./designs/ci/picorv32a,picorv32,run_config,flow completed,0h12m9s0ms,0h7m18s0ms,0.3030545513,32970.96168705519,35.9,40.0,1365.14,9470,0,0,0,0,0,0,0,32,24,0,-1,-1,665045,82637,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,520806623.0,0.0,52.74,59.12,25.99,46.05,6.23,6209,8782,179,2304,0,0,0,8024,399,91,208,212,1016,370,100,2711,1630,1656,22,16482,4059,671,7929,9992,39133,284718.06720000005,-1,-1,-1,-1,-1,-1,-1,-1,-1,1.5499999999999998,24.0,1,35,153.18,153.6,0.3,1,0.4,0,sky130_fd_sc_hd,6,AREA 0 -./designs/ci/s44,lut_s44,run_config,flow completed,0h1m10s0ms,0h0m50s0ms,0.043010922,3510.7361799870278,4.15,7.0,531.9,121,0,0,0,0,0,0,0,0,0,0,-1,-1,8322,1048,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,7096590.0,0.0,5.64,7.12,0.11,0.0,0.0,49,140,20,111,0,0,0,62,0,0,0,0,0,0,0,30,48,33,6,2648,504,8,603,151,3914,36347.35999999999,-1,-1,-1,-1,-1,-1,-1,-1,-1,2.039999999999999,30.0,1,4,153.18,153.6,0.3,1,0.5,0,sky130_fd_sc_hd,10,AREA 0 -./designs/ci/salsa20,salsa20,run_config,flow completed,0h30m6s0ms,0h16m6s0ms,1.2177938729000002,20405.752199116683,20.45,25.0,3386.25,22965,0,0,0,0,0,0,0,171,157,0,-1,-1,2147090,196715,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,1822593739.0,0.0,45.76,45.64,21.0,34.13,5.38,12472,21091,252,8871,0,0,0,17446,488,5,592,642,1679,2296,741,1288,3720,3710,51,74068,16842,2694,26166,24850,144620,1179677.6544,-1,-1,-1,-1,-1,-1,-1,-1,-1,4.57,38.0,1,20,153.18,153.6,0.3,1,0.25,0,sky130_fd_sc_hd,6,AREA 0 -spm,spm,run_config,flow completed,0h1m10s0ms,0h0m52s0ms,0.0114652544999999,30090.91512098576,47.85,45.0,521.98,301,0,0,0,0,0,0,0,0,0,0,-1,-1,10140,2035,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,8701631.0,0.0,21.21,38.83,1.2,4.41,0.0,354,415,196,257,0,0,0,253,32,64,31,31,1,63,31,0,97,128,4,539,105,0,227,345,1216,8134.051200000001,-1,-1,-1,-1,-1,-1,-1,-1,-1,0.5899999999999999,10.0,1,45,22.44,22.655,0.3,1,0.5,0,sky130_fd_sc_hd,10,AREA 0 -./designs/ci/tt05_i2c_bert,tt_um_dlmiles_tt05_i2c_bert,run_config,flow completed,0h2m1s0ms,0h1m38s0ms,0.0187755072,56563.052528349275,58.15,72.5264,563.35,976,0,0,0,0,0,0,0,0,0,0,-1,-1,27417,7556,0.0,-1,-1,-1,-1,0.0,-1,-1,-1,-1,20810646.0,0.0,52.59,39.65,14.91,5.06,-1,1497,1999,250,727,0,0,0,1445,45,10,49,60,354,57,13,128,156,123,16,802,246,3,449,1062,2562,17274.0672,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,15,1,50,26.520,40.710,0.3,1,10,0.6,0,sky130_fd_sc_hd,AREA 0 -./designs/ci/usb,usb,run_config,flow completed,0h1m54s0ms,0h1m22s0ms,0.0327793473,31239.182117576816,41.81,41.0,574.89,929,0,0,0,0,0,0,0,1,1,0,-1,-1,29931,7401,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,20708179.0,0.0,30.4,30.25,0.89,0.63,0.0,830,1083,140,374,0,0,0,927,27,24,33,34,200,47,8,79,214,193,8,1629,372,3,771,1024,3799,26875.776,-1,-1,-1,-1,-1,-1,-1,-1,-1,2.16,15.0,1,40,40.8,41.165,0.3,1,0.45,0,sky130_fd_sc_hd,6,DELAY 0 -./designs/ci/usb_cdc_core,usb_cdc_core,run_config,flow completed,0h2m33s0ms,0h1m40s0ms,0.0754478433,27250.613272334587,31.22,32.0,644.57,1953,0,0,0,0,0,0,0,2,2,0,-1,-1,67456,14023,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,51889425.0,0.0,29.21,29.69,1.5,1.46,0.0,2046,2771,265,943,0,0,0,2150,100,47,109,89,681,130,41,60,325,605,14,4182,912,15,1617,2056,8782,65980.78080000001,-1,-1,-1,-1,-1,-1,-1,-1,-1,0.91,15.6,1,30,153.18,153.6,0.3,1,0.32,0,sky130_fd_sc_hd,6,AREA 0 -./designs/ci/wbqspiflash,wbqspiflash,run_config,flow completed,0h4m42s0ms,0h3m26s0ms,0.0673063305,41749.4161266153,41.39,53.0,724.34,2671,0,0,0,0,0,0,0,0,0,0,-1,-1,141899,25584,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,105133202.0,0.0,54.18,62.0,18.33,28.05,0.0,2873,3297,70,485,0,0,0,3100,55,1,142,148,796,79,6,744,340,288,18,3605,819,1255,2411,2810,10900,58796.3904,-1,-1,-1,-1,-1,-1,-1,-1,-1,3.63,20.0,1,40,153.18,153.6,0.3,1,0.45,1,sky130_fd_sc_hd,4,DELAY 0 -./designs/ci/xtea,xtea,run_config,flow completed,0h4m26s0ms,0h2m31s0ms,0.061274554425,45141.08712753809,46.96,46.0,674.95,2490,0,0,0,0,0,0,0,3,3,0,-1,-1,114238,19667,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,92447830.0,0.0,50.66,54.84,14.0,25.1,0.0,2187,2686,18,405,0,0,0,2452,16,5,54,226,390,436,121,160,373,358,30,3375,731,37,1699,2766,8608,52760.6016,-1,-1,-1,-1,-1,-1,-1,-1,-1,1.04,26.03,1,45,153.18,153.6,0.3,1,0.5,0,sky130_fd_sc_hd,6,AREA 0 -./designs/ci/y_huff,y_huff,run_config,flow completed,0h21m28s0ms,0h10m11s0ms,0.49,27240.81632653061,28.22,31.0,1854.35,12229,0,0,0,0,0,0,0,15,15,0,-1,-1,922399,107296,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,790843468.0,0.0,45.42,49.31,23.72,40.38,0.0,7387,15309,1038,8787,0,0,0,8840,236,0,145,386,1308,575,87,1864,3057,2351,12,29134,6651,516,11768,13348,61417,466388.5536,-1,-1,-1,-1,-1,-1,-1,-1,-1,2.55,11.35,1,40,153.18,153.6,0.3,1,0.45,0,sky130_fd_sc_hd,6,AREA 0 -./designs/ci/zipdiv,zipdiv,run_config,flow completed,0h2m35s0ms,0h1m57s0ms,0.0368352704,37654.128364970544,41.82,40.0,601.88,1254,0,0,0,0,0,0,0,0,0,0,-1,-1,55369,11102,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,43513884.0,0.0,41.69,45.86,11.63,10.95,0.0,936,1137,22,215,0,0,0,1059,46,0,3,43,165,146,14,158,207,142,16,1970,429,8,965,1387,4759,30509.2608,-1,-1,-1,-1,-1,-1,-1,-1,-1,2.4400000000000004,20.0,1,40,153.18,153.6,0.3,1,0.45,0,sky130_fd_sc_hd,6,DELAY 2 +design,design_name,config,flow_status,total_runtime,routed_runtime,DIEAREA_mm^2,CellPer_mm^2,OpenDP_Util,Final_Util,Peak_Memory_Usage_MB,synth_cell_count,tritonRoute_violations,Short_violations,MetSpc_violations,OffGrid_violations,MinHole_violations,Other_violations,Magic_violations,pin_antenna_violations,net_antenna_violations,lvs_total_errors,klayout_violations,wire_length,vias,wns,pl_wns,optimized_wns,fastroute_wns,spef_wns,tns,pl_tns,optimized_tns,fastroute_tns,spef_tns,HPWL,routing_layer1_pct,routing_layer2_pct,routing_layer3_pct,routing_layer4_pct,routing_layer5_pct,routing_layer6_pct,wires_count,wire_bits,public_wires_count,public_wire_bits,memories_count,memory_bits,processes_count,cells_pre_abc,AND,DFF,NAND,NOR,OR,XOR,XNOR,MUX,inputs,outputs,level,DecapCells,WelltapCells,DiodeCells,FillCells,NonPhysCells,TotalCells,CoreArea_um^2,power_slowest_internal_uW,power_slowest_switching_uW,power_slowest_leakage_uW,power_typical_internal_uW,power_typical_switching_uW,power_typical_leakage_uW,power_fastest_internal_uW,power_fastest_switching_uW,power_fastest_leakage_uW,critical_path_ns,CLOCK_PERIOD,FP_ASPECT_RATIO,FP_CORE_UTIL,FP_PDN_HPITCH,FP_PDN_VPITCH,GRT_ADJUSTMENT,GRT_REPAIR_ANTENNAS,PL_TARGET_DENSITY,RUN_HEURISTIC_DIODE_INSERTION,STD_CELL_LIBRARY,MAX_FANOUT_CONSTRAINT,SYNTH_STRATEGY +./designs/ci/APU,APU,run_config,flow completed,0h4m26s0ms,0h3m1s0ms,0.0983350472999999,34484.144698225005,36.06,36.0,792.03,3253,0,0,0,0,0,0,0,3,3,0,-1,140372,25964,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,106197908.0,0.0,42.45,43.9,6.23,12.61,0.0,2847,3426,183,703,0,0,0,3120,89,40,102,150,274,250,56,1024,432,424,23,5671,1221,33,2252,3391,12568,88101.99680000001,-1,-1,-1,-1,-1,-1,-1,-1,-1,4.76,17.0,1,35,153.18,153.6,0.3,1,0.4,0.0,sky130_fd_sc_hd,6,AREA 0 +./designs/ci/PPU,PPU,run_config,flow completed,0h13m54s0ms,0h6m31s0ms,0.733195271625,18162.9649226804,20.49,25.0,2077.11,12649,0,0,0,0,0,0,0,72,65,0,-1,914385,99369,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,640716798.0,0.0,36.57,38.6,7.09,12.5,0.17,5308,8922,576,4178,0,0,0,7674,52,8,53,75,466,113,21,3014,2918,2927,21,43486,10075,708,14399,13317,81985,703299.52,-1,-1,-1,-1,-1,-1,-1,-1,-1,9.05,18.0,1,20,153.18,153.6,0.3,1,0.25,0.0,sky130_fd_sc_hd,8,AREA 0 +./designs/ci/aes,aes,run_config,flow completed,0h31m18s0ms,0h16m12s0ms,1.5614589344249998,13835.778529747611,15.32,19.0,3995.48,20122,0,0,0,0,0,0,0,75,70,0,-1,1906160,185725,-26.68,-45.4,-1,0.0,0.0,-77174.7,-129120.43,-1,0.0,0.0,1421600626.0,0.0,34.34,35.77,9.34,16.27,0.15,21918,39764,1376,19222,0,0,0,24130,219,143,88,346,8958,2179,691,1414,3037,3024,24,98615,21612,1617,28611,21604,172059,1519006.8479999998,-1,-1,-1,-1,-1,-1,-1,-1,-1,2.91,25.0,1,15,153.18,153.6,0.3,1,0.25,0.0,sky130_fd_sc_hd,8,AREA 0 +./designs/ci/aes_core,aes_core,run_config,flow completed,0h38m54s0ms,0h17m41s0ms,0.8670581510250001,24200.22229788714,25.56,36.0,3197.34,19301,0,0,0,0,0,0,0,10,10,0,-1,1995431,218062,-20.25,-33.48,-1,0.0,0.0,-47470.02,-78096.02,-1,0.0,0.0,1553775824.0,0.0,54.68,59.5,32.22,50.36,2.92,21779,38579,1339,18139,0,0,0,23475,303,11,176,343,8963,2035,834,1198,2865,2604,25,50614,11830,22472,31654,20983,137553,835761.5616,-1,-1,-1,-1,-1,-1,-1,-1,-1,2.99,22.0,1,25,153.18,153.6,0.3,1,0.3,1.0,sky130_fd_sc_hd,6,AREA 0 +./designs/ci/aes_user_project_wrapper,aes_user_project_wrapper,run_config,flow completed,0h9m31s0ms,0h0m56s0ms,10.2784,0.097291407222914,-1.0,6.44782,514.45,1,0,0,0,0,0,0,0,0,0,0,-1,13328,214,0.0,-1.0,-1,-1.0,-1.0,0.0,-1.0,-1,-1.0,-1.0,-1.0,0.0,0.02,0.01,0.08,0.0,-1.0,19,637,19,637,0,0,0,1,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,1,1,10173980.1536,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1.0,25.0,1,50,81.6,81.6,0.3,0,10.0,0.6,0,sky130_fd_sc_hd,AREA 0 +./designs/ci/blabla,blabla,run_config,flow completed,0h37m16s0ms,0h9m39s0ms,1.44,9359.027777777776,8.74,14.0,2878.57,11696,0,0,0,0,0,0,0,118,111,0,-1,2328661,115651,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,2126108228.0,0.0,46.54,44.08,12.63,29.41,0.0,10117,21673,226,11782,0,0,0,12090,654,5,575,813,507,2076,906,1434,2004,1100,50,92567,20010,5285,28187,13477,159526,1399932.6464000002,-1,-1,-1,-1,-1,-1,-1,-1,-1,8.7,65.0,1,11,153.18,153.6,0.3,1,0.16,0.0,sky130_fd_sc_hd,10,AREA 0 +./designs/ci/caravel_upw,user_project_wrapper,run_config,flow completed,0h6m23s0ms,0h1m58s0ms,-1.0,-1.0,-1.0,11.0,755.36,2,0,0,0,0,0,0,0,0,0,0,-1,1803198,5162,0.0,-1.0,-1,0.0,0.0,0.0,-1.0,-1,0.0,0.0,-1.0,0.0,3.56,7.04,0.84,2.89,-1.0,19,637,19,637,0,0,0,2,0,0,0,0,0,0,0,0,-1,-1,-1,0,0,0,0,2,2,10173980.1536,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1.0,10.0,1,50,180.0,180.0,0.3,1,0.55,0.0,sky130_fd_sc_hd,10,AREA 0 +./designs/ci/gcd,gcd,run_config,flow completed,0h1m34s0ms,0h1m4s0ms,0.0784251948,4743.373617989407,5.25,7.0,562.96,313,0,0,0,0,0,0,0,0,0,0,-1,19936,2738,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,17027897.0,0.0,7.09,7.52,1.69,3.98,0.0,347,1106,140,899,0,0,0,293,6,3,2,6,41,25,6,32,70,52,11,4823,970,14,1092,372,7271,67039.29599999999,-1,-1,-1,-1,-1,-1,-1,-1,-1,3.48,10.0,1,50,27.2,27.14,0.3,1,0.55,0.0,sky130_fd_sc_hd,10,DELAY 4 +./designs/ci/inverter,inverter,run_config,flow completed,0h0m23s0ms,0h0m12s0ms,0.00197064,1522.3480696626475,-1.0,3.0,479.06,1,0,0,0,0,0,0,0,0,0,0,-1,77,14,0.0,-1.0,-1,0.0,0.0,0.0,-1.0,-1,0.0,0.0,-1.0,0.0,1.0,1.83,0.0,0.0,0.0,2,2,2,2,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,77,7,0,23,3,110,829.5456,-1,-1,-1,-1,-1,-1,-1,-1,-1,0.3500000000000001,10.0,1,50,25.0,25.0,0.3,1,0.75,0.0,sky130_fd_sc_hd,10,AREA 0 +./designs/ci/manual_macro_placement_test,manual_macro_placement_test,run_config,flow completed,0h0m46s0ms,0h0m17s0ms,0.1007267267999999,724.7331698263823,-1.0,37.0,512.96,2,0,0,0,0,0,0,0,0,0,0,-1,20029,500,0.0,-1.0,-1,0.0,0.0,0.0,-1.0,-1,0.0,0.0,-1.0,0.0,6.4,7.26,2.58,7.14,0.1,10,72,10,72,0,0,0,2,0,0,0,0,0,0,0,0,-1,-1,-1,3641,713,4,689,73,5120,90011.32800000001,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1.0,100.0,1,35,153.18,30.0,0.3,1,0.35,0.0,sky130_fd_sc_hd,10,AREA 0 +./designs/ci/picorv32a,picorv32,run_config,flow completed,0h12m9s0ms,0h7m18s0ms,0.3030545513,32970.96168705519,35.9,40.0,1365.14,9470,0,0,0,0,0,0,0,32,24,0,-1,665045,82637,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,520806623.0,0.0,52.74,59.12,25.99,46.05,6.23,6209,8782,179,2304,0,0,0,8024,399,91,208,212,1016,370,100,2711,1630,1656,22,16482,4059,671,7929,9992,39133,284718.06720000005,-1,-1,-1,-1,-1,-1,-1,-1,-1,1.5499999999999998,24.0,1,35,153.18,153.6,0.3,1,0.4,0.0,sky130_fd_sc_hd,6,AREA 0 +./designs/ci/s44,lut_s44,run_config,flow completed,0h1m10s0ms,0h0m50s0ms,0.043010922,3510.736179987028,4.15,7.0,531.9,121,0,0,0,0,0,0,0,0,0,0,-1,8322,1048,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,7096590.0,0.0,5.64,7.12,0.11,0.0,0.0,49,140,20,111,0,0,0,62,0,0,0,0,0,0,0,30,48,33,6,2648,504,8,603,151,3914,36347.35999999999,-1,-1,-1,-1,-1,-1,-1,-1,-1,2.039999999999999,30.0,1,4,153.18,153.6,0.3,1,0.5,0.0,sky130_fd_sc_hd,10,AREA 0 +./designs/ci/salsa20,salsa20,run_config,flow completed,0h30m6s0ms,0h16m6s0ms,1.2177938729000002,20405.752199116683,20.45,25.0,3386.25,22965,0,0,0,0,0,0,0,171,157,0,-1,2147090,196715,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,1822593739.0,0.0,45.76,45.64,21.0,34.13,5.38,12472,21091,252,8871,0,0,0,17446,488,5,592,642,1679,2296,741,1288,3720,3710,51,74068,16842,2694,26166,24850,144620,1179677.6544,-1,-1,-1,-1,-1,-1,-1,-1,-1,4.57,38.0,1,20,153.18,153.6,0.3,1,0.25,0.0,sky130_fd_sc_hd,6,AREA 0 +spm,spm,run_config,flow completed,0h1m10s0ms,0h0m52s0ms,0.0114652544999999,30090.91512098576,47.85,45.0,521.98,301,0,0,0,0,0,0,0,0,0,0,-1,10140,2035,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,8701631.0,0.0,21.21,38.83,1.2,4.41,0.0,354,415,196,257,0,0,0,253,32,64,31,31,1,63,31,0,97,128,4,539,105,0,227,345,1216,8134.051200000001,-1,-1,-1,-1,-1,-1,-1,-1,-1,0.5899999999999999,10.0,1,45,22.44,22.655,0.3,1,0.5,0.0,sky130_fd_sc_hd,10,AREA 0 +./designs/ci/tt05_i2c_bert,tt_um_dlmiles_tt05_i2c_bert,run_config,flow completed,0h2m1s0ms,0h1m38s0ms,0.0187755072,56563.05252834928,58.15,72.5264,563.35,976,0,0,0,0,0,0,0,0,0,0,-1,27417,7556,0.0,-1.0,-1,-1.0,-1.0,0.0,-1.0,-1,-1.0,-1.0,20810646.0,0.0,52.59,39.65,14.91,5.06,-1.0,1497,1999,250,727,0,0,0,1445,45,10,49,60,354,57,13,128,156,123,16,802,246,3,449,1062,2562,17274.0672,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1.0,15.0,1,50,26.52,40.71,0.3,1,10.0,0.6,0,sky130_fd_sc_hd,AREA 0 +./designs/ci/usb,usb,run_config,flow completed,0h1m54s0ms,0h1m22s0ms,0.0327793473,31239.182117576816,41.81,41.0,574.89,929,0,0,0,0,0,0,0,1,1,0,-1,29931,7401,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,20708179.0,0.0,30.4,30.25,0.89,0.63,0.0,830,1083,140,374,0,0,0,927,27,24,33,34,200,47,8,79,214,193,8,1629,372,3,771,1024,3799,26875.776,-1,-1,-1,-1,-1,-1,-1,-1,-1,2.16,15.0,1,40,40.8,41.165,0.3,1,0.45,0.0,sky130_fd_sc_hd,6,DELAY 0 +./designs/ci/usb_cdc_core,usb_cdc_core,run_config,flow completed,0h2m33s0ms,0h1m40s0ms,0.0754478433,27250.613272334587,31.22,32.0,644.57,1953,0,0,0,0,0,0,0,2,2,0,-1,67456,14023,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,51889425.0,0.0,29.21,29.69,1.5,1.46,0.0,2046,2771,265,943,0,0,0,2150,100,47,109,89,681,130,41,60,325,605,14,4182,912,15,1617,2056,8782,65980.78080000001,-1,-1,-1,-1,-1,-1,-1,-1,-1,0.91,15.6,1,30,153.18,153.6,0.3,1,0.32,0.0,sky130_fd_sc_hd,6,AREA 0 +./designs/ci/wbqspiflash,wbqspiflash,run_config,flow completed,0h4m42s0ms,0h3m26s0ms,0.0673063305,41749.4161266153,41.39,53.0,724.34,2671,0,0,0,0,0,0,0,0,0,0,-1,141899,25584,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,105133202.0,0.0,54.18,62.0,18.33,28.05,0.0,2873,3297,70,485,0,0,0,3100,55,1,142,148,796,79,6,744,340,288,18,3605,819,1255,2411,2810,10900,58796.3904,-1,-1,-1,-1,-1,-1,-1,-1,-1,3.63,20.0,1,40,153.18,153.6,0.3,1,0.45,1.0,sky130_fd_sc_hd,4,DELAY 0 +./designs/ci/xtea,xtea,run_config,flow completed,0h4m26s0ms,0h2m31s0ms,0.061274554425,45141.08712753809,46.96,46.0,674.95,2490,0,0,0,0,0,0,0,3,3,0,-1,114238,19667,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,92447830.0,0.0,50.66,54.84,14.0,25.1,0.0,2187,2686,18,405,0,0,0,2452,16,5,54,226,390,436,121,160,373,358,30,3375,731,37,1699,2766,8608,52760.6016,-1,-1,-1,-1,-1,-1,-1,-1,-1,1.04,26.03,1,45,153.18,153.6,0.3,1,0.5,0.0,sky130_fd_sc_hd,6,AREA 0 +./designs/ci/y_huff,y_huff,run_config,flow completed,0h21m28s0ms,0h10m11s0ms,0.49,27240.81632653061,28.22,31.0,1854.35,12229,0,0,0,0,0,0,0,15,15,0,-1,922399,107296,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,790843468.0,0.0,45.42,49.31,23.72,40.38,0.0,7387,15309,1038,8787,0,0,0,8840,236,0,145,386,1308,575,87,1864,3057,2351,12,29134,6651,516,11768,13348,61417,466388.5536,-1,-1,-1,-1,-1,-1,-1,-1,-1,2.55,11.35,1,40,153.18,153.6,0.3,1,0.45,0.0,sky130_fd_sc_hd,6,AREA 0 +./designs/ci/zipdiv,zipdiv,run_config,flow completed,0h2m35s0ms,0h1m57s0ms,0.0368352704,37654.128364970544,41.82,40.0,601.88,1254,0,0,0,0,0,0,0,0,0,0,-1,55369,11102,0.0,0.0,-1,0.0,0.0,0.0,0.0,-1,0.0,0.0,43513884.0,0.0,41.69,45.86,11.63,10.95,0.0,936,1137,22,215,0,0,0,1059,46,0,3,43,165,146,14,158,207,142,16,1970,429,8,965,1387,4759,30509.2608,-1,-1,-1,-1,-1,-1,-1,-1,-1,2.4400000000000004,20.0,1,40,153.18,153.6,0.3,1,0.45,0.0,sky130_fd_sc_hd,6,DELAY 2 diff --git a/scripts/report/report.py b/scripts/report/report.py index 19c2ebda2..d9ce9b7ad 100755 --- a/scripts/report/report.py +++ b/scripts/report/report.py @@ -17,6 +17,7 @@ import json import yaml import fnmatch +import glob from collections import defaultdict from typing import Iterable, Optional, Dict @@ -40,6 +41,7 @@ def __init__( step: str, filename: str, find_by_partial_match: bool = False, + wildcard: bool = False, ): self.run_path = run_path self.kind = kind @@ -48,6 +50,17 @@ def __init__( self.pathname = os.path.join(self.run_path, self.kind, self.step) self.filename = filename + if wildcard: + matches = glob.glob(self.pathname) + if len(matches) > 1: + print( + f"Too many matches for {self.pathname}", + file=sys.stderr, + ) + exit(1) + else: + self.pathname = matches[0] + self.index, self.path = get_name( self.pathname, self.filename, find_by_partial_match ) @@ -149,7 +162,6 @@ def __init__( "pin_antenna_violations", "net_antenna_violations", "lvs_total_errors", - "cvc_total_errors", "klayout_violations", "wire_length", "vias", @@ -239,7 +251,6 @@ def reports_from_logs(self): ("rsz_design", Artifact(rp, "logs", "routing", "rsz_design_sta.log")), ("rsz_timing", Artifact(rp, "logs", "routing", "rsz_timing_sta.log")), ("grt", Artifact(rp, "logs", "routing", "grt_sta.log")), - ("rcx", Artifact(rp, "logs", "signoff", "rcx_sta.log")), ( "sta-rcx_nom/multi_corner", Artifact(rp, "logs", "signoff", "rcx_mcsta.nom.log"), @@ -343,7 +354,13 @@ def re_get_last_capture(rx, string): # Power after parasitics-extraction, multi-corner STA power_multi_corner_sta = defaultdict(lambda: defaultdict(lambda: -1)) - power_report = Artifact(rp, "reports", "signoff", "rcx_sta.power.rpt") + power_report = Artifact( + rp, + "reports", + "signoff/*sta-rcx_nom", + "multi_corner_sta.power.rpt", + wildcard=True, + ) power_report_content = power_report.get_content() if power_report_content is not None: current_corner = None @@ -379,10 +396,16 @@ def re_get_last_capture(rx, string): power_multi_corner_sta["fastest"]["switching"], power_multi_corner_sta["fastest"]["leakage"], ] - # Critical path critical_path_ns = -1 - critical_path_report = Artifact(rp, "reports", "signoff", "rcx_sta.max.rpt") + critical_path_report = Artifact( + rp, + "reports", + "signoff/*sta-rcx_nom", + "multi_corner_sta.max.rpt", + True, + wildcard=True, + ) critical_path_report_content = critical_path_report.get_content() if critical_path_report_content is not None: start = 0 @@ -495,7 +518,7 @@ def re_get_last_capture(rx, string): magic_violations = (magic_violations_raw + 3) // 4 # KLayout DRC Violations - klayout_drc = Artifact(rp, "reports", "signoff", "magic.lydrc", True) + klayout_drc = Artifact(rp, "reports", "signoff", "drc.klayout.xml", True) klayout_drc_content = klayout_drc.get_content() klayout_violations = -1 @@ -533,10 +556,14 @@ def re_get_last_capture(rx, string): # STA Report Extractions def sta_report_extraction( - sta_report_filename: str, filter: str, kind="reports", step="synthesis" + sta_report_filename: str, + filter: str, + kind="reports", + step="synthesis", + wildcard=False, ): value = -1 - report = Artifact(rp, kind, step, sta_report_filename) + report = Artifact(rp, kind, step, sta_report_filename, wildcard=wildcard) report_content = report.get_content() if report_content is not None: match = re.search(rf"{filter}\s+(-?[\d\.]+)", report_content) @@ -551,20 +578,34 @@ def sta_report_extraction( return value wns = sta_report_extraction("syn_sta.summary.rpt", "wns", step="synthesis") - spef_wns = sta_report_extraction("rcx_sta.summary.rpt", "wns", step="signoff") - opt_wns = sta_report_extraction("rt_rsz_sta.summary.rpt", "wns", step="routing") + spef_wns = sta_report_extraction( + "multi_corner_sta.summary.rpt", + "wns", + step="signoff/*sta-rcx_nom", + wildcard=True, + ) + opt_wns = sta_report_extraction("grt_sta.summary.rpt", "wns", step="routing") pl_wns = sta_report_extraction( - "global.log", "wns", kind="logs", step="placement" + "gpl_sta.log", "wns", kind="logs", step="placement" + ) + fr_wns = sta_report_extraction( + "grt_sta.log", "wns", kind="logs", step="routing" ) - fr_wns = sta_report_extraction("global.log", "wns", kind="logs", step="routing") tns = sta_report_extraction("syn_sta.summary.rpt", "tns", step="synthesis") - spef_tns = sta_report_extraction("rcx_sta.summary.rpt", "tns", step="signoff") - opt_tns = sta_report_extraction("rt_rsz_sta.summary.rpt", "tns", step="routing") + spef_tns = sta_report_extraction( + "multi_corner_sta.summary.rpt", + "tns", + step="signoff/*-sta-rcx_nom", + wildcard=True, + ) + opt_tns = sta_report_extraction("grt_sta.summary.rpt", "tns", step="routing") pl_tns = sta_report_extraction( - "global.log", "tns", kind="logs", step="placement" + "gpl_sta.log", "tns", kind="logs", step="placement" + ) + fr_tns = sta_report_extraction( + "grt_sta.log", "tns", kind="logs", step="routing" ) - fr_tns = sta_report_extraction("global.log", "tns", kind="logs", step="routing") # Yosys Metrics yosys_metrics = [ @@ -708,16 +749,6 @@ def count_cells(cell_wildcards, def_content): if match is not None: lvs_total_errors = int(match[1]) - # CVC Total Errors - cvc_log = Artifact(rp, "logs", "signoff", "erc_screen.log") - cvc_log_content = cvc_log.get_content() - - cvc_total_errors = -1 - if cvc_log_content is not None: - match = re.search(r"CVC:\s*Total:\s*(\d+)", cvc_log_content) - if match is not None: - cvc_total_errors = int(match[1]) - return [ flow_status, total_runtime, @@ -738,7 +769,6 @@ def count_cells(cell_wildcards, def_content): pin_antenna_violations, net_antenna_violations, lvs_total_errors, - cvc_total_errors, klayout_violations, wire_length, vias,