17 #ifndef KATABATIC_CHIP_TOOLS_H 18 #define KATABATIC_CHIP_TOOLS_H 21 #include "hurricane/DbU.h" 22 #include "hurricane/Torus.h" 31 using Hurricane::Record;
34 using Hurricane::Torus;
42 inline bool isChip ()
const;
43 inline Cell* getCell ()
const;
45 inline Cell* getReferencePad ()
const;
48 inline DbU::Unit getPadPowerWidth ()
const;
49 inline DbU::Unit getPadClockWidth ()
const;
50 inline const Box& getChipBb ()
const;
51 inline const Box& getLeftPadsBb ()
const;
52 inline const Box& getRightPadsBb ()
const;
53 inline const Box& getTopPadsBb ()
const;
54 inline const Box& getBottomPadsBb ()
const;
55 inline const Torus& getCorona ()
const;
56 inline const Box& getCoronaBb ()
const;
57 inline bool intersectVPads (
const Box& )
const;
58 inline bool intersectHPads (
const Box& )
const;
59 inline bool vPadsEnclosed (
const Box& )
const;
60 inline bool hPadsEnclosed (
const Box& )
const;
62 Record* _getRecord ()
const;
63 std::string _getString ()
const;
64 inline std::string _getTypeName ()
const;
84 inline bool ChipTools::isChip ()
const {
return _isChip; }
85 inline Cell* ChipTools::getCell ()
const {
return _cell; }
86 inline Instance* ChipTools::getCore ()
const {
return _core; }
87 inline Cell* ChipTools::getReferencePad ()
const {
return _referencePad; }
88 inline DbU::Unit ChipTools::getPadWidth ()
const {
return _padWidth; }
89 inline DbU::Unit ChipTools::getPadHeight ()
const {
return _padHeight; }
90 inline DbU::Unit ChipTools::getPadPowerWidth ()
const {
return _padPowerWidth; }
91 inline DbU::Unit ChipTools::getPadClockWidth ()
const {
return _padClockWidth; }
92 inline const Box& ChipTools::getChipBb ()
const {
return _chipBb; }
93 inline const Box& ChipTools::getLeftPadsBb ()
const {
return _leftPadsBb; };
94 inline const Box& ChipTools::getRightPadsBb ()
const {
return _rightPadsBb; };
95 inline const Box& ChipTools::getTopPadsBb ()
const {
return _topPadsBb; };
96 inline const Box& ChipTools::getBottomPadsBb ()
const {
return _bottomPadsBb; };
97 inline const Torus& ChipTools::getCorona ()
const {
return _chipCorona; };
98 inline const Box& ChipTools::getCoronaBb ()
const {
return _chipCorona.getOuterBox(); }
99 inline std::string ChipTools::_getTypeName ()
const {
return "ChipTools"; }
101 inline bool ChipTools::intersectVPads (
const Box& box )
const 102 {
return _leftPadsBb.
intersect(box) or _rightPadsBb.intersect(box); }
104 inline bool ChipTools::intersectHPads (
const Box& box )
const 105 {
return _topPadsBb.intersect(box) or _bottomPadsBb.intersect(box); }
107 inline bool ChipTools::vPadsEnclosed (
const Box& box )
const 108 {
return _leftPadsBb.contains(box) or _rightPadsBb.contains(box); }
110 inline bool ChipTools::hPadsEnclosed (
const Box& box )
const 111 {
return _topPadsBb.contains(box) or _bottomPadsBb.contains(box); }
118 #endif // KATABATIC_CHIP_TOOLS_H
The namespace dedicated to Katabatic.
Definition: Katabatic.dox:13
bool intersect(const Box &box) const