Symbol Mapper (symbol_mapper_b_s)

Maps a binary symbol to an integer value.

Design

The symbol mapper component takes a binary input value and selects one of two configurable symbol values based on whether the input is a true or false.

A block diagram representation of the implementation is given in Figure 326:.

Block diagram outlining symbol mapper implementation.

Figure 326: Symbol mapper implementation.

Interface

<?xml version="1.0"?>
<componentspec>
  <property name="mark_symbol" type="short" writable="true" default="1" description="Output value when input is true."/>
  <property name="space_symbol" type="short" writable="true" default="-1" description="Output value when input is false."/>
  <port name="input" producer="false" protocol="bool_timed_sample-prot"/>
  <port name="output" producer="true" protocol="short_timed_sample-prot"/>
</componentspec>

Ports

Inputs:

  • input: Primary input samples port.

    • Protocol: bool_timed_sample-prot

    • Optional: False

Outputs:

  • output: Primary output samples port.

    • Protocol: short_timed_sample-prot

    • Optional: False

Opcode Handling

The symbol mapper function is applied on data with sample opcodes only.

As the output data type is larger than the input data type, messages may be split to ensure no output messages are longer than the maximum supported message length of the protocol.

All other opcodes pass through this component without any effect.

Properties

  • mark_symbol: Output value when input is true.

    • Type: short

    • Access:

      • Parameter: False

      • Writable: True

      • Initial: False

      • Volatile: False

    • Default value: 1

  • space_symbol: Output value when input is false.

    • Type: short

    • Access:

      • Parameter: False

      • Writable: True

      • Initial: False

      • Volatile: False

    • Default value: -1

Implementations

Example Application

<?xml version="1.0"?>
<application done="file_write">
  <instance component="ocpi.core.file_read" connect="symbol_mapper_b_s">
    <property name="filename" value="input.bin"/>
  </instance>
  <instance component="ocpi.comp.sdr.communication.symbol_mapper_b_s" connect="file_write">
    <property name="mark_symbol" value="32767"/>
    <property name="space_symbol" value="-32767"/>
  </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

  • ieee.numeric_std

Limitations

Limitations of symbol_mapper_b_s are:

  • None.

Testing

Tested platforms: None

Component testing not completed.