||Numbers do not exist in the computer. We
make a mental mapping between the physics of the computer
(voltage levels, etc.) and the mathematics in our head.
|Number Systems. Ways to represent numbers
||Why the decimal system (base 10) is nothing
special. Base-6 is better, but the numbers get large.
Base-20 is often used (Mayans) as well as Babylonian
(base-60). Romans were strange. Binary is great for
computing because the underlying electronics are binary.
||How to convert numbers from any number base
to any other number base.
||How are negative numbers stored in the
computer? We will look here at three conventions:
Sign-magnitude, 1s-complement and 2's-complement. We will
see that 2's-complement is good because subtractions can
then be done by adding the negative numbers.
||The underlying mathematics of a computer.
Boolean Algebra, that itself is based on Set Theory. The
Huntington Postulates are presented that will form our
basis. Some important relations are given.
|de Morgan's Laws
||The de Morgan's Law tell us that the
negation of a 'sum' (OR) is the 'product' (AND) of
negations, NOS=PON and the negation of a 'product' (AND)
is the 'sum' (OR) of negations, NOP=SON.
These rules will come in very handy in the future when we design digital circuits.
||Truth Tables are a way to summarize the
behavior of a logic circuit. They specify the output value
(0 or 1) for all combinations of input values at the gate.
In total there are 2^4 = 32 possible two-input-one-output
gates. The most basic ones are: AND, OR, NAND, NOR, NOT
|Sum of Products
Product of Sums
|How to implement any logic function with
only AND, OR and NOT operations.
||Karnaugh Maps are an easy way to simplify
the expressions found by the SOP (sum of products) and POS
(product of sums) methods
|Karnaugh Maps 2
||An additional look at Karnaugh Maps. How
does the XOR operation look in a KM. And how do we deal
with 'don't cares'?
||How are the basic gates implemented in
electronics? We take a look at the NOT, NAND, NOR, AND, OR
and XOR gates implemented in CMOS (complementary metal
oxide semiconductor) technology.
|Multiplexer||A real life example how to build a useful digital electronic circuit on basis of a functional description. A multiplexer (one of the inputs is copied to the output, determined by the selector lines)|
|Memory (latch & flipflop)
||When feedback is used in logic circuits, the emergent property can be that the circuit has memory; the output no longer only depends on the input, but also on the current state.|
||A master-slave flip-flop is made of two
gated S/R latched placed in series. At the first halve of
a clock cycle the master is processing the signal, while
at the second halve the slave is processing.
|Master/Slave Flip-flops 2
||A close look at an edge-triggered
master-slave D-type flip-flop.
|Finite State Machines
||A finite state machine has both a logic
array and memory. Four types exist: 1) Mealy Machines
(input, output and memory), 2) Moore Machines (sequencers)
with output and memory but no input, 3) Boole Machines
with input and output but no memory, and 4) Berkeley
Machines with input and memory but no output. An example
is given of a Moore Machine sequencer, a 3-bit counter
based on T-type flipflop memory elements.
|Finite State Machines 2. S/R counter
||Another look at a Moore Machine (Finite
State Machine with no input). In this case an example of
how to build a 2-bit counter with S/R flipflops
|FSM Mealy machine. Parity checker
||We will take a look at a full Mealy machine
(with input and output), namely a parity checker. First we
design a state diagram: a circle for all states and draw
arrows how the states can change with input. Then we
decide for our hardware (how many and what type of
flipflops to use for the state and output). And then we
can implement the things just as we had done for a
(non-input) Moore machine. An action table. An excitation
table. The logic array via Karnaugh maps, etc.
|FSM, Edge Detector
||Here we take a look at another full Finite
State Machine (Mealy Machine) with input and output and
memory, namely an edge detector.