timestamp_inserter HDL Worker
Detail
Data is read from the input port when the output is ready and no timestamps are currently being inserted.
Input data is added to the last used pipeline stage of an internal skid buffer if the pipeline is being shifted, else it is added to the next available stage. The skid buffer is dimensioned to equal the propagation delay of the ready being de-asserted on the output reaching the input, and the delay of the data reaching the output port. Therefore, there will always be a free slot in the skid buffer if required. Data is passed to the output port from the first address of the skid buffer when the output port is ready and no timestamps are being inserted. The skid buffer is then shifted.
Timestamps are provided as an input to the component on the time interface. The timestamp is a 64-bit number with the first 32 bits corresponding to seconds and the last 32 bits corresponding to fractions of a second. When a timestamp is to be inserted and a valid sample opcode message is detected on the input, the timestamp is registered and put to the output port, seconds first followed by fractions of a second. Timestamps will be output as a Time opcode.
The time interface from which the timestamps are generated originates from the OpenCPI time-server, which is instanced as part of the platform worker. Furthermore, an additional component (the time-client) is dynamically instanced by the framework for all components that declare time interfaces. The time-client communicates with the time-server and produces the time interface seen by the component.
Worker Properties
ocpi_buffer_size_outputType:
ushortAccess:
Parameter:
FalseWritable:
FalseInitial:
TrueVolatile:
FalseRead back:
False
Default value:
0
ocpi_blocked_outputType:
ulongAccess:
Parameter:
FalseWritable:
FalseInitial:
FalseVolatile:
TrueRead back:
False
Default value:
None
ocpi_max_latency_outputType:
ushortAccess:
Parameter:
TrueWritable:
FalseInitial:
FalseVolatile:
FalseRead back:
False
Default value:
None
ocpi_latency_outputType:
ushortAccess:
Parameter:
FalseWritable:
FalseInitial:
FalseVolatile:
TrueRead back:
False
Default value:
None
ocpi_messages_outputType:
ulongAccess:
Parameter:
FalseWritable:
FalseInitial:
FalseVolatile:
TrueRead back:
False
Default value:
None
ocpi_bytes_outputType:
ulongAccess:
Parameter:
FalseWritable:
FalseInitial:
FalseVolatile:
TrueRead back:
False
Default value:
None
Worker Ports
inputProtocol:
NoneOptional:
False
outputProtocol:
NoneOptional:
False
timeType:
timeinterface
Inputs:
Outputs:
Interfaces (other than data I/O ports):
Utilisation
Utilization reporting is not currently implemented.