2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell} { \section { G\- Cell Class Reference}
\label { classKatabatic_ 1_ 1GCell} \index { G\- Cell@{ G\- Cell} }
}
2018-06-06 11:42:26 -05:00
Routing Global Cell.
2018-08-19 06:27:09 -05:00
Inherits Extension\- Go.
2018-06-06 11:42:26 -05:00
\subsection * { Classes}
\begin { DoxyCompactItemize}
\item
2018-08-19 06:27:09 -05:00
class \hyperlink { classKatabatic_ 1_ 1GCell_ 1_ 1CompareByDensity} { Compare\- By\- Density}
\begin { DoxyCompactList} \small \item \em \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} Density Comparison Functor. \end { DoxyCompactList} \item
class \hyperlink { classKatabatic_ 1_ 1GCell_ 1_ 1CompareByIndex} { Compare\- By\- Index}
\begin { DoxyCompactList} \small \item \em \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} Index Comparison Functor. \end { DoxyCompactList} \item
2018-06-06 11:42:26 -05:00
class \hyperlink { classKatabatic_ 1_ 1GCell_ 1_ 1Key} { Key}
2018-08-19 06:27:09 -05:00
\begin { DoxyCompactList} \small \item \em \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} \hyperlink { classKatabatic_ 1_ 1GCell_ 1_ 1Key} { Key} -\/ Density Cache. \end { DoxyCompactList} \end { DoxyCompactItemize}
2018-06-06 11:42:26 -05:00
\subsection * { Public Types}
\begin { DoxyCompactItemize}
\item
2018-08-19 06:27:09 -05:00
typedef set$ < $ \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} \\ *
$ \ast $ , \hyperlink { classKatabatic_ 1_ 1GCell_ 1_ 1CompareByIndex} { Compare\- By\- Index} $ > $ \hyperlink { classKatabatic_ 1_ 1GCell_ aacb1c215b203bfba5729f135b3221d40} { Set\- Index}
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
virtual const { \bf Name} \& \hyperlink { classKatabatic_ 1_ 1GCell_ a5e23c46b801d3049b349b68774a0d298} { get\- Name} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1GCell_ a9e283a15a7f03a2e4184f6c8bd4e9340} { is\- Saturated} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1GCell_ a18ae2575758a4a5e4a42f145309a34de} { is\- Saturated} (unsigned int depth) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1GCell_ aac1b70a2ed67ead038c4d3f5ac4d8a81} { is\- Valid} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1GCell_ aed5c1b0b1a63be3064f3eff2d24b4abd} { is\- Above\- Density} (float threshold) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1GCell_ abe5a85792463184f487b42efd80cc25e} { has\- Free\- Track} (size\- \_ \- t depth, float reserve) 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_ 1GCell_ a0702328522e94ca9705222cd5b9e9c6d} { get\- G\- Cell\- Grid} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
unsigned int \hyperlink { classKatabatic_ 1_ 1GCell_ ad43be8bb2a3c8247405feef4fa973734} { get\- Depth} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
unsigned int \hyperlink { classKatabatic_ 1_ 1GCell_ a3d2cc17c5b9eb2ca96ab10b6313391ad} { get\- Index} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
unsigned int \hyperlink { classKatabatic_ 1_ 1GCell_ a14db4e8542de7da785abec87fa65d6a4} { get\- Row} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
unsigned int \hyperlink { classKatabatic_ 1_ 1GCell_ a0035603802c53109ab0581ac39239932} { get\- Column} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
\hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} $ \ast $ \hyperlink { classKatabatic_ 1_ 1GCell_ a0aba3a4c02ade1a0af6d4956b2d4d944} { get\- Left} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
\hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} $ \ast $ \hyperlink { classKatabatic_ 1_ 1GCell_ a23fdbef3699158d88da408ad8c23d091} { get\- Right} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
\hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} $ \ast $ \hyperlink { classKatabatic_ 1_ 1GCell_ a43374e26fb08fb4a4d47599e1f81e293} { get\- Up} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
\hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} $ \ast $ \hyperlink { classKatabatic_ 1_ 1GCell_ a303e94e8090f008b434e785af9a34eb5} { get\- Down} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
virtual void \hyperlink { classKatabatic_ 1_ 1GCell_ a819f3ffbba69e4de2a19c827676b5aee} { translate} (const { \bf Db\- U\- ::\- Unit} \& , const { \bf Db\- U\- ::\- Unit} \& )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
virtual { \bf Box} \hyperlink { classKatabatic_ 1_ 1GCell_ a3b9694bf093e3ea16e4a8c8126a8d4db} { get\- Bounding\- Box} () 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_ 1GCell_ a852afe759ce2cb8cb9c0524fc1e23387} { get\- X} () 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_ 1GCell_ ac597d25a34a79fb4393211c70f5a1bc3} { get\- Y} () 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_ 1GCell_ ae58d4705ca2370ad5e0912d9e92e94da} { get\- X\- Max} () 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_ 1GCell_ a98f8c479d4789850a926d87443e56e00} { get\- Y\- Max} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
{ \bf Interval} \hyperlink { classKatabatic_ 1_ 1GCell_ a46861e2e666df89cd2e6eaa7ee146bcf} { get\- Side} (unsigned int) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
float \hyperlink { classKatabatic_ 1_ 1GCell_ a75e5f7e9b993087270e8b21eb1e71e8d} { get\- H\- Capacity} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
float \hyperlink { classKatabatic_ 1_ 1GCell_ a4f58e38dbcd75ae549f3ce9526ce97e1} { get\- V\- Capacity} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
float \hyperlink { classKatabatic_ 1_ 1GCell_ abdc872b796225ad9d6414f59b6d503c1} { get\- Density} (unsigned int flags=0) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
float \hyperlink { classKatabatic_ 1_ 1GCell_ a35c9f813f00788d8093faa5c37c846e3} { get\- C\- Density} (unsigned int flags=0) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
float \hyperlink { classKatabatic_ 1_ 1GCell_ acfacab8f1d78e38ece30b4d2c63cf6d9} { get\- W\- Density} (unsigned int depth, unsigned int flags=0) 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_ 1GCell_ a3cd78c51e165f5242bb99ab5033ff871} { get\- Blockage} (unsigned int depth) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
float \hyperlink { classKatabatic_ 1_ 1GCell_ ab154601770f4c29260c19364f130d534} { get\- Fragmentation} (unsigned int depth) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
float \hyperlink { classKatabatic_ 1_ 1GCell_ a1b246f4d67f6a21d391d2f366d184092} { get\- Feedthroughs} (unsigned int depth) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
float \hyperlink { classKatabatic_ 1_ 1GCell_ a315f23abf15d879459eab98a6eeece12} { get\- Globals\- Count} (unsigned int depth) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
const vector$ < $ \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ $ > $ \& \hyperlink { classKatabatic_ 1_ 1GCell_ ad885baf0428b0ffa73738e60b9fb6956} { get\- H\- Segments} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
const vector$ < $ \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ $ > $ \& \hyperlink { classKatabatic_ 1_ 1GCell_ a2c54706769cb88ca13d233726ded6f2f} { get\- V\- Segments} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
const vector$ < $ \hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} $ \ast $ $ > $ \& \hyperlink { classKatabatic_ 1_ 1GCell_ ac2d662a9bbf5b80eb92776e4bce06ec5} { get\- Contacts} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
\hyperlink { namespaceKatabatic_ a2221b0ddbc24f331809fc86f98e38041} { Auto\- Segments} \hyperlink { classKatabatic_ 1_ 1GCell_ a79668a41675e9ba0ca59d4b91e3b70be} { get\- H\- Start\- Segments} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
\hyperlink { namespaceKatabatic_ a2221b0ddbc24f331809fc86f98e38041} { Auto\- Segments} \hyperlink { classKatabatic_ 1_ 1GCell_ acbd17a4441905a4f5bc33a26bb338d0a} { get\- V\- Start\- Segments} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
\hyperlink { namespaceKatabatic_ a2221b0ddbc24f331809fc86f98e38041} { Auto\- Segments} \hyperlink { classKatabatic_ 1_ 1GCell_ a77beccf65527a330f15bed2aba4f9dea} { get\- H\- Stop\- Segments} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
\hyperlink { namespaceKatabatic_ a2221b0ddbc24f331809fc86f98e38041} { Auto\- Segments} \hyperlink { classKatabatic_ 1_ 1GCell_ a2f0f038f5700b7b55f22829c5d43aa07} { get\- V\- Stop\- Segments} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
\hyperlink { namespaceKatabatic_ a2221b0ddbc24f331809fc86f98e38041} { Auto\- Segments} \hyperlink { classKatabatic_ 1_ 1GCell_ a1f92568d22b1384a8cdf328340fb9160} { get\- Start\- Segments} (unsigned int direction)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
\hyperlink { namespaceKatabatic_ a2221b0ddbc24f331809fc86f98e38041} { Auto\- Segments} \hyperlink { classKatabatic_ 1_ 1GCell_ a80ad0f9e79bccf6aed4fb69b4b795005} { get\- Stop\- Segments} (unsigned int direction)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
size\- \_ \- t \hyperlink { classKatabatic_ 1_ 1GCell_ a63d53a84324e393e7d7b3e73548ed6bf} { get\- Routing\- Pads} (set$ < $ { \bf Routing\- Pad} $ \ast $ $ > $ \& )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
const \hyperlink { classKatabatic_ 1_ 1GCell_ 1_ 1Key} { Key} \& \hyperlink { classKatabatic_ 1_ 1GCell_ ab17b3f4c7e2558bc29ea026925fd6fd6} { get\- Key} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
size\- \_ \- t \hyperlink { classKatabatic_ 1_ 1GCell_ a8f5167eb40def2cfa878913743079f03} { check\- Density} () const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1GCell_ a0fb331311568ccb14d2005065575dc28} { check\- Edge\- Saturation} (size\- \_ \- t hreserved, size\- \_ \- t vreserved) const
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1GCell_ a1270eab34ac57f21c0286a5455044a0d} { add\- Blockage} (unsigned int depth, { \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_ 1GCell_ a4aad7d6f7357fd7963aab91bc2019a1b} { add\- H\- Segment} (\hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1GCell_ a8aa815e9e99df8187e628f6ec9e9da77} { add\- V\- Segment} (\hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1GCell_ a2b84aab620bfca1064e988e94e7b9c59} { add\- Contact} (\hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1GCell_ abe128484d8aa063198292a88c63f2bba} { remove\- V\- Segment} (\hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1GCell_ aff76aa96214c0efcf13186b8b3e5c852} { remove\- H\- Segment} (\hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1GCell_ aa052a9427fbd4185f00567a97770f80b} { remove\- Contact} (\hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1GCell_ aa0beea2ceaa543503346967085036d1a} { update\- Contacts} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
size\- \_ \- t \hyperlink { classKatabatic_ 1_ 1GCell_ a9b3455dce10eb98d0496175dd586528c} { update\- Density} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1GCell_ a11beff0f0bec06d0f3e080969516dfc3} { update\- Key} (unsigned int depth)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
void \hyperlink { classKatabatic_ 1_ 1GCell_ a8785f0ae0bc6de278281c353734b67b7} { rp\- Desaturate} (set$ < $ { \bf Net} $ \ast $ $ > $ \& )
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1GCell_ a1256c28423a9a260d320e25b3fc1bf57} { step\- Desaturate} (unsigned int depth, set$ < $ { \bf Net} $ \ast $ $ > $ \& , \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} $ \ast $ \& moved, unsigned int flags=0)
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
bool \hyperlink { classKatabatic_ 1_ 1GCell_ aab5b30c49b0453db495337931cf284a9} { step\- Net\- Desaturate} (unsigned int depth, set$ < $ { \bf Net} $ \ast $ $ > $ \& global\- Nets, \hyperlink { classKatabatic_ 1_ 1GCell_ aacb1c215b203bfba5729f135b3221d40} { Set\- Index} \& invalidateds)
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 size\- \_ \- t \hyperlink { classKatabatic_ 1_ 1GCell_ a91c8bc1a6bdb1b15c3c084ebfd38af47} { get\- Allocateds} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static { \bf Db\- U\- ::\- Unit} \hyperlink { classKatabatic_ 1_ 1GCell_ ac594cb2832ee7ef410c89499258d38fd} { get\- Top\- Right\- Shrink} ()
2018-06-06 11:42:26 -05:00
\item
2018-08-19 06:27:09 -05:00
static const { \bf Name} \& \hyperlink { classKatabatic_ 1_ 1GCell_ a00e56270cfb31f56e52e31afbc33ba71} { get\- Static\- Name} ()
2018-06-06 11:42:26 -05:00
\end { DoxyCompactItemize}
\subsection { Detailed Description}
Routing Global Cell.
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ secGCellDescription} { } \subsection { G\- Cell Description} \label { classKatabatic_ 1_ 1GCell_ secGCellDescription}
Please note that there are two kind of Global Cells (or \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} for short)\- :
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\item The \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} used by the global router Knik.
\item The \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} used by the detailed router (\hyperlink { namespaceKatabatic} { Katabatic} \& Kite). Although the information they hold is obviously related, they are two separate kind of objects.
2018-06-06 11:42:26 -05:00
\end { DoxyItemize}
2018-08-19 06:27:09 -05:00
The area of the design to be routed is divided in a regular grid of rectangular area, the \hyperlink { classKatabatic_ 1_ 1GCellGrid} { G\- Cell\- Grid} . Each rectangular area is a \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} .
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
The \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} contains the following informations\- :
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-08-19 06:27:09 -05:00
\item The Auto\- Segments that begins or ends in it. The list of segments is not avalaible directly but through the Auto\- Contacts that are owned by the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} .
\item The Auto\- Segments that go straight { \itshape through} it (or { \itshape over} it). Horizontal \& Vertical segments are stored in two separeted list. Those two lists are sorted by layer depth (the deepest layers first).
\item A lot of synthetic information about the density of tracks used in the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} .
2018-06-06 11:42:26 -05:00
\end { DoxyItemize}
2018-08-19 06:27:09 -05:00
Auto\- Contacts are affected to G\- Cells, the area of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} is the one into which the \hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} is allowed to be placed. It is this that way that the respect of the global routing choosen by Knik is enforced. See the \hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} constraint box.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
When tracks are aligned with the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} boundaries they one exactly on the boundary can belong to the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} on either side of the boundary. But we want a clear and mutually exclusive ownership of each \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} area. So, we choose that one \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} do not own the topmost and rightmost track. And to implement it, we shrink top and right coordinates by the amount of \hyperlink { classKatabatic_ 1_ 1GCell_ ac594cb2832ee7ef410c89499258d38fd} { G\- Cell\- ::get\- Top\- Right\- Shrink()} , which must be less than the track spacing.\hypertarget { classKatabatic_ 1_ 1GCell_ secGCellDensity} { } \subsubsection { Saturation \& Density Computation} \label { classKatabatic_ 1_ 1GCell_ secGCellDensity}
At any depth (i.\- e. layer), in the preferred routing direction, a \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} can pass a finite length of wire. For example on an horizontal preferred layer\- : \[ WL _ { max } = width ( GCell ) \times Htracks ( GCell ) \] Then the density, is the ratio between $ WL _ { max } $ and the actually used wirelength\- : \[ Wdensity ( depth ) = \frac { WL _ { used } ( depth ) } { WL _ { max } ( depth ) } \] Normally, the ratio musn't exceed 1.\- 0, but the occupied wire length computation, for now, doesn't merge overlapping wires belonging to the same net, so the ratio may be slightly inaccurate. Thus in some pathological cases may be greater than 1.\- 0 whithout truly been overloaded.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
A Cell is considered as { \itshape saturated} if the overall density is above the saturation ratio given by \hyperlink { classKatabatic_ 1_ 1Session_ a266a4079ca235e8fdb622ef4996d324d} { Session\- ::get\- Saturate\- Ratio()} .
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Contact density is calculated as follow\- : \[ Cont _ { density } = \frac { |Contacts| } { Htracks \times Vtracks \times 4 } \] It is a ratio over the number of actual contacts in the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} and the maximal number. The maximal number being the product of the number of tracks in both direction and 4 stands for the hardwired number of layers (the depth).
2018-06-06 11:42:26 -05:00
Should not be hardwired... { \itshape To be corrected in future versions.} \hypertarget { classKatabatic_ 1_ 1GCell_ secGCellFeedthrough} { } \subsubsection { Feedthrough Computation} \label { classKatabatic_ 1_ 1GCell_ secGCellFeedthrough}
2018-08-19 06:27:09 -05:00
The feedtrough value is an estimate is of how many complete tracks have been used on a given layer of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} . It varies between zero and the number of track on the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} (complete saturation). As an estimate, it doesn't tell you the actual number of free track, but how many you { \itshape may expect} assuming the routing is reasonably well done.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Computation is done as follow\- : \begin { TabularC} { 2}
2018-06-06 11:42:26 -05:00
\hline
2018-08-19 06:27:09 -05:00
\rowcolor { lightgray} { \bf Wire type} & { \bf Estimated Cost } \\ \cline { 1-2}
Straight wire (feedthrough) & { \bfseries 1.\- 0} \\ \cline { 1-2}
Beginning or ending global wire & { \bfseries 0.\- 5} \\ \cline { 1-2}
2018-06-06 11:42:26 -05:00
Local wire. & { \bfseries 1/3} \\ \cline { 1-2}
Blockage wire & The exact percentage of the track \\ \cline { 1-2}
2018-08-19 06:27:09 -05:00
\end { TabularC}
2018-06-06 11:42:26 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ secGCellTrackComputation} { } \subsubsection { Track Computation} \label { classKatabatic_ 1_ 1GCell_ secGCellTrackComputation}
2018-08-19 06:27:09 -05:00
The number of track that can go through a \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} in the horizontal direction is computed as follow\- : \[ Htracks = \frac { heigth ( GCell ) } { Vpitch } + 1 \]
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
The pitch is assumed to be the same for every layer and is hardwired to 5.\- 0 lambda.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
This is a bad architectural choice. The informations pertaining to routing should be held at Kite level, not be hardwired and the pitch should be made variable with the layer... { \itshape To be corrected in future versions} .\hypertarget { classKatabatic_ 1_ 1GCell_ secGCellLazyEvaluation} { } \subsection { G\- Cell Lazy Evaluation} \label { classKatabatic_ 1_ 1GCell_ secGCellLazyEvaluation}
To save processing time, the densities are not recomputed every time a segment is modified (added, removed or moved). Instead a lazy evaluation mechanism is used. Densities are recomputed each time a density is queried { \itshape and} the lazy evaluation { \itshape not} explicitly disabled (flag No\- Update).\hypertarget { classKatabatic_ 1_ 1GCell_ secGCellSortingKey} { } \subsection { G\- Cell Sorting Key} \label { classKatabatic_ 1_ 1GCell_ secGCellSortingKey}
In order to perform a lexicographical sort on the tuple $ ( density ( depth ) ,id ) $ of a \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} , a specific slave object \hyperlink { classKatabatic_ 1_ 1GCell_ 1_ 1Key} { G\- Cell\- ::\- Key} is introduced. It is the density on one specific depth, not the average density.\hypertarget { classKatabatic_ 1_ 1GCell_ secGCellDesaturation} { } \subsection { G\- Cell Desaturation / Layer Assignment} \label { classKatabatic_ 1_ 1GCell_ secGCellDesaturation}
In addition to it's geometrical and density functionality, the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} provides { \itshape desaturation} capabilities. Desaturation is the operation of moving up feedthough \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} from the bottom layers towards the upper ones in order to balance the densities in the different densities. Thoses operations provides building blocks for the layer assignment stage which is provided by the Kabatic tool.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Two strategies are avalaibles, moving one global \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} at a time with \hyperlink { classKatabatic_ 1_ 1GCell_ a1256c28423a9a260d320e25b3fc1bf57} { G\- Cell\- ::step\- Desaturate()} or, when one \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} is moved up, move up the whole net trunk with \hyperlink { classKatabatic_ 1_ 1GCell_ aab5b30c49b0453db495337931cf284a9} { G\- Cell\- ::step\- Net\- Desaturate()} .\hypertarget { classKatabatic_ 1_ 1GCell_ secGCellImplantation} { } \subsection { G\- Cell Implantation} \label { classKatabatic_ 1_ 1GCell_ secGCellImplantation}
\hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} derives from Hurricane\- ::\- Extension\- Go to allow a graphical rendering of the routing density.
2018-06-06 11:42:26 -05:00
\subsection { Member Typedef Documentation}
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ aacb1c215b203bfba5729f135b3221d40} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !Set\- Index@{ Set\- Index} }
\index { Set\- Index@{ Set\- Index} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{Set\-Index}] { \setlength { \rightskip } { 0pt plus 5cm} typedef set$ < $ { \bf G\- Cell} $ \ast $ , { \bf Compare\- By\- Index} $ > $ { \bf Set\- Index} } } \label { classKatabatic_ 1_ 1GCell_ aacb1c215b203bfba5729f135b3221d40}
Shorthand for a set of \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} sorted on their index.
2018-06-06 11:42:26 -05:00
\subsection { Member Function Documentation}
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a91c8bc1a6bdb1b15c3c084ebfd38af47} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Allocateds@{ get\- Allocateds} }
\index { get\- Allocateds@{ get\- Allocateds} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Allocateds}] { \setlength { \rightskip } { 0pt plus 5cm} size\- \_ \- t get\- Allocateds (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1GCell_ a91c8bc1a6bdb1b15c3c084ebfd38af47}
{ \bfseries Returns\- :} The number of allocated G\- Cells. \hypertarget { classKatabatic_ 1_ 1GCell_ ac594cb2832ee7ef410c89499258d38fd} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Top\- Right\- Shrink@{ get\- Top\- Right\- Shrink} }
\index { get\- Top\- Right\- Shrink@{ get\- Top\- Right\- Shrink} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Top\-Right\-Shrink}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Db\- U\- ::\- Unit} get\- Top\- Right\- Shrink (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1GCell_ ac594cb2832ee7ef410c89499258d38fd}
{ \bfseries Returns\- :} The amount of shrink on the top and right boundaries. \hypertarget { classKatabatic_ 1_ 1GCell_ a00e56270cfb31f56e52e31afbc33ba71} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Static\- Name@{ get\- Static\- Name} }
\index { get\- Static\- Name@{ get\- Static\- Name} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Static\-Name}] { \setlength { \rightskip } { 0pt plus 5cm} const { \bf Name} \& get\- Static\- Name (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [static]} } } \label { classKatabatic_ 1_ 1GCell_ a00e56270cfb31f56e52e31afbc33ba71}
{ \bfseries Returns\- :} The name of the Go slice\- : { \ttfamily \char `\" { } \- Katabatic\- ::\- G\- Cell\char `\" { } } .
\begin { DoxySeeAlso} { See Also}
Hurricane\- ::\- Extension\- Go
2018-06-06 11:42:26 -05:00
\end { DoxySeeAlso}
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a5e23c46b801d3049b349b68774a0d298} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Name@{ get\- Name} }
\index { get\- Name@{ get\- Name} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\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_ 1GCell_ a5e23c46b801d3049b349b68774a0d298}
{ \bfseries Returns\- :} The name of the Go slice\- : { \ttfamily \char `\" { } \- Katabatic\- ::\- G\- Cell\char `\" { } } .
\begin { DoxySeeAlso} { See Also}
Hurricane\- ::\- Extension\- Go
2018-06-06 11:42:26 -05:00
\end { DoxySeeAlso}
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::check\- Density().
\hypertarget { classKatabatic_ 1_ 1GCell_ a9e283a15a7f03a2e4184f6c8bd4e9340} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !is\- Saturated@{ is\- Saturated} }
\index { is\- Saturated@{ is\- Saturated} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{is\-Saturated}] { \setlength { \rightskip } { 0pt plus 5cm} bool is\- Saturated (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ a9e283a15a7f03a2e4184f6c8bd4e9340}
{ \bfseries Returns\- :} { \bfseries true} if at least one layer exceed a saturation of { \ttfamily 1.\- 0} (more wirelength that it can hold).
Referenced by G\- Cell\- ::check\- Density(), G\- Cell\- ::step\- Desaturate(), and G\- Cell\- ::update\- Density().
\hypertarget { classKatabatic_ 1_ 1GCell_ a18ae2575758a4a5e4a42f145309a34de} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !is\- Saturated@{ is\- Saturated} }
\index { is\- Saturated@{ is\- Saturated} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{is\-Saturated}] { \setlength { \rightskip } { 0pt plus 5cm} bool is\- Saturated (
\begin { DoxyParamCaption}
\item [{unsigned int}] { depth}
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1GCell_ a18ae2575758a4a5e4a42f145309a34de}
{ \bfseries Returns\- :} { \bfseries true} if the saturation ratio of layer { \ttfamily depth} is over the threshold defined for the G\- Cells.
References G\- Cell\- ::get\- Density(), and Session\- ::get\- Saturate\- Ratio().
\hypertarget { classKatabatic_ 1_ 1GCell_ aac1b70a2ed67ead038c4d3f5ac4d8a81} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !is\- Valid@{ is\- Valid} }
\index { is\- Valid@{ is\- Valid} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{is\-Valid}] { \setlength { \rightskip } { 0pt plus 5cm} bool is\- Valid (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ aac1b70a2ed67ead038c4d3f5ac4d8a81}
{ \bfseries Returns\- :} { \bfseries true} if all the Auto\- Contact/\- Auto\- Segment of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} are valids.
Referenced by G\- Cell\- ::check\- Density(), G\- Cell\- ::get\- C\- Density(), G\- Cell\- ::get\- Density(), G\- Cell\- ::get\- Feedthroughs(), G\- Cell\- ::get\- Fragmentation(), G\- Cell\- ::get\- Globals\- Count(), G\- Cell\- ::get\- W\- Density(), G\- Cell\- ::has\- Free\- Track(), G\- Cell\- ::is\- Above\- Density(), and G\- Cell\- ::update\- Density().
\hypertarget { classKatabatic_ 1_ 1GCell_ aed5c1b0b1a63be3064f3eff2d24b4abd} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !is\- Above\- Density@{ is\- Above\- Density} }
\index { is\- Above\- Density@{ is\- Above\- Density} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{is\-Above\-Density}] { \setlength { \rightskip } { 0pt plus 5cm} bool is\- Above\- Density (
\begin { DoxyParamCaption}
\item [{float}] { threshold}
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1GCell_ aed5c1b0b1a63be3064f3eff2d24b4abd}
{ \bfseries Returns\- :} { \bfseries true} if the overall saturation ratio greater than { \ttfamily threshold} .
References G\- Cell\- ::get\- Density(), G\- Cell\- ::is\- Valid(), and G\- Cell\- ::update\- Density().
\hypertarget { classKatabatic_ 1_ 1GCell_ abe5a85792463184f487b42efd80cc25e} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !has\- Free\- Track@{ has\- Free\- Track} }
\index { has\- Free\- Track@{ has\- Free\- Track} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{has\-Free\-Track}] { \setlength { \rightskip } { 0pt plus 5cm} bool has\- Free\- Track (
\begin { DoxyParamCaption}
\item [{size\-\_\-t}] { depth, }
\item [{float}] { reserve}
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1GCell_ abe5a85792463184f487b42efd80cc25e}
{ \bfseries Returns\- :} { \bfseries true} if there should be enough wire length to pass a wire completly trough this \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} .
References G\- Cell\- ::get\- H\- Capacity(), G\- Cell\- ::get\- Index(), Routing\- Gauge\- ::get\- Layer\- Depth(), Layer\- ::get\- Name(), Session\- ::get\- Routing\- Gauge(), Routing\- Gauge\- ::get\- Routing\- Layer(), G\- Cell\- ::get\- V\- Capacity(), G\- Cell\- ::is\- Valid(), Katabatic\- ::\- Kb\- Horizontal, Katabatic\- ::\- Kb\- Vertical, and G\- Cell\- ::update\- Density().
\hypertarget { classKatabatic_ 1_ 1GCell_ a0702328522e94ca9705222cd5b9e9c6d} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- G\- Cell\- Grid@{ get\- G\- Cell\- Grid} }
\index { get\- G\- Cell\- Grid@{ get\- G\- Cell\- Grid} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\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_ 1GCell_ a0702328522e94ca9705222cd5b9e9c6d}
{ \bfseries Returns\- :} The \hyperlink { classKatabatic_ 1_ 1Grid} { Grid} of which \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} is part of.
Referenced by G\- Cell\- ::check\- Edge\- Saturation(), G\- Cell\- ::get\- Density(), G\- Cell\- ::get\- Down(), G\- Cell\- ::get\- Left(), G\- Cell\- ::get\- Right(), G\- Cell\- ::get\- Up(), and G\- Cell\- ::step\- Net\- Desaturate().
\hypertarget { classKatabatic_ 1_ 1GCell_ ad43be8bb2a3c8247405feef4fa973734} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Depth@{ get\- Depth} }
\index { get\- Depth@{ get\- Depth} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Depth}] { \setlength { \rightskip } { 0pt plus 5cm} unsigned int get\- Depth (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ ad43be8bb2a3c8247405feef4fa973734}
{ \bfseries Returns\- :} The depth (i.\- e. number of routing layers) of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} . \hypertarget { classKatabatic_ 1_ 1GCell_ a3d2cc17c5b9eb2ca96ab10b6313391ad} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Index@{ get\- Index} }
\index { get\- Index@{ get\- Index} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Index}] { \setlength { \rightskip } { 0pt plus 5cm} unsigned int get\- Index (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ a3d2cc17c5b9eb2ca96ab10b6313391ad}
{ \bfseries Returns\- :} The linear index of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} in the \hyperlink { classKatabatic_ 1_ 1GCellGrid} { G\- Cell\- Grid} vector.
\begin { DoxySeeAlso} { See Also}
\hyperlink { classKatabatic_ 1_ 1GCellGrid} { G\- Cell\- Grid} for the meaning of the index.
\end { DoxySeeAlso}
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Segment\- ::can\- Move\- Up(), G\- Cell\- ::has\- Free\- Track(), and G\- Cell\- ::step\- Desaturate().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a14db4e8542de7da785abec87fa65d6a4} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Row@{ get\- Row} }
\index { get\- Row@{ get\- Row} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Row}] { \setlength { \rightskip } { 0pt plus 5cm} unsigned int get\- Row (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1GCell_ a14db4e8542de7da785abec87fa65d6a4}
{ \bfseries Returns\- :} The row of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} in the \hyperlink { classKatabatic_ 1_ 1GCellGrid} { G\- Cell\- Grid} .
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References Base\- Grid\- ::get\- Row().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::check\- Density(), and Auto\- Segment\- ::compute\- Optimal().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a0035603802c53109ab0581ac39239932} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Column@{ get\- Column} }
\index { get\- Column@{ get\- Column} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Column}] { \setlength { \rightskip } { 0pt plus 5cm} unsigned int get\- Column (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1GCell_ a0035603802c53109ab0581ac39239932}
{ \bfseries Returns\- :} The Column of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} in the \hyperlink { classKatabatic_ 1_ 1GCellGrid} { G\- Cell\- Grid} .
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References Base\- Grid\- ::get\- Column().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::check\- Density(), and Auto\- Segment\- ::compute\- Optimal().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a0aba3a4c02ade1a0af6d4956b2d4d944} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Left@{ get\- Left} }
\index { get\- Left@{ get\- Left} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Left}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf G\- Cell} $ \ast $ get\- Left (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1GCell_ a0aba3a4c02ade1a0af6d4956b2d4d944}
{ \bfseries Returns\- :} The left neighbor of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} ({ \ttfamily N\- U\- L\- L} if it is the leftmost \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} ).
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References G\- Cell\- ::get\- G\- Cell\- Grid(), and Grid$ < $ G\- Cell\- T $ > $ \- ::get\- G\- Cell\- Left().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Vertical\- ::can\- Move\- U\- Left(), and Auto\- Vertical\- ::move\- U\- Left().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a23fdbef3699158d88da408ad8c23d091} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Right@{ get\- Right} }
\index { get\- Right@{ get\- Right} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Right}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf G\- Cell} $ \ast $ get\- Right (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1GCell_ a23fdbef3699158d88da408ad8c23d091}
{ \bfseries Returns\- :} The right neighbor of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} ({ \ttfamily N\- U\- L\- L} if it is the rightmost \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} ).
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References G\- Cell\- ::get\- G\- Cell\- Grid(), and Grid$ < $ G\- Cell\- T $ > $ \- ::get\- G\- Cell\- Right().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Horizontal\- ::\- \_ \- make\- Dogleg(), Auto\- Horizontal\- ::\- \_ \- post\- Create(), Auto\- Horizontal\- ::\- \_ \- pre\- Destroy(), Auto\- Horizontal\- ::can\- Move\- U\- Left(), Auto\- Horizontal\- ::can\- Move\- U\- Right(), Auto\- Vertical\- ::can\- Move\- U\- Right(), G\- Cell\- ::check\- Edge\- Saturation(), Auto\- Horizontal\- ::get\- G\- Cells(), Auto\- Segment\- ::make\- Dogleg(), Auto\- Horizontal\- ::move\- U\- Left(), Auto\- Horizontal\- ::move\- U\- Right(), and Auto\- Vertical\- ::move\- U\- Right().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a43374e26fb08fb4a4d47599e1f81e293} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Up@{ get\- Up} }
\index { get\- Up@{ get\- Up} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Up}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf G\- Cell} $ \ast $ get\- Up (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1GCell_ a43374e26fb08fb4a4d47599e1f81e293}
{ \bfseries Returns\- :} The top neighbor of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} ({ \ttfamily N\- U\- L\- L} if it is the topmost \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} ).
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References G\- Cell\- ::get\- G\- Cell\- Grid(), and Grid$ < $ G\- Cell\- T $ > $ \- ::get\- G\- Cell\- Up().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Vertical\- ::\- \_ \- make\- Dogleg(), Auto\- Vertical\- ::\- \_ \- post\- Create(), Auto\- Vertical\- ::\- \_ \- pre\- Destroy(), Auto\- Vertical\- ::can\- Move\- U\- Left(), Auto\- Horizontal\- ::can\- Move\- U\- Right(), Auto\- Vertical\- ::can\- Move\- U\- Right(), G\- Cell\- ::check\- Edge\- Saturation(), Auto\- Vertical\- ::get\- G\- Cells(), Auto\- Segment\- ::make\- Dogleg(), Auto\- Vertical\- ::move\- U\- Left(), Auto\- Horizontal\- ::move\- U\- Right(), and Auto\- Vertical\- ::move\- U\- Right().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a303e94e8090f008b434e785af9a34eb5} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Down@{ get\- Down} }
\index { get\- Down@{ get\- Down} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Down}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf G\- Cell} $ \ast $ get\- Down (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1GCell_ a303e94e8090f008b434e785af9a34eb5}
{ \bfseries Returns\- :} The bottom neighbor of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} ({ \ttfamily N\- U\- L\- L} if it is the bottommost \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} ).
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References Grid$ < $ G\- Cell\- T $ > $ \- ::get\- G\- Cell\- Down(), and G\- Cell\- ::get\- G\- Cell\- Grid().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Horizontal\- ::can\- Move\- U\- Left(), and Auto\- Horizontal\- ::move\- U\- Left().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a819f3ffbba69e4de2a19c827676b5aee} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !translate@{ translate} }
\index { translate@{ translate} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{translate}] { \setlength { \rightskip } { 0pt plus 5cm} void translate (
\begin { DoxyParamCaption}
\item [{const {\bf Db\-U\-::\-Unit} \&}] { , }
\item [{const {\bf Db\-U\-::\-Unit} \&}] { }
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [virtual]} } } \label { classKatabatic_ 1_ 1GCell_ a819f3ffbba69e4de2a19c827676b5aee}
Required to exists as a { \bf Hurricane\- ::\- Go} derived class. But must never be used... \hypertarget { classKatabatic_ 1_ 1GCell_ a3b9694bf093e3ea16e4a8c8126a8d4db} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Bounding\- Box@{ get\- Bounding\- Box} }
\index { get\- Bounding\- Box@{ get\- Bounding\- Box} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Bounding\-Box}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Box} get\- Bounding\- Box (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [virtual]} } } \label { classKatabatic_ 1_ 1GCell_ a3b9694bf093e3ea16e4a8c8126a8d4db}
{ \bfseries Returns\- :} The bounding box of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} , with the top right shrink applied.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Segment\- ::\- Auto\- Segment(), Auto\- Segment\- ::compute\- Optimal(), and Auto\- Contact\- Terminal\- ::get\- Native\- Constraint\- Box().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a852afe759ce2cb8cb9c0524fc1e23387} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- X@{ get\- X} }
\index { get\- X@{ get\- X} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-X}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Db\- U\- ::\- Unit} get\- X (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ a852afe759ce2cb8cb9c0524fc1e23387}
{ \bfseries Returns\- :} The lower left X coordinate of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} box.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References Box\- ::get\- X\- Min().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Horizontal\- ::\- \_ \- make\- Dogleg(), Auto\- Horizontal\- ::\- \_ \- post\- Create(), Auto\- Horizontal\- ::\- \_ \- pre\- Destroy(), Auto\- Contact\- ::get\- C\- B\- X\- Max(), Auto\- Contact\- ::get\- C\- B\- X\- Min(), Auto\- Segment\- ::get\- Origin(), Auto\- Contact\- ::set\- C\- B\- X\- Max(), and Auto\- Contact\- ::set\- C\- B\- X\- Min().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ ac597d25a34a79fb4393211c70f5a1bc3} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Y@{ get\- Y} }
\index { get\- Y@{ get\- Y} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Y}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Db\- U\- ::\- Unit} get\- Y (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ ac597d25a34a79fb4393211c70f5a1bc3}
{ \bfseries Returns\- :} The lower left Y coordinate of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} box.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References Box\- ::get\- Y\- Min().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Vertical\- ::\- \_ \- make\- Dogleg(), Auto\- Vertical\- ::\- \_ \- post\- Create(), Auto\- Vertical\- ::\- \_ \- pre\- Destroy(), Auto\- Contact\- ::get\- C\- B\- Y\- Max(), Auto\- Contact\- ::get\- C\- B\- Y\- Min(), Auto\- Segment\- ::get\- Origin(), Auto\- Contact\- ::set\- C\- B\- Y\- Max(), and Auto\- Contact\- ::set\- C\- B\- Y\- Min().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ ae58d4705ca2370ad5e0912d9e92e94da} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- X\- Max@{ get\- X\- Max} }
\index { get\- X\- Max@{ get\- X\- Max} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-X\-Max}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Db\- U\- ::\- Unit} get\- X\- Max (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ ae58d4705ca2370ad5e0912d9e92e94da}
{ \bfseries Returns\- :} The upper right X coordinate of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} box (top right shrink applied).
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References Box\- ::get\- X\- Max().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Horizontal\- ::\- \_ \- make\- Dogleg(), Auto\- Segment\- ::get\- Extremity(), and Auto\- Contact\- ::set\- C\- B\- X\- Max().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a98f8c479d4789850a926d87443e56e00} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Y\- Max@{ get\- Y\- Max} }
\index { get\- Y\- Max@{ get\- Y\- Max} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Y\-Max}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Db\- U\- ::\- Unit} get\- Y\- Max (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ a98f8c479d4789850a926d87443e56e00}
{ \bfseries Returns\- :} The upper right Y coordinate of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} box (top right shrink applied).
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References Box\- ::get\- Y\- Max().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Vertical\- ::\- \_ \- make\- Dogleg(), Auto\- Segment\- ::get\- Extremity(), and Auto\- Contact\- ::set\- C\- B\- Y\- Max().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a46861e2e666df89cd2e6eaa7ee146bcf} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Side@{ get\- Side} }
\index { get\- Side@{ get\- Side} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Side}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Interval} get\- Side (
\begin { DoxyParamCaption}
\item [{unsigned int}] { direction}
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1GCell_ a46861e2e666df89cd2e6eaa7ee146bcf}
{ \bfseries Returns\- :} The interval corresponding to the side position of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} box, in { \ttfamily direction} .
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References Box\- ::get\- X\- Max(), Box\- ::get\- X\- Min(), Box\- ::get\- Y\- Max(), Box\- ::get\- Y\- Min(), Katabatic\- ::\- Kb\- Horizontal, and Katabatic\- ::\- Kb\- Vertical.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Horizontal\- ::\- \_ \- can\- Slacken(), Auto\- Vertical\- ::\- \_ \- can\- Slacken(), Auto\- Segment\- ::make\- Dogleg(), Auto\- Horizontal\- ::move\- U\- Left(), Auto\- Vertical\- ::move\- U\- Left(), Auto\- Horizontal\- ::move\- U\- Right(), Auto\- Vertical\- ::move\- U\- Right(), and Auto\- Segment\- ::to\- Constraint\- Axis().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a75e5f7e9b993087270e8b21eb1e71e8d} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- H\- Capacity@{ get\- H\- Capacity} }
\index { get\- H\- Capacity@{ get\- H\- Capacity} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-H\-Capacity}] { \setlength { \rightskip } { 0pt plus 5cm} float get\- H\- Capacity (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1GCell_ a75e5f7e9b993087270e8b21eb1e71e8d}
\begin { DoxyReturn} { Returns}
The number of track that can go through the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} in the horizontal direction. For a detailed explanation of the computation see \hyperlink { classKatabatic_ 1_ 1GCell_ secGCellTrackComputation} { Track Computation} .
\end { DoxyReturn}
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References Box\- ::get\- Height().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::has\- Free\- Track(), and G\- Cell\- ::update\- Density().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a4f58e38dbcd75ae549f3ce9526ce97e1} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- V\- Capacity@{ get\- V\- Capacity} }
\index { get\- V\- Capacity@{ get\- V\- Capacity} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-V\-Capacity}] { \setlength { \rightskip } { 0pt plus 5cm} float get\- V\- Capacity (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1GCell_ a4f58e38dbcd75ae549f3ce9526ce97e1}
\begin { DoxyReturn} { Returns}
The number of track that can go through the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} in the vertical direction. For a detailed explanation of the computation see \hyperlink { classKatabatic_ 1_ 1GCell_ secGCellTrackComputation} { Track Computation} .
\end { DoxyReturn}
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References Box\- ::get\- Width().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::has\- Free\- Track(), and G\- Cell\- ::update\- Density().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ abdc872b796225ad9d6414f59b6d503c1} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Density@{ get\- Density} }
\index { get\- Density@{ get\- Density} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Density}] { \setlength { \rightskip } { 0pt plus 5cm} float get\- Density (
\begin { DoxyParamCaption}
\item [{unsigned int}] { flags = { \ttfamily 0} }
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1GCell_ abdc872b796225ad9d6414f59b6d503c1}
{ \bfseries Returns\- :} The average density of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} , for all the depths.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hyperlink { classKatabatic_ 1_ 1GCell_ secGCellDensity} { Saturation \& Density Computation} , \hyperlink { classKatabatic_ 1_ 1GCell_ secGCellLazyEvaluation} { G\- Cell Lazy Evaluation} .
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References G\- Cell\- Grid\- ::\- Average\- H\- Density, G\- Cell\- Grid\- ::\- Average\- H\- V\- Density, G\- Cell\- Grid\- ::\- Average\- V\- Density, G\- Cell\- Grid\- ::get\- Density\- Mode(), G\- Cell\- ::get\- G\- Cell\- Grid(), G\- Cell\- ::is\- Valid(), G\- Cell\- Grid\- ::\- Max\- Density, G\- Cell\- Grid\- ::\- Max\- H\- Density, G\- Cell\- Grid\- ::\- Max\- H\- V\- Density, G\- Cell\- Grid\- ::\- Max\- V\- Density, and G\- Cell\- ::update\- Density().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::is\- Above\- Density(), and G\- Cell\- ::is\- Saturated().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a35c9f813f00788d8093faa5c37c846e3} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- C\- Density@{ get\- C\- Density} }
\index { get\- C\- Density@{ get\- C\- Density} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-C\-Density}] { \setlength { \rightskip } { 0pt plus 5cm} float get\- C\- Density (
\begin { DoxyParamCaption}
\item [{unsigned int}] { flags = { \ttfamily 0} }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ a35c9f813f00788d8093faa5c37c846e3}
{ \bfseries Returns\- :} The density of contacts.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hyperlink { classKatabatic_ 1_ 1GCell_ secGCellDensity} { Saturation \& Density Computation} , \hyperlink { classKatabatic_ 1_ 1GCell_ secGCellLazyEvaluation} { G\- Cell Lazy Evaluation} .
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References G\- Cell\- ::is\- Valid(), and G\- Cell\- ::update\- Density().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ acfacab8f1d78e38ece30b4d2c63cf6d9} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- W\- Density@{ get\- W\- Density} }
\index { get\- W\- Density@{ get\- W\- Density} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-W\-Density}] { \setlength { \rightskip } { 0pt plus 5cm} float get\- W\- Density (
\begin { DoxyParamCaption}
\item [{unsigned int}] { depth, }
\item [{unsigned int}] { flags = { \ttfamily 0} }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ acfacab8f1d78e38ece30b4d2c63cf6d9}
{ \bfseries Returns\- :} The density of wires at { \ttfamily depth} .
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hyperlink { classKatabatic_ 1_ 1GCell_ secGCellDensity} { Saturation \& Density Computation} , \hyperlink { classKatabatic_ 1_ 1GCell_ secGCellLazyEvaluation} { G\- Cell Lazy Evaluation} .
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References G\- Cell\- ::is\- Valid(), and G\- Cell\- ::update\- Density().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Horizontal\- ::can\- Move\- U\- Left(), Auto\- Vertical\- ::can\- Move\- U\- Left(), Auto\- Horizontal\- ::can\- Move\- U\- Right(), and Auto\- Vertical\- ::can\- Move\- U\- Right().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a3cd78c51e165f5242bb99ab5033ff871} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Blockage@{ get\- Blockage} }
\index { get\- Blockage@{ get\- Blockage} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Blockage}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Db\- U\- ::\- Unit} get\- Blockage (
\begin { DoxyParamCaption}
\item [{unsigned int}] { depth}
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ a3cd78c51e165f5242bb99ab5033ff871}
{ \bfseries Returns\- :} The total length of blockage wire on layer at { \ttfamily depth} . \hypertarget { classKatabatic_ 1_ 1GCell_ ab154601770f4c29260c19364f130d534} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Fragmentation@{ get\- Fragmentation} }
\index { get\- Fragmentation@{ get\- Fragmentation} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Fragmentation}] { \setlength { \rightskip } { 0pt plus 5cm} float get\- Fragmentation (
\begin { DoxyParamCaption}
\item [{unsigned int}] { depth}
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ ab154601770f4c29260c19364f130d534}
{ \bfseries Returns\- :} The longest free fragment size on layer { \ttfamily depth} (in percent).
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References G\- Cell\- ::is\- Valid(), and G\- Cell\- ::update\- Density().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Segment\- ::can\- Move\- Up().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a1b246f4d67f6a21d391d2f366d184092} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Feedthroughs@{ get\- Feedthroughs} }
\index { get\- Feedthroughs@{ get\- Feedthroughs} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Feedthroughs}] { \setlength { \rightskip } { 0pt plus 5cm} float get\- Feedthroughs (
\begin { DoxyParamCaption}
\item [{unsigned int}] { depth}
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ a1b246f4d67f6a21d391d2f366d184092}
{ \bfseries Returns\- :} The estimate number of { \itshape occupied} tracks on layer { \ttfamily depth} .
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\begin { DoxySeeAlso} { See Also}
\hyperlink { classKatabatic_ 1_ 1GCell_ secGCellFeedthrough} { Feedthrough Computation}
\end { DoxySeeAlso}
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References G\- Cell\- ::is\- Valid(), and G\- Cell\- ::update\- Density().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a315f23abf15d879459eab98a6eeece12} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Globals\- Count@{ get\- Globals\- Count} }
\index { get\- Globals\- Count@{ get\- Globals\- Count} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Globals\-Count}] { \setlength { \rightskip } { 0pt plus 5cm} float get\- Globals\- Count (
\begin { DoxyParamCaption}
\item [{unsigned int}] { depth}
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ a315f23abf15d879459eab98a6eeece12}
{ \bfseries Returns\- :} The number of global wires that go completly through the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} at layer { \ttfamily depth} . This do not includes the global wires that begins or ends in the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} .
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References G\- Cell\- ::is\- Valid(), and G\- Cell\- ::update\- Density().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ ad885baf0428b0ffa73738e60b9fb6956} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- H\- Segments@{ get\- H\- Segments} }
\index { get\- H\- Segments@{ get\- H\- Segments} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-H\-Segments}] { \setlength { \rightskip } { 0pt plus 5cm} const vector$ < $ { \bf Auto\- Segment} $ \ast $ $ > $ \& get\- H\- Segments (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ ad885baf0428b0ffa73738e60b9fb6956}
2018-06-06 11:42:26 -05:00
\begin { DoxyReturn} { Returns}
2018-08-19 06:27:09 -05:00
The vector of all horizontal Auto\- Segments that completly goes through the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} .
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a2c54706769cb88ca13d233726ded6f2f} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- V\- Segments@{ get\- V\- Segments} }
\index { get\- V\- Segments@{ get\- V\- Segments} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-V\-Segments}] { \setlength { \rightskip } { 0pt plus 5cm} const vector$ < $ { \bf Auto\- Segment} $ \ast $ $ > $ \& get\- V\- Segments (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ a2c54706769cb88ca13d233726ded6f2f}
2018-06-06 11:42:26 -05:00
\begin { DoxyReturn} { Returns}
2018-08-19 06:27:09 -05:00
The vector of all vertical Auto\- Segments that completly goes through the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} .
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ ac2d662a9bbf5b80eb92776e4bce06ec5} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Contacts@{ get\- Contacts} }
\index { get\- Contacts@{ get\- Contacts} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Contacts}] { \setlength { \rightskip } { 0pt plus 5cm} const vector$ < $ { \bf Auto\- Contact} $ \ast $ $ > $ \& get\- Contacts (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ ac2d662a9bbf5b80eb92776e4bce06ec5}
2018-06-06 11:42:26 -05:00
\begin { DoxyReturn} { Returns}
2018-08-19 06:27:09 -05:00
The vector of all Auto\- Contacts owned by the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} .
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a79668a41675e9ba0ca59d4b91e3b70be} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- H\- Start\- Segments@{ get\- H\- Start\- Segments} }
\index { get\- H\- Start\- Segments@{ get\- H\- Start\- Segments} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-H\-Start\-Segments}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Auto\- Segments} get\- H\- Start\- Segments (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1GCell_ a79668a41675e9ba0ca59d4b91e3b70be}
2018-06-06 11:42:26 -05:00
\begin { DoxyReturn} { Returns}
2018-08-19 06:27:09 -05:00
A Collection of the horizontal Auto\- Segments that starts from this \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} .
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-08-19 06:27:09 -05:00
References Katabatic\- ::\- Kb\- Horizontal, and Katabatic\- ::\- Kb\- Source.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::get\- Start\- Segments().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ acbd17a4441905a4f5bc33a26bb338d0a} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- V\- Start\- Segments@{ get\- V\- Start\- Segments} }
\index { get\- V\- Start\- Segments@{ get\- V\- Start\- Segments} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-V\-Start\-Segments}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Auto\- Segments} get\- V\- Start\- Segments (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1GCell_ acbd17a4441905a4f5bc33a26bb338d0a}
2018-06-06 11:42:26 -05:00
\begin { DoxyReturn} { Returns}
2018-08-19 06:27:09 -05:00
A Collection of the vertical Auto\- Segments that starts from this \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} .
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-08-19 06:27:09 -05:00
References Katabatic\- ::\- Kb\- Source, and Katabatic\- ::\- Kb\- Vertical.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::get\- Start\- Segments().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a77beccf65527a330f15bed2aba4f9dea} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- H\- Stop\- Segments@{ get\- H\- Stop\- Segments} }
\index { get\- H\- Stop\- Segments@{ get\- H\- Stop\- Segments} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-H\-Stop\-Segments}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Auto\- Segments} get\- H\- Stop\- Segments (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1GCell_ a77beccf65527a330f15bed2aba4f9dea}
2018-06-06 11:42:26 -05:00
\begin { DoxyReturn} { Returns}
2018-08-19 06:27:09 -05:00
A Collection of the horizontal Auto\- Segments that stops in this \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} .
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-08-19 06:27:09 -05:00
References Katabatic\- ::\- Kb\- Horizontal, and Katabatic\- ::\- Kb\- Target.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::get\- Stop\- Segments().
\hypertarget { classKatabatic_ 1_ 1GCell_ a2f0f038f5700b7b55f22829c5d43aa07} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- V\- Stop\- Segments@{ get\- V\- Stop\- Segments} }
\index { get\- V\- Stop\- Segments@{ get\- V\- Stop\- Segments} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-V\-Stop\-Segments}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Auto\- Segments} get\- V\- Stop\- Segments (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1GCell_ a2f0f038f5700b7b55f22829c5d43aa07}
2018-06-06 11:42:26 -05:00
\begin { DoxyReturn} { Returns}
2018-08-19 06:27:09 -05:00
A Collection of the vertical Auto\- Segments that stops in this \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} .
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-08-19 06:27:09 -05:00
References Katabatic\- ::\- Kb\- Target, and Katabatic\- ::\- Kb\- Vertical.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::get\- Stop\- Segments().
\hypertarget { classKatabatic_ 1_ 1GCell_ a1f92568d22b1384a8cdf328340fb9160} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Start\- Segments@{ get\- Start\- Segments} }
\index { get\- Start\- Segments@{ get\- Start\- Segments} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Start\-Segments}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Auto\- Segments} get\- Start\- Segments (
\begin { DoxyParamCaption}
\item [{unsigned int}] { direction}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ a1f92568d22b1384a8cdf328340fb9160}
2018-06-06 11:42:26 -05:00
\begin { DoxyReturn} { Returns}
2018-08-19 06:27:09 -05:00
A Collection of the horizontal or vertical Auto\- Segments that starts from this \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} according to { \ttfamily direction} .
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-08-19 06:27:09 -05:00
References G\- Cell\- ::get\- H\- Start\- Segments(), G\- Cell\- ::get\- V\- Start\- Segments(), and Katabatic\- ::\- Kb\- Horizontal.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a80ad0f9e79bccf6aed4fb69b4b795005} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Stop\- Segments@{ get\- Stop\- Segments} }
\index { get\- Stop\- Segments@{ get\- Stop\- Segments} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Stop\-Segments}] { \setlength { \rightskip } { 0pt plus 5cm} { \bf Auto\- Segments} get\- Stop\- Segments (
\begin { DoxyParamCaption}
\item [{unsigned int}] { direction}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ a80ad0f9e79bccf6aed4fb69b4b795005}
2018-06-06 11:42:26 -05:00
\begin { DoxyReturn} { Returns}
2018-08-19 06:27:09 -05:00
A Collection of the horizontal or vertical Auto\- Segments that stops in this \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} according to { \ttfamily direction} .
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-08-19 06:27:09 -05:00
References G\- Cell\- ::get\- H\- Stop\- Segments(), G\- Cell\- ::get\- V\- Stop\- Segments(), and Katabatic\- ::\- Kb\- Horizontal.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a63d53a84324e393e7d7b3e73548ed6bf} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Routing\- Pads@{ get\- Routing\- Pads} }
\index { get\- Routing\- Pads@{ get\- Routing\- Pads} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Routing\-Pads}] { \setlength { \rightskip } { 0pt plus 5cm} size\- \_ \- t get\- Routing\- Pads (
\begin { DoxyParamCaption}
\item [{set$<$ {\bf Routing\-Pad} $\ast$ $>$ \&}] { rps}
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1GCell_ a63d53a84324e393e7d7b3e73548ed6bf}
2018-06-06 11:42:26 -05:00
\begin { DoxyReturn} { Returns}
2018-08-19 06:27:09 -05:00
The size of the Routing\- Pad set.
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-08-19 06:27:09 -05:00
Fills the { \ttfamily rps} set with all the Routing\- Pads that appears in this \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} . (looks at all the anchors of the owned \hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} )
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::rp\- Desaturate().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ ab17b3f4c7e2558bc29ea026925fd6fd6} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !get\- Key@{ get\- Key} }
\index { get\- Key@{ get\- Key} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{get\-Key}] { \setlength { \rightskip } { 0pt plus 5cm} const { \bf Key} \& get\- Key (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ ab17b3f4c7e2558bc29ea026925fd6fd6}
2018-06-06 11:42:26 -05:00
\begin { DoxyReturn} { Returns}
2018-08-19 06:27:09 -05:00
The sorting key of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} .
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-08-19 06:27:09 -05:00
\begin { DoxySeeAlso} { See Also}
\hyperlink { classKatabatic_ 1_ 1GCell_ secGCellSortingKey} { G\- Cell Sorting Key}
2018-06-06 11:42:26 -05:00
\end { DoxySeeAlso}
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a8f5167eb40def2cfa878913743079f03} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !check\- Density@{ check\- Density} }
\index { check\- Density@{ check\- Density} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{check\-Density}] { \setlength { \rightskip } { 0pt plus 5cm} size\- \_ \- t check\- Density (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1GCell_ a8f5167eb40def2cfa878913743079f03}
2018-06-06 11:42:26 -05:00
\begin { DoxyReturn} { Returns}
2018-08-19 06:27:09 -05:00
{ \ttfamily 1} if the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} is saturated, 0 otherwise.
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-08-19 06:27:09 -05:00
Check, if the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} is saturated, layer by layer. Issue a warning if that is the case.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
References Session\- ::do\- Warn\- G\- Cell\- Overload(), G\- Cell\- ::get\- Column(), G\- Cell\- ::get\- Name(), Session\- ::get\- Routing\- Gauge(), G\- Cell\- ::get\- Row(), Session\- ::is\- In\- Demo\- Mode(), G\- Cell\- ::is\- Saturated(), G\- Cell\- ::is\- Valid(), and G\- Cell\- ::update\- Density().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::update\- Density().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a0fb331311568ccb14d2005065575dc28} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !check\- Edge\- Saturation@{ check\- Edge\- Saturation} }
\index { check\- Edge\- Saturation@{ check\- Edge\- Saturation} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{check\-Edge\-Saturation}] { \setlength { \rightskip } { 0pt plus 5cm} bool check\- Edge\- Saturation (
\begin { DoxyParamCaption}
\item [{size\-\_\-t}] { hreserved, }
\item [{size\-\_\-t}] { vreserved}
\end { DoxyParamCaption}
) const} } \label { classKatabatic_ 1_ 1GCell_ a0fb331311568ccb14d2005065575dc28}
2018-06-06 11:42:26 -05:00
\begin { DoxyReturn} { Returns}
2018-08-19 06:27:09 -05:00
{ \bfseries true} if the Up/\- Right edge is over the { \ttfamily threshold} .
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-08-19 06:27:09 -05:00
Check if the number of Auto\- Segments crossing the Up \& Right edges of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} exceed { \ttfamily threshold} . The { \ttfamily thresold} must be expressed as a percentage of the full capacity of the edges. The overload is computed as a whole and not depth by depth.
References G\- Cell\- ::get\- G\- Cell\- Grid(), G\- Cell\- Grid\- ::get\- H\- Edge\- Capacity(), G\- Cell\- ::get\- Right(), G\- Cell\- ::get\- Up(), G\- Cell\- Grid\- ::get\- V\- Edge\- Capacity(), Auto\- Segment\- ::is\- Local(), and Session\- ::lookup().
\hypertarget { classKatabatic_ 1_ 1GCell_ a1270eab34ac57f21c0286a5455044a0d} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !add\- Blockage@{ add\- Blockage} }
\index { add\- Blockage@{ add\- Blockage} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{add\-Blockage}] { \setlength { \rightskip } { 0pt plus 5cm} void add\- Blockage (
\begin { DoxyParamCaption}
\item [{unsigned int}] { depth, }
\item [{{\bf Db\-U\-::\-Unit}}] { length}
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1GCell_ a1270eab34ac57f21c0286a5455044a0d}
2018-06-06 11:42:26 -05:00
Adds { \ttfamily length} of wire blockage to layer { \ttfamily depth} .
2018-08-19 06:27:09 -05:00
References Db\- U\- ::get\- Value\- String().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a4aad7d6f7357fd7963aab91bc2019a1b} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !add\- H\- Segment@{ add\- H\- Segment} }
\index { add\- H\- Segment@{ add\- H\- Segment} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{add\-H\-Segment}] { \setlength { \rightskip } { 0pt plus 5cm} void add\- H\- Segment (
\begin { DoxyParamCaption}
\item [{{\bf Auto\-Segment} $\ast$}] { segment}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ a4aad7d6f7357fd7963aab91bc2019a1b}
2018-06-06 11:42:26 -05:00
Adds { \ttfamily segment} to the list of horizontal feedthroughs.
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Horizontal\- ::\- \_ \- post\- Create(), Auto\- Vertical\- ::move\- U\- Left(), and Auto\- Vertical\- ::move\- U\- Right().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a8aa815e9e99df8187e628f6ec9e9da77} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !add\- V\- Segment@{ add\- V\- Segment} }
\index { add\- V\- Segment@{ add\- V\- Segment} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{add\-V\-Segment}] { \setlength { \rightskip } { 0pt plus 5cm} void add\- V\- Segment (
\begin { DoxyParamCaption}
\item [{{\bf Auto\-Segment} $\ast$}] { segment}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ a8aa815e9e99df8187e628f6ec9e9da77}
2018-06-06 11:42:26 -05:00
Adds { \ttfamily segment} to the list of vertical feedthroughs.
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Vertical\- ::\- \_ \- post\- Create(), Auto\- Horizontal\- ::move\- U\- Left(), and Auto\- Horizontal\- ::move\- U\- Right().
\hypertarget { classKatabatic_ 1_ 1GCell_ a2b84aab620bfca1064e988e94e7b9c59} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !add\- Contact@{ add\- Contact} }
\index { add\- Contact@{ add\- Contact} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{add\-Contact}] { \setlength { \rightskip } { 0pt plus 5cm} void add\- Contact (
\begin { DoxyParamCaption}
\item [{{\bf Auto\-Contact} $\ast$}] { contact}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ a2b84aab620bfca1064e988e94e7b9c59}
Adds { \ttfamily contact} to the list of contacts owned by this \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} .
Referenced by Auto\- Contact\- ::set\- G\- Cell().
\hypertarget { classKatabatic_ 1_ 1GCell_ abe128484d8aa063198292a88c63f2bba} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !remove\- V\- Segment@{ remove\- V\- Segment} }
\index { remove\- V\- Segment@{ remove\- V\- Segment} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{remove\-V\-Segment}] { \setlength { \rightskip } { 0pt plus 5cm} void remove\- V\- Segment (
\begin { DoxyParamCaption}
\item [{{\bf Auto\-Segment} $\ast$}] { segment}
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1GCell_ abe128484d8aa063198292a88c63f2bba}
2018-06-06 11:42:26 -05:00
Removes { \ttfamily segment} to the list of vertical feedthroughs.
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Vertical\- ::\- \_ \- make\- Dogleg(), Auto\- Vertical\- ::\- \_ \- pre\- Destroy(), Auto\- Horizontal\- ::move\- U\- Left(), and Auto\- Horizontal\- ::move\- U\- Right().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ aff76aa96214c0efcf13186b8b3e5c852} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !remove\- H\- Segment@{ remove\- H\- Segment} }
\index { remove\- H\- Segment@{ remove\- H\- Segment} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{remove\-H\-Segment}] { \setlength { \rightskip } { 0pt plus 5cm} void remove\- H\- Segment (
\begin { DoxyParamCaption}
\item [{{\bf Auto\-Segment} $\ast$}] { segment}
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1GCell_ aff76aa96214c0efcf13186b8b3e5c852}
2018-06-06 11:42:26 -05:00
Removes { \ttfamily segment} to the list of horizontal feedthroughs.
2018-08-19 06:27:09 -05:00
Referenced by Auto\- Horizontal\- ::\- \_ \- make\- Dogleg(), Auto\- Horizontal\- ::\- \_ \- pre\- Destroy(), Auto\- Vertical\- ::move\- U\- Left(), and Auto\- Vertical\- ::move\- U\- Right().
\hypertarget { classKatabatic_ 1_ 1GCell_ aa052a9427fbd4185f00567a97770f80b} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !remove\- Contact@{ remove\- Contact} }
\index { remove\- Contact@{ remove\- Contact} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{remove\-Contact}] { \setlength { \rightskip } { 0pt plus 5cm} void remove\- Contact (
\begin { DoxyParamCaption}
\item [{{\bf Auto\-Contact} $\ast$}] { contact}
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1GCell_ aa052a9427fbd4185f00567a97770f80b}
Removes { \ttfamily contact} to the list of contacts owned by this \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} .
References Auto\- Contact\- ::base().
\hypertarget { classKatabatic_ 1_ 1GCell_ aa0beea2ceaa543503346967085036d1a} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !update\- Contacts@{ update\- Contacts} }
\index { update\- Contacts@{ update\- Contacts} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{update\-Contacts}] { \setlength { \rightskip } { 0pt plus 5cm} void update\- Contacts (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1GCell_ aa0beea2ceaa543503346967085036d1a}
Force a geometry update on all the \hyperlink { classKatabatic_ 1_ 1AutoContact} { Auto\- Contact} of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} . \hypertarget { classKatabatic_ 1_ 1GCell_ a9b3455dce10eb98d0496175dd586528c} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !update\- Density@{ update\- Density} }
\index { update\- Density@{ update\- Density} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{update\-Density}] { \setlength { \rightskip } { 0pt plus 5cm} size\- \_ \- t update\- Density (
\begin { DoxyParamCaption}
{ }
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1GCell_ a9b3455dce10eb98d0496175dd586528c}
{ \bfseries Returns\- :} { \bfseries true} if the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} is saturated.
Update the various densities of the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} . No actual computation is performed if the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} is { \itshape not} invalidated.
References G\- Cell\- ::check\- Density(), G\- Cell\- ::get\- H\- Capacity(), Box\- ::get\- Height(), Routing\- Gauge\- ::get\- Layer\- Depth(), Session\- ::get\- Routing\- Gauge(), G\- Cell\- ::get\- V\- Capacity(), Box\- ::get\- Width(), Box\- ::get\- X\- Max(), Box\- ::get\- X\- Min(), Box\- ::get\- Y\- Max(), Box\- ::get\- Y\- Min(), G\- Cell\- ::is\- Saturated(), G\- Cell\- ::is\- Valid(), Katabatic\- ::\- Kb\- Horizontal, and Katabatic\- ::\- Kb\- Vertical.
Referenced by G\- Cell\- ::check\- Density(), G\- Cell\- ::get\- C\- Density(), G\- Cell\- ::get\- Density(), G\- Cell\- ::get\- Feedthroughs(), G\- Cell\- ::get\- Fragmentation(), G\- Cell\- ::get\- Globals\- Count(), G\- Cell\- ::get\- W\- Density(), G\- Cell\- ::has\- Free\- Track(), G\- Cell\- ::is\- Above\- Density(), G\- Cell\- ::step\- Desaturate(), and G\- Cell\- ::step\- Net\- Desaturate().
\hypertarget { classKatabatic_ 1_ 1GCell_ a11beff0f0bec06d0f3e080969516dfc3} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !update\- Key@{ update\- Key} }
\index { update\- Key@{ update\- Key} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{update\-Key}] { \setlength { \rightskip } { 0pt plus 5cm} void update\- Key (
\begin { DoxyParamCaption}
\item [{unsigned int}] { depth}
\end { DoxyParamCaption}
)\hspace { 0.3cm} { \ttfamily [inline]} } } \label { classKatabatic_ 1_ 1GCell_ a11beff0f0bec06d0f3e080969516dfc3}
Update the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} key with the new density at layer { \ttfamily depth} .
\begin { DoxySeeAlso} { See Also}
\hyperlink { classKatabatic_ 1_ 1GCell_ secGCellSortingKey} { G\- Cell Sorting Key} .
2018-06-06 11:42:26 -05:00
\end { DoxySeeAlso}
2018-08-19 06:27:09 -05:00
References G\- Cell\- ::\- Key\- ::update().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a8785f0ae0bc6de278281c353734b67b7} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !rp\- Desaturate@{ rp\- Desaturate} }
\index { rp\- Desaturate@{ rp\- Desaturate} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{rp\-Desaturate}] { \setlength { \rightskip } { 0pt plus 5cm} bool rp\- Desaturate (
\begin { DoxyParamCaption}
\item [{set$<$ {\bf Net} $\ast$ $>$ \&}] { nets}
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1GCell_ a8785f0ae0bc6de278281c353734b67b7}
If the number of Routing\- Pad in the first routing layer exceed the \hyperlink { classKatabatic_ 1_ 1Session_ adfdaa8b3e81de14fce1f99444b35fcda} { Session\- ::get\- Saturate\- Rp()} threshold, force a desaturation of layer { \ttfamily depth} 1 until it is below 0.\- 5.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\begin { DoxySeeAlso} { See Also}
\hyperlink { classKatabatic_ 1_ 1GCell_ secGCellDesaturation} { G\- Cell Desaturation / Layer Assignment}
2018-06-06 11:42:26 -05:00
\end { DoxySeeAlso}
2018-08-19 06:27:09 -05:00
References Session\- ::get\- Routing\- Layer(), G\- Cell\- ::get\- Routing\- Pads(), Session\- ::get\- Saturate\- Rp(), Katabatic\- ::\- Kb\- Force\- Move, and G\- Cell\- ::step\- Desaturate().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ a1256c28423a9a260d320e25b3fc1bf57} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !step\- Desaturate@{ step\- Desaturate} }
\index { step\- Desaturate@{ step\- Desaturate} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{step\-Desaturate}] { \setlength { \rightskip } { 0pt plus 5cm} bool step\- Desaturate (
\begin { DoxyParamCaption}
\item [{unsigned int}] { depth, }
\item [{set$<$ {\bf Net} $\ast$ $>$ \&}] { global\- Nets, }
\item [{{\bf Auto\-Segment} $\ast$\&}] { moved, }
\item [{unsigned int}] { flags = { \ttfamily 0} }
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1GCell_ a1256c28423a9a260d320e25b3fc1bf57}
2018-06-06 11:42:26 -05:00
\begin { DoxyParams} { Parameters}
{ \em depth} & The depth to desaturate. \\
\hline
2018-08-19 06:27:09 -05:00
{ \em global\- Nets} & The set of Nets of which at least one segment has been moved up. \\
2018-06-06 11:42:26 -05:00
\hline
2018-08-19 06:27:09 -05:00
{ \em moved} & The moved up \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} . \\
2018-06-06 11:42:26 -05:00
\hline
2018-08-19 06:27:09 -05:00
{ \em flags} & If Kb\- Force\- Move is set, force one \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} to move up, event if the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} is not saturated in the relevant depth.\\
2018-06-06 11:42:26 -05:00
\hline
\end { DoxyParams}
2018-08-19 06:27:09 -05:00
{ \bfseries Returns\- :} { \bfseries true} if an \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} has actually been moved up.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Perform the atomic desaturation, that is move up one \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} from layer { \ttfamily depth} to layer { \ttfamily depth+2} , longuests Auto\- Segments are moved first. Only global feedthrough Auto\- Segments are candidates to be moved up. The Net owning the moved up segment is added to the { \ttfamily global\- Nets} set. If the \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} is not saturated on layer { \ttfamily depth} , nothing is done. If the { \ttfamily forced} flag is set, one global \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} is moved up regardless of the saturation status.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\begin { DoxySeeAlso} { See Also}
\hyperlink { classKatabatic_ 1_ 1GCell_ secGCellDesaturation} { G\- Cell Desaturation / Layer Assignment}
2018-06-06 11:42:26 -05:00
\end { DoxySeeAlso}
2018-08-19 06:27:09 -05:00
References G\- Cell\- ::get\- Index(), Routing\- Gauge\- ::get\- Layer\- Depth(), Session\- ::get\- Routing\- Gauge(), G\- Cell\- ::is\- Saturated(), Katabatic\- ::\- Kb\- Force\- Move, Katabatic\- ::\- Kb\- Horizontal, Katabatic\- ::\- Kb\- Vertical, and G\- Cell\- ::update\- Density().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Referenced by G\- Cell\- ::rp\- Desaturate().
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\hypertarget { classKatabatic_ 1_ 1GCell_ aab5b30c49b0453db495337931cf284a9} { \index { Katabatic\- ::\- G\- Cell@{ Katabatic\- ::\- G\- Cell} !step\- Net\- Desaturate@{ step\- Net\- Desaturate} }
\index { step\- Net\- Desaturate@{ step\- Net\- Desaturate} !Katabatic::GCell@{ Katabatic\- ::\- G\- Cell} }
\subsubsection [{step\-Net\-Desaturate}] { \setlength { \rightskip } { 0pt plus 5cm} bool step\- Net\- Desaturate (
\begin { DoxyParamCaption}
\item [{unsigned int}] { depth, }
\item [{set$<$ {\bf Net} $\ast$ $>$ \&}] { global\- Nets, }
\item [{{\bf G\-Cell\-::\-Set\-Index} \&}] { invalidateds}
\end { DoxyParamCaption}
)} } \label { classKatabatic_ 1_ 1GCell_ aab5b30c49b0453db495337931cf284a9}
2018-06-06 11:42:26 -05:00
\begin { DoxyParams} { Parameters}
{ \em depth} & The depth to desaturate. \\
\hline
2018-08-19 06:27:09 -05:00
{ \em global\- Nets} & The set of Nets of which at least one segment 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 \hyperlink { classKatabatic_ 1_ 1GCell} { G\- Cell} ids that have been invalidateds.\\
2018-06-06 11:42:26 -05:00
\hline
\end { DoxyParams}
2018-08-19 06:27:09 -05:00
{ \bfseries Returns\- :} { \bfseries true} if a Net has been moved up.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Perform a desaturation by whole Net trunk. Select the longest feedthrough \hyperlink { classKatabatic_ 1_ 1AutoSegment} { Auto\- Segment} in layer { \ttfamily depth} , then attempt to move up the whole Net (all it's global Auto\- Segments are moved up).
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
\begin { DoxySeeAlso} { See Also}
\hyperlink { classKatabatic_ 1_ 1GCell_ secGCellDesaturation} { G\- Cell Desaturation / Layer Assignment}
2018-06-06 11:42:26 -05:00
\end { DoxySeeAlso}
2018-08-19 06:27:09 -05:00
References G\- Cell\- ::get\- G\- Cell\- Grid(), Routing\- Gauge\- ::get\- Layer\- Depth(), Session\- ::get\- Routing\- Gauge(), Katabatic\- ::\- Kb\- Horizontal, Katabatic\- ::\- Kb\- Vertical, and G\- Cell\- ::update\- Density().
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
G\- Cell.\- h\item
G\- Cell.\- cpp\item
G\- Cell.\- dox\end { DoxyCompactItemize}