00001 // ***************************************************************************** 00002 // ***************************************************************************** 00003 // oaFrame.h 00004 // 00005 // This file contains the definition for the oaFrame class and its public 00006 // supporting classes. The oaFrame class defines a non-printing area into which 00007 // a series of frame or design instances are placed. Frames are hierarchical 00008 // so that in a shuttle-style (multi-project chip) reticle, a lower-level 00009 // frame can be used to organize the number of different die instances into a 00010 // larger component and then a top-level frame can be used to organize the 00011 // shuttle die into the NxN locations on the reticle. 00012 // 00013 // ***************************************************************************** 00014 // Except as specified in the OpenAccess terms of use of Cadence or Silicon 00015 // Integration Initiative, this material may not be copied, modified, 00016 // re-published, uploaded, executed, or distributed in any way, in any medium, 00017 // in whole or in part, without prior written permission from Cadence. 00018 // 00019 // Copyright 2004-2005 Cadence Design Systems, Inc. 00020 // All Rights Reserved. 00021 // 00022 // $Author: icftcm $ 00023 // $Revision: #1 $ 00024 // $Date: 2010/08/09 $ 00025 // $State: Exp $ 00026 // ***************************************************************************** 00027 // ***************************************************************************** 00028 00029 00030 00031 #if !defined(oaFrame_P) 00032 #define oaFrame_P 00033 00034 00035 00036 // ***************************************************************************** 00037 // Nested includes 00038 // ***************************************************************************** 00039 #include "oaBox.h" 00040 #include "oaWaferModTypes.h" 00041 #include "oaWafer.h" 00042 00043 00044 00045 // ***************************************************************************** 00046 // Declare and define types in the OpenAccess namespace. 00047 // ***************************************************************************** 00048 BEGIN_OA_NAMESPACE 00049 00050 00051 00052 // ***************************************************************************** 00053 // oaFrame 00054 // ***************************************************************************** 00055 class OA_WAFER_DLL_API oaFrame : public oaWaferObject { 00056 public: 00057 static oaFrame *create(oaWafer *wafer, 00058 const oaString &name, 00059 const oaBox &boundaryBox); 00060 00061 static oaFrame *find(const oaWafer *wafer, 00062 const oaString &name); 00063 00064 void destroy(); 00065 00066 void getName(oaString &name) const; 00067 void getBoundaryBox(oaBox &boundaryBox) const; 00068 00069 void setName(const oaString &name); 00070 void setBoundaryBox(const oaBox &boundaryBox); 00071 00072 oaCollection<oaFrameInst, oaFrame> getFrameInsts() const; 00073 oaCollection<oaDesignInst, oaFrame> getDesignInsts() const; 00074 00075 enum {dtIndex = oacFrameWaferDataType}; 00076 }; 00077 00078 00079 00080 // ***************************************************************************** 00081 // Wafer traits. 00082 // ***************************************************************************** 00083 template<> 00084 class oaTraits<oaFrame> { 00085 public: 00086 typedef oaWaferObject parentType; 00087 typedef oaFrameModTypeEnum modTypeType; 00088 enum {dbType = oacWaferDBType}; 00089 enum {domain = oacNoDomain}; 00090 enum {isMultiDomain = false}; 00091 enum {dtIndex = oacFrameWaferDataType}; 00092 enum {isConcrete = true}; 00093 enum {objectTypeEnumVal = oacFrameType}; 00094 enum {dataTypeEnumVal = oacFrameWaferDataType}; 00095 }; 00096 00097 00098 00099 END_OA_NAMESPACE 00100 00101 #endif
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.