00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef TORC_ARCHITECTURE_EXTENDEDWIREINFO_HPP
00020 #define TORC_ARCHITECTURE_EXTENDEDWIREINFO_HPP
00021
00022 #include "torc/architecture/XilinxDatabaseTypes.hpp"
00023 #include "torc/architecture/Tilewire.hpp"
00024
00025 namespace torc {
00026 namespace architecture {
00027
00028 class DDB;
00029
00030
00031 class ExtendedWireInfo {
00032 protected:
00033
00034 typedef xilinx::WireIndex WireIndex;
00035 typedef xilinx::WireFlags WireFlags;
00036 typedef xilinx::TileIndex TileIndex;
00037 typedef xilinx::TileTypeIndex TileTypeIndex;
00038 typedef xilinx::TileRow TileRow;
00039 typedef xilinx::TileCol TileCol;
00040
00041
00042 const DDB& mDDB;
00043 public:
00044
00045
00046 WireIndex mWireIndex;
00047
00048 const char* mWireName;
00049
00050 WireFlags mWireFlags;
00051
00052 TileIndex mTileIndex;
00053
00054 const char* mTileName;
00055
00056 TileTypeIndex mTileTypeIndex;
00057
00058 const char* mTileTypeName;
00059
00060 TileRow mTileRow;
00061
00062 TileCol mTileCol;
00063
00064
00065 ExtendedWireInfo(const DDB& inDDB) : mDDB(inDDB),
00066 mWireIndex(WireIndex(WireIndex::undefined())), mWireName(0), mWireFlags(0),
00067 mTileIndex(TileIndex(TileIndex::undefined())), mTileName(0),
00068 mTileTypeIndex(TileTypeIndex(TileTypeIndex::undefined())), mTileTypeName(0),
00069 mTileRow(0), mTileCol(0) {}
00070
00071 ExtendedWireInfo(const DDB& inDDB, const Tilewire& inTilewire) : mDDB(inDDB) {
00072 set(inTilewire);
00073 }
00074
00075
00076 void set(const Tilewire& inTilewire);
00077
00078
00079 const Tilewire& operator =(const Tilewire& rhs) { set(rhs); return rhs; }
00080 };
00081
00082 }
00083 }
00084
00085 #endif // TORC_ARCHITECTURE_EXTENDEDWIREINFO_HPP