OR.h revision 10448
19793Sakash.bagdia@arm.com/* Copyright (c) 2012 Massachusetts Institute of Technology 29518SAndreas.Sandberg@ARM.com * 39518SAndreas.Sandberg@ARM.com * Permission is hereby granted, free of charge, to any person obtaining a copy 49518SAndreas.Sandberg@ARM.com * of this software and associated documentation files (the "Software"), to deal 59518SAndreas.Sandberg@ARM.com * in the Software without restriction, including without limitation the rights 69518SAndreas.Sandberg@ARM.com * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 79518SAndreas.Sandberg@ARM.com * copies of the Software, and to permit persons to whom the Software is 89518SAndreas.Sandberg@ARM.com * furnished to do so, subject to the following conditions: 99518SAndreas.Sandberg@ARM.com * 109518SAndreas.Sandberg@ARM.com * The above copyright notice and this permission notice shall be included in 119518SAndreas.Sandberg@ARM.com * all copies or substantial portions of the Software. 129518SAndreas.Sandberg@ARM.com * 135347Ssaidi@eecs.umich.edu * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 147534Ssteve.reinhardt@amd.com * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 153395Shsul@eecs.umich.edu * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 163395Shsul@eecs.umich.edu * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 173395Shsul@eecs.umich.edu * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 183395Shsul@eecs.umich.edu * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 193395Shsul@eecs.umich.edu * THE SOFTWARE. 203395Shsul@eecs.umich.edu */ 213395Shsul@eecs.umich.edu 223395Shsul@eecs.umich.edu#ifndef __DSENT_MODEL_ELECTRICAL_OR_H__ 233395Shsul@eecs.umich.edu#define __DSENT_MODEL_ELECTRICAL_OR_H__ 243395Shsul@eecs.umich.edu 253395Shsul@eecs.umich.edu#include "util/CommonType.h" 263395Shsul@eecs.umich.edu#include "model/ElectricalModel.h" 273395Shsul@eecs.umich.edu 283395Shsul@eecs.umich.edunamespace DSENT 293395Shsul@eecs.umich.edu{ 303395Shsul@eecs.umich.edu /** 313395Shsul@eecs.umich.edu * \brief A class that implements a n-input OR gate 323395Shsul@eecs.umich.edu */ 333395Shsul@eecs.umich.edu class OR : public ElectricalModel 343395Shsul@eecs.umich.edu { 353395Shsul@eecs.umich.edu public: 363395Shsul@eecs.umich.edu OR(const String& instance_name_, const TechModel* tech_model_); 373395Shsul@eecs.umich.edu virtual ~OR(); 383395Shsul@eecs.umich.edu 393395Shsul@eecs.umich.edu public: 403395Shsul@eecs.umich.edu // Set a list of properties' name needed to construct model 413395Shsul@eecs.umich.edu void initParameters(); 429457Svilanova@ac.upc.edu // Set a list of properties' name needed to construct model 433395Shsul@eecs.umich.edu void initProperties(); 443509Shsul@eecs.umich.edu 456654Snate@binkert.org // Clone and return a new instance 469520SAndreas.Sandberg@ARM.com virtual OR* clone() const; 479665Sandreas.hansson@arm.com 489520SAndreas.Sandberg@ARM.com protected: 493395Shsul@eecs.umich.edu // Build the model 506654Snate@binkert.org virtual void constructModel(); 513395Shsul@eecs.umich.edu virtual void propagateTransitionInfo(); 526654Snate@binkert.org 536654Snate@binkert.org }; // class OR 546654Snate@binkert.org} // namespace DSENT 553395Shsul@eecs.umich.edu 569139Snilay@cs.wisc.edu#endif // __DSENT_MODEL_ELECTRICAL_OR_H__ 579520SAndreas.Sandberg@ARM.com 589520SAndreas.Sandberg@ARM.com