torc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ExtendedWireInfo.hpp
Go to the documentation of this file.
1 // Torc - Copyright 2011-2013 University of Southern California. All Rights Reserved.
2 // $HeadURL$
3 // $Id$
4 
5 // This program is free software: you can redistribute it and/or modify it under the terms of the
6 // GNU General Public License as published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
10 // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
11 // the GNU General Public License for more details.
12 //
13 // You should have received a copy of the GNU General Public License along with this program. If
14 // not, see <http://www.gnu.org/licenses/>.
15 
16 /// \file
17 /// \brief Header for the ExtendedWireInfo class.
18 
19 #ifndef TORC_ARCHITECTURE_EXTENDEDWIREINFO_HPP
20 #define TORC_ARCHITECTURE_EXTENDEDWIREINFO_HPP
21 
24 
25 namespace torc {
26 namespace architecture {
27 
28  class DDB;
29 
30  /// \brief Verbose encapsulation of a wire's information.
32  protected:
33  // types
34  typedef xilinx::WireIndex WireIndex; ///< \brief Imported type name.
35  typedef xilinx::WireFlags WireFlags; ///< \brief Imported type name.
36  typedef xilinx::TileIndex TileIndex; ///< \brief Imported type name.
37  typedef xilinx::TileTypeIndex TileTypeIndex; ///< \brief Imported type name.
38  typedef xilinx::TileRow TileRow; ///< \brief Imported type name.
39  typedef xilinx::TileCol TileCol; ///< \brief Imported type name.
40  // members
41  /// \brief The device database reference.
42  const DDB& mDDB;
43  public:
44  // members
45  /// \brief The wire index.
47  /// \brief The wire name.
48  const char* mWireName;
49  /// \brief The wire flags.
51  /// \brief The tile index.
53  /// \brief The tile name.
54  const char* mTileName;
55  /// \brief The tile type index.
57  /// \brief The tile type name.
58  const char* mTileTypeName;
59  /// \brief The tile row.
61  /// \brief The tile column.
63  // constructors
64  /// \brief Basic constructor.
65  ExtendedWireInfo(const DDB& inDDB) : mDDB(inDDB),
66  mWireIndex(WireIndex(WireIndex::undefined())), mWireName(0), mWireFlags(0),
67  mTileIndex(TileIndex(TileIndex::undefined())), mTileName(0),
69  mTileRow(0), mTileCol(0) {}
70  /// \brief Tilewire constructor.
71  ExtendedWireInfo(const DDB& inDDB, const Tilewire& inTilewire) : mDDB(inDDB) {
72  set(inTilewire);
73  }
74  // functions
75  /// \brief Configure the extended info fields.
76  void set(const Tilewire& inTilewire);
77  // operators
78  /// \brief Assignment operator.
79  const Tilewire& operator =(const Tilewire& rhs) { set(rhs); return rhs; }
80  };
81 
82 } // namespace architecture
83 } // namespace torc
84 
85 #endif // TORC_ARCHITECTURE_EXTENDEDWIREINFO_HPP
const char * mTileTypeName
The tile type name.
Encapsulation of a tile index in an unsigned 32-bit integer.
Encapsulation of a tile row in an unsigned 16-bit integer.
ExtendedWireInfo(const DDB &inDDB, const Tilewire &inTilewire)
Tilewire constructor.
xilinx::WireIndex WireIndex
Imported type name.
Encapsulation of a tile column in an unsigned 16-bit integer.
Device database, including complete wiring and logic support.
Definition: DDB.hpp:42
Encapsulation of wire attribute flags in an unsigned 16-bit integer.
const char * mWireName
The wire name.
Encapsulation of a wire index in an unsigned 16-bit integer.
TileTypeIndex mTileTypeIndex
The tile type index.
xilinx::TileRow TileRow
Imported type name.
const char * mTileName
The tile name.
Encapsulation of a device tile and wire pair.
Definition: Tilewire.hpp:39
const DDB & mDDB
The device database reference.
Verbose encapsulation of a wire's information.
Header for the Tilewire class.
WireIndex mWireIndex
The wire index.
xilinx::TileCol TileCol
Imported type name.
Encapsulation of a tile type index in an unsigned 16-bit integer.
TileIndex mTileIndex
The tile index.
xilinx::WireFlags WireFlags
Imported type name.
ExtendedWireInfo(const DDB &inDDB)
Basic constructor.
const Tilewire & operator=(const Tilewire &rhs)
Assignment operator.
WireFlags mWireFlags
The wire flags.
xilinx::TileTypeIndex TileTypeIndex
Imported type name.
xilinx::TileIndex TileIndex
Imported type name.
void set(const Tilewire &inTilewire)
Configure the extended info fields.
Device database types for Xilinx architectures.