data_src_qadc HDL Device Worker

HDL device worker implementation providing common functionality to all ADC device types.

Detail

The data source QADC HDL device worker receives sampled data from an ADC on its dev devsignal port. The worker sign-extends and justifies the samples to 16-bit I, 16-bit Q values, which is the standard provided by the samples argument of the ComplexShortWithMetadata-prot protocol used by the out port. The HDL device worker performs justification within the 16-bit values according to the value of the ADC_INPUT_IS_LSB_OF_OUT_PORT parameter property.

The ADC samples are sent along with the ADC clock on the dev devsignal port. The ouput port clock is driven by the ADC clock, and backpressure from the output port’s ready signal is not expected under normal operation. When backpressure is experienced, the overrun_sticky_error property is set to true; in this case, an out port samples message will be ended if one is in progress, and a sync message will be sent to the output port.

The samp_count_before_irst_samp_drop property gives the number of samples before the first dropped sample and the num_dropped_samps property gives the number of samples dropped. Be sure to check these two properties at the end of an application run because they are not stable until then. The worker does not use clock domain crossing (cdc) HDL primitive library circuits for these properties because it takes advantage of the fact that they will have a stable value by the time the OpenCPI control plane reads them at the end of an application run.

When set to true, the suppress_sync_opcode property prevents the HDL device worker from sending sync opcodes.

Worker Properties

  • DATA_PIPE_LATENCY_CYCLES

    • Type: ulong

    • Access:

      • Parameter: True

      • Writable: False

      • Initial: False

      • Volatile: False

      • Read back: False

    • Default value: 0

  • OUT_PORT_DATA_WIDTH

    • Type: ulong

    • Access:

      • Parameter: True

      • Writable: False

      • Initial: False

      • Volatile: False

      • Read back: False

    • Default value: 32

Worker Ports

    Outputs:

  • out: Sign-extended justified 16-bit IQ samples.

    • Type: streaminterface

    • Data width: OUT_PORT_DATA_WIDTH

    • Protocol: ComplexShortWithMetadata-prot

    • Optional: False

  • Interfaces:

  • dev

    • Type: devsignal

    • Master: true

    • Count: 1

    • Optional: false

    • Signals:

      • clk

      • data_i

      • data_q

      • valid

      • present

Utilization

Utilization reporting is not currently implemented.