XOR2.h revision 10448:bc1a3b7ab5ef
12623SN/A/* Copyright (c) 2012 Massachusetts Institute of Technology
22623SN/A *
32623SN/A * Permission is hereby granted, free of charge, to any person obtaining a copy
42623SN/A * of this software and associated documentation files (the "Software"), to deal
52623SN/A * in the Software without restriction, including without limitation the rights
62623SN/A * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
72623SN/A * copies of the Software, and to permit persons to whom the Software is
82623SN/A * furnished to do so, subject to the following conditions:
92623SN/A *
102623SN/A * The above copyright notice and this permission notice shall be included in
112623SN/A * all copies or substantial portions of the Software.
122623SN/A *
132623SN/A * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
142623SN/A * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
152623SN/A * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
162623SN/A * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
172623SN/A * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
182623SN/A * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
192623SN/A * THE SOFTWARE.
202623SN/A */
212623SN/A
222623SN/A#ifndef __DSENT_MODEL_STD_CELLS_XOR2_H__
232623SN/A#define __DSENT_MODEL_STD_CELLS_XOR2_H__
242623SN/A
252623SN/A#include "util/CommonType.h"
262623SN/A#include "model/std_cells/StdCell.h"
272665Ssaidi@eecs.umich.edu
282665Ssaidi@eecs.umich.edunamespace DSENT
292623SN/A{
302623SN/A    class XOR2 : public StdCell
313170Sstever@eecs.umich.edu    {
323806Ssaidi@eecs.umich.edu        public:
332623SN/A            XOR2(const String& instance_name_, const TechModel* tech_model_);
344040Ssaidi@eecs.umich.edu            virtual ~XOR2();
356658Snate@binkert.org
362623SN/A        public:
372623SN/A            // Set a list of properties' name needed to construct model
383348Sbinkertn@umich.edu            void initProperties();
393348Sbinkertn@umich.edu
404762Snate@binkert.org            // Cache the standard cell
417678Sgblack@eecs.umich.edu            void cacheStdCell(StdCellLib* cell_lib_, double drive_strength_);
422901Ssaidi@eecs.umich.edu
432623SN/A        protected:
442623SN/A            // Build the model
452623SN/A            virtual void constructModel();
462623SN/A            virtual void updateModel();
472623SN/A            virtual void evaluateModel();
485606Snate@binkert.org            virtual void useModel();
492623SN/A            virtual void propagateTransitionInfo();
502623SN/A
512623SN/A    }; // class XOR2
522623SN/A} // namespace DSENT
532623SN/A
542623SN/A#endif // __DSENT_MODEL_STD_CELLS_XOR2_H__
552623SN/A
562623SN/A