| OpenROAD 0.9.0 e582f2522b |
| This program is licensed under the BSD-3 license. See the LICENSE file for details. |
| Components of this program may be licensed under more restrictive licenses which must be honored. |
| Notice 0: Reading LEF file: /project/openlane/DFFRAM/runs/DFFRAM/tmp/merged_unpadded.lef |
| Notice 0: Created 13 technology layers |
| Notice 0: Created 25 technology vias |
| Notice 0: Created 437 library cells |
| Notice 0: Finished LEF file: /project/openlane/DFFRAM/runs/DFFRAM/tmp/merged_unpadded.lef |
| Notice 0: |
| Reading DEF file: /project/openlane/DFFRAM/runs/DFFRAM/results/floorplan/DFFRAM.floorplan.def |
| Notice 0: Design: DFFRAM |
| Notice 0: Created 78 pins. |
| Notice 0: Created 25483 components and 152438 component-terminals. |
| Notice 0: Created 12107 nets and 60226 connections. |
| Notice 0: Finished DEF file: /project/openlane/DFFRAM/runs/DFFRAM/results/floorplan/DFFRAM.floorplan.def |
| [INFO] DBU = 1000 |
| [INFO] SiteSize = (460, 2720) |
| [INFO] CoreAreaLxLy = (5520, 10880) |
| [INFO] CoreAreaUxUy = (744280, 514080) |
| [INFO] NumInstances = 25483 |
| [INFO] NumPlaceInstances = 20253 |
| [INFO] NumFixedInstances = 5230 |
| [INFO] NumDummyInstances = 0 |
| [INFO] NumNets = 12107 |
| [INFO] NumPins = 60304 |
| [INFO] DieAreaLxLy = (0, 0) |
| [INFO] DieAreaUxUy = (750000, 525000) |
| [INFO] CoreAreaLxLy = (5520, 10880) |
| [INFO] CoreAreaUxUy = (744280, 514080) |
| [INFO] CoreArea = 371744032000 |
| [INFO] NonPlaceInstsArea = 7469664000 |
| [INFO] PlaceInstsArea = 297879440000 |
| [INFO] Util(%) = 81.773376 |
| [INFO] StdInstsArea = 297879440000 |
| [INFO] MacroInstsArea = 0 |
| [InitialPlace] Iter: 1 CG Error: 0.000782193 HPWL: 161539460 |
| [InitialPlace] Iter: 2 CG Error: 0.000292604 HPWL: 184519184 |
| [InitialPlace] Iter: 3 CG Error: 0.00830558 HPWL: 189575504 |
| [InitialPlace] Iter: 4 CG Error: 0.000279404 HPWL: 190575343 |
| [InitialPlace] Iter: 5 CG Error: 0.000554454 HPWL: 190481721 |
| [InitialPlace] Iter: 6 CG Error: 0.000648327 HPWL: 190590126 |
| [InitialPlace] Iter: 7 CG Error: 0.000876402 HPWL: 190510573 |
| [InitialPlace] Iter: 8 CG Error: 0.000782739 HPWL: 190493769 |
| [InitialPlace] Iter: 9 CG Error: 0.000736335 HPWL: 190470581 |
| [InitialPlace] Iter: 10 CG Error: 0.000765854 HPWL: 190511214 |
| [InitialPlace] Iter: 11 CG Error: 0.000785567 HPWL: 190427823 |
| [InitialPlace] Iter: 12 CG Error: 0.000768679 HPWL: 190487396 |
| [InitialPlace] Iter: 13 CG Error: 0.00075462 HPWL: 190431645 |
| [InitialPlace] Iter: 14 CG Error: 0.00225991 HPWL: 190457224 |
| [InitialPlace] Iter: 15 CG Error: 0.000668078 HPWL: 190416655 |
| [InitialPlace] Iter: 16 CG Error: 0.000683667 HPWL: 190456913 |
| [InitialPlace] Iter: 17 CG Error: 0.000903017 HPWL: 190487574 |
| [InitialPlace] Iter: 18 CG Error: 0.000353987 HPWL: 190397710 |
| [InitialPlace] Iter: 19 CG Error: 0.000496881 HPWL: 190505818 |
| [InitialPlace] Iter: 20 CG Error: 0.000613822 HPWL: 190422672 |
| [INFO] FillerInit: NumGCells = 21038 |
| [INFO] FillerInit: NumGNets = 12107 |
| [INFO] FillerInit: NumGPins = 60304 |
| [INFO] TargetDensity = 0.850000 |
| [INFO] AveragePlaceInstArea = 14707916 |
| [INFO] IdealBinArea = 17303430 |
| [INFO] IdealBinCnt = 21483 |
| [INFO] TotalBinArea = 371744032000 |
| [INFO] BinCnt = (128, 128) |
| [INFO] BinSize = (5772, 3932) |
| [INFO] NumBins = 16384 |
| [NesterovSolve] Iter: 1 overflow: 0.995866 HPWL: 42827988 |
| [NesterovSolve] Iter: 10 overflow: 0.978737 HPWL: 96473279 |
| [NesterovSolve] Iter: 20 overflow: 0.978214 HPWL: 104279722 |
| [NesterovSolve] Iter: 30 overflow: 0.977668 HPWL: 102777538 |
| [NesterovSolve] Iter: 40 overflow: 0.978312 HPWL: 103132192 |
| [NesterovSolve] Iter: 50 overflow: 0.977999 HPWL: 104033745 |
| [NesterovSolve] Iter: 60 overflow: 0.977672 HPWL: 103523545 |
| [NesterovSolve] Iter: 70 overflow: 0.977519 HPWL: 103410248 |
| [NesterovSolve] Iter: 80 overflow: 0.978128 HPWL: 103280811 |
| [NesterovSolve] Iter: 90 overflow: 0.977773 HPWL: 103190637 |
| [NesterovSolve] Iter: 100 overflow: 0.978305 HPWL: 103452094 |
| [NesterovSolve] Iter: 110 overflow: 0.97817 HPWL: 103793866 |
| [NesterovSolve] Iter: 120 overflow: 0.977872 HPWL: 104140525 |
| [NesterovSolve] Iter: 130 overflow: 0.977266 HPWL: 104673148 |
| [NesterovSolve] Iter: 140 overflow: 0.976862 HPWL: 105540075 |
| [NesterovSolve] Iter: 150 overflow: 0.975624 HPWL: 107081399 |
| [NesterovSolve] Iter: 160 overflow: 0.974281 HPWL: 108935425 |
| [NesterovSolve] Iter: 170 overflow: 0.971553 HPWL: 110440731 |
| [NesterovSolve] Iter: 180 overflow: 0.969098 HPWL: 111609239 |
| [NesterovSolve] Iter: 190 overflow: 0.965733 HPWL: 113943853 |
| [NesterovSolve] Iter: 200 overflow: 0.962174 HPWL: 119317675 |
| [NesterovSolve] Iter: 210 overflow: 0.95908 HPWL: 126836769 |
| [NesterovSolve] Iter: 220 overflow: 0.956237 HPWL: 134336830 |
| [NesterovSolve] Iter: 230 overflow: 0.948385 HPWL: 143246962 |
| [NesterovSolve] Iter: 240 overflow: 0.934061 HPWL: 154978968 |
| [NesterovSolve] Iter: 250 overflow: 0.922661 HPWL: 169357263 |
| [NesterovSolve] Iter: 260 overflow: 0.902616 HPWL: 187469141 |
| [NesterovSolve] Iter: 270 overflow: 0.872321 HPWL: 204433836 |
| [NesterovSolve] Iter: 280 overflow: 0.845107 HPWL: 219847206 |
| [NesterovSolve] Iter: 290 overflow: 0.806782 HPWL: 237743802 |
| [NesterovSolve] Iter: 300 overflow: 0.76559 HPWL: 251338149 |
| [NesterovSolve] Iter: 310 overflow: 0.725689 HPWL: 262018587 |
| [NesterovSolve] Iter: 320 overflow: 0.675295 HPWL: 269590677 |
| [NesterovSolve] Iter: 330 overflow: 0.623753 HPWL: 282310218 |
| [NesterovSolve] Iter: 340 overflow: 0.58304 HPWL: 283226420 |
| [NesterovSolve] Iter: 350 overflow: 0.556383 HPWL: 279040922 |
| [NesterovSolve] Iter: 360 overflow: 0.537046 HPWL: 270314018 |
| [NesterovSolve] Iter: 370 overflow: 0.5213 HPWL: 265588368 |
| [NesterovSolve] Iter: 380 overflow: 0.507584 HPWL: 262907364 |
| [NesterovSolve] Iter: 390 overflow: 0.473165 HPWL: 263169278 |
| [NesterovSolve] Iter: 400 overflow: 0.41869 HPWL: 260620515 |
| [NesterovSolve] Iter: 410 overflow: 0.374489 HPWL: 260756951 |
| [NesterovSolve] Iter: 420 overflow: 0.329814 HPWL: 254420025 |
| [NesterovSolve] Iter: 430 overflow: 0.298105 HPWL: 257491933 |
| [NesterovSolve] Iter: 440 overflow: 0.264939 HPWL: 261678901 |
| [NesterovSolve] Iter: 450 overflow: 0.231049 HPWL: 265523111 |
| [NesterovSolve] Iter: 460 overflow: 0.194414 HPWL: 268790260 |
| [NesterovSolve] Iter: 470 overflow: 0.158455 HPWL: 271364834 |
| [NesterovSolve] Iter: 480 overflow: 0.127219 HPWL: 273730180 |
| [NesterovSolve] Iter: 490 overflow: 0.104721 HPWL: 275814278 |
| [NesterovSolve] Finished with Overflow: 0.0985977 |
| Warning: /home/xrex/usr/devel/pdks/sky130A/libs.ref/sky130_fd_sc_hd/lib/sky130_fd_sc_hd__ss_100C_1v60.lib, line 32 default_operating_condition ss_100C_1v60 not found. |
| Warning: /home/xrex/usr/devel/pdks/sky130A/libs.ref/sky130_fd_sc_hd/lib/sky130_fd_sc_hd__ff_n40C_1v95.lib, line 31 default_operating_condition ff_n40C_1v95 not found. |
| create_clock [get_ports $::env(CLOCK_PORT)] -name $::env(CLOCK_PORT) -period $::env(CLOCK_PERIOD) |
| set IO_PCT 0.2 |
| set input_delay_value [expr $::env(CLOCK_PERIOD) * $IO_PCT] |
| set output_delay_value [expr $::env(CLOCK_PERIOD) * $IO_PCT] |
| puts "\[INFO\]: Setting output delay to: $output_delay_value" |
| [INFO]: Setting output delay to: 2.0 |
| puts "\[INFO\]: Setting input delay to: $input_delay_value" |
| [INFO]: Setting input delay to: 2.0 |
| set clk_indx [lsearch [all_inputs] [get_port $::env(CLOCK_PORT)]] |
| #set rst_indx [lsearch [all_inputs] [get_port resetn]] |
| set all_inputs_wo_clk [lreplace [all_inputs] $clk_indx $clk_indx] |
| #set all_inputs_wo_clk_rst [lreplace $all_inputs_wo_clk $rst_indx $rst_indx] |
| set all_inputs_wo_clk_rst $all_inputs_wo_clk |
| # correct resetn |
| set_input_delay $input_delay_value -clock [get_clocks $::env(CLOCK_PORT)] $all_inputs_wo_clk_rst |
| #set_input_delay 0.0 -clock [get_clocks $::env(CLOCK_PORT)] {resetn} |
| set_output_delay $output_delay_value -clock [get_clocks $::env(CLOCK_PORT)] [all_outputs] |
| # TODO set this as parameter |
| set_driving_cell -lib_cell $::env(SYNTH_DRIVING_CELL) -pin $::env(SYNTH_DRIVING_CELL_PIN) [all_inputs] |
| set cap_load [expr $::env(SYNTH_CAP_LOAD) / 1000.0] |
| puts "\[INFO\]: Setting load to: $cap_load" |
| [INFO]: Setting load to: 0.01765 |
| set_load $cap_load [all_outputs] |