Heuristic Minimization of Boolean Relations Using Testing Techniques
|
|
- Jodie Foster
- 5 years ago
- Views:
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 (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 informationDesign 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 informationSEPP: 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 informationA 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 informationFunctional 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 informationLOGIC 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 informationAdvanced 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 informationGiovanni 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 information1/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 informationTest 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 informationESE535: 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 informationUnit 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 informationCofactoring-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 informationFunctional 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 informationDon 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 informationTEST 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 informationUpper 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 informationAssign 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 informationMinimization 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 informationVLSI 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 informationBinary 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 informationFault 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 informationAcceleration 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 informationVLSI 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 informationSynthesis 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 informationICS 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 informationA 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 informationCSE241 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 informationOptimized 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 informationA 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 informationECE260B 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 informationFlexible 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 informationOn 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 informationSOFTWARE 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 informationInadmissible 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 informationSoftware 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 informationFile 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 informationECE 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 informationOn 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 informationChapter 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 informationTesting 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 informationDelay 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 informationNP-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 informationFILTER 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 informationResynthesis 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 informationImplicant 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 informationICS 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 informationPreizkuš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 informationOn 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 informationBeyond 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 informationChapter 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 informationOne-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 informationAdvanced 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
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 informationFormal 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 informationWhat 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 informationMulti-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 informationL3: 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 informationA 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 informationHomework 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 information9 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 informationECE260B 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 informationDon'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 informationSet 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 informationSoftware 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 informationApplication 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 informationUpper 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 informationSYNTHESIS 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 informationDigital 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 informationA 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 informationMulti-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 informationSymbolic 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 informationBasic 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 informationMassively 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 informationReview. 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 informationLow 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 informationVLSI 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 informationCOPYRIGHTED 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 informationVLSI 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 informationRepresentations 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 informationA 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 informationSIS: 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 informationTHE 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 informationOptimization-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 informationIN 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 informationCOE 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 informationLogic 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 information6 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 informationFigure 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 informationAdvanced 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 informationALTERING 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 informationAn 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 informationSYNTHESIS 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 informationCS8803: 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 informationSymbolic 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 informationCombinatorial 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 informationece5745-pla-notes.txt
ece5745-pla-notes.txt ========================================================================== Follow up on PAL/PROM/PLA Activity ==========================================================================
More informationHistory: 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 informationOn 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 informationSOFTWARE 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