Main Content

Stimulus

Set waveform generation method and number of symbols to simulate in SerDes model

Since R2019a

  • Stimulus block

Libraries:
SerDes Toolbox / Utilities

Description

The Stimulus defines how to create the waveform and the number of symbols to simulate in a SerDes Toolbox™ model. You can directly specify a PAMn symbol pattern or define a binary to PAMn mapping scheme.

Ports

Output

expand all

Output pattern with a specific PRBS pattern, specified as a vector.

Data Types: double

Parameters

expand all

Length of the stimulus pattern used for simulation, specified as a positive integer.

Programmatic Use

Block parameter: NumberOfSymbols
Type: character vector
Values: positive real integer
Default: 20000

Select to directly set the Recommended simulation stop time as the simulation stop time. By default, this option is selected.

Recommended simulation stop time defines the minimum time the simulation must run for meaningful results. It is calculated by multiplying the Sample Interval from the Configuration block with the Number of symbols.

Define how the stimulus waveform is created:

  • Random Symbols — Randomly generate symbols directly from a uniform distribution.

  • Serial PRBS — Define a binary sequence and map to a higher order modulation symbol. The mapping sequence depends on the modulation scheme defined in the Configuration block.

  • Symbol Pattern — Directly define the symbol pattern as an integer from 0 to (Number of modulation levels – 1).

  • Binary Pattern — Directly define the binary pattern and map to a higher order modulation symbol. The mapping sequence depends on the modulation scheme defined in the Configuration block.

  • Symbol Voltage Pattern — Directly define the voltages of a symbol spaced pattern.

  • Sampled Voltage — Directly define a sample interval spaced waveform.

  • Parallel PRBS — Utilize multiple PRBS streams to form PAM4, PAM8 , PAM16, and PAM32 symbols. You can define up to 5 PRBS streams for PAM32. NRZ modulation scheme uses a single PRBS stream. Other modulation schemes use the random symbols waveform creation method.

Programmatic Use

Block parameter: CreationMethod
Type: character vector
Values: Random Symbols | Serial PRBS | Symbol Pattern | Binary Pattern | Symbol Voltage Pattern | Sampled Voltage | Parallel PRBS
Default: Random Symbols

Seed for generating the random symbol waveform, specified as a positive real scalar.

Dependencies

  • To enable this parameter, set Waveform creation method parameter to Random Symbols.

Programmatic Use

Block parameter: soPAMnSeed
Type: character vector
Values: positive real scalar
Default: 1431655765

Order of the pseudorandom binary sequence while creating the stimulus waveform using serial PRBS or parallel PRBS method.

Dependencies

To enable this parameter, set Waveform creation method parameter to Serial PRBS or Parallel PRBS.

Programmatic Use

Block parameter: PRBS
Type: character vector
Values: 7 | 9 | 11 | 13 | 15 | 20 | 23 | 31 | 47
Default: 11

Seed for generating the pseudorandom binary sequence, specified as an integer in the range of [1, 2Order-1].

Dependencies

To enable this parameter, set Waveform creation method parameter to Serial PRBS or Parallel PRBS.

Programmatic Use

Block parameter: PRBSSeed
Type: character vector
Values: integer in the range [1, 2Order-1]
Default: 1

Reverse the PRBS in time (along x-axis) by reversing the tap positions of the characteristic polynomial.

Dependencies

To enable this parameter, set Waveform creation method parameter to Serial PRBS or Parallel PRBS.

Invert the PRBS in voltage (along y-axis) by converting 0s to 1s and 1s to 0s.

Dependencies

To enable this parameter, set Waveform creation method parameter to Serial PRBS or Parallel PRBS.

Vector of the symbol integers spaced at the symbol time interval. The elements of the vector must have values in the range [0, (Number of modulation levels-1)]

Dependencies

To enable this parameter, set Waveform creation method parameter to Symbol Pattern.

Programmatic Use

Block parameter: SymbolPattern
Type: character vector
Values: vector with element values in the range [0, (Number of modulation levels-1)]
Default: [0 0 1 0 0 1 1 0 1 0 1 1 1 1 0]

Vector of binary elements (1s and 0s) spaced at the symbol time interval.

Dependencies

To enable this parameter, set Waveform creation method parameter to Binary Pattern.

Programmatic Use

Block parameter: BinaryPattern
Type: character vector
Values: vector with binary elements
Default: [0 0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 1 0]

Vector of symbol voltages spaced at the symbol time interval.

Dependencies

To enable this parameter, set Waveform creation method parameter to Symbol Voltage Pattern.

Programmatic Use

Block parameter: SymbolVoltageDataPattern
Type: character vector
Values: vector with decimal values
Default: 1/2*[1 1 1 1 -1 -1 -1 -1]

Vector of voltages spaced at the sample interval.

Dependencies

To enable this parameter, set Waveform creation method parameter to Sampled Voltage.

Programmatic Use

Block parameter: CustomStimulus
Type: character vector
Values: real valued vector
Default: [zeros(1,(SymbolTime/SampleInterval)),ones(1,(SymbolTime/SampleInterval))]-0.5

Delay the stimulus waveform by modulo symbol time to slightly shift the eye diagram or recovered clock phase.

The modulo operation finds the remainder after division.

Programmatic Use

Block parameter: soDelay
Type: character vector
Values: nonnegative real scalar
Default: 0

Version History

Introduced in R2019a