oaTrackPattern Class Reference

Inheritance diagram for oaTrackPattern:

oaBlockObject oaDesignObject oaObject


Public Methods

void destroy ()
oaBoolean isHorizontal () const
oaCoord getStartCoord () const
oaUInt4 getNumTracks () const
oaDist getTrackSpacing () const
oaBoolean hasRoutingLayer () const
oaLayerNum getRoutingLayer () const
void setHorizontal (oaBoolean isHorizontal)
void setStartCoord (oaCoord start)
void setNumTracks (oaUInt4 num)
void setTrackSpacing (oaDist spacing)
void setRoutingLayer (oaLayerNum layer)
void removeRoutingLayer ()

Static Public Methods

oaTrackPattern * create (oaBlock *block, oaBoolean isHorizontal, oaCoord startCoord, oaUInt4 numTracks, oaDist trackSpacing, oaLayerNum routingLayer)
oaTrackPattern * create (oaBlock *block, oaBoolean isHorizontal, oaCoord startCoord, oaUInt4 numTracks, oaDist trackSpacing)

Public Types

enum  { dtIndex = oacTrackPatternDataType }

Detailed Description

The oaTrackPattern class defines the position and number of routing tracks. Routing tracks are used by grided routers to determine preferred locations for routes. Tracks are defined as a grid - possibly non uniform - covering the area of the design.

Track patterns are similar to RouteGridPitch and RouteGridOffset constraints (see the built-in Routing constraint section in Creating and Modeling Process Rules and Constraints in the Programmers Guide). The routing constraints are the overall technology plan. Track patterns are generally initialized by a router after considering the routing constraints and the details of a given design such as the width of the available vias. The track patterns often will be usable only by the router that created them.

TrackPatterns can be horizontal or vertical and at least one of each must exist in a design for it to have a usable routing grid. Each TrackPattern declares a set of uniformly spaced routing tracks. TrackPatterns with isHorizontal set will define a horizontally spaced set of vertical routing tracks, and TrackPatterns with isHorizontal unset will define a set of vertically spaced horizontal routing tracks.

The startCoord of the TrackPattern with isHorizontal set will be the left X coordinate of the first track and the startCoord of the TrackPattern with isHorizontal unset will define the bottom Y coordinate of the lowest track.

An oaTrackPattern can optionally have an oaLayerNumber, in which case the trackPattern only applies to the specified layer.

Non-uniform grids may be declared by using multiple TrackPatterns for a given direction.

The oaTrackPattern class can be observed by deriving from oaObserver<oaTrackPattern>.


Member Function Documentation

oaTrackPattern * oaTrackPattern::create oaBlock *    block,
oaBoolean    isHorizontal,
oaCoord    startCoord,
oaUInt4    numTracks,
oaDist    trackSpacing
[static]
 

This function creates a new trackPattern in the specified block with the specified attributes.

Parameters:
block The block in which to create the new TrackPattern
isHorizontal Determines if the pattern is horizontal
startCoord The starting coordinate for the pattern
numTracks The number of tracks defined by the pattern
trackSpacing The spacing for the pattern

oaTrackPattern * oaTrackPattern::create oaBlock *    block,
oaBoolean    isHorizontal,
oaCoord    startCoord,
oaUInt4    numTracks,
oaDist    trackSpacing,
oaLayerNum    routingLayer
[static]
 

This function creates a new trackPattern in the specified block with the specified attributes. This trackPattern only applies to the specified layer.

Parameters:
block The block in which to create the new TrackPattern
isHorizontal Determines if the pattern is horizontal
startCoord The starting coordinate for the pattern
numTracks The number of tracks defined by the pattern
trackSpacing The spacing for the pattern
routingLayer The layer this trackPattern applies to.

void oaTrackPattern::destroy  
 

This function deletes this trackPattern, removing it from the database.

oaUInt4 oaTrackPattern::getNumTracks   const
 

This function gets the number of track lines of this trackPattern.

oaLayer oaTrackPattern::getRoutingLayer   const
 

This function gets the layer number of this trackPattern. If the trackPattern has not been assigned to a layer, the result is undefined. See also hasRoutingLayer.

oaInt4 oaTrackPattern::getStartCoord   const
 

This function gets the starting coordinates of the trackPattern.

oaUInt4 oaTrackPattern::getTrackSpacing   const
 

This function gets the space value between two track lines in this trackPattern.

oaBoolean oaTrackPattern::hasRoutingLayer   const
 

This function returns true if the trackPattern is assigned to a layer. Otherwise, the function returns false.

oaBoolean oaTrackPattern::isHorizontal   const
 

This function returns the flag that indicates if this trackPattern is horizontal.

void oaTrackPattern::removeRoutingLayer  
 

This function removes the routing layer from this trackPattern.

void oaTrackPattern::setHorizontal oaBoolean    isHorizontal
 

This function sets the horizontal field of the trackPattern.

void oaTrackPattern::setNumTracks oaUInt4    num
 

This function sets the number of the track lines of this trackPattern.

void oaTrackPattern::setRoutingLayer oaLayerNum    layer
 

This function sets the routing layer for this trackPattern.

void oaTrackPattern::setStartCoord oaCoord    start
 

This function sets the starting coordinate field of the trackPattern.

void oaTrackPattern::setTrackSpacing oaDist    spacing
 

This function sets the trackSpacing of this trackPattern.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
dtIndex 


The documentation for this class was generated from the following files:

Return to top of page