Main Content

Unit Delay Enabled Synchronous

Delay input signal by one sample period when external Enable signal is true

  • Library:
  • HDL Coder / Discrete

  • Unit Delay Enabled Synchronous block

Description

The Unit Delay Enabled Synchronous block delays the input signal u by one sample period when the external Enable signal is true. When the Enable signal is false, the state and output signal hold the previous value. The Enable signal is true when E is not zero and false when E is zero.

The Unit Delay Enabled Synchronous block implementation consists of a Synchronous Subsystem that contains an Enabled Delay block with a Delay length of one and a State Control block in Synchronous mode. When you use this block in your model and have HDL Coder™ installed, your model generates cleaner HDL code and uses fewer hardware resources due to the Synchronous behavior of the State Control block.

Limitations

  • The block does not support vector inputs on the Enable port.

  • You cannot use the block inside Enabled Subsystem, Triggered Subsystem, or Resettable Subsystem blocks that use Classic semantics. The Subsystem must use Synchronous semantics.

Ports

Input

expand all

The Unit Delay Enabled Synchronous block accepts the input signal of the data types listed below. For more information, see Data Types Supported by Simulink.

Data Types: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus

Input

expand all

The Unit Delay Enabled Synchronous block accepts the Enable signal of the data types listed below. For more information, see Data Types Supported by Simulink.

Data Types: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point

Output

expand all

Output data type matches input.

Data Types: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus

Parameters

expand all

The Initial condition can take a scalar input or use the same data type as the input signal. You cannot run the simulation with NaN or Inf as the Initial condition.

Programmatic Use

Block parameter: InitialCondition
Type: character vector
Value: '0' | '[n]' | '[m n]'
Default: '0'

The Sample time must be a real double scalar that specifies the period or a real double vector of length two that specifies the period and offset. The period and offset must be finite and non-negative with offset less than the period.

Programmatic Use

Block parameter: SampleTime
Type: character vector
Value: '-1' | '[n]' | '[m n]'
Default: '-1'

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Introduced in R2017b