Abstract
Test scheduling of System-on-Chip (SoC) is a major problem solved by various optimization techniques to minimize the cost and testing time. In this paper, we propose the application of Dragonfly and Ant Lion Optimization algorithms to minimize the test cost and test time of SoC. The swarm behavior of dragonfly and hunting behavior of Ant Lion optimization methods are used to optimize the scheduling time in the benchmark circuits. The proposed algorithms are tested on p22810 and d695 ITC’02 SoC benchmark circuits. The results of the proposed algorithms are compared with other algorithms like Ant Colony Optimization, Modified Ant Colony Optimization, Artificial Bee Colony, Modified Artificial Bee Colony, Firefly, Modified Firefly, and BAT algorithms to highlight the benefits of test time minimization. It is observed that the test time obtained for Dragonfly and Ant Lion optimization algorithms is 0.013188 Sec for D695, 0.013515 Sec for P22810, and 0.013432 Sec for D695, 0.013711 Sec for P22810 respectively with TAM Width of 64, which is less as compared to the other well-known optimization algorithms.
Introduction
Integrated Circuits play a major role in the development happened in technologies like smartphones, tablets, camera etc. The first developed IC consists of one capacitor, one transistor, and three resistors. Improvements in fabrication technology have caused the ICs to be built with billions of transistors called System-on-Chip (SoC). The SoC contains more than one million gates, memories, cores, analog and digital blocks placed on a single chip. Designing and manufacturing a large-scale IC has major issues like power consumption and thermal issues. Since testing involves large switching activities, more attention should be paid to test mode than normal mode [1, 2]. To overcome the problem in SoC testing, an effective method is modular testing of embedded cores. These cores are complex predefined blocks that allow for design reuse leading to shortening the product development cycle. However, the main challenge lies in the manufacturing test and the debugging of the SoC designs [1].
Hence to access the cores and test resources, there is a need for test architecture design. Modular testing in which Test Access Mechanism (TAM) and embedded cores are present in an SoC sends and receives data from Automatic Test Equipment (ATE) [3]. In modular testing, the embedded cores are isolated, and test access is gained to the individual SoCs for test data delivery. In this process, the divide and conquer approach is followed, promoting pre-computed test sets of embedded cores. These cores become the primary motivation for modular testing [4].
The testing cost is minimized by proper test planning, including test scheduling and test architecture design. Testing time is considered as the objective function shown in the equation below (1).
Where S o and S i are the output and input length of the scan chain and t pi is the test pattern.
At ITC’02 SoC Test Benchmark Circuits [5] was presented. Table 1 shows the particulars of the SoC benchmark circuits.
Benchmark circuit details
Test scheduling is an important concern in SoC test automation. Efficient test schedules minimize the overall cost and time to market the chip.
The advantage of the proposed approaches is that we implicitly minimize the test time, which implicitly reduce the test cost. In this paper, we propose evolutionary approaches for test scheduling to reduce cost and time. The contributions of this paper are as follows: Dragonfly and Ant Lion Optimization algorithms used for the test scheduling yields considerably better test times than the other heuristic methods. The performance of heuristic algorithms for various TAM widths are computed to test its efficiency on two benchmark circuits.
The rest of this article is organized as follows. In Section 2 literature review is described. The proposed works are described in Section 3. In Section 4 the experimental results are presented. Conclusions and future work are in Section 5.
For test time reduction in core-based systems, wrapper and TAM optimization have been done effectively. Access requirement-based wrapper design of cores was developed. Using TAM and wrapper design optimization techniques, algorithms are developed for the NP-hard problem in test scheduling. Two architectures, namely, distribution architecture and multiplexing architecture, were developed to compute the testing time [6]. Particle Swarm Optimization (PSO) [5] algorithm is based on bird behavior when searching for food. In this algorithm, particle refers to an individual bird, and the dimension represents the number of the parameter. The natural evolution process inspires a Genetic Algorithm (GA) [7]. It offers different operations like selection, mutation, crossover, and many other natural evolution processes.
Liu [8] introduced a parallel elite genetic algorithm to reduce test time. In this offspring are generated using parent A and parent B, and then crossover and mutation are done. This algorithm is tested in 2D SoC benchmark circuits, and it has proved to be one of the effective scheduling algorithms. The real-time behavior of ant in search of food by using pheromone leads to Ant Colony Optimization (ACO) [9, 10]. This pheromone helps to find new routes for their food, and other ants follow the same route. In the modified ACO [12, 13], when the number of cores is reduced, the number of ants also decreases, which reduces the system’s test time.
Artificial Bee Colony (ABC) algorithm [14] is enthused from the nectar searching process carried out by artificial bees. Here, bees belonging to the same colony are divided into three sets; the first set of bees’ search food source, another set of bees (onlooker bees) selects best food source, and the third set of bees (scout bees) search for food in search space randomly. Modified ABC algorithm [15, 16] enhances the population’s average fitness by mutating weak possible solutions to the most appropriate solution. Firefly Algorithm (FA) [17] works on assumptions that the gender of all fireflies is the same, attractiveness depends upon brightness of light, and fitness function relies on brightness. The Modified FA [18] reduces the randomness so that the convergence can be obtained speedily, and the fireflies move towards global optima. Bat Algorithm (BA) [19] mimics the echolocation process that bats use to detect prey from a distance in the dark. The echolocation process perceives objects by reflected sound. Hence bats can identify prey through reflected frequency. The exploration and exploitation processes are maintained through frequency and zooming parameters.
Due to the increase in test power consumption and volume of test data sets, the serious challenges are faced in testing a system-on-chip. Hence, three coding test compression techniques [20] is used. The testing time is reduced with an increase in the compression ratio. For circular scan circuits, new test set compression scheme is developed [21]. This method efficiently minimizes the test data volume and testing time. For digital circuits, Two-Stage Low Power Test Data Compression was proposed [22]. The two-stage test data compression applied with filled test cubes. The test sets are encoded and the test data compression is enhanced using alternative statistical run-length coding. Then the compressed ASRL sets are encoded using Run Length based Huffman Coding. Due to an increase in demand for test data compression, the newest and easiest method is implemented to minimize the test data volume. Based on bit reversion, test data compression approach was developed [23] in which the compression becomes easier. This approach can be used in various coding schemes. The technique enhances test compression for multiple expansion results was suggested [24]. This method is mainly used to detect faults at higher expansion ratios. The faults at a higher expansion ratio can also be detected, and hence the concatenation of the scan chain is done.
Test time minimization is done by both test compression and test sharing in one framework. The optimization time is increased using this approach since the complexity is increased [25]. Research present a SoC testing approach that integrates test data compression, test scheduling and TAM design. It shows that the dynamic scheduling approach is more flexible since the performance of the static method depends on the configuration of the predetermined test cubes. In this work test algorithm is static in nature [26–28]. The algorithm used will adaptively find the earliest start time of each test and will generate a test schedule to reduce the test time, this test schedule is a thermal aware test [29]. SoC is designed addressed in such a way where it tries to minimize the test access mechanism (TAM) design and test schedules via reconfigurable core wrappers Further, it also tries to minimize via extended core design and extract the properties by the hierarchical way [30]. The further study approached the genetic algorithm to minimize TAM but the process followed is a hierarchical core [31]. In these all study the way of reduce TAM is traditional and modified, but it’s still need improvement as stated by researcher in their study for future work.
Proposed methodologies
The cores are represented as rectangle bins with their height represents TAM width and length represents test time as shown in Fig. 2. The unfilled bin area is the idle time.

Modular testing.

SoC Test Scheduling.
Figure 3 shows the block diagram of the proposed architecture. The first step in the proposed architecture is the assignment of input parameter values followed by population initialization. Using these input parameters training and testing of data is done. Optimization is done using dragonfly and ant lion algorithm. Then the test time is estimated using optimal test scheduling.

Proposed Architecture.
Dragonfly Algorithm (DA) [32, 33] is a swarm optimization technique based on the dragonfly’s behavior. DA is used to address a wide variety of optimization concerns, such as image processing, robotics, medical, computer science, engineering, and many others. In comparison to other well-considered optimization algorithms. DA is influenced by the natural behaviour of artificial dragonflies and has proved its effectiveness and robustness. The exploitation and exploration parameters are well modeled for global optimization in this method. The life cycle of Dragonflies includes two phases of adult and nymph. Nymphs also hunt on other tiny insects and small fishes in water ponds. The dragonflies are unique and swarm for migration and hunting. The latter is known as dynamic (migratory) swarm, and the former is known as static (feeding) swarm. In a static swarm, dragonflies form small groups for predating other insects such as mosquitoes and butterflies. Three stages in the dragonfly behavior are
Separation (S): To avoid a collision from the neighbors, the swarms are separated from others. Separation (S) is represented by equation (2)
Whereas X is the current individual position X j is the jth individual neighboring position and
N represents the number of neighborhoods.
Alignment (A): Each individual’s velocity is matched by the other. The alignment is denoted by Equation (3)
Whereas V j is the neighboring individual j velocity.
Cohesion (C): Swarm attraction to the core of the swarm population described by the Equation (4)
The mathematical representation of attraction towards the food F
i
is given by
The distance from the enemy E
i
is calculated by
Where X+, X- are the food source and enemy position.
With separation (s), alignment (a), cohesion (c), food (f), and enemy factors (e), different exploitative and explorative behaviors can be reached during optimization shown in Fig. 4. A small change in the position of the dragonfly is calculated as follows

Various stages of DA.
Where w, t represents inertia weight and iteration counter.
The updated position vector is
The randomness and stochastic dragonflies’ behavior of the can be enhanced by carried out levy flight in the search space. The dragonflies position update is given by
Where t is the current iteration, and d is the search space dimension. The Levy flight is given by
Where r1 and r2 represent the random numbers [0; 1] and β is a constant and σ is given by
Pseudocode of DA for test schedule is shown below:
Ant Lion Optimization (ALO) algorithm [34–36] is derived from natural behavior patterns and was introduced by Mirjalili. ALO has been shown to have good efficiency in solving optimization problems with the advantages of few parameters and high speed. The algorithm makes use of the hunting behavior of antlions. The antlions use sandpits to trap its prey, and the property of these pits depends on various parameters like availability of moonlight. The algorithm considers all these and highlights on five main steps which include (i) Capturing walking patterns of ants (prey), (ii) Antlion builds cone-shaped pits to catch ants, (iii) Trapping of ants/prey in cone-shaped pits, (iv) The preys get caught by antlion and gets eaten and (v) Finally antlion rebuilds traps based on various conditions. Antlions species come under the Myrmeleontidae family (family well known for hunting behavior of their larvae) and Neuroptera order (includes all net-winged insect). The pattern of cone-shape pits is another peculiar behavior of antlions and needs to be noted for the algorithm’s development. The cone trap’s size varies on dual scenarios - 1) Antlion hunger level and 2) Moonlight or Shape of the moon. The pit size is directly proportional to the moonlight. When there is more moon, the antlion prey has more visibility, and there are fewer chances of being caught. All of these are depicted in Fig. 5.

Ant lions hunting behaviour - Pits for Catching prey and Influence of Moon.
For the development of the antlion optimization algorithm following steps are considered Ants / Antlion prey move around in the sand space (area under consideration) using various random walks. These random walks are taken and considered to be applied to all the areas on the sand. Antlions create traps, and these walks of ants get impacted by the traps (sandpits) created by antlions. Antlions build pits as per their energy level, which is considered as its fitness function. Larger sand pits antlions have more chance/possibility of catching ants as their prey. An antlion can trap every ant/prey in each of the iterations, and it is treated that the fittest gets caught. he random walks are decreased effectively to emulate the sliding effect of ants towards antlions. If an ant is a fitter than the antlion, it gets caught by the antlion. In this, the antlion pulls the ant under the sandpits. After catching the ant, antlion makes into a new position (or improves existing sandpit) and makes necessary modifications on the existing sandpit to improve to catch another ant.
The mathematical model of random walks of ants are represented as
Where
n, t indicates the total number of iterations and the random walk to the specific step of an ant.
cumsum, r(t) indicates the cumulative sum of random walks and the main function defined.
The position of ants concerning antlions is stored first. The following matrix indicates the same.
Fitness of ants is considered as the probability of the same being caught by antlion. This fitness needs to be represented in a matrix as well.
In addition to ants’ behavior, it assumed that the antlions are also hidden in the area (cone-shaped pits). Their position becomes another critical criterion, and the same is depicted as follows.
A fitness function for antlions is also to be considered for better treatment of use-case. M
ObjAntlion
is treated as the matrix indicating the fitness function of each antlion
Another need is to maintain the random walk within the area chosen. A mix-max normalization technique is applied as indicated below.
Where a
i
is treated as the lowest of walks of variable i, d
i
indicates the highest of the walk with variable i.
This behavior’s mathematical model can be done by gradually reducing the diameter of the ant’s walk’s search area. The following equations are added to compensation.
The present iteration,
Where

Flowchart of ALO.
The results are obtained using C# software using Visual Studio IDE. To demonstrate the effectiveness of the proposed solution for testing SoCs, we present experimental results for two ITC’02 benchmark SoCs: d695 and p22810. The benchmark circuit d695 contains 10 cores and p22810 contains 30 cores. The number of inputs, number of outputs, number of pins, the number of wrapper inputs, number of wrapper outputs, the number of scan chains, and the length of the scan chain are the details shown in the format of the d695 benchmark circuit. This benchmark circuit is given as input to the program and the optimization algorithms are implemented to find the minimum test application time. The testing time for individual cores when tested using the number of pins in an SoC is calculated. Provided a SoC with K TAM wires, a set of N cores, and a set of wrapper designs for each core, we expect to define the assignment of TAM wires to each core test and determine the test start time for each test so that the overall test time is minimized. Since at any point during the test, any TAM wire can only be assigned to one core for the test, the rectangles transformed from the test scheduling problem cannot overlap.
Table 2 shows the initialization of input parameters of DA and ALO for various TAM widths. Choice of these parameter values is a trade of between SoC testing time and TAM width available to test the cores. The values of the parameters are chosen such that improved SoC testing time is obtained. Overall test times have been calculated using proposed algorithms. Test scheduling algorithms are used to calculate the optimum test time for core based SOC system. While doing this, different parameters are also taken in to consideration. Figures 7 and 8 show the initialization of core for d695 and p22810 SoC benchmark circuits for TAM width W = 16 using the DA. Figures 9 and 10 show the initialization of core for d695 and p22810 SoC benchmark circuits for TAM width W = 16 using the ALO. Figures 5, 6, 7 and 8 show that for initialization of core, various parameters are taken as input, and they are initialized with a particular value. The figures show that the parameters are initialized, and the optimal test time can be calculated for the TAM width of 16 for both benchmark circuits.
Input parameters of DA, ALO for core initialization
Input parameters of DA, ALO for core initialization

Initialization of DA for D695 SoC.

Initialization of DA for P22810 SoC.

Initialization of ALO for D695 SoC.

Initialization of ALO for P22810 SoC.
Tables 3, 4 shows the test time comparison for d695 and p22810 SoC using different algorithms with various TAM widths such as 16, 24, 32, 40, 48, 56, 64. Among these algorithms, the DA algorithm reduces the test time of SoC for all the TAM widths considered to reduce the test cost. From Table 3 it is noted that proposed DA minimizes the test time to 89%, 63%, 49%, 36%, 59%, 54% and 9% than ACO, Modified ACO, ABC, Modified ABC, Firefly, Modified Firefly and BAT algorithms for d695 SoC benchmark circuit. Similarly, the proposed ALO minimizes the time for testing to 88%, 61%, 48%, 34%, 58%, 52%, and 7% than ACO, Modified ACO, ABC, Modified ABC, Firefly, Modified Firefly and BAT algorithms for d695 SoC benchmark circuit. From Table 4 it is noted that proposed DA minimizes the time for testing to 98%, 97%, 51%, 66%, 70%, 66% and 9% than ACO, Modified ACO, ABC, Modified ABC, Firefly, Modified Firefly and BAT algorithms for p22810 SoC benchmark circuit. Similarly, the proposed ALO minimizes the time for testing to 97%, 96%, 49%, 64%, 68%, 65%, and 7% than ACO, Modified ACO, ABC, Modified ABC, Firefly, Modified Firefly and BAT algorithms for p22810 SoC benchmark circuit. The proposed DA, ALO algorithms show the minimization of test time compared to ACO, Modified ACO, ABC, Modified ABC, Firefly, Modified Firefly, and BAT algorithms. Similarly, Figs. 11, 12 show the box plot of TAM width and test time of ALO for D695 and P22810 benchmarks. From the figures, it is observed that test time is reduced when the TAM width increases.
Test Time Comparison for D695 SoC
Test Time Comparison for P22810 SoC

Box plot of DA.

Box plot of ALO.
The results clearly show that proposed DA, ALO algorithms show the minimization of test time compared to ACO, Modified ACO, ABC, Modified ABC, Firefly, Modified Firefly, and BAT algorithms.
This paper presented a solution for the test scheduling and TAM optimization problem using meta-heuristic algorithm. In this paper, Dragonfly and Ant Lion optimization algorithms have been successfully implemented to optimize the testing time in the two benchmark circuits. The testing time of the two proposed and other well-known algorithms are estimated for various TAM widths. The effectiveness of the proposed algorithms is tested by comparing it with various algorithms in testing time. Under varying TAM widths like 16, 24, 32, 40, 48, 56, and 64, it has been found that the testing time of the Dragonfly algorithm is lesser than other algorithms. It was observed that the testing time is reduced to 89%, 63%, 49%, 36%, 59%, 54% and 9% for d695 and 98%, 97%, 51%, 66%, 70%, 66% and 9% for p22810 when dragonfly algorithm is used when compared to ACO, Modified ACO, ABC, Modified ABC, Firefly, Modified Firefly, and BAT algorithms. Results of the ITC’02 benchmarks show that the Dragonfly algorithm was able to find optimal results in most cases as compared to other algorithms. The Dragonfly algorithm is best suited for test scheduling problems in SoCs, where the optimization is a very crucial task. Therefore, it may be concluded that the Dragonfly algorithm may be used to do scheduling in SoCs. In the future, algorithms like Emperor Penguins Colony, Random Forest Algorithm, Invasive Weed Optimization, and Tree-Seed Algorithms could be tested to minimize the test time.
Footnotes
Acknowledgments
The test bench is done in CEG, Anna University, and results collected from the same. We thank Prof. Dr. P. Sakthivel for his continuous support and guidance.
