![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/197162/image.png)
Flatten Hierachy for MATLAB functions used in SIMULINK when Generating HDL code
7 ビュー (過去 30 日間)
古いコメントを表示
Hi, I am using few MATLAB functions in my SIMULINK model and then generate an HDL code (Verilog in particular) from it. The problem I am having is that it generates different Verilog files for each function and I can't find an option to flatten the hierarchy for the functions. Is it possible to flatten the hierarchy for the functions?
Many Thanks, Kamyar
0 件のコメント
回答 (1 件)
Yousef B Bedoustani
2018 年 10 月 5 日
編集済み: Yousef B Bedoustani
2018 年 10 月 5 日
1. Right click on the subsystem
2. Chose HDL code\ HDL Block Properties
3. In General section: change FlattenHierarchy = on
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/197162/image.png)
2 件のコメント
Peyman K. Reghbati
2020 年 2 月 14 日
編集済み: Peyman K. Reghbati
2020 年 2 月 14 日
It is possible that you have the MATLAB function Synchronous in State Control of your function. See Below:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/271622/image.jpeg)
imitations For Hierarchy Flattening
A subsystem cannot be flattened if the subsystem is:
- A Synchronous Subsystem or uses the State Control block in Synchronous mode.
- A black box implementation or model reference.
- A Triggered Subsystem when Use trigger signal as clock is enabled.
- A masked subsystem that contains any of the following:
- Bus.
- Enumerated data type.
- Lookup table blocks: 1-D Lookup Table, 2-D Lookup Table, Cosine HDL Optimized, Direct LookupTable (n-D), Prelookup, Sine HDL Optimized, n-D Lookup Table.
- MATLAB System block.
- Stateflow blocks: Chart, State Transition Table, Sequence Viewer.
- Blocks with a pass-through or no-op implementation. See Pass through, No HDL, and Cascade Implementations.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!