2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine} { \section { Katabatic\- Engine Class Reference}
\label { classKatabatic_ 1_ 1KatabaticEngine} \index { Katabatic\- Engine@{ Katabatic\- Engine} }
}
2018-06-06 11:42:26 -05:00
The \hyperlink { namespaceKatabatic} { Katabatic} Tool.
2018-08-19 06:27:09 -05:00
Inheritance diagram for Katabatic\- Engine\- :\nopagebreak
2018-06-06 11:42:26 -05:00
\begin { figure} [H]
\begin { center}
\leavevmode
\includegraphics [width=168pt] { classKatabatic_ 1_ 1KatabaticEngine_ _ inherit_ _ graph}
\end { center}
\end { figure}
\subsection * { Public Types}
\begin { DoxyCompactItemize}
\item
2018-08-19 06:27:09 -05:00
typedef set$ < $ { \bf Net} \\ *
$ \ast $ , Net\- Compare\- By\- Name $ > $ \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a92ed88f9aecd2f195089c4029fa8bcc7} { Net\- Set}
2018-06-06 11:42:26 -05:00
\end { DoxyCompactItemize}
\subsection * { Public Member Functions}
\begin { DoxyCompactItemize}
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a2f4d1f8df0e5dc9c7ad9ec6f31438790} { is\- G\- Metal} (const { \bf Layer} $ \ast $ ) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a390b4da0f5d92dc7586dbb35fb33f105} { is\- Chip} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ af3c979bc4832c7e9e9b5a1e749e038ff} { is\- In\- Demo\- Mode} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ aef1c27657e9afe69d832ec7c31c546a8} { do\- Warn\- On\- G\- Cell\- Overload} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a6ab936a51a682d97d3885fc2805531ce} { do\- Destroy\- Base\- Contact} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a217f87950b30061709e80f5fce58b5a8} { do\- Destroy\- Base\- Segment} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ ae979c1db2aa0d919e58d2d7e1b246c5e} { do\- Destroy\- Tool} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
virtual const { \bf Name} \& \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a5e23c46b801d3049b349b68774a0d298} { get\- Name} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
\hyperlink { namespaceKatabatic_ ab9e409db5feff0bdbc85e90e2a029cda} { Engine\- State} \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ aed8728c9a7c5c82507eb717490e814d6} { get\- State} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
unsigned int \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ af7b5043686805e83dbbd84fd687e25be} { get\- Flags} (unsigned int mask) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
Configuration $ \ast $ \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ adccd6ceec2c68234d3a824ad7ae3954e} { get\- Katabatic\- Configuration} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
virtual Configuration $ \ast $ \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a9a7fbadfe526875680f698c76adfb128} { get\- Configuration} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
{ \bf Routing\- Gauge} $ \ast $ \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ ae03bde33b07beff91870e3922696ff8f} { get\- Routing\- Gauge} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
{ \bf Routing\- Layer\- Gauge} $ \ast $ \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a93f9c18075b02f7fd7ba03d951f6be56} { get\- Layer\- Gauge} (size\- \_ \- t depth) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
const { \bf Layer} $ \ast $ \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a3dcc03dc20b0bdca03772901316ba6b3} { get\- Routing\- Layer} (size\- \_ \- t depth) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
{ \bf Layer} $ \ast $ \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a2b7ddb281e0b785b5d28d284bdd1f77c} { get\- Contact\- Layer} (size\- \_ \- t depth) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
\hyperlink { classKatabatic_ 1_ 1GCellGrid} { G\- Cell\- Grid} $ \ast $ \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a0702328522e94ca9705222cd5b9e9c6d} { get\- G\- Cell\- Grid} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
const \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a92ed88f9aecd2f195089c4029fa8bcc7} { Net\- Set} \& \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a7b752887b598b0244207f36eb13b9149} { get\- Routing\- Nets} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
{ \bf Db\- U\- ::\- Unit} \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ ae375ec4d6fe84babba01c056a32d5a83} { get\- Global\- Threshold} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
float \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a1563b5789b3cd5db8dc6fc1cc069dc82} { get\- Saturate\- Ratio} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
size\- \_ \- t \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a929aa539d03f19c7edbf6b34d7ec30a3} { get\- Saturate\- Rp} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
{ \bf Db\- U\- ::\- Unit} \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a7b6417a63eaf4f4d3f423dbdb8c13302} { get\- Extension\- Cap} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
const \hyperlink { classKatabatic_ 1_ 1ChipTools} { Chip\- Tools} \& \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a53565592ca14ec9f302d068327d846c8} { get\- Chip\- Tools} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ aecbe8bdcc61024a7539de3ea932c5e06} { xml\- Write\- G\- Cell\- Grid} (ostream \& )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a78394ac380a0fa462f268dcc2becc50e} { xml\- Write\- G\- Cell\- Grid} (const string \& )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a2391b9bfcb773398b9661b5ac0ef1a30} { set\- State} (\hyperlink { namespaceKatabatic_ ab9e409db5feff0bdbc85e90e2a029cda} { Engine\- State} state)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ aeb14f94914af58657a0dc2f50ec98df5} { set\- Flags} (unsigned int)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a1a6fac115cb81db48e3ac9ffa0721bb5} { unset\- Flags} (unsigned int)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a1bd1e0104b73d4c558b0e121002796a6} { set\- Global\- Threshold} ({ \bf Db\- U\- ::\- Unit} )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ ac2b780e06975ce8a0d6ca96f20cb971f} { set\- Saturate\- Ratio} (float)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ ade227e828b8c8fbfce478e353ca3ca59} { set\- Saturate\- Rp} (size\- \_ \- t)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a1b196d124bb66595a760ccc9b901d78b} { print\- Measures} (const string \& ) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a1e9bb62be35c6a415a1950c72c1964ef} { refresh} (unsigned int flags=\hyperlink { namespaceKatabatic_ a2af2ad6b6441614038caf59d04b3b217af314588109fcc5f5ee1c42e5fd4d0ed5} { Kb\- Open\- Session} )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
virtual void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a1b7d8ed09a198f7afd6e3ac911f6eb37} { create\- Detailed\- Grid} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ aaba3b9450c85634131146fb507089f2d} { make\- Power\- Rails} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
virtual void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a583925cfe4bbadcc1c24fe619debce09} { load\- Global\- Routing} (unsigned int method)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a145b36b18fc9149980c5d6bd4bd10e0d} { slacken\- Border} ({ \bf Box} bb, { \bf Layer\- ::\- Mask} , unsigned int flags)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ ac40754d4a9bd0cf327b5fa088e993897} { slacken\- Block\- Ios} ({ \bf Instance} $ \ast $ core)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ abb2b28adfaca2cc36716db41b093f355} { move\- Up\- Net\- Trunk} (\hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ , set$ < $ { \bf Net} $ \ast $ $ > $ \& global\- Nets, \hyperlink { classKatabatic_ 1_ 1GCell_ aacb1c215b203bfba5729f135b3221d40} { G\- Cell\- ::\- Set\- Index} \& invalidateds)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a77833ce938a430785ba869eedbc2300c} { layer\- Assign} (unsigned int method)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a6957a5830a4d6f1b2daf83a7d98df601} { compute\- Net\- Constraints} ({ \bf Net} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ ad6b9f7d94ee4a88f12c485e48d1e644a} { to\- Optimals} ({ \bf Net} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
virtual void \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a468eddb683c04cfeea1c5124a39e1f86} { finalize\- Layout} ()
2018-06-06 11:42:26 -05:00
\end { DoxyCompactItemize}
\subsection * { Static Public Member Functions}
\begin { DoxyCompactItemize}
\item
2018-08-19 06:27:09 -05:00
static \hyperlink { classKatabatic_ 1_ 1KatabaticEngine} { Katabatic\- Engine} $ \ast $ \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ ab877a64c314024602cfb04631ebfbfc4} { create} ({ \bf Cell} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static const { \bf Name} \& \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a802eee6265da8d536db52d412f8a4afd} { static\- Get\- Name} ()
2018-06-06 11:42:26 -05:00
\end { DoxyCompactItemize}
\subsection { Detailed Description}
The \hyperlink { namespaceKatabatic} { Katabatic} Tool.
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ secEngineStates} { } \subsection { States of Katabatic\- Engine} \label { classKatabatic_ 1_ 1KatabaticEngine_ secEngineStates}
During it's lifecycle, the engine go through a serie of states. It only can go forward between states.
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\item { \bfseries Engine\- Creation} \- : just after C++ object creation until the global routing is loaded.
\item { \bfseries Engine\- Global\- Loaded} \- : { \itshape after} the global routing has been done. This state must be set by an external tool, \hyperlink { namespaceKatabatic} { Katabatic} cannot know by itself when the global routing has been done (see Kite).
\item { \bfseries Engine\- Active} \- : { \itshape after} the global routing has been converted into the \hyperlink { namespaceKatabatic} { Katabatic} data structure. At this point the tool is ready to run.
\item { \bfseries Engine\- Driving} \- : { \itshape during} the stage of stripping all the decorations the tool has added over the { \bf Hurricane} data structure (mostly\- : \hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} \& \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} ).
\item { \bfseries Engine\- Gutted} \- : { \itshape after} the tool decorations have been removed. The tool is now useless and can only be destroyed.
\item { \bfseries Engine\- Pre\- Destroying} \- : this special state is reached when going straight from Engine\- Active to the destructor, that is, skipping the Engine\- Driving state. That means we { \itshape do not} want to save whatever routing has been done. In that case, not only the tool decorations are destroyeds, but also the { \bf Hurricane} data-\/ structures they relies on (Contact, Segments).
\end { DoxyItemize} \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ secEngineImpl} { } \subsection { Katabatic\- Engine Implementation Details} \label { classKatabatic_ 1_ 1KatabaticEngine_ secEngineImpl}
Due to the size of the code and the fact that the main body of some methods do not need to be present in the class, the implementation of \hyperlink { classKatabatic_ 1_ 1KatabaticEngine} { Katabatic\- Engine} is split in several files. The list below summarize them\- :
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\item { \ttfamily Katabatic\- Engine.\- cpp} \- : the core of the class, methods that really need their bodies here.
\item { \ttfamily Power\- Rails.\- cpp} \- : utilities to construct an abstract from all the power rails through the hierarchy.
\item { \ttfamily Layer\- Assign.\- cpp} \- : layer assignement related methods and helpers.
\item { \ttfamily Load\- Gr\- By\- Net.\- cpp} \- : global routing loader, transform global routing into \hyperlink { namespaceKatabatic} { Katabatic} data-\/ structure.
\item { \ttfamily Net\- Constraints.\- cpp} \- : compute the topological constraints of all Auto\- Segment/\- Auto\- Contact of a Net.
\item { \ttfamily Net\- Optimals.\- cpp} \- : compute the optimal positions of all \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} of a Net.
2018-06-06 11:42:26 -05:00
\end { DoxyItemize}
\subsection { Member Typedef Documentation}
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a92ed88f9aecd2f195089c4029fa8bcc7} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !Net\- Set@{ Net\- Set} }
\index { Net\- Set@{ Net\- Set} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{Net\-Set}] { \setlength { \rightskip } { 0pt plus 5cm} set$ < $ { \bf Net} $ \ast $ , Net\- Compare\- By\- Name $ > $ { \bf Net\- Set} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a92ed88f9aecd2f195089c4029fa8bcc7}
2018-06-06 11:42:26 -05:00
Set of Net to be routed, alphabetically sorteds.
\subsection { Member Function Documentation}
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ ab877a64c314024602cfb04631ebfbfc4} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !create@{ create} }
\index { create@{ create} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{create}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Katabatic\- Engine} $ \ast $ create (
\begin { DoxyParamCaption}
\item [{{\bf Cell} $\ast$}] { cell}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ ab877a64c314024602cfb04631ebfbfc4}
Create a \hyperlink { classKatabatic_ 1_ 1KatabaticEngine} { Katabatic\- Engine} on { \ttfamily cell} . \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a802eee6265da8d536db52d412f8a4afd} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !static\- Get\- Name@{ static\- Get\- Name} }
\index { static\- Get\- Name@{ static\- Get\- Name} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{static\-Get\-Name}] { \setlength { \rightskip } { 0pt plus 5cm} const { \bf Name} \& static\- Get\- Name (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a802eee6265da8d536db52d412f8a4afd}
{ \bfseries Returns\- :} The unique string identifier for the \hyperlink { classKatabatic_ 1_ 1KatabaticEngine} { Katabatic\- Engine} class of Tool\- Engine. \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a2f4d1f8df0e5dc9c7ad9ec6f31438790} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !is\- G\- Metal@{ is\- G\- Metal} }
\index { is\- G\- Metal@{ is\- G\- Metal} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{is\-G\-Metal}] { \setlength { \rightskip } { 0pt plus 5cm} bool is\- G\- Metal (
\begin { DoxyParamCaption}
\item [{const {\bf Layer} $\ast$}] { layer}
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a2f4d1f8df0e5dc9c7ad9ec6f31438790}
{ \bfseries Returns\- :} { \bfseries true} if { \ttfamily layer} is one of the special (fake) metals used to build the global routing.
Referenced by Auto\- Segment\- ::create().
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a390b4da0f5d92dc7586dbb35fb33f105} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !is\- Chip@{ is\- Chip} }
\index { is\- Chip@{ is\- Chip} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{is\-Chip}] { \setlength { \rightskip } { 0pt plus 5cm} bool is\- Chip (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a390b4da0f5d92dc7586dbb35fb33f105}
{ \bfseries Returns\- :} { \bfseries true} if the hierarchy top-\/ level of the Cell matches the one of a complete design (i.\- e. pads and one core instance).
References Chip\- Tools\- ::is\- Chip().
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ af3c979bc4832c7e9e9b5a1e749e038ff} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !is\- In\- Demo\- Mode@{ is\- In\- Demo\- Mode} }
\index { is\- In\- Demo\- Mode@{ is\- In\- Demo\- Mode} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{is\-In\-Demo\-Mode}] { \setlength { \rightskip } { 0pt plus 5cm} bool is\- In\- Demo\- Mode (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ af3c979bc4832c7e9e9b5a1e749e038ff}
{ \bfseries Returns\- :} { \bfseries true} if the tool is in demo mode, that is suppress almost all warning and debug messages.
Referenced by Session\- ::is\- In\- Demo\- Mode().
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ aef1c27657e9afe69d832ec7c31c546a8} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !do\- Warn\- On\- G\- Cell\- Overload@{ do\- Warn\- On\- G\- Cell\- Overload} }
\index { do\- Warn\- On\- G\- Cell\- Overload@{ do\- Warn\- On\- G\- Cell\- Overload} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{do\-Warn\-On\-G\-Cell\-Overload}] { \setlength { \rightskip } { 0pt plus 5cm} bool do\- Warn\- On\- G\- Cell\- Overload (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ aef1c27657e9afe69d832ec7c31c546a8}
{ \bfseries Returns\- :} { \bfseries true} if the tool should issue a warning when a \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} is overloaded (overload could be transient).
Referenced by Session\- ::do\- Warn\- G\- Cell\- Overload().
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a6ab936a51a682d97d3885fc2805531ce} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !do\- Destroy\- Base\- Contact@{ do\- Destroy\- Base\- Contact} }
\index { do\- Destroy\- Base\- Contact@{ do\- Destroy\- Base\- Contact} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{do\-Destroy\-Base\-Contact}] { \setlength { \rightskip } { 0pt plus 5cm} bool do\- Destroy\- Base\- Contact (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a6ab936a51a682d97d3885fc2805531ce}
{ \bfseries Returns\- :} { \bfseries true} if the Engine\- Destroy\- Base\- Contact is set, meaning that when an \hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} is destroyed, the Contact it decorates is destroyed altogether. \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a217f87950b30061709e80f5fce58b5a8} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !do\- Destroy\- Base\- Segment@{ do\- Destroy\- Base\- Segment} }
\index { do\- Destroy\- Base\- Segment@{ do\- Destroy\- Base\- Segment} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{do\-Destroy\-Base\-Segment}] { \setlength { \rightskip } { 0pt plus 5cm} bool do\- Destroy\- Base\- Segment (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a217f87950b30061709e80f5fce58b5a8}
{ \bfseries Returns\- :} { \bfseries true} if the Engine\- Destroy\- Base\- Segment is set, meaning that when an \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} is destroyed, the Segment it decorates is destroyed altogether. \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ ae979c1db2aa0d919e58d2d7e1b246c5e} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !do\- Destroy\- Tool@{ do\- Destroy\- Tool} }
\index { do\- Destroy\- Tool@{ do\- Destroy\- Tool} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{do\-Destroy\-Tool}] { \setlength { \rightskip } { 0pt plus 5cm} bool do\- Destroy\- Tool (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ ae979c1db2aa0d919e58d2d7e1b246c5e}
{ \bfseries Returns\- :} { \bfseries true} if the tool state is beyond Engine\- State\- Gutted, that is, only waits for { \ttfamily { \bf destroy()} } to be called.
References Katabatic\- ::\- Engine\- Gutted.
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a5e23c46b801d3049b349b68774a0d298} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- Name@{ get\- Name} }
\index { get\- Name@{ get\- Name} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-Name}] { \setlength { \rightskip } { 0pt plus 5cm} const { \bf Name} \& get\- Name (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [virtual]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a5e23c46b801d3049b349b68774a0d298}
{ \bfseries Returns\- :} The unique string identifier for the \hyperlink { classKatabatic_ 1_ 1KatabaticEngine} { Katabatic\- Engine} class of Tool\- Engine.
Implements { \bf Tool\- Engine} .
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ aed8728c9a7c5c82507eb717490e814d6} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- State@{ get\- State} }
\index { get\- State@{ get\- State} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-State}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Engine\- State} get\- State (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ aed8728c9a7c5c82507eb717490e814d6}
{ \bfseries Returns\- :} The state the tool is currently in. \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ af7b5043686805e83dbbd84fd687e25be} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- Flags@{ get\- Flags} }
\index { get\- Flags@{ get\- Flags} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-Flags}] { \setlength { \rightskip } { 0pt plus 5cm} unsigned int get\- Flags (
\begin { DoxyParamCaption}
\item [{unsigned int}] { mask}
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ af7b5043686805e83dbbd84fd687e25be}
{ \bfseries Returns\- :} The { \itshape anded} combination of the tool flags and { \ttfamily mask} . \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ adccd6ceec2c68234d3a824ad7ae3954e} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- Katabatic\- Configuration@{ get\- Katabatic\- Configuration} }
\index { get\- Katabatic\- Configuration@{ get\- Katabatic\- Configuration} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-Katabatic\-Configuration}] { \setlength { \rightskip } { 0pt plus 5cm} Configuration $ \ast $ get\- Katabatic\- Configuration (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ adccd6ceec2c68234d3a824ad7ae3954e}
{ \bfseries Returns\- :} The Configuration of \hyperlink { namespaceKatabatic} { Katabatic} . In this class it is redundant with \hyperlink { classKatabatic_ 1_ 1KatabaticEngine_ a9a7fbadfe526875680f698c76adfb128} { get\- Configuration()} , but may be useful in derived classes. \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a9a7fbadfe526875680f698c76adfb128} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- Configuration@{ get\- Configuration} }
\index { get\- Configuration@{ get\- Configuration} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-Configuration}] { \setlength { \rightskip } { 0pt plus 5cm} Configuration $ \ast $ get\- Configuration (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [virtual]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a9a7fbadfe526875680f698c76adfb128}
{ \bfseries Returns\- :} The Configuration of the current Tool\- Engine. \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ ae03bde33b07beff91870e3922696ff8f} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- Routing\- Gauge@{ get\- Routing\- Gauge} }
\index { get\- Routing\- Gauge@{ get\- Routing\- Gauge} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-Routing\-Gauge}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Routing\- Gauge} $ \ast $ get\- Routing\- Gauge (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ ae03bde33b07beff91870e3922696ff8f}
{ \bfseries Returns\- :} The Routing\- Gauge (Configuration shortcut). \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a93f9c18075b02f7fd7ba03d951f6be56} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- Layer\- Gauge@{ get\- Layer\- Gauge} }
\index { get\- Layer\- Gauge@{ get\- Layer\- Gauge} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-Layer\-Gauge}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Routing\- Layer\- Gauge} $ \ast $ get\- Layer\- Gauge (
\begin { DoxyParamCaption}
\item [{size\-\_\-t}] { depth}
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a93f9c18075b02f7fd7ba03d951f6be56}
{ \bfseries Returns\- :} The Routing\- Layer\- Gauge associated to { \ttfamily depth} (Configuration shortcut). \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a3dcc03dc20b0bdca03772901316ba6b3} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- Routing\- Layer@{ get\- Routing\- Layer} }
\index { get\- Routing\- Layer@{ get\- Routing\- Layer} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-Routing\-Layer}] { \setlength { \rightskip } { 0pt plus 5cm} const { \bf Layer} $ \ast $ get\- Routing\- Layer (
\begin { DoxyParamCaption}
\item [{size\-\_\-t}] { depth}
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a3dcc03dc20b0bdca03772901316ba6b3}
{ \bfseries Returns\- :} The routing Layer associated to { \ttfamily depth} (Configuration shortcut). \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a2b7ddb281e0b785b5d28d284bdd1f77c} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- Contact\- Layer@{ get\- Contact\- Layer} }
\index { get\- Contact\- Layer@{ get\- Contact\- Layer} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-Contact\-Layer}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Layer} $ \ast $ get\- Contact\- Layer (
\begin { DoxyParamCaption}
\item [{size\-\_\-t}] { depth}
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a2b7ddb281e0b785b5d28d284bdd1f77c}
{ \bfseries Returns\- :} The contact Layer associated to { \ttfamily depth} (Configuration shortcut). \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a0702328522e94ca9705222cd5b9e9c6d} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- G\- Cell\- Grid@{ get\- G\- Cell\- Grid} }
\index { get\- G\- Cell\- Grid@{ get\- G\- Cell\- Grid} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-G\-Cell\-Grid}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf G\- Cell\- Grid} $ \ast $ get\- G\- Cell\- Grid (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a0702328522e94ca9705222cd5b9e9c6d}
{ \bfseries Returns\- :} The \hyperlink { classKatabatic_ 1_ 1GCellGrid} { G\- Cell\- Grid} .
Referenced by G\- Cell\- Topology\- ::do\- Rp\- \_ \- \- Access\- Pad(), G\- Cell\- Topology\- ::do\- Rp\- \_ \- \- Auto\- Contacts(), and anonymous\- \_ \- namespace\{ \- Load\- Gr\- By\- Net.\- cpp\} \- ::single\- G\- Cell().
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a7b752887b598b0244207f36eb13b9149} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- Routing\- Nets@{ get\- Routing\- Nets} }
\index { get\- Routing\- Nets@{ get\- Routing\- Nets} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-Routing\-Nets}] { \setlength { \rightskip } { 0pt plus 5cm} const { \bf Net\- Set} \& get\- Routing\- Nets (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a7b752887b598b0244207f36eb13b9149}
{ \bfseries Returns\- :} The set of nets to be routeds. \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ ae375ec4d6fe84babba01c056a32d5a83} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- Global\- Threshold@{ get\- Global\- Threshold} }
\index { get\- Global\- Threshold@{ get\- Global\- Threshold} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-Global\-Threshold}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Db\- U\- ::\- Unit} get\- Global\- Threshold (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ ae375ec4d6fe84babba01c056a32d5a83}
{ \bfseries Returns\- :} The length above which a global wire is moved up in the layer assignment stage (Configuration shortcut). \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a1563b5789b3cd5db8dc6fc1cc069dc82} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- Saturate\- Ratio@{ get\- Saturate\- Ratio} }
\index { get\- Saturate\- Ratio@{ get\- Saturate\- Ratio} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-Saturate\-Ratio}] { \setlength { \rightskip } { 0pt plus 5cm} float get\- Saturate\- Ratio (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a1563b5789b3cd5db8dc6fc1cc069dc82}
{ \bfseries Returns\- :} The ratio above which a \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} is considered to be saturated (Configuration shortcut).
Referenced by Session\- ::get\- Saturate\- Ratio().
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a929aa539d03f19c7edbf6b34d7ec30a3} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- Saturate\- Rp@{ get\- Saturate\- Rp} }
\index { get\- Saturate\- Rp@{ get\- Saturate\- Rp} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-Saturate\-Rp}] { \setlength { \rightskip } { 0pt plus 5cm} size\- \_ \- t get\- Saturate\- Rp (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a929aa539d03f19c7edbf6b34d7ec30a3}
{ \bfseries Returns\- :} The number of Routing\- Pad above which a \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} is saturated, causing extras global segments to be moved up. (Configuration shortcut).
Referenced by Session\- ::get\- Saturate\- Rp().
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a7b6417a63eaf4f4d3f423dbdb8c13302} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- Extension\- Cap@{ get\- Extension\- Cap} }
\index { get\- Extension\- Cap@{ get\- Extension\- Cap} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-Extension\-Cap}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Db\- U\- ::\- Unit} get\- Extension\- Cap (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a7b6417a63eaf4f4d3f423dbdb8c13302}
{ \bfseries Returns\- :} The wires extension cap, same for all layers for the time beeing (Configuration shortcut). \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a53565592ca14ec9f302d068327d846c8} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !get\- Chip\- Tools@{ get\- Chip\- Tools} }
\index { get\- Chip\- Tools@{ get\- Chip\- Tools} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{get\-Chip\-Tools}] { \setlength { \rightskip } { 0pt plus 5cm} const { \bf Chip\- Tools} \& get\- Chip\- Tools (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a53565592ca14ec9f302d068327d846c8}
{ \bfseries Returns\- :} The chip tools (for whole designs).
Referenced by Katabatic\- Engine\- ::create\- Detailed\- Grid().
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ aecbe8bdcc61024a7539de3ea932c5e06} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !xml\- Write\- G\- Cell\- Grid@{ xml\- Write\- G\- Cell\- Grid} }
\index { xml\- Write\- G\- Cell\- Grid@{ xml\- Write\- G\- Cell\- Grid} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{xml\-Write\-G\-Cell\-Grid}] { \setlength { \rightskip } { 0pt plus 5cm} void xml\- Write\- G\- Cell\- Grid (
\begin { DoxyParamCaption}
\item [{ostream \&}] { o}
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1KatabaticEngine_ aecbe8bdcc61024a7539de3ea932c5e06}
Write in a stream all informations on the G\- Cells in X\- M\- L format.
Referenced by Katabatic\- Engine\- ::xml\- Write\- G\- Cell\- Grid().
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a78394ac380a0fa462f268dcc2becc50e} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !xml\- Write\- G\- Cell\- Grid@{ xml\- Write\- G\- Cell\- Grid} }
\index { xml\- Write\- G\- Cell\- Grid@{ xml\- Write\- G\- Cell\- Grid} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{xml\-Write\-G\-Cell\-Grid}] { \setlength { \rightskip } { 0pt plus 5cm} void xml\- Write\- G\- Cell\- Grid (
\begin { DoxyParamCaption}
\item [{const string \&}] { file\- Name}
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1KatabaticEngine_ a78394ac380a0fa462f268dcc2becc50e}
Write in a file all informations on the G\- Cells in X\- M\- L format.
References Katabatic\- Engine\- ::xml\- Write\- G\- Cell\- Grid().
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a2391b9bfcb773398b9661b5ac0ef1a30} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !set\- State@{ set\- State} }
\index { set\- State@{ set\- State} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{set\-State}] { \setlength { \rightskip } { 0pt plus 5cm} void set\- State (
\begin { DoxyParamCaption}
\item [{{\bf Engine\-State}}] { state}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a2391b9bfcb773398b9661b5ac0ef1a30}
Force the state of the tool. Must be used with caution, as no sanity checks are performeds. This method is normally invoked from inside the \hyperlink { classKatabatic_ 1_ 1KatabaticEngine} { Katabatic\- Engine} various methods. \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ aeb14f94914af58657a0dc2f50ec98df5} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !set\- Flags@{ set\- Flags} }
\index { set\- Flags@{ set\- Flags} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{set\-Flags}] { \setlength { \rightskip } { 0pt plus 5cm} void set\- Flags (
\begin { DoxyParamCaption}
\item [{unsigned int}] { flags}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ aeb14f94914af58657a0dc2f50ec98df5}
Set the flags given in { \ttfamily flags} .
Referenced by Session\- ::set\- Katabatic\- Flags().
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a1a6fac115cb81db48e3ac9ffa0721bb5} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !unset\- Flags@{ unset\- Flags} }
\index { unset\- Flags@{ unset\- Flags} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{unset\-Flags}] { \setlength { \rightskip } { 0pt plus 5cm} void unset\- Flags (
\begin { DoxyParamCaption}
\item [{unsigned int}] { flags}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a1a6fac115cb81db48e3ac9ffa0721bb5}
Reset the flags given in { \ttfamily flags} . \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a1bd1e0104b73d4c558b0e121002796a6} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !set\- Global\- Threshold@{ set\- Global\- Threshold} }
\index { set\- Global\- Threshold@{ set\- Global\- Threshold} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{set\-Global\-Threshold}] { \setlength { \rightskip } { 0pt plus 5cm} void set\- Global\- Threshold (
\begin { DoxyParamCaption}
\item [{{\bf Db\-U\-::\-Unit}}] { threshold}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a1bd1e0104b73d4c558b0e121002796a6}
(Configuration shortcut). \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ ac2b780e06975ce8a0d6ca96f20cb971f} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !set\- Saturate\- Ratio@{ set\- Saturate\- Ratio} }
\index { set\- Saturate\- Ratio@{ set\- Saturate\- Ratio} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{set\-Saturate\-Ratio}] { \setlength { \rightskip } { 0pt plus 5cm} void set\- Saturate\- Ratio (
\begin { DoxyParamCaption}
\item [{float}] { ratio}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ ac2b780e06975ce8a0d6ca96f20cb971f}
(Configuration shortcut). \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ ade227e828b8c8fbfce478e353ca3ca59} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !set\- Saturate\- Rp@{ set\- Saturate\- Rp} }
\index { set\- Saturate\- Rp@{ set\- Saturate\- Rp} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{set\-Saturate\-Rp}] { \setlength { \rightskip } { 0pt plus 5cm} void set\- Saturate\- Rp (
\begin { DoxyParamCaption}
\item [{size\-\_\-t}] { threshold}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ ade227e828b8c8fbfce478e353ca3ca59}
(Configuration shortcut). \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a1b196d124bb66595a760ccc9b901d78b} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !print\- Measures@{ print\- Measures} }
\index { print\- Measures@{ print\- Measures} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{print\-Measures}] { \setlength { \rightskip } { 0pt plus 5cm} void print\- Measures (
\begin { DoxyParamCaption}
\item [{const string \&}] { tag}
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1KatabaticEngine_ a1b196d124bb66595a760ccc9b901d78b}
Print memory \& time measurement on ``cmess1``. If { \ttfamily tag} is not empty, also adds the measurement to the internal table (with { \ttfamily tag} as label).
Referenced by Katabatic\- Engine\- ::finalize\- Layout().
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a1e9bb62be35c6a415a1950c72c1964ef} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !refresh@{ refresh} }
\index { refresh@{ refresh} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{refresh}] { \setlength { \rightskip } { 0pt plus 5cm} void refresh (
\begin { DoxyParamCaption}
\item [{unsigned int}] { flags = { \ttfamily { \bf Kb\- Open\- Session} } }
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1KatabaticEngine_ a1e9bb62be35c6a415a1950c72c1964ef}
In case the tool is associated with a graphic display, trigger a full redraw of the Cell. Slow the router but allow to see work in progress... If { \ttfamily flags} { \itshape do not} contains { \ttfamily Kb\- Open\- Session} the refresh operation will not be enclosed inside it's own session. This assumes that a session is already opened.
References G\- Cell\- Grid\- ::update\- Contacts().
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a1b7d8ed09a198f7afd6e3ac911f6eb37} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !create\- Detailed\- Grid@{ create\- Detailed\- Grid} }
\index { create\- Detailed\- Grid@{ create\- Detailed\- Grid} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{create\-Detailed\-Grid}] { \setlength { \rightskip } { 0pt plus 5cm} void create\- Detailed\- Grid (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [virtual]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a1b7d8ed09a198f7afd6e3ac911f6eb37}
Allocate the \hyperlink { classKatabatic_ 1_ 1GCellGrid} { G\- Cell\- Grid} .
References G\- Cell\- Grid\- ::create(), Katabatic\- Engine\- ::get\- Chip\- Tools(), Base\- Grid\- ::get\- Columns(), Grid$ < $ G\- Cell\- T $ > $ \- ::get\- G\- Cells\- Column(), Grid$ < $ G\- Cell\- T $ > $ \- ::get\- G\- Cells\- Row(), Base\- Grid\- ::get\- Rows(), Chip\- Tools\- ::is\- Chip(), and Session\- ::revalidate().
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ aaba3b9450c85634131146fb507089f2d} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !make\- Power\- Rails@{ make\- Power\- Rails} }
\index { make\- Power\- Rails@{ make\- Power\- Rails} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{make\-Power\-Rails}] { \setlength { \rightskip } { 0pt plus 5cm} void make\- Power\- Rails (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1KatabaticEngine_ aaba3b9450c85634131146fb507089f2d}
Detect all the aligned segments of same width that compose power rails, unificate them and copy them at the design top level. \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a583925cfe4bbadcc1c24fe619debce09} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !load\- Global\- Routing@{ load\- Global\- Routing} }
\index { load\- Global\- Routing@{ load\- Global\- Routing} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{load\-Global\-Routing}] { \setlength { \rightskip } { 0pt plus 5cm} void load\- Global\- Routing (
\begin { DoxyParamCaption}
\item [{unsigned int}] { method}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [virtual]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a583925cfe4bbadcc1c24fe619debce09}
2018-06-06 11:42:26 -05:00
\begin { DoxyParams} { Parameters}
{ \em method} & the loading algorithm \\
\hline
{ \em nets} & the set of nets to route.\\
\hline
\end { DoxyParams}
2018-08-19 06:27:09 -05:00
Convert the global routing into the initial detailed routing. For the time beeing, only one loading algorithm is available\- : { \itshape net by net} (Engine\- Load\- Gr\- By\- Net). Only Net given in { \ttfamily nets} are routeds. If { \ttfamily nets} is empty then all ordinary nets are routeds. In either cases the set of nets to route is pruned from any power, ground or clock signals.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\begin { DoxyParagraph} { Remark\- :}
The tool state must be { \bfseries Engine\- Global\- Loaded} { \itshape before} calling this method and will be set to { \bfseries Engine\- Active} on exit.
2018-06-06 11:42:26 -05:00
\end { DoxyParagraph}
2018-08-19 06:27:09 -05:00
References Katabatic\- ::\- Engine\- Active, and Katabatic\- ::\- Engine\- Global\- Loaded.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a145b36b18fc9149980c5d6bd4bd10e0d} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !slacken\- Border@{ slacken\- Border} }
\index { slacken\- Border@{ slacken\- Border} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{slacken\-Border}] { \setlength { \rightskip } { 0pt plus 5cm} void slacken\- Border (
\begin { DoxyParamCaption}
\item [{{\bf Box}}] { bb, }
\item [{{\bf Layer\-::\-Mask}}] { mask, }
\item [{unsigned int}] { flags}
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1KatabaticEngine_ a145b36b18fc9149980c5d6bd4bd10e0d}
2018-06-06 11:42:26 -05:00
\begin { DoxyParams} { Parameters}
{ \em bb} & The bounding box, defines the edges. \\
\hline
{ \em mask} & Consider only layers that are fully included in that mask. \\
\hline
{ \em flags} & Consider only segment in that direction.\\
\hline
\end { DoxyParams}
Perform a preventive break on all global segments going through the { \itshape vertical} left and right edges of the { \ttfamily bb} box. The set of global segments to be broken could be further restricted using { \ttfamily mask} and { \ttfamily flags} .
The Semantic of { \ttfamily flags} is not clear, must review the code more closely.
2018-08-19 06:27:09 -05:00
References Box\- ::get\- X\- Max(), Box\- ::get\- X\- Min(), Box\- ::get\- Y\- Max(), and Box\- ::get\- Y\- Min().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ ac40754d4a9bd0cf327b5fa088e993897} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !slacken\- Block\- Ios@{ slacken\- Block\- Ios} }
\index { slacken\- Block\- Ios@{ slacken\- Block\- Ios} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{slacken\-Block\-Ios}] { \setlength { \rightskip } { 0pt plus 5cm} void slacken\- Block\- Ios (
\begin { DoxyParamCaption}
\item [{{\bf Instance} $\ast$}] { core}
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1KatabaticEngine_ ac40754d4a9bd0cf327b5fa088e993897}
Perform a preventive break on horizontal segments in the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} immediatly { \itshape outside} the instance { \ttfamily core} area in the routing layer of index { \ttfamily 1} .
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
This method is too much hardwired to the { \ttfamily Sx\- Lib} gauge. It's effect is to break all { \bfseries M\- E\- T\- A\- L2} outside the core (in a chip).
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References Entity\- ::get\- Bounding\- Box(), Instance\- ::get\- Name(), Constant\- ::\- Horizontal, and Box\- ::inflate().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ abb2b28adfaca2cc36716db41b093f355} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !move\- Up\- Net\- Trunk@{ move\- Up\- Net\- Trunk} }
\index { move\- Up\- Net\- Trunk@{ move\- Up\- Net\- Trunk} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{move\-Up\-Net\-Trunk}] { \setlength { \rightskip } { 0pt plus 5cm} bool move\- Up\- Net\- Trunk (
\begin { DoxyParamCaption}
\item [{{\bf Auto\-Segment} $\ast$}] { seed, }
\item [{set$<$ {\bf Net} $\ast$ $>$ \&}] { global\- Nets, }
\item [{{\bf G\-Cell\-::\-Set\-Index} \&}] { invalidateds}
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1KatabaticEngine_ abb2b28adfaca2cc36716db41b093f355}
2018-06-06 11:42:26 -05:00
\begin { DoxyParams} { Parameters}
2018-08-19 06:27:09 -05:00
{ \em seed} & The \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} to take the net from. \\
2018-06-06 11:42:26 -05:00
\hline
2018-08-19 06:27:09 -05:00
{ \em global\- Nets} & The set of nets that has been moved up. \\
2018-06-06 11:42:26 -05:00
\hline
2018-08-19 06:27:09 -05:00
{ \em invalidateds} & The set of G\- Cells that have been invalidated. { \bfseries Returns\- :} { \bfseries true} if the net trunk have been moved up.\\
2018-06-06 11:42:26 -05:00
\hline
\end { DoxyParams}
2018-08-19 06:27:09 -05:00
Try to move up a whole net trunk. The net is supplied through the { \ttfamily seed} argument (the segment that triggers the move). If the net is actually moved up, it is added to { \ttfamily global\- Nets} and all G\- Cells that have been invalidateds are added to { \ttfamily invalidateds} .
An individual \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} of the net is moved up if it's length is greater that { \ttfamily 150} lambdas, that is, three times the side of a \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} . This is hard-\/ wired and should be parametrized in the future. \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a77833ce938a430785ba869eedbc2300c} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !layer\- Assign@{ layer\- Assign} }
\index { layer\- Assign@{ layer\- Assign} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{layer\-Assign}] { \setlength { \rightskip } { 0pt plus 5cm} void layer\- Assign (
\begin { DoxyParamCaption}
\item [{unsigned int}] { method}
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1KatabaticEngine_ a77833ce938a430785ba869eedbc2300c}
Perform the layer assignment. The global routing loading stage uses only the two bottom most layers, this method spread them on all the availables routing layers, according to \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} and Routing\- Pad density criterions.
Two algorithms are availables\- :
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\item { \bfseries Engine\- Layer\- Assign\- By\- Length} \- : the global wires are moved up one by one.
\item { \bfseries Engine\- Layer\- Assign\- By\- Trunk} \- : if one global wire of a net is to be moved up, then all the global trunk of the net is moved along. This methods gives the best results for now.
\end { DoxyItemize} \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a6957a5830a4d6f1b2daf83a7d98df601} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !compute\- Net\- Constraints@{ compute\- Net\- Constraints} }
\index { compute\- Net\- Constraints@{ compute\- Net\- Constraints} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{compute\-Net\-Constraints}] { \setlength { \rightskip } { 0pt plus 5cm} void compute\- Net\- Constraints (
\begin { DoxyParamCaption}
\item [{{\bf Net} $\ast$}] { net}
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1KatabaticEngine_ a6957a5830a4d6f1b2daf83a7d98df601}
Compute the box constraints on Auto\- Contacts (and therefore those applied to Auto\- Segments). Constraints comes from Auto\- Contacts anchoreds on Routing\- Pads and transmitted through \hyperlink { classKatabatic_ 1_ 1AutoContactHTee} { Auto\- Contact\- H\- Tee} or \hyperlink { classKatabatic_ 1_ 1AutoContactVTee} { Auto\- Contact\- V\- Tee} . Constraints are applied to all Auto\- Contacts of an aligned set.
\begin { DoxyParagraph} { Remark\- :}
2018-06-06 11:42:26 -05:00
The { \ttfamily net} must have been canonized before this function to be called.
\end { DoxyParagraph}
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ ad6b9f7d94ee4a88f12c485e48d1e644a} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !to\- Optimals@{ to\- Optimals} }
\index { to\- Optimals@{ to\- Optimals} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{to\-Optimals}] { \setlength { \rightskip } { 0pt plus 5cm} void to\- Optimals (
\begin { DoxyParamCaption}
\item [{{\bf Net} $\ast$}] { net}
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1KatabaticEngine_ ad6b9f7d94ee4a88f12c485e48d1e644a}
Move all \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} of { \ttfamily net} so that their axis are inside their optimals interval. If a \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} is already inside the interval is not moved, otherwise it is put on the nearest bound of the optimal interval. \hypertarget { classKatabatic_ 1_ 1KatabaticEngine_ a468eddb683c04cfeea1c5124a39e1f86} { \index { Katabatic\- ::\- Katabatic\- Engine@{ Katabatic\- ::\- Katabatic\- Engine} !finalize\- Layout@{ finalize\- Layout} }
\index { finalize\- Layout@{ finalize\- Layout} !Katabatic::KatabaticEngine@{ Katabatic\- ::\- Katabatic\- Engine} }
\subsubsection [{finalize\-Layout}] { \setlength { \rightskip } { 0pt plus 5cm} void finalize\- Layout (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [virtual]} } } \label { classKatabatic_ 1_ 1KatabaticEngine_ a468eddb683c04cfeea1c5124a39e1f86}
Transform the \hyperlink { namespaceKatabatic} { Katabatic} wires into the { \bf Hurricane} data-\/ structure. Mostly by removing the Auto\- Segment/\- Auto\- Contact { \itshape without} removing their { \bf Hurricane} conterparts. May also fill gaps that may have appeared.
\begin { DoxyParagraph} { Remark\- :}
The tool state must be { \bfseries Engine\- Active} { \itshape before} calling this method and will be set to { \bfseries Engine\- Gutted} on exit.
2018-06-06 11:42:26 -05:00
\end { DoxyParagraph}
2018-08-19 06:27:09 -05:00
References Katabatic\- ::\- Engine\- Driving, Katabatic\- ::\- Engine\- Gutted, and Katabatic\- Engine\- ::print\- Measures().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
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
Katabatic\- Engine.\- h\item
Chip\- Tools.\- cpp\item
Load\- Gr\- By\- Net.\- cpp\item
Katabatic\- Engine.\- cpp\item
Katabatic\- Engine.\- dox\end { DoxyCompactItemize}