Logic Gates
Logic Gates
Logic Gates
COMPUTATIONAL MATHEMATICS
LOGIC GATES
In 1854, George Boole performed an investigation into the “laws of thought” which were
based around a simplified version of the “group” or “set” theory, and from this Boolean or
“Switching” algebra was developed.
Boolean Algebra deals mainly with the theory that both logic and set operations are either
“TRUE” or “FALSE” but not both at the same time.
The Logic AND Function function states that two or more events must occur together and at
the same time for an output action to occur. The order in which these actions occur is
unimportant as it does not affect the final result. For example, A & B = B & A. In Boolean
algebra the Logic AND Function follows the Commutative Law which allows a change in
position of either variable.
The AND function is represented in electronics by the dot or full stop symbol ( . ) Thus a 2-
input (A B) AND Gate has an output term represented by the Boolean expression A.B or just
AB.
Here the two switches, A and B are connected together to form a series circuit. Therefore, in
the circuit above, both switch A AND switch B must be closed (Logic “1”) in order to put the
lamp on. In other words, both switches must be closed, or at logic “1” for the lamp to be
“ON”.
Then this type of logic gate ( an AND Gate ) only produces an output when “ALL” of its
inputs are present. In Boolean Algebra terms the output will be TRUE only when all of its
inputs are TRUE. In electrical terms, the logic AND function is equal to a series circuit as
shown above.
As there are only two Switches, each with two possible states “open” or “closed”. Defining a
Logic “0” as being when the switch is open and a Logic “1” when the switch is closed, there
are then four different ways or combinations of arranging the two switches together as
shown.
Logic AND gates are available as standard i.c. packages such as the common TTL 74LS08
Quadruple 2-input Positive AND Gates, (or the 4081 CMOS equivalent) the TTL 74LS11
Triple 3-input Positive AND Gates or the 74LS21 Dual 4-input Positive AND Gates. AND
Gates can also be “cascaded” together to produce circuits with more than just 4 inputs.
The Logic OR Function function states that an output action will occur or become TRUE if
either one “OR” more events are TRUE, but the order at which they occur is unimportant as it
does not affect the final result.
The OR function is sometimes called by its full name of “Inclusive OR” in contrast to the
Exclusive-OR function we will look at later in tutorial six.
The logic or Boolean expression given for a logic OR gate is that for Logical Addition which
is denoted by a plus sign, (+). Thus a 2-input (A B) Logic OR Gate has an output term
represented by the Boolean expression of: A+B = Q.
Here the two switches A and B are connected in parallel and either Switch A OR Switch B
can be closed in order to put the lamp on. In other words, either switch can be closed, or at
logic “1” for the lamp to be “ON”.
Then this type of logic gate only produces and output when “ANY” of its inputs are present
and in Boolean Algebra terms the output will be TRUE when any of its inputs are TRUE. In
electrical terms, the logic OR function is equal to a parallel circuit.
Again as with the AND function there are two switches, each with two possible positions
open or closed so therefore there will be 4 different ways of arranging the switches.
Logic OR gates are available as standard i.c. packages such as the common TTL 74LS32
Quadruple 2-input Positive OR Gates. As with the previous AND Gate, OR can also be
“cascaded” together to produce circuits with more inputs such as in security alarm systems
(Zone A or Zone B or Zone C,etc).
The Logic NOT Function is simply a single input inverter that changes the input of a logic
level “1” to an output of logic level “0” and vice versa.
The “logic NOT function” is so called because its output state is NOT the same as its input
state with its Boolean Expression generally denoted by a bar or overline ( ¯ ) over its input
symbol which denotes the inversion operation, (hence its name as an inverter).
As NOT gates perform the logic INVERT or COMPLEMENTATION function they are
more commonly known as Inverters because they invert the signal. In logic circuits this
negation can be represented by a normally closed switch.
If A means that the switch is closed, then NOT A or simply A says that the switch is NOT
closed or in other words, it is open. The logic NOT function has a single input and a single
output as shown.
Switch Output
1 0
0 1
Boolean Expression not-A or A
The inversion indicator for a logic NOT function is a “bubble”, ( O ) symbol on the output (or
input) of the logic elements symbol. In Boolean algebra the inverting Logic NOT Function
follows the Complementation Law producing inversion.
Logic NOT gates or “Inverters” as they are more commonly called, can be connected with
standard AND and OR gates to produce NAND and NOR gates respectively. Inverters can
also be used to produce “Complementary” signals in more complex decoder/logic circuits for
example, the complement of logic A is A and two Inverters connected together in series will
give a double inversion which produces at its output the original value of A.
When designing logic circuits and you may only need one or two inverters within your
design, but do not have the space or the money for a dedicated Inverter chip such as the
74LS04. Then you can easily make a logic NOT function easily by using any spare NAND or
NOR gates by simply connecting their inputs together as shown below.
The NAND or “Not AND” function is a combination of the two separate logical functions,
the AND function and the NOT function connected together in series.
The logic NAND function can be expressed by the Boolean expression of, A.B
The Logic NAND Function only produces an output when “ANY” of its inputs are not
present and in Boolean Algebra terms the output will be TRUE only when any of its inputs
are FALSE.
The truth table for the NAND function is the opposite of that for the previous AND function
because the NAND gate performs the reverse operation of the AND gate. In other words, the
NAND gate is the complement of the basic AND gate.
The NAND Function is sometimes known as the Sheffer Stroke Function and is denoted by
a vertical bar or upwards arrow operator, for example, A NAND B = A|B or A↑B.
Logic NAND gates are used as the basic “building blocks” to construct other logic gate
functions and are available in standard i.c. packages such as the very common TTL 74LS00
Quadruple 2-input NAND Gates, the TTL 74LS10 Triple 3-input NAND Gates or the
74LS20 Dual 4-input NAND Gates. There is even a single chip 74LS30 8-input NAND Gate.
The NOR or “Not OR” gate is also a combination of two separate functions, Not and OR
connected together to form a single logic gate function.
To create a NOR gate, the OR function and the NOT function are connected together in series
with its operation given by the Boolean expression as, A + B
The Logic NOR Function only produces and output when “ALL” of its inputs are not
present and in Boolean Algebra terms the output will be TRUE only when all of its inputs are
FALSE.
The truth table for the NOR function is the opposite of that for the previous OR function
because the NOR gate performs the reverse operation of the OR gate. Then we can see that
the NOR gate is the complement of the OR gate.
The NOR Function is sometimes known as the Pierce Function and is denoted by a
downwards arrow operator as shown, A NOR B = A↓B.
Logic NOR gates are available as standard i.c. packages such as the TTL 74LS02 Quadruple
2-input NOR Gate, the TTL 74LS27 Triple 3-input NOR Gate or the 74LS260 Dual 5-input
NOR Gate.
ra
As well as the logic symbols “0” and “1” being used to represent a digital input or output, we
can also use them as constants for a permanently “Open” or “Closed” circuit or contact
respectively.
A set of rules or Laws of Boolean Algebra expressions have been invented to help reduce the
number of logic gates needed to perform a particular logic operation resulting in a list of
functions or theorems known commonly as the Laws of Boolean Algebra.
Boolean Algebra is the mathematics we use to analyse digital gates and circuits. We can use
these “Laws of Boolean” to both reduce and simplify a complex Boolean expression in an
attempt to reduce the number of logic gates required. Boolean Algebra is therefore a system
of mathematics based on logic that has its own set of rules or laws which are used to define
and reduce Boolean expressions.
The variables used in Boolean Algebra only have one of two possible values, a logic “0” and
a logic “1” but an expression can have an infinite number of variables all labelled
individually to represent inputs to the expression, For example, variables A, B, C etc, giving
us a logical expression of A + B = C, but each variable can ONLY be a 0 or a 1.
Examples of these individual laws of Boolean, rules and theorems for Boolean Algebra are
given in the following table.
A in parallel with
A+1=1 Annulment
closed = "CLOSED"
A in parallel with
A+0=A Identity
open = "A"
A in series with
A.1=A Identity
closed = "A"
A in series with
A.0=0 Annulment
open = "OPEN"
A in parallel with
A+A=A Idempotent
A = "A"
A in series with
A.A=A Idempotent
A = "A"
NOT NOT A
NOT A = A Double Negation
(double negative) = "A"
A in parallel with
A+A=1 Complement
NOT A = "CLOSED"
A in series with
A.A=0 Complement
NOT A = "OPEN"
A in parallel with B =
A+B = B+A Commutative
B in parallel with A
A in series with B =
A.B = B.A Commutative
B in series with A
The basic Laws of Boolean Algebra that relate to the Commutative Law allowing a change
in position for addition and multiplication, the Associative Law allowing the removal of
brackets for addition and multiplication, as well as the Distributive Law allowing the
factoring of an expression, are the same as in ordinary algebra.
Each of the Boolean Laws above are given with just a single or two variables, but the number
of variables defined by a single law is not limited to this as there can be an infinite number of
variables as inputs too the expression. These Boolean laws detailed above can be used to
prove any given Boolean expression as well as for simplifying complicated digital circuits.
A brief description of the various Laws of Boolean are given below with A representing a
variable input.
Annulment Law – A term AND´ed with a “0” equals 0 or OR´ed with a “1” will equal
1.
o A . 0 = 0 A variable AND’ed with 0 is always equal to 0.
o A + 1 = 1 A variable OR’ed with 1 is always equal to 1.
Identity Law – A term OR´ed with a “0” or AND´ed with a “1” will always equal that
term.
o A + 0 = A A variable OR’ed with 0 is always equal to the variable.
o A . 1 = A A variable AND’ed with 1 is always equal to the variable.
Idempotent Law – An input that is AND´ed or OR´ed with itself is equal to that input.
o A + A = A A variable OR’ed with itself is always equal to the variable.
o A . A = A A variable AND’ed with itself is always equal to the variable.
Complement Law – A term AND´ed with its complement equals “0” and a term
OR´ed with its complement equals “1”.
o A . A = 0 A variable AND’ed with its complement is always equal to 0.
o A + A = 1 A variable OR’ed with its complement is always equal to 1.
Commutative Law – The order of application of two separate terms is not important.
o A . B = B . A The order in which two variables are AND’ed makes no
difference.
o A + B = B + A The order in which two variables are OR’ed makes no
difference.
Double Negation Law – A term that is inverted twice is equal to the original term.
o A =A A double complement of a variable is always equal to the variable.
de Morgan´s Theorem – There are two “de Morgan´s” rules or theorems,
(1) Two separate terms NOR´ed together is the same as the two terms inverted
(Complement) and AND´ed for example, A+B = A. B.
(2) Two separate terms NAND´ed together is the same as the two terms inverted
(Complement) and OR´ed for example, A.B = A +B.
Distributive Law – This law permits the multiplying or factoring out of an expression.
o A(B + C) = A.B + A.C (OR Distributive Law)
o A + (B.C) = (A + B).(A + C) (AND Distributive Law)
Absorptive Law – This law enables a reduction in a complicated expression to a
simpler one by absorbing like terms.
o A + (A.B) = A (OR Absorption Law)
o A(A + B) = A (AND Absorption Law)
Associative Law – This law allows the removal of brackets from an expression and
regrouping of the variables.
o A + (B + C) = (A + B) + C = A + B + C (OR Associate Law)
o A(B.C) = (A.B)C = A . B . C (AND Associate Law)
Using the information above, simple 2-input AND, OR and NOT Gates can be represented by
16 possible functions as shown in the following table.
1. NULL 0
2. IDENTITY 1
3. Input A A
4. Input B B
5. NOT A A
6. NOT B B
Q= (A + B).(A + C)
As well as a standard Boolean Expression, the input and output information of any Logic
Gate or circuit can be plotted into a standard table to give a visual representation of the
switching function of the system.
The table used to represent the boolean expression of a logic gate function is commonly
called a Truth Table. A logic gate truth table shows each possible input combination to the
gate or circuit with the resultant output depending upon the combination of these input(s).
For example, consider a single 2-input logic circuit with input variables labelled as A and B.
There are “four” possible input combinations or 22 of “OFF” and “ON” for the two inputs.
However, when dealing with Boolean expressions and especially logic gate truth tables, we
do not general use “ON” or “OFF” but instead give them bit values which represent a logic
level “1” or a logic level “0” respectively.
Then the four possible combinations of A and B for a 2-input logic gate is given as:
Therefore, a 3-input logic circuit would have 8 possible input combinations or 23 and a 4-
input logic circuit would have 16 or 24, and so on as the number of inputs increases. Then a
logic circuit with “n” number of inputs would have 2n possible input combinations of both
“OFF” and “ON”.
So in order to keep things simple to understand, in this tutorial we will only deal with
standard 2-input type logic gates, but the principals are still the same for gates with more
than two inputs.
Then the Truth tables for a 2-input AND Gate, a 2-input OR Gate and a single input NOT
Gate are given as:
For a 2-input AND gate, the output Q is true if BOTH input A “AND” input B are both true,
giving the Boolean Expression of: ( Q = A and B ).
Truth Table
Symbol
A B Q
0 0 0
0 1 0
1 0 0
1 1 1
Note that the Boolean Expression for a two input AND gate can be written as: A.B or just
simply AB without the decimal point.
For a 2-input OR gate, the output Q is true if EITHER input A “OR” input B is true, giving
the Boolean Expression of: ( Q = A or B ).
A B Q
0 0 0
0 1 1
1 0 1
1 1 1
NOT Gate
For a single input NOT gate, the output Q is ONLY true when the input is “NOT” true, the
output is the inverse or complement of the input giving the Boolean Expression of: ( Q =
NOT A ).
A Q
0 1
1 0
The NAND and the NOR Gates are a combination of the AND and OR Gates with that of a
NOT Gate or inverter.
For a 2-input NAND gate, the output Q is true if BOTH input A and input B are NOT true,
giving the Boolean Expression of: ( Q = not(A and B) ).
A B Q
0 0 1
0 1 1
1 0 1
1 1 0
For a 2-input NOR gate, the output Q is true if BOTH input A and input B are NOT true,
giving the Boolean Expression of: ( Q = not(A or B) ).
A B Q
0 0 1
0 1 0
1 0 0
1 1 0
As well as the standard logic gates there are also two special types of logic gate function
called an Exclusive-OR Gate and an Exclusive-NOR Gate. The actions of both of these types
of gates can be made using the above standard gates however, as they are widely used
functions, they are now available in standard IC form and have been included here as
reference.
For a 2-input Ex-OR gate, the output Q is true if EITHER input A or if input B is true, but
NOT both giving the Boolean Expression of: ( Q = (A and NOT B) or (NOT A and B) ).
A B Q
0 0 0
0 1 1
1 0 1
1 1 0
Boolean Expression Q = A B
For a 2-input Ex-NOR gate, the output Q is true if BOTH input A and input B are the same,
either true or false, giving the Boolean Expression of: ( Q = (A and B) or (NOT A and NOT
B) ).
A B Q
0 0 1
0 1 0
1 0 0
1 1 1
Boolean Expression Q = A B
The following Truth Table compares the logical functions of the 2-input logic gates above.
0 0 0 1 0 1 0 1
0 1 0 1 1 0 1 0
1 0 0 1 1 0 1 0
1 1 1 0 1 0 0 1
The following table gives a list of the common logic functions and their equivalent Boolean
notation.
AND A.B
OR A+B
NOT A
NAND A .B
NOR A+B
EX-NOR (A.B) or A B
2-input logic gate truth tables are given here as examples of the operation of each logic
function, but there are many more logic gates with 3, 4 even 8 individual inputs. The multiple
input gates are no different to the simple 2-input gates above, So a 4-input AND gate would
still require ALL 4-inputs to be present to produce the required output at Q and its larger truth
table would reflect that.
ses cookies. By continuing to browse it, you are agreeing to our use of cookies: More info
We have seen throughout this section that digital logic functions can be defined and displayed
as either a Boolean Algebra expression or as a logic gate truth table. So here are a few
examples of how we can use Boolean Algebra to simplify larger digital logic circuits.
Construct a Truth Table for the logical functions at points C, D and Q in the following circuit
and identify a single logic gate that can be used to replace the whole circuit
First observations tell us that the circuit consists of a 2-input NAND gate, a 2-input EX-OR
gate and finally a 2-input EX-NOR gate at the output. As there are only 2 inputs to the circuit
labelled A and B, there can only be 4 possible combinations of the input ( 22 ) and these are:
0-0, 0-1, 1-0 and finally 1-1. Plotting the logical functions from each gate in tabular form will
give us the following truth table for the whole of the logic circuit below.
Inputs Output at
A B C D Q
0 0 1 0 0
0 1 1 1 1
1 0 1 1 1
1 1 0 0 1
From the truth table above, column C represents the output function generated by the NAND
gate, while column D represents the output function from the Ex-OR gate. Both of these two
output expressions then become the input condition for the Ex-NOR gate at the output.
It can be seen from the truth table that an output at Q is present when any of the two inputs A
or B are at logic 1. The only truth table that satisfies this condition is that of an OR Gate.
Therefore, the whole of the above circuit can be replaced by just one single 2-input OR Gate.
The system consists of an AND Gate, a NOR Gate and finally an OR Gate. The expression
for the AND gate is A.B, and the expression for the NOR gate is A+B. Both these
expressions are also separate inputs to the OR gate which is defined as A+B. Thus the final
output expression is given as:
The output of the system is given as Q = (A.B) + (A+B), but the notation A+B is the same as
the De Morgan´s notation A.B, Then substituting A.B into the output expression gives us a
final output notation of Q = (A.B)+(A.B), which is the Boolean notation for an Exclusive-
NOR Gate as seen in the previous section.
B A A.B A+B Q
0 0 0 1 1
0 1 0 0 0
1 0 0 0 0
1 1 1 0 1
Then, the whole circuit above can be replaced by just one single Exclusive-NOR Gate and
indeed an Exclusive-NOR Gate is made up of these individual gate functions.
This system may look more complicated than the other two to analyse but again, the logic
circuit just consists of simple AND, OR and NOT gates connected together.As with the
previous Boolean examples, we can simplify the circuit by writing down the Boolean
notation for each logic gate function in turn in order to give us a final expression for the
output at Q.
The output from the 3-input AND gate is only at logic “1” when ALL the gates inputs are
HIGH at logic level “1” (A.B.C). The output from the lower OR gate is only a “1” when one or
both inputs B or C are at logic level “0”. The output from the 2-input AND gate is a “1” when
input A is a “1” and inputs B or C are at “0”. Then the output at Q is only a “1” when inputs
A.B.C equal “1” or A is equal to “1” and both inputs B or C equal “0”, A.(B+C).By using “de
Morgan’s theorem” inputs B and input C cancel out as to produce an output at Q they can
be either at logic “1” or at logic “0”. Then this just leaves input A as the only input needed to
give an output at Q as shown in the table below.
0 0 0 0 1 1 1 0 0
0 0 1 0 1 1 1 1 1
0 1 0 0 0 1 1 0 0
0 1 1 0 0 1 1 1 1
1 0 0 0 1 0 1 0 0
1 0 1 0 1 0 1 1 1
1 1 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 1
Then we can see that the entire logic circuit above can be replaced by just one single input labelled A
thereby reducing a circuit of six individual logic gates to just one single piece of wire, (or Buffer).
This type of circuit analysis using Boolean Algebra can be very powerful and quickly identify any
unnecessary logic gates within a digital logic design thereby reducing the number of gates required,
the power consumption of the circuit and of course the cost.