LATQ.h revision 10447
112855Sgabeblack@google.com#ifndef __DSENT_MODEL_STD_CELLS_LATQ_H__
212855Sgabeblack@google.com#define __DSENT_MODEL_STD_CELLS_LATQ_H__
312855Sgabeblack@google.com
412855Sgabeblack@google.com#include "util/CommonType.h"
512855Sgabeblack@google.com#include "model/std_cells/StdCell.h"
612855Sgabeblack@google.com
712855Sgabeblack@google.comnamespace DSENT
812855Sgabeblack@google.com{
912855Sgabeblack@google.com    class LATQ : public StdCell
1012855Sgabeblack@google.com    {
1112855Sgabeblack@google.com        // A DQ flip-flop
1212855Sgabeblack@google.com        public:
1312855Sgabeblack@google.com            LATQ(const String& instance_name_, const TechModel* tech_model_);
1412855Sgabeblack@google.com            virtual ~LATQ();
1512855Sgabeblack@google.com
1612855Sgabeblack@google.com        public:
1712855Sgabeblack@google.com            // Set a list of properties' name needed to construct model
1812855Sgabeblack@google.com            void initProperties();
1912855Sgabeblack@google.com            // Cache the standard cell
2012855Sgabeblack@google.com            void cacheStdCell(StdCellLib* cell_lib_, double drive_strength_);
2112855Sgabeblack@google.com
2212855Sgabeblack@google.com        protected:
2312855Sgabeblack@google.com            // Build the model
2412855Sgabeblack@google.com            virtual void constructModel();
2512855Sgabeblack@google.com            virtual void updateModel();
2612855Sgabeblack@google.com            virtual void evaluateModel();
2712855Sgabeblack@google.com            virtual void useModel();
2812855Sgabeblack@google.com            virtual void propagateTransitionInfo();
2912855Sgabeblack@google.com
3012855Sgabeblack@google.com    }; // class LATQ
3112855Sgabeblack@google.com} // namespace DSENT
3212855Sgabeblack@google.com
3312855Sgabeblack@google.com#endif // __DSENT_MODEL_STD_CELLS_LATQ_H__
3412855Sgabeblack@google.com
3512855Sgabeblack@google.com