Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DRT: allow pin as feedthrough #5943

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/drt/src/global.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ std::string BOTTOM_ROUTING_LAYER_NAME;
std::string TOP_ROUTING_LAYER_NAME;
int BOTTOM_ROUTING_LAYER = 2;
int TOP_ROUTING_LAYER = std::numeric_limits<frLayerNum>::max();
bool ALLOW_PIN_AS_FEEDTHROUGH = false;
bool ALLOW_PIN_AS_FEEDTHROUGH = true;
bool USENONPREFTRACKS = true;
bool USEMINSPACING_OBS = true;
bool ENABLE_BOUNDARY_MAR_FIX = true;
Expand Down
24 changes: 12 additions & 12 deletions src/drt/test/ndr_vias1.defok
Original file line number Diff line number Diff line change
Expand Up @@ -228,11 +228,9 @@ NETS 8 ;
NEW met1 TAPER ( 130870 172890 ) ( 132710 * )
NEW met1 ( 132710 172890 210 ) ( 152030 * 210 )
NEW met1 ( 152030 169830 210 ) ( 167900 * 210 )
NEW met2 ( 152950 158700 210 ) ( * 169830 210 )
NEW met1 ( 152950 118150 210 ) ( * 118490 210 )
NEW met2 ( 152030 118150 210 ) ( * 150450 210 )
NEW met2 ( 152030 158700 210 ) ( 152950 * 210 )
NEW met2 ( 152030 150450 210 ) ( * 158700 210 )
NEW met2 ( 152950 151470 210 ) ( * 169830 210 )
NEW met1 ( 152950 118490 210 ) ( 167900 * 210 )
NEW met2 ( 119370 118150 210 ) ( * 118490 210 )
NEW met2 ( 118450 118490 210 ) ( 119370 * 210 )
Expand All @@ -248,6 +246,8 @@ NETS 8 ;
NEW li1 TAPER ( 152030 150450 ) L1M1_PR_R
NEW met1 TAPER ( 152030 150450 ) M1M2_PR_R
NEW met1 ( 152030 118150 ) M1M2_PR_R
NEW li1 TAPER ( 152950 151470 ) L1M1_PR_R
NEW met1 TAPER ( 152950 151470 ) M1M2_PR_R
NEW met1 ( 119370 118150 ) M1M2_PR_R
NEW met1 ( 118450 118490 ) M1M2_PR_R
NEW li1 TAPER ( 116610 118490 ) L1M1_PR_R ;
Expand All @@ -266,9 +266,9 @@ NETS 8 ;
NEW met2 ( 117530 115430 210 ) ( * 117810 210 )
NEW met1 ( 117530 115430 210 ) ( 125350 * 210 )
NEW met2 ( 111090 118150 210 ) ( * 120870 210 )
NEW met1 ( 111090 118150 210 ) ( 112010 * 210 )
NEW met1 ( 112010 117810 210 ) ( * 118150 210 )
NEW met1 ( 112010 117810 210 ) ( 115460 * 210 )
NEW met1 ( 111090 118150 210 ) ( 112470 * 210 )
NEW met1 ( 112470 117810 210 ) ( * 118150 210 )
NEW met1 ( 112470 117810 210 ) ( 115460 * 210 )
NEW met1 TAPER ( 115460 117810 ) ( 117530 * )
NEW met2 ( 111090 120870 210 ) ( * 134810 210 )
NEW met1 ( 96600 118150 210 ) ( * 118490 210 )
Expand Down Expand Up @@ -428,10 +428,9 @@ NETS 8 ;
NEW met1 TAPER ( 171580 175610 ) ( 173190 * )
NEW met1 TAPER ( 169970 170510 ) ( 170890 * )
NEW met2 ( 169970 170510 210 ) ( * 175610 210 )
NEW met2 ( 175030 164390 210 ) ( * 170510 210 )
NEW met1 TAPER ( 170890 170510 ) ( 173135 * )
NEW met1 ( 173135 170510 210 ) ( 175030 * 210 )
NEW met1 ( 175030 164390 210 ) ( 192050 * 210 )
NEW met2 ( 172730 164390 210 ) ( * 169490 210 )
NEW met1 TAPER ( 171350 169490 ) ( 172730 * )
NEW met1 ( 172730 164390 210 ) ( 192050 * 210 )
NEW met2 ( 192050 153850 210 ) ( * 164390 210 )
NEW met1 ( 153870 175610 210 ) ( * 176460 210 )
NEW met1 TAPER ( 153870 176460 ) ( * 177990 )
Expand All @@ -455,8 +454,9 @@ NETS 8 ;
NEW li1 TAPER ( 173190 175610 ) L1M1_PR_R
NEW li1 TAPER ( 170890 170510 ) L1M1_PR_R
NEW met1 TAPER ( 169970 170510 ) M1M2_PR_R
NEW met1 ( 175030 164390 ) M1M2_PR_R
NEW met1 ( 175030 170510 ) M1M2_PR_R
NEW met1 ( 172730 164390 ) M1M2_PR_R
NEW met1 TAPER ( 172730 169490 ) M1M2_PR_R
NEW li1 TAPER ( 171350 169490 ) L1M1_PR_R
NEW li1 TAPER ( 192050 153850 ) L1M1_PR_R
NEW met1 TAPER ( 192050 153850 ) M1M2_PR_R
NEW li1 TAPER ( 154790 177990 ) L1M1_PR_R
Expand Down
45 changes: 24 additions & 21 deletions src/drt/test/ndr_vias2.defok
Original file line number Diff line number Diff line change
Expand Up @@ -352,25 +352,27 @@ NETS 8 ;
NEW met2 ( 199410 131100 210 ) ( 200330 * 210 )
NEW met2 ( 199410 131100 210 ) ( * 137190 210 )
NEW met2 ( 171350 118830 210 ) ( * 124100 210 )
NEW met3 ( 171350 124100 450 ) ( 178940 * 450 )
NEW met3 ( 171350 124100 450 ) ( 177100 * 450 )
NEW met2 ( 156170 124780 210 ) ( * 129370 210 )
NEW met3 ( 156170 124780 450 ) ( 158700 * 450 )
NEW met3 ( 158700 124100 450 ) ( * 124780 450 )
NEW met3 ( 158700 124100 450 ) ( 171350 * 450 )
NEW met3 ( 156170 129540 450 ) ( 157780 * 450 )
NEW met2 ( 156170 129370 210 ) ( * 129540 210 )
NEW met2 ( 178710 91290 210 ) ( * 91460 210 )
NEW met3 ( 178710 91460 450 ) ( 178940 * 450 )
NEW met4 ( 178940 91460 450 ) ( * 124100 450 )
NEW met2 ( 164450 88230 210 ) ( * 91290 210 )
NEW met1 ( 164450 91290 210 ) ( 177100 * 210 )
NEW met1 TAPER ( 177100 91290 ) ( 178710 * )
NEW met2 ( 158010 96900 210 ) ( * 102170 210 )
NEW met2 ( 158010 96900 210 ) ( 158930 * 210 )
NEW met2 ( 158930 88230 210 ) ( * 96900 210 )
NEW met1 ( 158930 88230 210 ) ( 162610 * 210 )
NEW met1 TAPER ( 162610 88230 ) ( 164450 * )
NEW met5 ( 178940 124100 2400 ) ( 200100 * 2400 )
NEW met3 ( 177100 91460 450 ) ( 178710 * 450 )
NEW met4 ( 177100 91460 450 ) ( * 124100 450 )
NEW met2 ( 164450 88230 210 ) ( * 89420 210 )
NEW met3 ( 164450 89420 450 ) ( 172500 * 450 )
NEW met3 ( 172500 89420 450 ) ( * 90100 450 )
NEW met3 ( 172500 90100 450 ) ( 177100 * 450 )
NEW met3 ( 177100 90100 450 ) ( * 91460 450 )
NEW met1 TAPER ( 157090 101830 ) ( 158010 * )
NEW met2 ( 157090 101660 210 ) ( * 101830 210 )
NEW met3 ( 157090 101660 450 ) ( 158700 * 450 )
NEW met4 ( 158700 89420 450 ) ( * 101660 450 )
NEW met3 ( 158700 89420 450 ) ( 164450 * 450 )
NEW met5 ( 177100 124100 2400 ) ( 200100 * 2400 )
NEW met3 ( 152950 147220 450 ) ( 157780 * 450 )
NEW met2 ( 152950 147220 210 ) ( * 148070 210 )
NEW met4 ( 157780 129540 450 ) ( * 147220 450 )
Expand All @@ -390,8 +392,8 @@ NETS 8 ;
NEW li1 TAPER ( 171350 118830 ) L1M1_PR_R
NEW met1 TAPER ( 171350 118830 ) M1M2_PR_R
NEW met2 ( 171350 124100 ) M2M3_PR_R
NEW met3 ( 178940 124100 ) M3M4_PR_R
NEW met4 ( 178940 124100 ) M4M5_PR_R
NEW met3 ( 177100 124100 ) M3M4_PR_R
NEW met4 ( 177100 124100 ) M4M5_PR_R
NEW li1 TAPER ( 156170 129370 ) L1M1_PR_R
NEW met1 TAPER ( 156170 129370 ) M1M2_PR_R
NEW met2 ( 156170 124780 ) M2M3_PR_R
Expand All @@ -400,19 +402,20 @@ NETS 8 ;
NEW li1 TAPER ( 178710 91290 ) L1M1_PR_R
NEW met1 TAPER ( 178710 91290 ) M1M2_PR_R
NEW met2 ( 178710 91460 ) M2M3_PR_R
NEW met3 ( 178940 91460 ) M3M4_PR_R
NEW met3 ( 177100 91460 ) M3M4_PR_R
NEW li1 TAPER ( 164450 88230 ) L1M1_PR_R
NEW met1 TAPER ( 164450 88230 ) M1M2_PR_R
NEW met1 ( 164450 91290 ) M1M2_PR_R
NEW li1 TAPER ( 158010 102170 ) L1M1_PR_R
NEW met1 TAPER ( 158010 102170 ) M1M2_PR_R
NEW met1 ( 158930 88230 ) M1M2_PR_R
NEW met2 ( 164450 89420 ) M2M3_PR_R
NEW li1 TAPER ( 158010 101830 ) L1M1_PR_R
NEW met1 TAPER ( 157090 101830 ) M1M2_PR_R
NEW met2 ( 157090 101660 ) M2M3_PR_R
NEW met3 ( 158700 101660 ) M3M4_PR_R
NEW met3 ( 158700 89420 ) M3M4_PR_R
NEW met3 ( 157780 147220 ) M3M4_PR_R
NEW met2 ( 152950 147220 ) M2M3_PR_R
NEW li1 TAPER ( 152950 148070 ) L1M1_PR_R
NEW met1 TAPER ( 152950 148070 ) M1M2_PR_R
NEW met3 TAPER ( 200330 126140 ) RECT ( 0 -150 390 150 )
NEW met3 TAPER ( 178710 91460 ) RECT ( -390 -150 0 150 ) ;
NEW met3 TAPER ( 200330 126140 ) RECT ( 0 -150 390 150 ) ;
- clknet_2_2__leaf_clk ( _411_ CLK ) ( _413_ CLK ) ( _415_ CLK ) ( _416_ CLK ) ( _417_ CLK ) ( _421_ CLK ) ( _430_ CLK )
( _431_ CLK ) ( _433_ CLK ) ( _437_ CLK ) ( clkbuf_2_2__f_clk X ) + USE CLOCK + NONDEFAULTRULE NDR_3W_3S
+ ROUTED met2 ( 125810 183770 210 ) ( * 183940 210 )
Expand Down
136 changes: 87 additions & 49 deletions test/aes_sky130hs.metrics
Original file line number Diff line number Diff line change
Expand Up @@ -29,73 +29,111 @@
"DPL::design_area": "361737",
"route__net": 18788,
"route__net__special": 2,
"grt__antenna_diodes_count": 1270,
"grt__antenna_diodes_count": 1249,
"grt__antenna__violating__nets": 0,
"grt__antenna__violating__pins": 0,
"GRT::ANT::errors": "0",
"route__net": 18788,
"route__net__special": 2,
"route__drc_errors__iter:1": 6522,
"route__wirelength__iter:1": 1831609,
"route__drc_errors__iter:2": 1287,
"route__wirelength__iter:2": 1826279,
"route__drc_errors__iter:3": 1015,
"route__wirelength__iter:3": 1824833,
"route__drc_errors__iter:4": 18,
"route__wirelength__iter:4": 1824955,
"route__drc_errors__iter:1": 5730,
"route__wirelength__iter:1": 1834250,
"route__drc_errors__iter:2": 1340,
"route__wirelength__iter:2": 1824672,
"route__drc_errors__iter:3": 947,
"route__wirelength__iter:3": 1822238,
"route__drc_errors__iter:4": 26,
"route__wirelength__iter:4": 1822258,
"route__drc_errors__iter:5": 0,
"route__wirelength__iter:5": 1824940,
"route__wirelength__iter:5": 1822243,
"route__drc_errors": 0,
"route__wirelength": 1824940,
"route__vias": 160442,
"route__vias__singlecut": 160442,
"route__wirelength": 1822243,
"route__vias": 161849,
"route__vias__singlecut": 161849,
"route__vias__multicut": 0,
"DRT::drv": "0",
"drt__repair_antennas__pre_repair__antenna__violating__nets": 31,
"drt__repair_antennas__pre_repair__antenna__violating__pins": 32,
"drt__repair_antennas__iter_0__antenna_diodes_count": 1302,
"drt__repair_antennas__iter_0__route__drc_errors__iter:1": 234,
"drt__repair_antennas__iter_0__route__wirelength__iter:1": 1825214,
"drt__repair_antennas__iter_0__route__drc_errors__iter:2": 22,
"drt__repair_antennas__iter_0__route__wirelength__iter:2": 1825187,
"drt__repair_antennas__iter_0__route__drc_errors__iter:3": 25,
"drt__repair_antennas__iter_0__route__wirelength__iter:3": 1825178,
"drt__repair_antennas__iter_0__route__drc_errors__iter:4": 0,
"drt__repair_antennas__iter_0__route__wirelength__iter:4": 1825163,
"drt__repair_antennas__pre_repair__antenna__violating__nets": 36,
"drt__repair_antennas__pre_repair__antenna__violating__pins": 37,
"drt__repair_antennas__iter_0__antenna_diodes_count": 1300,
"drt__repair_antennas__iter_0__route__drc_errors__iter:1": 233,
"drt__repair_antennas__iter_0__route__wirelength__iter:1": 1822600,
"drt__repair_antennas__iter_0__route__drc_errors__iter:2": 20,
"drt__repair_antennas__iter_0__route__wirelength__iter:2": 1822508,
"drt__repair_antennas__iter_0__route__drc_errors__iter:3": 19,
"drt__repair_antennas__iter_0__route__wirelength__iter:3": 1822510,
"drt__repair_antennas__iter_0__route__drc_errors__iter:4": 2,
"drt__repair_antennas__iter_0__route__wirelength__iter:4": 1822507,
"drt__repair_antennas__iter_0__route__drc_errors__iter:5": 0,
"drt__repair_antennas__iter_0__route__wirelength__iter:5": 1822507,
"drt__repair_antennas__iter_0__route__drc_errors": 0,
"drt__repair_antennas__iter_0__route__wirelength": 1825163,
"drt__repair_antennas__iter_0__route__vias": 160547,
"drt__repair_antennas__iter_0__route__vias__singlecut": 160547,
"drt__repair_antennas__iter_0__route__wirelength": 1822507,
"drt__repair_antennas__iter_0__route__vias": 162004,
"drt__repair_antennas__iter_0__route__vias__singlecut": 162004,
"drt__repair_antennas__iter_0__route__vias__multicut": 0,
"drt__repair_antennas__iter_0__antenna__violating__nets": 1,
"drt__repair_antennas__iter_0__antenna__violating__pins": 1,
"drt__repair_antennas__iter_1__antenna_diodes_count": 1303,
"drt__repair_antennas__iter_1__route__drc_errors__iter:1": 13,
"drt__repair_antennas__iter_1__route__wirelength__iter:1": 1825173,
"drt__repair_antennas__iter_1__route__drc_errors__iter:2": 10,
"drt__repair_antennas__iter_1__route__wirelength__iter:2": 1825165,
"drt__repair_antennas__iter_0__antenna__violating__nets": 5,
"drt__repair_antennas__iter_0__antenna__violating__pins": 5,
"drt__repair_antennas__iter_1__antenna_diodes_count": 1309,
"drt__repair_antennas__iter_1__route__drc_errors__iter:1": 28,
"drt__repair_antennas__iter_1__route__wirelength__iter:1": 1822560,
"drt__repair_antennas__iter_1__route__drc_errors__iter:2": 1,
"drt__repair_antennas__iter_1__route__wirelength__iter:2": 1822534,
"drt__repair_antennas__iter_1__route__drc_errors__iter:3": 0,
"drt__repair_antennas__iter_1__route__wirelength__iter:3": 1825169,
"drt__repair_antennas__iter_1__route__wirelength__iter:3": 1822534,
"drt__repair_antennas__iter_1__route__drc_errors": 0,
"drt__repair_antennas__iter_1__route__wirelength": 1825169,
"drt__repair_antennas__iter_1__route__vias": 160544,
"drt__repair_antennas__iter_1__route__vias__singlecut": 160544,
"drt__repair_antennas__iter_1__route__wirelength": 1822534,
"drt__repair_antennas__iter_1__route__vias": 162027,
"drt__repair_antennas__iter_1__route__vias__singlecut": 162027,
"drt__repair_antennas__iter_1__route__vias__multicut": 0,
"drt__repair_antennas__iter_1__antenna__violating__nets": 0,
"drt__repair_antennas__iter_1__antenna__violating__pins": 0,
"drt__antenna__violating__nets": 0,
"drt__antenna__violating__pins": 0,
"DRT::ANT::errors": "0",
"drt__repair_antennas__iter_1__antenna__violating__nets": 2,
"drt__repair_antennas__iter_1__antenna__violating__pins": 2,
"drt__repair_antennas__iter_2__antenna_diodes_count": 1315,
"drt__repair_antennas__iter_2__route__drc_errors__iter:1": 2,
"drt__repair_antennas__iter_2__route__wirelength__iter:1": 1822543,
"drt__repair_antennas__iter_2__route__drc_errors__iter:2": 0,
"drt__repair_antennas__iter_2__route__wirelength__iter:2": 1822544,
"drt__repair_antennas__iter_2__route__drc_errors": 0,
"drt__repair_antennas__iter_2__route__wirelength": 1822544,
"drt__repair_antennas__iter_2__route__vias": 162036,
"drt__repair_antennas__iter_2__route__vias__singlecut": 162036,
"drt__repair_antennas__iter_2__route__vias__multicut": 0,
"drt__repair_antennas__iter_2__antenna__violating__nets": 2,
"drt__repair_antennas__iter_2__antenna__violating__pins": 2,
"drt__repair_antennas__iter_3__antenna_diodes_count": 1321,
"drt__repair_antennas__iter_3__route__drc_errors__iter:1": 2,
"drt__repair_antennas__iter_3__route__wirelength__iter:1": 1822568,
"drt__repair_antennas__iter_3__route__drc_errors__iter:2": 0,
"drt__repair_antennas__iter_3__route__wirelength__iter:2": 1822567,
"drt__repair_antennas__iter_3__route__drc_errors": 0,
"drt__repair_antennas__iter_3__route__wirelength": 1822567,
"drt__repair_antennas__iter_3__route__vias": 162042,
"drt__repair_antennas__iter_3__route__vias__singlecut": 162042,
"drt__repair_antennas__iter_3__route__vias__multicut": 0,
"drt__repair_antennas__iter_3__antenna__violating__nets": 2,
"drt__repair_antennas__iter_3__antenna__violating__pins": 2,
"drt__repair_antennas__iter_4__antenna_diodes_count": 1327,
"drt__repair_antennas__iter_4__route__drc_errors__iter:1": 2,
"drt__repair_antennas__iter_4__route__wirelength__iter:1": 1822589,
"drt__repair_antennas__iter_4__route__drc_errors__iter:2": 0,
"drt__repair_antennas__iter_4__route__wirelength__iter:2": 1822588,
"drt__repair_antennas__iter_4__route__drc_errors": 0,
"drt__repair_antennas__iter_4__route__wirelength": 1822588,
"drt__repair_antennas__iter_4__route__vias": 162050,
"drt__repair_antennas__iter_4__route__vias__singlecut": 162050,
"drt__repair_antennas__iter_4__route__vias__multicut": 0,
"drt__repair_antennas__iter_4__antenna__violating__nets": 2,
"drt__repair_antennas__iter_4__antenna__violating__pins": 2,
"drt__antenna__violating__nets": 2,
"drt__antenna__violating__pins": 2,
"DRT::ANT::errors": "2",
"design__violations": 0,
"timing__drv__floating__nets": 0,
"timing__drv__floating__pins": 0,
"DRT::worst_slack_min": "-0.11151613281776054",
"DRT::worst_slack_max": "-0.9078000830224802",
"DRT::tns_max": "-79.01700850619599",
"DRT::clock_skew": "0.4889109255829698",
"DRT::max_slew_slack": "-13.148938119411469",
"DRT::worst_slack_min": "-0.11115975121677671",
"DRT::worst_slack_max": "-0.896833299675071",
"DRT::tns_max": "-76.52086469944763",
"DRT::clock_skew": "0.47325378289077435",
"DRT::max_slew_slack": "-13.720625638961792",
"DRT::max_fanout_slack": "100.0",
"DRT::max_capacitance_slack": "-14.814085186091063",
"DRT::max_capacitance_slack": "-15.391378989475374",
"DRT::clock_period": "2.811000",
"flow__warnings__count": 32,
"flow__errors__count": 0
Expand Down
14 changes: 7 additions & 7 deletions test/aes_sky130hs.metrics_limits
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@
,"RSZ::hold_buffer_count" : "762"
,"GRT::ANT::errors" : "0"
,"DRT::drv" : "0"
,"DRT::worst_slack_min" : "-0.39261613281776053"
,"DRT::worst_slack_max" : "-1.1889000830224803"
,"DRT::tns_max" : "-537.8846485061961"
,"DRT::clock_skew" : "0.5866931106995638"
,"DRT::max_slew_slack" : "-15.778725743293762"
,"DRT::max_capacitance_slack" : "-17.776902223309275"
,"DRT::worst_slack_min" : "-0.3922597512167767"
,"DRT::worst_slack_max" : "-1.1779332996750709"
,"DRT::tns_max" : "-535.3885046994477"
,"DRT::clock_skew" : "0.5679045394689292"
,"DRT::max_slew_slack" : "-16.46475076675415"
,"DRT::max_capacitance_slack" : "-18.469654787370448"
,"DRT::max_fanout_slack" : "0"
,"DRT::clock_period" : "2.811"
,"DRT::ANT::errors" : "0"
,"DRT::ANT::errors" : "2"
}
Loading
Loading