Partition Optimizations are techniques or methods for
using Partitions to help
the implementation of a design. Partitions are helpful for preserving
parts of a design that have been successfully implemented, which is
also known as design preservation.
Using Partitions for Design Preservation
Design preservation improves the run-time of a design,
since it eliminates having to re-implement the entire design. Following
are ways Partitions can be used effectively for design preservation:
- Divide utilized logic resources into equivalent 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 has 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, they will not need to be re-verified between implementations.
- 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 requires optimization between it
and the rest of the design. A Partition should not be placed
on this type of IP.
What to do First
- In the source model, review the instances in the design to
identify ones that you would like to place Partitions on.
- Leave the preserve setting to default: routing/inherit or assign
properties to the instances, using the Partition preserve command.
What to Expect
Design preservation and
improved runtime.