Partition Optimizations are techniques or methods for
using Partitions to improve
the implementation of a design. Partitions are used tor preserve parts
of a design that have been successfully implemented.
Using Partitions for Design Preservation
Design preservation may improve the run-time of a design
since it eliminates re-implementing the entire design. Some Partitioning
techniques that may provide desired results are:
- Create a small number (about 5 to 10) of equally sized Partitions
to provide the best opportunity for run-time to be reduced when only
one Partition is modified.
- Place a Partition on an instance that is having difficulty
meeting timing or physical constraints. After a successful implementation,
the Partition will be 100% preserved so timing closure will not have
to be resolved again.
- Some designs are verified on a module-by-module basis. Set
Partitions on instances that coincide with a block that has its own
verification test bench. Because unmodified Partitions are exactly
preserved, the Partition will not need to be re-verified from implementation
to implementation.
- Some types of IP (Intellectual Property) or cores may implement
more effectively if they are isolated from the rest of the design.
Creating a Partition for the block of IP will accomplish this
isolation. However, some IP cores requires optimization between
it and the rest of the design. A Partition should not be placed
on this type of IP core.
Preserving a Partition
- Set a Partition on the instance that will be preserved.
- Leave the preserve setting to default routing/inherit. If necessary,
modify the preserve attribute to placement or synthesis if a successful
implementation is not possible.
Design preservation and improved runtime.