====================== ./EMH/EMH.cpp
EMH.cpp
// EMH.cpp
//
// This program performs following tasks.
// 1. Create a block hierarchy in a design.
// 2. Create a module hierarchy in the same design.
// 3. Create a net in the top level module and leaf level module.
// 4. Print the net names in the top level block to demonstrate the effect of
//    adding nets in the module domain.
// 5. Create a net in the top level block.
// 6. Print the net names in the top level module to demonstate the effect of
//    adding nets in the block domain.
// 5. Create an instance of leaf level block in the leaf level module.
// 6. Create an instance of design in the top level block.
// 7. Print the names and details of instances in block and module domains.
// ****************************************************************************
====================== ./LPP/listLPP.cpp
listLPP.cpp
====================== ./Nmp/nmp.cpp
nmp.cpp
// nmp.cpp
//
// This program takes 2 arguments, namespace argument in which the next string 
// argument is in. The second argument is converted from the given namespace 
// into other namespaces.
//
// The allowed namespace arguments are 'Cdba', 'Unix', 'Vhdl', 'Win' 'Verilog'
// 'Native' 'Def' 'Lef' 'Spef, 'Spf', 'Spice'.
//
// *****************************************************************************
====================== ./TCL/findInst.cpp
findInst.cpp
====================== ./TCL/wrapper.cpp
wrapper.cpp
// wrapper.cpp
//
// This file contains the Tcl binding function for the findInstance function. 
//
// *****************************************************************************
====================== ./TCL/init.cpp
init.cpp
// init.cpp
//
// This file contains the initialization routine for Tcl.
//
// *****************************************************************************
====================== ./Via/via.cpp
via.cpp
// via.cpp
//
// This example deletes routes in the given design and creates 2 routes, one
// with standard vias and the other with custom vias. The example is intended
// to be used with the included BL1.lef and BL1.def files.
//
// Input arguments are LibName, cellName, viewName.
// *****************************************************************************
====================== ./FeatureBasedCompatibility/openDesign.cpp
openDesign.cpp
// openDesign.cpp
//
// This application attempts to open an OA database using data model 0. If the
// database contains features defined after data model 0, an exception is
// reported and the list of unsupported features is printed.
//
// ****************************************************************************
====================== ./FeatureBasedCompatibility/createNewFeatures.cpp
createNewFeatures.cpp
// createNewFeatures.cpp
//
// This program creates objects in an OA database that belong to a data model
// released after data model 0. A compatibility exception will be thrown if
// the database is then read by an application that initializes OA to
// data model 0.
//
// The features are:
//    New ConstraintGroupDef:   data model 4
//    Reference to oaFigGroup:  data model 2
//
// ****************************************************************************
====================== ./Route/route.cpp
route.cpp
====================== ./Route/routeData.cpp
routeData.cpp
====================== ./Callback/connObsvrs/connObsvrs.cpp
connObsvrs.cpp
====================== ./Callback/connObsvrs/manageConnections.cpp
manageConnections.cpp
====================== ./Callback/designCB/designCB.cpp
designCB.cpp
====================== ./Wafer/main.cpp
main.cpp
// main.cpp
//
// This program demonstrate the functionality of the oaWafer database. The
// example will illustrate the determination of oaWafer objects and the
// relation with the design database.
//
// *****************************************************************************
====================== ./Wafer/createWafer.cpp
createWafer.cpp
// createWafer.cpp
//
// This file has functions relating to creating a wafer database that refers to a
// design database.
//
/// *****************************************************************************
====================== ./Wafer/opnReticle.cpp
opnReticle.cpp
// opnReticle.cpp
// 
// This file contains declarations for the reticle class used in the 
// wafer database example.
//
// *****************************************************************************
====================== ./Wafer/createDesign.cpp
createDesign.cpp
====================== ./PCells/opnPcell/opnPcell.cpp
opnPcell.cpp
// opnPcell.cpp
//
// This file contains global functions for the opnPcell package.
//
// *****************************************************************************
====================== ./PCells/PCells.cpp
PCells.cpp
====================== ./incrTechDB/incrTechDB.cpp
incrTechDB.cpp
// incrTechDB.cpp
//
// This example demonstrates the use of incremental technology databases:
//  1. Derives and instantiates an oaTech conflict observer
//  2. Opens or creates a base and an incremental library
//  3. Creates an oaTech DB in each library
//  4. Inserts objects into each techDB
//  5. Lists the layers in each techDB and in the full hierarchy
//  6. Attaches and detaches a library to that hierarchy
//  6. Edits the base techDB out of context and inserts conflicts
//  7. Calls oaTech::open(), oaTech::validate() and oaTech::setRefs()
//     on the incremental techDB
//  8. Each call will cause the conflict observer to be notified
//     The oaTech::setRefs() call will also result in an exception
//
// ****************************************************************************
====================== ./Constraints1/Constraints1.cpp
Constraints1.cpp
// Constraints1.cpp
//
// The following tasks are performed by this program
//    1. Prints all constraints and constraint groups currently in the techDB
//    2. Creates an oaSimpleConstraint, an oaLayerConstraint, 
//       an oaLayerPairConstraint, and an oaLayerArrayConstraint
//    3. Creates a new, user defined oaSimpleConstraintDef and creates an 
//       oaSimpleConstraint using the new oaSimpleConstraintDef.
//    4. Creates an oaConstraintGroup with an OR-operator semantic and adds
//       two oacMinNumCut constraints into it.
//    5. Creates an oaConstraintGroup with an AND-operator semantic and adds
//       two oacMinProtrusionNumCut constraints into it.
//    6. Creates an oaLayerConstraint that is scoped to a particular purpose.
//    7. Illustrates how to find constraints using purpose wildcards.
//    8. Prints all constraints and constraint groups currently in the techDB
//    9. Prints a list of all layers currently in the techDB.
//   10. Creates an oaDerivedLayer using the AND layer operation.
//   11. Creates an oaderivedLayer that selects all shapes on a particular
//       purpose of a layer.
//   12. Prints a list of all layers currently in the techDB.
//
//
// ****************************************************************************
====================== ./Constraints2/opnConstraintsChecker.cpp
opnConstraintsChecker.cpp
====================== ./Constraints2/opnConstraintsTraverserEngine.cpp
opnConstraintsTraverserEngine.cpp
====================== ./Constraints2/Constraints2.cpp
Constraints2.cpp
// Constraints2.cpp
//
// This program creates an example of minSpacing constraints for a differential
// pair of nets.  The differential pair (nets pair1 and pair2) has constraints
// which require that they must be 2 units from each other and 4 units from
// any other net.  This program also creates examples of shielding and tapering
// constraints.  An important characteristic of the shielding and tapering
// constraint groups is that their constraints constrain objects other than
// themselves.  For the shielding CG they constrain the shielded nets.  For the
// taper CG they constraint the attached net.
//
// This program takes no arguments
//
// The following tasks are performed by this program
//  Diff pair example
//  1. Create a layer to use with the constraints
//  2. Create minSpacing constraints for the tech foundry rules and design
//     default constraintGroup
//  3. Create nets with the names pair1, pair2, other1, other2
//  4. Create routes and pathsegs for nets so we can check constraints
//  5. Create diffPair oaGroup containing pair1 and pair2
//  6. Create reflexive CG with minSpacing=2 constraint on the oaGroup
//  7. Create transreflexive CG with minSpacing=4 constraint on the oaGroup
//  8. Do example constraint traversals for (pathSegPair1, pathSegPair2)
//     and (pathSegPair2, pathSegOther2)
//  9. Do example constraint checks for (pathSegPair1, pathSegPair2)
//     and (pathSegPair2, pathSegOther2)
//  Shielding example
//  1. Create the net to be shielded
//  2. Create a shielding CG with minSpacing=1 constraint on the shielded net
//  Taper example
//  1. Create an instance, net, and attached terminal
//  2. Create a minWidth=5 on the net
//  3. Create a taper CG with the following constraints on the instTerm
//     minSpacing=2, minWidth=1, taperHalo=5
//  Combined output
//  1. Print all constraints and constraint groups created in the design
//
// *****************************************************************************
====================== ./Constraints2/opnConstraintsTraverser.cpp
opnConstraintsTraverser.cpp
// opnConstraintsTraverser.cpp
//
// This class implements an example constraintTraverser that prints all
// constraints associated with an object.
//
// *****************************************************************************
// *****************************************************************************
====================== ./Connectivity/connectDefs/connectDefs.cpp
connectDefs.cpp
====================== ./Connectivity/printAssignments/printAssignments.cpp
printAssignments.cpp
====================== ./Connectivity/mbitConnectivity/mbitConnectivity.cpp
mbitConnectivity.cpp
====================== ./Connectivity/connectivity/connectivity.cpp
connectivity.cpp
====================== ./common/commonTechObserver.cpp
commonTechObserver.cpp
// commonTechObserver.cpp
//
// This file contains the implementation of an oaTech observer for technology
// conflict notifications.
//
// This code is used in all examples to alert the users of technology conflicts.
//
// ****************************************************************************
====================== ./common/commonFunctions.cpp
commonFunctions.cpp
// commonFunctions.cpp
//
// This file contains the implementation of functions common to all examples.
//
// ****************************************************************************
====================== ./common/commonLibDefListObserver.cpp
commonLibDefListObserver.cpp
// commonLibDefListObserver.cpp
//
//
// ****************************************************************************
====================== ./TermOrdering/termOrdering.cpp
termOrdering.cpp
// termOrdering.cpp
//
// Some application need to assign order on the terminals. This file
// demonstrates how the terminal ordering is implemented in OpenAccess.
// The example shows the terminal ordering in the Module domain but it is equally
// implemented in all other domains.
//
// *****************************************************************************
====================== ./PinConnections/pinConnections.cpp
pinConnections.cpp
====================== ./HelloWorld/HelloWorld.cpp
HelloWorld.cpp
// HelloWorld.cpp
//
// The following tasks are performed by this program
//  1. Derive an oaTech observer to handle conflicts in the technology hierarchy
//  2. Derive an oaLibDefsList observer to handle warnings related to lib.defs
//  3. Open the design
//  4. Print the library name
//  5. Print the cell name
//  6. Print the view name
//  7. Create nets with the names "Hello" and "World"
//  8. Save these nets
//  9. Run the net iterator and print the existing nets in the design
//
// ****************************************************************************
====================== ./DbContents/dbContents.cpp
dbContents.cpp
====================== ./Transform/hierarchyTransform/hierarchyTransform.cpp
hierarchyTransform.cpp
====================== ./Transform/xformShapes/xformShapes.cpp
xformShapes.cpp
====================== ./LibStructure/libStructure.cpp
libStructure.cpp
====================== ./LibStructure/opnCommand.cpp
opnCommand.cpp
// opnCommand.cpp
// 
// This file contains the implemenation of the 'opnCommand' class.
//
// *****************************************************************************
====================== ./LibStructure/libStructureData.cpp
libStructureData.cpp
====================== ./regionQuery/regionQuery.cpp
regionQuery.cpp
// regionQuery.cpp
//
// This example performs following tasks:
// 1. Create a 3 level hierachical database that contain shapes.
// 2. Instantiate the shape region query object.
// 3. Run the shape queries.
// ****************************************************************************
====================== ./regionQuery/opnBlockageQuery.cpp
opnBlockageQuery.cpp
// opnBlockageQuery.cpp
//
// This file contains the implementaion for the opnBlockageQuery class.
// 
// *****************************************************************************
====================== ./regionQuery/opnShapeQuery.cpp
opnShapeQuery.cpp
// opnShapeQuery.cpp
//
// This file contains the implementaion for the opnShapeQuery class.
// 
// *****************************************************************************
====================== ./regionQuery/opnLayerRangeBlockageQuery.cpp
opnLayerRangeBlockageQuery.cpp
====================== ./TimeStamp/timeStamp.cpp
timeStamp.cpp
====================== ./PinsTerms/pinsTerms.cpp
pinsTerms.cpp
====================== ./instQuery/opnInstQuery.cpp
opnInstQuery.cpp
// opnInstQuery.cpp
//
// This file contains the implementaion for the opnInstQuery class.
// 
// *****************************************************************************
====================== ./instQuery/instQuery.cpp
instQuery.cpp
// instQuery.cpp
//
// This example performs following tasks:
// 1. Create a 3 level hierachical database.
// 2. Instantiate the instance region query object.
// 3. Run the instance queries.
// ****************************************************************************
====================== ./Hierarchy/walkHierarchy.cpp
walkHierarchy.cpp
====================== ./Hierarchy/Hierarchy.cpp
Hierarchy.cpp
====================== ./TCL/route.tcl
route.tcl
====================== ./TCL/libStructure.tcl
libStructure.tcl
====================== ./TCL/lib.tcl
lib.tcl
====================== ./TCL/pcell.tcl
pcell.tcl
====================== ./TCL/sample.tcl
sample.tcl
====================== ./TCL/oa.tcl
oa.tcl
====================== ./TCL/ns.tcl
ns.tcl
====================== ./TCL/hello.tcl
hello.tcl
====================== ./TCL/contents.tcl
contents.tcl
====================== ./TCL/inst.tcl
inst.tcl