#include <Segments.hpp>
Public Member Functions | |
uint32_t | getTotalWireCount (void) const |
Return the total number of real wires in the device. | |
uint32_t | getTotalSegmentCount (void) const |
Return the total number of full segments in the device. | |
uint32_t | getCompactSegmentCount (void) const |
Return the number of compact segments in the device. | |
uint32_t | getIrregularArcCount (void) const |
Return the total number of irregular args in the device. | |
const Segments::SegmentReference & | getTilewireSegment (const Tilewire &inTilewire) const |
Return the segment reference for the given tile and wire index. | |
Protected Types | |
enum | { eSegmentUndefined = 0xffffffff, eSegmentTrivial = 0 } |
typedef std::string | string |
Imported type name. | |
typedef xilinx::TileCount | TileCount |
Imported type name. | |
typedef xilinx::TileIndex | TileIndex |
Imported type name. | |
typedef xilinx::WireIndex | WireIndex |
Imported type name. | |
typedef xilinx::TileOffset | TileOffset |
Imported type name. | |
typedef xilinx::CompactSegmentCount | CompactSegmentCount |
Imported type name. | |
typedef xilinx::CompactSegmentIndex | CompactSegmentIndex |
Imported type name. | |
Protected Member Functions | |
Segments (void) | |
Protected constructor. | |
size_t | readTilewireSegments (DigestStream &inStream) |
Read the segment entries for every tile. | |
size_t | readSegments (DigestStream &inStream, bool inExtendedAnchorTileCount) |
Read the compact segments for the device. | |
size_t | readIrregularArcs (DigestStream &inStream) |
Read the irregular arcs for the device. | |
const Segments::IrregularArc * | getIrregularArc (TileIndex inTileIndex, WireIndex inSourceWireIndex, WireIndex inSinkWireIndex) |
Return a pointer to the requested IrregularArc, or 0 if the arc does not exist. | |
Protected Attributes | |
Array2D< CompactSegmentTilewire > | mCompactSegments |
The compact segments in the device. | |
Array2D< SegmentReference > | mTilewireSegments |
The segment references for every wire in every tile. | |
Array2D< IrregularArc > | mIrregularArcs |
The irregular arcs for in the device. | |
CompactSegmentCount | mCompactSegmentCount |
The number of compact segments in the device. | |
uint32_t | mIrregularArcCount |
The number of irregular arcs in the device. | |
uint32_t | mTotalWireCount |
The total number of defined wires on non-trivial segments. | |
uint32_t | mTotalSegmentCount |
The total number of defined non-trivial segments. | |
Friends | |
class | DDB |
The database has access to our protected functions. | |
class | torc::architecture::architecture::architecture_segments |
Our unit test has access to our protected functions. | |
class | torc::architecture::architecture::segments_regression_test_helper |
class | torc::architecture::architecture::segments_unit_test_helper |
Classes | |
class | CompactSegmentTilewire |
Encapsulation of a wire belonging to a compact segment. More... | |
class | IrregularArc |
Encapsulation of an irregular arc. More... | |
class | SegmentReference |
Encapsulation of compact segment index and an anchoring tile index. More... |
Segment data is encoded in a collection of compact segments (segment shapes normalized to tile index 0) and a mapping from tilewires to segment references and anchor tile indexes.
Definition at line 39 of file Segments.hpp.
typedef std::string torc::architecture::Segments::string [protected] |
typedef xilinx::TileCount torc::architecture::Segments::TileCount [protected] |
typedef xilinx::TileIndex torc::architecture::Segments::TileIndex [protected] |
typedef xilinx::WireIndex torc::architecture::Segments::WireIndex [protected] |
typedef xilinx::TileOffset torc::architecture::Segments::TileOffset [protected] |
typedef xilinx::CompactSegmentCount torc::architecture::Segments::CompactSegmentCount [protected] |
typedef xilinx::CompactSegmentIndex torc::architecture::Segments::CompactSegmentIndex [protected] |
torc::architecture::Segments::Segments | ( | void | ) | [protected] |
size_t torc::architecture::Segments::readTilewireSegments | ( | DigestStream & | inStream | ) | [protected] |
Read the segment entries for every tile.
Definition at line 32 of file Segments.cpp.
size_t torc::architecture::Segments::readSegments | ( | DigestStream & | inStream, | |
bool | inExtendedAnchorTileCount | |||
) | [protected] |
Read the compact segments for the device.
Definition at line 86 of file Segments.cpp.
size_t torc::architecture::Segments::readIrregularArcs | ( | DigestStream & | inStream | ) | [protected] |
Read the irregular arcs for the device.
Definition at line 154 of file Segments.cpp.
const Segments::IrregularArc * torc::architecture::Segments::getIrregularArc | ( | TileIndex | inTileIndex, | |
WireIndex | inSourceWireIndex, | |||
WireIndex | inSinkWireIndex | |||
) | [protected] |
Return a pointer to the requested IrregularArc, or 0 if the arc does not exist.
Definition at line 194 of file Segments.cpp.
uint32_t torc::architecture::Segments::getTotalWireCount | ( | void | ) | const [inline] |
uint32_t torc::architecture::Segments::getTotalSegmentCount | ( | void | ) | const [inline] |
Return the total number of full segments in the device.
Definition at line 149 of file Segments.hpp.
uint32_t torc::architecture::Segments::getCompactSegmentCount | ( | void | ) | const [inline] |
uint32_t torc::architecture::Segments::getIrregularArcCount | ( | void | ) | const [inline] |
Return the total number of irregular args in the device.
Definition at line 153 of file Segments.hpp.
const Segments::SegmentReference& torc::architecture::Segments::getTilewireSegment | ( | const Tilewire & | inTilewire | ) | const [inline] |
Return the segment reference for the given tile and wire index.
Definition at line 155 of file Segments.hpp.
friend class DDB [friend] |
friend class torc::architecture::architecture::architecture_segments [friend] |
uint32_t torc::architecture::Segments::mIrregularArcCount [protected] |
uint32_t torc::architecture::Segments::mTotalWireCount [protected] |
The total number of defined wires on non-trivial segments.
Definition at line 126 of file Segments.hpp.
uint32_t torc::architecture::Segments::mTotalSegmentCount [protected] |
The total number of defined non-trivial segments.
Definition at line 130 of file Segments.hpp.