public class RegionBasedOverlapCache<PlacementT,ModuleInstT extends AbstractModuleInst<?,PlacementT,? super ModuleInstT>> extends AbstractOverlapCache<PlacementT,ModuleInstT>
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_REGION_SIZE
Magic Size found by benchmarking
|
Constructor and Description |
---|
RegionBasedOverlapCache(Device device,
List<? extends ModuleInstT> instances) |
RegionBasedOverlapCache(Device device,
List<? extends ModuleInstT> instances,
int regionSize) |
Modifier and Type | Method and Description |
---|---|
List<ModuleInstT> |
getAllOverlaps(ModuleInstT mii) |
boolean |
isValidPlacement(ModuleInstT mii) |
void |
place(ModuleInstT mii)
Add an Instance to the cache.
|
void |
printStats() |
void |
unplace(ModuleInstT mii)
Remove an Instance from the cache.
|
public static int DEFAULT_REGION_SIZE
public RegionBasedOverlapCache(Device device, List<? extends ModuleInstT> instances, int regionSize)
public RegionBasedOverlapCache(Device device, List<? extends ModuleInstT> instances)
public void unplace(ModuleInstT mii)
unplace
in class AbstractOverlapCache<PlacementT,ModuleInstT extends AbstractModuleInst<?,PlacementT,? super ModuleInstT>>
mii
- the instancepublic void place(ModuleInstT mii)
place
in class AbstractOverlapCache<PlacementT,ModuleInstT extends AbstractModuleInst<?,PlacementT,? super ModuleInstT>>
mii
- the instancepublic boolean isValidPlacement(ModuleInstT mii)
isValidPlacement
in class AbstractOverlapCache<PlacementT,ModuleInstT extends AbstractModuleInst<?,PlacementT,? super ModuleInstT>>
public void printStats()
printStats
in class AbstractOverlapCache<PlacementT,ModuleInstT extends AbstractModuleInst<?,PlacementT,? super ModuleInstT>>
public List<ModuleInstT> getAllOverlaps(ModuleInstT mii)
getAllOverlaps
in class AbstractOverlapCache<PlacementT,ModuleInstT extends AbstractModuleInst<?,PlacementT,? super ModuleInstT>>