00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TORC_GENERIC_OM_PORTDELAY_HPP
00017 #define TORC_GENERIC_OM_PORTDELAY_HPP
00018
00019 #include "torc/generic/om/DumpRestoreConfig.hpp"
00020
00021 #ifdef GENOM_SERIALIZATION
00022 #include <boost/serialization/access.hpp>
00023 #endif //GENOM_SERIALIZATION
00024
00025 #include "torc/generic/om/PointerTypes.hpp"
00026 #include "torc/generic/om/Derivation.hpp"
00027 #include "torc/generic/om/Value.hpp"
00028
00029 namespace torc {
00030
00031 namespace generic {
00032
00033
00034
00035
00036
00037
00038 class PortDelay
00039 {
00040 public:
00041
00042
00043
00044
00045
00046 enum Type
00047 {
00048 eTypeDelay,
00049 eTypeLoadDelay
00050 };
00051 #ifdef GENOM_SERIALIZATION
00052 friend class boost::serialization::access;
00053 #endif //GENOM_SERIALIZATION
00054
00055 public:
00056
00057
00058
00059
00060
00061 inline const Derivation
00062 getDerivation() const throw();
00063
00064
00065
00066
00067
00068
00069 void
00070 setDerivation(const Derivation & inSource) throw();
00071
00072
00073
00074
00075
00076
00077 inline const PortDelay::Type
00078 getType() const throw();
00079
00080
00081
00082
00083
00084
00085 void
00086 setType(Type inSource) throw();
00087
00088
00089
00090
00091
00092
00093 inline const Value::MiNoMax
00094 getDelay() const throw();
00095
00096
00097
00098
00099
00100
00101 void
00102 setDelay(const Value::MiNoMax & inSource) throw();
00103
00104
00105
00106
00107
00108
00109 inline const Value::MiNoMax
00110 getAcLoad() const throw();
00111
00112
00113
00114
00115
00116
00117 void
00118 setAcLoad(const Value::MiNoMax & inSource) throw();
00119
00120
00121
00122
00123
00124
00125 inline const LogicElementSharedPtr
00126 getTransition() const throw();
00127
00128
00129
00130
00131
00132
00133 void
00134 setTransition(const LogicElementSharedPtr & inSource) throw();
00135
00136 PortDelay();
00137
00138 ~PortDelay() throw();
00139
00140 PortDelay(const PortDelay & source);
00141
00142 PortDelay &
00143 operator=(const PortDelay & source) throw();
00144
00145 private:
00146 #ifdef GENOM_SERIALIZATION
00147 template<class Archive> void
00148 serialize( Archive &ar, unsigned int );
00149 #endif //GENOM_SERIALIZATION
00150
00151 Derivation mDerivation;
00152 Type mType;
00153 Value::MiNoMax mDelay;
00154 Value::MiNoMax mAcLoad;
00155 LogicElementSharedPtr mTransition;
00156 };
00157
00158 inline const Derivation
00159 PortDelay::getDerivation() const throw() {
00160 return mDerivation;
00161 }
00162
00163 inline const PortDelay::Type
00164 PortDelay::getType() const throw() {
00165 return mType;
00166 }
00167
00168 inline const Value::MiNoMax
00169 PortDelay::getDelay() const throw() {
00170 return mDelay;
00171 }
00172
00173 inline const Value::MiNoMax
00174 PortDelay::getAcLoad() const throw() {
00175 return mAcLoad;
00176 }
00177
00178
00179
00180
00181
00182
00183 inline const LogicElementSharedPtr
00184 PortDelay::getTransition() const throw() {
00185 return mTransition;
00186 }
00187
00188
00189 }
00190
00191 }
00192 #endif // TORC_GENERIC_OM_PORTDELAY_HPP