An Iterative Heuristic for State Justification in Sequential Automatic Test Pattern Generation Aiman H. El-MalehSadiq M. SaitSyed Z. Shazli Department.

Slides:



Advertisements
Similar presentations
1 Non-uniform Crossover in Genetic Algorithm Methods to Speed up the Generation of Test Patterns for Sequential Circuits Michael Dimopoulos - Panagiotis.
Advertisements

Population-based metaheuristics Nature-inspired Initialize a population A new population of solutions is generated Integrate the new population into the.
1 Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
Ali Husseinzadeh Kashan Spring 2010
CS6800 Advanced Theory of Computation
1 An Adaptive GA for Multi Objective Flexible Manufacturing Systems A. Younes, H. Ghenniwa, S. Areibi uoguelph.ca.
Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm
Tuesday, May 14 Genetic Algorithms Handouts: Lecture Notes Question: when should there be an additional review session?
Genetic Algorithms Representation of Candidate Solutions GAs on primarily two types of representations: –Binary-Coded –Real-Coded Binary-Coded GAs must.
Institute of Intelligent Power Electronics – IPE Page1 Introduction to Basics of Genetic Algorithms Docent Xiao-Zhi Gao Department of Electrical Engineering.
Aiman El-Maleh, Ali Alsuwaiyan King Fahd University of Petroleum & Minerals, Dept. of Computer Eng., Saudi Arabia Aiman El-Maleh, Ali Alsuwaiyan King Fahd.
Spie98-1 Evolutionary Algorithms, Simulated Annealing, and Tabu Search: A Comparative Study H. Youssef, S. M. Sait, H. Adiche
An Efficient Test Relaxation Technique for Synchronous Sequential Circuits Aiman El-Maleh and Khaled Al-Utaibi King Fahd University of Petroleum & Minerals.
Content Based Image Clustering and Image Retrieval Using Multiple Instance Learning Using Multiple Instance Learning Xin Chen Advisor: Chengcui Zhang Department.
Multiobjective VLSI Cell Placement Using Distributed Simulated Evolution Algorithm Sadiq M. Sait, Mustafa I. Ali, Ali Zaidi.
Fuzzy Simulated Evolution for Power and Performance of VLSI Placement Sadiq M. Sait Habib Youssef Junaid A. KhanAimane El-Maleh Department of Computer.
Finite State Machine State Assignment for Area and Power Minimization Aiman H. El-Maleh, Sadiq M. Sait and Faisal N. Khan Department of Computer Engineering.
Dec. 19, 2005ATS05: Agrawal and Doshi1 Concurrent Test Generation Auburn University, Department of Electrical and Computer Engineering Auburn, AL 36849,
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
Efficient Test Compaction for Combinational Circuits Based on Fault Detection Count- Directed Clustering Aiman El-Maleh and Saqib Khurshid King Fahd University.
Fuzzy Simulated Evolution for Power and Performance of VLSI Placement Sadiq M. SaitHabib Youssef Junaid A. KhanAimane El-Maleh Department of Computer Engineering.
Genetic Algorithm for Variable Selection
Fast Force-Directed/Simulated Evolution Hybrid for Multiobjective VLSI Cell Placement Junaid Asim Khan Dept. of Elect. & Comp. Engineering, The University.
Test Set Compaction for Sequential Circuits Computer Engineering, KFUPM Test Set Compaction for Sequential Circuits based on Test Relaxation M.S Thesis.
Artificial Intelligence Genetic Algorithms and Applications of Genetic Algorithms in Compilers Prasad A. Kulkarni.
Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Genetic Algorithms Overview Genetic Algorithms: a gentle introduction –What are GAs –How do they work/ Why? –Critical issues Use in Data Mining –GAs.
Genetic Algorithm.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Genetic Algorithms Michael J. Watts
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Optimization Problems - Optimization: In the real world, there are many problems (e.g. Traveling Salesman Problem, Playing Chess ) that have numerous possible.
Design of an Evolutionary Algorithm M&F, ch. 7 why I like this textbook and what I don’t like about it!
Introduction to Evolutionary Algorithms Session 4 Jim Smith University of the West of England, UK May/June 2012.
Fuzzy Genetic Algorithm
Computational Complexity Jang, HaYoung BioIntelligence Lab.
Genetic Algorithms Siddhartha K. Shakya School of Computing. The Robert Gordon University Aberdeen, UK
1 Genetic Algorithms K.Ganesh Introduction GAs and Simulated Annealing The Biology of Genetics The Logic of Genetic Programmes Demo Summary.
Genetic Algorithms Genetic algorithms provide an approach to learning that is based loosely on simulated evolution. Hypotheses are often described by bit.
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
METAHEURISTICS Genetic Algorithm Jacques A. Ferland Department of Informatique and Recherche Opérationnelle Université de Montréal
ECE 103 Engineering Programming Chapter 52 Generic Algorithm Herbert G. Mayer, PSU CS Status 6/4/2014 Initial content copied verbatim from ECE 103 material.
EE749 I ntroduction to Artificial I ntelligence Genetic Algorithms The Simple GA.
Solving Function Optimization Problems with Genetic Algorithms September 26, 2001 Cho, Dong-Yeon , Tel:
N- Queens Solution with Genetic Algorithm By Mohammad A. Ismael.
Genetic algorithms: A Stochastic Approach for Improving the Current Cadastre Accuracies Anna Shnaidman Uri Shoshani Yerach Doytsher Mapping and Geo-Information.
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Genetic Algorithm (GA)
Genetic Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
Agenda  INTRODUCTION  GENETIC ALGORITHMS  GENETIC ALGORITHMS FOR EXPLORING QUERY SPACE  SYSTEM ARCHITECTURE  THE EFFECT OF DIFFERENT MUTATION RATES.
Overview Last two weeks we looked at evolutionary algorithms.
Genetic Algorithms. Solution Search in Problem Space.
Breeding Swarms: A GA/PSO Hybrid 簡明昌 Author and Source Author: Matthew Settles and Terence Soule Source: GECCO 2005, p How to get: (\\nclab.csie.nctu.edu.tw\Repository\Journals-
Genetic Algorithms And other approaches for similar applications Optimization Techniques.
1 Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
Evolutionary Algorithms Jim Whitehead
Balancing of Parallel Two-Sided Assembly Lines via a GA based Approach
School of Computer Science & Engineering
Example: Applying EC to the TSP Problem
Comparing Genetic Algorithm and Guided Local Search Methods
VLSI Testing Lecture 7: Combinational ATPG
Example: Applying EC to the TSP Problem
Metaheuristic methods and their applications. Optimization Problems Strategies for Solving NP-hard Optimization Problems What is a Metaheuristic Method?
Fault Models, Fault Simulation and Test Generation
VLSI Testing Lecture 7: Combinational ATPG
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
Automatic Test Pattern Generation
Boltzmann Machine (BM) (§6.4)
Presentation transcript:

An Iterative Heuristic for State Justification in Sequential Automatic Test Pattern Generation Aiman H. El-MalehSadiq M. SaitSyed Z. Shazli Department of Computer Engineering King Fahd University of Petroleum and Minerals Dhahran, Saudi Arabia

Outline Motivation Test Pattern Generation for Sequential Circuits Genetic Algorithms (GA) Problem Definition The Proposed Approach Experiments and Results Contributions Future Directions

Present and Future* Transistors/sq. cm M M Pin count Clock rate (MHz) Power (Watts) Feature size (micron) * SIA Roadmap, IEEE Spectrum, July 1999

Testing Principle

Complexity of Sequential Circuits A sequential circuit has memory in addition to combinational logic. Test for a fault in a sequential circuit is a sequence of vectors, which Initializes the circuit to a known state Activates the fault, and Propagates the fault effect to a primary output

Basic Idea: Population improves with each generation. Construction of initial population Fitness criteria Parent selection Crossover and mutation Replacement policy Genetic Algorithms (GAs)

GAs for Test Generation Population: A set of input vectors or vector sequences. Fitness function: Based on Fault or Logic simulation of candidate vectors or sequences Regeneration rules (heuristics): Members with higher fitness function values are selected to produce new members via transformations like mutation and crossover.

Problem Definition State Justification: Process of finding a sequence of inputs that will drive the state machine from the reset (or unknown) state to the present state required by the test. The most time consuming step in sequential ATPG

Existing Solutions Deterministic Algorithms: –State justification involves backtracking –More effective for control-dominant circuits –Able to identify redundant faults Simulation-based Approaches: –Processing occurs in forward direction only –More effective for data-dominant circuits –Unable to identify redundant faults

Existing Solutions A Hybrid Approach is needed –Deterministic algorithms for fault activation and propagation –State justification using Simulation-based approaches

The Approach used in [Hsiao 98] Test sequences are generated randomly and each chromosome in the GA corresponds to a sequence of TVs Each vector in a sequence is logic simulated to get the state reached. This is compared with all the desired flip-flop assignments

The Approach used in [Hsiao 98] Objective: –To engineer a state justification sequence by ‘genetically’ combining candidate sequences If a sequence was found, it was appended to the test set Else, search was aborted and the next target state was picked

The Approach used in [Hsiao 98] Desired state 10x10x 0110 V1V V2V V3V V4V4 Fit (P 1 ) = 3 / V1V V2V V3V V4V4 Fit (P 2 ) = 3 / V1V V2V V3V V4V4 Fit (Child) = 1

The Approach used in [Hsiao 98] Length of the sequence is a multiple of the sequential depth of the circuit The fitness function matches only the last state reached, with the desired state.

Drawbacks of the approach Fixed length sequences Length of the sequence depends on structural sequential depth of the circuit Quality of intermediate states reached is not considered while justifying a target state

The Proposed Approach We apply GA while moving from a state to a state Hence, the chromosome consists of a single vector instead of a sequence of vectors State justification sequences are genetically engineered vector-by-vector

The Proposed Approach Reset state 0000 C1: C2: Fit(P1) = 0 / Fit(P2) = 1 / 3 Target state 11x0 C3: Fit(C) = 2 / is added to the state justification sequence 0110 becomes the new reset state

Select Target Fault Fault simulate generated sequence Run Deterministic ATPG Justify state using Genetic Algorithm Fault detected N Y Proposed Hybrid Framework

The Proposed Approach A minimum limit (Nlimit) on the number of states to be traversed for reaching an objective state is fixed A backtrack limit is also fixed Search continues for a state if either the state is found or one of the above limits exceeds

The Proposed Approach A Tabu List containing the last visited states is maintained. This is done to disallow moves which can result in a recycle Fault simulator HOPE was used and simulations were run on SUN ULTRA 10 stations

Benchmarks used

Obtaining the list of desired states To obtain the list of required states, we ran HITEC for 10 9 backtracks for all the circuits to remove redundant faults. Aborted faults are converted to full-scan equivalents TV is obtained which detects the fault State relaxation

The Parameters used The initial population is randomly generated Rate of crossover is 1 Mutation rate is 0.01 Single point crossover Roulette-wheel used for selecting parents Three replacement strategies were explored

(n+1) replacement strategy In the first strategy, the worst member of the previous generation was replaced by the new chromosome if the new chromosome was fitter. Average fitness monotonically increased in every generation

Random-Elitist strategy N/2 crossovers in every generation where N is the pop. size Half of the chromosomes were transferred directly to the next generation The other half was selected randomly Time taken was more than the first strategy

Roulette Elitist strategy N/2 crossovers in every generation Half of the chromosomes were transferred directly to the next generation The other half was selected by roulette wheel Time taken was more than the second strategy

Replacement Policies

Average and Best Fitness

Quality of the states reached

Effect of population size

Effect of no. of generations

Effect of TLS

Effect of Nlimit

Effect of BT Limit

Best results obtained

Recommended Parameters Population size32 Generations400 Nlimit1.5 * (#DFF) TLS15 BT Limit10

Recommended vs. Best

Genetic Parameters used in [Hsiao 98] Two-point uniform crossover has been used. The probability of crossover is 1. Any vector in the chrome is replaced with another random vector in mutation The probability of mutation is 0.01 Tournament selection mechanism is applied A population size of 32 gave the best results Length of sequence = 4*seq.depth

Comparison with [Hsiao 98]

Contributions A hybrid ATPG approach for sequential circuits, where both deterministic and GA-based state justification are involved A novel state justification procedure based on GA Genetic engineering of a sequence ‘vector by vector’. –Advantage of dynamically determining the length of justification sequence –Benefit of taking quality of intermediate states into account

Contributions Comparison of three replacement strategies –(n+1) replacement strategy gave better results Use of Tabu List to prevent the algorithm from visiting previously visited state Sensitivity analysis of the parameters used

Future Directions Experimenting with other heuristics (like Tabu Search) Parallelization of the algorithm (for eg. Fitness evaluation)