Ander (ander_s)

Logical bitwise AND of two values.

Design

The mathematical representation of the implementation is given in (75).

(75)\[z[n] = x[n] \& y[n]\]

In (75):

  • \(x[n]\) and \(y[n]\) are the input values.

  • \(z[n]\) is the output values.

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

Block diagram outlining bitwise AND implementation.

Figure 124: Bitwise AND implementation.

Interface

<?xml version="1.0"?>
<componentspec>
  <port name="input_1" producer="false" protocol="short_timed_sample-prot"/>
  <port name="input_2" producer="false" protocol="short_timed_sample-prot"/>
  <port name="output" producer="true" protocol="short_timed_sample-prot"/>
</componentspec>

Ports

Inputs:

  • input_1: Input samples port.

    • Protocol: short_timed_sample-prot

    • Optional: False

  • input_2: Input samples port.

    • Protocol: short_timed_sample-prot

    • Optional: False

Outputs:

  • output: Primary output samples port.

    • Protocol: short_timed_sample-prot

    • Optional: False

Opcode Handling

The bitwise AND is only applied to data in sample opcode messages. All other opcode messages received on input_1 are passed through this component without any effect. All messages with a non-sample opcode received on input_2 are discarded.

Sample message lengths received on input_1 are persevered on the output. Sample message lengths received on input_2 are ignored.

Properties

None.

Implementations

Example Application

<?xml version="1.0"?>
<application done="file_write">
  <instance component="ocpi.core.file_read" connect="ander_s" to="input_1">
    <property name="filename" value="input_1.bin"/>
  </instance>
  <instance component="ocpi.core.file_read" connect="ander_s" to="input_2">
    <property name="filename" value="input_2.bin"/>
  </instance>
  <instance component="ocpi.comp.sdr.logic.ander_s" connect="file_write"/>
  <instance component="ocpi.core.file_write">
    <property name="filename" value="output.bin"/>
  </instance>
</application>

Dependencies

The dependencies to other elements in OpenCPI are:

  • None

There is also a dependency on:

  • ieee.std_logic_1164

  • ieee.numeric_std

Limitations

Limitations of ander_s are:

  • None.

Testing

Tested platforms: None

Component testing not completed.