Colorblind—Colorless versus Two-Color Double Patterning Design

People are always asking “What should I expect when I start designing at 20nm using double patterning?”


By David Abercrombie
People are always asking “What should I expect when I start designing at 20nm using double patterning?” It’s a good question, but in many real aspects, the answer is “It depends,” and that is not very satisfying to hear. The way that a designer will interact with the constraints that double patterning (DP) brings is very dependent on the design methodology used. One key DP methodology decision is as basic as whether or not you want the designers to see colors at all. Yes, believe it or not, it is possible to do DP design without drawing two layers! This is called a “colorless” design flow. The alternative is a two-color flow, in which the designer tapes out two masks, choosing one of several decomposition options. Of course, there are trade-offs with any design flow you choose, so ultimately you must decide based on what is best for your organization and which flows your foundry will support. Let’s look at this in more detail.

Figure 1 illustrates four possible DP design flows. The first three flows are two-color flows, in which the designer tapes out two separate “color” layers for any layer that will be double-patterned. The fourth flow is the “colorless” flow, in which the designer only tapes out a single layer, and the foundry performs the decomposition into two layers. The difference between the first three flows is the level of automation involved in creating the two layers.

Figure 1: Flow charts of the various double patterning decomposition methodologies

Figure 1: Flow charts of the various double patterning decomposition methodologies

In the manual decomposition flow, the designer draws both mask layers by hand. The accuracy of the decomposition is verified with traditional design rule checking (DRC) tools as spacing constraints between masks. However, the designer must manually decide how to implement the design in two masks. Decomposing layouts by hand can be very time-consuming and difficult, and on a large block, impractical. For this reason, the other flows are more common.

In the automated decomposition flow, the designer draws a single layer. A specialized EDA tool then automatically decomposes the layer into two masks, which are checked with traditional DRC operations. Specialized odd cycle DP checks can also be run, to help the designer better understand the complete set of polygon interactions causing any decomposition errors.

The mixed decomposition flow, unsurprisingly, is a hybrid of the first two. The designer can perform some decomposition manually, and then have the specialized EDA tool automatically decompose and check the remainder of the design. This flow is commonly used when the designer is incorporating cells that were previously decomposed into a new layout that is still in one layer.

In the colorless flow, the designer never generates the two mask layers, relying instead on the specialized odd cycle checking of the specialized EDA tool to determine locations that cannot be correctly decomposed. The single layer must be modified until these checks are clean. The foundry then decomposes the layout into two layers after tapeout.

Although the colorless flow does not require the designer to decompose the layer, there may be special conditions in the layout for which the designer wants to control polygon coloring. For instance, it may be important to place power and ground rails on a specific mask, or, in an analog circuit, “matched” devices may need to be decomposed identically, to ensure their performance will match. In these cases, “anchor” markers are used to communicate these special requests to the decomposition tool used by the foundry. These anchors are typically designated layer markers placed over the “fabric” polygons to assign them to certain masks. The specialized EDA tool will then decompose the unassigned polygons influenced by the specified polygons.

Figure 2 shows how the drawn design and decomposed layout would look for these flows. In the colorless option, the drawn layout contains only a single layer of polygons. After decomposition by the foundry, two layers are generated for this layout. In the anchors example, although there is still only one drawn layer, there are anchor markers forcing the power and ground rails to be on one mask, and constraining one of the inner shapes to the other mask. As you can see in the decomposition, the polygon colors (mask assignments) do not match the first example because the tool honored the anchor markers.

Figure 2: Example layouts using various double patterning methodologies and the resulting decomposed mask layers

Figure 2: Example layouts using various double patterning methodologies and the resulting decomposed mask layers

In the mixed-decomposition example, one of the cells was previously fully colored and is now placed next to a cell that is still in one layer. The designer can manually decompose the single layer, or have the specialized EDA tool auto-decompose the single layer, using the previously colored cell as anchors to force certain coloring behavior into the second cell. In the manual decomposition example, both cells are drawn in two layers from the beginning.

Of course, decomposition doesn’t always go without a hitch. There may be situations in the layout that cannot be decomposed without violating the coloring spacing constraints. The DP methodology being used affects the type of error checking that may be done. Figure 3 shows odd cycle violations as reported from both a colorless check and a traditional DRC check in a two-color flow. The specialized DP checking used in the colorless flow displays error “rings” that touch the polygons and separators forming the odd cycle. The cycle can be fixed by increasing one or more of the separator spacings in the ring. In other words, an odd cycle has multiple possible fixes, and the designer can choose the solution that is easiest to implement.


Figure 3: DP errors identified by specialized odd cycle checks in colorless flows or traditional DRC checks in two-color flows

Figure 3: DP errors identified by specialized odd cycle checks in colorless flows or traditional DRC checks in two-color flows

In the manual decomposition example, the designer specified the coloring of the polygons. The DRC checks flag any specific location where two polygons on the same mask are too close to each other. The designer can fix the error by increasing the specified spacing, or by changing the color of one of the two polygons. Of course, changing the color may then cause a new error between the newly colored polygon and any adjacent polygon that is now the same color.

Using the specialized EDA tool to perform the decomposition and checking in two-color flows allows the designer to use the ring-style error marker to identify the complete set of interacting polygons, and more quickly and efficiently determine the legal coloring options.

At this point you are probably asking, “How do I choose between these possible flows?” As with most design issues, it is all about trade-offs. Taking responsibility for creating the two mask layers in design is more complex for the designer, as it deviates the most from established design methods. However, it gives the designer the most control over the final result. Using a colorless flow employs a more traditional design style, and only requires learning to debug the new “ring” type of DRC error. However, the trade-off is handing over control of the decomposition to the foundry.

In the end, there is no one-size-fits-all answer. Your choice of foundry may limit your options. Both major foundry eco-systems support the colorless flow (with or without anchors), but only one supports the flows that allow the designer to tape out the two masks. Each design team must educate themselves on the available options, and determine which trade-offs they want to make to optimize their learning curve and design schedules. At a minimum, it is wise to have conversations concerning these options with your foundry and EDA vendor, to understand which flows are supported and what tool capabilities exist.

Have you already been engaged in discussions about these methodologies? What trade-offs are most important to your design teams? Let me know in your comments to this blog. In my next blog, I will discuss in more detail this concept of anchoring, and other approaches to manipulating the coloring in colorless flows, as well as unique DP errors that these techniques can introduce into the design.