00001 /* 00002 * lv1_clock_panalyzer.h - Level 1 basic clock power analyzer data types, strcutres and 00003 * their manipulation functions. 00004 * 00005 * This file is a part of the PowerAnalyzer tool suite written by 00006 * Nam Sung Kim as a part of the PowerAnalyzer Project. 00007 * 00008 * The tool suite is currently maintained by Nam Sung Kim. 00009 * 00010 * Copyright (C) 2001 by Nam Sung Kim 00011 * Revised by Taeho Kgil 00012 * 00013 * This source file is distributed "as is" in the hope that it will be 00014 * useful. The tool set comes with no warranty, and no author or 00015 * distributor accepts any responsibility for the consequences of its 00016 * use. 00017 * 00018 * Everyone is granted permission to copy, modify and redistribute 00019 * this tool set under the following conditions: 00020 * 00021 * This source code is distributed for non-commercial use only. 00022 * Please contact the maintainer for restrictions applying to 00023 * commercial use. 00024 * 00025 * Permission is granted to anyone to make or distribute copies 00026 * of this source code, either as received or modified, in any 00027 * medium, provided that all copyright notices, permission and 00028 * nonwarranty notices are preserved, and that the distributor 00029 * grants the recipient permission for further redistribution as 00030 * permitted by this document. 00031 * 00032 * Permission is granted to distribute this file in compiled 00033 * or executable form under the same conditions that apply for 00034 * source code, provided that either: 00035 * 00036 * A. it is accompanied by the corresponding machine-readable 00037 * source code, 00038 * B. it is accompanied by a written offer, with no time limit, 00039 * to give anyone a machine-readable copy of the corresponding 00040 * source code in return for reimbursement of the cost of 00041 * distribution. This written offer must permit verbatim 00042 * duplication by anyone, or 00043 * C. it is distributed by someone who received only the 00044 * executable form, and is accompanied by a copy of the 00045 * written offer of source code that they received concurrently. 00046 * 00047 * In other words, you are welcome to use, share and improve this 00048 * source file. You are forbidden to forbid anyone else to use, share 00049 * and improve what you give them. 00050 */ 00051 00052 #ifndef LV1_CLOCK_PANALYZER_H 00053 #define LV1_CLOCK_PANALYZER_H 00054 // #include "lv1_panalyzer.h" 00055 00056 typedef struct _fu_lv1_clock_pspec_t { 00057 char *name; /* name */ 00058 double opfreq, svolt; /* operating frequency/supply voltage */ 00059 double clock_power; 00060 double clock_total_power; 00061 double max_power; 00062 double Ceff; 00063 } fu_lv1_clock_pspec_t; 00064 00065 fu_lv1_clock_pspec_t * 00066 lv1_create_clock_panalyzer( 00067 char *name, /* memory name */ 00068 /* memory operating parameters: operating frequency/supply voltage */ 00069 double opfreq, double svolt, 00070 double Ceff 00071 ); 00072 00073 /* clock panalyzer: estimate pdissipatino of the structure */ 00074 void 00075 lv1_clock_panalyzer( 00076 fu_lv1_clock_pspec_t *pspec, /* memory pspec*/ 00077 tick_t now /* current simulation time */); 00078 00079 #endif /* CLOCK_PANALYZER_H */ 00080