- Digital circuits are bulit using elementary digital circuits
(gates) such as AND, OR, NOT, XOR, NAND, NOR, etc.
- We build (electrical) digital circuit to do something useful,
e.g., that do computations.
- A combinatorial (digital) circuit always implements
some "Boolean function".
This Boolean function would be some useful function that
we want the digital circuit to compute
- First, let's look at an example of a digital circuit:
You can try this circuit out yourself by running this command on
a labmachine:
/home/cs355001/bin/cs355sim /home/cs355001/demo/circuits/circuit1
|
- What does this circuit do ????
- One way to answer the question "what does a circuit do",
we can first compute the output of the circuit as a function
of the input and then figure out what it does from the values
of this function.
Because digital circuits have a finite number of inputs (and outputs)
and the value of each input can take on 2 different values (0 or 1),
we can use a table to describe the output of the circuit
in terms of its input:
- Now we must figure out what the circuit is doing
with the inputs.
This will take some imagination, creativity, detective work, ingenuity
or whatever you want to call it.... but if you look carefully,
you will detect a pattern:
The output is 1 if 2 or more of the 3 inputs are 1,
and otherwise the output is 0.
We can conclude that the above circuit computes the
majority function of its 3 inputs:
- if 2 or more inputs
are ONE, then the output is ONE;
- otherwise, the output is ZERO.