Foundation Series 2.1i User GuideChapter 6: HDL Design Entry and Synthesis
Design Partitioning Guidelines
The way in which a design is partitioned can affect how well the optimizer can optimize the combinatorial logic. If a design is poorly partitioned in the entry phase, logic optimization can suffer. Here are some HDL coding and partitioning guidelines that will help improve logic optimization.
- Avoid imposing boundaries on combinatorial paths.
If parts of a combinatorial logic path are compiled in separate modules, no logic optimization can be performed across the block boundaries.
Instead, partition the design so that combinatorial paths are not split across multiple modules. This gives the software the best opportunity to optimize combinatorial logic on the path.
- Register all block outputs.
Partition the design into modules in such a way that all block outputs are registered. This guarantees that no boundaries are imposed on any combinatorial paths, as discussed previously.