Video Transcript
In this video, we will look at how
logic gates can be used as building blocks to create logic circuits. Logic gates can be mixed and
matched as necessary in order to create a logic circuit that behaves in a very
specific way. However, before we look at building
logic circuits, let’s first consider some of the logic gates that we can use as
building blocks. Let’s start by looking at the AND
gate. Now, an AND gate has a symbol which
looks like this. It’s a D-shape symbol. And we can use a memory trick that
the word AND has the letter D in it. So a D-shape logic gate symbol will
be representing an AND gate.
Now, we can see that an AND gate
has two inputs, input A and input B, and one output. And just like for all logic gates,
each one of these inputs and the output can take on a value of zero or one. In other words, the inputs and
output are said to be binary, which means that they can take on one of two
values. And then, down here, we can see the
truth table for an AND gate. We can see that when input A is set
to zero and input B is set to zero, then the output is set to zero as well. If we then keep input A set to zero
but change input B so it’s set to one, the output is still zero. In the third scenario, if input A
is one and input B is zero, then the output is zero. And finally, if both inputs are set
to one, then the output of the AND gate becomes one. And so, we can remember an AND
gate’s truth table by realising that the output is only one when both input A and
input B are set to one. And in every other scenario, the
output is set to zero. So that’s the first of our building
blocks, the AND gate.
Let’s now look at a second building
block. This one is a logic gate which has
a similar name. This one is known as a NAND
gate. And a logic gate symbol is slightly
different because it’s a D-shape symbol but with a circle on the right-hand
side. Now, the difference between an AND
gate and a NAND gate is that a NAND gate has exactly the opposite outputs in every
single scenario to that of an AND gate. So we saw for an AND gate that the
outputs were zero, zero, zero, and one. Or, in other words, the output was
only one when both inputs were set to one as well. But for a NAND gate, the outputs
are one, one, one, zero. In other words, the output is only
zero when both inputs are set to one. So that’s the second one of our
logic gate building blocks.
Let’s now move on to looking at a
third one. The gate that we’re now looking at
is known as an OR gate. And the symbol for an OR gate is
kind of similar to that of an AND gate, except that the left-hand edge is curved
inwards. Now quickly, looking at the truth
table for an OR gate, we can recall that the output of an OR gate is one if either
input A or input B is set to one. And that’s why it’s called an OR
gate because, in the top row, neither input is set to one. And so the output is zero. Whereas in the second row, input B
is set to one. In the third row, input A is set to
one. And in the fourth row, both are set
to one. So if either one of the inputs is
set to one, then the output is one as well for an OR gate.
Now, earlier we made a comparison
between an AND gate and a NAND gate. And we can make a similar
comparison between an OR gate and a NOR gate. So drawing the circuit symbol for a
NOR gate, we see that there’s a little circle on the right-hand side of the symbol
of an OR gate. And that’s what differentiates an
OR gate from a NOR gate. Now looking at the truth table, we
see that the output values of a NOR gate are exactly opposite that in every
situation of an OR gate. Because the OR gate’s outputs were
zero, one, one, one. And for a NOR gate, we have one,
zero, zero, zero. And we can think about this as the
output of the NOR gate is one if neither input A nor input B is set to one. So with that being said, let’s move
on to looking at our next building block.
It’s a slight variant on an OR
gate, called an XOR gate, which stands for exclusive OR gate. Now, the circuit symbol is quite
similar to that of an OR gate, except that we have this extra curved line on the
left-hand side. And an XOR gate or an exclusive OR
gate has these outputs in its truth table. And it’s called an exclusive OR
gate because the output is only one if either input A or input B is set to one, but
not when both are set to one, because in that situation the output becomes zero. In other words, one of the outputs,
either input A or input B, must exclusively be one. And the other one must be zero. And that is an XOR gate.
So now moving on to the final
building block that we’ll be looking at, this kind of gate is known as a NOT
gate. Now a NOT gate is slightly
different. Firstly, it’s got a triangular
symbol with this little circle at the end. And secondly, as we can see, it’s
only got one input and one output. Now, the truth table of a NOT gate
is simply that it reverses whatever the input is to give us the output. So if the input is zero, then the
output is one. And if the input is one, then the
output is zero. Sometimes, the NOT gate is known as
an inverter because it takes the input and inverts it to give us the output. And actually, we can see here that
this NOT gate is the origin of the little circle that we’ve been adding on to
previous gates such as, for example, when talking about a NAND gate or a NOR
gate. Because those gates had inverted
outputs relative to the AND gate and OR gate, respectively. But anyway, so the NOT gate is the
final one of the building blocks that we’ll be looking at.
So here are the six gates that
we’ve talked about so far, summarised on the left-hand side. We’ve got the AND gate, the NAND
gate, the OR gate, the NOR gate, the XOR gate, and the NOT gate. Now, all of these logic gates can
be combined in different ways, in order to give us logic circuits that behave in
different ways. So if we ever come across a logic
circuit consisting of multiple logic gates combined together, then we need to be
able to recall firstly what each kind of logic gate in the circuit is. And for that, we need to memorize
the symbols of each one of these logic gates. Secondly, we should be able to
recall the truth table for each one of these logic gates individually. So that we can then combine these
to work out the truth table for the overall logic circuit.
For example, let’s say that we come
across this logic circuit. And we want to find the truth table
that represents this logic circuit. So we can start by saying that this
logic circuit consists of two inputs, input A and input B. And it also has one output at the
end of it. And additionally, we can see that
this logic circuit consists of two logic gates. Now, if we want to build a truth
table for this logic circuit, then we might start by building three columns, one for
the value of input A, one for the value of input B, and one for the value of the
output.
However, quite often when dealing
with logic circuits, it’s very helpful to consider what’s going on in between logic
gates. In other words, if we think about
the output of the first logic gate, which then becomes the input of the second logic
gate and call it position C. Then, whilst we’re building our
truth table, it might be helpful to add an extra column for what’s happening at
position C. We can then get rid of this column
once we’ve finished building the truth table and just have values for input A, input
B, and the output. But it is useful to have a column
for C in this case during the intermediate stages whilst we’re building the truth
table.
Now, the other important thing is
to be able to work out what logic gates are actually present in this logic
circuit. So here, we can see that the two
inputs are going firstly into an OR gate. So that’s this gate here. And then we see that the output of
the OR gate is going as an input into a NOT gate. So that’s this gate here. So we should be able to recognise
logic gates based on their circuit symbols. So now that we’ve identified what
kind of logic gates we have in our circuit, let’s start building our truth
table. Firstly, we need to put in all
possible combinations of values for input A and input B because these are things
that we control. And so our truth table should have
every possible combination of these two inputs, starting with both inputs set to
zero. Then keeping input A set to zero,
and moving input B to one, then setting input A to one and B to zero, and finally
input A and input B set to one. Then, we work through each row,
filling in the value for C and for the output.
Now, remember C is simply the
output of the OR gate. And so to work out the values of C,
we simply need to recall the truth table for an OR gate. Specifically, we see that when both
inputs A and B are set to zero, the output of the OR gate is set to zero as
well. And hence, in the first instance,
when both inputs are set to zero, C is going to be zero. And in fact, C is going to have the
exact same values as the outputs in each case of the OR gate because C really is the
output of an OR gate, without any other modifications done to it. And so the remaining values of C
are going to be one, one, and one. So now we filled in all possible
values of C. Let’s now look at filling out the
values of the output.
In order to do this, we need to
realise that we’ve got a NOT gate over here. And C, which was the output of the
OR gate, is now becoming the input of the NOT gate. Recalling the truth table for a NOT
gate then, we see that every time the input to a NOT gate is zero, the output
becomes one, and vice versa. And so in the very first row, the
input of the NOT gate, which is C, is set to zero. Therefore, the output is going to
be set to one. And in the second case, the input
of the NOT gate is one. So the output is going to be
zero. And the same is true for the other
two remaining rows. And so at this point, we’ve
completely filled in our truth table for this logic circuit. We can now choose if we wish to get
rid of the column with the values of C in it. But what we’re most interested in
keeping in this truth table are all the possible combinations of the inputs to the
logic circuit as a whole and the resulting values of the output in each case. So when we get rid of the column
for C, this is the truth table that we’re left with.
Now as a side note, we might notice
that this truth table looks exactly like the truth table for a NOR gate. In other words, when the output is
one when neither input A nor input B is set to one. And so what we’ve seen building
this truth table is that this setup here, an OR gate followed by a NOT gate, is
functionally identical to a NOR gate. And actually, that’s why the symbol
for a NOR gate is the same as the symbol for an OR gate followed by this little
circle, which is found on the NOT gate. But anyway, so in order to be able
to build truth tables for logic circuits, we first need to be able to identify the
types of logic gates found in this logic circuit. Secondly, we need to recall the
truth tables for each one of these logic gates. And finally, we need to
systematically build the truth table, incorporating columns for intermediate values
like we did for position C, if necessary. So now that we’ve understood this,
let’s take a look at an example question.
The diagram shows a logic circuit
consisting of multiple logic gates. The table shows the output for some
of the different possible combinations of inputs.
So here, we have a circuit diagram
showing us three logic gates combined together to form a logic circuit. And here we have a table showing
some possible combinations of values for inputs A, B, C, and D and the value for the
output in each case.
Now, the first question asks us
what is the value of 𝑝 in the table?
And so if we look in the table, we
can see that it’s not fully populated with zeros and ones. In fact, for some rows, the output
values have been labelled as 𝑝, 𝑞, 𝑟, and 𝑠. And the first question is asking us
to find the value of 𝑝. So to do this, the first thing that
we’re going to do is to identify the logic gates that we find in this logic
circuit. We can see that there are three
different logic gates but that two of them are identical. This logic gate has the same symbol
as this logic gate. Now we can recall, based on their
symbols, that these logic gates are in fact OR gates and that the other logic gate,
this one here, is an AND gate. And now, once we’ve identified
this, it’s worth recalling the truth tables for OR and AND gates. So here’s the truth table for an OR
gate. And here’s the truth table for an
AND gate. It’s worth noting that we’ve used
𝛼 and 𝛽 in both cases to represent the inputs and 𝛺 to represent the outputs of
these gates. So that we avoid confusion with
these inputs and this output which has already been labelled in our diagram.
Now, we can see that, for an OR
gate, the output is set to one if either input 𝛼 or input 𝛽 is set to one. And for an AND gate, the output is
only set to one if both input 𝛼 and input 𝛽 are set to one. Now, coming back to our logic
circuit diagram, we can see that the output of the first OR gate becomes one of the
inputs to the AND gate. And the same is true for the output
of the second OR gate. It becomes the second input to the
AND gate. And so it might be worth extending
our truth table here slightly. Specifically, it might be worth
calling the output of the first OR gate position E and the output of the second OR
gate position F. Both E and F then go on to become
the inputs to the AND gate. And it might be worth tracking
what’s happening to them, at least in the intermediate stages by adding two extra
columns to our truth table. We can delete these once we’ve
completed the truth table. But for now, it’ll be useful to
have them there.
So with that being said, if we’re
trying to calculate the value of 𝑝, then this corresponds to when input A is set to
zero, B is set to zero, C is set to zero, and D is set to zero. So let’s start by putting zeros
next to input A, B, C, and D. Then, we can see that inputs A and
B are the inputs to the first OR gate. So we can work out what the output
of that OR gate is going to be. In other words, what E is going to
be using the truth table for an OR gate.
We can see that when both inputs to
an OR gate are set to zero, then the output is set to zero as well. And therefore, we can see that the
output of the first OR gate, which is E, is going to be zero. And then, we can do the same thing
for inputs C and D. These are the inputs to the second
OR gate. And since both of those are set to
zero, we can see that the output of the OR gate, which is F, is going to be zero as
well. But then what we have going on is
that E and F become the inputs to the AND gate. And since in this particular case
both of them are set to zero, we can see that when both inputs to an AND gate are
set to zero, the output of the AND gate is zero as well. And hence we can say that the
output of the entire logic circuit itself is set to zero. But then, that output value
corresponds to 𝑝. And so at this point, we figured
out the answer to the first question. The value of 𝑝 in the table is
zero. And so having answered this, we can
move on to the next question.
What is the value of 𝑞 in the
table?
Now we can see that 𝑞 is the
output value that corresponds to when input A is zero, input B is zero, input C is
zero, and input D is one. So let’s put the values zero, zero,
zero, and one next to inputs A, B, C, and D, respectively. Then we can see that the inputs to
the first OR gate are set to zero. So looking at our OR gate’s truth
table, we see that when both inputs are set to zero, the output is zero as well. In other words, in this particular
case, the value of E is zero. And then, we can see that inputs C
and D are set to zero and one, respectively. And so we can see that when the
first input is set to zero but the second input is set to one for an OR gate, the
output of the OR gate is one. And so in this case, the value of F
is one. And so now what we have going on is
the value of E is zero. And the value of F is one. And those are becoming the inputs
to the AND gate. And so when the first input to the
AND gate is set to zero and the second input is set to one, the output of the AND
gate is zero. And so at this point, we found the
value of 𝑞 in our table. The value of 𝑞 is zero.
Moving onto the next question then,
this one asks us what is the value of 𝑟 in the table?
Now, 𝑟 corresponds to when input A
is zero, input B is zero, input C is one, and input D is one. And so if we set those values next
to inputs A, B, C, and D, respectively, we can see that an input of two zeros leads
an output of zero for an OR gate. So the value of E is zero whereas a
set of two ones as the inputs to an OR gate leads to an output of one. And so the value of F is one. But then, we’ve already seen that
if the first input to an AND gate is zero and the second is set to one, then the
output of the AND gate is going to be zero. And so our value of 𝑟 is zero. So we found the answer to this
question.
Moving on to our final question
then, what is the value of 𝑠 in the table?
Now we can see that 𝑠 corresponds
to an input set of zero, one, one, and zero. So writing these down next to
inputs A, B, C, and D, we see that when the first input is zero and the second input
is one for an OR gate, the output is one. And so we see that the value of E
is one. Secondly, we can see for the lower
OR gate if the first input is one and the second input is zero, then the output is
one as well. So our value of F is one. And so now what’s happening is that
the two inputs to the AND gate, E and F, are both set to one. And we can see that when both
inputs are set to one for an AND gate, the output is one as well. Therefore, at this point, we found
the value of 𝑠 in our table. So now that we’ve calculated all
the values necessary, we can get rid of the columns for E and F. And we can recall that 𝑝 was zero,
𝑞 was zero, 𝑟 was zero, and 𝑠 was one.
So now that we’ve answered this
question, let’s summarise what we’ve talked about in this lesson. We saw firstly that logic circuits
can contain a combination of different kinds of logic gate. Most commonly, the kinds of logic
gate used are AND gates, NAND gates, OR gates, NOR gates, XOR gates, and NOT
gates. We need to be able to recognise
these logic gates based on their symbols and recall the truth table for each type of
logic gate. And finally, we saw that when we’re
building a truth table for logic circuits, it is useful to consider what’s happening
at intermediate stages or, in other words, between logic gates. We can even add a column for each
one of these positions temporarily to our truth table whilst we’re building it. And then we can delete these
columns as necessary.