Particle swarm-based optimal partitioning algorithm for combinational CMOS circuits

https://doi.org/10.1016/j.engappai.2006.06.011Get rights and content

Abstract

This paper presents a swarm intelligence based approach to optimally partition combinational CMOS circuits for pseudoexhaustive testing. The partitioning algorithm ensures reduction in the number of test vectors required to detect faults in VLSI circuits. The algorithm is based on the circuit's maximum primary input cone size (N) and minimum fanout (F) values to decide the location and number of partitions. Particle swarm optimization (PSO) is used to determine the optimal values of N and F to minimize the number of test vectors, the number of partitions, and the increase in critical path delay due to the added partitions. The proposed algorithm has been applied to the ISCAS’85 benchmark circuits and the results are compared to other partitioning approaches, showing that the PSO partitioning algorithm produces similar results, approximately one-order of magnitude faster.

Introduction

The advancement in VLSI semiconductor technology has led to a phenomenal development in electronic systems. With the reduction in device sizes, a very large number of transistors can fit onto a single chip. However, as the chip density increases, the probability of defects occurring in a chip increases as well. The quality, reliability, and cost are directly related to the intensity of product testing. As a result, testing has become a major concern. All possible irredundant faults can be found only through exhaustive testing of a circuit. However, a purely combinational digital circuit with M inputs requires 2M test vectors for exhaustive testing, while a sequential circuit may require even more test vectors. As M increases, the applicability of all 2M test vectors becomes impractical and alternative approaches are needed.

The pseudoexhaustive testing approach has been proposed by McCluskey (McCluskey and Bozorgui-Nesbat, 1981). In this method, the circuit is partitioned into a number of subcircuits, which considerably reduces the required number of test vectors. Archambeau (Archambeau and McCluskey, 1984) demonstrated that when single-output partitions are used, all detectable combinational faults within each partition are detected by such a test. The PIFAN algorithm for partitioning was developed by (Shaer et al., 2000a, Shaer et al., 2000b). It is based on the primary input (PI) cone and FANout (FO) values of each node in the circuit. This algorithm was automated and improved upon later by the authors and called I-PIFAN (Shaer and Dib, 2002). This method has been found to be more effective than the previously suggested approaches such as partition design methodology and simulated annealing (Al-Arian and Bolling, 1994; Shperling and McCluskey, 1987). I-PIFAN seeks to minimize the number of test vectors, the number of partitions, and the increase in critical path delay.

I-PIFAN is based on two constant inputs, maximum node fanin size, N, and minimum partitioning FO value, F. A node is partitionable if it is not an inverter or buffer and has a PI value greater than one. If a node's FO value is greater than or equal to F and the node is partitionable, a partition is inserted. The inputs of any node whose PI value is greater than N are processed for partitioning to reduce the node's PI cone. The algorithm performs an exhaustive test of all combinations of constants, N and F, over some specified range, fully partitioning the circuit for each combination of N and F, and producing a table of possible circuit partitions, from which the best result can be selected.

A recently developed algorithm known as particle swarm optimization (PSO) that emerges and allies itself to evolutionary algorithms based on simulation of the behavior of a flock of birds or school of fish, has proven to have great potential for optimization problems (Kennedy and Eberhart, 2001; Kennedy and Eberhart, 1995; Venayagamoorthy and Gudise, 2004; Gudise and Venayagamoorthy, 2004). Swarm algorithms differ from evolutionary algorithms most importantly in both metaphorical explanation and how they work. PSO is able to find optimal solutions for both single-objective and multi-objective problems (Clerc and Kennedy, 2002; Coello et al., 2004). In this paper, PSO is used to efficiently determine the optimal values of N and F for the I-PIFAN partitioning algorithm, without necessitating an exhaustive test or limiting the values to a specified range, resulting in an order of magnitude speedup; and the authors refer to this approach as PSO–PIFAN.

The paper is organized as follows. The partitioning algorithm is presented in Section 2. The PSO algorithm is described in Section 3. Section 4 presents PSO-based partitioning and the fitness function formulation. Section 5 describes the results obtained using PSO–PIFAN and compares with those obtained from the I-PIFAN approach, for the standard ISCAS’85 benchmark circuits (Brglez and Fujiwara, 1985). Finally, the conclusions and future work are presented in Section 6. The nomenclature used throughout this paper is summarized in Table 1.

Section snippets

Partitioning approach

Circuit partitioning is carried out using the I-PIFAN algorithm (Shaer and Dib, 2002), which is based on reducing nodes’ PI cone size and FO values. The initial step is to form a gate and input matrix representation of the circuit from its Verilog netlist file. The next two subsections describe this circuit representation and the partitioning methodology used.

PSO

PSO is an evolutionary computation technique developed by (Kennedy and Eberhart, 2001; Kennedy and Eberhart, 1995). It is motivated by the social behavior of organisms such as bird flocking, fish schooling, and swarm theory. In PSO, the potential solutions, called “particles”, fly around in a multi-dimensional search space, to discover an optimal, or sub-optimal, solution by competition as well as cooperation among themselves. The system initially has a population of random solutions. Each

PSO–PIFAN

The PSO algorithm in this paper is used to determine the optimal values of N and F, based on the value of a fitness function, f, which tells how well the solution achieves the specific optimization criteria. This paper analyzes two different cases. The first case considers the minimization of the number of partitions and number of test vectors. However, this does not take into consideration the increase in critical path delay due to hardware overhead introduced in the circuit from the

Results

The effectiveness of the PSO–PIFAN algorithm is demonstrated using the simplified case study example presented in (Shaer and Dib, 2002). The circuit has 9 PIs and 3 POs. Hence, the number of test vectors required to exhaustively test the circuit is 29=512. The partitioning based on the I-PIFAN approach resulted in 4 partitions and 46 test vectors. The PSO–PIFAN algorithm resulted in the same number of partitions and test vectors. For the example circuit in Fig. 1, PSO–PIFAN found the optimal

Conclusions and future work

In this paper, particle swarm optimization (PSO) is applied to the circuit-partitioning problem. The I-PIFAN algorithm is used as the partitioning approach and the parameters N and F are determined using PSO. The PSO–PIFAN algorithm minimizes the number of test vectors, the number of partitions, and the critical path, simultaneously. The results using the PSO–PIFAN algorithm show that it is effective in determining the optimal values of N and F, and that it is more efficient than the I-PIFAN

Acknowledgment

The authors gratefully acknowledge the support from the National Science Foundation under CAREER Grant ECS ♯ 0348221.

References (19)

  • S. Al-Arian et al.

    Improving the testability of VLSI circuits through partitioning

    IEEE Symp. Circuits Syst.

    (1994)
  • Archambeau, E.C., McCluskey, E.J., 1984. Fault coverage of pseudo-exhaustive testing. Digest, International Conference...
  • U. Baumgartner et al.

    Pareto optimality and particle swarm optimization

    IEEE Trans. Magn.

    (2004)
  • E. Bonabeau et al.

    Swarm Intelligence

    (1999)
  • F. Brglez et al.

    A Neutral Netlist of 10 Combinational Benchmark circuits. Proceedings of the IEEE International Symposium on Circuits and Systems

    (1985)
  • M. Clerc et al.

    The particle swarm—explosion, stability, and convergence in a multidimensional complex space

    IEEE Trans. Evol. Comput.

    (2002)
  • C.A.C. Coello et al.

    Handling multiple objectives with particle swarm optimization

    IEEE Trans. on Evol. Comput.

    (2004)
  • Doctor, S., Venayagamoorthy, G.K., Gudise, V.G., 2004. Optimal PSO for collective robotic search applications. IEEE...
  • Gudise, V.G., Venayagamoorthy, G.K., 2004. FPGA placement and routing using particle swarm optimization. IEEE Computer...
There are more references available in the full text version of this article.

Cited by (16)

  • PID-type fuzzy logic controller tuning based on particle swarm optimization

    2012, Engineering Applications of Artificial Intelligence
    Citation Excerpt :

    Particle swarm optimization has been enormously successful in several and various industrial domains. It has been used across a wide range of engineering applications (Marinakis et al., 2010; Samanta and Nataraj, 2009; Liu et al., 2008; Venayagamoorthy et al., 2007). These applications can be summarized around domains of robotics, image and signal processing, electronic circuits design and communication networks, but more especially the domain of plant control design, as shown in Bouallègue et al. (2010a, 2010b, 2011).

  • Investigation of particle swarm optimization for switching characterization of inverter design

    2011, Expert Systems with Applications
    Citation Excerpt :

    In the literature, PSO algorithm was also applied to some electronic circuit design problems. In Venayagamoorthy, Smith, and Singhal (2007), PSO was proposed as a method for determining the parameters for circuit partitioning problem and this method optimized the critical path as well as the number of partitioning and test vectors. Gate level design of combinational logic circuits was another area where PSO is successfully utilized for minimizing the number of gates during realization of 100% feasible circuits (Coello, Luna, & Aguirre, 2003; Moo Moore & Venayagamoorty, 2005, 2006).

  • Hybrid Segmentation Approach for Digital Circuits in Pseudo-Exhaustive Testing

    2021, Journal of Electrical and Electronics Engineering
View all citing articles on Scopus
View full text