ADDF.h revision 10447
110447Snilay@cs.wisc.edu#ifndef __DSENT_MODEL_STD_CELLS_ADDF_H__ 210447Snilay@cs.wisc.edu#define __DSENT_MODEL_STD_CELLS_ADDF_H__ 310447Snilay@cs.wisc.edu 410447Snilay@cs.wisc.edu#include "util/CommonType.h" 510447Snilay@cs.wisc.edu#include "model/std_cells/StdCell.h" 610447Snilay@cs.wisc.edu#include "model/TransitionInfo.h" 710447Snilay@cs.wisc.edu 810447Snilay@cs.wisc.edunamespace DSENT 910447Snilay@cs.wisc.edu{ 1010447Snilay@cs.wisc.edu // A full adder standard cell 1110447Snilay@cs.wisc.edu class ADDF : public StdCell 1210447Snilay@cs.wisc.edu { 1310447Snilay@cs.wisc.edu public: 1410447Snilay@cs.wisc.edu ADDF(const String& instance_name_, const TechModel* tech_model_); 1510447Snilay@cs.wisc.edu virtual ~ADDF(); 1610447Snilay@cs.wisc.edu 1710447Snilay@cs.wisc.edu public: 1810447Snilay@cs.wisc.edu // Set a list of properties needed to update model 1910447Snilay@cs.wisc.edu void initProperties(); 2010447Snilay@cs.wisc.edu // Cache the standard cell 2110447Snilay@cs.wisc.edu void cacheStdCell(StdCellLib* cell_lib_, double drive_strength_); 2210447Snilay@cs.wisc.edu private: 2310447Snilay@cs.wisc.edu TransitionInfo m_trans_P_; 2410447Snilay@cs.wisc.edu TransitionInfo m_trans_G_; 2510447Snilay@cs.wisc.edu TransitionInfo m_trans_CP_; 2610447Snilay@cs.wisc.edu 2710447Snilay@cs.wisc.edu protected: 2810447Snilay@cs.wisc.edu // Build the model 2910447Snilay@cs.wisc.edu virtual void constructModel(); 3010447Snilay@cs.wisc.edu virtual void updateModel(); 3110447Snilay@cs.wisc.edu virtual void evaluateModel(); 3210447Snilay@cs.wisc.edu virtual void useModel(); 3310447Snilay@cs.wisc.edu virtual void propagateTransitionInfo(); 3410447Snilay@cs.wisc.edu 3510447Snilay@cs.wisc.edu }; // class ADDF 3610447Snilay@cs.wisc.edu} // namespace DSENT 3710447Snilay@cs.wisc.edu 3810447Snilay@cs.wisc.edu#endif // __DSENT_MODEL_STD_CELLS_ADDF_H__ 3910447Snilay@cs.wisc.edu 40