Module 2:Scheduling, Allocation and Binding

Lecture 4 :Binding Algorithms


Figure 7. Maximal cliques for the graph of Figure 6

It may be noted that for each maximal clique we require a register and all variables of a clique can share the register; the circuit after this allocation is shown in Figure 2. Also, it may be noted that there can be many different combinations of maximal cliques. For example, the circuit of Figure 3 is a result of the maximal clique given in Figure 8. In such cases, the maximal cliques that result is minimal interconnect area is considered for binding.

Finding whether there is a clique of a given size in a graph, (the clique problem) is NP-complete [2]. In other words, there is no polynomial time algorithm to determine a clique of a given (maximal) size from a graph. Therefore, time taken for binding procedure based on clique partitioning would be exponential with respect to the number of nodes. To cater to the issue, heuristics have been proposed [2] that solve maximal clique problem with less complexity, however, with some compromise in quality of solution (i.e., the cliques may not be maximal).

Figure 7. Maximal cliques for the graph of Figure 6 (corresponding to circuit of Figure 3)