1. A method comprising: a) identifying a pattern at a particular layer of a circuit design layout that does not meet at least one constraint; b) determining a decomposition solution for said pattern using at least one simulation to determine that the decomposition solution meets the at least one constraint; and c) replacing the pattern in the design layout with the decomposition solution.