Digital Logic Fundamentals
Digital Logic Fundamentals
1 0 0
1 1 1
1 1 0
amplitude
• Output value is the
0 1 0 1 complemented output from an
Y(t) “AND” function.
0 0 1 1
X(t)
1 1 1 0
out(t)= x(t) NAND y(t)
NOR
x y out = x NOR y
x
0 0 1 out
0 1 0 y
1 0 0
1 1 0
0 0 1 1
X(t)
1 0 0 0
out(t)= x(t) nor y(t)
XNOR
x y out =x xnor y
x
0 0 1 out
0 1 0 y
1 0 0
1 1 1
0 0 1 1
X(t)
1 0 0 1
out(t)= x(t) xnor y(t)
Manipulating Boolean Functions
• Consider a function that must be 1 if either x = 1 and
y = 0 or y = 1 and z = 1
• We express it as: f(x,y,z) = xy’+ yz
• The truth table is:
x y z xy' yz xy'+yz
0 0 0 0 0 0
0 0 1 0 0 0
0 1 0 0 0 0
0 1 1 0 1 1
1 0 0 1 0 1
1 0 1 1 0 1
1 1 0 0 0 0
1 1 1 0 1 1
Combinatorial Logic Circuit
• Combinatorial Logic Circuit that implements the
function xy’+yz
xy'+yz
z
DeMorgan’s Law
(ab)’=a’+b’
(a+b)’=a’b’
in out in out
0 0
1 1
Buffers
• The tri-state buffer: it has a data input, just like regular buffers, but also has an
ENABLE input.
– If ENB=1 then the buffer is enabled and the input is passed directly to the output
– if ENB=0, the buffer is disabled. Regardless of the input (represented by a don’t care
value X in the truth table), the output is a high impedance state, Z. The tri-state buffer
can also have an inverted enable signal
• High Impedance State: I = V/R (Ohm Law) if R (impedance) -> very big than
the I (current) goes nearly to zero (I-> 0). For a constant voltage, the current
decreases as impedance increases. The high impedance state reduces the current
levels so low that the buffer appears in the circuit as not connected to anything.
This is the role of tri-state buffers: they can be disabled to essentially break
connections.
in ENB out in
ENB out
x 0 Z
0 1 0
1 1 1
in ENB out
in
ENB out
x 1 Z
0 0 0
1 0 1
Multiplexers
• It is a selector: it chooses one of its data
inputs and passes it to the output according
to some other selection inputs
• Consider four binary data inputs as inputs of
a multiplexer. Two select signals will
determine which of the four inputs will be
passed to the output.
• Figure (a) presents the internal structure of a
four inputs multiplexer, b and c present the
multiplexer schematic representation with
active high enable signal (b) and active low
enable signal (c)
Input0 S1’ S0’
Input1 S1’ S0
Input2 S1 S0’
Input3 S1 S0
• Three inputs:
– Two data inputs
– One carry input
• Same outputs as the half adder
• Functions S = Xin ⊕ Yin ⊕ Cin
C = XiYi + XiCin + YiCin
N-bit adders
• With the carry input, full adders can be cascaded to produce an n bit adder by
connecting output C from one adder to input Cin of the next adder
• Such an adder is called Ripple adder (because the bits ripple through the
adder). Consider the worst case scenario (X=1111 and Y=0001) and follow the
carry through the circuit
• A four bit ripple adder is presented
Memory
• Group of circuits used to store data
• It is not strict combinatorial in design, but it can
be used as combinatorial component in circuit
design; for that reason we will include a brief
presentation of the memory circuitry in this
presentation
• Has some number of memory locations, each of
which stores a binary value of some fixed length
• The number of locations and the size of locations
is variable from memory chip to memory chip, but
it is the same within the same chip
• The size is denoted as the number of locations
times the number of bits in each location
Memory
• A memory chip of size 512 X 8 has 512 memory locations,
each of which has 8 bits
• The address input of a memory chip choose one of its
locations. A memory chip with 2n locations requires n
address inputs, usually labeled An-1An-2 … A0 (512 X 8
memory has address lines A8A7A6 … A0)
• The data pins on a memory chip are used to access the
data. There is one pin per bit in each location. For chips
with m bits per location, these pins are Dm-1Dm-2 … D0 (512
X 8 memory has address lines D7D6D5 … D0)
• Other pins:
– Chip enable (CE) enables or disables the chip. When disabled, the
data pins output the high impedance Z; CE may be active high or
low
– Some other type of pins, up the class of the memory
Memory