Sunteți pe pagina 1din 42

Logic Gates and Boolean

Algebra

Engr. Mia C. Awayan


Instructor
Digital Logic Gates

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


2
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Logic Gates
Logic gates are electronic circuits that operate on one or
more input signals to produce an output signal.
Electrical signals such as voltages or currents exist as analog
signals having values over a given continuous range, say, 0 to
3 V, but in a digital system these voltages are interpreted to
be either of two recognizable values, 0 or 1.
Voltage‐operated logic circuits respond to two separate
voltage levels that represent a binary variable equal to logic 1
or logic 0.
Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;
3
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Logic Gates
Boolean expression: AND, OR and NOT operations
Constructing gates of other logic operations
• The feasibility and economy;
• The possibility of extending gate's inputs;
• The basic properties of the binary operations
(commutative and associative);
• The ability of the gate to implement Boolean functions.

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


4
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;
Logic Gates
With an Introduction to the Verilog HDL, 5th Edition, Pearson
5
Ref: Mano, Morris M.,Logic Gates
Ciletti, Michael D. (2013) Digital Design;
6
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Multiple Inputs
• Extension to multiple inputs
• A gate can be extended to multiple inputs.
• If its binary operation is commutative and associative.
• AND and OR are commutative and associative.
• OR
• x+y = y+x
• (x+y)+z = x+(y+z) = x+y+z
• AND
• xy = yx
• (x y)z = x(y z) = x y z
Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;
7
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Multiple Inputs
• NAND and NOR are commutative but not associative → they are not
extendable.

Demonstrating the nonassociativity of the NOR operator; (x ↓ y) ↓ z


≠ xM.,↓(y
Ref: Mano, Morris ↓ Michael
Ciletti, z) D. (2013) Digital Design;
8
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Multiple Inputs
• Multiple NOR = a complement of OR gate, Multiple NAND = a complement of
AND.
• The cascaded NAND operations = sum of products.
• The cascaded NOR operations = product of sums.

Multiple-input and
Ref: Mano, Morris M.,cascated NOR
Ciletti, Michael andDigital
D. (2013) NAND Design;gates
9
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Multiple Inputs
• The XOR and XNOR gates are commutative and associative.
• Multiple-input XOR gates are uncommon?
• XOR is an odd function: it is equal to 1 if the inputs variables have an odd
number of 1's.

Ref: Mano, Morris3-input


M., Ciletti,XOR
Michael gate
D. (2013) Digital Design;
10
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Positive and Negative Logic
• Positive and Negative Logic
• Two signal values <=> two logic values
• Positive logic: H=1; L=0
• Negative logic: H=0; L=1
• Consider a TTL gate
• A positive logic AND gate
• A negative logic OR gate
• The positive logic is used in this book

Signal
Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;assignment and logic polarity 11
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Positive and Negative Logic

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


12
Demonstration of positive
With an Introduction andHDL,
to the Verilog negative logic
5th Edition, Pearson
Integrated Circuits
Level of Integration
An IC (a chip)
Examples:
Small-scale Integration (SSI): < 10 gates
Medium-scale Integration (MSI): 10 ~ 100 gates
Large-scale Integration (LSI): 100 ~ xk gates
Very Large-scale Integration (VLSI): > xk gates
VLSI
Small size (compact size)
Low cost
Low power consumption
High reliability
High speed
Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;
13
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Digital Logic Families
Digital logic families: circuit technology
TTL: transistor-transistor logic (dying?)
ECL: emitter-coupled logic (high speed, high power
consumption)
MOS: metal-oxide semiconductor (NMOS, high
density)
CMOS: complementary MOS (low power)
BiCMOS: high speed, high density
Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;
14
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Digital Logic Families
The characteristics of digital logic families
Fan-out: the number of standard loads that the output of a
typical gate can drive.
Power dissipation.
Propagation delay: the average transition delay time for
the signal to propagate from input to output.
Noise margin: the minimum of external noise voltage that
caused an undesirable change in the circuit output.

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


15
With an Introduction to the Verilog HDL, 5th Edition, Pearson
CAD
CAD – Computer-Aided Design
Millions of transistors
Computer-based representation and aid
Automatic the design process
Design entry
Schematic capture
HDL – Hardware Description Language
 Verilog, VHDL
Simulation
Physical realization
ASIC, FPGA, PLD

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


16
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Chip Design
Why is it better to have more gates on a single chip?
Easier to build systems
Lower power consumption
Higher clock frequencies
What are the drawbacks of large circuits?
Complex to design
Chips have design constraints
Hard to test
Need tools to help develop integrated circuits
Computer Aided Design (CAD) tools
Automate tedious steps of design process
Hardware description language (HDL) describe circuits
VHDL (see the lab) is one such system

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


17
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Binary Logic and Gates
 Binary variables take on one of two values.
 Logical operators operate on binary values and binary variables.
 Basic logical operators are the logic functions AND, OR and
NOT.
 Logic gates implement logic functions.
 Boolean Algebra: a useful mathematical system for specifying
and transforming logic functions.

We study Boolean algebra as a foundation for designing and analyzing digital systems.

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


18
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Binary Variables
 Two binary values have different names:
• True/False
• On/Off
• Yes/No
• 1/0
 We use 1 and 0 to denote the two values.
 Variable identifier examples:
 A, B, y, z, or X1 for now
 RESET, START_IT, or ADD1 later

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


19
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Logical Operations
 The three basic logical operations are:
• AND
• OR
• NOT
 AND is denoted by a dot (·).
 OR is denoted by a plus (+).
 NOT is denoted by an overbar ( ¯ ), a single
quote mark (') after, or (~) before the variable.
Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;
20
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Boolean Algebra
 Boolean Algebra is used to analyze and simplify the digital
logic circuits. It uses only the binary numbers i.e. 0 and 1.
 It is also called as Binary Algebra or logical Algebra. It
uses a set of Laws and Rules to define the operation of a
digital logic circuit
 It was invented by George Boole in 1854. In 1938, Claude
E. Shannon introduced a two‐valued Boolean algebra
called switching algebra that represented the properties of
bistable electrical switching circuits.
Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;
21
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Laws of Boolean Algebra
•Annulment
  Law 
• A ● 0 = 0    A variable AND’ed with 0 is always equal to 0
• A + 1 = 1    A variable OR’ed with 1 is always equal to 1
Identity Law 
• A + 0 = A   A variable OR’ed with 0 is always equal to the variable
• A ● 1 = A    A variable AND’ed with 1 is always equal to the variable
Idempotent Law 
• A + A = A    A variable OR’ed with itself is always equal to the variable
• A ● A = A    A variable AND’ed with itself is always equal to the variable
Complement Law 
• A ●   = 0    A variable AND’ed with its complement is always equal to 0
• A +  = 1    A variable OR’ed with its complement is always equal to 1
Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;
22
With an Introduction to the Verilog HDL, 5th Edition, Pearson
•Commutative
  Law 
• A ● B = B ● A    The order in which two variables are AND’ed makes no difference
• A + B = B + A    The order in which two variables are OR’ed makes no difference

Double Negation Law 


•= A     A double complement of a variable is always equal to the variable

Distributive Law 
• A(B + C) = A●B + A●C    (OR Distributive Law)
• A + (B●C) = (A + B) ● (A + C)    (AND Distributive Law)
Absorptive Law 
• A + (A●B) = A    (OR Absorption Law)
• A(A + B) = A    (AND Absorption Law)
Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;
23
With an Introduction to the Verilog HDL, 5th Edition, Pearson
•Associative
  Law 
• A + (B + C) = (A + B) + C = A + B + C    (OR Associate Law)
• A(B●C) = (A●B)C = A ● B ● C    (AND Associate Law)
De Morgan´s Theorem 
1. Two separate terms NOR´ed together is the same as the two
terms inverted (Complement) and AND´ed for example:   =   ●   
2.Two separate terms NAND´ed together is the same as the two
terms inverted (Complement) and OR´ed for example:   =   +   

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


24
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Example
Using the above laws, simplify the expression (A + B)(A + C)
Solution: (A+B)(A+C)

A●A + A●C + A●B + B●C - Distributive Law

A + A●C + A●B + B●C - Idempotent AND law (A●A=A)

A(1 + C) + A●B + B●C - Distributive law

A●1 + A●B + B●C - Identity OR law (1 + C = 1)

A(1 + B) + B●C - Distributive law

A●1 + B●C - Identity OR law (1 + B = 1)

A + B●C - Identity AND law (A●1 = A)

Answer: A + B●C

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


25
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Boolean Functions
• A Boolean function
• Binary variables
• Binary operators OR and AND
• Unary operator NOT
• Parentheses
• Examples
• F1= x y z'
• F2 = x + y'z
• F3 = x' y' z + x' y z + x y'
• F4 = x y' + x' z
Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;
26
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Boolean Functions
 The truth table of 2n entries x y z F1 F2 F3 F4
0 0 0 0 0 0 0
0 0 1 0 1 1 1
0 1 0 0 0 0 0
0 1 1 0 0 1 1
1 0 0 0 1 1 1
1 0 1 0 1 1 1
1 1 0 1 1 0 0
1 1 1 0 1 0 0

• Two Boolean expressions may specify the same function


• F3 = F4

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


27
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Boolean Functions
• Implementation with logic gates
• F4 is more economical

F2 = x + y'z

F3 = x' y' z + x' y z + x y'

F4 = x y' + x' z

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


28
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Algebraic Manipulation
• To minimize Boolean expressions
• Literal: a primed or unprimed variable (an input to a gate)
• Term: an implementation with a gate
• The minimization of the number of literals and the number of terms → a circuit with less
equipment
• It is a hard problem (no specific rules to follow)
• Example 2.1
1.x(x'+y) = xx' + xy = 0+xy = xy
2.x+x'y = (x+x')(x+y) = 1 (x+y) = x+y
3.(x+y)(x+y') = x+xy+xy'+yy' = x(1+y+y') = x
4.xy + x'z + yz = xy + x'z + yz(x+x') = xy + x'z + yzx + yzx' = xy(1+z) + x'z(1+y) = xy +x'z
5.(x+y)(x'+z)(y+z) = (x+y)(x'+z), by duality from function 4. (consensus theorem with duality)

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


29
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Complement of a Function
• An interchange of 0's for 1's and 1's for 0's in the value of F
• By DeMorgan's theorem
• (A+B+C)' = (A+X)' let B+C = X
= A'X' by theorem 5(a) (DeMorgan's)
= A'(B+C)'substitute B+C = X
= A'(B'C') by theorem 5(a) (DeMorgan's)
= A'B'C' by theorem 4(b) (associative)
• Generalizations: a function is obtained by interchanging AND and OR
operators and complementing each literal.
• (A+B+C+D+ ... +F)' = A'B'C'D'... F'
• (ABCD ... F)' = A'+ B'+C'+D' ... +F'
Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;
30
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Examples
• Example 2.2
• F1' = (x'yz' + x'y'z)' = (x'yz')' (x'y'z)' = (x+y'+z) (x+y+z')
• F2' = [x(y'z'+yz)]' = x' + (y'z'+yz)' = x' + (y'z')' (yz)‘
= x' + (y+z) (y'+z')
= x' + yz‘+y'z
• Example 2.3: a simpler procedure
• Take the dual of the function and complement each literal
1.F1 = x'yz' + x'y'z.
The dual of F1 is (x'+y+z') (x'+y'+z).
Complement each literal: (x+y'+z)(x+y+z') = F1'
2.F2 = x(y' z' + yz).
The dual of F2 is x+(y'+z') (y+z).
Complement each literal: x'+(y+z)(y' +z') = F2'
Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;
31
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Canonical and Standard Forms
Minterms and Maxterms
• A minterm (standard product): an AND term consists of all literals in
their normal form or in their complement form.
• For example, two binary variables x and y,
• xy, xy', x'y, x'y'
• It is also called a standard product.
• n variables con be combined to form 2n minterms.
• A maxterm (standard sums): an OR term
• It is also call a standard sum.
• 2n maxterms.

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


32
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Minterms and Maxterms
 Each maxterm is the complement of its corresponding minterm, and vice versa.

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


33
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Minterms and Maxterms
• An Boolean function can be expressed by
• A truth table
• Sum of minterms
• f1 = x'y'z + xy'z' + xyz = m1 + m4 +m7 (Minterms)
• f2 = x'yz+ xy'z + xyz'+xyz = m3 + m5 +m6 + m7 (Minterms)

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


34
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Minterms and Maxterms
• The complement of a Boolean function
• The minterms that produce a 0
• f1' = m0 + m2 +m3 + m5 + m6 = x'y'z'+x'yz'+x'yz+xy'z+xyz'
• f1 = (f1')'
= (x+y+z)(x+y'+z) (x+y'+z') (x'+y+z')(x'+y'+z) = M0 M2 M3 M5 M6
• f2 = (x+y+z)(x+y+z')(x+y'+z)(x'+y+z)=M0M1M2M4
• Any Boolean function can be expressed as
• A sum of minterms (“sum” meaning the ORing of terms).
• A product of maxterms (“product” meaning the ANDing of terms).
• Both boolean functions are said to be in Canonical form.

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


35
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Sum of Minterms
• Sum of minterms: there are 2n minterms and 22n combinations of
function with n Boolean variables.
• Example 2.4: express F = A+BC' as a sum of minterms.
• F = A+B'C = A (B+B') + B'C = AB +AB' + B'C = AB(C+C') + AB'(C+C') +
(A+A')B'C = ABC+ABC'+AB'C+AB'C'+A'B'C
• F = A'B'C +AB'C' +AB'C+ABC'+ ABC = m1 + m4 +m5 + m6 + m7
• F(A, B, C) = S(1, 4, 5, 6, 7)
• or, built the truth table first

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


36
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Product of Maxterms
• Product of maxterms: using distributive law to expand.
• x + yz = (x + y)(x + z) = (x+y+zz')(x+z+yy') = (x+y+z)(x+y+z')(x+y'+z)
• Example 2.5: express F = xy + x'z as a product of maxterms.
• F = xy + x'z = (xy + x')(xy +z) = (x+x')(y+x')(x+z)(y+z) = (x'+y)(x+z)(y+z)
• x'+y = x' + y + zz' = (x'+y+z)(x'+y+z')
• F = (x+y+z)(x+y'+z)(x'+y+z)(x'+y+z') = M0M2M4M5
• F(x, y, z) = P(0, 2, 4, 5)

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


37
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Conversion between Canonical Forms

• The complement of a function expressed as the sum of minterms equals the


sum of minterms missing from the original function.
• F(A, B, C) = S(1, 4, 5, 6, 7)
• Thus, F'(A, B, C) = S(0, 2, 3)
• By DeMorgan's theorem
F(A, B, C) = P(0, 2, 3)
F'(A, B, C) =P (1, 4, 5, 6, 7)
• mj' = Mj
• Sum of minterms = product of maxterms
• Interchange the symbols S and P and list those numbers missing from the original form
• S of 1's
• P of 0's

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


38
With an Introduction to the Verilog HDL, 5th Edition, Pearson
• Example
• F = xy + xz
• F(x, y, z) = S(1, 3, 6, 7)
• F(x, y, z) = P (0, 2, 4, 6)

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


39
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Standard Forms
• Canonical forms are very seldom the ones with the least number of
literals.
• Standard forms: the terms that form the function may obtain one, two,
or any number of literals.
• Sum of products: F1 = y' + xy+ x'yz'
• Product of sums: F2 = x(y'+z)(x'+y+z')
• F3 = A'B'CD+ABC'D'

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


40
With an Introduction to the Verilog HDL, 5th Edition, Pearson
Implementation
• Two-level implementation

F1 = y' + xy+ x'yz' F2 = x(y'+z)(x'+y+z')

• Multi-level implementation

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


41
With an Introduction to the Verilog HDL, 5th Edition, Pearson
End..

Ref: Mano, Morris M., Ciletti, Michael D. (2013) Digital Design;


42
With an Introduction to the Verilog HDL, 5th Edition, Pearson

S-ar putea să vă placă și