Yes, a strength of Simulink is allowing all manner of different things to be brought together in a system level simulation.
This can include mixtures of components that model
- analog world
- code for microprocessor type A
- code for microprocessor type B
- code for FPGA type C
- code for ASIC design D
Model Reference is a key feature for separating components that represent code for different targets.
In Alberto's model reference introductory video at time 3:29, he mentions that Model Reference models can have independent configuration sets. This is the key. On the configuration parameters dialog on the Hardware Implementation pane, each model representing embedded code should specify the appropriate type of microprocessor or ASIC/FPGA that it is targeting.
A parent model that references these child Model Reference models can provide the system level simulation of all this variety working together.
Code generation would be done for each type of chip, one at a time. Go to each Model Reference model that represents code on an embedded device. Generate code from that model for that device its configuration parameter specifies.