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

1 次查看(过去 30 天)
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


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

更多回答(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!

Translated by