7.2.3 Block Instantiation Compile Options

If there are multiple blocks instantiated in your top-level design, the software uses the Compile Options to resolve the conflicts. These options appear only if there are blocks in your design.

Placement Conflicts

  • Error if conflict: Compile times out if any instance from a designer block is unplaced. This is the default option.
  • Resolve conflict: Further categorized into three parts:
    • Keep non-conflicting placement: If some instances get unplaced for any reason, the remaining non-conflicting elements are preserved but not locked (you can move them).
    • Keep and lock non-conflicting placement: If some instances get unplaced for any reason, the remaining non-conflicting elements are preserved and locked.
    • Discard placement from all blocks: Placement information will be discarded from all blocks even if there is no conflict.

Routing Conflicts

There are three methods to resolve a conflict:

  • Error if conflict: Compile times out due to an errors if any preserved net routing in a designer block is deleted.
  • Resolve conflict: Further categorized into three parts:
    • Keep non-conflicting routing: If a nets' routing is removed for any reason, the routing for the non-conflicting nets is preserved but not locked (so that they can be rerouted). This is the default option.
    • Keep and lock non-conflicting routing: If the routing is removed for any reason, the remaining non-conflicting nets are preserved and locked; they cannot be rerouted. This is the default option.
    • Discard routing from all blocks: Routing information will be discarded from all blocks even if there is no conflict.