0% found this document useful (0 votes)
89 views40 pages

Algebra Booleana

Boolean algebra is a logical system used to simplify complex logical expressions. It was developed in 1854 by George Boole based on logic. Boolean algebra uses two operations: AND (&) and OR (+). Expressions follow laws like commutativity, distributivity, identities. Boolean algebra is used to analyze and design digital circuits. It represents logic using variables and complements, expresses relationships with operators, and can simplify expressions using identities. DeMorgan's laws and duality theorem allow transforming between AND/OR representations. Boolean algebra provides a systematic way to analyze logical relationships.

Uploaded by

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

Algebra Booleana

Boolean algebra is a logical system used to simplify complex logical expressions. It was developed in 1854 by George Boole based on logic. Boolean algebra uses two operations: AND (&) and OR (+). Expressions follow laws like commutativity, distributivity, identities. Boolean algebra is used to analyze and design digital circuits. It represents logic using variables and complements, expresses relationships with operators, and can simplify expressions using identities. DeMorgan's laws and duality theorem allow transforming between AND/OR representations. Boolean algebra provides a systematic way to analyze logical relationships.

Uploaded by

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

BOOLEAN ALGEBRA

Introduction
 1854: Logical algebra was published
by George Boole  known today as
“Boolean Algebra”
 It’s a convenient way and systematic
way of expressing and analyzing the
operation of logic circuits.
 1938: Claude Shannon was the first
to apply Boole’s work to the analysis
and design of logic circuits.
DEFINITION OF BOOLEAN ALGEBRA
Boolean Algebra: A set of elements B with two
operations. + (OR, ∪, ˅ )
* (AND, ∩, ˄ ),
satisfying the following 4 laws.
P1. Commutative Laws:
a+b = b+a; a*b = b*a,
P2. Distributive Laws:
a+(b*c) = (a+b)*(a+c); a*(b+c)= (a*b)+(a*c),
P3. Identity Elements: Set B has two distinct elements
denoted as 0 and 1, such that a+0 = a; a*1 = a,
P4. Complement Laws:
a+a’ = 1; a*a’ = 0.

2
BOOLEAN OPERATIONS &
EXPRESSIONS
 Variable – a symbol used to represent a logical
quantity.
 Complement – the inverse of a variable and is
indicated by a bar over the variable or the prime
symbol.
 Literal – a variable, the complement of a variable
and the constants (0,1).
BOOLEAN ALGEBRA VS SET OPERATIONS
 Identities Operations
 0 = {} Multiplication ↔ Intersection
 1 = Universe of the
Addition ↔ Union
set
Complement (Negation) ↔
 A+0 = A
Complement
 A*1 = A

Example: U = {x | x is a positive integer}, A={x | x is odd},


B={x | x is even}, C={x | x is a prime number}
D = {x | x is even prime number} ↔ d = bc
E = {x | x is odd or x is prime} ↔ e = a + c
A∪B= U↔ a+ b=1
A ∩ B = φ (empty set) ↔ ab = 0
Ac = B ↔ a' = b

4
VENN DIAGRAM REPRESENTATION

x x’ xy

y+z x x(y+z)

xy+z xz xy' 5
BOOLEAN ADDITION
 Boolean addition is equivalent to the OR operation

0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 1

A sum term is produced by an OR operation with


no AND ops involved.
 i.e. A + B, A + B , A + B + C , A + B + C + D
 A sum term is equal to 1 when one or more of the literals
in the term are 1.
 A sum term is equal to 0 only if each of the literals is 0.
BOOLEAN MULTIPLICATION

 Boolean
multiplication is equivalent to the
AND operation
0· 0 = 0 0· 1 = 0 1· 0 = 0 1· 1 = 1

A product term is produced by an AND


operation with no OR ops involved.
 i.e. AB, AB , ABC , A BCD
 A product term is equal to 1 only if each of the
literals in the term is 1.
 A product term is equal to 0 when one or more of the
literals are 0.
TRUTH TABLES

xy = x AND y = x * y x + y = x OR y x bar = NOT x


AND is true only if OR is true if either NOT inverts the bit
both inputs are true inputs are true will denote x bar as x' (x prime)

NOR is NOT of OR NAND is NOT of AND XOR is true if both inputs


differ

8
BOOLEAN EXPRESSIONS
 We form Boolean expressions out of Boolean
operations on Boolean variables or Boolean
values
 So, like algebraic expressions, we can create more
complex Boolean expressions as we might need
 Consider the expression:
 F = x + y'z
 What is its truth table?
Notice that it is easier to derive the
truth table for the entire expression
by breaking it into subexpressions

So first we determine y'


next, y' z
finally, x + y'z 9
BASIC BOOLEAN IDENTITIES
 Aswith algebra, there will be Boolean operations
that we will want to simplify
 We apply the following Boolean identities to help
 For instance, in algebra, x = y (z + 0) + (z * 0) can be simplified
to just x = yz

10
COMMUTATIVE LAWS

 The commutative law of addition for two variables is


written as: A+B = B+A

A
B
A+B ≡ B
A
B+A

 The commutative law of multiplication for two


variables is written as: AB = BA
A
B
AB ≡ B
A
BA
ASSOCIATIVE LAWS
 The associative law of addition for 3 variables is
written as: A+(B+C) = (A+B)+C
 The associative law of multiplication for 3
variables is written as: A(BC) = (AB)C

A A A+B
B
A+(B+C)
≡ B
(A+B)+C
C B+C C

A A AB
B
A(BC)
≡ B
(AB)C
C BC C
DISTRIBUTIVE LAWS
 The distributive law is written for 3 variables
as follows: A(B+C) = AB + AC

B A AB
B+C
B
C
A
X ≡ A
X

C AC
X=A(B+C) X=AB+AC
DEMORGAN’S THEOREMS
 DeMorgan’s theorems provide mathematical
verification of:
 the equivalency of the NAND and negative-OR gates
 the equivalency of the NOR and negative-AND gates.
 The complement of two
NAND Negative-OR
or more ANDed variables
is equivalent to the OR
of the complements of
X •Y = X + Y
the individual variables.
 The complement of two
or more ORed variables NOR Negative-AND
is equivalent to the AND
of the complements of X + Y = X •Y
the individual variables.
In general,
∏ x = ∑ x ;∑ x = ∏ x
k
k
k
k
k
k
k
k
SOME EXAMPLES
Example: use algebraic simplification rules to reduce x'yz+x'yz'+xz
x'yz + x'yz' + xz = x'y(z+z')+xz (distributive law) =
x'y(1)+xz (inverse law) = x'y+xz (identity law)

Example: xy+x'z+yz = xy+x'z+yz*1 (identity) = xy+x'z+yz*(x+x')


(inverse) = xy+x'z+xyz+x'yz (distributive) = xy(1+z)+x'z(y+1)
(distributive) = xy(1)+x'z(1) (null) = xy*1+x'z*1 (absorption)
= xy+x'z (identity)

Example: (x+y)(x'+y) = x'(x+y)+y(x+y) (distributive) = x'x+x'y+xy+yy (distributive)


= 0+x'y+xy+yy (inverse) = x'y+xy+yy (identity) = y(x'+x+y) (distributive)
= y(1+y) (inverse) = y(1) (identity) = y (idempotent)

Here we have an example specifically to see how DeMorgan's Law works


DeMorgan's Law states that
(xy) ' = x'+y'

Boolean expressions are equal


if their truth tables give the
same values – we see that here
15
FUNCTION MINIMIZATION USING BOOLEAN
ALGEBRA
 Examples:
(a) a + ab = a(1+b)=a
(b) a(a + b) = a.a +ab=a+ab=a(1+b)=a.
(c) a + a'b = (a + a')(a + b)=1(a + b) =a+b
(d) a(a' + b) = a. a' +ab=0+ab=ab
(e) ab + ab' = a(b+b') = a.1=a
(f) (a + b)(a + b') = a.a +ab' +ab+bb'
= a + ab' +ab + 0
= a + a(b' +b) + 0
= a + a1 +0
= a +a=a
(g) (a + bc)' = a'(bc)' = a'(b' + c') = a'b' + a'c'
DEMORGAN’S THEOREMS (EXERCISES)
 ApplyDeMorgan’s theorems to the
expressions:

X •Y • Z ( A + B + C)D
X +Y + Z ABC + DEF
X +Y + Z AB + C D + EF
W • X •Y • Z A + BC + D( E + F )
DUALITY THEOREM (DE MORGAN’S DUALITY)
 The Principle of Duality
from Zvi Kohavi, Switching and Finite Automata Theory

“We observe that all the preceding properties are grouped in pairs.
Within each pair one statement can be obtained from the other by
interchanging the OR and AND operations and replacing the constants
0 and 1 by 1 and 0 respectively. Any two statements or theorems which
have this property are called dual, and this quality of duality which
characterizes switching algebra is known as the principle of duality. It
stems from the symmetry of the postulates and definitions of switching
algebra with respect to the two operations and the two constants. The
implication of the concept of duality is that it is necessary to prove only
one of each pair of statements, and its dual is henceforth proved.”

 Recall the De Morgan’s Theorems:


(xy)’ = x’ + y’ ↔ (x+y)’=x’y’
 Consider basic Boolean identities in slide 11.
DUAL OF BOOLEAN EXPRESSIONS
(a) f = (a + c')b + 0
Dual of f = (ac' + b)⋅1 = ac' + b
(b) g = xy+(w+z)'
Dual of g = (x + y)(wz)' = (x + y)(w' + z')
(c) h = ab + bc + ac
Dual of h = (a + b)(b + c)(a + c) = (b + ac)(a + c) = ab + bc
+ ac -> h is self-dual.
Application examples of Duality Theorem:
(a) (x+y)(x'+y) = y ↔ xy + x'y = y
(b) (x+y)(x+y+z')+y' = (x+y)(1+z')+y' = x+y+y' = 1
↔ (xy + xyz')y' = xyy' = 0
(c) abc + abc' = ab ↔ (a + b + c)(a + b + c') = a+b
(d) a'b + b'c + c'a = ab' + bc' + ca' (Prove it!)
↔ (a' +b)(b' +c)(c' +a) = (a+b')(b+c')(c+a')
19
CONSENSUS THEOREM
 Consensus theorem states:
XY + X’Z + YZ = XY + X’Z
 The YZ term is called the consensus term and is

redundant. The consensus term is formed from a PAIR


OF TERMS in which a variable (X) and its complement
(X’) are present; the consensus term is formed by
multiplying the two terms and leaving out the selected
variable and its complement.
 The consensus of XY, X’Z is YZ .

 Intuitively, if YZ is true, then both Y and Z are true,


and therefore either XY is true or X’Z is true.

20
CONSENSUS THEOREM (CONT’D)
Proof
XY + X’Z + YZ = XY + X’Z + (X + X’)YZ
= XY + X’Z + XYZ + X’YZ
= (XY + XYZ) + (X’Z + X’YZ)
= XY (1 + Z) + X’Z (1 + Y)
= XY + X’Z
 Exercise : Use the truth table to prove it.

 The consensus operator: ¢

 In general can write as:


at1 ¢ a’t2 = t1t2

21
DUAL OF CONSENSUS THEOREM
(X+Y) (X’ + Z) (Y + Z) = (X + Y) (X’ + Z)
The consensus of (X+Y)(X’+Z) is (Y + Z) .
This can be derived using the duality theorem.
 Application Example: short cut for multiplication

(X + Y) (X’ + Z) = XZ + X’Y
Only works when you have a variable (X) and its
complement (X’).
To PROVE this, lets do the distribution the long way.
(X + Y)(X’ + Z) = X X’ + XZ + X’Y + YZ = XZ + X’Y

0 Redundant by
consensus theorem

22
BOOLEAN ANALYSIS OF LOGIC CIRCUITS
 Boolean algebra provides a concise way to express
the operation of a logic circuit formed by a
combination of logic gates so that the output can be
determined for various combinations of input values.
 To derive the Boolean expression for a given logic
circuit, begin at the left-most inputs and work
toward the final output, writing the expression for
each gate.

C CD
D
B+CD
B Boolean expression
A(B+CD)
A
CONSTRUCTING A TRUTH TABLE FOR
A LOGIC CIRCUIT
INPUTS OUTPUT
OUTPUT
 Puttingthe results in A B C D A(B+CD)
A(B+CD)

truth table format 0 0 0 0 0


0 0 0 1 0

A(B+CD)=1 0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
When A=1 and 0 1 0 1 0
B=1 regardless 0 1 1 0 0

of the values 0 1 1 1 0
1 0 0 0 0
of C and D 1 0 0 1 0
When A=1 and C=1 1 0 1 0 0
and D=1 regardless of 1 0 1 1 1
1 1 0 0 1
the value of B
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
SOME CIRCUITS

AND and OR gates can have more than 2


inputs, as seen here

Notice for y', we can either use a NOT gate or


simply specify that the value is y'

Here is the truth table for this last circuit 25


USING ONLY NAND
 NAND (and NOR) have unique properties
different from the other Boolean operations
 This allows us to use one or more NAND gates
(or one or more NOR gates) and create gates that
can compute AND, OR and NOT
 See the examples below

26
Early integrated circuits
NAND CHIP were several gates on a
single chip, you would
connect this chip to other
chips by adding wires
between the pins

To do (AB)'(CD)'

You would connect A and


B to pins 7 and 6,
C and D to 4 and 3,
and send 5 and 2 to
an AND chip

This is a NAND chip 27


COMBINATIONAL CIRCUITS
 We will combine logic gates
together for calculations
 Example: (A*B)' and (C*D)' with an
OR gate – shown to the right

 The resulting circuit is a combinational circuit


 Electrical current flows from one gate to the next
 By combining gates, we can compute a Boolean expression
 What we want to do is:
 Derive the Boolean expression for some binary calculation (e.g.,
addition)
 Then build the circuit using the various logic gates

 This is how we will build the digital circuits that make up


the ALU (arithmetic-logic unit) and other parts of the
computer
28
AN EXAMPLE: HALF ADDER

 There
are 4 possibilities
when adding 2 bits together:
 0+0 0+1 1+0 1+1
 In the first case, we have a sum of
0 and a carry of 0
 In the second and third cases, we
have a sum of 1 and a carry of 0
 In the last case, we have a sum of
0 and a carry of 1
 These patterns are demonstrated The truth table for Sum and Carry
in the truth table above to the and a circuit to compute these
right
 Notice that sum computes the
same as XOR and carry
computes the same as AND
 We build an Adder using just
one XOR and one AND gate

29
FULL ADDER
 The half adder really only does half the work
 adds 2 bits, but only 2 bits

 If we want to add 2 n-bit


numbers, we need to also
include the carry in from the
previous half adder
 So, our circuit becomes more
complicated
 In adding 3 bits (one bit from x,
one bit from y, and the carry in
from the previous addition), we
have 8 possibilities
 The sum will either be 0 or 1 and
the carry out will either be 0 or 1
 The truth table is given to the
right
30
BUILDING A FULL ADDER CIRCUIT
 The sum is 1 only if one of x, y
and carry in are 1, or if all three
are 1, the sum is 0 otherwise
 The carry out is 1 if two or three
of x, y and carry in were 1, 0
otherwise
 The circuit to the right captures this
by using 2 XOR gates for Sum and 2
AND gates and an OR gate for
Carry Out
 We combine several full adders
together to build an Adder, as
shown below:
Called a “ripple” adder because
carrys ripple upward

A 16-bit adder, comprised of 16 Full Adders connected so that each


full adder's carry out becomes the next full adder's carry in 31
COMPLEMENTOR
 Let's design another circuit to take a two's
complement number and negate it (complement it)
 Change a positive number to a negative number
 Change a negative number to a positive number

 Recall to do this, you flip


all of the bits and add 1
 To flip the bits, we pass
each bit through a NOT
gate
 To add one, send it to a full
adder with the other
number being 000…001

32
ADDER/SUBTRACTER
 Recall that
 two's complement
subtraction can be
performed by
negating the second
number and adding
it to the first
 We revise our adder as
shown to the right
 It can now perform
addition (as normal)
 Or subtraction by
sending the second
number through the
complementor

The switch (SW) is a multiplexer,


covered in a few slides 33
COMPARATOR
 have covered + and -, how about <, >, =
 To compare A to B, we use a simple tactic
 Compute A – B and look at the result
 if the result is -, then A < B
 if the result is 0, then A = B
 if the result is +, then A > B
 if the result is not 0, then A != B
 how do we determine if the result is -? look at the sign bit, if the
sign bit is 1, then the result is negative and A < B
 how do we determine if the result is 0? are all bits of the result 0?
if so, then the result is 0 and A = B
 we will build a zero tester which is simply going to NOR all of the bits
together
 how do we determine if the result is +? if the result of A – B is not
negative and not 0, it must be positive, so we negate the results of
the first two and pass them through an AND gate
 The comparator circuit is shown above (notice that the
circuit outputs 3 values, only 1 of which will be a 1, the
others must be 0)
 NOTE: to compute !=, we can simply negate the zero output

34
MULTIPLIER
 The circuit below is a multiplication circuit
 Given two values, the multiplicand and the multiplier, both stored
in temporary registers
 The addition takes place by checking the Q0 bit and deciding
whether to add the multiplicand to the register A or not, followed
by right shifting the carry bit, A and Q together

 shift/add control
logic
 set counter = n
 compare Q0 to 1
 if equal, signal
adder to add
 signal the shifter
to shift
 decrement
counter
 repeat until
counter = 0
35
4-BIT SHIFTER

Shift I3I2I1I0
to the left or
the right to
become O3O2O1O0
based on S

36
PARITY FUNCTIONS
 The table on
the left shows
the Boolean
values to
indicate what
parity value a
3 bit input
should have
 The table on
the right
indicates
whether an
error should be
signaled upon
receiving 3
inputs and the
parity info
The error detection
What will this circuit look like? circuit is more complex
and will require that we
Notice that parity = Not(sum) either build it as a sum
of products or use a
simplification method 37
A DECODER
 TheDecoder is a circuit that takes a binary pattern
and translates it into a single output
 This is often used to convert a binary value into a decimal
value
 For an n-bit input, there are 2n outputs
 Below is a 2 input – 4 output decoder
 if input = 01, the second line (x’y) on the right has current
 the line 01 would be considered line 1, where we start counting at 0

38
A MULTIPLEXER
 Multiplexer(abbreviated as MUX) is used to select
from a group of inputs which one to pass on as output
 Here, 1 of 4 single-bit inputs is passed on using a 2-bit
selector (00 for input 0, 01 for input 1,10 for input 2, 11 for
input 3)
 While this circuit is more complex than previous ones, this is
simplified for a MUX – imagine what it would look like if we
wanted to pass on 16 bits from 1 of 4 inputs

A related circuit is the demultiplexer (DEMUX) – it receives 1 input and a select and39
passes the input onto one of several outputs
A SIMPLE 2-BIT ALU
Putting all these ideas together

We have a 2-bit ALU

Given 2 values,
A and B, each
of which are 2
bits (A0, A1,
B0, B1) and
a selection from
the control unit (f0, f1)

This circuit computes


A+B (if f0 f1 = 00)
NOT A (if f0 f1 = 01)
A OR B (if f0 f1 = 10)
A AND B (if f0 f1 = 11)

And passes the result out as C0 C1


along with overflow if the addition
40
caused an overflow

You might also like