summaryrefslogtreecommitdiff
path: root/src/gpuwattch/cacti/basic_circuit.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpuwattch/cacti/basic_circuit.h')
-rw-r--r--src/gpuwattch/cacti/basic_circuit.h248
1 files changed, 0 insertions, 248 deletions
diff --git a/src/gpuwattch/cacti/basic_circuit.h b/src/gpuwattch/cacti/basic_circuit.h
deleted file mode 100644
index bafd3d3..0000000
--- a/src/gpuwattch/cacti/basic_circuit.h
+++ /dev/null
@@ -1,248 +0,0 @@
-/*****************************************************************************
- * McPAT/CACTI
- * SOFTWARE LICENSE AGREEMENT
- * Copyright 2012 Hewlett-Packard Development Company, L.P.
- * All Rights Reserved
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
-
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.”
- *
- ***************************************************************************/
-
-
-
-#ifndef __BASIC_CIRCUIT_H__
-#define __BASIC_CIRCUIT_H__
-
-#include "const.h"
-#include "cacti_interface.h"
-
-using namespace std;
-
-#define UNI_LEAK_STACK_FACTOR 0.43
-
-int powers (int base, int n);
-bool is_pow2(int64_t val);
-uint32_t _log2(uint64_t num);
-int factorial(int n, int m = 1);
-int combination(int n, int m);
-
-//#define DBG
-#ifdef DBG
- #define PRINTDW(a);\
- a;
-#else
- #define PRINTDW(a);\
-
-#endif
-
-
-enum Wire_placement {
- outside_mat,
- inside_mat,
- local_wires
-};
-
-
-
-enum Htree_type {
- Add_htree,
- Data_in_htree,
- Data_out_htree,
- Search_in_htree,
- Search_out_htree,
-};
-
-enum Gate_type {
- nmos,
- pmos,
- inv,
- nand,
- nor,
- tri,
- tg
-};
-
-enum Half_net_topology {
- parallel,
- series
-};
-
-double logtwo (double x);
-
-double gate_C(
- double width,
- double wirelength,
- bool _is_dram = false,
- bool _is_sram = false,
- bool _is_wl_tr = false);
-
-double gate_C_pass(
- double width,
- double wirelength,
- bool _is_dram = false,
- bool _is_sram = false,
- bool _is_wl_tr = false);
-
-double drain_C_(
- double width,
- int nchannel,
- int stack,
- int next_arg_thresh_folding_width_or_height_cell,
- double fold_dimension,
- bool _is_dram = false,
- bool _is_sram = false,
- bool _is_wl_tr = false);
-
-double tr_R_on(
- double width,
- int nchannel,
- int stack,
- bool _is_dram = false,
- bool _is_sram = false,
- bool _is_wl_tr = false);
-
-double R_to_w(
- double res,
- int nchannel,
- bool _is_dram = false,
- bool _is_sram = false,
- bool _is_wl_tr = false);
-
-double horowitz (
- double inputramptime,
- double tf,
- double vs1,
- double vs2,
- int rise);
-
-double pmos_to_nmos_sz_ratio(
- bool _is_dram = false,
- bool _is_wl_tr = false);
-
-double simplified_nmos_leakage(
- double nwidth,
- bool _is_dram = false,
- bool _is_cell = false,
- bool _is_wl_tr = false);
-
-double simplified_pmos_leakage(
- double pwidth,
- bool _is_dram = false,
- bool _is_cell = false,
- bool _is_wl_tr = false);
-
-
-double cmos_Ileak(
- double nWidth,
- double pWidth,
- bool _is_dram = false,
- bool _is_cell = false,
- bool _is_wl_tr = false);
-
-double cmos_Ig_n(
- double nWidth,
- bool _is_dram = false,
- bool _is_cell = false,
- bool _is_wl_tr= false);
-
-double cmos_Ig_p(
- double pWidth,
- bool _is_dram = false,
- bool _is_cell = false,
- bool _is_wl_tr= false);
-
-
-double cmos_Isub_leakage(
- double nWidth,
- double pWidth,
- int fanin,
- enum Gate_type g_type,
- bool _is_dram = false,
- bool _is_cell = false,
- bool _is_wl_tr = false,
- enum Half_net_topology topo = series);
-
-double cmos_Ig_leakage(
- double nWidth,
- double pWidth,
- int fanin,
- enum Gate_type g_type,
- bool _is_dram = false,
- bool _is_cell = false,
- bool _is_wl_tr = false,
- enum Half_net_topology topo = series);
-
-double shortcircuit(
- double vt,
- double velocity_index,
- double c_in,
- double c_out,
- double w_nmos,
- double w_pmos,
- double i_on_n,
- double i_on_p,
- double i_on_n_in,
- double i_on_p_in,
- double vdd);
-
-double shortcircuit_simple(
- double vt,
- double velocity_index,
- double c_in,
- double c_out,
- double w_nmos,
- double w_pmos,
- double i_on_n,
- double i_on_p,
- double i_on_n_in,
- double i_on_p_in,
- double vdd);
-//set power point product mask; strictly speaking this is not real point product
-inline void set_pppm(
- double * pppv,
- double a=1,
- double b=1,
- double c=1,
- double d=1
- ){
- pppv[0]= a;
- pppv[1]= b;
- pppv[2]= c;
- pppv[3]= d;
-
-}
-
-inline void set_sppm(
- double * sppv,
- double a=1,
- double b=1,
- double c=1,
- double d=1
- ){
- sppv[0]= a;
- sppv[1]= b;
- sppv[2]= c;
-}
-
-#endif