SAT-based algorithms for internal cell routing in nanoelectronic circuits

Since the introduction of the first integrated circuits, the increase on transistor density and changing technological constraints has created a lot of challenges for the circuit design process. Electronic design automation is the category of software tools that automates parts of the process and allows the design of such complex circuits. One of the processes automated by these tools is the routing stage, which consists in deciding the exact location of the wires connecting components inside the chip. The work presented in “A Boolean Rule-Based Approach for Manufacturability Aware Cell Routing” (Cortadella et al, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 33, No. 3, March 2014) is a standard cell router that encodes the problem instances into Boolean formulas and passes them to a SAT-solver. There is a valid solution if a model for the formula exists, and there is no valid routing if the formula is unsatisfiable. The original approach gives good results, but a lot of time is spent in the SAT-search phase when cells become big and complex. This thesis proposes to extend this router in order to obtain better performance. The idea is to do so by considering more information of the routing instance during the SAT-solving phase. Whereas the original router uses binary variables at a wire segment level, we propose to extend the Boolean formulation by incorporating auxiliary variables that encode entire paths connecting components of the circuit (called highways). The approach poses two interesting problems: deciding which paths we should encode into the problem, and how they should be used during the search. A SAT-solver, MiniSat, is extended in order to take maximum advantage of the auxiliary variables we introduced. We modify several internal heuristics of MiniSat with the idea of ensuring that it is using our auxiliary variables as much as possible, also allowing the use of its own heuristics when deemed more appropriate. On one side, we increase the initial priority of our auxiliary variables in order to ensure they are used at the beginning of the search. On the other, we respect the heuristics of MiniSat to decide which nets should have priority at a given point of the search, but we impose highways to be used if they are available for the nets with priority. Preliminary experimental results show that the approach gives excellent results if we include a solution to the problem in the set of highways, showing the approach is valid if the auxiliar paths are good enough. We present several techniques for generating the set of highways. One family of methods uses the router itself to generate them. The basic idea is to obtain a reduced version of our problem, either because we remove some of its signals or because we consider only some parts of the original circuit. We route this reduced problems and we consider the paths that appear connecting components as good candidates for paths in the complete, original problem. The routes obtained using these method are expensive to compute, given that they rely on using the router itself, but on the other hand the fact that we are using the router ensures that they honor the design rules and that sets among them fit together into a same solution. We use one of the approaches to route the Nangate library, a real standard cell library we take as our basic benchmark. With the other approach, specially suited to route groups of standard cells, we route Concatlib, a library we create by concatenating Nangate cells with themselves several times. Our second family of methods does not rely on the router to generate valid highways, but observes the circuit and tries to algorithmically build highways that are interesting for our formulation. In general these highways can be constructed faster but are not guaranteed to respect all design rules. We propose two main strategies that use this approach. The first strategy is based on observing the circuit and deciding on paths that will probably appear in a routing. We study valid solutions to our problem to find characteristics of commonly used routes, and we decide to use paths with up to two corners connecting our pairs of components. We present an algorithm to generate all such highways and an algorithm to decide, among the generated highways, which ones should be included in our formulation. In order to choose them we create a ranking in which we assign a score to each highway, giving more points to the longest, more conflicting highways. We eliminate highways from our model beginning with the ones with highest score until we have reached a predefined number of highways for each pair of terminals we must connect. The algorithms following this strategy allow for several customizable parameters, such as the number of highways to be included in the formulation and the relative weights of the parameters that determine which highways should be chosen. An exploration of the parameters is presented in the experiments section. We show the distribution of the running time of the cells in the Nangate library and the different times routing the entire library and a concrete cell. The second strategy we propose is to generate a set of possible net orderings. Then we use a maze router to greedily find paths, sequentially routing the nets following one of our orderings. This method provides highways that are fast to create and with more variation than the previous method. The routing time when routing the entire Nangate library is compared to the other approaches. All of the algorithms manage to obtain speedups of about 2-3x on the SAT search phase of the algorithm, which accounts for the majority of its running time. Even though the algorithms present room for additional variations, we do not expect those to yield a significantly better speedup. We propose future lines of work in which the router plays a key role as a tool in the physical synthesis flow. One would be connecting signals from adjacent standard cells, that would normally be external, using only metal 1 and metal 2. Another line of work would be trying to avoid future electromigration problems during the routing stage. A final proposal is to use the router in a framework allowing the generation of cells on the fly. “The value of life lies not in the length of days, but in the use we make of them. Whether you find satisfaction in life depends not on your tale of years, but on your will. ”