X-Engine TVG ============= | **Block:** X-Engine TVG (``xeng_tvg``) | **Block Author**: Jason Manley | **Document Author**: Jason Manley +--------------------------------------------------------------------------+ | .. raw:: html | | | |
| | | | .. rubric:: Contents | | :name: contents | | | | .. raw:: html | | | |
| | | | - `Summary <#summary>`__ | | - `Mask Parameters <#mask-parameters>`__ | | - `Ports <#ports>`__ | | - `Description <#description>`__ | +--------------------------------------------------------------------------+ Summary -------- Basic test vector generator for CASPER X-engines. Mask Parameters ---------------- +----------------------------------------+----------------+-----------------------------------------------------+ | Parameter | Variable | Description | +========================================+================+=====================================================+ | Number of Antennas (2\ :sup:`n`) | ant\_bits | Bitwidth of the number of antennas in the system. | +----------------------------------------+----------------+-----------------------------------------------------+ | Bitwidth of Samples in | bits\_in | Bitwidth of component of the input. | +----------------------------------------+----------------+-----------------------------------------------------+ | X integration length (2\ :sup:`n`) | x\_int\_bits | Bitwidth of X-engine accumulation length. | +----------------------------------------+----------------+-----------------------------------------------------+ | Sync Pulse Period (2\ :sup:`n`) | sync\_period | Bitwidth of number of valids between sync pulses. | +----------------------------------------+----------------+-----------------------------------------------------+ Ports ------ +--------------+-------+--------------------------+-------------------------------------------------------+ | Port | Dir | Data Type | Description | +==============+=======+==========================+=======================================================+ | tvg\_sel | in | ufix\_2\_0 | TVG selection. 0=off (passthrough), 1-3=TVG select. | +--------------+-------+--------------------------+-------------------------------------------------------+ | data\_in | in | inherited: bits\_in\*4 | Data in for passthrough. | +--------------+-------+--------------------------+-------------------------------------------------------+ | valid\_in | in | boolean | Valid in made available for passthrough. | +--------------+-------+--------------------------+-------------------------------------------------------+ | sync\_in | in | boolean | Sync in made available for passthrough. | +--------------+-------+--------------------------+-------------------------------------------------------+ | data\_out | out | inherited: bits\_in\*4 |  ??? | +--------------+-------+--------------------------+-------------------------------------------------------+ | sync\_out | out | boolean |  ??? | +--------------+-------+--------------------------+-------------------------------------------------------+ | valid\_out | out | boolean |  ??? | +--------------+-------+--------------------------+-------------------------------------------------------+ Description ------------ This block generates data in a format suitable for input to a CASPER X-engine. The ``tvg_sel`` line selects the TVG. If set to zero, it is configured for passthrough and all input signals are propagated to the output (TVG is off). Values one through three select a TVG pattern. In this case, sync pulses are generated internally and valid data is output all the time. The three patterns are as follows: #. Inserts a counter representing the antenna number. All real values count up from zero and imaginary values counting down from zero. ie., antenna four would have the value 4 − 4\ *i* inserted. #. Inserts the same constant for all antennas: Pol\ :sub:`1\ real` = 0.125, Pol\ :sub:`1\ imag` = − 0.75, Pol\ :sub:`2\ real` = 0.5 and Pol\ :sub:`2\ imag` = − 0.25 #. User selectable values for each antenna. Input registers named ``tv0`` through ``tv7`` are input cyclically. Each value is input for ``x_int_bits`` clocks.