Decision tables. Combinational Models. Necessary Characteristics of the Implementation. Decision tables. Deriving decision tables

Size: px
Start display at page:

Download "Decision tables. Combinational Models. Necessary Characteristics of the Implementation. Decision tables. Deriving decision tables"

Transcription

1 ombinational Models Generating test cases when the test model is a decision table Textbook Reading: hapter 6 ecision tables Ideal representation for a test model for the following reasons: Straightforward representation of requirements Effective for revealing bugs They support test design at any scope, from method to system They support manual or automated generation of test cases Testing with combinational models Five basic steps Model the implementation with a decision table Validate the decision table model erive the logic function hoose a test suite generation strategy Generate test cases Necessary haracteristics of the Implementation One of several distinct responses is selected according to district cases of input variables that can be modeled by boolean expressions Response does not depend on the order input variables are set Response does not depend on prior input or output eriving decision tables ecision tables Four steps: Identify the decision variables Identify the resultant actions to be selected Identify which actions should be produced in response to particular combinations of conditions Verify the model s completeness and consistency ondition section Lists conditions and combinations of conditions ondition: relationship between decision variables that evaluates to true or false ecision variables: Inputs ction section Lists responses to be produced when particular conditions are true Many actions may be specified for a particular combination

2 n example ecision tables Variant 5 6 ondition section Number of claims - - Insured ge <=5 >=6 <=5 >=6 <=5 >=6 Premium increase ction section Send warning ancel N conditions => at most N variants The decision table in the previous slide has 6 conditions, i.e. 6 possible variants Only seven explicit variants variant not given is an implicit variant 7 5+ ny Implicit variants Valid abbreviations on t care Type-safe exclusions Incorrect modeling an t happen on t know on t care esignates a condition that may be true or false (for a particular variant) without affecting the action, e.g. ny age in variant 7 Two distinct cases if ((w>x) (w>y)) Type-safe exclusions: ge cannot be both and an t happen ssumption that certain inputs are mutually exclusive or cannot be produced hronic source of bugs riane 5: an t happen that a certain parameter requires more than 6 bits $5 million of uninsured damage If age is modeled as two boolean variables younger_than_6 and older_than_5, we cannot assume that both of them being True can t happen on t know Incomplete model The applicability of a condition or the expected outcome may be unknown ocumentation unavailable Incomplete requirements For example, what should happen if age is or. Unlikely that the right response is to renew the policy

3 ecision tables and OO Method scope: Switch statement lass scope class public utopolicy { utopolicy (ate O); public void makelaim(); public void annualrenewal(); public Money getpremiumrate(); public bool isanceled(); public bool isctive(); } eriving the Logic Function Review boolean algebra = and + = or ~ = not logic function maps n boolean input variables to m boolean output variables truth table is an enumeration of all possible input and output values Example truth table Truth table definitions Input Vector Number rmal Pressure all For Heat amper Shut Manual Mode Ignition Enable Each row of a truth table is an input vector The logic function for the example is = (~ + ) In sum of products form: = ~ + Each term in a sum of products is an implicant. If true, the whole function is true single-term formula with all variables that evaluates to true is a minterm Examples:, ~, ~~ 5 More definitions Logic minimization cube is a compressed partial truth table Variables that do not affect the result are compressed The example truth table has four cubes cube is a prime implicant if it evaluates to true and is not a subset of another cube Techniques to derive compact boolean expressions Useful to software testing Minimal expressions can be covered with fewer tests utomatic test generation runs faster The process may reveal inconsistencies or omissions in the spec We will look at two different techniques

4 Karnaugh Maps Graphical technique Good for up to 5 variables The truth table is transformed to a Karnaugh map. In our example Karnaugh maps Find the largest group of adjacent cells. Groups are formed only horizontally or vertically Groups have k members and may wrap around the edges of the map Karnaugh maps Transcribe the product term for the group. For each variable If the group covers only values, enter the variable If the group covers only values, enter the negated variable If the group covers both and values, enter nothing The group in the previous slide transcribes to. Karnaugh maps Repeat until all s in the map are covered The second group transcribes to ~, which gives the final result = ~ + ause-effect graphs Useful for analyzing the relationships to be modeled in a decision table Often beneficial at early stages of specification development node is drawn for each cause and effect line from a cause to an effect indicates that the cause is a necessary condition for the effect Multiple lines to an effect are joined by or Intermediate nodes may be added The insurance policy example Variant ondition section Number of claims Insured ge <=5 >=6 <=5 >=6 <=5 >=6 ny Premium increase ction section Send warning ancel

5 Insurance policy cause-effect graph <=5 $5 >=6 $5 $ O claims $ claim - claims $ Warning 5+ claims ancel Logic function derivation ause-effect graphs can be translated directly to boolean functions an be done one effect at a time The effect can be transcribed in terms of the intermediate nodes that can then be refined further The cause-effect graph in the next page has 8 causes. full truth table would have 56 variants Logic function derivation ecision Table Validation The derived logic function is = + ~E + F + G + H + ~ + ~~E + ~F + ~G + ~H + ~ + ~~E + ~F + ~G + ~H E F G ~ Q S ~ P R decision table must be validated before it is used to generate test cases spreadsheet can be used to verify that the logic functions have been derived correctly Manual inspection is important to catch requirements analysis problems ertain conditions that will ease testing and help catch errors can be checked H ecision Table hecklist ction selection is independent of the order of variant evaluation T ction selection is independent of the order of condition evaluation T ction selection is independent of prior actions T Each variant is mutually exclusive T ecision Table hecklist If no explicit variant is satisfied by an input vector, either a default action is selected or the implementation will do something acceptable T Each variant is unique Each action has a testable specification ll specified output actions are observable 5

6 ecision Table hecklist ll specified decision variables are controllable domain specification is given for each nonbinary decision variable, e.g. age: 6-85, Number of laims - The domains of a non-binary decision variable are adjacent, or if not there is a good reason n explicit boolean formula is given for nontrivial decision tables ecision Table hecklist The chosen action for the function has been independently verified in all cases The action specified for a variant with a don t care condition is acceptable for all possible values of the condition T If there are implicit variants, there is a designated default action T The designated default action is appropriate for all implicit variants ecision Table hecklist Implicit variants for type-safe exclusions are based on trusted type checking ttempt to identify cases where assumed exclusions do not hold T Scrutinize all can t happen conditions: reject, revise, or replace with an explicit default action Scrutinize all don t know conditions: reject, revise, or replace with an explicit default action Testing strategies ll-explicit variants ll-variants, ll-true, ll-false, ll- Primes Each-ondition/ll-onditions -eterminants Variable Negation nbinary Variable omain nalysis Fault models Each testing strategy is guided by a fault model fault model identifies relationships and components of the system that are likely to have faults ased on common sense, experience, suspicion, analysis, or experiment Fault model for decision tables Incorrect value assigned to a decision variable Incorrect or missing operator in a predicate Incorrect or missing variable in a predicate Incorrect structure in a predicate (e.g. dangling else, misplaced semicolon) 6

7 Fault model for decision tables Incorrect or missing default case Incorrect or missing actions Extra actions Structural errors in the implementation (e.g. falling through) esign errors indicated by the validation checklist (items with T) ll-explicit Variants Each explicit variant is produced at least once efaults actions (if any) are also tested ecision variable boundaries are systematically exercised cceptable if implicit variants are due to type safe exclusions an t happen conditions and undefined domain boundaries cause problems Truth table approaches ll-variants: Every variant is tested once. The number of tests is N, infeasible for large tables ll-true: ll variants that produce a true outcome are tested. Equivalent to testing all minterms of the logic function. Inappropriate if false actions are an important part of the behaviour Truth table approaches ll-false: ll variants that produce a false outcome are tested. Equivalent to testing the complements of all minterms of the logic function. Inappropriate if true actions are important ll-primes: Each prime implicant is tested once. Subset of the ll-true strategy due to don t care conditions Each-ondition/ll-conditions ssumption: For the logic functions =PQR and Y=P+Q+R, the only relevant cases are: Each-ondition/ll-conditions For a logic function such as = ~ + we apply the heuristic to every term P Q R P Q R Y Test cases for ~ Test cases for 7

8 Each-ondition/ll-conditions The number of tests increases linearly with the number of product terms Implicit conditions are a problem for this technique Values need to be assigned to the on t are variables. an be done randomly or by suspicion. Try different combinations for different test cases ecision tree for boiler example inary ecision iagrams Reduction process First Reduction ompact representation of a truth table an be used to create test suite can be generated from the truth table Start by drawing the full decision tree left branch represents False () right branch represents True () Working from left to right, replace leaf nodes with equivalent constants or variables and prune the branches This way we can prune the entire left branch of the tree since it only depends on the value of Second Reduction 8

9 Final inary ecision iagram determinant table Test suite generation Variant Variable Negation Strategy ll combinations of sensitive variables, e.g., are created determinant is a root-to-leafpath in the The determinant table has one row per path Variant esigned to reveal faults that hide in a don t care The test suite contains:.. Example truth table Unique true points: variant per term t, so that t is True and all other terms are False Near False Points: variant for each literal in a term. The variant is obtained by negating the literal and is selected only if it makes = Each variant creates a test candidate set Unique true point candidate sets in boiler example: {} {9,,5} Negation variants Input Vector Number rmal Pressure all For Heat amper Shut Manual Mode Ignition Enable

10 Selecting the test cases t least one variant from each candidate set an be done by inspection (next slide) Random selection is also used Near False Points exercise combinations of don t care values 6% of all possible tests are created 98% of simulated bugs can be found omain nalysis oiler Test ase Selection omain analysis for Variant Each variant with non-binary variables defines a subdomain (7 in the insurance policy example) Minimal domain test strategy:pick one ON point and one OFF point per boundary These points will often overlap reducing the number of test cases omain analysis for Variant 6 hoosing a test strategy Tradeoff: ost (roughly proportional to the number of tests) vs. onfidence in the test implementation Each testing strategy produces a test suite of different size (next slide) Hard to evaluate the fault-revealing power of each strategy Quantity effectiveness

11 Test suite sizes Strategy hierarchy Practical observations Practical observations For small tables with non-binary decision variables, the explicit variant strategy augmented domain tests is prudent and feasible ll-variants is prudent and feasible for small and medium-sized tables Each-ondition/ll-onditions can be used to create a compact test suite for all sizes of tables Variable negation strategy is the clear choice for large tables. It is highly effective and produces a small suite. lgorithms for automatic generation have been developed For a quick-and-dirty strategy: llprimes and ll-explicit can be considered

Software Testing. 2. Models. 2. Models. Testing Approaches. Why Models? (in Testing) (Based on Part II: Models of Testing Object-Oriented Systems)

Software Testing. 2. Models. 2. Models. Testing Approaches. Why Models? (in Testing) (Based on Part II: Models of Testing Object-Oriented Systems) 2. Models (Based on Part II: Models of Testing Object-Oriented Systems) Software Testing 2. Models Models - Why? What? How? Combinational Models - Decision Tables: What? How? - Test Generation State Machines

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 28: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Minimization CprE 28: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev Administrative

More information

Decision Tables - Wikipedia Decision Table-Based Testing

Decision Tables - Wikipedia Decision Table-Based Testing Decision ables Wikipedia Decision ablebased esting Chapter A precise yet compact way to model complicated logic Associate conditions with actions to perform Can associate many independent conditions with

More information

Software Testing. 2. Models. 2. Models. Testing Approaches. Why Models? (in Testing) (Based on Part II: Models of Testing Object-Oriented Systems)

Software Testing. 2. Models. 2. Models. Testing Approaches. Why Models? (in Testing) (Based on Part II: Models of Testing Object-Oriented Systems) 2. Models (Based on Part II: Models of Testing Object-Oriented Systems) Software Testing 2. Models Models Why? What? How? Combinational Models Decision Tables: What? How? Test Generation State Machines

More information

Simplification of two-level combinational logic

Simplification of two-level combinational logic ombinational logic optimization! lternate representations of oolean functions " cubes " karnaugh maps! Simplification " two-level simplification " exploiting don t cares " algorithm for simplification

More information

Chapter 2 Combinational Logic Circuits

Chapter 2 Combinational Logic Circuits Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization Overview Part Gate Circuits and Boolean Equations Binary Logic and Gates Boolean Algebra Standard

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

Chapter 2. Boolean Expressions:

Chapter 2. Boolean Expressions: Chapter 2 Boolean Expressions: A Boolean expression or a function is an expression which consists of binary variables joined by the Boolean connectives AND and OR along with NOT operation. Any Boolean

More information

Motivation State Machines

Motivation State Machines Motivation State Machines Generating test cases for complex behaviour Textbook Reading: Chapter 7 We are interested in testing the behaviour of object-oriented software systems Behaviour: Interactions

More information

Chapter 2 Combinational

Chapter 2 Combinational Computer Engineering 1 (ECE290) Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization HOANG Trang 2008 Pearson Education, Inc. Overview Part 1 Gate Circuits and Boolean Equations Binary Logic

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

Specifying logic functions

Specifying logic functions CSE4: Components and Design Techniques for Digital Systems Specifying logic functions Instructor: Mohsen Imani Slides from: Prof.Tajana Simunic and Dr.Pietro Mercati We have seen various concepts: Last

More information

Simplification of Boolean Functions

Simplification of Boolean Functions COM111 Introduction to Computer Engineering (Fall 2006-2007) NOTES 5 -- page 1 of 5 Introduction Simplification of Boolean Functions You already know one method for simplifying Boolean expressions: Boolean

More information

Combinational Circuits Digital Logic (Materials taken primarily from:

Combinational Circuits Digital Logic (Materials taken primarily from: Combinational Circuits Digital Logic (Materials taken primarily from: http://www.facstaff.bucknell.edu/mastascu/elessonshtml/eeindex.html http://www.cs.princeton.edu/~cos126 ) Digital Systems What is a

More information

Contents. Chapter 3 Combinational Circuits Page 1 of 34

Contents. Chapter 3 Combinational Circuits Page 1 of 34 Chapter 3 Combinational Circuits Page of 34 Contents Contents... 3 Combinational Circuits... 2 3. Analysis of Combinational Circuits... 2 3.. Using a Truth Table... 2 3..2 Using a Boolean unction... 4

More information

A B AB CD Objectives:

A B AB CD Objectives: Objectives:. Four variables maps. 2. Simplification using prime implicants. 3. "on t care" conditions. 4. Summary.. Four variables Karnaugh maps Minterms A A m m m3 m2 A B C m4 C A B C m2 m8 C C m5 C m3

More information

Combinational Logic Circuits Part III -Theoretical Foundations

Combinational Logic Circuits Part III -Theoretical Foundations Combinational Logic Circuits Part III -Theoretical Foundations Overview Simplifying Boolean Functions Algebraic Manipulation Karnaugh Map Manipulation (simplifying functions of 2, 3, 4 variables) Systematic

More information

9/10/2016. ECE 120: Introduction to Computing. The Domain of a Boolean Function is a Hypercube. List All Implicants for One Variable A

9/10/2016. ECE 120: Introduction to Computing. The Domain of a Boolean Function is a Hypercube. List All Implicants for One Variable A University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 120: Introduction to Computing To Simplify, Write Function as a Sum of Prime Implicants One way to simplify a

More information

University of Technology

University of Technology University of Technology Lecturer: Dr. Sinan Majid Course Title: microprocessors 4 th year Lecture 5 & 6 Minimization with Karnaugh Maps Karnaugh maps lternate way of representing oolean function ll rows

More information

Błaej Pietrzak

Błaej Pietrzak Błaej Pietrzak blazej.pietrzak@cs.put.poznan.pl Fault model Result-oriented testing Test design approach Domain testing model Category-Partition test pattern Polymorphic message test pattern 1 Exhaustive

More information

CHAPTER-2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, K-Map and Quine-McCluskey

CHAPTER-2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, K-Map and Quine-McCluskey CHAPTER-2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, K-Map and Quine-McCluskey 2. Introduction Logic gates are connected together to produce a specified output for certain specified combinations of input

More information

Homework. Update on website issue Reading: Chapter 7 Homework: All exercises at end of Chapter 7 Due 9/26

Homework. Update on website issue Reading: Chapter 7 Homework: All exercises at end of Chapter 7 Due 9/26 Homework Update on website issue Reading: hapter 7 Homework: All exercises at end of hapter 7 Due 9/26 opyright c 22 28 UMaine omputer Science Department / 2 OS 4: Foundations of omputer Science Karnaugh

More information

Chapter 2 Combinational Logic Circuits

Chapter 2 Combinational Logic Circuits Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active in View Show

More information

Incompletely Specified Functions with Don t Cares 2-Level Transformation Review Boolean Cube Karnaugh-Map Representation and Methods Examples

Incompletely Specified Functions with Don t Cares 2-Level Transformation Review Boolean Cube Karnaugh-Map Representation and Methods Examples Lecture B: Logic Minimization Incompletely Specified Functions with Don t Cares 2-Level Transformation Review Boolean Cube Karnaugh-Map Representation and Methods Examples Incompletely specified functions

More information

Slide Set 5. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

Slide Set 5. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary Slide Set 5 for ENEL 353 Fall 207 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Fall Term, 207 SN s ENEL 353 Fall 207 Slide Set 5 slide

More information

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 04. Boolean Expression Simplification and Implementation

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 04. Boolean Expression Simplification and Implementation Name: Instructor: Engr. Date Performed: Marks Obtained: /10 Group Members (ID):. Checked By: Date: Experiment # 04 Boolean Expression Simplification and Implementation OBJECTIVES: To understand the utilization

More information

Chapter 1. 1 Computer-Aided Logic Design. 1.1 Introduction. 1.2 General Philosophy of Problem Specification and Solution

Chapter 1. 1 Computer-Aided Logic Design. 1.1 Introduction. 1.2 General Philosophy of Problem Specification and Solution 1 Computer-Aided Logic Design 1.1 Introduction Hardware components of computers are physical models of logical reasoning. Procedures based on ligical disciplines of mathematics are used to design these

More information

3.3 Hardware Karnaugh Maps

3.3 Hardware Karnaugh Maps 2P P = P = 3.3 Hardware UIntroduction A Karnaugh map is a graphical method of Boolean logic expression reduction. A Boolean expression can be reduced to its simplest form through the 4 simple steps involved

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

Combinational Logic Circuits

Combinational Logic Circuits Chapter 3 Combinational Logic Circuits 12 Hours 24 Marks 3.1 Standard representation for logical functions Boolean expressions / logic expressions / logical functions are expressed in terms of logical

More information

Combinational Logic & Circuits

Combinational Logic & Circuits Week-I Combinational Logic & Circuits Spring' 232 - Logic Design Page Overview Binary logic operations and gates Switching algebra Algebraic Minimization Standard forms Karnaugh Map Minimization Other

More information

(Refer Slide Time 6:48)

(Refer Slide Time 6:48) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 8 Karnaugh Map Minimization using Maxterms We have been taking about

More information

ece5745-pla-notes.txt

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

More information

Review: Standard forms of expressions

Review: Standard forms of expressions Karnaugh maps Last time we saw applications of Boolean logic to circuit design. The basic Boolean operations are AND, OR and NOT. These operations can be combined to form complex expressions, which can

More information

Combinational Devices and Boolean Algebra

Combinational Devices and Boolean Algebra Combinational Devices and Boolean Algebra Silvina Hanono Wachman M.I.T. L02-1 6004.mit.edu Home: Announcements, course staff Course information: Lecture and recitation times and locations Course materials

More information

Karnaugh Map (K-Map) Karnaugh Map. Karnaugh Map Examples. Ch. 2.4 Ch. 2.5 Simplification using K-map

Karnaugh Map (K-Map) Karnaugh Map. Karnaugh Map Examples. Ch. 2.4 Ch. 2.5 Simplification using K-map Karnaugh Map (K-Map) Ch. 2.4 Ch. 2.5 Simplification using K-map A graphical map method to simplify Boolean function up to 6 variables A diagram made up of squares Each square represents one minterm (or

More information

3.4 QUINE MCCLUSKEY METHOD 73. f(a, B, C, D, E)¼AC ĒþB CD þ BCDþĀBD.

3.4 QUINE MCCLUSKEY METHOD 73. f(a, B, C, D, E)¼AC ĒþB CD þ BCDþĀBD. 3.4 QUINE MCCLUSKEY METHOD 73 FIGURE 3.22 f(a, B, C, D, E)¼B CD þ BCD. FIGURE 3.23 f(a, B, C, D, E)¼AC ĒþB CD þ BCDþĀBD. A¼1map are, 1, and 1, respectively, whereas the corresponding entries in the A¼0

More information

Chapter 10 Part 1: Reduction

Chapter 10 Part 1: Reduction //06 Polynomial-Time Reduction Suppose we could solve Y in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Chapter 0 Part : Reduction Reduction. Problem X

More information

Introduction to Microprocessors and Digital Logic (ME262) Boolean Algebra and Logic Equations. Spring 2011

Introduction to Microprocessors and Digital Logic (ME262) Boolean Algebra and Logic Equations. Spring 2011 Introduction to Microprocessors and Digital (ME262) lgebra and Spring 2 Outline. lgebra 2. 3. Karnaugh Maps () 4. Two-variable 5. 6. 7. 2 lgebra s of Simplifying equations are defined in terms of inary

More information

Path Testing + Coverage. Chapter 8

Path Testing + Coverage. Chapter 8 Path Testing + Coverage Chapter 8 Structural Testing n Also known as glass/white/open box testing n A software testing technique whereby explicit knowledge of the internal workings of the item being tested

More information

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing. Overview CS 619 Introduction to OO Design and Development ing! Preliminaries! All sorts of test techniques! Comparison of test techniques! Software reliability Fall 2012! Main issues: There are a great

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

Literal Cost F = BD + A B C + A C D F = BD + A B C + A BD + AB C F = (A + B)(A + D)(B + C + D )( B + C + D) L = 10

Literal Cost F = BD + A B C + A C D F = BD + A B C + A BD + AB C F = (A + B)(A + D)(B + C + D )( B + C + D) L = 10 Circuit Optimization Goal: To obtain the simplest implementation for a given function Optimization is a more formal approach to simplification that is performed using a specific procedure or algorithm

More information

Checking Multiple Conditions

Checking Multiple Conditions Checking Multiple Conditions Conditional code often relies on a value being between two other values Consider these conditions: Free shipping for orders over $25 10 items or less Children ages 3 to 11

More information

Data Preprocessing. Slides by: Shree Jaswal

Data Preprocessing. Slides by: Shree Jaswal Data Preprocessing Slides by: Shree Jaswal Topics to be covered Why Preprocessing? Data Cleaning; Data Integration; Data Reduction: Attribute subset selection, Histograms, Clustering and Sampling; Data

More information

Gate Level Minimization Map Method

Gate Level Minimization Map Method Gate Level Minimization Map Method Complexity of hardware implementation is directly related to the complexity of the algebraic expression Truth table representation of a function is unique Algebraically

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

Functional Block: Decoders

Functional Block: Decoders University of Wisconsin - Madison EE/omp Sci 352 Digital Systems Fundamentals harles R. Kime Section 2 Fall 2 hapter 3 ombinational Logic Design Part 2 Tom Kaminski & harles R. Kime harles Kime & Thomas

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

COMPUTER APPLICATION

COMPUTER APPLICATION Total No. of Printed Pages 16 HS/XII/A.Sc.Com/CAP/14 2 0 1 4 COMPUTER APPLICATION ( Science / Arts / Commerce ) ( Theory ) Full Marks : 70 Time : 3 hours The figures in the margin indicate full marks for

More information

Chapter 7 Control Statements Continued

Chapter 7 Control Statements Continued Chapter 7 Control Statements Continued Logical Operators used in Boolean expressions to control behavior of if, while or for statements. && - and, - or,! - not if (the sun shines && you have the time)

More information

CMPE223/CMSE222 Digital Logic

CMPE223/CMSE222 Digital Logic CMPE223/CMSE222 Digital Logic Optimized Implementation of Logic Functions: Strategy for Minimization, Minimum Product-of-Sums Forms, Incompletely Specified Functions Terminology For a given term, each

More information

Class Modality. Modality Types. Modality Types. Class Scope Test Design Patterns

Class Modality. Modality Types. Modality Types. Class Scope Test Design Patterns Class Scope Test Design Patterns Testing methods in isolation is not enough Instance variables act like global variables within a class Need to test intraclass interactions Message sequences Class Modality

More information

Objectives: 1. Design procedure. 2. Fundamental circuits. 1. Design procedure

Objectives: 1. Design procedure. 2. Fundamental circuits. 1. Design procedure Objectives: 1. Design procedure. 2. undamental circuits. 1. Design procedure Design procedure has five steps: o Specification. o ormulation. o Optimization. o Technology mapping. o Verification. Specification:

More information

Experiment 4 Boolean Functions Implementation

Experiment 4 Boolean Functions Implementation Experiment 4 Boolean Functions Implementation Introduction: Generally you will find that the basic logic functions AND, OR, NAND, NOR, and NOT are not sufficient to implement complex digital logic functions.

More information

S1 Teknik Telekomunikasi Fakultas Teknik Elektro FEH2H3 2016/2017

S1 Teknik Telekomunikasi Fakultas Teknik Elektro FEH2H3 2016/2017 S1 Teknik Telekomunikasi Fakultas Teknik Elektro FEH2H3 2016/2017 Karnaugh Map Karnaugh maps Last time we saw applications of Boolean logic to circuit design. The basic Boolean operations are AND, OR and

More information

State-Based Testing Part B Error Identification. Generating test cases for complex behaviour

State-Based Testing Part B Error Identification. Generating test cases for complex behaviour State-Based Testing Part B Error Identification Generating test cases for complex behaviour Reference: Robert V. Binder Testing Object-Oriented Systems: Models, Patterns, and Tools Addison-Wesley, 2000,

More information

Gate-Level Minimization. BME208 Logic Circuits Yalçın İŞLER

Gate-Level Minimization. BME208 Logic Circuits Yalçın İŞLER Gate-Level Minimization BME28 Logic Circuits Yalçın İŞLER islerya@yahoo.com http://me.islerya.com Complexity of Digital Circuits Directly related to the complexity of the algebraic expression we use to

More information

Digital Logic Lecture 7 Gate Level Minimization

Digital Logic Lecture 7 Gate Level Minimization Digital Logic Lecture 7 Gate Level Minimization By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department Outline Introduction. K-map principles. Simplification using K-maps. Don t-care

More information

Module -7. Karnaugh Maps

Module -7. Karnaugh Maps 1 Module -7 Karnaugh Maps 1. Introduction 2. Canonical and Standard forms 2.1 Minterms 2.2 Maxterms 2.3 Canonical Sum of Product or Sum-of-Minterms (SOM) 2.4 Canonical product of sum or Product-of-Maxterms(POM)

More information

POWR IP PZ1/17

POWR IP PZ1/17 Silesian University of Technology as Centre of Modern Education Based on Research and Innovations POWR.03.05.00-IP.08-00-PZ1/17 Project co-financed by the European Union under the European Social Fund

More information

Combinational Logic Circuits

Combinational Logic Circuits Chapter 2 Combinational Logic Circuits J.J. Shann (Slightly trimmed by C.P. Chung) Chapter Overview 2-1 Binary Logic and Gates 2-2 Boolean Algebra 2-3 Standard Forms 2-4 Two-Level Circuit Optimization

More information

Motivating Examples (1.1) Selections. Motivating Examples (1.2) Learning Outcomes. EECS1022: Programming for Mobile Computing Winter 2018

Motivating Examples (1.1) Selections. Motivating Examples (1.2) Learning Outcomes. EECS1022: Programming for Mobile Computing Winter 2018 Motivating Examples (1.1) Selections EECS1022: Programming for Mobile Computing Winter 2018 CHEN-WEI WANG 1 import java.util.scanner; 2 public class ComputeArea { 3 public static void main(string[] args)

More information

Lecture Notes on Binary Decision Diagrams

Lecture Notes on Binary Decision Diagrams Lecture Notes on Binary Decision Diagrams 15-122: Principles of Imperative Computation William Lovas Notes by Frank Pfenning Lecture 25 April 21, 2011 1 Introduction In this lecture we revisit the important

More information

Digital Design. Chapter 4. Principles Of. Simplification of Boolean Functions

Digital Design. Chapter 4. Principles Of. Simplification of Boolean Functions Principles Of Digital Design Chapter 4 Simplification of Boolean Functions Karnaugh Maps Don t Care Conditions Technology Mapping Optimization, Conversions, Decomposing, Retiming Boolean Cubes for n =,

More information

DKT 122/3 DIGITAL SYSTEM 1

DKT 122/3 DIGITAL SYSTEM 1 Company LOGO DKT 122/3 DIGITAL SYSTEM 1 BOOLEAN ALGEBRA (PART 2) Boolean Algebra Contents Boolean Operations & Expression Laws & Rules of Boolean algebra DeMorgan s Theorems Boolean analysis of logic circuits

More information

MUX using Tri-State Buffers. Chapter 2 - Part 2 1

MUX using Tri-State Buffers. Chapter 2 - Part 2 1 MUX using Tri-State Buffers Chapter 2 - Part 2 Systematic Simplification A Prime Implicant is a product term obtained by combining the maximum possible number of adjacent squares in the map into a rectangle

More information

Lecture 22: Implementing Combinational Logic

Lecture 22: Implementing Combinational Logic 8 Lecture 22: Implementing ombinational Logic S 5 L22 James. Hoe Dept of EE, MU April 9, 25 Today s Goal: Design some combinational logic circuits Announcements: Read Rizzoni 2.4 and 2.5 HW 8 due today

More information

ECE380 Digital Logic

ECE380 Digital Logic ECE38 Digital Logic Optimized Implementation of Logic Functions: Strategy for Minimization, Minimum Product-of-Sums Forms, Incompletely Specified Functions Dr. D. J. Jackson Lecture 8- Terminology For

More information

Gate-Level Minimization. section instructor: Ufuk Çelikcan

Gate-Level Minimization. section instructor: Ufuk Çelikcan Gate-Level Minimization section instructor: Ufuk Çelikcan Compleity of Digital Circuits Directly related to the compleity of the algebraic epression we use to build the circuit. Truth table may lead to

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

Working with Combinational Logic

Working with Combinational Logic KTZ_238576_M3.fm Page 93 Thursday, November 4, 24 2:38 PM H P T E R Working with ombinational Logic Introduction Now that we ve learned about two-level logic and had a short introduction to multilevel

More information

Chapter 3 working with combinational logic

Chapter 3 working with combinational logic hapter 3 working with combinational logic ombinational Logic opyright 24, Gaetano orriello and Randy H. Katz Working with combinational logic Simplification two-level simplification exploiting don t cares

More information

Assignment (3-6) Boolean Algebra and Logic Simplification - General Questions

Assignment (3-6) Boolean Algebra and Logic Simplification - General Questions Assignment (3-6) Boolean Algebra and Logic Simplification - General Questions 1. Convert the following SOP expression to an equivalent POS expression. 2. Determine the values of A, B, C, and D that make

More information

ENGIN 112 Intro to Electrical and Computer Engineering

ENGIN 112 Intro to Electrical and Computer Engineering ENGIN 2 Intro to Electrical and Computer Engineering Lecture 8 Minimization with Karnaugh Maps Overview K-maps: an alternate approach to representing oolean functions K-map representation can be used to

More information

Supplement to. Logic and Computer Design Fundamentals 4th Edition 1

Supplement to. Logic and Computer Design Fundamentals 4th Edition 1 Supplement to Logic and Computer esign Fundamentals 4th Edition MORE OPTIMIZTION Selected topics not covered in the fourth edition of Logic and Computer esign Fundamentals are provided here for optional

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

Introduction to Software Testing Chapter 3, Sec# 1 & 2 Logic Coverage

Introduction to Software Testing Chapter 3, Sec# 1 & 2 Logic Coverage Introduction to Software Testing Chapter 3, Sec# 1 & 2 Logic Coverage Paul Ammann & Jeff Offutt http://www.cs.gmu.edu/~offutt/soft waretest/ Ch. 3 : Logic Coverage Four Structures for Modeling Software

More information

Origins of Stuck-Faults. Combinational Automatic Test-Pattern Generation (ATPG) Basics. Functional vs. Structural ATPG.

Origins of Stuck-Faults. Combinational Automatic Test-Pattern Generation (ATPG) Basics. Functional vs. Structural ATPG. Combinational Automatic Test-Pattern Generation (ATPG) Basics Algorithms and representations Structural vs functional test efinitions Search spaces Completeness Algebras Types of Algorithms Origins of

More information

Testing, Debugging, and Verification

Testing, Debugging, and Verification Testing, Debugging, and Verification Formal Specification, Part II Srinivas Pinisetty 23 November 2017 Introduction Today: Introduction to Dafny: An imperative language with integrated support for formal

More information

Outcomes. Unit 9. Logic Function Synthesis KARNAUGH MAPS. Implementing Combinational Functions with Karnaugh Maps

Outcomes. Unit 9. Logic Function Synthesis KARNAUGH MAPS. Implementing Combinational Functions with Karnaugh Maps .. Outcomes Unit I can use Karnaugh maps to synthesize combinational functions with several outputs I can determine the appropriate size and contents of a memory to implement any logic function (i.e. truth

More information

A graphical method of simplifying logic

A graphical method of simplifying logic 4-5 Karnaugh Map Method A graphical method of simplifying logic equations or truth tables. Also called a K map. Theoretically can be used for any number of input variables, but practically limited to 5

More information

(Refer Slide Time: 1:43)

(Refer Slide Time: 1:43) (Refer Slide Time: 1:43) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology, Madras Lecture - 27 Pattern Detector So, we talked about Moore

More information

l Some materials from various sources! n Current course textbook! Soma 1! Soma 3!

l Some materials from various sources! n Current course textbook! Soma 1! Soma 3! Ackwledgements! Test generation algorithms! Mani Soma! l Some materials from various sources! n r. Phil Nigh, IBM! n Principles of Testing Electronic Systems by S. Mourad & Y. Zorian! n Essentials of Electronic

More information

CSCI 220: Computer Architecture I Instructor: Pranava K. Jha. Simplification of Boolean Functions using a Karnaugh Map

CSCI 220: Computer Architecture I Instructor: Pranava K. Jha. Simplification of Boolean Functions using a Karnaugh Map CSCI 22: Computer Architecture I Instructor: Pranava K. Jha Simplification of Boolean Functions using a Karnaugh Map Q.. Plot the following Boolean function on a Karnaugh map: f(a, b, c, d) = m(, 2, 4,

More information

Points Addressed in this Lecture. Standard form of Boolean Expressions. Lecture 4: Logic Simplication & Karnaugh Map

Points Addressed in this Lecture. Standard form of Boolean Expressions. Lecture 4: Logic Simplication & Karnaugh Map Points Addressed in this Lecture Lecture 4: Logic Simplication & Karnaugh Map Professor Peter Cheung Department of EEE, Imperial College London Standard form of Boolean Expressions Sum-of-Products (SOP),

More information

Binary Decision Diagrams

Binary Decision Diagrams Logic and roof Hilary 2016 James Worrell Binary Decision Diagrams A propositional formula is determined up to logical equivalence by its truth table. If the formula has n variables then its truth table

More information

CS 115 Lecture 4. More Python; testing software. Neil Moore

CS 115 Lecture 4. More Python; testing software. Neil Moore CS 115 Lecture 4 More Python; testing software Neil Moore Department of Computer Science University of Kentucky Lexington, Kentucky 40506 neil@cs.uky.edu 8 September 2015 Syntax: Statements A statement

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

Bob s Notes for COS 226 Fall : Introduction, Union-Find, and Percolation. Robert E. Tarjan 9/15/13. Introduction

Bob s Notes for COS 226 Fall : Introduction, Union-Find, and Percolation. Robert E. Tarjan 9/15/13. Introduction Bob s Notes for COS 226 Fall 2013 1: Introduction, Union-Find, and Percolation Robert E. Tarjan 9/15/13 Introduction Welcome to COS 226! This is the first of a series of occasional notes that I plan to

More information

Chapter 6. Logic Design Optimization Chapter 6

Chapter 6. Logic Design Optimization Chapter 6 Chapter 6 Logic Design Optimization Chapter 6 Optimization The second part of our design process. Optimization criteria: Performance Size Power Two-level Optimization Manipulating a function until it is

More information

Selections. EECS1021: Object Oriented Programming: from Sensors to Actuators Winter 2019 CHEN-WEI WANG

Selections. EECS1021: Object Oriented Programming: from Sensors to Actuators Winter 2019 CHEN-WEI WANG Selections EECS1021: Object Oriented Programming: from Sensors to Actuators Winter 2019 CHEN-WEI WANG Learning Outcomes The Boolean Data Type if Statement Compound vs. Primitive Statement Common Errors

More information

9/24/ Hash functions

9/24/ Hash functions 11.3 Hash functions A good hash function satis es (approximately) the assumption of SUH: each key is equally likely to hash to any of the slots, independently of the other keys We typically have no way

More information

Digital Circuits ECS 371

Digital Circuits ECS 371 Digital Circuits ECS 37 Dr. Prapun Suksompong prapun@siit.tu.ac.th Lecture 7 Office Hours: KD 36-7 Monday 9:-:3, :3-3:3 Tuesday :3-:3 Announcement HW2 posted on the course web site Chapter 4: Write down

More information

Standard Forms of Expression. Minterms and Maxterms

Standard Forms of Expression. Minterms and Maxterms Standard Forms of Expression Minterms and Maxterms Standard forms of expressions We can write expressions in many ways, but some ways are more useful than others A sum of products (SOP) expression contains:

More information

17. Assertions. Outline. Built-in tests. Built-in tests 3/29/11. Jelle Slowack, Bart Smets, Glenn Van Loon, Tom Verheyen

17. Assertions. Outline. Built-in tests. Built-in tests 3/29/11. Jelle Slowack, Bart Smets, Glenn Van Loon, Tom Verheyen 17. Assertions Jelle Slowack, Bart Smets, Glenn Van Loon, Tom Verheyen Outline Introduction (BIT, assertion, executable assertion, why?) Implementation-based vs responsability-based assertions Implementation

More information

Software Quality Assurance. David Janzen

Software Quality Assurance. David Janzen Software Quality Assurance David Janzen What is quality? Crosby: Conformance to requirements Issues: who establishes requirements? implicit requirements Juran: Fitness for intended use Issues: Who defines

More information

ELEC-270 Solutions to Assignment 5

ELEC-270 Solutions to Assignment 5 ELEC-270 Solutions to Assignment 5 1. How many positive integers less than 1000 (a) are divisible by 7? (b) are divisible by 7 but not by 11? (c) are divisible by both 7 and 11? (d) are divisible by 7

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

Topics in Software Testing

Topics in Software Testing Dependable Software Systems Topics in Software Testing Material drawn from [Beizer, Sommerville] Software Testing Software testing is a critical element of software quality assurance and represents the

More information