gitextract_gkk6unka/ ├── .gitignore ├── LICENSE ├── README.md ├── drcu ├── ispd18eval/ │ ├── README │ ├── ispd18eval.sh │ ├── ispd18eval.tcl │ ├── ispd18eval.w │ └── ispd18eval_bin ├── ispd19eval/ │ ├── README │ ├── ispd19eval.sh │ ├── ispd19eval.tcl │ ├── ispd19eval.w │ └── ispd19eval_bin ├── rsyn/ │ ├── .gitrepo │ ├── LICENSE │ ├── README.md │ ├── include/ │ │ ├── def5.8/ │ │ │ ├── defiAlias.hpp │ │ │ ├── defiAssertion.hpp │ │ │ ├── defiBlockage.hpp │ │ │ ├── defiComponent.hpp │ │ │ ├── defiDebug.hpp │ │ │ ├── defiDefs.hpp │ │ │ ├── defiFPC.hpp │ │ │ ├── defiFill.hpp │ │ │ ├── defiGroup.hpp │ │ │ ├── defiIOTiming.hpp │ │ │ ├── defiKRDefs.hpp │ │ │ ├── defiMisc.hpp │ │ │ ├── defiNet.hpp │ │ │ ├── defiNonDefault.hpp │ │ │ ├── defiPartition.hpp │ │ │ ├── defiPath.hpp │ │ │ ├── defiPinCap.hpp │ │ │ ├── defiPinProp.hpp │ │ │ ├── defiProp.hpp │ │ │ ├── defiPropType.hpp │ │ │ ├── defiRegion.hpp │ │ │ ├── defiRowTrack.hpp │ │ │ ├── defiScanchain.hpp │ │ │ ├── defiSite.hpp │ │ │ ├── defiSlot.hpp │ │ │ ├── defiTimingDisable.hpp │ │ │ ├── defiUser.hpp │ │ │ ├── defiUtil.hpp │ │ │ ├── defiVia.hpp │ │ │ ├── defrCallBacks.hpp │ │ │ ├── defrData.hpp │ │ │ ├── defrReader.hpp │ │ │ ├── defrSettings.hpp │ │ │ ├── defwWriter.hpp │ │ │ ├── defwWriterCalls.hpp │ │ │ └── defzlib.hpp │ │ └── lef5.8/ │ │ ├── lefiArray.hpp │ │ ├── lefiCrossTalk.hpp │ │ ├── lefiDebug.hpp │ │ ├── lefiDefs.hpp │ │ ├── lefiEncryptInt.hpp │ │ ├── lefiKRDefs.hpp │ │ ├── lefiLayer.hpp │ │ ├── lefiMacro.hpp │ │ ├── lefiMisc.hpp │ │ ├── lefiNonDefault.hpp │ │ ├── lefiProp.hpp │ │ ├── lefiPropType.hpp │ │ ├── lefiUnits.hpp │ │ ├── lefiUser.hpp │ │ ├── lefiUtil.hpp │ │ ├── lefiVia.hpp │ │ ├── lefiViaRule.hpp │ │ ├── lefrCallBacks.hpp │ │ ├── lefrData.hpp │ │ ├── lefrReader.hpp │ │ ├── lefrSettings.hpp │ │ ├── lefwWriter.hpp │ │ ├── lefwWriterCalls.hpp │ │ └── lefzlib.hpp │ ├── lib/ │ │ └── linux/ │ │ ├── libdef.a │ │ └── liblef.a │ └── src/ │ └── rsyn/ │ ├── 3rdparty/ │ │ └── json/ │ │ └── json.hpp │ ├── core/ │ │ ├── Rsyn.h │ │ ├── RsynTypes.h │ │ ├── dscp/ │ │ │ ├── LibraryCell.h │ │ │ └── LibraryModule.h │ │ ├── infra/ │ │ │ ├── Attribute.h │ │ │ ├── Exception.h │ │ │ ├── List.h │ │ │ ├── Observer.h │ │ │ ├── RangeBasedLoop.h │ │ │ └── RawPointer.h │ │ └── obj/ │ │ ├── data/ │ │ │ ├── Arc.h │ │ │ ├── Cell.h │ │ │ ├── Design.h │ │ │ ├── Instance.h │ │ │ ├── Library.h │ │ │ ├── LibraryArc.h │ │ │ ├── LibraryCell.h │ │ │ ├── LibraryModule.h │ │ │ ├── LibraryPin.h │ │ │ ├── Module.h │ │ │ ├── Net.h │ │ │ ├── Object.h │ │ │ ├── Pin.h │ │ │ └── Port.h │ │ ├── decl/ │ │ │ ├── Arc.h │ │ │ ├── Cell.h │ │ │ ├── Design.h │ │ │ ├── Instance.h │ │ │ ├── Library.h │ │ │ ├── LibraryArc.h │ │ │ ├── LibraryCell.h │ │ │ ├── LibraryModule.h │ │ │ ├── LibraryPin.h │ │ │ ├── Module.h │ │ │ ├── Net.h │ │ │ ├── Object.h │ │ │ ├── Pin.h │ │ │ └── Port.h │ │ └── impl/ │ │ ├── Arc.h │ │ ├── Cell.h │ │ ├── Design.h │ │ ├── Instance.h │ │ ├── Library.h │ │ ├── LibraryArc.h │ │ ├── LibraryCell.h │ │ ├── LibraryModule.h │ │ ├── LibraryPin.h │ │ ├── Module.h │ │ ├── Net.h │ │ ├── Object.h │ │ ├── Pin.h │ │ └── Port.h │ ├── db/ │ │ ├── Database.cpp │ │ ├── Database.h │ │ ├── Serializable.h │ │ └── SerializationStream.h │ ├── export/ │ │ └── Rsyn/ │ │ ├── DesignObserver │ │ ├── PhysicalDesign │ │ ├── PhysicalDesignObserver │ │ ├── Point │ │ ├── Polygon │ │ ├── Rect │ │ ├── RoutingGuide │ │ ├── Scenario │ │ ├── Session │ │ └── Timer │ ├── io/ │ │ ├── legacy/ │ │ │ ├── Legacy.h │ │ │ └── PlacerInternals.h │ │ ├── parser/ │ │ │ ├── guide-ispd18/ │ │ │ │ ├── GuideDescriptor.h │ │ │ │ ├── GuideParser.cpp │ │ │ │ └── GuideParser.h │ │ │ ├── lef_def/ │ │ │ │ ├── DEFControlParser.cpp │ │ │ │ ├── DEFControlParser.h │ │ │ │ ├── LEFControlParser.cpp │ │ │ │ └── LEFControlParser.h │ │ │ ├── parser_helper.cpp │ │ │ └── parser_helper.h │ │ └── reader/ │ │ ├── ISPD2018Reader.cpp │ │ ├── ISPD2018Reader.h │ │ ├── PopulateRsyn.cpp │ │ └── PopulateRsyn.h │ ├── ispd18/ │ │ ├── Guide.h │ │ ├── RoutingGuide.cpp │ │ └── RoutingGuide.h │ ├── phy/ │ │ ├── PhysicalDesign.h │ │ ├── PhysicalRouting.cpp │ │ ├── PhysicalRouting.h │ │ ├── PhysicalService.cpp │ │ ├── PhysicalService.h │ │ ├── infra/ │ │ │ ├── PhysicalAttribute.h │ │ │ └── PhysicalObserver.h │ │ ├── obj/ │ │ │ ├── data/ │ │ │ │ ├── LayerViaManagerData.h │ │ │ │ ├── PhysicalDesign.h │ │ │ │ ├── PhysicalDieData.h │ │ │ │ ├── PhysicalGCellData.h │ │ │ │ ├── PhysicalGroupData.h │ │ │ │ ├── PhysicalInstanceData.h │ │ │ │ ├── PhysicalLayerData.h │ │ │ │ ├── PhysicalLibraryCellData.h │ │ │ │ ├── PhysicalLibraryPinData.h │ │ │ │ ├── PhysicalNetData.h │ │ │ │ ├── PhysicalObject.h │ │ │ │ ├── PhysicalObstacleData.h │ │ │ │ ├── PhysicalPinData.h │ │ │ │ ├── PhysicalPinGeometryData.h │ │ │ │ ├── PhysicalPinLayerData.h │ │ │ │ ├── PhysicalRegionData.h │ │ │ │ ├── PhysicalRoutingGridData.h │ │ │ │ ├── PhysicalRoutingPointData.h │ │ │ │ ├── PhysicalRowData.h │ │ │ │ ├── PhysicalSiteData.h │ │ │ │ ├── PhysicalSpacingData.h │ │ │ │ ├── PhysicalSpacingRuleData.h │ │ │ │ ├── PhysicalSpacingTableData.h │ │ │ │ ├── PhysicalSpecialNetData.h │ │ │ │ ├── PhysicalSpecialWireData.h │ │ │ │ ├── PhysicalTracksData.h │ │ │ │ ├── PhysicalViaData.h │ │ │ │ ├── ViaGeometryData.h │ │ │ │ └── ViaRuleData.h │ │ │ ├── decl/ │ │ │ │ ├── LayerViaManager.h │ │ │ │ ├── PhysicalCell.h │ │ │ │ ├── PhysicalDesign.h │ │ │ │ ├── PhysicalDie.h │ │ │ │ ├── PhysicalGCell.h │ │ │ │ ├── PhysicalGroup.h │ │ │ │ ├── PhysicalInstance.h │ │ │ │ ├── PhysicalLayer.h │ │ │ │ ├── PhysicalLibraryCell.h │ │ │ │ ├── PhysicalLibraryPin.h │ │ │ │ ├── PhysicalModule.h │ │ │ │ ├── PhysicalNet.h │ │ │ │ ├── PhysicalObstacle.h │ │ │ │ ├── PhysicalPin.h │ │ │ │ ├── PhysicalPinGeometry.h │ │ │ │ ├── PhysicalPinLayer.h │ │ │ │ ├── PhysicalPort.h │ │ │ │ ├── PhysicalRegion.h │ │ │ │ ├── PhysicalRoutingGrid.h │ │ │ │ ├── PhysicalRoutingPoint.h │ │ │ │ ├── PhysicalRow.h │ │ │ │ ├── PhysicalSite.h │ │ │ │ ├── PhysicalSpacing.h │ │ │ │ ├── PhysicalSpecialNet.h │ │ │ │ ├── PhysicalSpecialWire.h │ │ │ │ ├── PhysicalTracks.h │ │ │ │ ├── PhysicalVia.h │ │ │ │ ├── PhysicalViaGeometry.h │ │ │ │ ├── PhysicalViaRule.h │ │ │ │ ├── PhysicalViaRuleBase.h │ │ │ │ └── PhysicalViaRuleGenerate.h │ │ │ └── impl/ │ │ │ ├── LayerViaManager.h │ │ │ ├── PhysicalCell.h │ │ │ ├── PhysicalDesign.cpp │ │ │ ├── PhysicalDesign.h │ │ │ ├── PhysicalDie.h │ │ │ ├── PhysicalGCell.h │ │ │ ├── PhysicalGroup.h │ │ │ ├── PhysicalInstance.h │ │ │ ├── PhysicalLayer.h │ │ │ ├── PhysicalLibraryCell.h │ │ │ ├── PhysicalLibraryPin.h │ │ │ ├── PhysicalModule.h │ │ │ ├── PhysicalNet.h │ │ │ ├── PhysicalObstacle.h │ │ │ ├── PhysicalPin.h │ │ │ ├── PhysicalPinGeometry.h │ │ │ ├── PhysicalPinLayer.h │ │ │ ├── PhysicalPort.h │ │ │ ├── PhysicalRegion.h │ │ │ ├── PhysicalRoutingGrid.h │ │ │ ├── PhysicalRoutingPoint.h │ │ │ ├── PhysicalRow.h │ │ │ ├── PhysicalSite.h │ │ │ ├── PhysicalSpacing.h │ │ │ ├── PhysicalSpecialNet.h │ │ │ ├── PhysicalSpecialWire.h │ │ │ ├── PhysicalTracks.h │ │ │ ├── PhysicalVia.h │ │ │ ├── PhysicalViaGeometry.h │ │ │ ├── PhysicalViaRule.h │ │ │ ├── PhysicalViaRuleBase.h │ │ │ └── PhysicalViaRuleGenerate.h │ │ └── util/ │ │ ├── DefDescriptors.h │ │ ├── LefDescriptors.h │ │ ├── PhysicalLayerUtil.cpp │ │ ├── PhysicalTransform.cpp │ │ ├── PhysicalTransform.h │ │ ├── PhysicalTypes.h │ │ └── PhysicalUtil.h │ ├── session/ │ │ ├── Reader.h │ │ ├── Service.h │ │ ├── Session.cpp │ │ └── Session.h │ ├── setup/ │ │ ├── reader.cpp │ │ └── service.cpp │ └── util/ │ ├── Array.h │ ├── AsciiProgressBar.h │ ├── Bounds.h │ ├── Color.h │ ├── Colorize.h │ ├── Debug.h │ ├── DoubleRectangle.h │ ├── Environment.h │ ├── Exception.h │ ├── FloatRectangle.h │ ├── FloatingPoint.h │ ├── Json.h │ ├── MD5.h │ ├── MemoryUsage.h │ ├── Proxy.h │ ├── RangeBasedLoop.h │ ├── Stipple.h │ ├── Stopwatch.h │ ├── String.h │ ├── ThreadPool.h │ ├── TristateFlag.h │ ├── Units.h │ ├── dbu.h │ ├── dim.h │ ├── double2.h │ ├── float2.h │ └── geometry/ │ ├── Point.h │ ├── Polygon.cpp │ ├── Polygon.h │ ├── Rect.cpp │ └── Rect.h ├── scripts/ │ ├── build.py │ ├── gprof2dot.py │ ├── run.py │ └── run_base.py ├── src/ │ ├── .clang-format │ ├── CMakeLists.txt │ ├── db/ │ │ ├── CutLayer.cpp │ │ ├── CutLayer.h │ │ ├── Database.cpp │ │ ├── Database.h │ │ ├── GeoPrimitive.cpp │ │ ├── GeoPrimitive.h │ │ ├── LayerList.cpp │ │ ├── LayerList.h │ │ ├── MetalLayer.cpp │ │ ├── MetalLayer.h │ │ ├── Net.cpp │ │ ├── Net.h │ │ ├── RouteGrid.cpp │ │ ├── RouteGrid.h │ │ ├── RsynService.h │ │ ├── Setting.cpp │ │ ├── Setting.h │ │ ├── Stat.cpp │ │ └── Stat.h │ ├── flute/ │ │ ├── ChangeLog.txt │ │ ├── Readme │ │ ├── dist.c │ │ ├── dist.h │ │ ├── dl.c │ │ ├── dl.h │ │ ├── err.c │ │ ├── err.h │ │ ├── flute.c │ │ ├── flute.h │ │ ├── flute_mst.c │ │ ├── global.h │ │ ├── heap.c │ │ ├── heap.h │ │ ├── license.txt │ │ ├── memAlloc.c │ │ ├── memAlloc.h │ │ ├── mst2.c │ │ ├── mst2.h │ │ ├── neighbors.c │ │ └── neighbors.h │ ├── global.h │ ├── gr_db/ │ │ ├── GCell.cpp │ │ ├── GCell.h │ │ ├── GrDatabase.cpp │ │ ├── GrDatabase.h │ │ ├── GrGeoPrimitive.cpp │ │ ├── GrGeoPrimitive.h │ │ ├── GrNet.cpp │ │ ├── GrNet.h │ │ ├── GrRouteGrid.cpp │ │ ├── GrRouteGrid.h │ │ ├── GridTopo.cpp │ │ └── GridTopo.h │ ├── main.cpp │ ├── multi_net/ │ │ ├── CongestionMap.cpp │ │ ├── CongestionMap.h │ │ ├── Router.cpp │ │ ├── Router.h │ │ ├── Scheduler.cpp │ │ └── Scheduler.h │ ├── single_net/ │ │ ├── GenGuide.cpp │ │ ├── GenGuide.h │ │ ├── GridGraph.cpp │ │ ├── GridGraph.h │ │ ├── InitRoute.cpp │ │ ├── InitRoute.h │ │ ├── MazeRoute.cpp │ │ ├── MazeRoute.h │ │ ├── SingleNetRouter.cpp │ │ └── SingleNetRouter.h │ └── utils/ │ ├── enum.h │ ├── geo.h │ ├── log.cpp │ ├── log.h │ ├── prettyprint.h │ └── utils.h └── toys/ └── iccad2019c/ └── ispd18_sample/ ├── ispd18_sample.input.def └── ispd18_sample.input.lef