Add enable port to subsystem or model
Simulink / Ports & Subsystems
HDL Coder / Ports & Subsystems
The Enable block allows an external signal to control execution of a subsystem or a model. To enable this functionality, add the block to a Subsystem block or at the root level of a model that is referenced in a Model block.
If you use an enable port at the root-level of a model:
For multi-rate models, set the solver to single-tasking.
For models with a fixed-step size, at least one block in the model must run at the specified fixed-step size rate.
Enable signal
— External enable signal for a subsystem or modelEnable signal attached externally to the outside of an Enable Subsystem block and passed to the inside of the subsystem. An enable signal port is added to an Enable block when you select the Show output port parameter.
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| expression
States when enabling
— Select block states when subsystem or model is disabledheld
(default) | reset
When a Subsystem block or Model block is disabled, select what happens to block states for the blocks within the subsystem or model.
held
Hold block states at their previous values.
reset
Reset block states to their initial conditions (zero if not defined).
Block parameter:
StatesWhenEnabling |
Type: character vector |
Values:
'held' | 'reset' |
Default:
'held' |
Propagate sizes of variable-size signals
— Select when to propagate a variable-size signalOnly when enabling
(default) | During execution
Select when to propagate a variable-size signal.
Only when enabling
Propagate a variable-size signal when reenabling a Subsystem block or Model block containing an Enable port block. When you select this option, sample time must be periodic.
During execution
Propagate variable-size signals at each time step.
Block parameter:
PropagateVarSize |
Type: character vector |
Values:
'Only when enabling' | 'During
execution' |
Default:
'Only when enabling' |
Show output port
— Control display of output port for enable signalThe output port passes the enable signal attached externally to the outside of an Enable Subsystem block or enabled Model block to the inside.
Remove the output port on the Enable port block.
Display an output port on the Enable port block. Selecting this option allows the subsystem or model to process the enable signal.
Block parameter:
ShowOutputPort |
Type: character vector |
Values:
'off' | 'on' |
Default:
'off' |
Enable zero-crossing detection
— Control zero-crossing detectionControl zero-crossing detection for a model.
Detect zero crossings.
Do not detect zero crossings.
Block parameter:
ZeroCross |
Type: character vector |
Values:
'on' | 'off' |
Default:
'on' |
Port dimensions
— Specify dimensions for the enable signal1
(default) | [n]
| [m n]
Specify dimensions for the enable signal attached externally to a Model block and passed to the inside of the block.
1
Scalar signal.
[n]
Vector signal of width n
.
[m n]
Matrix signal having m
rows and
n
columns.
Block parameter:
PortDimensions |
Type: character vector |
Values:
'1' | '[n]' | '[m
n]' |
Default:
'1' |
Sample time
— Specify time interval-1
(default) | Ts
| [Ts, To]
Specify time interval between block method execution. See Specify Sample Time.
-1
Sample time inherited from the model.
Ts
Scalar where Ts is the time interval.
[Ts, To]
Vector where Ts is the time interval and To is the initial time offset.
Block parameter:
SampleTime |
Type: character vector |
Values:
'-1' | 'Ts' | '[Ts,
To]' |
Default:
'-1' |
Minimum
— Specify minimum output value for the enable signal[]
(default) | real scalarSpecify minimum value for the enable signal attached externally to a Model block and passed to the inside of the block.
Simulink® uses this value to perform:
Simulation range checking. See Specify Signal Ranges.
Automatic scaling of fixed-point data types.
Optimization of generated code. This optimization can remove algorithmic code and affect the results of some simulation modes such as SIL or external mode. See Optimize using the specified minimum and maximum values (Embedded Coder).
[]
Unspecified minimum value.
Real double scalar value.
Block parameter:
OutMin |
Type: character vector |
Values:
'[]' | '<real
scalar>' |
Default:
'[]' |
Maximum
— Specify maximum output value for the enable signal[]
(default) | real scalarSpecify maximum value for the enable signal attached externally to a Model block and passed to the inside of the block.
Simulink uses this value to perform:
Simulation range checking. See Specify Signal Ranges.
Automatic scaling of fixed-point data types.
Optimization of generated code. This optimization can remove algorithmic code and affect the results of some simulation modes such as SIL or external mode. See Optimize using the specified minimum and maximum values (Embedded Coder).
[]
Unspecified maximum value.
Real double scalar value.
Block parameter:
OutMax |
Type: character vector |
Values:
'[]' | '<real
scalar>' |
Default:
'[]' |
Data type
— Specify output data type for the enable signaldouble
(default) | single
| int8
| uint8
| int16
| uint16
| int32
| uint32
| int64
| uint64
| boolean
| fixdt(1,16)
| fixdt(1,16,0)
| fixdt(1,16,2^,0)
| <data type expression>
Specify data type for the enable signal attached externally to a Model block and passed to the inside of the block.
double
Double-precision floating point.
single
Single-precision floating point.
int8
Signed 8-bit integer.
uint8
Unsigned 8-bit integer.
int16
Signed 16-bit integer.
uint16
Unsigned 16-bit integer.
int32
Signed 32-bit integer.
uint32
Unsigned 32-bit integer.
int64
Signed 64-bit integer.
uint64
Unsigned 64-bit integer.
boolean
Boolean with a value of true
or
false
.
fixdt(1,16)
Signed 16-bit fixed point number with binary point undefined.
fixdt(1,16,0)
Signed 16-bit fixed point number with binary point set to zero.
fixdt(1,16,2^,0)
Signed 16-bit fixed point number with slope set to
2^0
and bias set to
0
.
<data type expression>
Data type object, for example
Simulink.NumericType
. You cannot enter
the name of a Simulink.Bus
object as a data type expression.
Block parameter:
OutDataTypeStr |
Type: character vector |
Values:
'double' | 'single' |
'int8' | 'uint8' |
'int16' | 'uint16' |
'int32' | 'uint32' |
'int64' | 'uint64' |
'boolean' |
'<fixdt(1,16)' |
'fixdt(1,16,0)' |
'fixdt(1,16,2^0,0)' | '<data type
expression>' |
Default:
'double' |
Mode
— Select data type categoryBuild in
(default) | Fixed point
| Expression
Select data type category and display drop-down lists to help you define the data type.
Build in
Display drop-down lists for data type and Data type override.
Fixed point
Display drop-down lists for Signedness, Scaling, and Data type override.
Expression
Display text box for entering an expression.
To enable this parameter, select the Show data type assistant button.
No equivalent command-line parameter.
Interpolate data
— Specify value of missing workspace dataSpecify value of missing workspace data when loading data from the workspace.
Linearly Interpolate output at time steps for which no corresponding workspace data exists.
Do not interpolate output at time steps. The current output equals the output at the most recent time step for which data exists.
Block parameter:
Interpolate |
Type: character vector |
Values:
'on' | 'off' |
Default:
'on' |
Use MATLAB System blocks to illustrate the law of large numbers.
Data Types |
|
Direct Feedthrough |
|
Multidimensional Signals |
|
Variable-Size Signals |
|
Zero-Crossing Detection |
|
HDL Coder™ provides additional configuration options that affect HDL implementation and synthesized logic.
This block has a single, default HDL architecture.
ConstrainedOutputPipeline | Number of registers to place at
the outputs by moving existing delays within your design. Distributed
pipelining does not redistribute these registers. The default is
|
InputPipeline | Number of input pipeline stages
to insert in the generated code. Distributed pipelining and constrained
output pipelining can move these registers. The default is
|
OutputPipeline | Number of output pipeline stages
to insert in the generated code. Distributed pipelining and constrained
output pipelining can move these registers. The default is
|