UNIT 4 Digital Integrated Circuits
UNIT 4 Digital Integrated Circuits
UNIT 4
Overview
• Integration, Moore’s law
• Early families (DL, RTL)
• TTL
• Evolution of TTL family
• ECL
• CMOS family and its evolution
• Overview
Integration Levels
• Gate/transistor ratio is roughly 1/10
– SSI < 12 gates/chip
– MSI < 100 gates/chip
– LSI …1K gates/chip
– VLSI …10K gates/chip
– ULSI …100K gates/chip
– GSI …1Meg gates/chip
Moore’s law
• A prediction made by Moore (a co-founder of Intel) in
1965: “… a number of transistors to double every 2
years.”
In the beginning…
Diode Logic (DL)
•simplest; does not scale
•NOT not possible (need an =
active element)
IOH – Current flowing into an output in the logical “1” state under specified load
conditions
IOL – Current flowing into an output in the logical “0” state under specified load
conditions
IIH – Current flowing into an input when a specified HI level is applied to that
input IIL – Current flowing into an input when a specified LO level is applied to
that input
TPD,HL TPD,LH
TPD,HL – input-to-output
propagation delay from HI
to LO output TPD,LH – input-
to-output propagation delay
from LO to HI output
Speed-power
product: TPD Pavg
Logic families: noise margin
HI state noise margin:
VNH = VOH(min) – VIH(min)
Noise margin:
VOH(min)
VN = min(VNH,VNL)
VNH
VIH(min)
VNL VIL(max)
VOL(max)
TTL
Bipolar Transistor-Transistor Logic (TTL)
•first introduced by in 1964 (Texas Instruments)
•TTL has shaped digital technology in many ways
•Standard TTL family (e.g. 7400) is obsolete
•Newer TTL families still used (e.g. 74ALS00)
Distinct features
• Multi-emitter transistors
•Totem-pole transistor
arrangement
2-input NAND
TTL evolution
Schottky series (74LS00) TTL
•A major slowdown factor in BJTs is due to
transistors going in/out of saturation
Combinational
Logic Circuits
18
What is a Combinational circuit?
At instant, the output of the logic circuit depends on present
inputs. (MEMORY-NOT REQ..)
Design procedure:
20
ADDERS
Logic circuit which performs the addition of binary numbers
Adders of two types:
1. Half Adder (H.A)
2. Full Adder (F.A)
Half Adder
It is a combinational logic
circuit which performs
addition of two binary bits.
22
A B Sum(S) Carry(C)
0
0
0
1
0
1
0
0
S AB A B
1
1
0
1
1
0
0
1 C AB
Full Adder
It is a combinational logic circuit which performs addition
of three binary inputs.
S A BC in AB C in A B C in ABC in
A ( BC in B C in ) A ( B C in BC in )
A ( B C in ) A ( B C in )
A B C in
A D
Half
Subtra
ctor
B BOUT
D AB A B
B 0 AB
Full Subtractor
Combinational circuit which performs subtraction on three
binary digits.
A D
D ABBin ABBin ABBin ABCin
Half
B Subtra
ctor
A(BBin BBin ) A(BBin BBin )
Bin
BOUT
A(B Bin ) A(B Bin )
A B Bin D BOUT
0 0 0 0 0 A B Bin
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1 Bout ABBin ABBin ABBin ABBin
1 0 0 1 0
1 0 1 0 0
Bin ( AB AB) AB (Bin Bin )
1 1 0 0 0
Bin ( A B) AB
1 1 1 1 1
Realizing Full Subtractor using two Half Subtractors & one OR gate
Half Half D
Subtractor Bin Subtractor
B
Bout
4-Bit Binary Parallel Adder
Each stage output in the parallel adder depends on
the previous stage carry and Delay time is additive.
It requires two stages of addition. When the end carry is 1, it has to be added with the
LSB adder. If the end carry is zero, single stage of addition produces the result but the
answer is negative.
2’s Complement Adder/Subtractor
Adder -- if M=0
Subtractor--if M=1
Equality ( A 3 B 3 )( A 2 B 2 )( A1 B 1 )( A 0 B 0 )
1 - B i t M a g n i t u d e C o m p a ra
ratto
or
The logic for a 1-bit comparator:
let the 1-bit numbers be A=A0 and B=B0
If A 0 1 and B 0 0, then A B
therefore, A B :G A 0 B 0
If A 0 0 and B 0 1, then A B
therefore, A B :L A 0 B 0
A0 B0 L E G A0
0 0 0 1 0
0 1 1 0 0
1 0 0 0 1
B0
1 1 0 1 0
2-bit Magnitude Comparator
A B : L A 1 B 1 ( A1 B1 ) A 0 B 0
If A1 and B1 coincide and if A0 and B0 coincide then A = B.
So the logic for A = B is
A B : E ( A 1 B 1 )( A 0 B 0 )
A1
B’1
A >B
A0
A1 B’0
B1
A0 A= B
B0
A’0
B0
A <B
A’1
B1
4-Bit Magnitude Comparator
A B : G A3 B 3 ( A3 B 3 ) A2 B 2
( A3 B 3 )( A2 B 2 ) A1 B 1 ( A3 B 3 )( A2 B 2 )( A1 B1 ) A0 B 0
The logic for A < B is:
1. If A3 = 0 and B3 = 1, then A < B or
2. If A3 and B3 coincide, and if A2 = 0 and B2 = 1, then A < B or
3. If A3 and B3 coincide, and if A2 and B2 coincide, and if A1=0
and B2 = 1, then A < B or
4. If A3 and B3 coincide, and if A2 and B2 coincide, and if A1
and B1 coincide, A0=0 and B1 = 1, then A < B or
So the logic for A < B is
A B : L A 3 B 3 ( A3 B3 ) A 2 B 2
( A3 B3 )( A2 B 2 ) A1 B1 ( A3 B3 )( A2 B 2 )( A1 B1 ) A 0 B0
A B : E ( A3 B 3 )( A 2 B 2 )( A1 B1 )( A0 B 0 )
MULTIPLEXERS
A Multiplexer (MUX) or data selector is a logic circuit that accepts several data inputs and
allows only one of them at a time to get through to the output.
The routing of the desired data input to the output is controlled by SELECT lines.
A MUX selects 1-out-of-N input data sources and transmits the selected data to a single
output channel. This is called Multiplexing.
2n X n
2n
i/p s MUX
o/p
n select lines
Multiplexer & Demultiplexer
Demultiplexer
Applications of Multiplexers
1. Data selection
2. Data routing
3. Operation sequencing
4. Waveform generation Multiplexer
5. Parallel to serial conversion
6. Logic function generation 39
Quadruple 2-to-1 Line Multiplexer
E S Y
(Enable) (Select) (Output)
0 X All 0’s
1 0 A
1 1 B
Used to supply four bits to the output. In this case two inputs four bits
each.
Logic Function Generator
•A multiplexer can be used in place of logic gates to implement a
logic expression.
•It can generate any Boolean algebraic function of a set of input
variables.
•A single IC can perform a function.
•It is very easy to change the logic function implemented, if and
when redesign of a system becomes necessary.
Multiplexers can be used to implement a logic function directly
from the function table without the need for simplification. The
select inputs of the multiplexer are used as the function variables.
The inputs of the multiplexer are connected to logic 1 and 0 to
represent the missing and available terms.
4 X 1 MUX
S1 S0
I0
S1 S0 Y
I1
0 0 I0
0 1 I1 I2 Y
1 0 I2
1 1 I3 I3
Ex: Implementation of F(A,B,C) = Σm(1,3,5,6) using 8 : 1 MUX
1 0
0
1
2
3 8:1
MUX
4 Y
5
6
7
S2 S1 S0
A B C
Ex: Implementation of F(A,B,C) = Σm(1,3,5,6) using 4 : 1 MUX
0 1 0 0
0 1 1 1
1 0 0 0 0 I0
1 0 1 1 1 I1 4:1
MUX Y
1 1 0 1 A I2
1 1 1 0 I3 S1 S0
A1
B C
DEMULTIPLEXER
Demultiplexer,
DEMUX does the reverse
operation of a MUX. It
receives the message over
one input line and directs
the message to of the
many output lines. Hence
it known as One to Many
1 X 2n
device. 2n
DEMUX o/p s
i/p
n select lines
S1 S0 D Y0 Y1 Y2 Y3
0 0 1 1 0 0 0
0 1 1 0 1 0 0
1 0 1 0 0 1 0
1 1 1 0 0 0 1
S0 S1
Y0 S 1 S 0 D
D AND Y0
Y1 S 1 S 0 D
AND Y1
Y2 S1 S 0D AND
Y2
Y3 S1S 0 D AND Y3
Encoder & Decoder
Decoder
Accepts a value and decodes it
Output corresponds to value of n inputs
Consists of:
Inputs (n)
Outputs (2n , numbered from 0 2n -1)
A2 A1 A0 D0 D1 D2 D3 D4 D5 D6
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1
3-to-8 Decoder with Enable
Decoder Expansion
Combine two or more small decoders with
enable inputs to form a larger decoder
3-to-8-line decoder constructed from two 2-to- 4-
line decoders
The MSB is connected to the enable inputs
if A2=0, upper is enabled; if A2=1, lower is enabled.
Combining two 2-4 decoders to form one 3-
8 decoder using enable switch (WHY and HOW)
Consists of:
Inputs (2n)
Outputs
when more than one output is active, sets
output to correspond to highest input
V (indicates whether any of the inputs are active)
Selectors / Enable (active high or active low)
TRUTH TABLE
D3 D2 D1 D0 A1 A0 V
Priority Encoder
0 0 0 0 x X 0
0 0 0 1 0 0 1
0 0 1 0 0 1 1
0 0 1 1 0 1 1
0 1 0 0 1 0 1
0 1 0 1 1 0 1
0 1 1 0 1 0 1
0 1 1 1 1 0 1
1 0 0 0 1 1 1
1 0 0 1 1 1 1
1 0 1 0 1 1 1
1 0 1 1 1 1 1
1 1 0 0 1 1 1
1 1 0 1 1 1 1
1 1 1 0 1 1 1
1 1 1 1 1 1 1
Multiplexers versus decoders
I2
I1
I
0
S1
S
0
4-to-1 Multiplexer 2-to-4 Decoder
Note that the multiplexer has an extra OR gate.A1 andA0 are the two inputs
in decoder. There are four inputs plus two selecs in multiplexer.
Cascading multiplexers
Using three 2-1 MUX
to make one 4-1 MUX
S1 S0 F
0 0 I0
0 1 I1
1 0 I2
1 1 I3
Example: Construct an
8-to-1 multiplexer using I0
2-to-1 multiplexers. I1
S2 S1 S0 F
0 0 0 I0
I2
0 0 1 I1 I3
2-1
F
MUX
0 1 0 I2
S E
0 1 1 I3 I4 S2 E
1 0 0 I4 I5
1 0 1 I5
1 1 0 I6
I6
1 1 1 I7
I7
Example : Construct 8-to-1 multiplexer using one 2-to-1 multiplexer
and two 4-to-1 multiplexers
S2 S1 S0 X
0 0 0 I0
0 0 1 I1
0 1 0 I2
0 1 1 I3
1 0 0 I4
1 0 1 I5
1 1 0 I6
1 1 1 I7
Decoders
TRUTH TABLE
Combinational Logic:
Output depends only on current input
Has no memory
Sequential Logic
Sequential Logic:
Output depends not only on current input but also
on past input values, e.g., design a counter
Need some type of memory to remember the past
input values
Sequential Circuits
Timed “States”
Sequential Logic: Concept
F F
F Combinational F
Circuit
F
F
Smallest clock period = largest combinational circuit delay between any two
directly connected FF, subjected to impact of FF setup time.
Flip-flops are the basic building blocks of Sequential Circuits which can be converted from one
form to another capable of storing a single bit of data
There are basically four different types of flip
flops and these are:
1. Set-Reset (SR) flip-flop or Latch
2. JK flip-flop
3. D (Data or Delay) flip-flop
4. T (Toggle) flip-flop
S’ R’ Q Q’
0 0 1 1 Disallowed
1 0 Set
0 1
1 0 1 1 Reset
1 1 2 0 Hold
0 1 Hold
JK FLIP FLOP
D Latch
One way to eliminate the undesirable indeterminate
state in the RS flip flop is to ensure that inputs S and R
are never 1 simultaneously. This is done in the D latch:
Q(t+1)=D
Q(t+1) = TQ’ +T’Q
Characteristic Tables
1. Defines the logical properties of a flip-flop (such as a truth table
does for a logic gate).
2. Q(t) – present state at time t AND Q(t+1) – next state at time t+1
LATCHES AND FLIPFLOPS
LATCHES : FLIPFLOPS
1. LATCH DOES NOT REQUIRED CLOCK SIGNAL. 1. FLIPFLOP REQUIRED CLOCK SIGNAL.
2. It is LEVEL SENSITIVE DEVICE. 2. It is EDGE SENSITIVE DEVICE.
3. LATCH IS ASYNCHRONOUS DEVICE. 3. FLIPFLOP IS SYNCHRONOUS DEVICE.
4. LESS POWER IS REQUIRED. 4. MORE POWER IS REQUIRED.
5. LATCH OUTPUT IS BASED ON ENABLE 5. FLIPFLOP OUTPUT IS BASED ON CLOCK
SIGNAL. SIGNAL.
6. CONSTRUCTED WITH BASIC GATES. 6. CONSTRUCTED WITH LATCHES.
D Flip-Flop Timing Parameters
Setup time
ROM
MEMORY PROM
EPROM
RAM ROM EEPROM
SRAM PROM (PROM)
DRAM FLASH MEMORY
Memory
Sequential circuits all depend upon the presence of memory.
A flip-flop can store one bit of information.
A register can store a single “word,” typically 32 or 64 bits.
Write (RAM): The data on the data bus is stored into the selected
location
Control signals - specifies what the memory is to do
Control signals are usually active low
#bits
The total storage capacity is 224 x 16 = 228 bits
Size matters!
Memory sizes are usually specified in numbers of bytes (1 byte= 8 bits).
The 228-bit memory on the previous page translates into:
2k x n memory
k ADDRESS DATA n
IN/OUT
RD/WR’
CS
However, capacitors lose their charge after a few milliseconds. The memory
requires constant refreshing to recharge the capacitors. (That’s what’s
“dynamic” about it.)
The counter is mainly composed of flip-flops. According to the flip order of flip-flops, the
counter can be divided into synchronous and asynchronous (Ripple counters).
In a synchronous counter, all flip-flops flip at the same time when the count pulse is input;
while in an asynchronous counter, the flip-flops at all levels are not flipped simultaneously.
4-bit version
Parallel In/Parallel Out Shift Registers
• 4-bit version
Parallel In/Parallel Out Shift Registers
• 4-bit version
Bidirectional Shift Register
• A bidirectional shift register is one in which
the data can be shifted either left or right.
4-bit version
Bidirectional 4-bit Shift Register
Bidirectional 4-bit Shift Register
Universal Shift Register
S0=0, s1=0,