// -*- C++ -*- namespace Katabatic { /*! \class ChipTools * * \brief Utilities for Chip Level Design * * The ChipTools class provides a small set of utilities to ease * the managment of a complete chip following the Alliance top * hierarchical structure. */ //! \function ChipTools::ChipTools ( Cell* cell ); //! Create a ChipTool for \c cell. //! \function bool ChipTools::isChip () const; //! \sreturn \true if the Cell is truly a top level design. If not, this //! object is useless and does nothing. //! \function Cell* ChipTools::getCell () const; //! \sreturn The top-level design. //! \function Instance* ChipTools::getCore () const; //! \sreturn The instance of the core, that is, the only instance that is //! \e not a pad... //! \function const Box& ChipTools::getChipBb () const; //! \sreturn The chip complete bounding box, this *is* simply the Cell bounding box. //! \function const Box& ChipTools::getLeftPadsBb () const; //! \sreturn The bounding box enclosing all the pads on the left side of the chip. //! //! \remark This box is computed from the chip bounding box and the pad height. //! \function const Box& ChipTools::getRightPadsBb () const; //! \sreturn The bounding box enclosing all the pads on the right side of the chip. //! //! \remark This box is computed from the chip bounding box and the pad height. //! \function const Box& ChipTools::getTopPadsBb () const; //! \sreturn The bounding box enclosing all the pads on the top side of the chip. //! //! \remark This box is computed from the chip bounding box and the pad height. //! \function const Box& ChipTools::getBottomPadsBb () const; //! \sreturn The bounding box enclosing all the pads on the bottom side of the chip. //! //! \remark This box is computed from the chip bounding box and the pad height. //! \function const Torus& ChipTools::getCorona () const; //! \sreturn The torus (in term of manhanttan distance) enclosed between the pad area //! and the core area. //! \function bool ChipTools::intersectVPads ( const Box& ) const; //! \sreturn \true if \c box intersect either the left or right pad box. //! \function bool ChipTools::intersectHPads ( const Box& ) const; //! \sreturn \true if \c box intersect either the top or bottom pad box. }