ID 683247
Date 12/16/2019
Public

## 1.6.2. Design Abstraction

Empty partitions are useful to account for undefined partitions developed independently or later in the design cycle. The Compiler uses an empty placeholder netlist for the partition, ties the partition output ports to ground, and removes the input ports. The Compiler removes any existing synthesis, placement, and routing information for an empty partition.

If you remove the Empty setting from a partition, the Compiler re-implements the partition from the source. Setting a partition to Empty can reduce design compilation time because the top-level design netlist does not include the logic for the empty partition. The Compiler does not run full synthesis and fitting algorithms on the empty partition logic. Emptying a preserved partition removes all preserved information.

Note: To avoid resource conflicts when using empty partitions, floorplan any empty partitions that you intend to subsequently replace with a .qdb.
Follow these steps to define an empty partition:
1. Create a design partition, as Step 1: Developer: Create a Design Partition describes. Set the partition Type to Default. Any other setting is incompatible with empty partitions.
2. Set the Preservation Level to Not Set, and make sure there is no .qdb for the Partition Database File option. Any other setting combination is incompatible with empty partitions.
3. For the Empty option, select Yes. This setting corresponds to the following assignment in the .qsf.
set_instance_assignment -name EMPTY ON -to \
<hierarchal path of partition> -entity <name>