RapidWright
RapidWright copied to clipboard
Partial static routing in RWRoute
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.
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.
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
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.
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.