Boolean Algebra & Logic Gates
Objectives
• Understand the relationship between Boolean logic
  and digital computer circuits.
• Learn how to design simple logic circuits.
• Understand how digital circuits work together to
  form complex computer systems.
                                                     2
          Boolean Algebra
• Boolean algebra is a mathematical system for
  the manipulation of variables that can have
  one of two values.
   – In formal logic, these values are “true” and “false.”
   – In digital systems, these values are “on” and “off,”
     1 and 0, or “high” and “low.”
• Boolean expressions are created by
  performing operations on Boolean variables.
   – Common Boolean operators include AND, OR, and
     NOT.
                                                             3
         Boolean Algebra
• A Boolean operator can be
  completely described using a
  truth table.
• The truth table for the Boolean
  operators AND and OR are
  shown at the right.
• The AND operator is also known
  as a Boolean product. The OR
  operator is the Boolean sum.
                                    4
       Boolean Algebra
• The truth table for the
  Boolean NOT operator is
  shown at the right.
• The NOT operation is most
  often designated by an
  overbar. It is sometimes
  indicated by a prime mark
  ( ‘ ) or an “elbow” ().
                              5
           Boolean Algebra
• A Boolean function has:
   •   At least one Boolean variable,
   •   At least one Boolean operator, and
   •   At least one input from the set {0,1}.
• It produces an output that is also a member of
  the set {0,1}.
               Now you know why the binary numbering
               system is so handy in digital systems.
                                                        6
         Boolean Algebra
• The truth table for the
  Boolean function:
  is shown at the right.
• To make evaluation of the
  Boolean function easier,
  the truth table contains
  extra (shaded) columns to
  hold evaluations of
  subparts of the function.
                              7
         Boolean Algebra
• Most Boolean identities have an AND (product) form
  as well as an OR (sum) form. We give our identities
  using both forms. Our first group is rather intuitive:
                                                      8
        Boolean Algebra
• Our second group of Boolean identities should be
  familiar to you from your study of algebra:
                                                 9
         Boolean Algebra
• Our last group of Boolean identities are perhaps the
  most useful.
• If you have studied set theory or formal logic, these
  laws are also familiar to you.
                                                    10
         Boolean Algebra
• Sometimes it is more economical to build a
  circuit using the complement of a function (and
  complementing its result) than it is to implement
  the function directly.
• DeMorgan’s law provides an easy way of finding
  the complement of a Boolean function.
• Recall DeMorgan’s law states:
                                                      11
               Logic Gates
• We have looked at Boolean functions in abstract
  terms.
• In this section, we see that Boolean functions are
  implemented in digital computer circuits called gates.
• A gate is an electronic device that produces a result
  based on two or more input values.
   – In reality, gates consist of one to six transistors, but digital
      designers think of them as a single unit.
   – Integrated circuits contain collections of gates suited to a
      particular purpose.
                                                                 12
            Logic Gates
• The three simplest gates are the AND, OR, and NOT
  gates.
• They correspond directly to their respective Boolean
  operations, as you can see by their truth tables.
                                                    13
        Logic Gates
 AND GATE              OR GATE
1 AND 0 = 0           1 OR 0 = 1   14
           Logic Gates
• Another very useful gate is the exclusive OR
  (XOR) gate.
• The output of the XOR operation is true only when
  the values of the inputs differ.
                             Note the special symbol 
                             for the XOR operation.
                                                     15
        Logic Gates
 XOR GATE              XOR GATE
1 XOR 0 = 1           1 XOR 1 = 0   16
            Logic Gates
• NAND and NOR
  are two very
  important gates.
  Their symbols and
  truth tables are
  shown at the right.
                          17
           Logic Gates
• NAND and NOR
  are known as
  universal gates
  because they are
  inexpensive to
  manufacture and
  any Boolean
  function can be
  constructed using
  only NAND or only
  NOR gates.
                         18
            Logic Gates
• Gates can have multiple inputs and more than
  one output.
  – A second output can be provided for the complement
    of the operation.
  – We’ll see more of this later.
                                                         19
       Digital Components
• The main thing to remember is that combinations of
  gates implement Boolean functions.
• The circuit below implements the Boolean function:
                    We simplify our Boolean expressions so
                    that we can create simpler circuits.
                                                         20
     Combinational Circuits
• We have designed a circuit that implements the
  Boolean function:
• This circuit is an example of a combinational logic
  circuit.
• Combinational logic circuits produce a specified
  output (almost) at the instant when input values
  are applied.
   – In a later section, we will explore circuits where this is
     not the case.
                                                                  21
     Combinational Circuits
• Combinational logic circuits
  give us many useful devices.
• One of the simplest is the
  half adder, which finds the
  sum of two bits.
• We can gain some insight as
  to the construction of a half
  adder by looking at its truth
  table, shown at the right.
                                  22
     Combinational Circuits
• As we see, the sum can be
  found using the XOR
  operation and the carry
  using the AND operation.
                              23
Combinational Circuits
          Half Adder
                             24
         Sequential Circuits
• To retain their state values, sequential circuits rely
  on feedback.
• Feedback in digital circuits occurs when an output
  is looped back to the input.
• A simple example of this concept is shown below.
   – If Q is 0 it will always be 0, if it is 1, it will always be 1.
      Why?
                                                                   25
        Sequential Circuits
• You can see how feedback works by examining
  the most basic sequential logic components, the
  SR flip-flop.
   – The “SR” stands for set/reset.
• The internals of an SR flip-flop are shown below,
  along with its block diagram.
                                                      26
       Sequential Circuits
• The behavior of an SR flip-flop is described by
  a characteristic table.
• Q(t) means the value of the output at time t.
  Q(t+1) is the value of Q after the next clock
  pulse.
                                                    27
  Sequential Circuits
SR flip-flop        SR flip-flop
                                   28
        Sequential Circuits
• The SR flip-flop actually
  has three inputs: S, R,
  and its current output, Q.
• Thus, we can construct
  a truth table for this
  circuit, as shown at the
  right.
• Notice the two undefined
  values. When both S
  and R are 1, the SR flip-
  flop is unstable.
                               29
        Sequential Circuits
• If we can be sure that the inputs to an SR flip-flop
  will never both be 1, we will never have an
  unstable circuit. This may not always be the case.
• The SR flip-flop can be modified to provide a
  stable state when both inputs are 1.
• This modified flip-flop is
  called a JK flip-flop,
  shown at the right.
  -    The “JK” is in honor of
       Jack Kilby.
                                                     30
        Sequential Circuits
• At the right, we see
  how an SR flip-flop
  can be modified to
  create a JK flip-flop.
• The characteristic
  table indicates that
  the flip-flop is stable
  for all inputs.
                              31
        Sequential Circuits
• Another modification of the SR flip-flop is the D
  flip-flop, shown below with its characteristic table.
• You will notice that the output of the flip-flop
  remains the same during subsequent clock
  pulses. The output changes only when the value
  of D changes.
                                                          32
        Sequential Circuits
• The D flip-flop is the fundamental circuit of
  computer memory.
   – D flip-flops are usually illustrated using the block
     diagram shown below.
• The next slide shows how these circuits are
  combined to create a register.
                                                            33
              Conclusion
• Computers are implementations of Boolean logic.
• Boolean functions are completely described by
  truth tables.
• Logic gates are small circuits that implement
  Boolean operators.
• The basic gates are AND, OR, and NOT.
   – The XOR gate is very useful in parity checkers and
     adders.
• The “universal gates” are NOR, and NAND.
                                                          34
              Conclusion
• Computer circuits consist of combinational logic
  circuits and sequential logic circuits.
• Combinational circuits produce outputs (almost)
  immediately when their inputs change.
• Sequential circuits require clocks to control their
  changes of state.
• The basic sequential circuit unit is the flip-flop:
  The behaviors of the SR, JK, and D flip-flops
  are the most important to know.
                                                        35
End
      36