torc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NetAttributes.hpp
Go to the documentation of this file.
1 // Torc - Copyright 2011-2013 University of Southern California. All Rights Reserved.
2 // $HeadURL$
3 // $Id$
4 
5 // This program is free software: you can redistribute it and/or modify it under the terms of the
6 // GNU General Public License as published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
10 // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
11 // the GNU General Public License for more details.
12 //
13 // You should have received a copy of the GNU General Public License along with this program. If
14 // not, see <http://www.gnu.org/licenses/>.
15 
16 #ifndef TORC_GENERIC_NETATTRIBUTES_HPP
17 #define TORC_GENERIC_NETATTRIBUTES_HPP
18 
20 
21 namespace torc {
22 namespace generic {
23 
24 /**
25  * @brief Represents attributes of a Net object
26  *
27  * The NetAttributes class stores some optional attributes of a Net.
28  */
30 public:
31  /**
32  * Get the criticality info of a net for routing.
33  *
34  * @return Integer value representing criticality info of a net.
35  */
36  inline const int32_t getCriticality() const;
37 
38  /**
39  * Set the criticality info of a net for routing.
40  *
41  * @param[in] value Integer value representing criticality info of a net.
42  */
43  void setCriticality(const int32_t& value);
44 
45  /**
46  * Get delay information of net
47  *
48  * @return NetDelay
49  */
50  inline const NetDelay getNetDelay() const;
51 
52  /**
53  * Set delay information of net
54  *
55  * @param[in] inSource NetDelay, the delay information of a net.
56  */
57  void setNetDelay(const NetDelay& inSource);
58 
59  inline const bool getIsNetDelaySet() const;
60 
61  inline const bool getIsCriticalitySet() const;
62 
63  NetAttributes();
64 
65  ~NetAttributes() throw ();
66 
67  NetAttributes(const NetAttributes& source);
68 
69  NetAttributes& operator=(const NetAttributes& source);
70 
71 private:
72  /**
73  * This attribute is used to describe the relative importance of the net
74  * compared to other nets, for routing purpose.
75  */
76  int32_t mCriticality;
77 
78  /**
79  * This is an attributes of a net to specify a delay
80  * and its derivation for the given set of transitions.
81  */
85 
86 };
87 
88 inline const int32_t NetAttributes::getCriticality() const {
89  return mCriticality;
90 }
91 
92 inline const NetDelay NetAttributes::getNetDelay() const {
93  return mNetDelay;
94 }
95 
96 inline const bool NetAttributes::getIsCriticalitySet() const {
97  return mCriticalitySet;
98 }
99 
100 inline const bool NetAttributes::getIsNetDelaySet() const {
101  return mNetDelaySet;
102 }
103 
104 } // namespace generic
105 } // namespace torc
106 
107 #endif // TORC_GENERIC_NETATTRIBUTES_HPP
void setCriticality(const int32_t &value)
Represents attributes of a Net object.
const bool getIsCriticalitySet() const
void setNetDelay(const NetDelay &inSource)
Represents the netDelay attribute of Net.
Definition: NetDelay.hpp:32
const bool getIsNetDelaySet() const
NetAttributes & operator=(const NetAttributes &source)
const int32_t getCriticality() const
const NetDelay getNetDelay() const