triggered_sampler_xc HDL Worker

The Triggered Sampler primitive implements the functionality for all HDL workers. The workers provide only a very thin data type conversion layer. Because there is no sample data processing, this single primitive can be used for all protocol variants.

The HDL worker input and output ports have data widths matching the underlying protocol to provide throughput up to 1 sample per cycle.

Detail

Worker Properties

  • ocpi_buffer_size_output

    • Type: ushort

    • Access:

      • Parameter: False

      • Writable: False

      • Initial: True

      • Volatile: False

      • Read back: False

    • Default value: 0

  • ocpi_blocked_output

    • Type: ulong

    • Access:

      • Parameter: False

      • Writable: False

      • Initial: False

      • Volatile: True

      • Read back: False

    • Default value: None

  • ocpi_max_latency_output

    • Type: ushort

    • Access:

      • Parameter: True

      • Writable: False

      • Initial: False

      • Volatile: False

      • Read back: False

    • Default value: None

  • ocpi_latency_output

    • Type: ushort

    • Access:

      • Parameter: False

      • Writable: False

      • Initial: False

      • Volatile: True

      • Read back: False

    • Default value: None

  • ocpi_messages_output

    • Type: ulong

    • Access:

      • Parameter: False

      • Writable: False

      • Initial: False

      • Volatile: True

      • Read back: False

    • Default value: None

  • ocpi_bytes_output

    • Type: ulong

    • Access:

      • Parameter: False

      • Writable: False

      • Initial: False

      • Volatile: True

      • Read back: False

    • Default value: None

Worker Ports

    Inputs:

  • input

    • Protocol: complex_char_timed_sample

    • Optional: False

  • trigger

    • Protocol: None

    • Optional: True

  • Outputs:

  • output

    • Protocol: complex_char_timed_sample

    • Optional: False

Data Flow

The input .take signal is driven from output .ready, regardless of whether the messages on input are being forwarded (in a capture) or discarded (outside a capture). So, even outside a capture, the input is drained no quicker than output “could” accept the data.

Captures are triggered on the detection of a SOM at the trigger port.

The trigger port is drained at the same rate as the input port (i.e. the trigger .take signal is asserted at the same time as the input .take signal).

Utilisation

Utilization reporting is not currently implemented.