Model
Reference another model to create model hierarchy
Libraries:
Simulink /
Ports & Subsystems
HDL Coder /
Ports & Subsystems
Description
The Model block references the specified model. It displays input and output ports that correspond to the top-level input and output ports of the referenced model. These ports allow you to connect the referenced model to other blocks in the parent model.
To determine whether the Model block is better suited for your goal than another block with similar functionality, see Explore Types of Model Components and Compare Capabilities of Model Components.
For instructions on how to reference a model with a Model block, see Reference Existing Models.
By default, the Model block displays a representation of the contents of the referenced model. For more information, see Preview Content of Model Components. To see the contents of a referenced model, double-click the Model block.
If you have a Simulink® Coder™ license, you can conceal the implementation details of a referenced model by protecting the model. To protect a model, see Protect Models to Conceal Contents (Simulink Coder). To reference a protected model, see Reference Protected Models from Third Parties.
Examples
Reference Another Model
You can include one model in another by using a Model block. Each Model block is a model reference, or a reference to another model. You can reference a model multiple times without making redundant copies, and multiple models can reference the same model.
Open the example, which contains a model named sldemo_mdlref_counter
.
Before you reference a model, such as sldemo_mdlref_counter
, consider its configuration, interface, and contents.
sldemo_mdlref_counter
uses a fixed-step discrete solver and contains three Inport blocks and one Outport block.
The Inport block named
upper
provides the upper limit for the counter.The Inport block named
input
provides the value that the counter increments at each time step.The Inport block named
lower
provides the lower limit, or starting value, for the counter.The Outport block named
output
provides the current count.
Each Inport block represents a model input, and each Outport block represents a model output.
In a new model, add a Model block.
In the Property Inspector, set Model name to sldemo_mdlref_counter
.
To better display the information on the block icon, drag a corner of the Model block until no information overlaps.
The Model block icon displays:
The name of the referenced model:
sldemo_mdlref_counter
Input ports named
upper
,input
, andlower
An output port named
output
Configure the top model for fixed-step discrete simulation.
On the Modeling tab, click Model Settings.
In the Configuration Parameters dialog box, in the Solver pane, set Type to
Fixed-step
and Solver todiscrete (no continuous states)
.
Connect inputs and outputs to the Model block that match the expected inputs and outputs of the referenced model.
To represent the upper limit of the counter, add a Constant block with Constant value set to
100
. Then, connect it to the upper port.To represent the counter increment, add a Constant block with Constant value set to
1
. Then, connect it to the input port.To represent the lower limit of the counter, add a Constant block with Constant value set to
0
. Then, connect it to the lower port.To display the counter output in a plot, add a Scope block. Then, connect it to the output port.
In the toolstrip, click Run.
The top model simulates and executes the referenced model. The Scope window shows the output count for the simulation.
Extended Examples
Ports
Input
Port_1 — Input that corresponds to root-level blocks of referenced
model
scalar | vector | matrix | array | bus
The Model block has an input port for each input port of the model it references. The input ports of referenced models are defined by Inport and In Bus Element blocks. The name of the Model block port matches the name of the corresponding port in the referenced model. The input signal, message, or function call for each Model block port must be valid for the corresponding port in the referenced model. For more information, see Define Model Reference Interfaces.
Tips
Signal attributes in a referenced model are independent from the context of the Model block. For example, signal dimensions and data types do not propagate across the Model block boundary. To define signal attributes in a referenced model, define block parameters for root-level Inport and In Bus Element blocks.
Function calls connected to an input port pass into the referenced model. To conditionally execute the referenced model based on a function call, see Function Call.
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
| image
Complex Number Support: Yes
Output
Port_1 — Output that corresponds to root-level blocks of referenced
model
scalar | vector | matrix | array | bus
The Model block has an output port for each output port of the model it references. The output ports of referenced models are defined by Outport and Out Bus Element blocks. The name of the port on the Model block matches the name of the corresponding port in the referenced model. The output signals and messages of a Model block are the signals and messages connected to the Outport and Out Bus Element blocks in the referenced model. See Define Model Reference Interfaces.
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
| image
Complex Number Support: Yes
Control
Enable — Control signal that enables referenced model
scalar | vector | matrix
The enable port appears at the top of the Model block. The port label is an icon that represents an enable signal.
The control signal that connects to the port determines when to execute the referenced model. For more information, see Conditionally Execute Referenced Models.
Dependencies
To enable this port, add an Enable block to the top level of the referenced model.
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
Trigger — Control signal that triggers referenced model
scalar | vector | matrix
The trigger port appears at the top of the Model block. The port label is an icon that represents a trigger signal.
The control signal that connects to the port determines when to execute the referenced model. For more information, see Conditionally Execute Referenced Models.
Dependencies
To enable this port, add a Trigger block to the
top level of the referenced model and set its Trigger
type to rising
,
falling
, or
either
.
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
Function Call — Control signal for function-call event
scalar
The function-call port appears at the top of the Model block. The port label displays the name of the referenced model as a function.
The function-call control signal that connects to the port determines when to execute the referenced model. For more information, see Conditionally Execute Referenced Models.
Dependencies
To enable this port, add a Trigger block to the
top level of the referenced model and set its Trigger
type to
function-call
.
initialize — Control signal for model initialize event
scalar
The initialize event port provides a function-call control signal that triggers a model initialize event, which initializes the states of the referenced model.
The referenced model can contain an Initialize Function block that corresponds to the model initialize event. For more information, see Using Initialize, Reinitialize, Reset, and Terminate Functions.
Dependencies
To enable this port, select Show model initialize port.
reset — Control signal for model reset event
scalar
A reset event port provides a function-call control signal that triggers a model reset event, which resets the states of the referenced model.
The referenced model must contain a Reset Function block that corresponds to each model reset event. For more information, see Using Initialize, Reinitialize, Reset, and Terminate Functions.
To specify the port name, use the Event name parameter of the Event Listener block in the Reset Function block.
Dependencies
To enable this type of port, select Show model reset ports.
reinit — Control signal for model reinitialize event
scalar
A reinitialize event port provides a function-call control signal that triggers a model reinitialize event, which reinitializes the states of the referenced model.
The referenced model must contain a Reinitialize Function block that corresponds to each model reinitialize event. For more information, see Using Initialize, Reinitialize, Reset, and Terminate Functions.
To specify the port name, use the Event name parameter of the Event Listener block in the Reinitialize Function block.
Dependencies
To enable this type of port, select Show model reinitialize ports.
terminate — Control signal for model terminate event
scalar
The terminate event port provides a function-call control signal that triggers a model terminate event, which reads and saves the states of the referenced model.
The referenced model can contain a Terminate Function block that corresponds to the model terminate event. For more information, see Using Initialize, Reinitialize, Reset, and Terminate Functions.
Dependencies
To enable this port, select Show model terminate port.
D — Control signal for scheduling periodic events
scalar
Periodic event ports provide function-call control signals that specify when to execute the model. For an example, see Test Rate-Based Model Simulation Using Function-Call Generators.
Each port label displays information about the periodic event, such as the sample time of the corresponding Inport block. For example, the Model block in this image displays periodic event ports and references a model with two discrete rates: 0.01 and 0.1.
Dependencies
To enable this type of port, set Schedule rates with to
Ports
.
Parameters
To interactively modify Model block parameters, select the Model block. Then, in the Simulink Toolstrip, on the Model Block tab, click Block Parameters.
Main
Specify fundamental information for the Model block.
Model name — File name of referenced model
no default
Specify the file name of the referenced model. The file name must be a valid MATLAB® identifier for a model, as defined in Choose Valid Model File Names. The file extension is optional.
To select the model that you want to reference, click Browse. To view the specified model, click Open Model.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
Parameter: | ModelNameDialog |
Values: | '' (default) | filename in quotes |
Data Types: | char | string |
Example: set_param(gcb,'ModelNameDialog','mymodel.slx')
To get the block parameter value
programmatically, use the get_param
function.
You can query the name of the referenced model in different formats:
ModelFile
— Model name with file extension. When you do not specify a file extension, the first match that the software finds on the MATLAB path determines the file extension.ModelNameDialog
— Model name with or without file extension, depending on whether you specify a file extension.ModelName
— Model name without file extension. If you specify a model name with a file extension forModelName
, the software retains the file extension by settingModelNameDialog
andModelFile
.
Simulation mode — Simulation mode for model reference
Normal
(default) | Accelerator
| Software-in-the-loop (SIL)
| Processor-in-the-loop (PIL)
Specify the simulation mode for the Model block. The simulation mode for the Model block can be different than the simulation mode of its referenced model and of other models in the model hierarchy.
Normal
— Execute the referenced model interpretively, as if the referenced model is an atomic subsystem implemented directly within the parent model.Accelerator
— Create a MEX file for the referenced model. Then, execute the referenced model by running the S-function.Software-in-the-loop (SIL)
— This option requires an Embedded Coder® license. Generate production code based on the Code interface parameter setting. The code is compiled for and executed on the host platform.Processor-in-the-loop (PIL)
— This option requires an Embedded Coder license. Generate production code based on the Code Interface parameter setting. This code is compiled for and executed on the target platform. A target connectivity API implementation supports the exchange of data between the host and target at each time step during the PIL simulation.
The corners of the Model block indicate the simulation
mode of the Model block. For normal mode, the corners
have empty triangles. For accelerator mode, the corner triangles are
filled in. For SIL and PIL modes, the corners are filled in and the word
(SIL)
or (PIL)
appears on the
block icon.
Although you can specify any simulation mode for a model, when you reference that model, the Model block specifies the simulation mode of the referenced model instance. The simulation mode of a parent model can override the simulation mode of a Model block.
For more information, see Choose Simulation Modes for Model Hierarchies.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
Parameter: | SimulationMode |
Values: | 'Normal' (default) | 'Accelerator' | 'Software-in-the-loop' | 'Processor-in-the-loop' |
Example: set_param(gcb,'SimulationMode','Accelerator')
Code interface — Option to generate code from top model or referenced model
Model reference
(default) | Top model
Specify whether to generate the code from the top model or the
referenced model for SIL and PIL simulation modes. To deploy the
generated code as part of a larger application that uses the referenced
model, specify Model reference
. To deploy the
generated code as a standalone application, specify Top
model
.
Model reference
— The code is generated from the referenced model as part of a model hierarchy. Code generation uses theslbuild('
command.model
', 'ModelReferenceCoderTarget')Top model
— The code is generated from the top model with the standalone code interface. Code generation uses theslbuild('
command.model
')
Dependencies
To enable this parameter, set Simulation
mode to either Software-in-the-loop (SIL)
or Processor-in-the-loop (PIL)
.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
Parameter: | CodeInterface |
Values: | 'Model reference' (default) | 'Top model' |
Example: set_param(gcb,'CodeInterface','Top
model')
Model Events Simulation
Control when the referenced model executes and changes states.
Show model initialize port — Option to display initialize event port
off
(default) | on
Select this parameter to display the initialize event port. Clear this parameter to remove the port.
Dependencies
To enable this parameter, reference a model that is not configured for conditional execution.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
Parameter: | ShowModelInitializePort |
Values: | 'off' (default) | 'on' |
Example: set_param(gcb,'ShowModelInitializePort','on')
Show model reinitialize ports — Option to display reinitialize event ports
off
(default) | on
Select this parameter to display the reinitialize event ports. Clear this parameter to remove the ports.
Dependencies
To enable this parameter, reference a model that is not configured for conditional execution and contains a Reinitialize Function block.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
Parameter: | ShowModelReinitializePorts |
Values: | 'off' (default) | 'on' |
Example: set_param(gcb,'ShowModelReinitializePorts','on')
Show model reset ports — Option to display reset event ports
off
(default) | on
Select this parameter to display the reset event ports. Clear this parameter to remove the ports.
Dependencies
To enable this parameter, reference a model that is not configured for conditional execution and contains a Reset Function block.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
Parameter: | ShowModelResetPorts |
Values: | 'off' (default) | 'on' |
Example: set_param(gcb,'ShowModelResetPorts','on')
Show model terminate port — Option to display terminate event port
off
(default) | on
Select this parameter to display the terminate event port. Clear this parameter to remove the port.
Dependencies
To enable this parameter, reference a model that is not configured for conditional execution. Then, select Show model initialize port.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
Parameter: | ShowModelTerminatePort |
Values: | 'off' (default) | 'on' |
Example: set_param(gcb,'ShowModelTerminatePort','on')
Schedule rates — Option to schedule periodic events
off
(default) | on
Control the execution of the referenced model with periodic events.
Depending on the value of the Schedule rates with parameter, selecting this
parameter will either display the periodic event ports on the
Model block or create partitions to use with the
Schedule Editor. When the Schedule rates
with parameter is not visible, its default value
(Ports
) applies.
Clearing this parameter hides the periodic event ports and does not create partitions.
Dependencies
To enable this parameter, reference a model with discrete sample times that is not configured for conditional execution and is not an export-function model. When the parent model is rate based and the referenced model is an export-function model, Schedule rates is automatically selected.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
Parameter: | ScheduleRates |
Values: | 'off' (default) | 'on' |
Example: set_param(gcb,'ScheduleRates','on')
Schedule rates with — Option to create partitions or periodic event ports
Ports
(default) | Schedule Editor
Create ports or partitions.
Ports
— Display periodic event ports for discrete rates in the referenced model.To manually specify port rates, use the
set_param
function to set theAutoFillPortDiscreteRates
parameter of the Model block to'off'
. Then, specify the port rates with thePortDiscreteRates
parameter.Schedule Editor
— Create partitions for the referenced model to use with the Schedule Editor.
Dependencies
To enable this parameter:
The parent model must not be an export-function model.
The parent model must not use a fixed-step solver and single-tasking mode.
Select Schedule rates. When the parent model is rate based and the referenced model is an export-function model, Schedule rates is automatically selected.
Clear Show model initialize port, Show model reset ports, and Show model reinitialize ports.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
Parameter: | ScheduleRatesWith |
Values: | 'Ports' (default) | 'ScheduleEditor' |
Example: set_param(gcb,'ScheduleRatesWith','ScheduleEditor')
Instance Parameters
Specify instance-specific values for model arguments.
Instance parameters — Display instance parameters and specify values for referenced
model
number | workspace variable | mathematical expression | structure or structure field
Display instance parameters and specify instance-specific values. Instance parameters are block parameters that have been configured in the referenced model to use a different value for each instance of the model.
To specify instance-specific values, use the Value column in the table. To specify that a parameter value can be overridden by the parent model, select the Argument check box. For more information about configuring instance parameters in a referenced model and specifying instance-specific values at the Model block, see Parameterize Instances of a Reusable Referenced Model.
When changing instance-specific values, you can use a partial structure that has fields that correspond to only the instance parameters whose values you want to change. Instance parameters not included in the partial structure retain their values. In the structure, include the instance parameter names and values, specified as character vectors.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
Parameter: | ParameterArgumentValues |
Values: | structure with no fields (default) | structure |
Data Types: | struct |
Parameter: | InstanceParameters |
Values: | structure with fields Name , Value ,
Path , and Argument |
Data Types: | struct |
Solver
Configure local solver parameters using a combination of the configuration parameters for the referenced model and the block parameters for each Model block that references the model.
Referenced Model Configuration ParametersUse local solver — Option to use local solver in referenced model
link to referenced model configuration parameter
This parameter provides a hyperlink that opens the Configuration Parameters dialog box for the model referenced by the block. In the Configuration Parameters dialog box, select or clear the Use local solver when referencing model configuration parameter for the referenced model. When you select Use local solver when referencing model, the referenced model uses a local solver.
When you configure a referenced model to use a local solver, the local solver computes the state values for the referenced model during simulation. Using a local solver can improve simulation performance by allowing you to:
Specify a larger step size for a component with slower dynamics compared to the rest of the system.
Select a different solver that is more appropriate for the referenced model.
For more information, see Use Local Solvers in Referenced Models.
Solver — Option to select local solver
link to referenced model configuration parameter
This parameter provides a hyperlink that opens the Configuration Parameters dialog box for the model referenced by the block. In the Configuration Parameters dialog box, select a value for the Solver parameter to specify the solver to use as the local solver for the referenced model.
The local solver must be a fixed-step solver.
Dependencies
To enable this parameter, select Use local solver when referencing model in the model configuration parameters for the model referenced by this block.
Step size — Option to specify step size for local solver
link to referenced model configuration parameter
This parameter provides a hyperlink that opens the Configuration Parameters dialog box for the model referenced by the block. In the Configuration Parameters dialog box, specify the value for the Fixed-step size (fundamental sample time) parameter of the referenced model to specify the step size for the local solver.
The local solver step size must be an integer multiple of the parent solver step size.
Dependencies
To enable this parameter, select Use local solver when referencing model in the model configuration parameters for the model referenced by this block.
Input signal handling — Extrapolation method for local solver inputs
Auto
(default) | Zero-order hold
Because the local solver execution is decoupled from the execution of the parent solver, the local solver extrapolates values from outside the model reference and provides interpolated values to the parent solver. For more information, see Use Local Solvers in Referenced Models.
Use this parameter to specify how the local solver extrapolates values from outside the model reference.
Auto
— Use default input handling, which includes numerical compensation that improves data exchanges between the top and local solvers.Zero-order hold
— Use the last value calculated by the parent solver.
Specifying Auto
input handling generally
increases the accuracy of simulation results. The
Auto
input handling is more
computationally intensive than the Zero-order
hold
input handling.
Consider using Zero-order hold
input
handling in any of these situations:
When simulation results are acceptable with
Zero-order hold
input handling and performance is a concernWhen the referenced model does not have input ports
When input port values do not affect continuous state computations
When a significant part of the derivative is based on the state itself, for example, from feedback loops in the model
To improve local solver stability for a given step size
Dependencies
To enable this parameter, select Use local solver when referencing model in the model configuration parameters for the model referenced by this block.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
Parameter: | InputSignalHandling |
Values: | 'Auto' (default) | 'Zero-order hold' |
Example: set_param(gcb,'InputSignalHandling','Zero-order
hold')
Output signal handling — Interpolation method for outputs from local solver
Use solver
interpolant
(default) | Zero-order hold
Because the local solver execution is decoupled from the execution of the parent solver, the local solver extrapolates values from outside the model reference and provides interpolated values to the parent solver. For more information, see Use Local Solvers in Referenced Models.
Use this parameter to specify the interpolation method the local solver uses to provide values to the parent solver.
Use solver interpolant
— Use the interpolant of the local solver to calculate the interpolated state and output signal values.Zero-order hold
— Use the last value calculated by the local solver before the current time for the top solver.
In general, using the solver interpolant for output handling increases accuracy. Zero-order hold output handling reduces computational complexity but also reduces accuracy.
Dependencies
To enable this parameter, select Use local solver when referencing model in the model configuration parameters for the model referenced by this block.
Programmatic Use
To set the block parameter value programmatically, use
the set_param
function.
Parameter: | OutputSignalHandling |
Values: | 'Use solver interpolant' (default) | 'Zero-order Hold' |
Example: set_param(gcb,'OutputSignalHandling','Zero-order
Hold')
Block Characteristics
Tips
To programmatically determine whether a Model block references a
protected model, use the get_param
function to query the
read-only ProtectedModel
parameter of the Model block.
If the referenced model is protected, the function returns 'on'
. If
the referenced model is unprotected, the function returns
'off'
.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Actual code generation support depends on block implementation.
HDL Code Generation
Generate VHDL, Verilog and SystemVerilog code for FPGA and ASIC designs using HDL Coder™.
HDL Coder™ provides additional configuration options that affect HDL implementation and synthesized logic. For more information about using the Model block for HDL code generation and best practices and limitations, see Model Referencing for HDL Code Generation (HDL Coder).
See also Generate Black Box Interface for Referenced Model (HDL Coder) and Generate Parameterized Code for Referenced Models (HDL Coder).
Architecture | Description |
---|---|
ModelReference (default) | When you want to generate code from a referenced model and
any nested models, use the
ModelReference implementation.
For more information, see How To Generate Code for a Referenced Model (HDL Coder). |
BlackBox | Use the For more information, see Generate Black Box Interface for Referenced Model (HDL Coder). |
For the BlackBox
architecture, you
can customize port names and set attributes of the external component
interface. See Customize Black Box or HDL Cosimulation Interface (HDL Coder).
BalanceDelays | Detects introduction of new delays along one path and inserts
matching delays on the other paths. The default is |
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
|
DistributedPipelining | Pipeline register distribution,
or register retiming. The default is |
DSPStyle | Synthesis attributes for multiplier mapping. 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
|
ReferenceModelPrefix | Prefix of the referenced model to insert in the generated code.
The code generator applies this prefix to submodel file names and
HDL identifiers. The default prefix is Note
|
SharingFactor | Number of functionally equivalent resources to map to a single shared resource. The default is 0. See also Resource Sharing (HDL Coder). |
StreamingFactor | Number of parallel data paths, or vectors, that are time multiplexed to transform into serial, scalar data paths. The default is 0, which implements fully parallel data paths. See also Streaming (HDL Coder). |
Fixed-Point Conversion
Design and simulate fixed-point systems using Fixed-Point Designer™.
Actual data type support depends on block implementation.
Version History
Introduced before R2006aR2023b: Create Model block ports without entering referenced model
Starting in R2023b, you can create ports on Model blocks without entering the referenced model the same way you can on a Subsystem block.
To create a port, pause on any of the four edges of the Model block. When your pointer turns into a cross, click. A new port appears on the edge you clicked, highlighted in blue. Pause your pointer on the new port. In the action menu that expands, select the type of port you want to create.
To delete an existing port, select the port and press Delete. To delete multiple ports, press Shift and select the ports. Then, press Delete.
For more information about creating Model block ports, see Add Ports to Model Reference Interface.
R2019a: Specifying variant models in Model blocks is no longer supported
Starting in R2019a, specifying variant models in Model blocks is no longer supported. The Model Variants block, which was a Model block preconfigured to specify variant models, is also no longer supported. Loading a model that contains these blocks converts them to Variant Subsystem blocks that contain Model blocks that represent the variant choices.
Variant Subsystem blocks provide these advantages:
You can mix Model blocks and Subsystem blocks as variant choices.
You can specify variants that have different numbers of input and output ports.
The Variant Subsystem block parameter Analyze all choices during update diagram and generate preprocessor conditionals behaves differently from the Model block parameter Generate preprocessor conditionals. Instead of causing simulation and update diagram to compile the active variant only, the Variant Subsystem block parameter compiles all variants.
If you have scripts that use Model block parameters for variants, you must update them to use Variant Subsystem block parameters.
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other bat365 country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)