2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1ChipTools} { \section { Chip\- Tools Class Reference}
\label { classKatabatic_ 1_ 1ChipTools} \index { Chip\- Tools@{ Chip\- Tools} }
}
2018-06-06 11:42:26 -05:00
Utilities for Chip Level Design.
\subsection * { Public Member Functions}
\begin { DoxyCompactItemize}
\item
2018-08-19 06:27:09 -05:00
\hyperlink { classKatabatic_ 1_ 1ChipTools_ a5296f5ccb380869255d774b70e237686} { Chip\- Tools} ({ \bf Cell} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1ChipTools_ a390b4da0f5d92dc7586dbb35fb33f105} { is\- Chip} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
{ \bf Cell} $ \ast $ \hyperlink { classKatabatic_ 1_ 1ChipTools_ a148fdf09f18e7adb39a73c747f165266} { get\- Cell} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
{ \bf Instance} $ \ast $ \hyperlink { classKatabatic_ 1_ 1ChipTools_ a9b0b85c44c108a2a17a01d86f17e1db9} { get\- Core} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
const { \bf Box} \& \hyperlink { classKatabatic_ 1_ 1ChipTools_ a31b90ca92688051b3a99b1adc13fa311} { get\- Chip\- Bb} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
const { \bf Box} \& \hyperlink { classKatabatic_ 1_ 1ChipTools_ ab211c70912b6a16c03ca1e2e06c90b0b} { get\- Left\- Pads\- Bb} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
const { \bf Box} \& \hyperlink { classKatabatic_ 1_ 1ChipTools_ ae6f1937b84779a9d96fc08f0d5752390} { get\- Right\- Pads\- Bb} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
const { \bf Box} \& \hyperlink { classKatabatic_ 1_ 1ChipTools_ aa21203c8ef37b4f3e4e82e6cc1ef8c64} { get\- Top\- Pads\- Bb} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
const { \bf Box} \& \hyperlink { classKatabatic_ 1_ 1ChipTools_ aaff5b9fb64c2344b6ab0aaf5e5e36caf} { get\- Bottom\- Pads\- Bb} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
const Torus \& \hyperlink { classKatabatic_ 1_ 1ChipTools_ a3db402fb2e0839749fe524882d77eddd} { get\- Corona} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1ChipTools_ a2aea3372bc7e8ec1d0a70681544d8202} { intersect\- V\- Pads} (const { \bf Box} \& ) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1ChipTools_ a6af8e197289a2a6c5e3aab0a658c4969} { intersect\- H\- Pads} (const { \bf Box} \& ) const
2018-06-06 11:42:26 -05:00
\end { DoxyCompactItemize}
\subsection { Detailed Description}
Utilities for Chip Level Design.
2018-08-19 06:27:09 -05:00
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.
2018-06-06 11:42:26 -05:00
\subsection { Constructor \& Destructor Documentation}
2018-08-19 06:27:09 -05:00
\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} .
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
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().
2018-06-06 11:42:26 -05:00
\subsection { Member Function Documentation}
2018-08-19 06:27:09 -05:00
\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\- :}
2018-06-06 11:42:26 -05:00
This box is computed from the chip bounding box and the pad height.
\end { DoxyParagraph}
2018-08-19 06:27:09 -05:00
\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\- :}
2018-06-06 11:42:26 -05:00
This box is computed from the chip bounding box and the pad height.
\end { DoxyParagraph}
2018-08-19 06:27:09 -05:00
\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\- :}
2018-06-06 11:42:26 -05:00
This box is computed from the chip bounding box and the pad height.
\end { DoxyParagraph}
2018-08-19 06:27:09 -05:00
\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\- :}
2018-06-06 11:42:26 -05:00
This box is computed from the chip bounding box and the pad height.
\end { DoxyParagraph}
2018-08-19 06:27:09 -05:00
\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}
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
Chip\- Tools.\- h\item
Chip\- Tools.\- cpp\item
Chip\- Tools.\- dox\end { DoxyCompactItemize}