Heuristic Minimization of Boolean Relations Using Testing Techniques

Size: px
Start display at page:

Download "Heuristic Minimization of Boolean Relations Using Testing Techniques"

Transcription

1 Heuristic Minimization of Boolean Relations Using Testing Techniques Abhijit Ghosh Srinivas Devadas A. Richard Newton Department of Electrical Engineering and Coniputer Sciences University of California, Berkeley Abstract A Boolean relation is a one-to-many multi-output boolean mapping. Boolean relations are a generalization of incompletely specified logic functions, where for each output, a set of input values is given for which that output can be either 0 or ; a don t care. Boolean relations arise in several contexts. For instance, in a finite state machine with sets of equivalent states. Another is where one combinational logic block feeds another and the second maps two inputs J: and y into the same output pattern; thus for the first block, outputs x and yare equivalent. In general, we want to implement one of the logic functions compatible with the boolean relation, generally the one with the least cost. Minimization of boolean relations is important from the point of view of synthesis, especially in synthesis for testability. In this paper we describe a very fast heuristic procedure for finding an optimal sum-of-products representation for a boolean relation. Starting with a function compatible with the relation, a process of iterative logic improvement based on test generation techniques is used to derive a minimal function compatible with the boolean relation. INTRODUCTION Boolean relations are a generalization of incompletely specified logic functions. Typically, for such functions, a set of input values is specified for which one or more outputs can be either 0 or, i.e. a don t care. Logic minimizers like ESPRESSO [l] can utilize this information to obtain smaller sum-of-products representations of functions. However, not all aspects of incomplete specification can be captured using don t cares, especially for multi-level logic networks. Consider the example shown in Figure. In this figure, there are two PLA s, with PLAl driving PLA2. The logic function of PLAl is represented by the truth table shown in Figure 2. If fl and f2 are intermediate variables i.e. they are used only as inputs to PLA2, then it does not matter whether PLAl produces 00 instead of because PLA2 maps both 00 and to the same value 0 at its output. Similarly, PLAl could produce either 0 or 0. The output. patterns 00 and are equivalent, and so are 0 and 0. This kind of incomplete specification cannot be represented as output don t cares [3], but only as a boolean relation as shown in Figure 3. In this representation, for every minterm in the input space, there is a set of outputs and any output from the corresponding set of outputs can be chosen for that minterm to form a function compatible with the boolean relation. Note that don t cares can be easily represented using boolean relations, as illustrated with the example in Figure 4. If the function shown in Figure 2 is minimized, the minimized function is fl = ab +?is A = a However, if we choose a different function with the output 0 for the first and third input minterms and the output 00 for the second and fourth, the minimized function becomes - fi = 6 f2 = 0 and the overall behavior of the PLA network remains unchanged. As is evident from this example, significant savings in network size may be obtained by exploiting boolean relations for the minimization of PLA. Boolean relations arise in several contexts. One of them is the situation described above where one PLA drives another and the driven PLA maps two input patterns x and y to the same output, and therefore for the driver PLA, I and y are equivalent outputs. The other situation is a finite state machine with sets of equivalent states. For each present Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, Cambridge m, Figure : PLA driving PLA Figure 2: Truth Table of PLAl state and input, the machine can go to any one of the states in the set of next states. This situation can be easily represented using boolean relations. Minimization of boolean relations helps in deriving smaller logic networks, and also in synthesizing circuits for testability [4]. As has been mentioned before, in a boolean relation, for each minterm in the input space, any one of the patterns from the set of output patterns for that minterm, can be chosen. For each choice of outputs, a boolean function [l] is obtained. In applications we want to implement one of the functions, generally the one with the least cost. Thus the problem of minimization is two-fold. A function with the least cost has to be identified first, and then minimized. In this paper we focus on two level sum-of-product representations of functions. In [2] an exact procedure for the minimization of boolean relations was given. The problem was formulated as a linear integer 0- program, and a branch and bound covering method was given to find the minimum cover. The problem with this approach is its exponential complexity, both in terms of CPU time and memory required to generate and store all the e-primes. Thus it can be applied only to small examples. To date, no other method for minimization of boolean relations have been developed. In the sequel, a very fast heuristic minimization algorithm is presented. This procedure makes use of test generation techniques to determine i. prim- -,,A irredundant (minimal) implementation of boolean relations. This paper is organized as follows. Definitions are presented in Section 2. In Sections 3 and 4, the minimization and network formation procedures are described. The expansion algorithm is presented in Section 5, followed by the irredundant cover algorithm in section 6. In section 7, the reduction algorithm is described. Due to space constraints, the make-sparse algorithm is not described in this paper. Initial results presented in Section 8 demonstrate the viability of this approach and its superiority over exact minimization approaches for large circuits. 2 DEFINITIONS Throughout the paper, it is assumed that the reader is familiar with the terminology of [l] and [3]. Figure 3: Boolean Relation for PLAl CH2909-0/90/0000/0277$0.OO IEEE 2

2 Figure 4: Representation of Don't Cares Definition 2. A boolean relation [3] is a one-lo-many multi-output boolean mapping, R : BP - Bn, where B = {0,). Thus R(x) C B" is a set. For a boolean relation, for each input minterm (or cube) c E B', a set of primary output vectors can be asserted by that minterm (cube). The set of primary output vectors corresponding to that minterm (cube) c of the relation is called the equivalence class for the minterm (cube) and is denoted by OE(C). The cover of a boolean relation is a set of cubes and their corresponding equivalence classes (clo~(c)). Definition 2.2 A multi-output boolean function f is a mapping compatible with R if for a mintem z, f(z) E OE(Z), Vz E B'. A set of cubes (cly), where c E Br and y E OE(C), constitute the cover of a boolean function. The cover is said to be valid if the function corresponding to the cover is compatible with the relation R. Definition 2.3 Two implementations fl and f2 of a boolean relation R are equivalent if fl and f2 are mappings compatible with R. Thus for any mintem z, fi(z) and fi(z) must be elements of the set OE(Z). Definition 2.4 A cube of a function f which is compatible with a boolean relation R is said to be prime if raising any literal causes the resulting function to be non-equivalent to f. Definition 2.5 A cube of a function f which is compatible with a boolean relation R is said to be irredundant if on removal of the cube from the cover, the resulting function is not equivalent to f. Definition 2.6 A cover of a function f which is compatible with a boolean relation R is said to be prime and irredundant if every cube in the cover is prime and irredundant. 3 MINIMIZATION ALGORITHM Minimization of a boolean relation can be viewed as a two-step process. The first step is the choice of function and the second step is the minimization of the function. The objective in the first step is to choose the function which when minimized will have the optimum implementation. An optimum implementation is characterized by minimum number of product terms in the cover minimum number of literals in the cube minimum number of literals in the output part A cost function is defined in terms of the above three factors, and the minimization procedure tries to minimize the cost function. A naive approach to minimization would be to form all possible functions compatible with the boolean relation and minimize them using logic optimizers like ESPRESSO. This approach is a modified exact minimization approach, and is not suitable for real examples due to the huge number of minimizations required. The approach described in this paper starts with an initial function compatible with the boolean relation and through a series of iterations involving the procedures EXPAND, IRREDCOVER and REDUCE (like ESPRESSO) obtains a function with a smaller cost. In each of these steps, the initial function is implicitly changed to a function equivalent to it but with a smaller cost. Since the problem of minimization is NP-complete [3] the worst case complexity of this approach is exponential. However, with clever heuristics, a solution is found within reasonable amounts of CPU time in the average case. The procedures make extensive use of test pattern generation techniques. To make the use of such techniques feasible, the first step in the main minimization procedure (Figure 5) is to build a network of gates called the interconnected network. The procedure receives as its input the cover of a boolean relation and an initial function compatible with the boolean relation is chosen using Choose-Function(). Then the interconnected network is built using Buildhterconnected-Network(). Having derived the network, a gate-level automatic test pattern generator is used for the various steps in the main loop. In the EXPAND procedure, each cube in the cover is expanded to the maximum possible extent while keeping the function compatible MIXIhIIZE(RelationCover) /* The optimization loop */ /* First choose a particular function compatible with relation */ Functioncover = Choose-F'unction(ReationCover); Build-Interconnected_"twork(); while (qualit.) of solution keeps on improving){ EXPAND (Functioncover); IRREDCOVER (Functioncover); if (latest cover bet.ter than previous cover){ save latest cover; REDUCE (FunctionCover); I Functioncover = best cover; MAKESPARSE (Functioncover); ret urn (Function Cover) ; Figure 5: Main Minimization Procedure 0 Figure 6: Truth Table for PLA2 with the boolean relation. After expansion, each cube is p r i L:. ~... necessarily irredundant. IRREDCOVER identifies a set of cubes that can be removed from the cover without affecting compatibility. Thus the cardinality of the cover is reduced after this step, and all cubes in the cover are necessary. In an attempt to get out of the local minima, REDUCE reduces the size of each cube as much as possible while maintaining compatibility with the boolean relation. The reduced cubes can possibly re-expand to cover more cubes and reduce the cardinality of the cover. After reduction, the operations in the loop are repeated. Iteration continues as long as the quality of the solution keeps on improving. When the quality of the solution does not improve any more, the loop is exited and MAKESPARSE is applied to make the cover as sparse as possible. At all stages, various heuristics are used to guide the algorithm in order to obtain the best possible solution. Each of these steps except MAKESPARSE will be described in detail in the following sections. 4 NETWORK FORMATION To enable the use of a test pattern generator, it is necessary to build a network of gates from the cover of the function. Since we are interested in two level sum-of-product representations, PLA's are the obvious choice for building such a network. The cover of the initial function can be easily translated to a PLA where each product term corresponds to an AND gate with the inputs to the gate denoting the input literals for the product term. This PLA is called the driver PLA. Following that, another PLA driven by the driver PLA is constructed so that the boolean relations derived from this interconnection of PLA's (as illustrated in Section ) is the same as the original boolean relation. The second PLA is called the driven PLA. This step is performed in two different ways, depending on the initial boolean relation. Firstly, all unique equivalence classes are identified. If a particular output pattern never occurs in more than one equivalence class then the driven PLA maps only the outputs of the driver PLA in the same equivalence class to a single output. For example, for the boolean relation shown in Figure 3, the condition described above is satisfied. There are only two unique equivalence classes {Ol, 0) and (,OO). The truth table of the second PLA is shown in Figure 6, and with the initial function chosen as shown in Figure 2, the interconnected network is shown in Figure 7. If a particular output pattern occurs in more than one equivalence class, then the inputs to the driver PLA also have to be considered as inputs to the driven PLA. In this case, the driven PLA maps the outputs of the driver PLA in the same equivalence class, under the corresponding input conditions, to the same output. For the boolean relation shown in Figure 8, there are four unique equivalence classes and the pattern 0 occurs in two of them. The truth table of the second PLA and the interconnected network (with the initial function obtained 278

3 a b a lo Figure 7: Interconnected PLA Network Figure 0: Interconnected PLA Network Figure 6: Example Boolean Relation Figure : Function Cover after EXPAND by choosing 0 as the output for both the first and second minterm) is shown in Figure 9 and Figure 0 respectively. Note that under the input condition 00, output 00 and 0 of PLAl are mapped to the same output of PLA2. It is easy to show that the boolean relation that can be derived from the iuterconnected network is the same as the original one. 5 EXPAND In this section, the EXPAND procedure is described. This procedure has two goals. It tries to identify a function with a smaller cost and simultaneously minimizes that function. It is well known for two level AND-OR logic networks that if the function being implemented is prime and irredundant, then it is testable for all single stuck-at faults in the network. If a cube in the cover is prime, all input stuck-at- faults for the corresponding AND gate are testable. Conversely, if a cube is not prime, then for certain inputs to the corresponding AND gate, stuck-at- faults are not detectable. These inputs are therefore redundant and can be removed to make the cube prime. Given a boolean relation and an initial function compatible with the relation, a cube in that function is prime if and only if raising a literal in the input part produces a function that is not equivalent to the original function. To determine whether a cube is prime or not, it is necessary to raise all the literals in the input part of the cube, one at a time and check if the resulting function is compatible with the boolean relation. Looking at this from the point of view of test pattern generation, a literal in a cube is redundant if for all stuck-at- fault tests for the literal, the response of the fault-free network and the network with the stuck-at- fault are in the same equivalence class which is the equivalence class for the test pattern). Since the driven PCA maps patterns in the same equivalence class to a single output, this means that the effect of the fault will not be observable at the outputs of the driven PLA. This gives rise to simple criterion for determining whether a literal is redundant or not. If a stuck-at- fault for that literal in the interconnected network is undetectable, then the literal is redundant and can be removed. For AND gates fanning out to -v more than one OR gate, stuck-at-0 faults on individual fanout stems are considered, and for all undetectable faults, the corresponding fanout stem is removed. To illustrate the procedure with an example, consider the boolean relation of Figure 3. The initial function chosen is shown in Figure Figure 9: Truth Table for PLAz and the resulting interconnected network is shown in Figure 7. Consider the second AND gate and the input a. The only input vector that can excite the fault is a = 0 and b =. For this vector, the response of the fault-free driver PLA is 00 and the faulty driver PLA is. The equivalence class of 0 contains both the responses. From the point of view of test pattern generation, it can be easily determined that a stuckat- fault on that input is undetectable in the interconnected network, and therefore the corresponding literal can be removed from the cube. The driver PLA now implements the function shown in Figure and this function is different from the initial function. Thus a new function with a smaller cost has been implicitly chosen. Also note that the cube after expansion is a prime of the current function, indicating that simultaneously the chosen function has been minimized. The EXPAND procedure is based on the aforementioned principles. The AND gates in the driver PLA are ordered and all literals in each gate are checked for redundancy. Also, fanout stems of AND gates fanning out to more than one output are considered. All redundant inputs and fanout stems are removed as soon as they are detected. The process continues until there are no more redundant literals or fanout stems. It can be easily shown that in the resultant circuit, all cubes are prime. For test pattern generation and efficient identification of undetectable faults, the test pattern generation algorithm PODEM [6] is used with modifications suggested in [5] and [7]. The result of EXPAND depends strongly on the order in which the cubes are expanded. Cubes are ordered in decreasing size of their equivalence class. The rationale behind this choice is that a cube with a larger equivalence class can possibly expand more and cover other cubes in the cover. The input variables in the cube are also ordered before exp- - Variables are ordered according to the number of gates they fanout to. Variables fanning out to a larger number of AND gates are considered first. This greedy strategy tries to produce PLA s with better folding characteristics and works better in the average case. 6 IRREDCOVER After expansion, each cube in the cover is prime. However there may be some cubes in the cover that are redundant, i.e. the cardinality of the cover may be decreased by deleting these cubes. Like the EXPAND procedure, the objective of this procedure is to identify a function with a lower cost and minimize that function simultaneously. The principles used are very similar to the ones used in the previous section. For a two-level AND-OR logic network, a cube is redundant if a stuck-at-0 fault at the output of the corresponding AND gate is undetectable. For a boolean relation, the condition for being redundant can be expressed in the following manner. In the interconnected network, if a stuck-at-0 fault at the output of an AND gate in the driver PLA is undetectable, then the corresponding cube is redundant and can be removed from the cover. In this procedure, the AND gates in the driver PLA are ordered and then tests are generated for output stuck-at-0 faults. As soon as a redundant cube is detected, it is removed from the cover. The procedure iterates over all cubes in the cover until no cubes are redundant. To see how the procedure implicitly changes the function chosen, consider the example used in the previous section. The cover of the function 279

4 a a- b PLA PLA 2 Figure 2: Network after EXPAND b Figure 4: Network after EXPAND-IRREDCOVER Figure 3: FLinction Cover after IRREDCOVER Figure 5: PLAl after EXPAND and IRREDCOVER after expansion is shown in Figure and the corresponding network is shown in Figure 2. A stuck-at-0 fault at the output of the second AND gate is redundant, and therefore the cube can be removed from the cover. This new cover corresponds to the function shown in Figure 3 and is different from the function shown in Figure. Once again, the function is implicitly changed and the new function is minimized simultaneously. The number of cubes removed depends on the order in which they are considered. A greedy ordering strategy is employed to reduce the number of literals in the final function. Cubes that have a larger number of literals are considered before cubes with smaller number of literals. 7 REDUCE After EXPAND and IRREDCOVER, the cover is prime and irredundant. No more literals can be raised, nor can any more cubes be deleted from the cover. This is an optimal solution, but may be a poor optimal solution. To move from a local optimum to a better local optimum, it is necessary to start with a different function of (possibly) higher cost. Reduction is the operation that transforms a prime cover F into a new (in general, non-prime) cover F, by replacing each cube by a (smaller) cube contained in it. Like the two previous procedures, this operation implicitly changes the function of the driver PLA without destroying compatibility with the boolean relation. However, unlike those procedures, it increases the cost of the resulting function. The reduced function acts as a new starting point for the EXPAND and IRREDCOVER operations from where a better local optimum might be reachable. In fact, since some of the cubes of F are not prime, EXPAND can be applied to F to yield a different prime cover that may have a fewer number of cubes than F. In order to convert the cover from a prime cover to a non-prime cover, cubes in the cover have to be made non-prime. A non-prime cube has redundant literals and this suggests the use of test generation techniques for reduction. In this procedure, all inputs not connected to an AND gate under consideration are connected to it, one by one. If a stuck-at- fault on the connector is undetectable, it is retained. If not, the connector is removed. Thus literals are added to each cube, one literal at a time. Also, for each AND gate not connected to an OR gate, a connection is made and if a stuck-at-0 fault on the connector is undetectable, it is kept. The procedure continues as long as redundant literals or fanout stems can be added to the circuit. Note that an ESPRESSO-style reduce can only reduce the cubes while keeping the function of the driver PLA the same. In this procedure, each cube could be reduced further and a different function for the driver PLA may be chosen during reduction. The procedure is illustrated with the help of an example. Consider the boolean relation shown in Figure 8 and the interconnected network after expansion and irredundant cover operation shown in Figure 4. The function of the driver PLA is shown in Figure 5. If input b is connected to the second AND gate (dotted line), a stuck-at- fault on the connector is undetectable, and the connection is kept. The resultant function for the driver PLA is shown in Figure 6 and is different from the one shown in Figure 5. The choice of cubes to be reduced and the method of reduction have a crucial effect, on solution improvement. The heuristic used here is similx to the one used in ESPRESSO. Cubes in F are processed sequentially, maximally reducing each one without destroying compatibility. A crude heuristic ordering strategy is used before reducing cubes. Cubes are ordered in decreasing order of size. 8 RESULTS The algorithms described in this paper has been implemented in a system called HERB. The test generation algorithm used is a variation of the PODEM [6] test generation algorithm with modifications suggested in [7]. In this paper, we present twelve examples, some of which have been taken from [Y] and the rest from various industrial and university sources. For each example in Table, the number of inputs and the number of outputs and the final number of product terms Z P ~ I l:+n-- - in the sum-of-product representations after minimization is preszilw,. The final column indicates the total minimization time on a DECstation 300. The results were obtained using an initial implementation of the algorithms described in this paper. In Table 2, the results are compared with the results obtained from an etact minimizer for boolean relations described in 2. Though in some cases the number of literals obtained by the heuristic method is double the exact minimum, the time required for heuristic minimization is significantly smaller. In all cases, the number of product terms obtained via the heuristic approach is close to the exact minimizers results. For all the large examples, the exact minimization approach ran out of memory after running for several hours. The heuristic approach was successful in minimizing all the relations in reasonable amounts of time. The memory requirements for all examples were very small as this approach is not at all memory intensive. 9 CONCLUSIONS Minimization of boolean relations is very important from the point of view of logic synthesis and synthesis for testability. We have presented a very fast and memory efficient, heuristic test generation based algorithm for the minimization of boolean relations. This algorithm uses iterative logic improvement to derive a function of minimal cost that is compatible with the boolean relation. Experimental results indicate that the quality of results are comparable to the exact minimum, while a b n 0 0 Figure 6: PL.4 fl f2 T--r 0 0 after REDUCE 280

5 [5] Hideo Fujiwara and Talteshi Shimono. On the Acceleration of Test Generation Algorithms. In IEEE Transactzons on Compufers, pages December 983. [Ci] P. Goel..4n Implicit Enumeration Algorithm to generate tests for combinational logic circuits. In IEEE Transactzons on Computers, pages , March 98. [7] Michael Schulz, Erwin Trischler, and Thomas Sarfert. SOCRATES : 4 Highly Efficient Automatic Test Pattern Generation System. In IEEE Transadtons on Conipuier-Aided Desdgn, pages 2G-37, January 988. Table : Experimental Results CKT #terms I #Iits I ' ime I #terms I #hts I 'lime Table 2: Comparison with Exact Minimization the time taken for minimization is significantly smaller. Using our approach, it is possible to minimize larger circuits than with the exact minimization approach. This approach suffers from some obvious drawbacks. Firstly, since redundant literals and cubes are removed sequentially, the ordering of the literals and cubes becomes very critical for obtaining better quality results. Also, only the removal of one literal or cube is considered at a time. Considering the removal of more than one literal or cube at a time (as in ESPRESSO) could give better results. This implies the use of multiple faults instead of single faults during the minimization process. Since the number of multiple faults is very large (exponential in the number of wires in the circuit), the time required for minimization could be very large. The entire space of functions is not explored, and thus given enough time, this approach might not be able to find the exact minimum function compatible with the boolean relation. However, results indicate that in most cases the size of the function found is comparable to the minimum in terms of the cost defined in this paper. 0 ACKNOWLEDGEMENTS The interesting discussions with Bob Brayton and Fabio Somenzi on boolean relations are acknowledged. This research was supported in part by the Defense Advanced Research Projects Agency under contracts N K-0825 and N C-082, Digital Equipment Corporation, AT&T Bell Laboratories and Semiconductor Research Corporation. Their support is gratefully acknowledged. References R. K. Brayton, G. D. Hachtel, Curt McMullen, and A. Sangiovanni- Vincentelli. Logic Minimization Algoethms for VLSI Synthesis. Kluwer Academic Publishers, 984. R. K. Brayton and F. Somenzi. An Exact Minimizer for Boolean Relations. In PTOC. IEEE Int. Conf. on C.4D (ICCAD), pages 36-39, 989. R. K. Brayton and Fabio Somenzi. Boolean Relations and the Incomplete Specification of Logic Networks. In Proe. VLSI-89, Munich, August 989. S. Devadas, H-K. T. Ma, A. R. Newton, and A. Sangiovanni- Vincentelli. Irredundant sequential machines via optimal logic synthesis. In IEEE TTQnSQCtiOnS on Computer Aided Design, pages 6-7, January

Two-Level Logic Optimization ( Introduction to Computer-Aided Design) School of EECS Seoul National University

Two-Level Logic Optimization ( Introduction to Computer-Aided Design) School of EECS Seoul National University Two-Level Logic Optimization (4541.554 Introduction to Computer-Aided Design) School of EECS Seoul National University Minimization of Two-Level Functions Goals: Minimize cover cardinality Minimize number

More information

Design of Framework for Logic Synthesis Engine

Design of Framework for Logic Synthesis Engine Design of Framework for Logic Synthesis Engine Tribikram Pradhan 1, Pramod Kumar 2, Anil N S 3, Amit Bakshi 4 1 School of Information technology and Engineering, VIT University, Vellore 632014, Tamilnadu,

More information

SEPP: a New Compact Three-Level Logic Form

SEPP: a New Compact Three-Level Logic Form SEPP: a New Compact Three-Level Logic Form Valentina Ciriani Department of Information Technologies Università degli Studi di Milano, Italy valentina.ciriani@unimi.it Anna Bernasconi Department of Computer

More information

A New Algorithm to Create Prime Irredundant Boolean Expressions

A New Algorithm to Create Prime Irredundant Boolean Expressions A New Algorithm to Create Prime Irredundant Boolean Expressions Michel R.C.M. Berkelaar Eindhoven University of technology, P.O. Box 513, NL 5600 MB Eindhoven, The Netherlands Email: michel@es.ele.tue.nl

More information

Functional Test Generation for Delay Faults in Combinational Circuits

Functional Test Generation for Delay Faults in Combinational Circuits Functional Test Generation for Delay Faults in Combinational Circuits Irith Pomeranz and Sudhakar M. Reddy + Electrical and Computer Engineering Department University of Iowa Iowa City, IA 52242 Abstract

More information

LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS. Gary D. Hachtel University of Colorado. Fabio Somenzi University of Colorado.

LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS. Gary D. Hachtel University of Colorado. Fabio Somenzi University of Colorado. LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS by Gary D. Hachtel University of Colorado Fabio Somenzi University of Colorado Springer Contents I Introduction 1 1 Introduction 5 1.1 VLSI: Opportunity and

More information

Advanced Digital Logic Design EECS 303

Advanced Digital Logic Design EECS 303 Advanced Digital Logic Design EECS 303 http://ziyang.eecs.northwestern.edu/eecs303/ Teacher: Robert Dick Office: L477 Tech Email: dickrp@northwestern.edu Phone: 847 467 2298 Outline 1. 2. 2 Robert Dick

More information

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne Two-level Logic Synthesis and Optimization Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial purposes as long as this note and the copyright footers

More information

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2 Synthesis The Y-diagram Revisited Structural Behavioral More abstract designs Physical CAD for VLSI 2 1 Structural Synthesis Behavioral Physical CAD for VLSI 3 Structural Processor Memory Bus Behavioral

More information

Test Set Compaction Algorithms for Combinational Circuits

Test Set Compaction Algorithms for Combinational Circuits Proceedings of the International Conference on Computer-Aided Design, November 1998 Set Compaction Algorithms for Combinational Circuits Ilker Hamzaoglu and Janak H. Patel Center for Reliable & High-Performance

More information

ESE535: Electronic Design Automation. Today. EDA Use. Problem PLA. Programmable Logic Arrays (PLAs) Two-Level Logic Optimization

ESE535: Electronic Design Automation. Today. EDA Use. Problem PLA. Programmable Logic Arrays (PLAs) Two-Level Logic Optimization ESE535: Electronic Design Automation Day 18: March 25, 2013 Two-Level Logic-Synthesis Today Two-Level Logic Optimization Problem Behavioral (C, MATLAB, ) Arch. Select Schedule RTL FSM assign Definitions

More information

Unit 4: Formal Verification

Unit 4: Formal Verification Course contents Unit 4: Formal Verification Logic synthesis basics Binary-decision diagram (BDD) Verification Logic optimization Technology mapping Readings Chapter 11 Unit 4 1 Logic Synthesis & Verification

More information

Cofactoring-Based Upper Bound Computation for Covering Problems

Cofactoring-Based Upper Bound Computation for Covering Problems TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST Cofactoring-Based Upper Bound Computation for Covering Problems Congguang Yang Maciej Ciesielski May 998 TR-CSE-98-06 Department of Electrical and Computer

More information

Functional extension of structural logic optimization techniques

Functional extension of structural logic optimization techniques Functional extension of structural logic optimization techniques J. A. Espejo, L. Entrena, E. San Millán, E. Olías Universidad Carlos III de Madrid # e-mail: { ppespejo, entrena, quique, olias}@ing.uc3m.es

More information

Don t Cares and Multi-Valued Logic Network Minimization

Don t Cares and Multi-Valued Logic Network Minimization Don t Cares and Multi-Valued Logic Network Minimization Yunian Jiang Robert K. Brayton Department of Electrical Engineering and Computer Sciences University of California, Berkeley wiang,brayton @eecs.berkeley.edu

More information

TEST FUNCTION SPECIFICATION IN SYNTHESIS

TEST FUNCTION SPECIFICATION IN SYNTHESIS TEST FUNCTION SPECIFICATION IN SYNTHESIS Vishwani D. Agrawal and Kwang-Ting Cbeng AT&T Bell Laboratories Murray Hill, New Jersey 07974 ABSTRACT - We present a new synthesis for testability method in which

More information

Upper Bounding Fault Coverage by Structural Analysis and Signal Monitoring

Upper Bounding Fault Coverage by Structural Analysis and Signal Monitoring Upper Bounding Fault Coverage by Structural Analysis and Signal Monitoring Abstract A new algorithm for determining stuck faults in combinational circuits that cannot be detected by a given input sequence

More information

Assign auniquecodeto each state to produce a. Given jsj states, needed at least dlog jsje state bits. (minimum width encoding), at most jsj state bits

Assign auniquecodeto each state to produce a. Given jsj states, needed at least dlog jsje state bits. (minimum width encoding), at most jsj state bits State Assignment The problem: Assign auniquecodeto each state to produce a logic level description. Given jsj states, needed at least dlog jsje state bits (minimum width encoding), at most jsj state bits

More information

Minimization of Multiple-Valued Functions in Post Algebra

Minimization of Multiple-Valued Functions in Post Algebra Minimization of Multiple-Valued Functions in Post Algebra Elena Dubrova Yunjian Jiang Robert Brayton Department of Electronics Dept. of Electrical Engineering and Computer Sciences Royal Institute of Technology

More information

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007 VLSI System Design Part II : Logic Synthesis (1) Oct.2006 - Feb.2007 Lecturer : Tsuyoshi Isshiki Dept. Communications and Integrated Systems, Tokyo Institute of Technology isshiki@vlsi.ss.titech.ac.jp

More information

Binary recursion. Unate functions. If a cover C(f) is unate in xj, x, then f is unate in xj. x

Binary recursion. Unate functions. If a cover C(f) is unate in xj, x, then f is unate in xj. x Binary recursion Unate unctions! Theorem I a cover C() is unate in,, then is unate in.! Theorem I is unate in,, then every prime implicant o is unate in. Why are unate unctions so special?! Special Boolean

More information

Fault Simulation. Problem and Motivation

Fault Simulation. Problem and Motivation Fault Simulation Problem and Motivation Fault Simulation Problem: Given A circuit A sequence of test vectors A fault model Determine Fault coverage Fraction (or percentage) of modeled faults detected by

More information

Acceleration Techniques for Dynamic Vector Compaction

Acceleration Techniques for Dynamic Vector Compaction Acceleration Techniques for Dynamic Vector Compaction Anand Raghunathan Department of Electrical Engineering Princeton University, Princeton, NJ 8544 Srimat T. Chakradhar C & C Research Laboratories NEC

More information

VLSI Test Technology and Reliability (ET4076)

VLSI Test Technology and Reliability (ET4076) VLSI Test Technology and Reliability (ET476) Lecture 5 Combinational Circuit Test Generation (Chapter 7) Said Hamdioui Computer Engineering Lab elft University of Technology 29-2 Learning aims of today

More information

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1 Synthesis 1 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998. Typeset by FoilTEX 1 Introduction Logic synthesis is automatic generation of circuitry

More information

ICS 252 Introduction to Computer Design

ICS 252 Introduction to Computer Design ICS 252 Introduction to Computer Design Logic Optimization Eli Bozorgzadeh Computer Science Department-UCI Hardware compilation flow HDL RTL Synthesis netlist Logic synthesis library netlist Physical design

More information

A New Decomposition of Boolean Functions

A New Decomposition of Boolean Functions A New Decomposition of Boolean Functions Elena Dubrova Electronic System Design Lab Department of Electronics Royal Institute of Technology Kista, Sweden elena@ele.kth.se Abstract This paper introduces

More information

CSE241 VLSI Digital Circuits UC San Diego

CSE241 VLSI Digital Circuits UC San Diego CSE241 VLSI Digital Circuits UC San Diego Winter 2003 Lecture 05: Logic Synthesis Cho Moon Cadence Design Systems January 21, 2003 CSE241 L5 Synthesis.1 Kahng & Cichy, UCSD 2003 Outline Introduction Two-level

More information

Optimized Implementation of Logic Functions

Optimized Implementation of Logic Functions June 25, 22 9:7 vra235_ch4 Sheet number Page number 49 black chapter 4 Optimized Implementation of Logic Functions 4. Nc3xe4, Nb8 d7 49 June 25, 22 9:7 vra235_ch4 Sheet number 2 Page number 5 black 5 CHAPTER

More information

A Recursive Paradigm To Solve Boolean Relations

A Recursive Paradigm To Solve Boolean Relations A Recursive Paradigm To Solve Boolean Relations David Bañeres Univ. Politècnica de Catalunya Barcelona, Spain Jordi Cortadella Univ. Politècnica de Catalunya Barcelona, Spain Mike Kishinevsky Strategic

More information

ECE260B CSE241A Winter Logic Synthesis

ECE260B CSE241A Winter Logic Synthesis ECE260B CSE241A Winter 2007 Logic Synthesis Website: /courses/ece260b-w07 ECE 260B CSE 241A Static Timing Analysis 1 Slides courtesy of Dr. Cho Moon Introduction Why logic synthesis? Ubiquitous used almost

More information

Flexible Two-Level Boolean Minimizer BOOM-II and Its Applications

Flexible Two-Level Boolean Minimizer BOOM-II and Its Applications Flexible Two-Level Boolean Minimizer BOOM-II and Its Applications Petr Fišer, Hana Kubátová Czech Technical University Dept. of Computer Science and Engineering, Karlovo nám. 13, 121 35, Prague 2 e-mail:

More information

On Computing Minimum Size Prime Implicants

On Computing Minimum Size Prime Implicants On Computing Minimum Size Prime Implicants João P. Marques Silva Cadence European Laboratories / IST-INESC Lisbon, Portugal jpms@inesc.pt Abstract In this paper we describe a new model and algorithm for

More information

SOFTWARE FOR THE MINIMIZATION OF THE COMBINATIONAL LOGIC FUNCTIONS

SOFTWARE FOR THE MINIMIZATION OF THE COMBINATIONAL LOGIC FUNCTIONS SOFTWARE FOR THE MINIMIZATION OF THE COMBINATIONAL LOGIC FUNCTIONS Rotar Dan Vasile Alecsandri University, Bacau, Romania Abstract An important component of the command and control circuit for the mechatronic

More information

Inadmissible Class of Boolean Functions under Stuck-at Faults

Inadmissible Class of Boolean Functions under Stuck-at Faults Inadmissible Class of Boolean Functions under Stuck-at Faults Debesh K. Das 1, Debabani Chowdhury 1, Bhargab B. Bhattacharya 2, Tsutomu Sasao 3 1 Computer Sc. & Engg. Dept., Jadavpur University, Kolkata

More information

Software for The Minimization of The Combinational Logic Functions

Software for The Minimization of The Combinational Logic Functions Software for The Minimization of The Combinational Logic Functions Rotar Dan Vasile Alecsandri University, Calea Marasesti 57, cod: 65, Bacau, Romania, drotar@ub.ro; drotarubro@yahoo.com ABSTRACT An important

More information

File Formats. Appendix A. A.1 Benchmarks. A.2 ESPRESSO Format

File Formats. Appendix A. A.1 Benchmarks. A.2 ESPRESSO Format Appendix A File Formats A.1 Benchmarks Tables A.1 and A.2 present benchmark parameters for two-level logic (in ESPRESSO format) set and finite-state tables (in KISS2 format) set respectively. A.2 ESPRESSO

More information

ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms

ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms Christopher Batten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece5745 RTL to

More information

On the Relation between SAT and BDDs for Equivalence Checking

On the Relation between SAT and BDDs for Equivalence Checking On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda 1 Rolf Drechsler 2 Alex Orailoglu 1 1 Computer Science & Engineering Department University of California, San Diego La Jolla,

More information

Chapter 3. Gate-Level Minimization. Outlines

Chapter 3. Gate-Level Minimization. Outlines Chapter 3 Gate-Level Minimization Introduction The Map Method Four-Variable Map Five-Variable Map Outlines Product of Sums Simplification Don t-care Conditions NAND and NOR Implementation Other Two-Level

More information

Testing Embedded Cores Using Partial Isolation Rings

Testing Embedded Cores Using Partial Isolation Rings Testing Embedded Cores Using Partial Isolation Rings Nur A. Touba and Bahram Pouya Computer Engineering Research Center Department of Electrical and Computer Engineering University of Texas, Austin, TX

More information

Delay Estimation for Technology Independent Synthesis

Delay Estimation for Technology Independent Synthesis Delay Estimation for Technology Independent Synthesis Yutaka TAMIYA FUJITSU LABORATORIES LTD. 4-1-1 Kamikodanaka, Nakahara-ku, Kawasaki, JAPAN, 211-88 Tel: +81-44-754-2663 Fax: +81-44-754-2664 E-mail:

More information

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions. CS 787: Advanced Algorithms NP-Hardness Instructor: Dieter van Melkebeek We review the concept of polynomial-time reductions, define various classes of problems including NP-complete, and show that 3-SAT

More information

FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS. Waqas Akram, Cirrus Logic Inc., Austin, Texas

FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS. Waqas Akram, Cirrus Logic Inc., Austin, Texas FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS Waqas Akram, Cirrus Logic Inc., Austin, Texas Abstract: This project is concerned with finding ways to synthesize hardware-efficient digital filters given

More information

Resynthesis of Combinational Logic Circuits for Improved Path Delay Fault Testability Using Comparison Units

Resynthesis of Combinational Logic Circuits for Improved Path Delay Fault Testability Using Comparison Units IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 9, NO. 5, OCTOBER 2001 679 Resynthesis of Combinational Logic Circuits for Improved Path Delay Fault Testability Using Comparison

More information

Implicant Expansion Methods Used in The Boom Minimizer

Implicant Expansion Methods Used in The Boom Minimizer Implicant Expansion Methods Used in The Boom Minimizer Petr Fišer, Jan Hlavi ka Department of Computer Science and Engineering Czech Technical University Karlovo nám. 13, 121 35 Prague 2 email: fiserp@fel.cvut.cz,

More information

ICS 252 Introduction to Computer Design

ICS 252 Introduction to Computer Design ICS 252 Introduction to Computer Design Lecture 10 Eli Bozorgzadeh Computer Science Department-UCI Reference Lecture note Ankur Srivastava http://www.enee.umd.edu/class/enee644/ Chapter 7(7.3,7.4) of the

More information

Preizkušanje elektronskih vezij

Preizkušanje elektronskih vezij Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Preizkušanje elektronskih vezij Generacija testnih vzorcev Test pattern generation Overview Introduction Theoretical

More information

On Minimizing the Number of Test Points Needed to Achieve Complete Robust Path Delay Fault Testability

On Minimizing the Number of Test Points Needed to Achieve Complete Robust Path Delay Fault Testability On Minimizing the Number of Test Points Needed to Achieve Complete Robust Path Delay Fault Testability Prasanti Uppaluri Electrical and Computer Engineering Department, University of Iowa, Iowa City, IA

More information

Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs

Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles, CA 90024 Abstract In this

More information

Chapter 8. 8 Minimization Techniques. 8.1 Introduction. 8.2 Single-Output Minimization Design Constraints

Chapter 8. 8 Minimization Techniques. 8.1 Introduction. 8.2 Single-Output Minimization Design Constraints 8 Minimization Techniques 8.1 Introduction The emphasis is on clean, irredundant, minimal designs has been dramatically affected by the evolution of LSI [VLSI] technology. There are instances where a minimal

More information

One-hot state machine design for FPGAs

One-hot state machine design for FPGAs One-hot state machine design for FPGAs Steve Golson Trilobyte Systems, 33 Sunset Road, Carlisle MA 01741 Phone: 508/369-9669 Email: sgolson@trilobyte.com Abstract: One-hot state machines use one flop per

More information

Advanced Digital Logic Design EECS 303

Advanced Digital Logic Design EECS 303 Advanced igital Logic esign EECS 33 http://ziyang.eecs.northwestern.edu/eecs33/ Teacher: Robert ick Office: L477 Tech Email: dickrp@northwestern.edu Phone: 847 467 2298 Outline. 2. 2 Robert ick Advanced

More information

* 1: Semiconductor Division, FUJITSU Limited, Kawasaki Japan

* 1: Semiconductor Division, FUJITSU Limited, Kawasaki Japan Boolean Resubstitution With Permissible Functions and Binary Decision Diagrams Hitomi Sato* 1, Yoshihiro Yasue* 1, Yusuke Matsunaga*2 and Masahiro Fujita*2 * 1: Semiconductor Division, FUJITSU Limited,

More information

Formal Verification using Probabilistic Techniques

Formal Verification using Probabilistic Techniques Formal Verification using Probabilistic Techniques René Krenz Elena Dubrova Department of Microelectronic and Information Technology Royal Institute of Technology Stockholm, Sweden rene,elena @ele.kth.se

More information

What Can Boolean Networks Learn?

What Can Boolean Networks Learn? What Can Boolean Networks Learn? Arlindo L. Oliveira Alberto Sangiovanni-Vincentelli Dept. of EECS, UC Berkeley, Berkeley CA 94720 June 26, 1992 Abstract We study the generalization abilities of networks

More information

Multi-Level Logic Synthesis for Low Power

Multi-Level Logic Synthesis for Low Power Examples Before Mapping After Mapping Area Power Area Delay Power 5xp1 0.93 0.98 0.86 0.82 0.90 Z5xp1 0.97 0.91 0.95 0.78 0.84 9sym 0.89 1.01 0.83 0.86 0.87 9symml 1.24 1.02 1.15 1.12 0.84 apex5 0.99 0.96

More information

L3: Representations of functions

L3: Representations of functions L3: Representations of functions Representations of Boolean functions Boolean expression Two level sum of product form, factorized form Truth tables Karnaugh maps Cubes (MIN,MAX) notation positional cube

More information

A Boolean Paradigm in Multi-Valued Logic Synthesis

A Boolean Paradigm in Multi-Valued Logic Synthesis A Boolean Paradigm in Multi-Valued Logic Synthesis Abstract Alan Mishchenko Department of ECE Portland State University alanmi@ece.pd.edu Optimization algorithms used in binary multi-level logic synthesis,

More information

Homework 3 Handout 19 February 18, 2016

Homework 3 Handout 19 February 18, 2016 CSEE E6861y Prof. Steven Nowick Homework 3 Handout 19 February 18, 2016 This homework is due at the beginning of class on Thursday, March 3. NOTE: A correct answer without adequate explanation or derivation

More information

9 Conclusions. References [1] V. Akella and G. Gopalakrishnan. Shilpa: a high-level synthesis system for self-timed circuits. In ICCAD-1992.

9 Conclusions. References [1] V. Akella and G. Gopalakrishnan. Shilpa: a high-level synthesis system for self-timed circuits. In ICCAD-1992. Total Products Hazard- Hazard- % free free espresso- Over- Runname in/out Method exact head time(s) dean-ctrl 20/19 215 202 6 83 oscsci-ctrl 14/5 59 58 2 9 scsi-ctrl 12/5 60 59 2 11 pe-send-ifc 7/3 15

More information

ECE260B CSE241A Winter Logic Synthesis

ECE260B CSE241A Winter Logic Synthesis ECE260B CSE241A Winter 2005 Logic Synthesis Website: / courses/ ece260bw05 ECE 260B CSE 241A Static Timing Analysis 1 Slides courtesy of Dr. Cho Moon Introduction Why logic synthesis? Ubiquitous used almost

More information

Don't Cares in Multi-Level Network Optimization. Hamid Savoj. Abstract

Don't Cares in Multi-Level Network Optimization. Hamid Savoj. Abstract Don't Cares in Multi-Level Network Optimization Hamid Savoj University of California Berkeley, California Department of Electrical Engineering and Computer Sciences Abstract An important factor in the

More information

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Amit Goel Department of ECE, Carnegie Mellon University, PA. 15213. USA. agoel@ece.cmu.edu Randal E. Bryant Computer

More information

Software Implementation of Break-Up Algorithm for Logic Minimization

Software Implementation of Break-Up Algorithm for Logic Minimization vol. 2, no. 6. 2, pp. 141-145, 2017 DOI: https://doi.org/10.24999/ijoaem/02060034 Software Implementation of Break-Up Algorithm for Logic Minimization Koustuvmoni Bharadwaj and Sahadev Roy Abstract In

More information

Application of Binary Decision Diagram in digital circuit analysis.

Application of Binary Decision Diagram in digital circuit analysis. Application of Binary Decision Diagram in digital circuit analysis. Jyoti Kukreja University of Southern California For Dr. James Ellison Abstract: Binary Decision Diagrams (BDDs) are one of the biggest

More information

Upper Bounding Fault Coverage by Structural Analysis and Signal Monitoring

Upper Bounding Fault Coverage by Structural Analysis and Signal Monitoring Upper Bounding Fault Coverage by Structural Analysis and Signal Monitoring Vishwani D. Agrawal Auburn Univerity, Dept. of ECE Soumitra Bose and Vijay Gangaram Intel Corporation, Design Technology Auburn,

More information

SYNTHESIS OF MAPPING LOGIC FOR GENERATI TRANSFORMED PSEUDO-RANDOM PATTERNS FOR

SYNTHESIS OF MAPPING LOGIC FOR GENERATI TRANSFORMED PSEUDO-RANDOM PATTERNS FOR SYNTHESIS OF MAPPING LOGIC FOR GENERATI TRANSFORMED PSEUDO-RANDOM PATTERNS FOR Nur A. Touba and Edward J. McCluskey Center for Reliable Computing Departments of Electrical Engineering and Computer Science

More information

Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur.

Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur. Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur Lecture 05 DFT Next we will look into the topic design for testability,

More information

A technique for designing self-checking state machines with low power consumption

A technique for designing self-checking state machines with low power consumption A technique for designing self-checking state machines with low power consumption P. K. Lala 1 Abstract This paper presents a state assignment technique for on-line detection of a single bit error or a

More information

Multi-valued Logic Synthesis. Robert K Brayton Sunil P Khatri University of California Berkeley, CA brayton,

Multi-valued Logic Synthesis. Robert K Brayton Sunil P Khatri University of California Berkeley, CA brayton, Multi-valued Logic Synthesis Robert K Brayton Sunil P Khatri University of California Berkeley, CA 9470 brayton, linus @iceecsberkeleyedu Abstract We survey some of the methods used for manipulating, representing,

More information

Symbolic Manipulation of Boolean Functions Using a Graphical Representation. Abstract

Symbolic Manipulation of Boolean Functions Using a Graphical Representation. Abstract Symbolic Manipulation of Boolean Functions Using a Graphical Representation Randal E. Bryant 1 Dept. of Computer Science Carnegie-Mellon University Abstract In this paper we describe a data structure for

More information

Basic Idea. The routing problem is typically solved using a twostep

Basic Idea. The routing problem is typically solved using a twostep Global Routing Basic Idea The routing problem is typically solved using a twostep approach: Global Routing Define the routing regions. Generate a tentative route for each net. Each net is assigned to a

More information

Massively Parallel Seesaw Search for MAX-SAT

Massively Parallel Seesaw Search for MAX-SAT Massively Parallel Seesaw Search for MAX-SAT Harshad Paradkar Rochester Institute of Technology hp7212@rit.edu Prof. Alan Kaminsky (Advisor) Rochester Institute of Technology ark@cs.rit.edu Abstract The

More information

Review. EECS Components and Design Techniques for Digital Systems. Lec 05 Boolean Logic 9/4-04. Seq. Circuit Behavior. Outline.

Review. EECS Components and Design Techniques for Digital Systems. Lec 05 Boolean Logic 9/4-04. Seq. Circuit Behavior. Outline. Review EECS 150 - Components and Design Techniques for Digital Systems Lec 05 Boolean Logic 94-04 David Culler Electrical Engineering and Computer Sciences University of California, Berkeley Design flow

More information

Low Power PLAs. Reginaldo Tavares, Michel Berkelaar, Jochen Jess. Information and Communication Systems Section, Eindhoven University of Technology,

Low Power PLAs. Reginaldo Tavares, Michel Berkelaar, Jochen Jess. Information and Communication Systems Section, Eindhoven University of Technology, Low Power PLAs Reginaldo Tavares, Michel Berkelaar, Jochen Jess Information and Communication Systems Section, Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven, The Netherlands {regi,michel,jess}@ics.ele.tue.nl

More information

VLSI Test Technology and Reliability (ET4076)

VLSI Test Technology and Reliability (ET4076) VLSI Test Technology and Reliability (ET4076) Lecture 4(part 2) Testability Measurements (Chapter 6) Said Hamdioui Computer Engineering Lab Delft University of Technology 2009-2010 1 Previous lecture What

More information

COPYRIGHTED MATERIAL INDEX

COPYRIGHTED MATERIAL INDEX INDEX Absorption law, 31, 38 Acyclic graph, 35 tree, 36 Addition operators, in VHDL (VHSIC hardware description language), 192 Algebraic division, 105 AND gate, 48 49 Antisymmetric, 34 Applicable input

More information

VLSI System Testing. Fault Simulation

VLSI System Testing. Fault Simulation ECE 538 VLSI System Testing Krish Chakrabarty Fault Simulation ECE 538 Krish Chakrabarty Fault Simulation Problem and motivation Fault simulation algorithms Serial Parallel Deductive Concurrent Random

More information

Representations of Terms Representations of Boolean Networks

Representations of Terms Representations of Boolean Networks Representations of Terms Representations of Boolean Networks Logic Circuits Design Seminars WS2010/2011, Lecture 4 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology

More information

A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver

A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver J.C. Madre and O. Coudert Bull Corporate Research Center Rue Jean Jaures 78340 Les Clayes-sous-bois FRANCE Abstract

More information

SIS: A System for Sequential Circuit Synthesis

SIS: A System for Sequential Circuit Synthesis SIS: A System for Sequential Circuit Synthesis Electronics Research Laboratory Memorandum No. UCB/ERL M92/41 Ellen M. Sentovich Kanwar Jit Singh Luciano Lavagno Cho Moon Rajeev Murgai Alexander Saldanha

More information

THE reduction of finite state machines (FSM s) is a wellknown

THE reduction of finite state machines (FSM s) is a wellknown IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 18, NO. 11, NOVEMBER 1999 1619 A New Algorithm for Exact Reduction of Incompletely Specified Finite State Machines Jorge

More information

Optimization-based Multiple Target Test Generation for Highly Compacted Test Sets

Optimization-based Multiple Target Test Generation for Highly Compacted Test Sets Optimization-based Multiple Target Test Generation for Highly Compacted Test Sets Stephan Eggersglüß Kenneth Schmitz René Krenz-Bååth Rolf Drechsler Institute of Computer Science University of Bremen 28359

More information

IN multilevel logic synthesis, an important step in minimizing

IN multilevel logic synthesis, an important step in minimizing 1096 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 18, NO. 8, AUGUST 1999 Efficient Boolean Division and Substitution Using Redundancy Addition and Removing Shih-Chieh

More information

COE 561 Digital System Design & Synthesis Introduction

COE 561 Digital System Design & Synthesis Introduction 1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design

More information

Logic Synthesis of Multilevel Circuits with Concurrent Error Detection

Logic Synthesis of Multilevel Circuits with Concurrent Error Detection IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 16, NO. 7, JULY 1997 783 [16] Layout synthesis benchmark set, Microelectronics Center of North Carolina, Research Triangle

More information

6 DESIGN FOR TESTABILITY I: FROM FULL SCAN TO PARTIAL SCAN

6 DESIGN FOR TESTABILITY I: FROM FULL SCAN TO PARTIAL SCAN 94 Advances in Microelectronics 6 DESIGN FOR TESTABILITY I: FROM FULL SCAN TO PARTIAL SCAN Chia Yee Ooi 6.1 CONTEXT It is important to check whether the manufactured circuit has physical defects or not.

More information

Figure 1.1. ROAR architecture. Memory. Reconfigurable Coprocessor. Multithreaded Processor. Interface Bus. I/O system

Figure 1.1. ROAR architecture. Memory. Reconfigurable Coprocessor. Multithreaded Processor. Interface Bus. I/O system NON-SELF-TESTABLE FAULTS IN DUPLEX SYSTEMS Subhasish Mitra, Nirmal R. Saxena and Edward J. McCluskey Center for Reliable Computing (http://crc.stanford.edu) Departments of Electrical Engineering and Computer

More information

Advanced Digital Logic Design EECS 303

Advanced Digital Logic Design EECS 303 Advanced Digital Logic Design EECS 303 http://ziyang.eecs.northwestern.edu/eecs303/ Teacher: Robert Dick Office: L477 Tech Email: dickrp@northwestern.edu Phone: 847 467 2298 Outline 1. Finite state machines

More information

ALTERING A PSEUDO-RANDOM BIT SEQUENCE FOR SCAN-BASED BIST

ALTERING A PSEUDO-RANDOM BIT SEQUENCE FOR SCAN-BASED BIST ALTERING A PSEUDO-RANDOM BIT SEQUENCE FOR SCAN-BASED BIST Nur A. Touba* and Edward J. McCluskey Center for Reliable Computing Departments of Electrical Engineering and Computer Science Stanford University

More information

An Efficient Test Relaxation Technique for Synchronous Sequential Circuits

An Efficient Test Relaxation Technique for Synchronous Sequential Circuits An Efficient Test Relaxation Technique for Synchronous Sequential Circuits Aiman El-Maleh and Khaled Al-Utaibi King Fahd University of Petroleum and Minerals Dhahran 326, Saudi Arabia emails:{aimane, alutaibi}@ccse.kfupm.edu.sa

More information

SYNTHESIS OF FINITE STATE MACHINES: LOGIC OPTIMIZATION

SYNTHESIS OF FINITE STATE MACHINES: LOGIC OPTIMIZATION SYNTHESIS OF FINITE STATE MACHINES: LOGIC OPTIMIZATION SYNTHESIS OF FINITE STATE MACHINES: LOGIC OPTIMIZATION Tiziano Villa University of California/Berkeley Timothy Kam Intel Corporation Robert K. Brayton

More information

CS8803: Advanced Digital Design for Embedded Hardware

CS8803: Advanced Digital Design for Embedded Hardware CS883: Advanced Digital Design for Embedded Hardware Lecture 2: Boolean Algebra, Gate Network, and Combinational Blocks Instructor: Sung Kyu Lim (limsk@ece.gatech.edu) Website: http://users.ece.gatech.edu/limsk/course/cs883

More information

Symbolic Hazard-Free Minimization and Encoding of Asynchronous Finite State Machines

Symbolic Hazard-Free Minimization and Encoding of Asynchronous Finite State Machines Symbolic Hazard-Free Minimization and Encoding of Asynchronous Finite State Machines 1 Introduction There has been a renewed interest in asynchronous design, because of their potential for high-performance,

More information

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique Example As an Example, let s consider the formula: F(x,y,z) = x y z + x yz + x yz + xyz + xy z The complete sum of

More information

ece5745-pla-notes.txt

ece5745-pla-notes.txt ece5745-pla-notes.txt ========================================================================== Follow up on PAL/PROM/PLA Activity ==========================================================================

More information

History: Combinational Logic! single FSM! Hierarchy. Facilities for managing networks of FSMs MISII. Facilities for handling latches

History: Combinational Logic! single FSM! Hierarchy. Facilities for managing networks of FSMs MISII. Facilities for handling latches Sequential Synthesis History: Combinational Logic! single FSM! Hierarchy of FSM's. Sequential Circuit Optimization (single machine) SIS Facilities for managing networks of FSMs MISII Facilities for handling

More information

On Test Generation by Input Cube Avoidance

On Test Generation by Input Cube Avoidance On Test Generation by Input Cube Avoidance Irith Pomeranz 1 and Sudhakar M. Reddy 2 School of Electrical & Computer Eng. Electrical & Computer Eng. Dept. Purdue University University of Iowa W. Lafayette,

More information

SOFTWARE ARCHITECTURE For MOLECTRONICS

SOFTWARE ARCHITECTURE For MOLECTRONICS SOFTWARE ARCHITECTURE For MOLECTRONICS John H. Reif Duke University Computer Science Department In Collaboration with: Allara, Hill, Reed, Seminario, Tour, Weiss Research Report Presentation to DARPA:

More information