iocontrollers.h (10152:52c552138ba1) iocontrollers.h (10234:5cb711fa6176)
1/*****************************************************************************
2 * McPAT
3 * SOFTWARE LICENSE AGREEMENT
4 * Copyright 2012 Hewlett-Packard Development Company, L.P.
1/*****************************************************************************
2 * McPAT
3 * SOFTWARE LICENSE AGREEMENT
4 * Copyright 2012 Hewlett-Packard Development Company, L.P.
5 * Copyright (c) 2010-2013 Advanced Micro Devices, Inc.
5 * All Rights Reserved
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are
9 * met: redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer;
11 * redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the

--- 7 unchanged lines hidden (view full) ---

20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
6 * All Rights Reserved
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions are
10 * met: redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer;
12 * redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the

--- 7 unchanged lines hidden (view full) ---

21 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 *
30 ***************************************************************************/
31#ifndef IOCONTROLLERS_H_
32#define IOCONTROLLERS_H_
33
30 *
31 ***************************************************************************/
32#ifndef IOCONTROLLERS_H_
33#define IOCONTROLLERS_H_
34
34
35#endif /* IOCONTROLLERS_H_ */
36
37#include "XML_Parse.h"
38#include "parameter.h"
39//#include "io.h"
40#include "array.h"
41//#include "Undifferentiated_Core_Area.h"
42#include <vector>
43
35#include <vector>
36
37#include "array.h"
44#include "basic_components.h"
38#include "basic_components.h"
39#include "parameter.h"
45
40
46class NIUController : public Component {
41class NIUController : public McPATComponent {
47 public:
42 public:
48 ParseXML *XML;
49 InputParameter interface_ip;
50 NIUParam niup;
51 powerDef power_t;
52 uca_org_t local_result;
53 NIUController(ParseXML *XML_interface,InputParameter* interface_ip_);
43 NIUParameters niup;
44 NIUStatistics nius;
45
46 NIUController(XMLNode* _xml_data, InputParameter* interface_ip_);
54 void set_niu_param();
47 void set_niu_param();
55 void computeEnergy(bool is_tdp=true);
56 void displayEnergy(uint32_t indent = 0,int plevel = 100, bool is_tdp=true);
48 void computeArea();
49 void computeEnergy();
57 ~NIUController(){};
58};
59
50 ~NIUController(){};
51};
52
60class PCIeController : public Component {
53class PCIeController : public McPATComponent {
61 public:
54 public:
62 ParseXML *XML;
63 InputParameter interface_ip;
64 PCIeParam pciep;
65 powerDef power_t;
66 uca_org_t local_result;
67 PCIeController(ParseXML *XML_interface,InputParameter* interface_ip_);
55 PCIeParameters pciep;
56 PCIeStatistics pcies;
57
58 PCIeController(XMLNode* _xml_data, InputParameter* interface_ip_);
68 void set_pcie_param();
59 void set_pcie_param();
69 void computeEnergy(bool is_tdp=true);
70 void displayEnergy(uint32_t indent = 0,int plevel = 100, bool is_tdp=true);
60 void computeArea();
61 void computeEnergy();
71 ~PCIeController(){};
72};
73
62 ~PCIeController(){};
63};
64
74class FlashController : public Component {
65class FlashController : public McPATComponent {
75 public:
66 public:
76 ParseXML *XML;
77 InputParameter interface_ip;
78 MCParam fcp;
79 powerDef power_t;
80 uca_org_t local_result;
81 FlashController(ParseXML *XML_interface,InputParameter* interface_ip_);
67 MCParameters fcp;
68 MCStatistics fcs;
69
70 FlashController(XMLNode* _xml_data, InputParameter* interface_ip_);
82 void set_fc_param();
71 void set_fc_param();
83 void computeEnergy(bool is_tdp=true);
84 void displayEnergy(uint32_t indent = 0,int plevel = 100, bool is_tdp=true);
72 void computeArea();
73 void computeEnergy();
85 ~FlashController(){};
86};
87
74 ~FlashController(){};
75};
76
77#endif /* IOCONTROLLERS_H_ */