public class ECOPlacementHelper
extends Object
Modifier and Type | Field and Description |
---|---|
static Set<String> |
ultraScaleFlopNames |
Constructor and Description |
---|
ECOPlacementHelper(Design design,
Map<Net,Set<SitePinInst>> deferredRemovals)
Constructor for ECOPlacementHelper class.
|
Modifier and Type | Method and Description |
---|---|
BEL |
getUnusedFlop(SiteInst siteInst,
Net clk)
Given a SiteInst and a clock net, find an unused flop BEL that can host a new cell.
|
BEL |
getUnusedFlop(SiteInst siteInst,
Net clk,
Net ce,
Net rst)
Given a SiteInst and a clock net, find an unused flop BEL that can host a new cell.
|
BEL |
getUnusedLUT(SiteInst siteInst)
Given a SiteInst, find an unused LUT BEL that can host a new LUT6 cell.
|
static Iterable<Site> |
spiralOutFrom(Site site)
Given a home Site, return an Iterable that yields the neighbouring sites encountered
when walking outwards in a spiral fashion.
|
static Iterable<Site> |
spiralOutFrom(Site site,
PBlock pblock)
Given a home Site, return an Iterable that yields the neighbouring sites
encountered when walking outwards in a spiral fashion.
|
public ECOPlacementHelper(Design design, Map<Net,Set<SitePinInst>> deferredRemovals)
design
- Design to be analyzed.deferredRemovals
- An optional map populated with the site pins marked for removal.
Sites with pins queued for removal will be treated as if the pin
was already removed for the purposes of finding unused flops.public BEL getUnusedFlop(SiteInst siteInst, Net clk)
siteInst
- SiteInst object to search inside.clk
- Desired clock net for flop cell.public BEL getUnusedFlop(SiteInst siteInst, Net clk, Net ce, Net rst)
siteInst
- SiteInst object to search inside.clk
- Desired clock net for flop cell.ce
- Desired clock enable net for flop cell (null for VCC).rst
- Desired reset net for flop cell (null for GND).public BEL getUnusedLUT(SiteInst siteInst)
siteInst
- SiteInst object to search inside.public static Iterable<Site> spiralOutFrom(Site site)
ECOPlacementHelper.getUnusedLUT(SiteInst)
and ECOPlacementHelper.getUnusedFlop(SiteInst, Net)
.site
- Originating Site.public static Iterable<Site> spiralOutFrom(Site site, PBlock pblock)
ECOPlacementHelper.getUnusedLUT(SiteInst)
and
ECOPlacementHelper.getUnusedFlop(SiteInst, Net)
.site
- Originating Site.pblock
- Also check to ensure the proposed sites are inside the provided
pblock.