Do Enabled Subsystems use multiplexers in generated HDL code?
Show older comments
I would like to design a model where a certain section of my code runs at 1/3 the clock rate of the rest in order to avoid timing violations. I am doing this by placing the contents within an Enabled Subsystem and having the pulses occur at 1/3 the clock rate. However, I would like to confirm whether the Enabled Subsystem block uses multiplexers or similar logic in the synthesized HDL code to implement the enabling, which would lead to timing violations. Or are there other options to generate code for the subsystem to prevent the subsystem from running during periods when the subsystem is not enabled?
Accepted Answer
More Answers (1)
Bharath Venkataraman
on 13 Dec 2021
Edited: Bharath Venkataraman
on 13 Dec 2021
0 votes
In order to get different rates, either through clock enables or through multiple clocks, you need to model the signals at different sample times. To achieve this, you can send a signal through a rate transition or a downsample block.
You can either use timing constraints to constrain via clock enable (HDL Coder can generate these multicycle timing constraints) or you can generate HDL code with multiple clocks and specify the clocks in synthesis.
Both these options are available in the HDL Coder UI.
Hope this helps,
Bharath
Categories
Find more on Speed Optimization 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!