00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TORC_PLACER_NETLISTPIN_HPP
00017 #define TORC_PLACER_NETLISTPIN_HPP
00018
00019 #include <string>
00020 #include "torc/placer/NetlistInstance.hpp"
00021 #include "torc/placer/NetlistNet.hpp"
00022 #include "torc/architecture/Sites.hpp"
00023
00024 namespace torc {
00025 namespace placer {
00026 class NetlistInstance;
00027 class NetlistNet;
00028
00029 class NetlistPin {
00030 protected:
00031 std::string mName;
00032 NetlistInstance* mInstance;
00033 NetlistNet* mNet;
00034 bool mIsNetSource;
00035 architecture::Sites::SitePin* mSitePin;
00036
00037 public:
00038 NetlistPin(std::string inName, bool inNetSource)
00039 : mName(inName), mInstance(NULL), mNet(NULL), mIsNetSource(inNetSource) {}
00040 ~NetlistPin()
00041 {
00042 }
00043 std::string& getName() {
00044 return mName;
00045 }
00046 void setInstance(NetlistInstance* inInstance) {
00047 mInstance = inInstance;
00048 }
00049 void setNet(NetlistNet* inNet) {
00050 mNet = inNet;
00051 }
00052 NetlistInstance* getInstance() {
00053 return mInstance;
00054 }
00055 NetlistNet* getNet() {
00056 return mNet;
00057 }
00058 bool isNetSource() {
00059 return mIsNetSource;
00060 }
00061 architecture::Sites::SitePin* getSitePin() {
00062 return mSitePin;
00063 }
00064 void setSitePin(architecture::Sites::SitePin* inSitePin) {
00065 mSitePin = inSitePin;
00066 }
00067 };
00068 }
00069 }
00070 #endif // TORC_PLACER_NETLISTPIN_HPP