oaheader.gif
overview.gif classes.gif progguide.gif exceptions.gif progguide.gif infomodel.gif index.gif help.gif

OpenAccess 2.2 Feature List


OpenAccess can add new kinds of data to the data model as newer versions are released. For example, OpenAccess added a new feature to allow figures to be grouped and manipulated as a single entity.

Each new kind of data added to the data model is called a feature. When a database contains one or more instances of the new kind of data, then it is using that feature. In many cases, older applications will not be able to use databases that have new features.

OpenAccess includes the infrastructure to support feature-based compatibility, which means that OpenAccess has the ability to control the access that an application has to an OpenAccess database based on

When OpenAccess releases a new feature, that feature has a set of policies that define how applications can access databases that include those new features.

This document includes:

For more information, refer to Feature-Based Data Compatibility in Compatibility for OpenAccess Applications and Data.

2.2 Feature List

The following table lists the new features available in the OpenAccess 2.2 releases and shows their policies. A policy can pertain to the version of the OpenAccess shared libraries, or to the data model revision supported by the application.

The table also shows the part of the OpenAccess data model that contains the new feature, and the data model revision number that first contained the new feature.

Important: Recognition of features in OpenAccess started with the OpenAccess 2.2.4 (p029) release. The default policy for all features is that no database with features can be opened by a version of the OpenAccess libraries earlier than 2.2.4 (p029) or an oacCannotUpgrade exception is thrown.

Feature Name Policy Applicable if ... Relevant Part of the Data Model Initial Data Model Rev
Huge Databases Cannot open with compat. exception App data model rev.  <  1 oacBaseDBType
oacNoDomain
oacFutureCategory
oacUnknonwType
oacAdditionDataModelModType
1
FigGroup Cannot open with compat. exception OpenAccess libs < = 2.2.5 (P035)

oacDesignDBType
oacBlockDomain
oacGeometryCategory
oacFigGroupType
oacAdditionDataModelModType

2
Cannot append OpenAccess libs > 2.2.5 (P035)
Reference to FigGroup Cannot open with compat. exception App data model rev. <  2 oacDesignDBType
oacBlockDomain
oacGeometryCategory
oacFigGroupType
oacAdditionDataModelModType
2
Contains New Default Constraint Groups Cannot open with compat. exception OpenAccess libs <  2.2.6

oacDesignDBType
oacNoDomain
oacConstraintsCategory
oacConstraintGroupType
oacAdditionDataModelModType

2
New Constraints Of Existing Types In Rev1 Default policy only oacConstraintsCategory
oacAdditionDataModelModType
2
Modified Constraints In Rev1 Cannot open with compat. exception App data model rev.  < 2 oacConstraintsCategory
oacChangeDataModelModType
2
New Constraint Params In Rev1 Default policy only

oacConstraintsCategory
oacConstraintParamType oacAdditionDataModelModType

2
New Value Type in Rev1 Cannot open with compat. exception App data model rev.   <  2 oacConstraintsCategory
oacAdditionDataModelModType
2
Constraint ID Cannot append OpenAccess libs < 2.2.6 oacConstraintsCategory oacAdditionDataModelModType 2
Constraint Description Cannot append OpenAccess libs < 2.2.6 oacConstraintsCategory oacAdditionDataModelModType 2
Gate Grounded Attribute on Tech Cannot append (if set to non-default value) OpenAccess libs < 2.2.6

oaTechDBType
oacTechCategory
oacTechType
oacAdditionDataModelModType

2
New Material Type Enum Cannot open with compat. exception App data model rev.   <  2

oaTechDBType
oacTechCategory
oacPhysicalLayerType oacAdditionalDataModelModType

2
Layer Array Constraint Cannot open with compat. exception App data model rev.   <  2 oacConstraintsCategory
oacAdditionDataModelModType
2
New Derived Layer Cannot open with compat. exception App data model rev.   <  2 oaTechDBType
oacTechCategory
oacDerivedLayerType
oacAdditionDataModelModType
2
Derived Layer Param Cannot append OpenAccess libs < 2.2.6 oaTechDBType
oacTechCategory
oacDerivedLayerParamType
oacAdditionDataModelModType
2
Reference to Derived Layer Param Cannot open with compat. exception App data model rev.   <  2 oaTechDBType
oacTechCategory
oacDerivedLayerParamType
2
IncrementalTech Cannot open with compat. exception App data model rev.   <  3

oacTechDBType
oacNoDomain
oacTechCategory
oacTechType
oacChangeDataModelModType

3

Policy Definitions

Version History for New Features

The following table shows the data model version history of OpenAccess releases and the new features defined and supported in each data model version.

Data Model
Revision Number
OpenAccess Version
Feature
0 2.2.0 through 2.2.3 (or p032) Base OpenAccess 2.2 data model
1 2.2.4 (or p033) Huge Databases
2 2.2.6 (or p045) FigGroups, Constraint features
3 2.2.6 (or p045)  IncrementalTech

Feature Descriptions

Contains New Default Constraint Groups

Default constraint groups have been added to objects that formerly did not have default constraint groups.

For more information, refer to:

FigGroup

The oaFigGroup object represents a collection that can be used by graphical design-entry tools to hold a set of figures that can be easily replicated and reused. An oaFigGroup is purely geometric and does not contain connectivity objects or anything else that is not a figure.

For more information, refer to:

Reference to FigGroup

This feature represents items in OpenAccess that make use of FigGroups. This feature is present if

New Constraints of Existing Types in Rev1

New LayerConstraints

New LayerPairConstraints

New SimpleConstraints

Modified Constraints In Rev1

Enhanced Layer Constraints and Layer Pair Constraints

See oaConstraintParamType.

New Constraint Params In Rev1

Built-in constraint parameters of the following type indicate the presence of this feature:

New Value Type in Rev1

Four new oaValue subclasses are added to support new constraints and derived layers:

Constraint ID

A numeric ID for constraints.

Constraint Description

A string description for constraints.

Gate Grounded Attribute on Tech

A new GateGrounded attribute on oaTech that indicates whether or not the gate is grounded. The default value is false.
The feature is present only if this attribute is set to true.

New Material Type Enum

The oaMaterialTypeEnum includes a new enum value that can be used when creating physical layers.

enum oaMaterialEnum {
    // Existing enumeration values here ...
	
    oacPassivationCutMaterial
};


const oaString  oaMaterial::names[] = {
  // Existing names here...
  
  "passivationCut"
};

Layer Array Constraint

Defines constraints for three or more layers. Refer to oaLayerArrayConstraint for more information.

New Derived Layer

The oaDerivedLayer class now provides the ability to create sized layers or layers based on operations. Also, layers can be derived from one or two layers. Derived layers can now have associated parameters.

Refer to the following functions in the oaDerivedLayer class documentation for more information.

oaDerivedLayer* oaDerivedLayer::create(oaTech*                             tech,  
                                       const oaLayer*                      layer1,  
                                       const oaDerivedLayerDef*            def,  
                                       const oaString&                     name,  
                                       oaLayerNum                          number,  
                                       const oaDerivedLayerParamArray *    params = NULL 
                                       )  [static] 
oaDerivedLayer* oaDerivedLayer::create(oaTech*            tech,  
                                       oaLayer*           layer1,  
                                       oaLayer*           layer2,  
                                       oaLayerOp          operation,  
                                       const oaString&    name,  
                                       oaLayerNum         number 
                                       )  [static] 
oaDerivedLayer* oaDerivedLayer::find(const oaTech*                      tech,  
                                     oaLayerNum                         layer1Num,  
                                     oaLayerNum                         layer2Num,  
                                     const oaDerivedLayerDef*           def,  
                                     const oaDerivedLayerParamArray*    params = NULL,  
                                     oaBoolean                          local = false 
                                     )  [static] 


oaDerivedLayer* oaDerivedLayer::find(const oaTech*                      tech,  
                                     oaLayerNum                         layer1Num,  
                                     const oaDerivedLayerDef*           def,  
                                     const oaDerivedLayerParamArray*    params = NULL,  
                                     oaBoolean                          local = false 
                                     )  [static] 

Derived Layer Param

oaDerivedLayerParam describes additional information for derived layers. For example, a derived layer with an inside layer operation has two input layers and one parameter, which describes the net connectivity of the shapes.

oaDerivedLayerParamDef enforces the value type of a derived layer parameter.

Reference to Derived Layer Param

This feature represents items in OpenAccess that make use of derived layer parameters.

Huge Database

OpenAccess provides the ability to open very large database in which a single type of data takes over 4 Gbytes of memory. 

IncrementalTech

OpenAccess lets applications use incremental technology databases to provide technology information from multiple sources, such as the foundry, an IP provider, or a designer, to the application at different points in the design cycle. Applications can incrementally assemble technology information by creating references from one oaTech database to other oaTech databases. For more information, refer to Using Technology Databases in the Programmers Guide.

Note: The IncrementalTech feature is present in a technology database if that technology database contains references to other technology databases. However, even if the references are unset, if the technology database still contains any unbound object headers that cannot be resolved, the feature is still considered present.

 

Return to top of page