Analog Channel

Construct loss model from channel loss metric or impulse response

  • Library:
  • SerDes Toolbox / Utilities

Description

The Analog Channel block constructs a loss model using a channel loss metric or an impulse response from another source in a SerDes Toolbox™ model. Analog model inputs are only used for IBIS file construction when using impulse response. For more information, see Analog Channel Loss in SerDes System.

Ports

Input

expand all

Input signal, specified as a waveform.

Data Types: double

Output

expand all

Modified output data that includes the effect of a lossy printed circuit board transmission line model according to the method outlined in [1].

Data Types: double

Parameters

expand all

Channel Model

Source of channel model.

  • Select Loss model to model the analog channel from a loss model.

  • Select Impulse response to model the analog channel from an impulse response.

Programmatic Use

  • Use get_param(gcb,'ChannelType') to view the current Channel model.

  • Use set_param(gcb,'ChannelType',value) to set a specific Channel model.

Frequency for the desired channel loss, specified as a positive real scalar in hertz. It corresponds to the Nyquist frequency of the system.

Dependencies

This parameter is only available when Loss model is selected as Channel model.

Programmatic Use

  • Use get_param(gcb,'TargetFrequency') to view the current value of Target frequency (Hz).

  • Use set_param(gcb,'TargetFrequency',value) to set Target frequency (Hz) to a specific value.

Data Types: double

Channel loss at the target frequency, specified as a scalar in dB.

Dependencies

This parameter is only available when Loss model is selected as Channel model.

Programmatic Use

  • Use get_param(gcb,'Loss') to view the current value of Loss (dB).

  • Use set_param(gcb,'Loss',value) to set Loss (dB) to a specific value.

Data Types: double

Characteristic impedance of the channel, specified as a positive real scalar in ohms. Impedance (Ohms) depends on the setting of Signaling in the Configuration tab in the SerDes Designer app or in the Configuration block.

  • If Signaling is set to Differential, the default value of Impedance (Ohms) is 100.

  • If Signaling is set to Single-ended, the default value of Impedance (Ohms) is 50.

Dependencies

This parameter is only available when Loss model is selected as Channel model.

Programmatic Use

  • Use get_param(gcb,'Zc') to view the current value of Impedance.

  • Use set_param(gcb,'Zc',value) to set Impedance to a specific value.

Data Types: double

User provided impulse response, specified as a unitless matrix. Impulse response is used to construct a channel loss model from the user-defined impulse response of the system.

You can use user specified impulse response to define your own crosstalk. If you decide to include crosstalk from your custom impulse response, you can specify upto six crosstalk stimuli as new columns in the impulse response.

Dependencies

This parameter is only available when Impulse response is selected as Channel model

Programmatic Use

  • Use get_param(gcb,'ImpulseResponse') to view the current value of Impulse response.

  • Use set_param(gcb,'ImpulseResponse',value) to set Impulse response to a specific value.

Data Types: double

Sample interval of the user provided impulse response, specified as a positive real scalar in seconds.

Data Types: double

Analog Model

Single-ended impedance of the transmitter analog model, specified as a nonnegative real scalar in ohms.

Programmatic Use

  • Use get_param(gcb,'TxR') to view the current value of Tx R (Ohms).

  • Use set_param(gcb,'TxR',value) to set Tx R (Ohms) to a specific value.

Data Types: double

Capacitance of the transmitter analog model, specified as a nonnegative real scalar in farads.

Programmatic Use

  • Use get_param(gcb,'TxC') to view the current value of Tx C (F).

  • Use set_param(gcb,'TxC',value) to set Tx C (F) to a specific value.

Data Types: double

Single-ended impedance of the receiver analog model, specified as a nonnegative real scalar in ohms.

Programmatic Use

  • Use get_param(gcb,'RxR') to view the current value of Rx R (Ohms).

  • Use set_param(gcb,'RxR',value) to set Rx R (Ohms) to a specific value.

Data Types: double

Capacitance of the receiver analog model, specified as a nonnegative real scalar in farads.

Programmatic Use

  • Use get_param(gcb,'RxC') to view the current value of Rx C (F).

  • Use set_param(gcb,'RxC',value) to set Rx C (F) to a specific value.

Data Types: double

20%−80% rise time of the stimulus input to transmitter analog model, specified as a positive real scalar in seconds.

Programmatic Use

  • Use get_param(gcb,'RiseTime') to view the current value of Rise time (s).

  • Use set_param(gcb,'RiseTime',value) to set Rise time (s) to a specific value.

Data Types: double

Peak-to-peak voltage at the input of transmitter analog model, specified as a positive real scalar in volts.

Programmatic Use

  • Use get_param(gcb,'VoltageSwingIdeal') to view the current value of Voltage (V).

  • Use set_param(gcb,'VoltageSwingIdeal',value) to set Voltage (V) to a specific value.

Data Types: double

Crosstalk

Select to include crosstalk in the simulation. By default, this option is deselected.

Magnitude

Specify the magnitude of the near and far end aggressors. You can choose to include maximum allowed crosstalk for specifications such as 100GBASE-CR4, CEI-25G-LR, CEI-28G-SR, CEI-28G-VSR, or you can specify your own custom crosstalk integrated crosstalk noise (ICN) level.

Programmatic Use

  • Use get_param(gcb,'CrosstalkSpecification') to view the current value of Specification.

  • Use set_param(gcb,'CrosstalkSpecification',value) to set Specification to a specific value.

Desired integrated crosstalk noise (ICN) level of the far end aggressor, specified as a nonnegative real scalar in volts. ICN specifies the strength of the crosstalk.

Dependencies

This parameter is only available when you choose Custom as crosstalk Specification.

Programmatic Use

  • Use get_param(gcb,'FEXTICN') to view the current value of Far end crosstalk ICN (V).

  • Use set_param(gcb,'FEXTICN',value) to set Far end crosstalk ICN (V) to a specific value.

Data Types: double

Desired integrated crosstalk noise (ICN) level of the near end aggressor, specified as a nonnegative real scalar in volts. ICN specifies the strength of the crosstalk.

Dependencies

This parameter is only available when you choose Custom as crosstalk Specification.

Programmatic Use

  • Use get_param(gcb,'NEXTICN') to view the current value of Near end crosstalk ICN (V).

  • Use set_param(gcb,'NEXTICN',value) to set Near end crosstalk ICN (V) to a specific value.

Data Types: double

FEXT Stimulus

Symbol time of the far end crosstalk (FEXT) stimulus, specified as a positive real scalar in seconds.

Programmatic Use

  • Use get_param(gcb,'UIFEXT') to view the current value of Symbol Time (s) in FEXT stimulus.

  • Use set_param(gcb,'UIFEXT',value) to set Symbol Time (s) in FEXT stimulus to a specific value.

Data Types: double

Delay offset of the far end crosstalk (FEXT) stimulus, specified as a positive real scalar in seconds.

Programmatic Use

  • Use get_param(gcb,'DelayFEXT') to view the current value of Delay (s) in FEXT stimulus.

  • Use set_param(gcb,'DelayFEXT',value) to set Delay (s) in FEXT stimulus to a specific value.

Data Types: double

Modulation levels of the far end crosstalk (FEXT) stimulus, specified between NRZ (2-level) and PAM4 (4-level).

Programmatic Use

  • Use get_param(gcb,'ModulationFEXT') to view the current value of Modulation in FEXT stimulus.

  • Use set_param(gcb,'ModulationFEXT',value) to set Modulation in FEXT stimulus to a specific value.

Pseudorandom binary sequence (PRBS) order of the far end crosstalk (FEXT) stimulus.

Programmatic Use

  • Use get_param(gcb,'OrderFEXT') to view the current value of PRBS Order in FEXT stimulus.

  • Use set_param(gcb,'OrderFEXT',value) to set PRBS Order in FEXT stimulus to a specific value.

Data Types: double

NEXT Stimulus

Symbol time of the near end crosstalk (NEXT) stimulus, specified as a positive real scalar in seconds.

Programmatic Use

  • Use get_param(gcb,'UINEXT') to view the current value of Symbol Time (s) in NEXT stimulus.

  • Use set_param(gcb,'UINEXT',value) to set Symbol Time (s) in NEXT stimulus to a specific value.

Data Types: double

Delay offset of the near end crosstalk (NEXT) stimulus, specified as a positive real scalar in seconds.

Programmatic Use

  • Use get_param(gcb,'DelayNEXT') to view the current value of Delay (s) in NEXT stimulus.

  • Use set_param(gcb,'DelaynEXT',value) to set Delay (s) in NEXT stimulus to a specific value.

Data Types: double

Modulation levels of the near end crosstalk (NEXT) stimulus, specified between NRZ (2-level) and PAM4 (4-level).

Programmatic Use

  • Use get_param(gcb,'ModulationNEXT') to view the current value of Modulation in NEXT stimulus.

  • Use set_param(gcb,'ModulationNEXT',value) to set Modulation in NEXT stimulus to a specific value.

Pseudorandom binary sequence (PRBS) order of the near end crosstalk (NEXT) stimulus.

Programmatic Use

  • Use get_param(gcb,'OrderFEXT') to view the current value of PRBS Order in FEXT stimulus.

  • Use set_param(gcb,'OrderFEXT',value) to set PRBS Order in FEXT stimulus to a specific value.

Data Types: double

More About

expand all

Algorithms

expand all

References

[1] IEEE 802.3bj-2014. "IEEE Standard for Ethernet Amendment 2: Physical Layer Specifications and Management Parameters for 100 Gb/s Operation Over Backplanes and Copper Cables." URL: https://standards.ieee.org/standard/802_3bj-2014.html.

[2] Stephen Hall and Howard Heck. Advanced Signal Integrity for High-Speed Digital Designs. Hoboken, NJ: Wiley Press, 2009.

Introduced in R2019a