\hypertarget{classKatabatic_1_1ChipTools}{\section{Chip\-Tools Class Reference} \label{classKatabatic_1_1ChipTools}\index{Chip\-Tools@{Chip\-Tools}} } Utilities for Chip Level Design. \subsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \hyperlink{classKatabatic_1_1ChipTools_a5296f5ccb380869255d774b70e237686}{Chip\-Tools} ({\bf Cell} $\ast$) \item bool \hyperlink{classKatabatic_1_1ChipTools_a390b4da0f5d92dc7586dbb35fb33f105}{is\-Chip} () const \item {\bf Cell} $\ast$ \hyperlink{classKatabatic_1_1ChipTools_a148fdf09f18e7adb39a73c747f165266}{get\-Cell} () const \item {\bf Instance} $\ast$ \hyperlink{classKatabatic_1_1ChipTools_a9b0b85c44c108a2a17a01d86f17e1db9}{get\-Core} () const \item const {\bf Box} \& \hyperlink{classKatabatic_1_1ChipTools_a31b90ca92688051b3a99b1adc13fa311}{get\-Chip\-Bb} () const \item const {\bf Box} \& \hyperlink{classKatabatic_1_1ChipTools_ab211c70912b6a16c03ca1e2e06c90b0b}{get\-Left\-Pads\-Bb} () const \item const {\bf Box} \& \hyperlink{classKatabatic_1_1ChipTools_ae6f1937b84779a9d96fc08f0d5752390}{get\-Right\-Pads\-Bb} () const \item const {\bf Box} \& \hyperlink{classKatabatic_1_1ChipTools_aa21203c8ef37b4f3e4e82e6cc1ef8c64}{get\-Top\-Pads\-Bb} () const \item const {\bf Box} \& \hyperlink{classKatabatic_1_1ChipTools_aaff5b9fb64c2344b6ab0aaf5e5e36caf}{get\-Bottom\-Pads\-Bb} () const \item const Torus \& \hyperlink{classKatabatic_1_1ChipTools_a3db402fb2e0839749fe524882d77eddd}{get\-Corona} () const \item bool \hyperlink{classKatabatic_1_1ChipTools_a2aea3372bc7e8ec1d0a70681544d8202}{intersect\-V\-Pads} (const {\bf Box} \&) const \item bool \hyperlink{classKatabatic_1_1ChipTools_a6af8e197289a2a6c5e3aab0a658c4969}{intersect\-H\-Pads} (const {\bf Box} \&) const \end{DoxyCompactItemize} \subsection{Detailed Description} Utilities for Chip Level Design. The \hyperlink{classKatabatic_1_1ChipTools}{Chip\-Tools} class provides a small set of utilities to ease the managment of a complete chip following the Alliance top hierarchical structure. \subsection{Constructor \& Destructor Documentation} \hypertarget{classKatabatic_1_1ChipTools_a5296f5ccb380869255d774b70e237686}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!Chip\-Tools@{Chip\-Tools}} \index{Chip\-Tools@{Chip\-Tools}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}} \subsubsection[{Chip\-Tools}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Chip\-Tools} ( \begin{DoxyParamCaption} \item[{{\bf Cell} $\ast$}]{cell} \end{DoxyParamCaption} )}}\label{classKatabatic_1_1ChipTools_a5296f5ccb380869255d774b70e237686} Create a Chip\-Tool for {\ttfamily cell}. References Cell\-::get\-Abutment\-Box(), Entity\-::get\-Bounding\-Box(), Data\-Base\-::get\-D\-B(), Box\-::get\-Height(), Net\-::get\-Horizontals(), Technology\-::get\-Layer(), Instance\-::get\-Master\-Cell(), Instance\-::get\-Name(), Cell\-::get\-Name(), Cell\-::get\-Net(), Data\-Base\-::get\-Technology(), Box\-::get\-Width(), Box\-::get\-X\-Max(), Box\-::get\-X\-Min(), Box\-::get\-Y\-Max(), Box\-::get\-Y\-Min(), Box\-::inflate(), and Chip\-Tools\-::is\-Chip(). \subsection{Member Function Documentation} \hypertarget{classKatabatic_1_1ChipTools_a390b4da0f5d92dc7586dbb35fb33f105}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!is\-Chip@{is\-Chip}} \index{is\-Chip@{is\-Chip}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}} \subsubsection[{is\-Chip}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Chip ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_a390b4da0f5d92dc7586dbb35fb33f105} {\bfseries Returns\-:} {\bfseries true} if the Cell is truly a top level design. If not, this object is useless and does nothing. Referenced by Chip\-Tools\-::\-Chip\-Tools(), Katabatic\-Engine\-::create\-Detailed\-Grid(), and Katabatic\-Engine\-::is\-Chip(). \hypertarget{classKatabatic_1_1ChipTools_a148fdf09f18e7adb39a73c747f165266}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Cell@{get\-Cell}} \index{get\-Cell@{get\-Cell}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}} \subsubsection[{get\-Cell}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Cell} $\ast$ get\-Cell ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_a148fdf09f18e7adb39a73c747f165266} {\bfseries Returns\-:} The top-\/level design. \hypertarget{classKatabatic_1_1ChipTools_a9b0b85c44c108a2a17a01d86f17e1db9}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Core@{get\-Core}} \index{get\-Core@{get\-Core}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}} \subsubsection[{get\-Core}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Instance} $\ast$ get\-Core ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_a9b0b85c44c108a2a17a01d86f17e1db9} {\bfseries Returns\-:} The instance of the core, that is, the only instance that is {\itshape not} a pad... \hypertarget{classKatabatic_1_1ChipTools_a31b90ca92688051b3a99b1adc13fa311}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Chip\-Bb@{get\-Chip\-Bb}} \index{get\-Chip\-Bb@{get\-Chip\-Bb}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}} \subsubsection[{get\-Chip\-Bb}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Box} \& get\-Chip\-Bb ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_a31b90ca92688051b3a99b1adc13fa311} {\bfseries Returns\-:} The chip complete bounding box, this $\ast$is$\ast$ simply the Cell bounding box. \hypertarget{classKatabatic_1_1ChipTools_ab211c70912b6a16c03ca1e2e06c90b0b}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Left\-Pads\-Bb@{get\-Left\-Pads\-Bb}} \index{get\-Left\-Pads\-Bb@{get\-Left\-Pads\-Bb}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}} \subsubsection[{get\-Left\-Pads\-Bb}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Box} \& get\-Left\-Pads\-Bb ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_ab211c70912b6a16c03ca1e2e06c90b0b} {\bfseries Returns\-:} The bounding box enclosing all the pads on the left side of the chip. \begin{DoxyParagraph}{Remark\-:} This box is computed from the chip bounding box and the pad height. \end{DoxyParagraph} \hypertarget{classKatabatic_1_1ChipTools_ae6f1937b84779a9d96fc08f0d5752390}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Right\-Pads\-Bb@{get\-Right\-Pads\-Bb}} \index{get\-Right\-Pads\-Bb@{get\-Right\-Pads\-Bb}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}} \subsubsection[{get\-Right\-Pads\-Bb}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Box} \& get\-Right\-Pads\-Bb ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_ae6f1937b84779a9d96fc08f0d5752390} {\bfseries Returns\-:} The bounding box enclosing all the pads on the right side of the chip. \begin{DoxyParagraph}{Remark\-:} This box is computed from the chip bounding box and the pad height. \end{DoxyParagraph} \hypertarget{classKatabatic_1_1ChipTools_aa21203c8ef37b4f3e4e82e6cc1ef8c64}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Top\-Pads\-Bb@{get\-Top\-Pads\-Bb}} \index{get\-Top\-Pads\-Bb@{get\-Top\-Pads\-Bb}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}} \subsubsection[{get\-Top\-Pads\-Bb}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Box} \& get\-Top\-Pads\-Bb ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_aa21203c8ef37b4f3e4e82e6cc1ef8c64} {\bfseries Returns\-:} The bounding box enclosing all the pads on the top side of the chip. \begin{DoxyParagraph}{Remark\-:} This box is computed from the chip bounding box and the pad height. \end{DoxyParagraph} \hypertarget{classKatabatic_1_1ChipTools_aaff5b9fb64c2344b6ab0aaf5e5e36caf}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Bottom\-Pads\-Bb@{get\-Bottom\-Pads\-Bb}} \index{get\-Bottom\-Pads\-Bb@{get\-Bottom\-Pads\-Bb}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}} \subsubsection[{get\-Bottom\-Pads\-Bb}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Box} \& get\-Bottom\-Pads\-Bb ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_aaff5b9fb64c2344b6ab0aaf5e5e36caf} {\bfseries Returns\-:} The bounding box enclosing all the pads on the bottom side of the chip. \begin{DoxyParagraph}{Remark\-:} This box is computed from the chip bounding box and the pad height. \end{DoxyParagraph} \hypertarget{classKatabatic_1_1ChipTools_a3db402fb2e0839749fe524882d77eddd}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!get\-Corona@{get\-Corona}} \index{get\-Corona@{get\-Corona}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}} \subsubsection[{get\-Corona}]{\setlength{\rightskip}{0pt plus 5cm}const Torus \& get\-Corona ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_a3db402fb2e0839749fe524882d77eddd} {\bfseries Returns\-:} The torus (in term of manhanttan distance) enclosed between the pad area and the core area. \hypertarget{classKatabatic_1_1ChipTools_a2aea3372bc7e8ec1d0a70681544d8202}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!intersect\-V\-Pads@{intersect\-V\-Pads}} \index{intersect\-V\-Pads@{intersect\-V\-Pads}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}} \subsubsection[{intersect\-V\-Pads}]{\setlength{\rightskip}{0pt plus 5cm}bool intersect\-V\-Pads ( \begin{DoxyParamCaption} \item[{const {\bf Box} \&}]{box} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_a2aea3372bc7e8ec1d0a70681544d8202} {\bfseries Returns\-:} {\bfseries true} if {\ttfamily box} intersect either the left or right pad box. References Box\-::intersect(). \hypertarget{classKatabatic_1_1ChipTools_a6af8e197289a2a6c5e3aab0a658c4969}{\index{Katabatic\-::\-Chip\-Tools@{Katabatic\-::\-Chip\-Tools}!intersect\-H\-Pads@{intersect\-H\-Pads}} \index{intersect\-H\-Pads@{intersect\-H\-Pads}!Katabatic::ChipTools@{Katabatic\-::\-Chip\-Tools}} \subsubsection[{intersect\-H\-Pads}]{\setlength{\rightskip}{0pt plus 5cm}bool intersect\-H\-Pads ( \begin{DoxyParamCaption} \item[{const {\bf Box} \&}]{box} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKatabatic_1_1ChipTools_a6af8e197289a2a6c5e3aab0a658c4969} {\bfseries Returns\-:} {\bfseries true} if {\ttfamily box} intersect either the top or bottom pad box. References Box\-::intersect(). The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize} \item Chip\-Tools.\-h\item Chip\-Tools.\-cpp\item Chip\-Tools.\-dox\end{DoxyCompactItemize}