0% found this document useful (0 votes)
7 views29 pages

Unit -3 Part-2

The document provides an overview of logic-based testing, emphasizing the use of Boolean algebra in both software and hardware logic testing. It discusses knowledge-based systems, decision tables for modeling logic, and the construction and simplification of decision tables, along with Boolean algebra rules and Karnaugh maps for function simplification. Additionally, it outlines a specification validation procedure to ensure consistency and completeness in logical specifications.

Uploaded by

rupa reddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views29 pages

Unit -3 Part-2

The document provides an overview of logic-based testing, emphasizing the use of Boolean algebra in both software and hardware logic testing. It discusses knowledge-based systems, decision tables for modeling logic, and the construction and simplification of decision tables, along with Boolean algebra rules and Karnaugh maps for function simplification. Additionally, it outlines a specification validation procedure to ensure consistency and completeness in logical specifications.

Uploaded by

rupa reddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 29

Logic based testing: Overview

• Logic is used in a program by programmers.


Boolean algebra is the way to work with logic –
simplification & calculation.
• Hardware logic testing – hardware logic test
design tools and methods use logic & Boolean
algebra. Hardware design language
compilers/translators use logic & Boolean
algebra.
• Impact of errors in specifications of a software is
high as these are first in and last out. So, higher
level language for specs is desired to reduce the
number of errors. Higher order logic systems are
used for formal specifications. The tools to
simplify, transform and check specs use
Boolean algebra.
Logic based testing: Overview
Knowledge based systems:
• Knowledge based systems and artificial
intelligence systems use high level logic
languages which are based on rule bases
consisting of rules. Rules are predicate
expressions containing domain knowledge
related elements combined with logical
connectives. The answers to queries (problems)
are derived based on Boolean algebraic
operations performed on the rule bases. Such
programs are called inference engines.
Modeling Logic with
Decision Tables
• A matrix representation of the logic of a
decision
• Specifies the possible conditions and the
resulting actions
• Best used for complicated decision logic
Modeling Logic with
Decision Tables
• Consists of three parts
– Condition stubs
• Lists condition relevant to decision
– Action stubs
• Actions that result from a given set of conditions
– Rules
• Specify which actions are to be followed for a
given set of conditions
Modeling Logic with
Decision Tables
• Indifferent Condition
– Condition whose value does not affect which action is
taken for two or more rules
• Standard procedure for creating decision tables
– Name the condition and values each condition can
assume
– Name all possible actions that can occur
– List all rules
– Define the actions for each rule
– Simplify the table
Complete decision table for payroll system
example

9.6
9.6
Constructing a Decision Table
• PART 1. FRAME THE PROBLEM.
– Identify the conditions (decision criteria). These are
the factors that will influence the decision.
• E.g., We want to know the total cost of a student’s
tuition. What factors are important?
– Identify the range of values for each condition or
criteria.
• E.g. What are they for each factor identified
above?
– Identify all possible actions that can occur.
• E.g. What types of calculations would be
necessary?
Constructing a Decision Table
• PART 2. CREATE THE TABLE.
– Create a table with 4 quadrants.
• Put the conditions in the upper left quadrant. One
row per condition.
• Put the actions in the lower left quadrant. One row
per action.
– List all possible rules.
• Alternate values for first condition. Repeat for all
values of second condition. Keep repeating this
process for all conditions.
• Put the rules in the upper right quadrant.
– Enter actions for each rule
• In the lower right quadrant, determine what, if any,
appropriate actions should be taken for each rule.
– Reduce table as necessary.
Example
• Calculate the total cost of your tuition this
quarter.
– What do you need to know?
• Level. (Undergrad or graduate)
• School. (CTI, Law, etc.)
• Status. (Full or part time)
• Number of hours
– Actions?
• Actions?
– Consider CTI only (to make the problem smaller):
• U/G
– Part Time (1 to 11 hrs.): $335.00/per hour
– Full Time (12 to 18 hrs.): $17,820.00
– * Credit hours over 18 are charged at the part-time rate
• Graduate:
– Part time (1 to 7 hrs.): $520.00/per hour
– Full time (>= 8 hrs.): $520.00/per hour
• Create a decision table for this problem. In my
solution I was able to reduce the number of rules
from 16 to 4.
Boolean Algebra

A Boolean algebra consists of:


• a set B={0, 1},
• 2 binary operations on B (denoted by + & ×),
• a unary operation on B (denoted by '), such
that :
0+0=0 0×0=0
1+0=1 0×1=0
0+1=1 1×0=0
1+1=1 1×1=1
0’=1 and 1’=0.
11
Rules of a Boolean Algebra
The following axioms (‘rules’) are satisfied for all
elements x, y& z of B:

(1) x + y = y + x (commutative axioms)

x× y = y × x
(2) x + (y + z) = (x + y) + z (associative axioms)
x × (y × z) = (x × y) × z
(3) x × (y + z) = (x × y) + (x × z)
x + (y × z) = (x + y) × (x + z) (distributive axioms)
(4) x + 0 = x x × 1 = x (identity axioms)
(5) x + x' = 1 x × x' = 0 (inverse axioms)
12
Laws of Boolean Algebra
• In addition to the laws given by the axioms of
Boolean Algebra, we can show the following laws

x'' = x (double complement)


x+x=x x× x = x (idempotent )
(x + y)' = x' × y' (x × y)' = x' + y' (de Morgan’s laws)
x+1=1 x × 0 = 0 (annihilation)
x + (x × y) = x x× (x + y) = x (absorption)
0' = 1 1' = 0 (complement)

13
Exercise
Simplify the Boolean expression
(x' × y) + (x × y)
Solution: (x' × y) + (x × y)
= (y × x') + (y × x) (commutative)
= y × (x' + x) (distributive)
= y × (x + x') (commutative)
=y×1 (inverse)
=y (identity)
Thus (x' × y) + (x × y) = y 14
Boolean Notation
• This means that in effect we’ll be employing
Boolean Algebra notation.
• The truth tables can be rewritten as

15
Notational Short-cuts
We will employ short-cuts in notation:

(1) In ‘multiplication’ we’ll omit the symbol ×, &


write xy for x × y (just as in ordinary algebra)

(2) The associative law says that


x + (y + z) = (x + y) + z
So we’ll write this as simply x + y + z, because
the brackets aren’t necessary.

16
Notational Short-cuts
Similarly, write the product of 3 terms as xyz

(3) In ordinary algebra, the expression


x + y × z means x + (y × z), because of the
convention that multiplication takes
precedence over addition.

e.g. x + yz means x + (y × z), and not (x + y) × z


Similarly, ab + cd means (a × b) + (c × d)

17
Reducing Boolean
Expressions
• Is this the smallest possible implementation
of this expression? No!

G = xyz + xyz’ + x’yz


• Use Boolean Algebra rules to reduce
complexity while preserving functionality.

• Step 1: Use idempotent law (a + a = a). So


xyz + xyz’ + x’yz = xyz + xyz + xyz’ +
x’yz
18
Reducing Boolean
Expressions
• Step 2: Use distributive law a(b + c) = ab +
ac. So xyz + xyz + xyz’ + x’yz = xy(z + z’)
+ yz(x + x’)

• Step 3: Use Inverse law (a + a’ = 1). So


xy(z + z’) + yz(x + x’) = xy.1 + yz.1

• Step 4: Use Identity law (a . 1 = a). So


xy + yz = xy.1 + yz.1 = xyz + xyz’ + x’yz
19
Karnaugh maps
• Alternate way of representing Boolean
function
– All rows of truth table represented with
a square
– Each square represents a minterm
x y F
y y
x 0 1 x 0 1 0 0 1
0 x’y’ x’y 0 1 1 0 1 1
1 xy’ xy 1 1 0 0
0 0
1 1 0

20
Karnaugh maps
• Easy to convert between truth table, K-map,
and SOP.

– Unoptimized form: number of 1’s in K-map


equals number of minterms (products) in
SOP.

– Optimized form: reduced number of


minterms F(x,y) = x’y + x’y’ = x’ 21
Karnaugh Maps
• A Karnaugh map is a graphical tool for assisting in the general
simplification procedure.
• Two variable maps.
B01 B
A 01
00 1 A
F=AB +A’B 0 0 1 F=AB +AB +AB 
11 0
1 1 1
A B C F
• Three variable maps. 0 0 0 0
0 0 1 1
BC 0 1 0 1
00 01 11 10 0 1 1 0
A 1 0 0 1
00 1 0 1 1 0 1 1
11 1 1 1 1
1
1
1
0
1
1
1
+

F=AB’C’ +AB C +ABC +ABC  + A’B’C + A’BC’


22
Rules for K-Maps
 We can reduce functions by circling 1’s in
the K-map.

 Each circle represents minterm reduction.

 Following circling, we can deduce minimized


and-or form.
y
x 0 1
0 1 1

F(x,y) = x’y + x’y’ = 1x’ 0 0

23
Rules for K-Maps

Rules to consider

1. Every cell containing a 1 must be


included at
least once.

2. The largest possible “power of 2


rectangle”
must be enclosed.
24
Karnaugh Maps
• A Karnaugh map is a graphical tool for assisting in the
general simplification procedure.
• Two variable maps.
B01 B01
A A
00 1 0 0 1 F=AB +AB +AB 
F=AB +A’B
11 0 1 1 1 F=A+B
• Three variable maps.
BC
00 01 11 10
A
00 1 0 1
1 1 1 1 1 F=A+B C +BC 

F=AB’C’ +AB C +ABC +ABC  + A’B’C + A’BC’ 25


More Karnaugh Map
Examples
a a
Examples b 0 1 b 0 1
0 0 1 0 1 1
1 0 1 1 0 0
f=a g = b'
ab ab
c 00 01 11 10 c 00 01 11 10
0 0 0 1 0 0 0 0 1 1
1 0 1 1 1 1 0 0 1 1
cout = ab + bc + ac
f=a

1. Circle the largest groups possible.


2. Group dimensions must be a power of 2.
3. Remember what circling means
26
Specifications
Specification validation procedure / steps
1. Rewrite the specifications using consistent
terminology.

2. Identify the predicates on which the cases are based.


Name them with
suitable letters, such as A, B, C.

3. Rewrite the specification in English that uses only the


logical connectives
AND, OR, and NOT, however stilted it may seem.

4. Convert the rewritten specifications into an equivalent


set of Boolean expressions.

5. Identify the default action and cases, if any are


specified.
Specifications Continue
6. Enter the Boolean expressions in a KV chart and check
for consistency. If
the specifications are consistent, there will be no
overlaps, except for the
cases that result in multiple actions.
7. Enter the default cases, and check for consistency.
8. If all boxes are covered, the specification is complete.
9. If the specification is incomplete or inconsistent, translate
the
corresponding boxes of the KV chart back into English
and get a
clarification, explanation, or revision.
10. If the default cases were not specified explicitly, translate
the default cases
back into English and get a confirmation.
Questions from the previous
exams
1. What is decision table? How is it useful in testing? Explain it with
an example.

2. Are the predicates are restricted to Binary truth value or not?


Explain.

3. Illustrate the applications of Decision Tables.

4. Minimize the function using Karnaugh map method.


5. F(A,B,C,D) =  (1,2,3,8,9,10,11,14)+
(7, 15)

6. Demonstrate by means of truth tables the validity of the following


theorems of Boolean Algebra:
1. Associative laws
2. Demorgan’s theorems for three variables
3. Distributive law of + over  .

You might also like