Keeping all the features in a layout on a grid is at times another advantage of polygon compaction over a linear shrink. The resolution of this grid can be specified by the user. Having every polygon edge on a grid is critical for pitch matching between migrated std-cells and guaranteeing connection using area-based routers. It is often easier for routers to interconnect features that are on a grid. Even for proportional compaction, which at first seems like a linear shrink, every polygon edge is still on a grid. Proportional compaction is often used for metal sizing on a layer-by-layer basis and for layouts of analog circuits, for which symmetries are maintained on the basis of proportionality. Remember, a linear shrink can not change any one layer proportionally without changing all the others.
Besides serving as an indicator for possible process rule or foundry trade-offs, the critical path can serve other purposes. One of them is shown in Figure 2.8 helping to achieve a denser layout than without jogging. Another benefit is the elimination of conflicting layout demands, as shown in Figure 2.9.
In Figure 2.8, we show how the compactor introduces “jogs,” sometimes called “doglegs,” to decrease the height of this cell. This is done automatically by the compactor in connection with a critical path, suggesting an improvement in the size of a cell. Jogs will only be introduced where benefits result, i.e. around a critical path. The critical path is indicated by the dotted line in Figure 2.8. Furthermore, jogging can be turned off by the software user, if undesired.
Fig. 2.8 Jogging (Doglegs) for a Denser Layout
Introducing jogging for conflicting demands, generally referred to as overconstraints, is also very useful. Here, as illustrated in Figure 2.9, the compactor encounters conflicting demands, one from the process rules the other from the electrical rules. As we can see from the dimensions in the illustration (50+30+50), the contacts to the left and the right of the gate can not fit in the length of the gate (100). To satisfy both design rules, jogging is needed. The end result is satisfaction of all the dimensions required.
Overconstraints are graphically highlighted in the layout as feedback from the compactor. It is one of the greatest batch run challenges for compaction. Unfortunately, a single overconstraint violation arising from conflicting demands can very easily happen when setting up the compaction run. Depending on the user's settings, such a violation may stop the batch process. However, this feature can be disabled by the user or the system may be allowed to relax them. This is often desirable because it is not very pleasant when the process is stopped for something like an overnight computer run.
Fig. 2.9 Jogging to Eliminate Conflicting Specifications
The response to the option of relaxing overconstraint checking is an indication of the problems, but it lets the run continue. This will at least enable the run to reach its conclusion. Full overconstraint checking will then only be turned on at the very end, when it appears that all overconstraints have been fixed.