summaryrefslogtreecommitdiff
path: root/src/gpuwattch/cacti/wire.h
diff options
context:
space:
mode:
authorVijayKandiah <[email protected]>2021-10-17 02:18:10 -0500
committerVijayKandiah <[email protected]>2021-10-17 02:18:10 -0500
commit84c6cf45131e42b1a724ebf7977987a9ddb70db9 (patch)
treee82f15238e79a03f3cc2435d4f9bb48d5023e8ae /src/gpuwattch/cacti/wire.h
parent4a4fc87a2dcd95bfe298f2b3d18a9833a506e499 (diff)
AccelWattch dev Integration
Diffstat (limited to 'src/gpuwattch/cacti/wire.h')
-rw-r--r--src/gpuwattch/cacti/wire.h123
1 files changed, 0 insertions, 123 deletions
diff --git a/src/gpuwattch/cacti/wire.h b/src/gpuwattch/cacti/wire.h
deleted file mode 100644
index ace7c9c..0000000
--- a/src/gpuwattch/cacti/wire.h
+++ /dev/null
@@ -1,123 +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 __WIRE_H__
-#define __WIRE_H__
-
-#include "basic_circuit.h"
-#include "component.h"
-#include "parameter.h"
-#include "assert.h"
-#include "cacti_interface.h"
-#include <iostream>
-#include <list>
-
-class Wire : public Component
-{
- public:
- Wire(enum Wire_type wire_model, double len = 0/* in u*/,
- int nsense = 1/* no. of sense amps connected to the low-swing wire */,
- double width_scaling = 1,
- double spacing_scaling = 1,
- enum Wire_placement wire_placement = outside_mat,
- double resistivity = CU_RESISTIVITY,
- TechnologyParameter::DeviceType *dt = &(g_tp.peri_global));
- ~Wire();
-
- Wire( double width_scaling = 1,
- double spacing_scaling = 1,
- enum Wire_placement wire_placement = outside_mat,
- double resistivity = CU_RESISTIVITY,
- TechnologyParameter::DeviceType *dt = &(g_tp.peri_global)
- ); // should be used only once for initializing static members
- void init_wire();
-
- void calculate_wire_stats();
- void delay_optimal_wire();
- double wire_cap(double len, bool call_from_outside=false);
- double wire_res(double len);
- void low_swing_model();
- double signal_fall_time();
- double signal_rise_time();
- double sense_amp_input_cap();
-
- enum Wire_type wt;
- double wire_spacing;
- double wire_width;
- enum Wire_placement wire_placement;
- double repeater_size;
- double repeater_spacing;
- double wire_length;
- double in_rise_time, out_rise_time;
-
- void set_in_rise_time(double rt)
- {
- in_rise_time = rt;
- }
- static Component global;
- static Component global_5;
- static Component global_10;
- static Component global_20;
- static Component global_30;
- static Component low_swing;
- static double wire_width_init;
- static double wire_spacing_init;
- void print_wire();
-
- private:
-
- int nsense; // no. of sense amps connected to a low-swing wire if it
- // is broadcasting data to multiple destinations
- // width and spacing scaling factor can be used
- // to model low level wires or special
- // fat wires
- double w_scale, s_scale;
- double resistivity;
- powerDef wire_model (double space, double size, double *delay);
- list <Component> repeated_wire;
- void update_fullswing();
- static int initialized;
-
-
- //low-swing
- Component transmitter;
- Component l_wire;
- Component sense_amp;
-
- double min_w_pmos;
-
- TechnologyParameter::DeviceType *deviceType;
-
-};
-
-#endif