1 // OpenSTA, Static Timing Analyzer
2 // Copyright (c) 2021, Parallax Software, Inc.
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program.  If not, see <https://www.gnu.org/licenses/>.
16 
17 #pragma once
18 
19 #include "DisallowCopyAssign.hh"
20 
21 namespace sta {
22 
23 // Constraints::pinNetCap return values.
24 class NetCaps
25 {
26 public:
27   NetCaps();
28   NetCaps(float pin_cap,
29 	  float wire_cap,
30 	  float fanout,
31 	  bool has_set_load);
32   void init(float pin_cap,
33 	    float wire_cap,
34 	    float fanout,
35 	    bool has_set_load);
pinCap() const36   float pinCap() const { return pin_cap_; }
wireCap() const37   float wireCap() const{ return wire_cap_; }
fanout() const38   float fanout() const{ return fanout_; }
hasSetLoad() const39   bool hasSetLoad() const { return has_set_load_; }
40 
41 private:
42   DISALLOW_COPY_AND_ASSIGN(NetCaps);
43 
44   float pin_cap_;
45   float wire_cap_;
46   float fanout_;
47   bool has_set_load_;
48 };
49 
50 } // namespace
51