Clear Filters
Clear Filters

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

1 view (last 30 days)
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

Accepted Answer

Tim McBrayer
Tim McBrayer on 11 Apr 2018
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.

More Answers (0)


Find more on Code Generation in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!