\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}
