\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 \mbox{\hyperlink{classKatabatic_1_1ChipTools_a5296f5ccb380869255d774b70e237686}{Chip\+Tools}} (\textbf{ Cell} $\ast$) \item bool \mbox{\hyperlink{classKatabatic_1_1ChipTools_ab6b7bc2b47ead460ac00a531451dc9cf}{is\+Chip}} () const \item \textbf{ Cell} $\ast$ \mbox{\hyperlink{classKatabatic_1_1ChipTools_a55a3a88610ef1af9931e634f77f2403b}{get\+Cell}} () const \item \textbf{ Instance} $\ast$ \mbox{\hyperlink{classKatabatic_1_1ChipTools_a8be5c4aecbe9b97ed2eb9557b046b091}{get\+Core}} () const \item const \textbf{ Box} \& \mbox{\hyperlink{classKatabatic_1_1ChipTools_ada9182cc0bcdb47b156a29cf42d08651}{get\+Chip\+Bb}} () const \item const \textbf{ Box} \& \mbox{\hyperlink{classKatabatic_1_1ChipTools_aa6b5ac93ecf1ee9f94f5176664dcf4bf}{get\+Left\+Pads\+Bb}} () const \item const \textbf{ Box} \& \mbox{\hyperlink{classKatabatic_1_1ChipTools_a07e88c4c6a615019e618af327829f4d0}{get\+Right\+Pads\+Bb}} () const \item const \textbf{ Box} \& \mbox{\hyperlink{classKatabatic_1_1ChipTools_ad31ff1dbfdf55216d684b4032a73db6b}{get\+Top\+Pads\+Bb}} () const \item const \textbf{ Box} \& \mbox{\hyperlink{classKatabatic_1_1ChipTools_aad46c56aeb14b07fcdfe93b51c554828}{get\+Bottom\+Pads\+Bb}} () const \item const Torus \& \mbox{\hyperlink{classKatabatic_1_1ChipTools_a19c65013cccd38e5d4169fc25454b938}{get\+Corona}} () const \item bool \mbox{\hyperlink{classKatabatic_1_1ChipTools_a708cdae658a916324059d321fafeaa7d}{intersect\+V\+Pads}} (const \textbf{ Box} \&) const \item bool \mbox{\hyperlink{classKatabatic_1_1ChipTools_aeead79862ba27f1219a3cbb3ef6999d2}{intersect\+H\+Pads}} (const \textbf{ Box} \&) const \end{DoxyCompactItemize} \subsection{Detailed Description} Utilities for Chip Level Design. The \mbox{\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} \mbox{\Hypertarget{classKatabatic_1_1ChipTools_a5296f5ccb380869255d774b70e237686}\label{classKatabatic_1_1ChipTools_a5296f5ccb380869255d774b70e237686}} \index{Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}!Chip\+Tools@{Chip\+Tools}} \index{Chip\+Tools@{Chip\+Tools}!Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}} \subsubsection{\texorpdfstring{Chip\+Tools()}{ChipTools()}} {\footnotesize\ttfamily \mbox{\hyperlink{classKatabatic_1_1ChipTools}{Chip\+Tools}} (\begin{DoxyParamCaption}\item[{\textbf{ Cell} $\ast$}]{cell }\end{DoxyParamCaption})} 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} \mbox{\Hypertarget{classKatabatic_1_1ChipTools_ab6b7bc2b47ead460ac00a531451dc9cf}\label{classKatabatic_1_1ChipTools_ab6b7bc2b47ead460ac00a531451dc9cf}} \index{Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}!is\+Chip@{is\+Chip}} \index{is\+Chip@{is\+Chip}!Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}} \subsubsection{\texorpdfstring{is\+Chip()}{isChip()}} {\footnotesize\ttfamily bool is\+Chip (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} {\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(). \mbox{\Hypertarget{classKatabatic_1_1ChipTools_a55a3a88610ef1af9931e634f77f2403b}\label{classKatabatic_1_1ChipTools_a55a3a88610ef1af9931e634f77f2403b}} \index{Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}!get\+Cell@{get\+Cell}} \index{get\+Cell@{get\+Cell}!Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}} \subsubsection{\texorpdfstring{get\+Cell()}{getCell()}} {\footnotesize\ttfamily \textbf{ Cell} $\ast$ get\+Cell (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} {\bfseries Returns\+:} The top-\/level design. \mbox{\Hypertarget{classKatabatic_1_1ChipTools_a8be5c4aecbe9b97ed2eb9557b046b091}\label{classKatabatic_1_1ChipTools_a8be5c4aecbe9b97ed2eb9557b046b091}} \index{Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}!get\+Core@{get\+Core}} \index{get\+Core@{get\+Core}!Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}} \subsubsection{\texorpdfstring{get\+Core()}{getCore()}} {\footnotesize\ttfamily \textbf{ Instance} $\ast$ get\+Core (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} {\bfseries Returns\+:} The instance of the core, that is, the only instance that is {\itshape not} a pad... \mbox{\Hypertarget{classKatabatic_1_1ChipTools_ada9182cc0bcdb47b156a29cf42d08651}\label{classKatabatic_1_1ChipTools_ada9182cc0bcdb47b156a29cf42d08651}} \index{Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}!get\+Chip\+Bb@{get\+Chip\+Bb}} \index{get\+Chip\+Bb@{get\+Chip\+Bb}!Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}} \subsubsection{\texorpdfstring{get\+Chip\+Bb()}{getChipBb()}} {\footnotesize\ttfamily const \textbf{ Box} \& get\+Chip\+Bb (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} {\bfseries Returns\+:} The chip complete bounding box, this $\ast$is$\ast$ simply the Cell bounding box. \mbox{\Hypertarget{classKatabatic_1_1ChipTools_aa6b5ac93ecf1ee9f94f5176664dcf4bf}\label{classKatabatic_1_1ChipTools_aa6b5ac93ecf1ee9f94f5176664dcf4bf}} \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\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}} \subsubsection{\texorpdfstring{get\+Left\+Pads\+Bb()}{getLeftPadsBb()}} {\footnotesize\ttfamily const \textbf{ Box} \& get\+Left\+Pads\+Bb (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} {\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} \mbox{\Hypertarget{classKatabatic_1_1ChipTools_a07e88c4c6a615019e618af327829f4d0}\label{classKatabatic_1_1ChipTools_a07e88c4c6a615019e618af327829f4d0}} \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\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}} \subsubsection{\texorpdfstring{get\+Right\+Pads\+Bb()}{getRightPadsBb()}} {\footnotesize\ttfamily const \textbf{ Box} \& get\+Right\+Pads\+Bb (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} {\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} \mbox{\Hypertarget{classKatabatic_1_1ChipTools_ad31ff1dbfdf55216d684b4032a73db6b}\label{classKatabatic_1_1ChipTools_ad31ff1dbfdf55216d684b4032a73db6b}} \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\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}} \subsubsection{\texorpdfstring{get\+Top\+Pads\+Bb()}{getTopPadsBb()}} {\footnotesize\ttfamily const \textbf{ Box} \& get\+Top\+Pads\+Bb (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} {\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} \mbox{\Hypertarget{classKatabatic_1_1ChipTools_aad46c56aeb14b07fcdfe93b51c554828}\label{classKatabatic_1_1ChipTools_aad46c56aeb14b07fcdfe93b51c554828}} \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\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}} \subsubsection{\texorpdfstring{get\+Bottom\+Pads\+Bb()}{getBottomPadsBb()}} {\footnotesize\ttfamily const \textbf{ Box} \& get\+Bottom\+Pads\+Bb (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} {\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} \mbox{\Hypertarget{classKatabatic_1_1ChipTools_a19c65013cccd38e5d4169fc25454b938}\label{classKatabatic_1_1ChipTools_a19c65013cccd38e5d4169fc25454b938}} \index{Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}!get\+Corona@{get\+Corona}} \index{get\+Corona@{get\+Corona}!Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}} \subsubsection{\texorpdfstring{get\+Corona()}{getCorona()}} {\footnotesize\ttfamily const Torus \& get\+Corona (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} {\bfseries Returns\+:} The torus (in term of manhanttan distance) enclosed between the pad area and the core area. \mbox{\Hypertarget{classKatabatic_1_1ChipTools_a708cdae658a916324059d321fafeaa7d}\label{classKatabatic_1_1ChipTools_a708cdae658a916324059d321fafeaa7d}} \index{Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}!intersect\+V\+Pads@{intersect\+V\+Pads}} \index{intersect\+V\+Pads@{intersect\+V\+Pads}!Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}} \subsubsection{\texorpdfstring{intersect\+V\+Pads()}{intersectVPads()}} {\footnotesize\ttfamily bool intersect\+V\+Pads (\begin{DoxyParamCaption}\item[{const \textbf{ Box} \&}]{box }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} {\bfseries Returns\+:} {\bfseries true} if {\ttfamily box} intersect either the left or right pad box. References Box\+::intersect(). \mbox{\Hypertarget{classKatabatic_1_1ChipTools_aeead79862ba27f1219a3cbb3ef6999d2}\label{classKatabatic_1_1ChipTools_aeead79862ba27f1219a3cbb3ef6999d2}} \index{Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}!intersect\+H\+Pads@{intersect\+H\+Pads}} \index{intersect\+H\+Pads@{intersect\+H\+Pads}!Katabatic\+::\+Chip\+Tools@{Katabatic\+::\+Chip\+Tools}} \subsubsection{\texorpdfstring{intersect\+H\+Pads()}{intersectHPads()}} {\footnotesize\ttfamily bool intersect\+H\+Pads (\begin{DoxyParamCaption}\item[{const \textbf{ Box} \&}]{box }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}} {\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}