19 #ifndef TORC_BITSTREAM_VIRTEXBITSTREAM_HPP
20 #define TORC_BITSTREAM_VIRTEXBITSTREAM_HPP
22 #include <boost/cstdint.hpp>
32 namespace bitstream {
class VirtexBitstreamUnitTest; }
51 std::map<typename ARCH::FrameAddress, uint32_t>& inFrameAddressToIndex,
52 std::map<uint32_t, typename ARCH::FrameAddress>& inFrameIndexToAddress);
61 std::map<typename ARCH::FrameAddress, uint32_t>& inFrameAddressToIndex,
62 std::map<uint32_t, typename ARCH::FrameAddress>& inFrameIndexToAddress);
117 return VirtexPacketVector::insert(position, val);
121 VirtexPacketVector::insert(position, n, val);
124 template <
class InputIterator>
void insert(iterator
position, InputIterator first,
125 InputIterator last) {
126 VirtexPacketVector::insert(position, first, last);
129 void insert(VirtexPacketVector::iterator inPosition,
131 VirtexPacketVector::insert(inPosition, inVector.begin(), inVector.end());
135 VirtexPacketVector::insert(end(), inVector.begin(), inVector.end());
145 #endif // TORC_BITSTREAM_VIRTEXBITSTREAM_HPP
virtual VirtexPacketVector generatePartialBitstreamPackets(EFrameInclude inFrameInclusion)
Return a packet vector with partial frame data.
virtual VirtexPacketVector generatePartialBitstreamPrefix(EBitstreamType inBitstreamType)
Return a packet vector with the partial bitstream prefix.
VirtexFrameBlocks mFrameBlocks
Input Frame blocks.
EFrameInclude
The frames to include in a partial bitstream. Use eFrameIncludeOnlyDirtyFrames to include only dirty...
void readFramePackets4567(uint32_t inBlockFrameIndexBounds[], std::map< typename ARCH::FrameAddress, uint32_t > &inFrameAddressToIndex, std::map< uint32_t, typename ARCH::FrameAddress > &inFrameIndexToAddress)
Read frame packets in for Virtex4/5/6/7 devices.
boost::uint32_t uint32_t
Imported type name.
void insert(VirtexPacketVector::iterator inPosition, const VirtexPacketVector &inVector)
Insert the contents of a packet vector at the specified position.
Header for the DeviceDesignator class.
void insert(iterator position, InputIterator first, InputIterator last)
Regular std::vector inserter.
VirtexBitstream(void)
Basic constructor.
iterator insert(iterator position, const value_type &val)
Regular std::vector inserter.
virtual void updatePacketLength(void)
Update the header packet length.
void unimplemented(std::string inName)
Reports the named function as not yet implemented in the current architecture.
virtual void updateCrc32(torc::common::DeviceDesignator::EFamily inFamily)
Update CRC-32 packets.
boost::uint32_t uint32_t
Imported type name.
VirtexPacketVector generateFullBitstreamPackets4567(uint32_t inBlockFrameIndexBounds[])
Return a packet vector with full frame data for Virtex4/5/6/7 devices.
virtual void generateBitstream(EBitstreamType inBitstreamType=eBitstreamTypeFull, EFrameInclude inFrameInclusion=eFrameIncludeAllUsedFrames)
Discard existing packets and generate bitstream packets from frame data. By default this generates p...
Xilinx bitstream base class.
virtual VirtexPacketVector::iterator deleteFramePackets(void)
Discard the existing frame packets and return an iterator to the start position.
void insert(iterator position, size_type n, const value_type &val)
Regular std::vector inserter.
Header for the FrameSet class.
virtual void readPackets(std::istream &inStream)
Read bitstream packets from a stream.
virtual void readFramePackets(void)
Read frame data into the frame blocks structure.
Header for the Bitstream class.
EBitstreamType
The bitstream type to generate. Use eBitstreamFull to fully reconfigure a device, eBitstreamTypePartialActive to partially reconfigure it while it continues to run, or eBitstreamTypePartialShutdown to partially recongifure it after shutting it down.
Bitstream packet constants for Virtex class architectures.
VirtexPacketVector generatePartialBitstreamPackets4567(EFrameInclude inFrameInclusion, std::map< typename ARCH::FrameAddress, uint32_t > &inFrameAddressToIndex, std::map< uint32_t, typename ARCH::FrameAddress > &inFrameIndexToAddress)
Return a packet vector with partial frame data for Virtex4/5/6/7 devices.
virtual void preflightPackets(void)
Preflight the packets.
virtual VirtexPacketVector generatePartialBitstreamSuffix(EBitstreamType inBitstreamType)
Return a packet vector with the partial bitstream suffix.
std::vector< VirtexPacket > VirtexPacketVector
Vector of Virtex packets.
VirtexPacketVector::iterator deleteFramePackets4567(void)
Discard the existing frame packets for Virtex4/5/6/7 devices.
friend class torc::bitstream::bitstream::VirtexBitstreamUnitTest
Header for the VirtexPacket class.
virtual void writePackets(std::ostream &inStream)
Write bitstream packets to a stream.
void append(const VirtexPacketVector &inVector)
Append the contents of a packet vector to the end of the bitstream.
virtual VirtexPacketVector generateFullBitstreamPrefix(void)
Return a packet vector with the full bitstream prefix.
VirtexFrameBlocks & getFrameBlocks(void)
Return the configuration frame blocks.
virtual VirtexPacketVector generateFullBitstreamSuffix(void)
Return a packet vector with the full bitstream suffix.
virtual void updateFramePackets(EBitstreamType inBitstreamType=eBitstreamTypeFull, EFrameInclude inFrameInclusion=eFrameIncludeAllUsedFrames)
Update the bitstream frame packets By default this updates the bitstream with full frame data...
virtual VirtexPacketVector generateFullBitstreamPackets(void)
Return a packet vector with full frame data.
virtual void updateCrc16(torc::common::DeviceDesignator::EFamily inFamily)
Update CRC-16 packets.