AMF-Placer  2.0
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
PlacementInfo.h File Reference

This header file mainly contains the definition of class PlacementInfo, including information related to FPGA placement (wirelength optimization, cell spreading, legalization, packing) More...

#include "DesignInfo.h"
#include "DeviceInfo.h"
#include "Eigen/Core"
#include "Eigen/SparseCore"
#include "PlacementTimingInfo.h"
#include "Rendering/paintDB.h"
#include "dumpZip.h"
#include <assert.h>
#include <fstream>
#include <iostream>
#include <map>
#include <mutex>
#include <queue>
#include <set>
#include <sstream>
#include <string>
#include <thread>
#include <vector>
Include dependency graph for PlacementInfo.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  PlacementInfo
 Information related to FPGA placement (wirelength optimization, cell spreading, legalization, packing) More...
 
class  PlacementInfo::CompatiblePlacementTable
 describes the type mapping from design to device, where a cell can be placed (which BEL in which site) More...
 
class  PlacementInfo::PlacementSiteTypeInfo
 information for a site, e.g. what BEL in site and where are these kind of sites More...
 
struct  PlacementInfo::PlacementSiteTypeInfo::location
 
class  PlacementInfo::PlacementBinInfo
 BEL bin for global placement for a specific shared BEL type. More...
 
class  PlacementInfo::PlacementHybridBinInfo
 BEL bin for global placement for multiple specific shared BEL types. More...
 
class  PlacementInfo::PlacementUnit
 a movement unit in placement with information of location and resource demand More...
 
class  PlacementInfo::PlacementUnpackedCell
 the smallest, indivisible, representable component. It will include only one standard cell More...
 
class  PlacementInfo::PlacementMacro
 a fixed group of multiple standard cells with constraints of their relative locations More...
 
struct  PlacementInfo::PlacementMacro::_fixedPlacementInfo_inMacro
 some constaints of elements' relative locations are defined by the design. We need to record this. More...
 
class  PlacementInfo::PlacementNet
 Placement net, compared to design net, includes information related to placement. More...
 
struct  PlacementInfo::PlacementNet::_pinOffset
 
class  PlacementInfo::ClusterUnit
 a group of PlacementUnits More...
 
class  PlacementInfo::ClusterNet
 The net between the objects of ClusterUnit class. More...
 
class  PlacementInfo::PlacementSiteBinInfo
 Site bin for global placement for some specific Site types. More...
 
struct  PlacementInfo::Location
 
struct  PlacementInfo::CellBinInfo
 record the bin information for a cell (BELtype, column/row, resource demand) More...
 
struct  PlacementInfo::_ClockNetCoverage
 the retangular clock region coverage of a clock net More...
 

Functions

std::ostream & operator<< (std::ostream &os, PlacementInfo::PlacementMacro *curMacro)
 
std::ostream & operator<< (std::ostream &os, PlacementInfo::PlacementUnpackedCell *curUnpackedCell)
 
std::ostream & operator<< (std::ostream &os, PlacementInfo::PlacementUnit *curPU)
 

Detailed Description

This header file mainly contains the definition of class PlacementInfo, including information related to FPGA placement (wirelength optimization, cell spreading, legalization, packing)

Author
Tingyuan LIANG (tlian.nosp@m.g@co.nosp@m.nnect.nosp@m..ust.nosp@m..hk)
Version
0.1
Date
2021-06-03

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition in file PlacementInfo.h.

Function Documentation

◆ operator<<() [1/3]

std::ostream& operator<< ( std::ostream &  os,
PlacementInfo::PlacementMacro curMacro 
)

Definition at line 802 of file PlacementInfo.cc.

Here is the call graph for this function:

◆ operator<<() [2/3]

std::ostream& operator<< ( std::ostream &  os,
PlacementInfo::PlacementUnit curPU 
)

Definition at line 887 of file PlacementInfo.cc.

◆ operator<<() [3/3]

std::ostream& operator<< ( std::ostream &  os,
PlacementInfo::PlacementUnpackedCell curUnpackedCell 
)

Definition at line 869 of file PlacementInfo.cc.

Here is the call graph for this function: