public class BlockPlacer extends AbstractBlockPlacer<HardMacro,Site>
Modifier and Type | Field and Description |
---|---|
static int |
DEBUG_LEVEL |
double |
finalBestCost |
double |
finalSystemCost |
double |
placerRuntime |
static Set<TileTypeEnum> |
switchMatrixTypes
A set of all TileTypes that have switch matrices in them
|
boolean |
verbose |
Constructor and Description |
---|
BlockPlacer()
Empty Constructor
|
BlockPlacer(int movesPerTemperature,
long seed,
double tempReduceRate,
double startTempFactor,
boolean verbose)
New Constructor
|
Modifier and Type | Method and Description |
---|---|
Site |
getPrimitiveSiteFromTile(Tile tile,
SiteTypeEnum type) |
static Set<TileTypeEnum> |
getSwitchMatrixTypes()
This will return a set of all unique TileTypes which are considered
to have a switch matrix or routing switch box in them.
|
Design |
placeDesign(Design design,
boolean debugFlow) |
boolean |
placeModuleNear(ModuleInst modInst,
Tile tile,
HashSet<Tile> usedTiles) |
void |
setTempAnchorSite(HardMacro hm,
Site placement) |
public double finalSystemCost
public double finalBestCost
public double placerRuntime
public boolean verbose
public static Set<TileTypeEnum> switchMatrixTypes
public static final int DEBUG_LEVEL
public BlockPlacer()
public BlockPlacer(int movesPerTemperature, long seed, double tempReduceRate, double startTempFactor, boolean verbose)
movesPerTemperature
- Number of desired moves per temperature stepseed
- Random seed to usetempReduceRate
- The multiplier to determine the next temperaturestartTempFactor
- Multiplied by the system cost to get the starting temperatureverbose
- A flag to increase verbositypublic void setTempAnchorSite(HardMacro hm, Site placement)
setTempAnchorSite
in class AbstractBlockPlacer<HardMacro,Site>
public Site getPrimitiveSiteFromTile(Tile tile, SiteTypeEnum type)
public boolean placeModuleNear(ModuleInst modInst, Tile tile, HashSet<Tile> usedTiles)
public static Set<TileTypeEnum> getSwitchMatrixTypes()