public class FlopTreeTools
extends Object
| Constructor and Description |
|---|
FlopTreeTools() |
| Modifier and Type | Method and Description |
|---|---|
static Net |
insertFlopChain(Design design,
Net net,
String clkName,
int depth,
List<EDIFHierPortInst> portInsts,
Set<SiteInst> siteInstsToRoute)
Inserts a chain of
depth flops between the source of net
and portInsts, evenly spaced along the line from the source to the
sinks' centroid. |
static Net |
insertFlopChain(Design design,
Net net,
String clkName,
int depth,
List<EDIFHierPortInst> portInsts,
Set<SiteInst> siteInstsToRoute,
List<RelocatableTileRectangle> noGoBboxes)
As
FlopTreeTools.insertFlopChain(Design, Net, String, int, List, Set), but the
inserted flops will not be placed inside any of noGoBboxes (may be
null or empty for no restriction). |
static void |
insertFlopTreeForNet(Design design,
String netName,
String clkName,
int depth,
int maxDepthPerSLR)
Inserts a pipelined fanout tree of
depth flop levels between the
source of netName and all of its sinks. |
static void |
insertFlopTreeForNet(Design design,
String netName,
String clkName,
int depth,
int maxDepthPerSLR,
List<RelocatableTileRectangle> noGoBboxes)
As
FlopTreeTools.insertFlopTreeForNet(Design, String, String, int, int), but the
inserted flops will not be placed inside any of noGoBboxes — typically
the bounding boxes of placed kernel/array modules, inside which the local INT
routing is too congested to escape from a fresh flop's site pin (may be null
or empty for no restriction). |
static void |
main(String[] args) |
public static Net insertFlopChain(Design design, Net net, String clkName, int depth, List<EDIFHierPortInst> portInsts, Set<SiteInst> siteInstsToRoute)
depth flops between the source of net
and portInsts, evenly spaced along the line from the source to the
sinks' centroid. Returns the net driven by the final flop of the chain.public static Net insertFlopChain(Design design, Net net, String clkName, int depth, List<EDIFHierPortInst> portInsts, Set<SiteInst> siteInstsToRoute, List<RelocatableTileRectangle> noGoBboxes)
FlopTreeTools.insertFlopChain(Design, Net, String, int, List, Set), but the
inserted flops will not be placed inside any of noGoBboxes (may be
null or empty for no restriction).public static void insertFlopTreeForNet(Design design, String netName, String clkName, int depth, int maxDepthPerSLR)
depth flop levels between the
source of netName and all of its sinks. Sinks in other SLRs are
reached through SLR-crossing flop chains; within each SLR a quadrant-based
tree of at most maxDepthPerSLR levels is built, with any remaining
depth inserted as pacing chains.public static void insertFlopTreeForNet(Design design, String netName, String clkName, int depth, int maxDepthPerSLR, List<RelocatableTileRectangle> noGoBboxes)
FlopTreeTools.insertFlopTreeForNet(Design, String, String, int, int), but the
inserted flops will not be placed inside any of noGoBboxes — typically
the bounding boxes of placed kernel/array modules, inside which the local INT
routing is too congested to escape from a fresh flop's site pin (may be null
or empty for no restriction).public static void main(String[] args)