Multi-Emitter Generation Command (MEG CMD) API Reference

Learn the MEG Command parameters the coprocessor uses to generate I/Q data.

Signal type specific parameters

These bits are reserved for signal type specific parameters. The expected values are decoded based on the signal type set in the Mux selector parameter.

Address range 511-0

Mux selector

Address range 519-512
Data type U8
Range [0, 3]

On modulation cores:

  • 0: CW
  • 1: LFM
  • 2: Reserved
  • 3: PSK

On waveform from memory cores:

  • 0: DRAM
  • 1,2,3: Reserved

Signal width

Corresponds to the active generation time of the signal (including rise and fall time):

Signal width = End cycleStart cycle

Note For modulation cores, the Signal width must include an additional 29 samples (11.6 ns) before the expected Start cycle to account for the entire duration.

Similarly, the Start cycle needs to include the 29 samples.

For example, for a start time of 10 µs and a duration of 4 µs, calculate the signal to start at 9.9884 µs with a duration of 4.0116 µs.

Address range 583-520
Data type U64
Units Cycles @ 156.25 MHz

Frequency shift

Normalized frequency value, relative to the center frequency.

Address range 631-584
Data type FXP Signed <48,0>
Range [-0.5, 0.5]

Gain

Address range 655-632
Data type FXP Signed <24,3>
Range [0, 1]
  • Direct multiplier with a value of 0 to 1.
  • 0 dBm is mapped to a value of 1.

Start cycle

Cycle number at which the signal is expected to start playing (relative to generation start).

Address range 719-656
Data type U64
Units Cycles @ 156.25 MHz
Note For modulation cores, the Start cycle must specify 29 samples (11.6 ns) before the expected start.

Similarly, the Signal width must include the additional 29 samples to account for entire duration.

For example, for a start time of 10 µs and a duration of 4 µs, calculate the signal to start at 9.9884 µs with a duration of 4.0116 µs.

End cycle

Cycle number at which the signal is expected to stop playing (relative to generation start).

Address range 783-720
Data type U64
Units Cycles @ 156.25 MHz

Phase offset

Normalized phase offset value, relative to another emitter of the same signal type.

Address range 804-784
Data type FXP Signed <21,0>
Range [-0.5, 0.5]

Rise parameters. Step

Applies delta in magnitude to every sample to create a rising edge ramp for the duration of the rise time.

For example, if the step is 0.1, the total ramp should be about 10 samples, where the values are multiplied by 0.1, 0.2, 0.3 (and so on) until it reaches 1.

Address range 828-805
Data type FXP Signed <24,1>
Range [0, 1]

Rise parameters. Start

Cycle count (relative to Start cycle parameter) at which the step starts taking effect.

Address range 892-829
Data type U64
Units Cycles @ 156.25 MHz

Rise parameters. Sample within cycle

The first sample for which the step takes effect within the samples per cycle boundary.

Address range 900-893
Data type U8
Units Samples
Range [0, 15]

Fall parameters. Step

Applies delta in magnitude to every sample to create a falling edge ramp for the duration of the fall time.

Address range 924-901
Data type FXP Signed <24,1>
Range [-1, 0]

Fall parameters. Start

Applies delta in magnitude to every sample to create a falling edge ramp. For example, if the step is -0.1, the total ramp should be about 10 samples, where the values are multiplied by 0.9, 0.8, 0.7 (and so on) until it reaches 0.

Address range 988-925
Data type U64
Units Cycles @ 156.25 MHz

Fall parameters. Sample within cycle

Cycle count (relative to Start cycle parameter) at which the step starts taking effect.

Address range 996-989
Data type U8
Units Samples
Range [0, 15]

Sample delay within cycle boundary

The first sample where the signal starts playing within the samples per cycle boundary (during Start cycle).

Address range 1004-997
Data type U8
Units Samples
Range [0, 15]

Core number

The signal core.

Address range 1009-1005
Data type FXP Unsigned <5,5>
Range [0, 7]
  • 0: Modulation core
  • 1: Modulation core
  • 2: Modulation core
  • 3: Modulation core
  • 4: Modulation core
  • 5: Modulation core
  • 6: Waveform Playback core
  • 7: Waveform Playback core

Reserved

Address range 1023-1010

CW Parameter Format

There are no continuous wave generation-specific parameters.

Reserved

Address range 511-0

LFM Parameters Format

Learn the parameters for commands the coprocessor uses to generate linear frequency modulation waveforms.

Given the formulas:

K 1 = 2 π [ f 1 T S ] - 2 π T S 2 2 T ( f 2 - f 1 ) 2

K 2 = 2 π T S 2 2 T f 2 - f 1 2

Where:

  • Ts is the sample period in seconds. Will be fixed at 800 ps. The generation of the LFM pulse is done within a 1 GHz bandwidth and later upsampled to fit the output sample rate.
  • T is the signal width in seconds
  • f1 is the start frequency in Hz
  • f2 is the stop frequency in Hz

The phase for the LFM computation follows the formula:

Φ ( n + 1 ) Φ ( n ) = K 1 + K 2 ( n + 1 )
Note For this calculation the units of K1 and K2 are in radians. However, before packing them into the parameter, they both must be divided over π, the unit the FPGA expects.

K1

Address range 31-0
Data type FXP Signed <32, 1>
Range π * radians

K2

Address range 63-32
Data type FXP Signed <32, 1>
Range π * radians

PSK Parameters Format

Learn the parameters for commands the coprocessor uses to generate phase-shift keying modulation.

M bit width

Address range 7-0
Data type U8
Range Supported values: 1, 2, 3
  • 1: Used for 2PSK
  • 2: Used for 4PSK
  • 3: Used for 8PSK

Reserved

Address range 250-8

Bit generator selector

Address range 251
Data type Boolean
  • 0: Uses a Barker code sequence selected by the Barker LUT Index parameter. Only supported for 2PSK.
  • 1: Uses a PRBS sequence. Use for 4PSK or 8PSK.

Barker LUT Index

Address range 259-252
Data type U8
Range [0,7]
  • 0: None. Use for 4PSK or 8PSK.
  • 1: 2 bit Barker (b’10). Only supported for 2PSK.
  • 2: 3 bit Barker (b’110). Only supported for 2PSK.
  • 3: 4 bit Barker (b’1101). Only supported for 2PSK.
  • 4: 5 bit Barker (b’11101). Only supported for 2PSK.
  • 5: 7 bit Barker (b’1110010). Only supported for 2PSK.
  • 6: 11 bit Barker (b’11100010010). Only supported for 2PSK.
  • 7: 13 bit Barker (b’1111100110101). Only supported for 2PSK.

Symbol rate scale

The maximum symbol rate supported for any PSK variant is 156.25 MSymbols/s. The minimum is 15.625 MSymbols/s.

This value applies a symbol rate scale factor of the maximum supported symbol rate to establish the symbol rate of the generated signal.

For example, if the value is 0.2, the effective symbol rate is 31.25 MSymbols/s.

Address range 307-260
Data type FXP Unsigned <48,1>
Range [0.1,1]
Note The start of the signal must account for the generation time of five symbols. If the symbol rate is 20 MSymbols/s, then five symbols is 250 ns. Similarly, signal width must also account for the same amount.

For example, for a start time of 10 µs, a duration of 4 µs, and a symbol rate of 20 MSymbols/s, calculations must account for the 250 ns symbol rate. The signal starts at 9.7384 µs and the duration is 4.2616 µs.

Waveform Playback Parameters Format

Learn the parameters for commands the coprocessor uses to generate user waveforms that have deployed into memory.

Start address

Initial address (in DRAM) at which the expected waveform starts.

Address range 31-0
Data type U32

Read requests

Each Read request reads all the data within a single address from DRAM. Each DRAM address read returns a total of 40 samples. Ensure that the expected samples is less than the Read request value multiplied by 40.

For example, if a waveform starts at address 4 and requires 112 samples, the Read request requires 3 address reads in DRAM to return 120 samples and cover the entire width. Therefore, the start address is 4 and the read requests is 3.

All waveforms stored in DRAM must be sampled at the same rate as the output rate of the device. For example, if the bandwidth is 2 GHz, the expected sampling rate of the waveform is 2.5 GS/s.

Address range 63-32
Data type U32