adjList | MacroLegalizer | private |
BRAMCell2Column | MacroLegalizer | private |
BRAMColumn2PUs | MacroLegalizer | private |
BRAMColumn2Sites | MacroLegalizer | private |
BRAMColumnNum | MacroLegalizer | private |
BRAMColumnUntilization | MacroLegalizer | private |
BRAMColumnXs | MacroLegalizer | private |
BRAMPUs | MacroLegalizer | private |
BRAMRowNum | MacroLegalizer | private |
candidateFactor | MacroLegalizer | private |
CARRYCell2Column | MacroLegalizer | private |
CARRYColumn2PUs | MacroLegalizer | private |
CARRYColumn2Sites | MacroLegalizer | private |
CARRYColumnNum | MacroLegalizer | private |
CARRYColumnUntilization | MacroLegalizer | private |
CARRYColumnXs | MacroLegalizer | private |
CARRYPUs | MacroLegalizer | private |
CARRYRowNum | MacroLegalizer | private |
cellLevelMatching | MacroLegalizer | private |
cellLoc | MacroLegalizer | private |
clockRegionAware | MacroLegalizer | private |
clockRegionCasLegalization | MacroLegalizer | private |
clockRegionHeightOfDSE_BRAM | MacroLegalizer | private |
compatiblePlacementTable | MacroLegalizer | private |
createBipartiteGraph() | MacroLegalizer | private |
deviceInfo | MacroLegalizer | private |
displacementThreshold | MacroLegalizer | private |
DPForMinHPWL(int colNum, std::vector< std::vector< DeviceInfo::DeviceSite * >> &Column2Sites, std::vector< std::deque< PlacementInfo::PlacementUnit * >> &Column2PUs) | MacroLegalizer | private |
DSPCell2Column | MacroLegalizer | private |
DSPColumn2PUs | MacroLegalizer | private |
DSPColumn2Sites | MacroLegalizer | private |
DSPColumnNum | MacroLegalizer | private |
DSPColumnUntilization | MacroLegalizer | private |
DSPColumnXs | MacroLegalizer | private |
DSPPUs | MacroLegalizer | private |
DSPRowNum | MacroLegalizer | private |
DumpMacroLegalizationCnt | MacroLegalizer | private |
dumpMatching(bool fixedColumn=false, bool enforce=false) | MacroLegalizer | |
enableBRAMLegalization | MacroLegalizer | private |
enableCARRYLegalization | MacroLegalizer | private |
enableDSPLegalization | MacroLegalizer | private |
finalAverageDisplacement | MacroLegalizer | private |
finalLegalizeBasedOnDP() | MacroLegalizer | private |
findCorrespondingColumn(float curX, std::vector< float > &Xs) | MacroLegalizer | private |
findIdMaxWithRecurence(int minId, int maxId, std::vector< int > &ids) | MacroLegalizer | private |
findMacroCell2SitesInDistance(bool checkClockRegion) | MacroLegalizer | inlineprivate |
findMacroType2AvailableSites() | MacroLegalizer | private |
findPossibleLegalLocation(bool fixedColumn=false) | MacroLegalizer | private |
fixedColumnAverageDisplacement | MacroLegalizer | private |
fixedColumnLegalize(bool directLegalization) | MacroLegalizer | private |
getAverageDisplacementOfExactLegalization() | MacroLegalizer | inline |
getAverageDisplacementOfRoughLegalization() | MacroLegalizer | inline |
getDisplacement(PlacementInfo::Location ¯oLoc, DeviceInfo::DeviceSite *curSite) | MacroLegalizer | inlineprivate |
getDisplacement(PlacementInfo::PlacementUnit *curPU, DeviceInfo::DeviceSite *curSite) | MacroLegalizer | inlineprivate |
getHPWLChange(DesignInfo::DesignCell *curCell, DeviceInfo::DeviceSite *curSite) | MacroLegalizer | inlineprivate |
getHPWLChange(PlacementInfo::PlacementUnit *tmpPU, DeviceInfo::DeviceSite *curSite) | MacroLegalizer | inlineprivate |
getHPWLChange(PlacementInfo::PlacementUnit *tmpPU, float PUX, float PUY) | MacroLegalizer | inlineprivate |
getMacrosToLegalize() | MacroLegalizer | private |
getMarcroCellNum(PlacementInfo::PlacementUnit *tmpMacroUnit) | MacroLegalizer | private |
hasNoTarget() | MacroLegalizer | inline |
initialDisplacementThreshold | MacroLegalizer | private |
initialMacrosToLegalize | MacroLegalizer | private |
initialMaxNumCandidate | MacroLegalizer | private |
JSONCfg | MacroLegalizer | private |
legalize(bool exactLegalization=false, bool directLegalization=false, bool _timingDrivenLegalize=false) | MacroLegalizer | |
legalizerName | MacroLegalizer | private |
macro2Sites | MacroLegalizer | private |
macro2SitesInDisplacementThreshold | MacroLegalizer | private |
macroCanBeFitIn(int colId, std::vector< std::vector< DeviceInfo::DeviceSite * >> &Column2Sites, std::deque< PlacementInfo::PlacementUnit * > Column2PUs) | MacroLegalizer | private |
macroCellsToLegalize | MacroLegalizer | private |
MacroLegalizer(std::string legalizerName, PlacementInfo *placementInfo, DeviceInfo *deviceInfo, std::vector< DesignInfo::DesignCellType > ¯oTypesToLegalize, std::map< std::string, std::string > &JSONCfg) | MacroLegalizer | |
macroType2Sites | MacroLegalizer | private |
macroTypesToLegalize | MacroLegalizer | private |
macroUnitsToLegalizeSet | MacroLegalizer | private |
mapMacrosToColumns(bool directLegalization) | MacroLegalizer | private |
matchedMacroCells | MacroLegalizer | private |
matchedSites | MacroLegalizer | private |
maxNumCandidate | MacroLegalizer | private |
minCostBipartiteMatcher | MacroLegalizer | private |
nJobs | MacroLegalizer | private |
noTarget | MacroLegalizer | private |
placementInfo | MacroLegalizer | private |
PU2Columns | MacroLegalizer | private |
PU2LegalSites | MacroLegalizer | private |
PU2SiteX | MacroLegalizer | private |
PU2X | MacroLegalizer | private |
PU2Y | MacroLegalizer | private |
PULevelMatching | MacroLegalizer | private |
quick_sort_locX(std::vector< PlacementInfo::PlacementUnit * > &PUs, int p, int q) | MacroLegalizer | inlineprivate |
quick_sort_WLChange(DesignInfo::DesignCell *curCell, std::vector< DeviceInfo::DeviceSite * > &sites, int p, int q, PlacementInfo::Location ¯oLoc) | MacroLegalizer | inlineprivate |
RandomPivotPartition(DesignInfo::DesignCell *curCell, std::vector< DeviceInfo::DeviceSite * > &sites, int low, int high, PlacementInfo::Location ¯oLoc) | MacroLegalizer | inlineprivate |
RandomPivotPartition(std::vector< PlacementInfo::PlacementUnit * > &PUs, int low, int high) | MacroLegalizer | inlineprivate |
resetMacroCell2SitesInDistance() | MacroLegalizer | inlineprivate |
resetSettings() | MacroLegalizer | inlineprivate |
resetSitesMapped() | MacroLegalizer | |
resolveOverflowColumns() | MacroLegalizer | private |
rightSiteIds | MacroLegalizer | private |
roughAverageDisplacement | MacroLegalizer | private |
roughlyLegalize() | MacroLegalizer | private |
setClockRegionAware(bool _clockRegionAware) | MacroLegalizer | inline |
setClockRegionCasLegalization(bool _clockRegionCasLegalization) | MacroLegalizer | inline |
setIntitialParameters(float displacementThr, int candidateNum, int _candidateFactor=-1) | MacroLegalizer | inline |
setSitesMapped() | MacroLegalizer | private |
siteList | MacroLegalizer | private |
sortPartition(DesignInfo::DesignCell *curCell, std::vector< DeviceInfo::DeviceSite * > &sites, int low, int high, PlacementInfo::Location ¯oLoc) | MacroLegalizer | inlineprivate |
sortPartition(std::vector< PlacementInfo::PlacementUnit * > &PUs, int low, int high) | MacroLegalizer | inlineprivate |
sortPUsByPU2Y(std::deque< PlacementInfo::PlacementUnit * > &PUs) | MacroLegalizer | private |
sortSitesBySiteY(std::vector< DeviceInfo::DeviceSite * > &sites) | MacroLegalizer | private |
spreadMacros(int columnNum, std::vector< int > &columnUntilization, std::vector< std::vector< DeviceInfo::DeviceSite * >> &column2Sites, std::vector< std::deque< PlacementInfo::PlacementUnit * >> &column2PUs, std::map< DesignInfo::DesignCell *, int > &cell2Column, float globalBudgeRatio=1) | MacroLegalizer | private |
swapPU(PlacementInfo::PlacementUnit **A, PlacementInfo::PlacementUnit **B) | MacroLegalizer | inlineprivate |
swapPUs(PlacementInfo::PlacementUnit **PUA, PlacementInfo::PlacementUnit **PUB) | MacroLegalizer | inlineprivate |
swapSitePtr(DeviceInfo::DeviceSite **siteA, DeviceInfo::DeviceSite **siteB) | MacroLegalizer | inlineprivate |
timingDrivenLegalize | MacroLegalizer | private |
updateMatchingAndUnmatchedMacroCells() | MacroLegalizer | private |
updatePUMatchingLocation(bool isRoughLegalization=true, bool updateDisplacement=true) | MacroLegalizer | private |
verbose | MacroLegalizer | private |
y2xRatio | MacroLegalizer | private |
~MacroLegalizer() | MacroLegalizer | inline |