**6. Experimental results**

### **6.1 Boundary model checking**

The instances used in our experiments arise from model checking (6) which is considered to be one among many real-world problems that are often characterized by large and complex search spaces. Model checking is an automatic procedure for verifying finite-state concurrent systems. Given a model of a design and a specification in temporal logic, one is interested to check whether the model satisfies the specification. Methods for automatic model checking of complex hardware design systems are gaining wide industrial acceptance compared to traditional techniques based on simulation. The most widely used of these methods is called Bounded Model Checking (2) (BMC). In BMC the design to be validated is represented as a finite state machine, and the specification is formalized by writing temporal logic properties. The reachable states of the design are then traversed in order to verify the properties. The basic idea in BMC is to find bugs or counterexamples of length *k*.

In practice, one looks for longer counterexamples by incrementing the bound *k*, and if no counterexample exists after a certain number of iterations , one may conclude that the correctness of the specification holds. The main drawback with model checking real systems is the so-called state-explosion problem: as the size of of the system being verified increases, the total state space of the system increases exponentially. This problem makes exhaustive search exploration intractable.

In recent years, there has been a growing interest in applying methods based on propositional satisfiability (SAT) (29)(12) in order to improve the scalability of model checking. The BMC problem can be reduced to a propositional satisfiability problem, and can therefore be solved by SAT solvers. Essentially, there are two phases in BMC. In the first phase, the behavior of the system to be verified is encoded as a propositional formula. In the second phase, that formula is given to a propositional decision algorithm, i.e., a satisfiability solver, to either obtain a satisfying assignment or to prove there is none. If the formula is satisfiable, a bug has been located in the design, otherwise one cannot in general conclude that there is no bug; one must increase the bound, and search for "larger bugs".

#### **6.2 Test suite**

We evaluated the performance of the multilevel memetic algorithm on a set of large problem instances taken from real industrial bounded model checking hardware designs. This set is taken from the SATLIB website (http://www.informatik.tu-darmstadt.de/AI/SATLIB). All the benchmark instances used in this experiment are satisfiable instances. Due to the randomization nature of the algorithms, each problem instance was run 20 times with a cutoff parameter (max-time) set to (300*sec*). We use |.| to denote the number of elements in a set, e.g., |*V*| is the number of variables, while |*C*| denotes the number of clauses. Table shows the instances used in the experiment. The tests were carried out on a a DELL machine with 800 MHz CPU and 2 GB of memory. The code was written in C and compiled with the GNU C compiler version 4.6. The parameters used in the experiment are listed below:


8 VLSI Design

Having improved the assignment at the level *Lm*+1, the assignment must be projected onto its parent level *Lm*. The uncoarsening process is trivial; if a cluster *Ci* ∈ *Lm*+<sup>1</sup> is assigned the value of true then the matched pair of clusters that it represents, *Cj* and *Ck* ∈ *Lm* are also assigned the value true. The idea of refinement is to use the projected population from *Lm*+<sup>1</sup> onto *Lm* as the initial population for further improvement using the proposed memetic algorithm. Even though the population at *Lm*+<sup>1</sup> is at local minimum, the projected population at level *Lm* may not be at a local optimum. The projected population is already a good solution and contains individuals with high fitness value, MA will converge quicker within a few

The instances used in our experiments arise from model checking (6) which is considered to be one among many real-world problems that are often characterized by large and complex search spaces. Model checking is an automatic procedure for verifying finite-state concurrent systems. Given a model of a design and a specification in temporal logic, one is interested to check whether the model satisfies the specification. Methods for automatic model checking of complex hardware design systems are gaining wide industrial acceptance compared to traditional techniques based on simulation. The most widely used of these methods is called Bounded Model Checking (2) (BMC). In BMC the design to be validated is represented as a finite state machine, and the specification is formalized by writing temporal logic properties. The reachable states of the design are then traversed in order to verify the properties. The

In practice, one looks for longer counterexamples by incrementing the bound *k*, and if no counterexample exists after a certain number of iterations , one may conclude that the correctness of the specification holds. The main drawback with model checking real systems is the so-called state-explosion problem: as the size of of the system being verified increases, the total state space of the system increases exponentially. This problem makes exhaustive

In recent years, there has been a growing interest in applying methods based on propositional satisfiability (SAT) (29)(12) in order to improve the scalability of model checking. The BMC problem can be reduced to a propositional satisfiability problem, and can therefore be solved by SAT solvers. Essentially, there are two phases in BMC. In the first phase, the behavior of the system to be verified is encoded as a propositional formula. In the second phase, that formula is given to a propositional decision algorithm, i.e., a satisfiability solver, to either obtain a satisfying assignment or to prove there is none. If the formula is satisfiable, a bug has been located in the design, otherwise one cannot in general conclude that there is no bug; one must

We evaluated the performance of the multilevel memetic algorithm on a set of large problem instances taken from real industrial bounded model checking hardware designs. This set is taken from the SATLIB website (http://www.informatik.tu-darmstadt.de/AI/SATLIB). All the benchmark instances used in this experiment are satisfiable instances. Due to the

basic idea in BMC is to find bugs or counterexamples of length *k*.

**5.3 Uncoarsening**

generation to a better assignment.

**6. Experimental results**

**6.1 Boundary model checking**

search exploration intractable.

**6.2 Test suite**

increase the bound, and search for "larger bugs".


#### **6.3 Experimental results**

Figures 2-9 show how the best assignment (fittest chromosome) progresses during the search. The plots show immediately the dramatic improvement obtained using the multilevel paradigm. The performance of MA is unsatisfactory and is getting even far more dramatic for larger problems as the percentage excess over the solution is higher compared to that of MLVMA. The curves show no cross-over implying that MLVMA dominates MA. The plots suggest that problem solving with MLVMA happens in two phases. The first phase which corresponds to the early part of the search, MLVMA behaves as a hill-climbing method. This phase which can be described as a long one, up to 85% of the clauses are satisfied. The best assignment improves rapidly at first, and then flattens off as we mount the plateau, marking the start of the second phase. The plateau spans a region in the search space where flips typically leave the best assignment unchanged, and occurs more specifically once the refinement reaches the finest level. Comparing the multilevel version with the single level version, MLVMA is far better than MA, making it the clear leading algorithm. The key success behind the efficiency of MLVMA relies on the multilevel paradigm. MLVMA uses the multilevel paradigm and draw its strength from coupling the refinement process across different levels. This paradigm offers two main advantages which enables MA to become much more powerful in the multilevel context:


Sat-Encoded Problems 11

A Multilevel Approach Applied to Sat-Encoded Problems 177

MLV-MEMETIC VS MEMETIC

Memetic Multilevel-Memetic

Memetic Multilevel-Memetic

0 50 100 150 200 250 300

Time (s)

MLV-MEMETIC VS MEMETIC

0 50 100 150 200 250 300

Time (s)

Fig. 5. bmc-ibm-7.cnf: |*V*| = 8710, |*C*| = 39774. Along the horizontal axis we give the time in

seconds, and along the vertical axis the number of unsatisfied clauses.

Fig. 4. bmc-ibm-5: |*V*| = 9396, |*C*| = 41207. Along the horizontal axis we give the time in

seconds , and along the vertical axis the number of unsatisfied clauses.

1000

2000

3000

4000

5000

6000

Unsatisfied Clauses

7000

8000

9000

2000

3000

4000

5000

Unsatisfied Clauses

6000

7000

8000

9000

Fig. 2. bmc-ibm-2.cnf: |*V*| = 3628, |*C*| = 14468. Along the horizontal axis we give the time in seconds, and along the vertical axis the number of unsatisfied clauses.

Fig. 3. bmc-ibm-3.cnf: |*V*| = 14930, |*C*| = 72106.. Along the horizontal axis we give the time in seconds , and along the vertical axis the number of unsatisfied clauses.

MLV-MEMETIC VS MEMETIC

Memetic Multilevel-Memetic

Memetic Multilevel-Memetic

0 50 100 150 200 250 300

Time (s)

MLV-MEMETIC VS MEMETIC

0 50 100 150 200 250 300

Time (s)

Fig. 3. bmc-ibm-3.cnf: |*V*| = 14930, |*C*| = 72106.. Along the horizontal axis we give the time

in seconds , and along the vertical axis the number of unsatisfied clauses.

Fig. 2. bmc-ibm-2.cnf: |*V*| = 3628, |*C*| = 14468. Along the horizontal axis we give the time in

seconds, and along the vertical axis the number of unsatisfied clauses.

0

4000

6000

8000

10000

Unsatisfied Clauses

12000

14000

16000

500

1000

1500

Unsatisfied Clauses

2000

2500

Fig. 4. bmc-ibm-5: |*V*| = 9396, |*C*| = 41207. Along the horizontal axis we give the time in seconds , and along the vertical axis the number of unsatisfied clauses.

Fig. 5. bmc-ibm-7.cnf: |*V*| = 8710, |*C*| = 39774. Along the horizontal axis we give the time in seconds, and along the vertical axis the number of unsatisfied clauses.

Sat-Encoded Problems 13

A Multilevel Approach Applied to Sat-Encoded Problems 179

MLV-MEMETIC VS MEMETIC

Memetic Multilevel-Memetic

> bmc-ibm-2.cnf bmc-ibm-3.cnf bmc-ibm-5.cnf

0 50 100 150 200 250 300

Time (s)

MLV-MEMETIC VS MEMETIC

0 50 100 150 200 250 300

Time (s)

Fig. 9. Results on the convergence behavior for bmc-ibm-2.cnf, bmc-ibm-3.cnf, bmc-ibm-5.cnf. Along the horizontal axis we give the time (in seconds) , and along the

Fig. 8. bmc-ibm-13.cnf: |*V*| = 13215 , |*C*| = 6572. Along the horizontal axis we give the time

in seconds , and along the vertical axis the number of unsatisfied clauses.

0.3

vertical axis the convergence rate.

0.4

0.5

0.6

0.7

Convergence Rate

0.8

0.9

1

Unsatisfied Clauses

Fig. 6. bmc-ibm-11.cnf: |*V*| = 32109, |*C*| = 150027. Along the horizontal axis we give the time in seconds, and along the vertical axis the number of unsatisfied clauses.

Fig. 7. bmc-ibm-12.cnf: |*V*| = 39598, |*C*| = 19477. Along the horizontal axis we give the time in seconds, and along the vertical axis the number of unsatisfied clauses.

MLV-MEMETIC VS MEMETIC

Memetic Multilevel-Memetic

Memetic Multilevel-Memetic

0 50 100 150 200 250 300

Time (s)

MLV-MEMETIC VS MEMETIC

0 50 100 150 200 250 300

Time (s)

Fig. 7. bmc-ibm-12.cnf: |*V*| = 39598, |*C*| = 19477. Along the horizontal axis we give the time

in seconds, and along the vertical axis the number of unsatisfied clauses.

Fig. 6. bmc-ibm-11.cnf: |*V*| = 32109, |*C*| = 150027. Along the horizontal axis we give the

time in seconds, and along the vertical axis the number of unsatisfied clauses.

14000

15000

20000

25000

30000

Unsatisfied Clauses

35000

40000

16000

18000

20000

22000

Unsatisfied Clauses

24000

26000

28000

30000

Fig. 8. bmc-ibm-13.cnf: |*V*| = 13215 , |*C*| = 6572. Along the horizontal axis we give the time in seconds , and along the vertical axis the number of unsatisfied clauses.

Fig. 9. Results on the convergence behavior for bmc-ibm-2.cnf, bmc-ibm-3.cnf, bmc-ibm-5.cnf. Along the horizontal axis we give the time (in seconds) , and along the vertical axis the convergence rate.

Sat-Encoded Problems 15

A Multilevel Approach Applied to Sat-Encoded Problems 181

[13] J. Gottleib, E. Marchiori, and C. Rossi. Evolutionary Algorithms for the satisfiability

[14] R. Hadany and D. Harel. A multi-scale algorithm for drawing graphs nicely.

[15] P. Hansen and B. Jaumand. Algorithms for the Maximum Satisfiability Problem.

[16] B. Hendrickson and R. Leland. A multilevel algorithm for partitioning graphs. In S. Karin, editor, Proc. Supercomputing'95, San Diego, 1995. ACM Press, New York. [17] H. Hoos. On the run-time behavior of stochastic local search algorithms for SAT. In.

[18] H.Hoos. An adaptive noise mechanism for Walksat. In Proceedings of the Eighteen National Conference in Artificial Intelligence (AAAI-02), pages: 655-660, 2002. [19] F. Hutter, D. Tompkins, H. Hoos. Scaling and probabilistic smoothing: Efficient dynamic local search for SAT. In Proceedings of the Eight International Conference of the Principles and Practice of Constraint Programming (CP'02), pages: 233-248, 2002. [20] A. Ishtaiwi, J. Thornton, A. Sattar, and D.N.Pham. Neighborhood clause weight redistribution in local search for SAT. Proceedings of the Eleventh International Conference on Principles and Practice Programming(CP-05), volume 3709 of Lecture

[21] H. Jin-Kao, F. Lardeux, and F. Saubion. Evolutionary computing for the satisfiability problem. In Applications of Evolutionary Computing, volume 2611 of LNCS, pages:

[22] G. Karypis and V. Kumar. A fast and high quality multilevel scheme for partitioning

[23] G. Karypis and V. Kumar. Multilevel k-way partitioning scheme for irregular graphs.

[24] F. Lardeux, F. Saubion, and Jin-Kao. GASAT: A Genetic Local Search Algorithm for the Satisfiability Problem. Evolutionary Computation, volume 14 (2), MIT Press, 2006. [25] C.M. Li, W. Wei, and H. Zhang. Combining adaptive noise and look-ahead in local search for SAT. Proceedings of the Tenth International Conference on Theory and Applications of Satisfiability Testing(SAT-07), volume 4501 of Lecture Notes in Computer Science,

[26] C.M. Li, W.Q. Huang. Diversification and determinism in local search for satisfiability. In proceedings of the Eight International Conference on Theory and Applications of Satisfiability Testing (SAT-05), volume 3569 of Lecture Notes in Computer Science, pages:

[27] C.M Li, W. Wei, and H. Zhang. Combining adaptive noise and look-ahead in local search for SAT. In Proceedings of the Tenth International Conference on Theory and Applications of Satisfiability Testing (SAT-07), volume 4501 of Lecture Notes in

[28] M. Lozano and C.G. Martinez. Hybrid metaheuristics with evolutionary algorithms specializing in intensification and diversification: Overview and progress report.

Computers and operations Research, 37, pages: 481-497, 2010.

Computer Science and Applications, Volume 4, Issue 3, pages: 15-29, 2007.

Tech.Rep.CS99-01, Weizmann Inst.Sci., Faculty Maths.Comp.Sci, 1999.

Satisfiability Problem Using Finite Learning Automata. International Journal of

[11] F. Glover. Tabu Search-Part1. ORSA Journal on Computing, 1(3), pages: 190-206, 1989. [12] E. Goldberg, Y. Novikov. Bermin: a Fast and Robust SAT-solver. Proc.of the Design,

Automation and Test in Europe, IEEE Computer Society, 2002.

problem. Evolutionary Computation, 10(1), pages: 35-50, 2002.

Computing, 44, pages: 279-303, 1990.

Proceedings of AAAI-99, pages: 661-666, 1999.

Notes in Computer Science, pages: 772-776, 2005.

J. Par. Dist. Comput., 48(1), pages: 96-129, 1998.

Computer Science, pages: 121-133, 2007.

pages: 121-133, 2007.

158-172, 2005.

258-267, University of Essex, England, UK, April 2003.

irregular graphs. SIAM J. Sci. Comput., 20(1) pages: 359-392, 1998.

Figures 9 shows the convergence behavior expressed as the ratio between the best chromosome of the two algorithms as a function of time. The plots show that the curves are below the value 1 leading to conclude that MLVMA is faster compared to MA. The asymptotic performance offered by MLVMA is impressive, and dramatically improves on MA. In some cases, The difference in performance reaches 30% during the first seconds, and maintains it during the whole search process. However, on other cases, the difference in performance continues to increase as the search progresses.

#### **7. Conclusion**

In this work, we have described a new approach for addressing the satisfiability problem. which combines the multilevel paradigm with a simple memetic algorithm. Thus, in order to get a comprehensive picture of the new algorithm's performance, we used a set of benchmark instances drawn from Bounded Model Checking. The experiments have shown that MLVMA works quite well with a random coarsening scheme combined with a simple MA used as a refinement algorithm. The random coarsening provided a good global view of the problem, while MA used during the refinement phase provided a good local view. It can be seen from the results that the multilevel paradigm greatly improves the MA and always returns a better solution for the equivalent runtime. The quality of the solution provided by MLVMA can get as high as 77%. A scale up test shows that the difference in performances between the two algorithms increases with larger problems. Our future work aims at investigating other coarsening schemes and study other parameters which may influence the interaction between the memetic algorithm and the multilevel paradigm.

#### **8. References**


Figures 9 shows the convergence behavior expressed as the ratio between the best chromosome of the two algorithms as a function of time. The plots show that the curves are below the value 1 leading to conclude that MLVMA is faster compared to MA. The asymptotic performance offered by MLVMA is impressive, and dramatically improves on MA. In some cases, The difference in performance reaches 30% during the first seconds, and maintains it during the whole search process. However, on other cases, the difference in performance

In this work, we have described a new approach for addressing the satisfiability problem. which combines the multilevel paradigm with a simple memetic algorithm. Thus, in order to get a comprehensive picture of the new algorithm's performance, we used a set of benchmark instances drawn from Bounded Model Checking. The experiments have shown that MLVMA works quite well with a random coarsening scheme combined with a simple MA used as a refinement algorithm. The random coarsening provided a good global view of the problem, while MA used during the refinement phase provided a good local view. It can be seen from the results that the multilevel paradigm greatly improves the MA and always returns a better solution for the equivalent runtime. The quality of the solution provided by MLVMA can get as high as 77%. A scale up test shows that the difference in performances between the two algorithms increases with larger problems. Our future work aims at investigating other coarsening schemes and study other parameters which may influence the interaction between

[1] S.T. Barnard and H.D. Simon. A fast multilevel implementation of recursive spectral bisection for partitioning unstructured problems. Concurrency: Practice and Experience,

[3] C. Blum and A. Roli. Metaheuristics in combinatorial optimization: Overview and conceptual comparison. ACM Computing Surveys, 35(3) pages: 268-308, September

[4] D. Boughaci, H. Drias. Efficient and experimental meta-heuristics for MAX-SAT problems. In Lecture Notes in Computer Sciences, WEA 2005, vol. 3503/2005, pages:

[5] D. Boughaci, B. Benhamou, and H. Drias. Scatter Search and Genetic Algorithms for

[6] E.M. Clark, E.A. Emerson, and A.P.Sista. Automatic verification of finite state on current systems using temporal logic specifications. ACM Transactions on Programming

[7] S.A. Cook. The complexity of theorem-proving procedures. Proceedings of the Third

[8] M.R. Gary and D.S. Johnson. Computers and intractability: A guide to the theory of

[9] I. Gent and T. Walsh. Unsatisfied Variables in Local Search. In J. Hallam, editor, Hybrid

[10] L.P. Gent and T. Walsh. Towards an Understanding of Hill-Climbing Procedures for SAT.

[2] A.Biere at al. Bounded model checking. Advances in Computers,2003.

MAX-SAT Problems. J.Math.Model.Algorithms, pages: 101-124, 2008.

ACM Symposium on Theory of Computing, pages: 151-158, 1971.

NP-completeness. W.H. Freeman and Company, New York, 1979.

Problems, Hybrid Solutions, pages: 73-85. IOS Press, 1995.

Proceedings of AAAI'93, pages: 28-33. MIT Press, 1993.

Languages and Systems 8 , pages: 244-263, 1996.

continues to increase as the search progresses.

the memetic algorithm and the multilevel paradigm.

6(2) pages: 101-117, 1994.

**7. Conclusion**

**8. References**

2003.

501-512, 2005.


**9** 

**Library-Based Gate-Level Current Waveform** 

**Modeling for Dynamic Supply Noise Analysis** 

As the VLSI technology goes into the nanometer era, the device sizes and supply voltages are continually decreased. The smaller supply voltage reduces the power dissipation but also decreases the noise margin of devices. Therefore, the power integrity problem has become one of the critical issues that limit the design performance (Blakiewicz & Chrzaniwska-Jeske, 2007; kawa, 2008 & Michael et al., 2008). Most of the power supply noises (PSNs) come from two primary sources. One is the IR-drop and the other is the simultaneous switching noise (SSN). Figure 1(a) illustrates a typical RLC model for power supply networks, which is the combination of on-chip power grids and off-chip power pins. The IR-drop is a power supply noise when the supply current goes through those non-zero resistors and results in a I·R voltage drop. The simultaneous switching noise (SSN) is the supply noise which happens when large instantaneous current goes through those non-zero inductors on power networks and generates a L·(di/dt) voltage drop. When the supply voltage is reduced , the noise margin of devices also decreases as shown in Fig.1(b). It may induce worse performance because the driving capability of devices becomes week due to smaller supply voltage. If serious power supply noise occurs, the logic level may be changed, which causes function error in the circuit. The worst situation is the electronmigration (EM) effects. Supply wires are shorten or broken because a large current travels through the small supply wires. Therefore, the power supply noise analysis is reguired at

design stages to evaluate the effects caused by power supply noise.

Fig. 1. (a)RLC model for power supply (b) Supply Voltage over Time at Silicon Device.

**1. Introduction** 

Mu-Shun Matt Lee and Chien-Nan Jimmy Liu

*National Central University* 

*Taiwan (ROC)* 

