ADDF.h revision 10447
16253Sgblack@eecs.umich.edu#ifndef __DSENT_MODEL_STD_CELLS_ADDF_H__
26253Sgblack@eecs.umich.edu#define __DSENT_MODEL_STD_CELLS_ADDF_H__
36253Sgblack@eecs.umich.edu
46253Sgblack@eecs.umich.edu#include "util/CommonType.h"
56253Sgblack@eecs.umich.edu#include "model/std_cells/StdCell.h"
66253Sgblack@eecs.umich.edu#include "model/TransitionInfo.h"
76253Sgblack@eecs.umich.edu
86253Sgblack@eecs.umich.edunamespace DSENT
96253Sgblack@eecs.umich.edu{
106253Sgblack@eecs.umich.edu    // A full adder standard cell
116253Sgblack@eecs.umich.edu    class ADDF : public StdCell
126253Sgblack@eecs.umich.edu    {
136253Sgblack@eecs.umich.edu        public:
146253Sgblack@eecs.umich.edu            ADDF(const String& instance_name_, const TechModel* tech_model_);
156253Sgblack@eecs.umich.edu            virtual ~ADDF();
166253Sgblack@eecs.umich.edu
176253Sgblack@eecs.umich.edu        public:
186253Sgblack@eecs.umich.edu            // Set a list of properties needed to update model
196253Sgblack@eecs.umich.edu            void initProperties();
206253Sgblack@eecs.umich.edu            // Cache the standard cell
216253Sgblack@eecs.umich.edu            void cacheStdCell(StdCellLib* cell_lib_, double drive_strength_);
226253Sgblack@eecs.umich.edu        private:
236253Sgblack@eecs.umich.edu            TransitionInfo m_trans_P_;
246253Sgblack@eecs.umich.edu            TransitionInfo m_trans_G_;
256253Sgblack@eecs.umich.edu            TransitionInfo m_trans_CP_;
266253Sgblack@eecs.umich.edu
276253Sgblack@eecs.umich.edu        protected:
286253Sgblack@eecs.umich.edu            // Build the model
296253Sgblack@eecs.umich.edu            virtual void constructModel();
306253Sgblack@eecs.umich.edu            virtual void updateModel();
316255Sgblack@eecs.umich.edu            virtual void evaluateModel();
326712Snate@binkert.org            virtual void useModel();
336263Sgblack@eecs.umich.edu            virtual void propagateTransitionInfo();
346253Sgblack@eecs.umich.edu
356253Sgblack@eecs.umich.edu    }; // class ADDF
366253Sgblack@eecs.umich.edu} // namespace DSENT
376254Sgblack@eecs.umich.edu
386254Sgblack@eecs.umich.edu#endif // __DSENT_MODEL_STD_CELLS_ADDF_H__
396254Sgblack@eecs.umich.edu
406254Sgblack@eecs.umich.edu