00001 // Torc - Copyright 2011 University of Southern California. All Rights Reserved. 00002 // $HeadURL: https://torc-isi.svn.sourceforge.net/svnroot/torc-isi/branches/staging/0.9/src/torc/placer/DeviceSitePin.hpp $ 00003 // $Id: DeviceSitePin.hpp 10 2011-10-12 18:40:16Z nsteiner $ 00004 00005 // This program is free software: you can redistribute it and/or modify it under the terms of the 00006 // GNU General Public License as published by the Free Software Foundation, either version 3 of the 00007 // License, or (at your option) any later version. 00008 // 00009 // This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 00010 // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See 00011 // the GNU General Public License for more details. 00012 // 00013 // You should have received a copy of the GNU General Public License along with this program. If 00014 // not, see <http://www.gnu.org/licenses/>. 00015 00016 #ifndef TORC_PLACER_DEVICESITEPIN_HPP 00017 #define TORC_PLACER_DEVICESITEPIN_HPP 00018 00019 #include "torc/architecture/Tilewire.hpp" 00020 #include <string> 00021 00022 namespace torc { 00023 namespace placer { 00024 class DeviceSitePin 00025 { 00026 // types 00027 typedef architecture::Tilewire Tilewire; 00028 protected: 00029 std::string& mName; 00030 00031 Tilewire mTilewire; 00032 int mRow; // for the sitepin, we have actual row and column locations for distance calculation 00033 int mCol; 00034 //int mTileOffset; // these offsets tell you where the pin actually lives relative to the tile index of the site 00035 00036 public: 00037 DeviceSitePin(std::string& inName, int inRow, int inCol) : 00038 mName(inName), mRow(inRow), mCol(inCol) {} 00039 ~DeviceSitePin() {} 00040 std::string& getName() { 00041 return mName; 00042 } 00043 int getRow() { 00044 return mRow; 00045 } 00046 int getCol() { 00047 return mCol; 00048 } 00049 Tilewire getTilewire() { 00050 return mTilewire; 00051 } 00052 00053 }; //class DeviceSitePin 00054 } // namespace placer 00055 } // namespace torc 00056 #endif // TORC_PLACER_DEVICESITEPIN_HPP