The namespace dedicated to Katabatic. More...
Classes | |
class | AutoContact |
Abstract base class for AutoContact. More... | |
class | AutoContactHTee |
AutoContact H-Tee (two H, one V) More... | |
class | AutoContactTerminal |
AutoContact Terminal (S/T is a Terminal) More... | |
class | AutoContactTurn |
AutoContact Turn (one H, one V) More... | |
class | AutoContactVTee |
AutoContact V-Tee (one H, two V) More... | |
class | AutoHorizontal |
Concrete Horizontal AutoSegment. More... | |
class | AutoSegment |
Abstract base class for AutoSegment. More... | |
class | AutoSegments_Aligneds |
All aligned AutoSegment of a set. More... | |
class | AutoSegments_AnchorOnGCell |
All AutoSegment Beginning and/or Stopping in a GCell. More... | |
class | AutoSegments_InDirection |
Filter to select AutoSegment in a given direction. More... | |
class | AutoSegments_IsAccountable |
Filter to select accoutable AutoSegment. More... | |
class | AutoSegments_OnContact |
All AutoSegment anchored on a Contact. More... | |
class | AutoSegments_Perpandiculars |
All perpandicular AutoSegment to a set of aligneds. More... | |
class | AutoVertical |
Concrete Vertical AutoSegment. More... | |
class | BaseGrid |
Abstract Base Class for Irregular Grid. More... | |
class | BaseObserver |
Observer Design Pattern, Observer part. More... | |
class | ChipTools |
Utilities for Chip Level Design. More... | |
class | GCell |
Routing Global Cell. More... | |
class | GCellDensitySet |
GCell Set, sorted by density. More... | |
class | GCellGrid |
GCell Grid. More... | |
class | Grid |
Template Class for Regular Grid. More... | |
class | KatabaticEngine |
The Katabatic Tool. More... | |
class | LocatorHelper |
Locator Helper Collection's Locators. More... | |
class | Observable |
Observer Design Pattern, Subject part. More... | |
class | Observer |
Observer Design Pattern, Observer part. More... | |
class | Session |
Modification Session for Katabatic. More... | |
Typedefs | |
typedef Hurricane::Filter< AutoSegment * > | AutoSegmentHF |
typedef Hurricane::Locator< AutoSegment * > | AutoSegmentHL |
typedef Hurricane::Collection< AutoSegment * > | AutoSegmentHC |
typedef GenericCollection< AutoSegment * > | AutoSegments |
typedef GenericLocator< AutoSegment * > | AutoSegmentLocator |
typedef GenericFilter< AutoSegment * > | AutoSegmentFilter |
typedef GenericCollection< GCell * > | GCells |
typedef GenericLocator< GCell * > | GCellLocator |
typedef GenericFilter< GCell * > | GCellFilter |
Enumerations | |
enum | FunctionFlag { , KbOpenSession = 0x00000001, KbRealignate = 0x00000002, KbNativeConstraints = 0x00000004, KbForceMove = 0x00000008, KbHorizontal = 0x00000010, KbVertical = 0x00000020, KbWithPerpands = 0x00000040, KbSource = 0x00000080, KbTarget = 0x00000100, KbWarnOnError = 0x00000200 , KbPropagate = 0x00008000 , KbUseAboveLayer = 0x00020000, KbUseBelowLayer = 0x00040000, KbDoglegOnLeft = 0x00080000, KbDoglegOnRight = 0x00100000 , KbHalfSlacken = 0x00800000 } |
enum | EngineState { EngineCreation = 1, EngineGlobalLoaded = 2, EngineActive = 3, EngineDriving = 4, EnginePreDestroying = 5, EngineGutted = 6 } |
enum | AutoContactFlag { CntFixed = 0x00000001, CntTerminal = 0x00000002, CntTurn = 0x00000004, CntHTee = 0x00000008, CntVTee = 0x00000010, CntInvalidated = 0x00000020, CntInvalidatedCache = 0x00000040, CntInCreationStage = 0x00000080, CntBadTopology = 0x00000100 } |
enum | AutoSegmentFlag { , SegHorizontal = (1<< 0), SegFixed = (1<< 1), SegGlobal = (1<< 2), SegWeakGlobal = (1<< 3), SegCanonical = (1<< 4), SegBipoint = (1<< 5), SegDogleg = (1<< 6), SegStrap = (1<< 7), SegSourceTop = (1<< 8), SegSourceBottom = (1<< 9), SegTargetTop = (1<<10), SegTargetBottom = (1<<11), SegIsReduced = (1<<12), SegLayerChange = (1<<13) , SegStrongTerminal = SegSourceTerminal|SegTargetTerminal, SegWeakTerminal1 = (1<<16), SegWeakTerminal2 = (1<<17), SegNotSourceAligned = (1<<18), SegNotTargetAligned = (1<<19) , SegSlackened = (1<<22), SegAxisSet = (1<<23), SegInvalidated = (1<<24) , SegInvalidatedLayer = (1<<27), SegCreated = (1<<28) , SegWeakTerminal = SegStrongTerminal|SegWeakTerminal1|SegWeakTerminal2, SegNotAligned = SegNotSourceAligned|SegNotTargetAligned } |
The namespace dedicated to Katabatic.
typedef Hurricane::Filter< AutoSegment * > AutoSegmentHF |
Shorthand for AutoSegment Hurricane Filter.
typedef Hurricane::Locator< AutoSegment * > AutoSegmentHL |
Shorthand for AutoSegment Hurricane Locator.
typedef Hurricane::Collection< AutoSegment * > AutoSegmentHC |
Shorthand for AutoSegment Hurricane Collection.
typedef GenericCollection< AutoSegment * > AutoSegments |
Shorthand for AutoSegment Hurricane Generic Collection (collection with unique_ptr<>
like support).
typedef GenericLocator< AutoSegment * > AutoSegmentLocator |
Shorthand for AutoSegment Hurricane Generic Locator (locator with unique_ptr<>
like support).
typedef GenericFilter< AutoSegment * > AutoSegmentFilter |
Shorthand for AutoSegment Hurricane Generic Filter (filter with unique_ptr<>
like support).
typedef GenericCollection< GCell * > GCells |
GCell Collection with auto-pointer like support.
typedef GenericLocator< GCell * > GCellLocator |
GCell Locator with auto-pointer like support.
typedef GenericFilter< GCell * > GCellFilter |
GCell Filter with auto-pointer like support.
enum FunctionFlag |
A set of flags to that can be passed to functions/methods througout all Katabatic.
Enumerator | |
---|---|
KbOpenSession | Tells the function to open it's own Session, otherwise use the one that should already have been opened. |
KbRealignate | On AutoSegment axis manipulation, force the realignment of all the segment on an aligned set, even is the axis of the canonical is already at the right coordinate. |
KbNativeConstraints | Ignore user-defined constraints or terminal induced ones (for AutoContacts anchored on terminals) and return the owning GCell alone. |
KbForceMove | Tells the function to force move, even if it is not needed. |
KbHorizontal | Request some action to be done in the horizontal direction. |
KbVertical | Request some action to be done in the vertical direction. |
KbWithPerpands | Request that AutoSegments in perpandicular direction should be includeds. |
KbSource | Request AutoSegments anchored by their source anchor or that some operation has to be performed on the source. |
KbTarget | Request AutoSegments anchored by their target anchor or that some operation has to be performed on the target. |
KbWarnOnError | Display a warning if something has gone wrong. |
KbPropagate | The action will affect all the segments on an aligned set. |
KbUseAboveLayer | Request/tell the a above layer has been used. |
KbUseBelowLayer | Request/tell the a below layer has been used. |
KbDoglegOnLeft | The dogleg has occured on the left of something |
KbDoglegOnRight | The dogleg has occured on the right of something |
KbHalfSlacken | For AutoSegment::slacken(), change the overconstrained limit from 10 tracks down to 3 (hard-wired). |
enum EngineState |
Describe the current state of the KatabaticEngine.
enum AutoContactFlag |
Set of flags to describe the internal state of an AutoContact.
Enumerator | |
---|---|
CntFixed | This contact cannot be moved. |
CntTerminal | This contact is anchored on a terminal (AutoContactTerminal), must not be changed. |
CntTurn | The object true class is AutoContactTurn, must not be changed. |
CntHTee | The object true class is AutoContactHTee, must not be changed. |
CntVTee | The object true class is AutoContactVTee, must not be changed. |
CntInvalidated | At least one AutoSegment of this contact has been moved, the contact position must be recomputed (in the Session revalidation). |
CntInvalidatedCache | At least one AutoSegment has been broken or moved up, the connexity must be checked and possibly corrected (in Session revalidation). |
CntInCreationStage | Sets only during the initial creation process. |
CntBadTopology | Something wrong has happened and the connexity of the AutoContact is no longer ensured (too much or too less AutoSegments, too wide span of AutoSegment layers). |
enum AutoSegmentFlag |
Set of flags to describe the internal state of an AutoSegment.
Enumerator | |
---|---|
SegHorizontal | This AutoSegment is associated to a Hurricane::Horizontal, if not set, it is associated to a Hurricane::Vertical. Set when the object is constructed. |
SegFixed | The Hurricane::Segment associated must/cannot be moved. |
SegGlobal | The AutoSegment span between at least two GCells (i.e. not fully enclosed in one). |
SegWeakGlobal | The AutoSegment is part of an aligned set which contains at least a global. The global segment is itself tagged as weak global. |
SegCanonical | This AutoSegment is the designated representant of a set of aligned AutoSegment. |
SegBipoint | This AutoSegment is a straight wire between two terminal AutoContact. |
SegDogleg | This AutoSegment has been created as the perpandicular part of a dogleg. |
SegStrap | This AutoSegment has been created to to reconnect parts of an AutoSegment after slackening. |
SegSourceTop | The source contact of this segment is connected to the top layer. |
SegSourceBottom | The source contact of this segment is connected to the bottom layer. |
SegTargetTop | The target contact of this segment is connected to the top layer. |
SegTargetBottom | The target contact of this segment is connected to the bottom layer. |
SegIsReduced | This segment is the perpandicular part of a dogleg which will use the same layer as the parallels. |
SegLayerChange | This AutoSegment has been created to to reconnect parts of an AutoSegment after a layer change. |
SegStrongTerminal | This AutoSegment directly connected to a terminal. |
SegWeakTerminal1 | This AutoSegment indirectly connected to a terminal with medium strength. |
SegWeakTerminal2 | This AutoSegment indirectly connected to a terminal with weak strength. |
SegNotSourceAligned | This source contact of the segment is not the aligned part of a tee (
|
SegNotTargetAligned | This target contact of the segment is not the aligned part of a tee (
|
SegSlackened | This AutoSegment has been slackened, that is freed from any constraints from source or target through the insertion of straps. |
SegAxisSet | This AutoSegment has been explicitly positionned at least once. |
SegInvalidated | This position or topology of this AutoSegment has been changed, needing a revalidation. |
SegInvalidatedLayer | The segment has been chenged of layer, but the source & target AutoContact have not been topologicaly checked yet. This flag must be used in whith AutoSegmentFlag::SegInvalidated. |
SegCreated | The AutoSegment has just been created. This flag is set only from the contruction of the object until is first revalidation. Used to disable some tests that cannot be satisfied initially. |
SegWeakTerminal | A mask composed of: |
SegNotAligned | A mask composed of: This mask is a quick way to know if a segment is not part of an aligned set. It means that the segment is, on both ends, either connected to a terminal, a turn or the stem part of a tee. |
Generated by doxygen 1.8.14 on Sun Nov 21 2021 | Return to top of page |
Katabatic - Routing Toolbox | Copyright © 2008-2020 Sorbonne Universite. All rights reserved |