Complex Delay ============== | **Block:** Complex Delay (``delay_complex``) | **Block Author**: Aaron Parsons | **Document Author**: Aaron Parsons +--------------------------------------------------------------------------+ | .. raw:: html | | | |
| | | | .. rubric:: Contents | | :name: contents | | | | .. raw:: html | | | |
| | | | - `Summary <#summary>`__ | | - `Mask Parameters <#mask-parameters>`__ | | - `Ports <#ports>`__ | | - `Description <#description>`__ | +--------------------------------------------------------------------------+ Summary --------- A delay block that treats its input as complex, splits it into real and imaginary components, delays each component by a specified amount, and then re-joins them into a complex output. The underlying storage is user-selectable (either BRAM or SLR16 elements). The reason for this is wide (36 bit) delays make adjacent multipliers in multiplier-bram pairs unusable. Mask Parameters ----------------- +---------------+----------------+---------------------------------------------------------------------------------------------------------+ | Parameter | Variable | Description | +===============+================+=========================================================================================================+ | Delay Depth | delay\_depth | The length of the delay. | +---------------+----------------+---------------------------------------------------------------------------------------------------------+ | Bit Width | n\_bits | Specifies the width of the real/imaginary components. Width of each component is assumed equal. | +---------------+----------------+---------------------------------------------------------------------------------------------------------+ | Use BRAM | use\_bram | Set to 1 to implement the delay using BRAM. If 0, the delay will be implemented using SLR16 elements. | +---------------+----------------+---------------------------------------------------------------------------------------------------------+ Ports ------- +--------+-------+-------------+-------------------------------------+ | Port | Dir | Data Type | Description | +========+=======+=============+=====================================+ | in | in |  ??? | The complex signal to be delayed. | +--------+-------+-------------+-------------------------------------+ | out | out |  ??? | The delayed complex signal. | +--------+-------+-------------+-------------------------------------+ Description ------------ A delay block that treats its input as complex, splits it into real and imaginary components, delays each component by a specified amount, and then re-joins them into a complex output. The underlying storage is user-selectable (either BRAM or SLR16 elements). The reason for this is wide (36 bit) delays make adjacent multipliers in multiplier-bram pairs unusable.