Bitstream Interpretation Library (BIL)  0.1
Public Member Functions | Protected Member Functions
bil::V5PacketProcessor Class Reference

Executes bitstreams in order to get their configuration data. More...

#include <packetprocessor/V5PacketProcessor.hpp>

Inheritance diagram for bil::V5PacketProcessor:
Inheritance graph
[legend]
Collaboration diagram for bil::V5PacketProcessor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 V5PacketProcessor (const V5AddressLayoutRegistry &registry)
 Constructs a V5PacketProcessor instance.
virtual void visit (const DummyWord &dummyWord)
 Visits a DummyWord packet.
virtual void visit (const Type1Packet &type1Packet)
 Visits a Type1Packet packet.
virtual void visit (const Type2Packet &type2Packet)
 Visits a Type2Packet packet.
virtual void reset ()
 Resets the packet processor.
const V5AddressLayoutRegistryaddressLayoutRegistry () const
 Gets the linked address layout registry.
V5Configurationconfiguration ()
 Gets the configuration.
const V5Configurationconfiguration () const
 Gets the configuration read only.
- Public Member Functions inherited from bil::V5BitstreamSyntaxChecker
 V5BitstreamSyntaxChecker ()
bool behindSyncWord () const
 Tells, if sync word was passed.
bool lastPacketWasType1 () const
 Tells, if the last packet processed was a type 1 packet.
RegisterAddress::address_t lastType1Address () const
 Gets the register address of the last processed type 1 packet.
virtual void visit (const BuswidthPattern &buswidthPattern)
 Visits a BuswidthPattern packet.
virtual void visit (const SyncWord &syncWord)
 Visits a SyncWord packet.
- Public Member Functions inherited from bil::V5PacketVisitor
virtual void visit (const Packet &packet)
 Irrelevant visit() method for Virtex-5 bitstreams.
- Public Member Functions inherited from bil::PacketVisitor
virtual ~PacketVisitor ()

Protected Member Functions

void visitDataPacket (const Type2Packet &type2Packet)
 Visits a data packet.
void registerWrite (RegisterAddress::address_t regAddr, const boost::uint32_t *words, size_t wordCount)
 Writes data to a register.

Detailed Description

Executes bitstreams in order to get their configuration data.

The packet processor is essentially a register machine, that is capable of executing the bitstream packets containing opcode, register address, and data. The outcome of this execution is the raw configuration data, which describe the configuration memory contents.

Definition at line 35 of file V5PacketProcessor.hpp.


Constructor & Destructor Documentation

V5PacketProcessor::V5PacketProcessor ( const V5AddressLayoutRegistry registry)
explicit

Constructs a V5PacketProcessor instance.

Parameters:
registryV5AddressLayoutRegistry instance reference to be used for looking up the device specific address layout.

Definition at line 14 of file V5PacketProcessor.cpp.


Member Function Documentation

void V5PacketProcessor::visit ( const DummyWord dummyWord)
virtual

Visits a DummyWord packet.

Parameters:
dummyWordDummyWord instance to be visited.
Exceptions:
.

Reimplemented from bil::V5BitstreamSyntaxChecker.

Definition at line 63 of file V5PacketProcessor.cpp.

void V5PacketProcessor::visit ( const Type1Packet type1Packet)
virtual

Visits a Type1Packet packet.

Parameters:
type1PacketType1Packet instance to be visited.
Exceptions:
.

Reimplemented from bil::V5BitstreamSyntaxChecker.

Definition at line 72 of file V5PacketProcessor.cpp.

void V5PacketProcessor::visit ( const Type2Packet type2Packet)
virtual

Visits a Type2Packet packet.

Parameters:
type2PacketType2Packet instance to be visited.
Exceptions:
.

Reimplemented from bil::V5BitstreamSyntaxChecker.

Definition at line 79 of file V5PacketProcessor.cpp.

void V5PacketProcessor::reset ( )
virtual

Resets the packet processor.

Resets packet processor's internal bitstream syntax checker, so that is then ready for a new bitstream. Also clears the current configuration.

Reimplemented from bil::V5BitstreamSyntaxChecker.

Definition at line 86 of file V5PacketProcessor.cpp.

const V5AddressLayoutRegistry & V5PacketProcessor::addressLayoutRegistry ( ) const

Gets the linked address layout registry.

Returns:
Read only reference to V5AddressLayoutRegistry instance used by the packet processor for getting the configuration memory layout of the target device.

Definition at line 106 of file V5PacketProcessor.cpp.

V5Configuration & V5PacketProcessor::configuration ( )

Gets the configuration.

Returns:
Reference to packet processor's V5Configuration instance.

Definition at line 94 of file V5PacketProcessor.cpp.

const V5Configuration & V5PacketProcessor::configuration ( ) const

Gets the configuration read only.

Returns:
Read only reference to packet processor's V5Configuration instance.

Definition at line 100 of file V5PacketProcessor.cpp.

void V5PacketProcessor::visitDataPacket ( const Type2Packet type2Packet)
protected

Visits a data packet.

Parameters:
type2PacketReference to data packet to be processed.
Exceptions:
.

Definition at line 112 of file V5PacketProcessor.cpp.

void V5PacketProcessor::registerWrite ( RegisterAddress::address_t  regAddr,
const boost::uint32_t *  words,
size_t  wordCount 
)
protected

Writes data to a register.

Parameters:
regAddrTarget register address.
wordsPointer to data words to write.
wordCountNumber of data words to write.
Exceptions:
.

Definition at line 135 of file V5PacketProcessor.cpp.


The documentation for this class was generated from the following files: