Name: S Vidya SUBJECT: DLD (20A04303T) Regulation: R20: Vemu Institute of Technology
Name: S Vidya SUBJECT: DLD (20A04303T) Regulation: R20: Vemu Institute of Technology
NAME: S VIDYA
REGULATION: R20
BINARY NUMBER SYSTEM
◦ BINARY NUMBERS
◦ OCTAL NUMBERS
◦ HEXA DECIMAL NUMBERS
◦ NUMBER BASE CONVERSIONS
◦ COMPLIMENTS
◦ SIGNED BINARY NUMBERS
◦ BINARY CODES
Binary logic and Gates
Boolean Algebra
◦ Basic Properties
◦ Algebraic Manipulation
Standard and Canonical Forms
◦ Minterms and Maxterms (Canonical forms)
◦ SOP and POS (Standard forms)
The decimal system is the base-10 system that we use every day.
A number, say 6357, represented in the base-10 system consists of multiple ordered
digits. (In other words, digits are normally combined together in groups to create
larger numbers.)
A digit is a single place that can hold numerical values between 0 and 9 (10 different
values).
For example, 6,357 has four digits.
How do you figure out what the value of the binary number 1011 is in
decimal world?
0=0
1=1
2 = 10
3 = 11
4 = 100
5 = 101
6 = 110
7 = 111
8 = 1000
9 = 1001
10 = 1010
11 = 1011
12 = 1100
Keep dividing by 2
Ex 2 : 23710
237 / 2 = 118 Remainder 1----------------------------------------
--------------|
118 / 2 = 59 Remainder 0----------------------------------------
-----------| |
59 / 2 = 29 Remainder 1----------------------------------------
--------| | |
29 / 2 = 14 Remainder 1----------------------------------------
--------| | |
14 / 2 = 7 Remainder 0----------------------------------------
-----| | | |
7 / 2 =3 Remainder 1----------------------------------------
--| | | | |
3/ 2=1 Remainder 1-----------------------------------| |
| | | | |
1/ 2=0 Remainder 1--------------------------------| | | |
| | | |
1 1 1 0 1 1 0 1
Look at adder in binary and decimal
3
+3
=6
6
11
+ 11
= (carry) which is 6 in decimal.
110
Although not a problem internally, long binary number seems a
problem to display in some situations. A common practice to
solve this problem is to use hexadecimal to represent Binary
numbers more compactly externally.
The hexadecimal system is base 16. Therefore, it requires 16
different symbols. The values 0 through 9 are used, along with
the letters A through F, which represent the decimal values 10
through 15.
0..9, A, B, C, D, E, F
0..9, 10, 11, 12,13, 14, 15
The Octal system is base 8. Therefore it requires 8 digits. The values 0 through 7 are
used.
1 1 0 1 0 1 1 0 1-----------655
The binary, hexadecimal (hex) and octal system
share one common feature – they are all based on
powers of 2.
Each digit in the hex system is equivalent to a four-
digit binary number and each digit in the octal
system is equivalent to a 3-digit binary number.
Consider a system of 3 input signals (variables) x, y, & z.
A term which ANDs all input variables, either in the true or complement form, is
called a minterm.
Thus, the considered 3-input system has 8 minterms, namely:
Each minterm equals 1 at exactly one particular input combination and is equal to 0
at all other combinations
Thus, for example, is always equal to 0 except for the input combination xyz
= 000, where it is equal to 1.
Accordingly, the minterm is referred to as m0.
In general, minterms are designated mi, where i corresponds the input combination
at which this minterm is equal to 1.
For the 3-input system under consideration, the
number of possible input combinations is 23, or
8. This means that the system has a total of 8
minterms as follows:
In general, for n-input variables, the number of minterms = the total
number of possible input combinations = 2n.
A minterm = 0 at all input combinations except one where the
minterm = 1.
Example: What is the number of minterms for a function with 5 input
variables?
◦ Number of minterms = 25 =32 minterms.
Consider a circuit of 3 input signals (variables) x, y, & z.
A term which ORs all input variables, either in the true or
complement form, is called a Maxterm.
With 3-input variables, the system under consideration has a total
of 8 Maxterms, namely:
Operators ( +, •, ‘ )
Variables
Constants( 0, 1 )
set of binary
Groupings (parenthesis)
variables
Example: F(a,b) = a’•b + b’
G(x,y,z) = x•(y+z’)
B
A
B A+B
A B+A
A
B
AB B
A
BA
The associative law of addition for 3 variables is written as: A+(B+C) = (A+B)+C
The associative
A
law of multiplication for A3 variables
A+B
is written as: A(BC) = (AB)C
B
A+(B+C)
B
(A+B)+C
C B+C C
A A AB
A(BC)
B B
(AB)C
C BC C
The distributive law is written for 3 variables as follows:
A(B+C) = AB + AC
B A AB
B+C
B
C
A
X A
X
C AC
X=A(B+C) X=AB+AC
1. A 0 A 7. A A A
2. A 1 1 8. A A 0
3. A 0 0 9. A A
4. A 1 A 10. A AB A
5. A A A 11. A A B A B
6. A A 1 12.( A B )( A C ) A BC
___________________________________________________________
A, B, and C can represent a single variable or a combination of variables.
DeMorgan’s theorems provide mathematical verification of:
◦ the equivalency of the NAND and negative-OR gates
◦ the equivalency of the NOR and negative-AND gates.
The complement of two or more NAND Negative-OR
ANDed variables is equivalent to the
OR of the complements of the
individual variables.
X Y X Y
X Y Z
X Y Z
X Y Z
W X Y Z
Apply DeMorgan’s theorems to the expressions:
( A B C)D
ABC DEF
AB C D EF
A BC D( E F )
Boolean algebra provides a concise way to express the operation of a logic circuit
formed by a combination of logic gatese
So that the output can be determined for various combinations of input values.
To derive the Boolean expression for a given logic circuit, begin at the left-most
inputs and work toward the final output, writing the expression for each gate.
C CD
D
B+CD
B
A(B+CD)
A
Once the Boolean expression for a given logic circuit has been determined, a truth
table that shows the output for all possible values of the input variables can be
developed.
◦ Let’s take the previous circuit as the example:
A(B+CD)
◦ There are four variables, hence 16 (24) combinations of values are possible.
Evaluating the expression
◦ To evaluate the expression A(B+CD), first find the values of the variables that
make the expression equal to 1 (using the rules for Boolean add & mult).
◦ In this case, the expression equals 1 only if A=1 and B+CD=1 because
A(B+CD) = 1·1 = 1
Evaluating the expression (cont’)
◦ Now, determine when B+CD term equals 1.
◦ The term B+CD=1 if either B=1 or CD=1 or if both B and CD equal
1 because
B+CD = 1+0 = 1
B+CD = 0+1 = 1
B+CD = 1+1 = 1
The term CD=1 only if C=1 and D=1
Evaluating the expression (cont’)
◦ Summary:
◦ A(B+CD)=1
When A=1 and B=1 regardless of the values of C and D
When A=1 and C=1 and D=1 regardless of the value of B
◦ The expression A(B+CD)=0 for all other value combinations of the variables.
INPUTS
INPUTS OUTPUT
OUTPUT
Putting the results in truth table AA BB CC DD A(B+CD)
A(B+CD)
format 00 00 00 00 0
00 00 00 11 0
A(B+CD)=1 00 00 11 00 0
00 00 11 11 0
00 11 00 00 0
When A=1 and B=1 00 11 00 11 0
regardless of the 00 11 11 00 0
values of C and D 00 11 11 11 0
11 00 00 00 0
11 00 00 11 0
When A=1 and C=1 and 11 00 11 00 0
1. X + 0 = X -- Zero Axiom
2. X • 1 = X -- Unit Axiom
3. X + 1 = 1 -- Unit Property
4. X • 0 = 0 -- Zero Property
Let X: boolean variable, 0,1: constants
5. X + X = X -- Idepotence
6. X • X = X -- Idepotence
7. X + X’ = 1 -- Complement
8. X • X’ = 0 -- Complement
9. (X’)’ = X -- Involution
The dual of an expression is obtained by exchanging (• and +),
and (1 and 0) in it, provided that the precedence of operations
is not changed.
Cannot exchange x with x’
Example:
◦ Find H(x,y,z), the dual of F(x,y,z) = x’yz’ + x’y’z
◦ H = (x’+y+z’) (x’+y’+ z)
With respect to duality, Identities 1 – 8 have the following
relationship:
1. X + 0 = X 2. X • 1 = X (dual of 1)
3. X + 1 = 1 4. X • 0 = 0 (dual of 3)
5. X + X = X 6. X • X = X (dual of 5)
7. X + X’ = 1 8. X • X’ = 0 (dual of 8)
Let X,Y, and Z: boolean variables
G = F’ = (xy’z’ + x’yz)’
= (xy’z’)’ • (x’yz)’ DeMorgan
= (x’+y+z) • (x+y’+z’) DeMorgan again
group of 2 terms
group of 4 terms
Boolean Algebra 2023/2/28
Enter minterms of the Boolean function into the map, then group terms
Example: f(a,b,c) = a’c + abc + bc’
Result: f(a,b,c) = a’c+ b
a bc
1 1 1
1 1
1 1 1
1 1
f1(x, y, z) = ∑ m(2,3,5,7) 0 1 1
1 1 1
f1(x, y, z) = x’y + xz
f2(x, y, z) = ∑ m (0,1,2,3,6)
1 1 1 1
f2(x, y, z) = x’+yz’
1
WX 00 01 11 10
00 m0 m1 m3 m2
01 m4 m5 m7 m6
10 m8 m9 m11 m10
1 1 1 1 1 1
1 1 1 1
1 1 1 1 1 1
g(A,B,C,D) = c’+b’d’+a’bd
Boolean Algebra 2023/2/28
There may be a combination of input values which
◦ will never occur
◦ if they do occur, the output is of no concern.
The function value for such combinations is called a don't care.
They are denoted with x or –. Each x may be arbitrarily assigned the
value 0 or 1 in an implementation.
Don’t cares can be used to further simplify a function
0 1 0 1
1 1 0 1
0 0 x x
1 1 x x
x 1 0 0
1 x 0 x
1 x x 1
0 x x 0
X X F
F = ((X•Y)’)’
Y Y X•Y
= (X’+Y’)’
= X’’•Y’’
= X•Y
X X
F = (X’•Y’)’ F=
= X’’+Y’’ X+Y
Y = X+Y Y
a) Original SOP
b) Implementation with NANDs
X Y F = XY
XNOR: “equal” gate
0 0 1
0 1 0
X F
1 0 0
Y 1 1 1
119
To obtain the output Boolean functions from a logic diagram,
proceed as follows:
1. Label all gate outputs that are a function of input variables with arbitrary
symbols. Determine the Boolean functions for each gate output.
2. Label the gates that are a function of input variables and previously labeled
gates with other arbitrary symbols. Find the Boolean functions for these gates.
3. Repeat the process outlined in step 2 until the outputs of the circuit are
obtained.
121
We can derive the truth table in Table 4-1 by using the circuit of
Fig.4-2.
122
1. Table4-2 is a Code-Conversion example, first, we can list the
relation of the BCD and Excess-3 codes in the truth table.
123
2. For each symbol of the Excess-3 code, we use 1’s to draw the
map for simplifying Boolean function.
124
z = D’; y = CD + C’D’ = CD + (C + D)’
x = B’C + B’D + BC’D’ = B’(C + D) + B(C + D)’
w = A + BC + BD = A + B(C + D)
125
A combinational circuit that performs the addition of two bits is
called a half adder.
The truth table for the half adder is listed below:
S: Sum
C: Carry
S = x’y + xy’
C = xy
126
One that performs the addition of three bits(two
significant bits and a previous carry) is a full adder.
128
C
131
This is also called
Ripple Carry
Adder ,because of
the construction
with full adders
are connected in
cascade.
132
Fig.4-9 causes a unstable factor on carry bit, and
produces a longest propagation delay.
The signal from Ci to the output carry Ci+1, propagates
through an AND and OR gates, so, for an n-bit RCA,
there are 2n gate levels for the carry to propagate
from input to output.
133
Because the propagation delay will affect the output signals
on different time, so the signals are given enough time to
get the precise and stable outputs.
The most widely used technique employs the principle of
carry look-ahead to improve the speed of the algorithm.
134
Pi = Ai ⊕ Bi steady state value
Gi = AiBi steady state value
Output sum and carry
Si = Pi ⊕ Ci
Ci+1 = Gi + PiCi
Gi : carry generate Pi : carry propagate
C0 = input carry
C1 = G0 + P0C0
C2 = G1 + P1C1 = G1 + P1G0 + P1P0C0
C3 = G2 + P2C2 = G2 + P2G1 + P2P1G0 + P2P1P0C0
136
Delay time of n-bit CLAA = XOR + (AND + OR) + XOR
137
M = 1subtractor ; M = 0adder
138
BCD adder can’t exceed 9 on each input digit. K is the carry.
139
When the binary sum is greater than 1001, we obtain a non-valid
BCD representation.
The addition of binary 6(0110) to the binary sum converts it to the
correct BCD representation and also produces an output carry as
required.
To distinguish them from binary 1000 and 1001, which also have a
1 in position Z8, we specify further that either Z4 or Z2 must have a
1.
C = K + Z8Z4 + Z8Z2
A decimal parallel
adder that adds n
decimal digits needs n
BCD adder stages.
The output carry from
one stage must be
If =1
connected to the input
carry of the next
0110
higher-order stage.
141
Usually there are more bits in the partial products and it is necessary
to use full adders to produce the sum of the partial products.
And
142
For J multiplier bits and K
multiplicand bits we need (J X K)
AND gates and (J − 1) K-bit
adders to produce a product of
J+K bits.
K=4 and J=3, we need 12 AND
gates and two 4-bit adders.
143
The equality relation of
each pair of bits can be
expressed logically with an
exclusive-NOR function as:
A = A3A2A1A0 ; B =
B3B2B1B0
xi=AiBi+Ai’Bi’ for i =
0, 1, 2, 3
(A = B) = x3x2x1x0
144
We inspect the relative magnitudes
of pairs of MSB. If equal, we
compare the next lower significant
pair of digits until a pair of unequal
digits is reached.
148
A decoder with an enable input is referred to as a
decoder/demultiplexer.
The truth table of demultiplexer is the same with decoder.
A B
D0
Demultiplexer D1
E
D2
D3
From table 4-4, we obtain the functions for the combinational circuit in sum of minterms:
S(x, y, z) = ∑(1, 2, 4, 7)
C(x, y, z) = ∑(3, 5, 6, 7)
151
An encoder is the inverse operation of a decoder.
We can derive the Boolean functions by table 4-7
z = D 1 + D3 + D 5 + D 7
y = D2 + D3 + D6 + D 7
x = D4 + D5 + D6 + D 7
152
If two inputs are active simultaneously, the output produces an undefined combination. We
can establish an input priority to ensure that only one input is encoded.
Another ambiguity in the octal-to-binary encoder is that an output with all 0’s is generated
when all the inputs are 0; the output is the same as when D0 is equal to 1.
The discrepancy tables on Table 4-7 and Table 4-8 can resolve aforesaid condition by
providing one more output to indicate that at least one input is equal to 1.
V=0no valid inputs
V=1valid inputs
154
0
Implementation of 0
table 4-8 0
0
x = D2 + D3
y = D3 + D1D’2
V = D 0 + D1 + D 2 + D 3
155
S = 0, Y = I0 Truth Table S Y = S’I0
+ SI1
S = 1, Y = I1 0 I0
1
I1
156
Multiplexer circuits can be combined with common selection
inputs to provide multiple-bit selection logic. Compare with
Fig4-24.
I0 Y
I1
158
A more efficient method for implementing a Boolean
function of n variables with a multiplexer that has n-1
selection inputs.
F(x, y, z) = (1,2,6,7)
159
F(A, B, C, D) = (1, 3, 4, 11, 12, 13, 14, 15)
160
A multiplexer can be constructed with three-state gates.
161
There are two basic types of design methodologies: top-down
and bottom-up.
Top-down: the top-level block is defined and then the sub-blocks
necessary to build the top-level block are identified.(Fig.4-9
binary adder)
Bottom-up: the building blocks are first identified and then
combined to build the top-level block.(Example 4-2 4-bit adder)
162
Gates statement: gate name(output, input, control)
>> bufif1(OUT, A, control);
A = OUT when control = 1, OUT = z when control = 0;
>> notif0(Y, B, enable);
Y = B’ when enable = 0, Y = z when enable = 1;
163
HDL uses the keyword tri
to indicate that the output
has multiple drivers.
164
Sequential
Circuits
Asynchronous
Inputs Outputs
Combinational
Circuit
Memory
Elements
Synchronous
Inputs Outputs
Combinational
Circuit
Flip-flops
Clock
166
Latches and flip-flops (FFs) are the basic building
blocks of sequential circuits.
167
SR Latch
S R Q0 Q Q’
0 1 Q = Q0
0 0 0
R
0 0
Q
S Q
0 1
Initial Value
SR Latch
S R Q0 Q Q’
0 0 0 0 1 Q = Q0
0 0 1 1 0 Q = Q0
R
0 1
Q
S Q
0 0
SR Latch
S R Q0 Q Q’
0 0 0 0 1 Q = Q0
0 0 1 1 0
1 Q=0
R
1 0 0 1 0 0
Q
S Q
0 1
SR Latch
S R Q0 Q Q’
0 0 0 0 1 Q = Q0
0 0 1 1 0
0 1 0 0 1 Q=0
R
1 1 0 1 Q=0
Q 0 1 1
S Q
0 0
SR Latch
S R Q0 Q Q’
0 0 0 0 1 Q = Q0
0 0 1 1 0
0 1 0 0 1
R
0 0 Q=0
0 1 1 0 1
Q 1 0 Q=1
1 0 0
S Q
1 1
SR Latch
S R Q0 Q Q’
0 0 0 0 1 Q = Q0
0 0 1 1 0
0 1 0 0 1
R
0 1 Q=0
0 1 1 0 1
Q 1 0 0 1 0 Q=1
1 0 Q=1
1 0 1
S Q
1 0
SR Latch
S R Q0 Q Q’
0 0 0 0 1 Q = Q0
0 0 1 1 0
0 1 0 0 1
R
1 0 Q=0
0 1 1 0 1
Q 1 0 0 1 0 Q=1
1 0 1 1 0
0 0 Q = Q’
1 1 0
S Q
1 10
SR Latch
S R Q0 Q Q’
0 0 0 0 1 Q = Q0
0 0 1 1 0
0 1 0 0 1
R
1 10 0 1 1 0 1
Q=0
Q 1 0 0 1 0 Q=1
1 0 1 1 0
1 1 0 0 0 Q = Q’
0 0 Q = Q’
1 1 1
S Q
1 0
SR Latch
S R Q
R Q No change
0 0 Q0
Reset
0 1 0
Set
1 0 1
S Q Invalid
1 1 Q=Q’=0
S S R Q
Q
0 0 Q=Q’=1 Invalid
0 1 1 Set
1 0 0 Reset
R Q
1 1 Q0 No change
SR Latch
S R Q
R Q No change
0 0 Q0
Reset
0 1 0
Set
1 0 1
S Q Invalid
1 1 Q=Q’=0
S S’ Q
Q
R’ Invalid
0 0 Q=Q’=1 Set
Q 0 1 1 Reset
R
1 0 0 No change
1 1 Q0
SR Latch with Control Input
R R S S
Q Q
C C
S Q R Q
S R
C S R Q
No change
0 x x Q0
No change
1 0 0 Q0
Reset
1 0 1 0 Set
1 1 0 1 Invalid
1 1 1 Q=Q’
D Latch (D = Data) Timing Diagram
S
C
D
Q
C D
R Q
Q
t
C D Q Output may
0 x Q0 No change change
Reset
1 0 0
Set
1 1 1
D Latch (D = Data) Timing Diagram
S
C
D
Q
C D
R Q
Q
C D Q Output may
No change change
0 x Q0
Reset
1 0 0
Set
1 1 1
Controlled latches are level-triggered
C
Flip-Flops are edge-triggered
D D Q D Q Q
D Latch D Latch
(Master) (Slave)
C C
Master Slave
CLK
CLK
D
Looks like it is negative
edge-triggered QMaster
QSlave
Edge-Triggered D Flip-Flop
D Q
Q Positive Edge
CLK
Q
D Q
D Negative Edge
JK Flip-Flop
J
D Q Q
K
CLK Q Q
J Q
D = JQ’ + K’Q
K Q
T Flip-Flop
T J Q T D Q
Q
K Q
T Q
D = JQ’ + K’Q
D = TQ’ + T’Q = T Q Q
D Q D Q(t+1)
0 0 Reset
Q 1 1 Set
J K Q(t+1)
J Q No change
0 0 Q(t)
0 1 0 Reset
K Q 1 0 1 Set
1 1 Q’(t) Toggle
T Q T Q(t+1)
0 Q(t) No change
Q
1 Q’(t) Toggle
D Q D Q(t+1)
0 0 Q(t+1) = D
Q 1 1
J K Q(t+1)
J Q
0 0 Q(t)
0 1 0 Q(t+1) = JQ’ + K’Q
K Q 1 0 1
1 1 Q’(t)
T Q T Q(t+1)
0 Q(t) Q(t+1) = T Q
Q
1 Q’(t)
Analysis / Derivation
Q(t
J K Q(t+1)
) No change
J Q 0 0 0 0
0 0 1 1 Reset
K Q 0 1 0
0 1 1 Set
1 0 0
1 0 1 Toggle
1 1 0
1 1 1
Analysis / Derivation
Q(t
J K Q(t+1)
) No change
J Q 0 0 0 0
0 0 1 1 Reset
K Q 0 1 0 0
0 1 1 0 Set
1 0 0
1 0 1 Toggle
1 1 0
1 1 1
Analysis / Derivation
Q(t
J K Q(t+1)
) No change
J Q 0 0 0 0
0 0 1 1 Reset
K Q 0 1 0 0
0 1 1 0 Set
1 0 0 1
1 0 1 1 Toggle
1 1 0
1 1 1
Analysis / Derivation
Q(t
J K Q(t+1)
) No change
J Q 0 0 0 0
0 0 1 1 Reset
K Q 0 1 0 0
0 1 1 0 Set
1 0 0 1
1 0 1 1 Toggle
1 1 0 1
1 1 1 0
Analysis / Derivation
Q(t
J K Q(t+1)
)
J Q 0 0 0 0 K
0 0 1 1 0 1 0 0
K Q 0 1 0 0 J 1 1 0 1
0 1 1 0 Q
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
Q(t+1) = JQ’ + K’Q
Asynchronous Reset
D Q R’ D CLK Q(t+1)
0 x x 0
Q
R
Reset
Asynchronous Reset
D Q R’ D CLK Q(t+1)
0 x x 0
Q 1 0 ↑ 0
R 1 1 ↑ 1
Reset
Asynchronous Preset and Clear
Preset
Q
CLR
Reset
Asynchronous Preset and Clear
Preset
Preset
important.
◦ Two circuits are
equivalent
Have identical outputs for
all input sequences;
The number of states is
not important.
State: a a b c d e d d e d e a
Input: 0 1 0 1 0 1 1 0 1 0 0
Output: 0 0 0 0 0 1 1 0 1 0 0
◦ The checking of each
pair of states for
possible equivalence can
be done systematically
using Implication Table.
◦ The unused states are
treated as don't-care
condition fewer
combinational gates.
0 0 Q Q΄ Latch
0 1 0 1 Reset
1 0 1 0 Set
Q
S 1 1 0 0 Illegal
S
Q Logic Symbol
S Q
R Q
Q
R
S EN S R Q+ EN S R Q+ Function
S Q Q
0 0 0 Q 0 X X
EN
R Q Q 0 0 1 Q 1 0 0
R
0 1 0 Q 1 0 1
0 1 1 Q 1 1 0
Logic Symbol
1 0 0 Q 1 1 1
S Q 1 0 1 0
EN 1 1 0 1
R Q
1 1 1 U
(a) (b)
Set Enable
Reset Set
Reset
Q
D EN D Q Q+ EN D Q+ Function
S Q Q
0 0 0 Q 0 0
EN
0 0 1 Q 0 1
R Q Q
0 1 0 Q 1 0
0 1 1 Q 1 1
Logic Symbol
1 0 0 0
D Q
1 0 1 0
EN
1 1 0 1
Q
1 1 1 1
EN J K Q Q+ EN J K Q+ Function
J S Q Q
0 X X X Q 0 X X
EN
1 0 0 0 0 1 0 0
K R Q Q
1 0 0 1 1 1 0 1
1 0 1 0 0 1 1 0
Logic Symbol
1 0 1 1 0 1 1 1
J Q 1
1 1 0 0
EN
1 1 0 1 1
K Q
1 1 1 0 1
1 1 1 1 0
EN
EN' EN
EN'
EN
EN
EN
EN EN
EN
EN
EN
EN' EN'
J J
S Q Q S Q Q
CLK CLK
R Q Q R Q Q
K K
D J Q Q D J Q Q
CLK CLK
K Q Q K Q Q
Logic Symbol CLK D QN+1 Function Logic Symbol CLK D QN+1 Function
D Q X Q D Q X Q
CLK 0 CLK 0
0 0
Q Q 1
1 1 1
T J Q Q T J Q Q
CLK CLK
K Q Q K Q Q
Logic Symbol CLK T QN+1 Function Logic Symbol CLK T QN+1 Function
T Q X Q T Q X Q
CLK 0 Q CLK 0 Q
Q 1 Q΄ Q 1 Q΄
(a) (b)
Enable Enable
Data (D) J
K
Q
(a) (b)
CLK CLK
J J
K K
Q Q
(a) (b)
CLK CLK
D D
Q Q
(c) (d)
CLK CLK
T T
Q Q
(a) (b)
CLK CLK
J J
K K
CLR CLR
PR PR
Q Q
Q K Q Function
logic zero.
J S Q S Q Q
J
CLK 0 0
CLK
K R Q R Q Q Q 0 1
K
1 0
1 1
(a) Positive Master Slave JK Flip Flop (b) Negative Master Slave JK Flip Flop
CLK CLK
J J
K K
Q Q
logic zero.
J
CLK 0 0
R Q R Q0 Q Q 1
K
K
1 0
1 1
(a) Positive Master Slave JK Flip Flop (b) Negative Master Slave JK Flip Flop
CLK CLK
J J
K K
Q Q
2-to-1 SET
MUX
D Q
A1
CLR Q
Clock
1 2 3 4 5 6 7 8 9 10
Clock
A0
A1
D
Q
CLR Q
Clock
1 2 3 4 5 6 7 8 9 10
Clock
Q’
Y
SET
Q D/T
CP Z
Q CLR
When the C input goes from 1 to 0, the flip flop is set if J=1,
is cleared if K=1, is complemented if J=K=1, and is left
unchanged if J=K=0.
BCD ripple counter
Synchronous counters are different from ripple
counters in that clock pulses are applied to the
inputs of all flip flops simultaneously rather
than one at a time in succession as in a ripple
counter.
The decision whether a flip flop is to be
complemented or not is determined from the
values of the data inputs such as T or J and K at
the time of the clock edge.
If T=0 or J=K=0, the flip flop does not change
state.
If T=1 or J=K=1, the flip flop complements.
The design of a synchronous binary counter is so simple that
there is no need to go through a sequential logic design
process.
In a synchronous binary counter, the flip flop in the least
significant position is complemented with every pulse.
A flip flop in any other position is complemented when all
the bits in the lower significant positions are equal to 1.
For eg, if the present state of a 4-bit counter is
A3A2A1A0=0011, the next count is 0100.
A is always complemented because the present state of
0
A =1.0
26
• AND array and ORarray
are programmable
• XORis available to complement
an output if needed
• Example:
• 3 inputs/2 outputs
• F1= A B’ + A C+ A’ B C’
• F2 = (AC + BC)’
Source: Mano’stextbook
• Example:
• 4 inputs/4 outputs with fixed 3- input OR
gates
• W = A B C’ + A’ B’ CD’
• X =?
• Y= ?
• Z=?
Source: Mano’stextbook
Ahmad Almulhem, KFUPM2010
29
Use a PROM to implement an: AB F1 F2 F3 F4
• inverter F1 =A
00 1 0 1 0
• OR F2 = A+B F3
• NAND = A·B F4 = A 01 1 1 1 1
• XOR B 10 0 1 1 1
11 0 1 0 0
30
• Xilinx FPGAs
• Configurable Logic Block
(CLB)
• Programmable logic and FFs
• Programmable
Interconnects
• Switch Matrices
• Horizontal/vertical lines
• I/O Block (IOB)
• Programmable I/O pins
Source: Mano’stextbook
33
• Internal SRAM
• Embedded Multipliers and DSP
blocks
• Embedded logic analyzer
• Embedded CPUs
• High speed I/O (~10GHz)
• DDR/DDRII/DDRIII SDRAM
interfaces
• PLLs
The term random access as applied to RAM comes from the fact that any storage location, also known as any
memory address, can be accessed directly. Originally, the term Random Access Memory was used to distinguish
regular core memory from offline memory.
Offline memory typically referred to magnetic tape from which a specific piece of data could only be accessed by
locating the address sequentially, starting at the beginning of the tape. RAM is organized and controlled in a way
that enables data to be stored and retrieved directly to and from specific locations.
Other types of storage -- such as the hard drive and CD-ROM-- are also accessed directly or randomly, but the
term random access isn't used to describe these other types of storage.
RAM is similar in concept to a set of boxes in which each box can hold a 0 or a 1. Each box has a unique address
that is found by counting across the columns and down the rows. A set of RAM boxes is called an array, and each
box is known as a cell.
To find a specific cell, the RAM controller sends the column and row address down a thin electrical line etched
into the chip. Each row and column in a RAM array has its own address line. Any data that's read flows back on a
separate data line.
RAM is physically small and stored in microchips. It's also small in terms of the amount of data it can hold. A
typical laptop computer may come with 8 gigabytes of RAM, while a hard disk can hold 10 terabytes.
RAM comes in two primary forms:
Dynamic Random Access Memory (DRAM) makes up the typical computing device's RAM
and, as was previously noted, it needs that power to be on to retain stored data.
Each DRAM cell has a charge or lack of charge held in an electrical capacitor. This data must
be constantly refreshed with an electronic charge every few milliseconds to compensate for
leaks from the capacitor. A transistor serves as a gate, determining whether a capacitor's value
can be read or written.
Static Random Access Memory (SRAM) also needs constant power to hold on to data, but it
doesn't need to be continually refreshed the way DRAM does.
In SRAM, instead of a capacitor holding the charge, the transistor acts as a switch, with one
position serving as 1 and the other position as 0. Static RAM requires several transistors to
retain one bit of data compared to dynamic RAM which needs only one transistor per bit. As a
result, SRAM chips are much larger and more expensive than an equivalent amount of DRAM.
One-transistor RTL NOR gate
Multi-transistor RTL NOR gate
Resistor–transistor logic (RTL) (sometimes also transistor–resistor logic (TRL)) is a class of digital
circuits built using resistors as the input network and bipolar junction transistors (BJTs) as switching
devices. RTL is the earliest class of transistorized digital logic circuit used; other classes include diode–
transistor logic (DTL) and transistor–transistor logic (TTL). RTL circuits were first constructed
with discrete components, but in 1961 it became the first digital logic family to be produced as
a monolithic integrated circuit.
The logical operation OR is performed by applying consecutively the two arithmetic
operations addition and comparison (the input resistor network acts as a parallel voltage summer with
equally weighted inputs and the following common-emitter transistor stage as a voltage
comparator with a threshold about 0.7 V). The equivalent resistance of all the resistors connected to
logical "1" and the equivalent resistance of all the resistors connected to logical "0" form the two legs
of a composed voltage divider driving the transistor. The base resistances and the number of the inputs
are chosen (limited) so that only one logical "1" is sufficient to create base-emitter voltage exceeding
the threshold and, as a result, saturating the transistor. If all the input voltages are low (logical "0"), the
transistor is cut-off. The pull-down resistor R1 biases the transistor to the appropriate on-off threshold.
The output is inverted since the collector-emitter voltage of transistor Q1 is taken as output, and is high
when the inputs are low. Thus, the analog resistive network and the analog transistor stage perform the
logic function NOR
Advantages
The primary advantage of RTL technology was that it used a minimum number of
transistors. In circuits using discrete components, before integrated circuits, transistors were
the most expensive component to produce. Early IC logic production (such as Fairchild's in
1961) used the same approach briefly, but quickly transitioned to higher-performance
circuits such as diode–transistor logic and then transistor–transistor logic (starting in 1963
at Sylvania Electric Products), since diodes and transistors were no more expensive than
resistors in the IC.
Limitations
The disadvantage of RTL is its high power dissipation when the transistor is switched on, by
current flowing in the collector and base resistors. This requires that more current be
supplied to and heat be removed from RTL circuits. In contrast, TTL circuits with "totem-
pole" output stage minimize both of these requirements.
Another limitation of RTL is its limited fan-in: 3 inputs being the limit for many circuit
designs, before it completely loses usable noise immunity. [citation needed] It has a low noise
margin. Lancaster says that integrated circuit RTL NOR gates (which have one transistor
per input) may be constructed with "any reasonable number" of logic inputs, and gives an
example of an 8-input NOR gate.
DTL was initially made with discrete transistors and resistors before being integrated onto silicon.
One early form of DTL, used by IBM Corp in the 360 family of computers, was really a hybrid technology.
Transistor and diode chips were glued to a ceramic substrate and aluminum resistor paste was deposited on the
substrate to make resistors.
Finally the ceramic base and components were hermetically sealed in an aluminum can. This family was used
extensively in IBM products in the middle to late 1960's.
While this family was not a true integrated circuit, it was very successful and was less expensive than true
integrated circuits for several years.
By the early 1970's integrated circuits became quite common and DTL gave way to TTL which was more
appropriate to integrated circuit technology.
While DTL is no longer commercially used, we will discuss it because it is similar to and easier to understand
than TTL, and because designers still find the configuration of value.
First, however, we will discuss diode logic which is the front end of the DTL gate and performs the actual
logic operation.
Transistor–transistor logic (TTL) is a logic family built from bipolar junction transistors. Its
name signifies that transistors perform both the logic function (the first "transistor") and the
amplifying function (the second "transistor"), as opposed to resistor–transistor logic (RTL)
or diode–transistor logic (DTL).
TTL integrated circuits (ICs) were widely used in applications such as computers, industrial
controls, test equipment and instrumentation, consumer electronics, and synthesizers.
Sometimes TTL-compatible logic levels are not associated directly with TTL integrated
circuits, for example, they may be used at the inputs and outputs of electronic instruments.
After their introduction in integrated circuit form in 1963 by Sylvania Electric Products, TTL
integrated circuits were manufactured by several semiconductor companies. The 7400
series by Texas Instruments became particularly popular. TTL manufacturers offered a wide
range of logic gates, flip-flops, counters, and other circuits. Variations of the original TTL
circuit design offered higher speed or lower power dissipation to allow design optimization.
TTL devices were originally made in ceramic and plastic dual in-line package(s) and in flat-
pack form. Some TTL chips are now also made in surface-mount technology packages.
The ECL circuit operation is considered below with assumption that the
input voltage is applied to T1 base, while T2 input is unused or a logical
"0" is applied.
During the transition, the core of the circuit – the emitter-coupled pair (T1
and T3) – acts as a differential amplifier with single-ended input. The
"long-tail" current source (RE) sets the total current flowing through the
two legs of the pair.
The input voltage controls the current flowing through the transistors by
sharing it between the two legs, steering it all to one side when not near
the switching point.
The gain is higher than at the end states (see below) and the circuit
switches quickly.
The metal-oxide (SiO2)-semiconductor (Si) is the most common microelectronic structures nowadays. The two terminals of MOS-
Capacitor consist of the main structures in MOS devices and it is the simplest structure of MOS devices. Therefore, it's essential to
understand the mechanisms and characteristics of how MOS-C operates. The mechanisms under static biasing conditions can be
visualized from two diagrams.
Energy band diagram
Block-charge diagram
The characteristics of MOS-C can be visualized by C-V (Capacitance verses Voltage) curves.
Introduction
The principals of forming MOS structure are similar to the metal-semiconductor (MS) contact structures, but the MOS structure is like
sandwich structures which have a thin layer of silicon oxides in the middle between metal and semiconductor (Si) layer. Figure 1 below
shows a schematic of an ideal MOS-C device. For an ideal MOS-C structure, some properties should follow below.
The metallic gate should thick enough to be equipotential region, where every points has the same potential in the space, under a.c and d.c
biasing conditions. The oxides layer in the middle should be a perfect insulator with zero current flowing through under all static biasing
conditions. There should be no charge centers located on the oxide-semiconductor interface. The semiconductor should be uniformly doped
with donors or acceptors as p-type or n-type semiconductors. The semiconductor (Si) should be thick enough for charges to encounter a field
free region (Si bulk) before reaching the back contact. The Ohmic contacts should be established on the backside of the MOS device.
The schematic of an ideal MOS-C device
Energy Band and Block Charge Diagrams
CMOS HC/HCT 9 50 0.5 5 (2-6 or 4.5-5.5) 1982 HCT has TTL compatible levels
PMOS MEM 1000 300 1 9 -27 and -13 1967 Introduced by General Instrument
TTL G 1.5 1125 (1.125 GHz) 1.65 - 3.6 2004 First GHz 7400 series logic
TTL G 1.5 1125 (1.125 GHz) 1.65 - 3.6 2004 First GHz 7400 series logic
PMOS MEM 1000 300 1 9 -27 and -13 1967 Introduced by General Instrument