public class GlobalSignalRouting
extends Object
| Constructor and Description |
|---|
GlobalSignalRouting() |
| Modifier and Type | Method and Description |
|---|---|
static Map<RouteNode,List<SitePinInst>> |
getLCBPinMappings(List<SitePinInst> clkPins,
Function<Node,NodeStatus> getNodeStatus)
Maps each sink SitePinInsts of a clock net to a leaf clock buffer node.
|
static void |
routeClkWithPartialRoutes(Net clk,
Map<String,List<String>> routesToSinkINTTiles,
Device device,
Function<Node,NodeStatus> getNodeStatus)
Routes a clk enable net with input data.
|
static void |
routeStaticNet(List<SitePinInst> pins,
Function<Node,NodeStatus> getNodeState,
Design design,
RouteThruHelper routeThruHelper)
Routes pins from a static net (GND or VCC).
|
static void |
symmetricClkRouting(Net clk,
Device device,
Function<Node,NodeStatus> getNodeStatus,
Map<Integer,Set<ClockRegion>> usedRoutingTracks)
Routes a clock net by dividing the target clock regions into two groups and
routes to the two groups with different centroid nodes.
|
public static void routeClkWithPartialRoutes(Net clk, Map<String,List<String>> routesToSinkINTTiles, Device device, Function<Node,NodeStatus> getNodeStatus)
clk - The net to be routed.routesToSinkINTTiles - A map storing routes from CLK_OUT to different INT tiles that
connect to sink pins of a global clock net.device - The target device needed to get routing path representation with nodes from names.getNodeStatus - Lambda for indicating the status of a Node: available, in-use (preserved
for same net as we're routing), or unavailable (preserved for other net).public static void symmetricClkRouting(Net clk, Device device, Function<Node,NodeStatus> getNodeStatus, Map<Integer,Set<ClockRegion>> usedRoutingTracks)
clk - The clock to be routed.device - The design device.getNodeStatus - Lambda for indicating the status of a Node: available,
in-use (preserved for same net as we're routing), or
unavailable (preserved for other net).A - map to keep track of which routing tracks have already
been used for each clock region.public static Map<RouteNode,List<SitePinInst>> getLCBPinMappings(List<SitePinInst> clkPins, Function<Node,NodeStatus> getNodeStatus)
clkPins - List of clock pins in question.public static void routeStaticNet(List<SitePinInst> pins, Function<Node,NodeStatus> getNodeState, Design design, RouteThruHelper routeThruHelper)
pins - A list of static pins to be routed (must all be on the same net).getNodeState - Lambda to get a node's status (available, unavailable, already in-use).design - The Design instance to use.routeThruHelper - The RouteThruHelper instance to use.