00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TORC_PLACER_NETLISTINSTANCE_HPP
00017 #define TORC_PLACER_NETLISTINSTANCE_HPP
00018
00019 #include "torc/physical/Instance.hpp"
00020 #include "torc/placer/DeviceSite.hpp"
00021 #include "torc/placer/NetlistPin.hpp"
00022 #include <vector>
00023
00024 namespace torc {
00025 namespace placer {
00026 class DeviceSite;
00027
00028 class NetlistInstance {
00029
00030 typedef boost::uint32_t uint32;
00031 typedef physical::InstanceSharedPtr InstanceSharedPtr;
00032
00033 protected:
00034 DeviceSite* mSite;
00035
00036 InstanceSharedPtr mPhysicalInstance;
00037 uint32 mInstanceType;
00038
00039
00040
00041 public:
00042 NetlistInstance(InstanceSharedPtr inInstance, uint32 inType) : mSite(NULL),
00043 mPhysicalInstance(inInstance), mInstanceType(inType) {}
00044 ~NetlistInstance() {}
00045 void setSite(DeviceSite* siteptr) {
00046 mSite = siteptr;
00047 }
00048 DeviceSite* getSite() {
00049 return mSite;
00050 }
00051 InstanceSharedPtr getInstance() {
00052 return mPhysicalInstance;
00053 }
00054 uint32 getType() {
00055 return mInstanceType;
00056 }
00057 void addPin(NetlistPin* pin) {
00058 }
00059 uint32 getNumPins() {
00060 return 0;
00061 }
00062 NetlistPin* getPin(uint32 index) {
00063 return 0;
00064 }
00065 };
00066
00067 typedef std::vector<NetlistInstance*> NetlistInstancePtrVector;
00068 }
00069 }
00070 #endif // TORC_PLACER_NETLISTINSTANCE_HPP