RapidWright icon indicating copy to clipboard operation
RapidWright copied to clipboard

Partial static routing in RWRoute

Open clavin-xlnx opened this issue 2 years ago • 2 comments

When a design is partially routed, this PR will enable RWRoute to examine the existing static nets (GND, VCC) to identify which pins are already routed and route just the sinks that still need to be routed.

clavin-xlnx avatar Aug 24 '22 21:08 clavin-xlnx

Unit Test Results

0 files  0 suites   0s :stopwatch: 0 tests 0 :heavy_check_mark: 0 :zzz: 0 :x:

Results for commit 01980ed4.

:recycle: This comment has been updated with latest results.

github-actions[bot] avatar Aug 24 '22 21:08 github-actions[bot]

Main changes:

  • GlobalSignalRouter.routeStaticNet() clobbers the existing list of PIPs on static nets, so for partial routing move them out beforehand and combine them back after calling this method.
  • RouterHelper.invertPossibleGndPinsToVccPins() to cope with partial routing and with inversions required for Laguna tiles
  • DesignTools.createMissingStaticSitePins() to only tie A6 to VCC for cells placed on a LUT5

eddieh-xlnx avatar Aug 26 '22 16:08 eddieh-xlnx

It looks like the original intent of this PR was to add partial static routing (which should be present in RWRoute now) but along the way it morphed into some RWRoute refactoring, including the introduction of a RouteTerm interface that was implemented by RouteTermSitePin (what is supported today) and RouteTermPartPin (partition pin routing which is not currently supported).

However, this PR is so wildly out of date that I don't think it's worth recovering so let's close it out until we have a need for partition pin routing again.

eddieh-xlnx avatar Jan 12 '24 20:01 eddieh-xlnx

However, this PR is so wildly out of date that I don't think it's worth recovering so let's close it out until we have a need for partition pin routing again.

Sure, I am good to close it.

clavin-xlnx avatar Jan 12 '24 22:01 clavin-xlnx