MATLAB Answers

0

Do not generate a seperate module for the subsystem when Generating HDL code

Asked by Kamyar Khosravi on 11 Apr 2018
Latest activity Commented on by Kamyar Khosravi on 13 Apr 2018
Hello,
Is it possible to not generate a separate module for subsystems used a lower level of the model when generating HDL code. For example, sometimes to make the design more readable, I want to create subsystems. But when generating the code, it creates a different module for that subsystem. Is it possible to not generate any module when using subsystem and just propagate signals as they go through subsystem? If not are there any other available blocks that would be able to achieve above?
Many thanks, Kamyar

  0 Comments

Sign in to comment.

1 Answer

Answer by Tim McBrayer on 11 Apr 2018
 Accepted Answer

Yes, this is a native capability of HDL Coder. Each subsystem has a HDL Block property named "FlattenHierarchy" that can be either 'on', 'off', or 'auto'. The default value is 'auto'. which means that each subsystem will inherit its FlattenHierarchy setting from its parent. To completely flatten your entire design into a single flat HDL file, set 'FlattenHierarchy' to 'on' on your top-level subsystem. A more targeted approach is also possible, where you can mark specific sub-hierarchies for flattening (or not flattening) as you desire.
To access this property, you can use the hdlset_param command, or you can use the right-click context menu on a subsystem. Choose HDL Code>HDL Block Properties...>Flatten Hierarchy.

  1 Comment

Thanks Tim. This is what I was just looking for.

Sign in to comment.