00001 // ***************************************************************************** 00002 // ***************************************************************************** 00003 // oaScanChainInst.h 00004 // 00005 // This file contains the definition for the oaScanChainInst class. 00006 // 00007 // ***************************************************************************** 00008 // Except as specified in the OpenAccess terms of use of Cadence or Silicon 00009 // Integration Initiative, this material may not be copied, modified, 00010 // re-published, uploaded, executed, or distributed in any way, in any medium, 00011 // in whole or in part, without prior written permission from Cadence. 00012 // 00013 // Copyright 2002-2005 Cadence Design Systems, Inc. 00014 // All Rights Reserved. 00015 // 00016 // $Author: icftcm $ 00017 // $Revision: #1 $ 00018 // $Date: 2010/08/09 $ 00019 // $State: Exp $ 00020 // ***************************************************************************** 00021 // ***************************************************************************** 00022 00023 00024 00025 #if !defined(oaScanChainInst_P) 00026 #define oaScanChainInst_P 00027 00028 00029 00030 // ***************************************************************************** 00031 // Nested includes 00032 // ***************************************************************************** 00033 #include "oaInstTerm.h" 00034 #include "oaScanChainSet.h" 00035 00036 00037 00038 // ***************************************************************************** 00039 // Declare and define types in the OpenAccess namespace. 00040 // ***************************************************************************** 00041 BEGIN_OA_NAMESPACE 00042 00043 00044 00045 // ***************************************************************************** 00046 // oaScanChainInst 00047 // ***************************************************************************** 00048 class OA_DESIGN_DLL_API oaScanChainInst : public oaBlockObject { 00049 public: 00050 static oaScanChainInst *create(oaScanChainSet *set, 00051 oaInstTerm *inTerm, 00052 oaInstTerm *outTerm); 00053 void destroy(); 00054 00055 oaInst *getInstance() const; 00056 oaInstTerm *getInInstTerm() const; 00057 oaInstTerm *getOutInstTerm() const; 00058 oaUInt4 getSeqBitLength() const; 00059 00060 void setInInstTerm(oaInstTerm *term); 00061 void setOutInstTerm(oaInstTerm *term); 00062 void setInstTerms(oaInstTerm *inInstTerm, 00063 oaInstTerm *outInstTerm); 00064 void setSeqBitLength(oaUInt4 numBits); 00065 00066 enum {dtIndex = oacScanChainInstDataType}; 00067 }; 00068 00069 00070 00071 // ***************************************************************************** 00072 // Design Traits. 00073 // ***************************************************************************** 00074 template<> 00075 class oaTraits<oaScanChainInst> { 00076 public: 00077 typedef oaBlockObject parentType; 00078 typedef oaScanChainInstModTypeEnum modTypeType; 00079 enum {domain = oacBlockDomain}; 00080 enum {dbType = oacDesignDBType}; 00081 enum {isMultiDomain = false}; 00082 enum {dtIndex = oacScanChainDataType}; 00083 enum {isConcrete = true}; 00084 enum {objectTypeEnumVal = oacScanChainInstType}; 00085 enum {dataTypeEnumVal = oacScanChainDataType}; 00086 }; 00087 00088 00089 00090 END_OA_NAMESPACE 00091 00092 #endif
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.