Katabatic(3)

NAME
Katabatic - The namespace dedicated to Katabatic.

SYNOPSIS

  Classes
class AutoContact
Abstract base class for AutoContact.
class AutoContactHTee
AutoContact H-Tee (two H, one V)
class AutoContactTerminal
AutoContact Terminal (S/T is a Terminal)
class AutoContactTurn
AutoContact Turn (one H, one V)
class AutoContactVTee
AutoContact V-Tee (one H, two V)
class AutoHorizontal
Concrete Horizontal AutoSegment.
class AutoSegment
Abstract base class for AutoSegment.
class AutoSegments_Aligneds
All aligned AutoSegment of a set.
class AutoSegments_AnchorOnGCell
All AutoSegment Beginning and/or Stopping in a GCell.
class AutoSegments_InDirection
Filter to select AutoSegment in a given direction.
class AutoSegments_IsAccountable
Filter to select accoutable AutoSegment.
class AutoSegments_OnContact
All AutoSegment anchored on a Contact.
class AutoSegments_Perpandiculars
All perpandicular AutoSegment to a set of aligneds.
class AutoVertical
Concrete Vertical AutoSegment.
class BaseGrid
Abstract Base Class for Irregular Grid.
class BaseObserver
Observer Design Pattern, Observer part.
class ChipTools
Utilities for Chip Level Design.
class GCell
Routing Global Cell.
class GCellDensitySet
GCell Set, sorted by density.
class GCellGrid
GCell Grid.
class Grid
Template Class for Regular Grid.
class KatabaticEngine
The Katabatic Tool.
class LocatorHelper
Locator Helper Collection's Locators.
class Observable
Observer Design Pattern, Subject part.
class Observer
Observer Design Pattern, Observer part.
class Session
Modification Session for Katabatic.

  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 }

Detailed Description

The namespace dedicated to Katabatic.

Typedef Documentation

  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.

Enumeration Type Documentation

  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.

Enumerator

EngineCreation
    The tool is created, but still in the _postCreate stage.

EngineGlobalLoaded
    The global routing has been loaded from Knik.

EngineActive
    The Engine is in normal running mode (routing ordinary wires).

EngineDriving
    The Engine is transforming the AutoContact/AutoSegment into normal Contact/Segment (prior to tool deletion).

EnginePreDestroying
    This state is used whenever the tool is destroyed without passing through the EngineDriving state.

EngineGutted
    After the EngineDriving state, all the working structures are removed and the tool can no longer be used. It only awaits clean destruction.

  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 (h1 or h2 for a HTee, v1 or v2 for a VTee).

See also:
    AutoSegmentFlag::SegNotAligned

SegNotTargetAligned
    This target contact of the segment is not the aligned part of a tee (h1 or h2 for a HTee, v1 or v2 for a VTee).

See also:
    AutoSegmentFlag::SegNotAligned

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:

•   Katabatic::SegStrongTerminal

•   Katabatic::SegWeakTerminal1

•   Katabatic::SegWeakTerminal2

SegNotAligned
    A mask composed of:

•   Katabatic::SegNotSourceAligned

•   Katabatic::SegNotTargetAligned

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.

Author

Generated automatically by Doxygen for Katabatic - Routing Toolbox from the source code.