Delay (delay)
Uses an internal delay line to delay incoming samples of a variable width bus by a specified number of output samples.
Design
The worker has a latency property, that is a build time parameter, that sets the number of output samples that should occur before the data makes it through an internal delay line between the input and output. For example, if the latency property is set to 8 and in periodic intervals the output is ready, 8 intervals will pass before an input sample makes it to the output.
Interface
<?xml version="1.0"?>
<componentspec>
<property name="latency" type="uchar" parameter="true" default="8" description="Number of output samples to delay by"/>
<property name="width" type="uchar" parameter="true" default="32" description="Sets the input and output bus width"/>
<port name="input" producer="false" numberofopcodes="6" defaultbuffersize="16384"/>
<port name="output" producer="true" numberofopcodes="6" defaultbuffersize="16384"/>
</componentspec>
Opcode Handling
All opcodes are passed through this component without modification.
Properties
latency: Number of output samples to delay by.Type:
ucharAccess:
Parameter:
TrueWritable:
FalseInitial:
FalseVolatile:
False
Default value:
8
width: Sets the input and output bus width.Type:
ucharAccess:
Parameter:
TrueWritable:
FalseInitial:
FalseVolatile:
False
Default value:
32
Ports
Inputs:
input: Primary input samples port.Protocol:
NoneOptional:
False
Outputs:
output: Primary output samples port.Protocol:
NoneOptional:
False
Implementations
delay(HDL)
Example Application
<?xml version="1.0"?>
<application done="file_write">
<instance component="ocpi.core.file_read" connect="delay">
<property name="filename" value="input.bin"/>
</instance>
<instance component="ocpi.comp.sdr.interface.delay" connect="file_write">
<property name="latency" value="8"/>
<property name="width" value="32"/>
</instance>
<instance component="ocpi.core.file_write">
<property name="filename" value="output.bin"/>
</instance>
</application>
Dependencies
The dependencies to other elements in OpenCPI are:
There is also a dependency on:
ieee.std_logic_1164
Limitations
Limitations of delay are:
None
Testing
Tested platforms: None
Component testing not completed.