Are you sure?
This action might not be possible to undo. Are you sure you want to continue?
Nguyen Thanh Kien Department of Computer Engineering Faculty of Information Technology Hanoi University of Technology
About
Author: Nguyen Thanh Kien Office:
Department of Computer Engineering Faculty of Information Technology Hanoi University of Technology
Mobile: +84 983 588 135 Email: kienntfit@mail.hut.edu.vn thanhkien84@yahoo.com ftp://dce.hut.edu.vn/kiennt
Page 2
Content
1. Introduction 2. Function Minimization Methods 3. Larger Combinational Systems 4. Sequential Systems 5. Hardware Design Languages
Page 3
Acknowledge
The following materials are used as reference for this slide:
– “Logic Circuits” slide, Dr. Trinh Van Loan. – Introduction to Logic Design, 2nd Ed, Alan B. Marcovitz, Mc. Graw Hill,2005 – Foundation of Digital Logic Design, G.Langholz, A. Kandel, J. Mott, World Scientific, 1998
Page 4
Reference textbooks
Introduction to Logic Design, 2nd Ed,, Alan B, Marcovitz, Mc. Graw Hill,2005 Foundation of Digital Logic Design, G.Langholz, A. Kandel, J. Mott, World Scientific, 1998
Page 5
Grading policy Homework: 20% Lab work: 20% Midterm: 30% Final Exam (multichoice and writing): 30% Page 6 .
2.1.1. Review of Number Systems 1. Introduction 1. Switching Algebra and Logic Circuits Page 7 .
Chapter 1. Introduction Page 8 .
1.5 Binary Coded Decimal (BCD) 1.1.1. Review of Number Systems 1.1.2 Binary Addition 1.1.1.6 Other Codes Page 9 .1 Number Representation 1.4 Binary Subtraction 1.1.3 Signed Numbers 1.1.
1 Number Representation 1.5 Binary Coded Decimal (BCD) 1.1.4 Binary Subtraction 1.1.1.1.3 Signed Numbers 1.6 Other Codes Page 10 .1. Review of Number Systems 1.1.2 Binary Addition 1.1.1.
7 – Hexadecimal: b=16.D.6.1.4.3..C.8..F Page 11 .3.2.5.5..2.1.8.4..1.B.1.(b1) • 0 ≤ ai ≤ (b1) – Binary: b=2..E.A.4.7.a−1a− 2 .9 – Octal: b=8.7.1 – Decimal: b=10.6.a1a0 .5. digits:0.2.3.a− m – Base/radix: b (the number of digits) – Digits: 0.9.1. digits: 0.1. digits: 0. digits: 0.6. Number Representation Numbers are normally written using a positional number system: N (b ) = an an −1an − 2 .
+ a1.b 0 + a−1.b n + an −1.b i n i 11101.b1 + a0 .b n −1 + ..11(2) = 1x24+1x23+1x22+0x21+1x20+1x21+1x22= 29..b −1 + .1.a−1a− 2 . Number Representation N (b ) = an an −1an − 2 .a− m N (10 ) = an .. + a− m ......1.a1a0 .1.b − m N (10 ) = i =− m ∑ a .75(10) Page 12 .
9 Page 13 .a1a0 .1.45(10) = 5x102+3x101+9x100+4x101+5x102 ai = 0. Number Representation Decimal: – b=10 – Digits: 0.3.1.a−m – Eg: 539...5.2..1.9 N (10 ) = an an −1an − 2 .1.6.a−1a− 2 .4...8.7.
25 + 0.a−1a− 2 .011(2) = 11 + 0*21 + 1*22+1*23=11 + 0 + 0.125 Page 14 = 11.375(10) . Number Representation Binary: – b=2 – Digits: 0..1 N (10 ) = i =− m ∑ a .1 bit – binary digit N ( 2 ) = an an −1an −2 .1.a−m – Eg: ai = 0.a1a0 .2 i n i 1011...1..1.
1.a1a0 from 0 to 2n1 – MSB – Most Significant Bit – LSB – Least Significant Bit 0001 = 1 0010 = 2 0011 = 3 0100 = 4 0101 = 5 0110 = 6 0111 = 7 1000 = 8 Page 15 1001 = 9 1010 = 10 1011 = 11 1100 = 12 1101 = 13 1110 = 14 1111 = 15 . Number Representation Binary (cnt’) – nbit binary number can represent which range? • an1.1..1..
F – Digits: 0.4.5..1.A..B..6.7 – Eg: 503...071(8) = 5x82 + 0x81 + 3x80 + 0x81 + 7x82 + 1x83 ai = 0.1.7 N (8) = an an −1.C.8.2.D.a−1a− 2 .E..4.3.F 1010 0011(2)= A3(16) Page 16 503.a− m Hexadecimal: – b=16 – Eg: N (16 ) = an an −1..071(16) = 5x162 + 0x161 + 3x160 + 0x161 + 7x162 + 1x163 ..a1a0 ..1.a1a0 .2.a− m ai = 0.7.1. Number Representation Octal: – b=8 – Digits: 0.9.1.6.3.5.a−1a− 2 ..
Convert from base b to base 10 Base b to base 10 conversion N (b ) = an an −1an − 2 ..b 0 + a−1.b −1 + .a− m Eg:0 N (10 ) = an ....125+0.b n −1 + .11(8)= 0*80+1*81+0*82+1*83 + 1*81 +1*82 = 0+8+0+512+0.a1a0 . + a1.75 – 1010.b1 + a0 .11(2)= 10...b − m – 1010..015625 Page 17 – A12(16)= 10572 = 2*160 + 1*161 + 10*162 = .a−1a− 2 . + a− m ..b n + an −1.
011(8)=?(10) 110.011(16)=?(10) 6.375 72. Page 18 .110.039..0175 272.011(2)=?(10) 110..
– For the odd part after “.Convert from base 10 to base b Base 10 to base b conversion – For integer part: • Divide integer part by b until the result is 0 • Write remainders in reverse order to get the converted result.” • Multiply by b until the result is 0 Page 19 .
5 • 0.75(10) = ?(2) Page 20 .625 x 2 = 1.25 x 2 = 0.625(10) = 110.Convert from base 10 to base 2 Eg1: 6.0 6.5 x 2 = 1.” • 0.101(2) Eg2: 20.25 • 0.625(10) = ?(2) – The integer part 6 0 2 3 1 2 1 1 2 0 – The odd part after “.
75(10) = ?(2) 10100.0 Page 21 .75 * 2 = 1.5 0.5 * 2 = 1.11(2) 20 2 0 10 0 2 5 2 0 1 1 2 0 1 2 2 0. 20.
20.11(2) = 24.75(10)=?(8) =10100.6(8) 20 8 4 2 2 8 0 0.0 Page 22 .75 * 8 = 6.
C(16) .110(2)=12.110(2)=A.Convert from base 2 to base 2n Group from right to left nbit groups and replace the equivalent values in base 2n Eg: 101011(2) = ?(8) 101011(2) = ?(16) Page 23 1010.6(8) 1010.
Eg: 37A.B(16)=?(2) = 0011 0111 1010 . 1011(2) Page 24 .Convert from base 2n to base 2 Each digit in base 2n is replaced by n bit in base 2.
use base 2 as an intermediate base: – Eg: base 8 → base 2 → base 16 – 735.37(8)= 000111011101.01111100(2) = 1DD. use base 10 as an intermediate base: – Eg: base 5 → base 10 → base 2 Page 25 .Convert from base i to base j If both i and j are powers of 2.7C ?(16) Else.
1. Review of Number Systems 1.1.1.3 Signed Numbers 1.5 Binary Coded Decimal (BCD) 1.1.1 Number Representation 1.4 Binary Subtraction 1.1.1.2 Binary Addition 1.1.6 Other Codes Page 26 .1.
carry A B sum decimal binary 110 11110 2565 6754 9319 10110 11011 110001 Eg: 10101(2) + 11011(2) = 110000 ? (2) Page 27 .2 Binary Addition Binary long addition similar to decimal long addition.1.1.
2 Binary Addition Overflow: – Occur when the result of addition is out of range of representation (the result can not be stored in the predefined number of bits) – In 8bit computer. the result of addition of two binary numbers 10101010 and 11010011 is 9bit binary number which can not be stored in 8bit => overflow Page 28 .1.1.
.b1b0 Page 29 .1.1...a1a0 B = bn1bn2..2 Binary Addition nbit adder in computer: A = an1an2.
1.1.1.5 Binary Coded Decimal (BCD) 1.1.1. Review of Number Systems 1.3 Signed Numbers 1.2 Binary Addition 1.1.6 Other Codes Page 30 .4 Binary Subtraction 1.1.1.1 Number Representation 1.
1. 1: negative Eg: represent signed numbers using 4 bit: – +5 = 0101. 5 = 1101.1.3 Signed Numbers Represent sign and amplitude Use the mostleftbit to represent sign: – 0: positive. 3 = 1011 – Using 3 right bits to represent amplitude. – Drawbacks: • +0 = 0000. we can represent from 7 to +7. 0 = 1000 => complex when calculating Page 31 => need an other representation .
– 3 is stored as 283=11111101 in a 8bit system – The most negative number can be stored is 2n1 Page 32 .2’s complement representation Most left bit is still sign bit Positive and 0 numbers are expressed in usual binary format. – The largest number can be represented is 2n11 – n=8 => largest signed number: 2811 = 127 Negative number a is stored as the binary equivalent of 2na in a nbit system.
10 = 2810 = 1 0000 0000 – 0000 1010 1111 0110 .10 = 1111 0110 +10 + (10) = ? 0000 1010 Page 33 1111 0110 1 0000 0000 .2’s complement representation +10 = 0000 1010 .
1=>0) – Add 1 Eg: find representation of 13 in 8bit signed number system using 2’s complement: • Magnitude: • Complement: • Add 1: • 13 = Page 34 13 = 0000 1101 1111 0010 + 1 1111 0011 .2’s complement representation Procedure to find binary representation of negative number in 2’s complement: – Find the binary equivalent of the magnitude – Complement each bit (0=>1.
2’s complement representation Range of representation: – Use n bit to represent 2’s complement numbers – Range: 2n1 => 2n11 Page 35 .
4 bit representation of unsigned and signed (2’s complement) Binary format 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 Page 36 Unsigned 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Signed 0 +1 +2 +3 +4 +5 +6 +7 8 7 6 5 4 3 2 1 1111 .
2’s complement representation To find the magnitude of a negative number: – Complement each bit – Add 1 Eg: 1001 0110(2) = 106? 0110 1001 + 1 = 106 01101010 Page 37 .
5 1011 +7 0111 +2 0010 Page 38 5 1011 5 +3 2 1011 0011 1110 +5 0101 0 0000 . To add any two numbers. we just do binary addition on their representation. no matter what the sign of each is.Addition of signed numbers The reason that 2’s complement is so popular is the simplicity of addition.
Addition of signed numbers Overflow – Occur when? – Add two numbers of the opposite sign? – Add two positive numbers? – Add two negative numbers? maybe ⇒Overflow occurs when adding two numbers with the same sign and the result is in different sign 0110 0101 = 101 + 0101 0010 = 82 Page 39 1011 0111 .
6 Other Codes Page 40 .1.2 Binary Addition 1.1.1.1.1.4 Binary Subtraction 1.1.5 Binary Coded Decimal (BCD) 1.1. Review of Number Systems 1.3 Signed Numbers 1.1 Number Representation 1.1.
then add.4 Binary Subtraction Find the 2’s complement of the second operand.1. a – b = a + (b) Eg: 7 – 5 = ? 5 0101 1010 + 1 7 5 2 0111 +1011 0010 5 1011 Page 41 .1.
1.1.4 Binary Subtraction 1.1.1.2 Binary Addition 1.1.3 Signed Numbers 1.1. Review of Number Systems 1.1.1 Number Representation 1.1.6 Other Codes Page 42 .5 Binary Coded Decimal (BCD) 1.
BinaryCoded Decimal .BCD BCD: – Use four bits (a nibble) to represent each of the decimal digits 0 through 9. – Eg: 375 = 0011 0111 0101(BCD) Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Binary 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0001 0000 0001 0001 0001 0010 0001 0011 0001 0100 0001 0101 Page 43 15 .
1.3 Signed Numbers 1.5 Binary Coded Decimal (BCD) 1.1.6 Other Codes Page 44 .1.1 Number Representation 1.1.2 Binary Addition 1.4 Binary Subtraction 1.1. Review of Number Systems 1.1.1.1.
ASCII Use seven bits to represent various characters on the standard keyboard as well as a number of control signal Page 45 .ASCII American Standard Code for Information Interchange .
Page 46 .
Represent the following signed numbers: a.011(2)=?(10) 6A1. 74 in 8bit signed 2’s complement. 74 in 16bit signed 2’s complement.625(10)=?(2) 11011. b. Convert the following unsigned numbers: 98. Page 47 .1E(16)=?(8) 2.Problems 1.
1. Switching Algebra and Logic Circuits Page 48 .1.2. Review of Number Systems 1. Introduction 1.
NOR.5 Implementation of Functions with AND.2.1 Definition of Switching Algebra 1.1.2.2. NAND. OR.4 Representations of Algebraic Functions 1.2.2 Basic Properties of Switching Algebra 1.3 Manipulation of Algebraic Functions 1. XOR Gates Page 49 .2. NOT.2. Switching Algebra and Logic Circuits 1.
OR.2 Basic Properties of Switching Algebra 1. NOT.1.4 Implementation of Functions with AND.2.1 Definition of Switching Algebra 1. XOR Gates Page 50 . NOR. NAND.2.3 Representations of Algebraic Functions 1.2.2.2.3 Manipulation of Algebraic Functions 1.2. Switching Algebra and Logic Circuits 1.
switch: up/down. – Three operators: • OR: • AND: • NOT: a+b a. voltage: low/high..2..1.1 Definition of Switching Algebra Switching algebra is binary: – All variables and constant take on 0 or 1.b a’ Page 51 . – Quantities which are not naturally binary must be coded into binary format. • Light on/off.
NOR.1. OR. Switching Algebra and Logic Circuits 1.2. XOR Gates Page 52 . NAND.2.3 Manipulation of Algebraic Functions 1.2 Basic Properties of Switching Algebra 1. NOT.2.4 Implementation of Functions with AND.1 Definition of Switching Algebra 1.2.2.2.3 Representations of Algebraic Functions 1.
(b.1=a P4: • a+1=1 a.a P2: Associative: • a + (b + c) = (a + b) + c a.0=0 Page 53 .Basic Properties of Switching Algebra P1: Commutative: • a+b=b+a a.b).c) = (a.b = b.c P3: • a+0=a a.
c Page 54 a + b.a=a (a)n=a P6: no coefficient and no exponent P7: complement • (a’)’ = a P8: distributive: • a.c = (a+b). a’ = 0 a.b + a.Basic Properties of Switching Algebra P5: • a + a’ = 1 • a+a=a • n.(a+c) .(b+c) = a.a=a a .
Basic Properties of Switching Algebra Basic Properties of Switching Algebra P9: adjacency • ab + ab’ = a (a+b)(a+b’)=a P10: • a + a’b = a +b a(a’+b) = ab P11: De Morgan • (a + b)’ = a’b’ (ab)’ = a’ + b’ P12: absorption • a + ab = a a(a+b) = a Page 55 .
Basic Properties of Switching Algebra P13: redundant • ab+b’c+ac = ab+b’c A B C Page 56 .
Prove the following equalities: a. xy+xz’+yz=xy+x’z => prove it incorrect c. xy’+y=x+y b. (x+y)[x’(y’+z’)]’+x’y’+x’z’ = 1 Page 57 .Problems 1. x’y’z+yz+xz=z d.
OR.2.2.5 Implementation of Functions with AND.2.1 Definition of Switching Algebra 1.4 Representations of Algebraic Functions 1. NOT.3 Manipulation of Algebraic Functions 1. Switching Algebra and Logic Circuits 1. NOR.2.2. NAND. XOR Gates Page 58 .2.1.2 Basic Properties of Switching Algebra 1.
Manipulation of Algebraic Functions A literal: – Is the appearance of a variable or its complement – Eg: x and x’ are two different literals – Expression ab’+bc’d+a’d+e’ has 8 literals A product term: – Is one or more literal connected by AND operators – Expression ab’+bc’d+a’d+e’has 4 product terms – Note: A single literal is also a product term Page 59 .
either uncomplemented or complemented.Manipulation of Algebraic Functions Manipulation of Algebraic Functions A standard product term .d: • the product term a’bc’d is a standard product term • the product term a’bd’ is not Page 60 . – Eg: for a function of four variables a.b.c.minterm: – Is a product term which includes every variable of the function.
Manipulation of Algebraic Functions Manipulation of Algebraic Functions A sum of product .c: • ab’c + abc’ + abc is a canonical sum • ab’c + abc’ + a is not Page 61 .b.SOP: – Eg: – Is one or more product terms connected by OR operators ab’c+abc’+a’c+a’ »d A canonical sum – sum of standard product term – Is a sum of products expression where all terms are standard product terms. – Eg: A function of three variables a.
z) = x’y+xy’+xz • F4(x.z) = x’yz’+x’yz+ xy’z’+xy’z+xyz • F2(x.z) = x’y+xy’+xyz • F3(x.F4 are minimum SOP of F1 .y.Manipulation of Algebraic Functions Manipulation of Algebraic Functions A minimum sum of products: – Is one of those SOP expression for a function that has the fewest number of product terms.y.y. – If there is more than one expression with fewest number of terms.y. then minimum is defined as one or more of those expressions with the fewest number of literals.z) = x’y+xy’+yz Page 62 F3. – Eg: • F1(x.
Manipulation of Algebraic Functions Manipulation of Algebraic Functions A sum term: – Is one or more literals connected by OR operators – Eg: • a + b’ + c’ • b’ A standard sum term .y.maxterm: – Is a sum term that includes each variable of the problem.z. either uncomplemented or complemented – Eg: For a function of four variables x.t • x+y+z’+t’ is a maxterm • x+y+t’ is not Page 63 .
Manipulation of Algebraic Functions Manipulation of Algebraic Functions A product of sum – POS: – Eg: – Is one or more sum terms connected by AND • (w+x’+y’)(w+y+z’)(w+x+z) •w A canonical product – product of standard sum terms: – Is a product of sum term where all sum terms are standard Page 64 .
Manipulation of Algebraic Functions Manipulation of Algebraic Functions – fewest number of terms – the same number of terms => fewest number of literals A minimum POS is defined the same way as SOP: Page 65 .
Canonical forms Threevariable minterm and Maxterm Decimal 0 1 2 3 4 5 6 7 x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 minterm x’y’z’ x’y’z x'yz’ x'yz xy’z’ xy'z xyz' xyz (m0) (m1) (m2) (m3) (m4) (m5) (m6) (m7) Maxterm x+y+z x+y+z’ x+y’+z x+y’+z’ x’+y+z x'+y+z’ x'+y’+z x'+y’+z’ (M0) (M1) (M2) (M3) (M4) (M5) (M6) (M7) Page 66 .
Canonical forms Properties of minterm/Maxterm: – mimj=0 if i≠j =mi if i=j – Mi+Mj=1 = Mi if i≠j if i=j – mi=Mi’ and Mi=mi’ for every i Page 67 .
Page 68 . – By multiplying (ANDing) those maxterm for which the function takes a value 0.Canonical forms An algebraic expression of a Boolean function can be derived from a given truth table in two ways: – By summing (ORing) those minterm for which the function takes a value 1.
4.7) Canonical sumofproducts (SOP) f(x2.x0)=M0M2M3 = Π(0.3) Canonical productofsums (POS) Page 69 .6.x0)=m1+m4+m5+m6+m7 =Σ(1.5.2.x1.x1.Canonical forms Decimal x2 0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1 x1 0 0 1 1 0 0 1 1 x0 0 1 0 1 0 1 0 1 f 0 1 0 0 1 1 1 1 f(x2.
c)= abc’+a’b’ Decimal 0 1 2 3 4 5 6 7 a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 f 1 1 0 0 0 0 1 0 F(a.b.c)=m0+m1+m6 – ∑(0.1.6) Page 70 .F(a.b.
NAND. NOR.1 Definition of Switching Algebra 1. XOR Gates Page 71 .3 Manipulation of Algebraic Functions 1.2 Basic Properties of Switching Algebra 1.2.4 Representations of Algebraic Functions 1. Switching Algebra and Logic Circuits 1.2.2.2. OR. NOT.1.2.2.5 Implementation of Functions with AND.
4 Representations of Algebraic Functions Truth table Venn diagram Karnaugh map Page 72 .2.1.
Truth table List all the possible binary combinations of the independent variables and display the corresponding binary values of dependant variables. Page 73 .
Truth table n independent variables and m dependant functions: 2n rows n+m columns 3 independent variables 2 dependent functions 23 rows Page 74 .
B A B C F(A.B.B)=A.C)=C.Venn diagram Venn diagram using ‘space’ to present logic F(A.not(B) Page 75 .
B Page 76 A+B .Venn diagram A A A+B A.B A.
Kmap may be used for any variables number.Karnaugh map A Karnaugh map is a graphical method for representing the true table of a Boolean function. C BC A AB 0 0 1 1 00 0 1 Page 77 01 0 1 11 3 10 2 00 01 11 10 2 3 4 5 7 6 6 7 4 5 . but often at most six.
BC A 00 0 1 0 01 1 11 3 10 2 4 5 7 6 Page 78 . 2n cells are arranged in logical pattern for minimization purpose.Karnaugh map (Kmap) If variables number is n => 2n cells in Kmap.
Twovariable Kmap F(A.B) B A 0 0 1 1 A B 0 0 1 2 0 1 0 1 2 3 1 3 Page 79 .
Twovariable Kmap F(A.B) = AB B A 0 0 1 0 0 1 0 1 Page 80 .
B.Threevariable Kmap F(A.C) C AB BC A 0 0 1 1 00 0 1 0 01 1 11 3 10 2 00 01 11 2 3 6 7 4 5 7 6 10 Page 81 4 5 .
Threevariable Kmap F(x.y.z) = xyz + yz’ + x x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 F 0 0 1 0 1 1 1 1 x yz xy z 0 0 1 1 1 1 0 0 1 1 00 0 1 0 1 01 0 1 11 0 1 10 1 00 01 1 11 10 Page 82 .
C.B.Fourvariable Kmap F(A.D) CD AB 00 00 01 11 10 01 11 10 Page 83 .
Fourvariable Kmap
F(A,B,C,D) = AB + CD’ + BCD
CD AB
00 00 01 11 10
0 0 1 0
01
0 0 1 0
11
0 1 1 0
10
1 1 1 1
Page 84
Fivevariable Kmap
E
0
1
CD 00 01 11 10 CD 00 01 11 10 AB AB 00 00 01 01 11 11 10 10 5 variables Karnaugh Map consists of two 4 variables Karnaugh Map connected up/down.
Page 85
Sixvariable Kmap
E
F
0
1 CD 00 01 11 10 AB 00 1 1 01 11 1 1 10 1 1 CD 00 01 11 10 AB 00 1 1 01 11 1 1 10 1 1
CD 00 01 11 10 AB 00 1 1 0 01 1 1 11 1 1 10 CD 00 01 11 10 AB 00 1 1 1 01 1 1 11 1 1 10
Page 86
Karnaugh map with don’t care
CD AB 00 01 11 10
00
01
11 1
10 1
1 −
1 − − − − −
don’t care ~ input conditions that not occur
Page 87
1.2. Switching Algebra and Logic Circuits
1.2.1 Definition of Switching Algebra 1.2.2 Basic Properties of Switching Algebra 1.2.3 Manipulation of Algebraic Functions 1.2.4 Representations of Algebraic Functions 1.2.5 Implementation of Functions with AND, OR, NOT, NAND, NOR, XOR Gates
Page 88
Basic logic gates AND OR NOT A 0 0 1 1 B 0 1 0 1 out 0 0 0 1 A 0 0 1 1 B 0 1 0 1 out 0 1 1 1 A 0 1 out 1 0 Page 89 .
Basic logic gates NAND NOR XOR A 0 0 1 1 Page 90 B 0 1 0 1 out 1 1 1 0 A 0 0 1 1 B 0 1 0 1 out 1 0 0 0 A 0 0 1 1 B 0 1 0 1 out 0 1 1 0 .
OR Assume all inputs are available in uncomplemented and complemented F2 = x’y+xy’+xz Page 91 F1 = x’yz’+x’yz+xy’z’+xy’z+xyz .Implementation of Functions with AND.
Implementation of Functions with AND. OR. NOT Complemented inputs can be produced using inverters NOT: X Y F Z Page 92 .
Multilevel circuits A circuit is called nlevel circuit if the maximum number of gates through which one signal must pass from input to output twolevel circuit Page 93 threelevel circuit .
B B (A’. every expression can be represented using only NAND gates.B’)’ =A+B B Page 94 AND .Implementation of Functions with NAND Using equivalent change steps. OR A NOT A A.
b.c) = ab + bc’ + b’ = ab + bc + b = ab + bc + b = ab.bc.b Page 95 .Implementation of Functions with NAND Represent the following expression using only NAND: – F(a.
B 7402N B' 7402N A U3A A) A' 7402N ( A+ ' = U10A U11A Page 96 7402N 7402N . U8A A' A 7402N U9A U7A ( A' + ) ' = B B' A. every expression can be represented using only NOR gates.Implementation of Functions with NOR Using equivalent change steps.
b.Implementation of Functions with NOR Represent the following expression using only NOR: – F(a.c) = ab + bc’ + b’ Page 97 .
Chapter 2. Logic Function Minimization Methods Page 98 .
2 The Karnaugh Map Method 2.2.3 QuineMcCluskey Method Page 99 . Function Minimization Methods 2.1 Algebraic Method 2.
2. Function Minimization Methods What is minimization? – Number of operands is minimal and number of literal in each operand is minimal Why minimization needed? – Minimize electronic components used to construct the circuit to implement that expression Page 100 .
2 The Karnaugh Map Method 2. Function Minimization Methods 2.1 Algebraic Method 2.3 QuineMcCluskey Method Page 101 .2.
2. Algebraic Method Use algebraic properties to minimize expressions Drawback: – Heuristic.1. depending on experience – no formal method/procedure – Manually – Not sure whether the last expression is minimal or not Page 102 .
Algebraic Method Eg: Minimize these expressions using algebraic method: – F0(x.B.z)=xyz+x’yz+xy’z+xyz’ – F1(a.d)=ab+abc+a’cd+a’c’d+a’bcd’ – F2(A.1.d)=(a+b’+c)(a+c’)(a’+b’+c)(a+c+d) Page 103 .2.D)= ( A + BC ) + A.b.b.c.c.y.z)=(x+y)(x+y+z’)+y’ – F4(a.C.( B + C )( AD + C ) – F3(x.y.
Function Minimization Methods 2.3 QuineMcCluskey Method Page 104 .2 The Karnaugh Map Method 2.1 Algebraic Method 2.2.
2. Product of Sums 4. Multiple Output Problems Page 105 .2 The Karnaugh Map Method 1.and SixVariable Maps 6. Don’t Cares 3. Minimum Cost Gate Implementation 5. Five. Minimum Sum of Product Expressions Using the Karnaugh Map 2.
Prime Implicant An implicant of a function is a product term that can be used in a SOP CD AB 00 00 01 11 10 1 1 01 11 1 1 10 Implicants of F Minterm A’B’C’D’ A’B’CD A’BCD ABC’D’ ABCD’ ABC’D ABCD Groups of 2 A’CD BCD ABC’ ABD ABC ABD’ Groups of 4 AB 1 1 1 Page 106 .Implicant.
Implicant. CD AB CD 00 01 11 1 1 1 1 1 1 1 1 1 BC B D * 10 1 00 01 11 10 1 B D* AD Page 107 AB . Prime Implicant A prime Implicant is an implicant which can not be contained in any other implicants.
CD AB CD 00 01 11 1 1 1 1 1 1 1 1 1 BC B D minterm 0 is only contained in PI B’D’ minterm 5 is only contained in PI BD => BD & B’D’ are two Essential PI * 10 1 00 01 11 10 1 B D* AD Page 108 AB .Essential Prime Implicant Essential PI is a PI which contains at least one minterm which is not contained in other PI.
Number of cells is 2n. – Rule 3: Each group will be a part of result.1 Minimum Sum of Product Expressions Rules to minimize using Kmap: – Rule 1: Fill Kmap cells with corresponding values – Rule 2: Group adjacent cells whose values are 1. Variables in each group will be excluded: 2n cells => exclude n variables.2.2. Page 109 .
Number of cells is 2n.1 Minimum Sum of Product Expressions Step 2: Group adjacent cells whose values are 1.2.2. CD AB CD 00 00 01 11 10 01 11 10 AB 00 00 01 1 11 1 10 1 1 01 11 10 1 1 1 1 1 1 1 1 1 1 Page 110 .
D) = A’BC’ + AC 1 1 22 cells => eliminate 2 variables 1 1 Page 111 .C. CD AB 00 00 01 11 10 1 01 11 10 21 cells => eliminate 1 variable 1 F(A.1 Minimum Sum of Product Expressions Step 3: Each group will be a part of result.2. Variables in each group will be excluded: 2n cells => exclude n variables.B.2.
5.6.14. F(A.14) Page 112 .C.11.2.9.9.2.8.C.11.15) – e.B.5.5.13.14) – b.3.4.5.13.13.D)=R(1.6.3. F(A.B. F(A.1 Minimum Sum of Product Expressions Example 1: Minimize these functions using Kmap: – a.4.7.D) = R(2.15) – c. F(A.3.13) – d.14.B.D) = R(1.B.C.D) = R(0.D)= R(1.B.9.C.2.9. F(A.4.12.C.6.9.12.7.
2.5. F(A.C.9.14) = BC’D + AB’D + BCD’ + A’B’D’ CD AB 00 00 01 11 10 1 01 11 10 1 1 1 1 1 1 1 Page 113 .– a.D) = R(0.B.11.6.13.
12.B.14) = B’D + BD’ CD AB 00 00 01 11 10 1 1 01 1 11 1 10 1 1 1 1 Page 114 .9.4. F(A.C.– b.11.6.3.D) = R(1.
2.2 The Karnaugh Map
1. Minimum Sum of Product Expressions Using the Karnaugh Map 2. Don’t Cares 3. Product of Sums 4. Minimum Cost Gate Implementation 5. Five and SixVariable Maps 6. Multiple Output Problems
Page 115
2.2.2 Don’t care
If the function has don’t care values in cells:
– Cells with don’t care values can be grouped with ‘1’ cells – Do not group only don’t care cells in one group.
CD AB 00 01 11 10 1 − 1 − − − − − 00 01 11 1 10 1
F ( A, B, C , D) = BC + BC
Page 116
Examples:
F(a,b,c,d)=R(1,3,5,7,12,13) don’t care (0,4,10,15)
CD AB
00 00 01 11 10

01
1
11
1
10

1
1
1
1


Page 117
2. Function Minimization Methods
2.1 Algebraic Method 2.2 The Karnaugh Map Method 2.3 QuineMcCluskey Method
Page 118
2.3 QuineMcCluskey Method
1. QuineMcCluskey Method for One Output 2. Iterated Consensus for One Output 3. Prime Implicant Tables for One Output 4. QuineMcCluskey for Multiple Output Problems 5. Iterated Consensus for Multiple Output Problems 6. Prime Implicant Tables for Multiple Output Problems
Page 119
QuineMcCluskey method has no limitation with number of variables. QuineMcluskey method Karnaugh map cannot handle more than 6 variables.2. ABC+ABC+ABC+ABC+ABC AB 00 01 11 10 Page 120 C 0 1 1 1 1 1 1 010 *10 110 11* 111 1*0 1** 100 1*1 101 10* find a pair of numbers of 1 bit difference . and is suitable for computer algorithm.3.
QuineMcluskey Procedure 1: Represent minterms in binary numbers 2: Group each minterm by the number of ‘1’ appearance 3: Make set of 1 bit different numbers between neighboring group • write the difference within parenthesis • mark * to the number which is not included in a set 4: Make set of 1 bit different sets with the same number in a parenthesis • append the difference to parenthesis • mark + to the set which is not included in a set 5: Iterate these step until all the generated set is marked * 6: Select prime implicants Page 7:121 Convert to logic variable .
14.8.E.12.B.7.C.41.15.2.10) f = 000000+000010+000110+000111+001110 +001000+101001+001100+001111+001010 Page 122 .F)=Σ(0. Represent minterms in binary numbers f = ABCDEF+ABCDEF+ABCDEF+ABCDEF+ABCDEF +ABCDEF+ABCDEF +ABCDEF+ABCDEF+ABCDEF f(A.S1.6.D.
S2. Grouping f = 000000+000010+000110+000111+001110 +001000+101001+001100+001111+001010 group each term by the appearance of 1 group 0 group 1 group 2 group 3 group 4 no times 000000 once 000010 001000 twice 000110 001100 001010 three times 000111 001110 101001 four times 001111 Page 123 .
6(4) 2.2 (2) 0.15(1) find a pair of 1 bit difference between neighboring group write difference within ( ) group 2 group 3 mark to the number not included in any set group 4 Page 124 .12(4) 6.14(4) 12. Making set (1) group 0 group 1 000000 000010 001000 000110 001010 001100 000111 001110 101001 001111 0 2 8 6 10 12 7 14 41 15 0.10(8) 8.10(2) 8.14(8) 10.S3 & S4.7(1) 6.14(2) 7.8 (8) 2.15(8) 14.
Making set (2) 0.8.8) when all the set is marked finish .15(1.14(2.6.8 (8) 2.10(2) 8.15(1) 0.14.14(2) 7.14(8) 10.S3 & S4.7(1) 6.8) 8.14(4.7.10(2.14(4) 12.10.2 (2) 0.12.12(4) 6.2.10(8) 8.6(4) 2.8) find a pair of 1 bit different sets with the same value in ( ) between neighboring group append difference within ( ) Each pair appears in duplicate 2.4) mark to the set not involved in the next level set 6.15(8) Page 125 14.10.
7.6.8.14(2.4) 6.10.8) 2. then the row is inevitable implicant .14(4.8) x 2 x x 6 x x 7 8 x 10 12 14 15 41 x x x x x x x x x x x write x into the position where minterm is included in the prime implicant inevitable implicant If only one x in a column.8) 8.2.10(2. Selecting Prime Implicants (1) minterms (given at first) Prime implicant （ marked ） Page 126 0 41 0.15(1.14.12.10.S6.
2.10(2.14(2.12.10.7.8) 2.4) 6.6.8) 8.14. Selecting Prime Implicants (2) mini term 0 41 0.15(1.S6.8.8) x 2 x x 6 x x x 7 8 10 12 14 15 41 x x x x x x x x x x x prime implicants Page 127 mark minterms involved in the inevitable implicants inevitable implicants .10.14(4.
2.14(2.4) ABCF 6.8) 8.S7.10(2.14.12.7.8) Page 128 ABDE .8.15(1. Conversion to logic variables 41 101001 000000 000010 001000 001010 001000 001010 001100 001110 000110 000111 001110 001111 ABCDEF ABDF F=ABCDEF +ABDF +ABCF +ABDE 0.10.
e.46.25.53.54.61) Page 129 .f) = ∑(17.49.b. d. c. F(a.Examples: Minimize the following functions using QuineMcluskey method: – a. f) = ab d ef + abce f + bcd f + ab d e f – b.21.45.52.47. F(a. 44.d. e. b.47.29.55.c.
remove from A 4: Apply QuineMcCluskey method for A and B 5: Be careful not to include B in selecting prime implicants Page 130 .QuineMcluskey method with don’t care 1: Represent logic function in sum of mini terms ==>A 2: Represent don’t care in sum of mini terms ==>B 3: If there exist duplication in A and B.
15(4.8) 5.5(4) 2.3.7(4) 3.13.15(4) 13.3(2) 1.2) 1.3(1.7(2) 5.QuineMcluskey method with don’t care f=ABCD+BCD+ACD+ABCD+ABCD don’t care AD mini term decimal ABCD 0 0000 1 0001 2 0010 3 0011 5 0101 7 0111 11 1011 13 1101 15 1111 Page 131 first comparison second comparison 0.5.15(2.2.13(8) 7.1(1) 0.2(2) 0.7.1.15(2) .8) 5.3(1) 1.7(2.11(8) 3.4) 3.15(8) 11.7.11.
2.8) 5.4) 3.7(2.2) 1.5.3(1.7.7.11.15(4.15(2.3.1.13.QuineMcluskey method with don’t care 0.8) 0 x 2 x 11 13 15 ABCD x x x x 00** 0**1 **11 *1*1 f=AB+CD+BD Page 132 .
Larger Combinational Systems Page 133 .Chapter 3.
Introduction Logic circuits are divided into two classes: – Combinational logic circuits • Output signals only depend on current input signals • Memoryless circuits – Sequential logic circuits • Output signals not only depend on current input signals. but also depend on those input signals in the past • Memory circuits Page 134 .
7 ThreeState Gates 3.6 Demultiplexers 3.4 Encoders 3.5 Multiplexers 3.2 Adders and Other Arithmetic Circuits 3.1 Delay in Combinational Logic Circuits 3.3. PLAs and PALs 3.9 Larger Examples Page 135 . Larger Combinational Systems 3.8 Gate ArraysROMs.3 Decoders 3.
the output of that gate doesn’t change immediately.1 Delay in Combinational Logic Circuits Delay through logic gates – When the input to a gate changes. – The output is stable after the longest delay path A B C X F Page 136 . but there is a small delay Δ.3.
Larger Combinational Systems 3.4 Encoders 3.8 Gate ArraysROMs. PLAs and PALs 3.2 Adders and Other Arithmetic Circuits 3.3 Decoders 3.9 Larger Examples Page 137 .5 Multiplexers 3.7 ThreeState Gates 3.1 Delay in Combinational Logic Circuits 3.6 Demultiplexers 3.3.
Half Adder a 0 a b HA b 0 1 0 1 Σ 0 1 1 0 r 0 0 0 1 Σ=a ⊕ b r = ab Σ (Result) r (Carryout) 0 1 1 a =1 Half Adder Σ b & r Page 138 .
Addition of two nbit numbers r3 A= +B = r4 a3 b3 Σ3 r3 r2 a2 b2 Σ2 r2 r1 a1 b1 Σ1 r0 a0 b0 r1 Σ 0 Summation Page 139 Σ4 Σ3 Σ2 Σ1 Σ0 .
Full Adder Σi 00 0 01 11 10 ai ri bi FA Σi ri aibi ri+1 1 1 ai 0 0 0 0 1 1 1 1 Page 140 bi 0 0 1 1 0 0 1 1 ri 0 1 0 1 0 1 0 1 Σi 0 1 1 0 1 0 0 1 ri+1 1 1 1 0 0 0 1 0 1 1 1 1 1 aibi ri ri+1 00 0 01 11 10 1 1 1 Σi = ai ⊕ bi ⊕ ri ri+1 = ai bi + ri (ai ⊕ bi) .
– S2: Construct truth table – S3: For each output. – S4: Draw the circuit.Combinational logic circuit design procedure Problems: design a combinational logic circuit to do smth. Page 141 . using Kmap to minimize from truth table. outputs and relations. Design procedure: – S1: Find inputs.
the number of bit of M is selected properly. N is 3bit binary number.Example 1 Problem: Design a combinational logic circuit to implement this operation: M=N+3. Solution: – S1: three inputs: n2n1n0 four outputs: m3m2m1m0 Page 142 .
Example 1 S1: three inputs: n2n1n0 four outputs: m3m2m1m0 S2: truth table n2 n1 n0 m0 1 0 1 0 1 0 1 0 1 0 1 1 1 n2 0 0 0 0 0 m3 m2 m1 m0 n2 0 0 0 0 1 1 1 1 Page 143 n1 0 0 1 1 0 0 1 1 n0 0 1 0 1 0 1 0 1 m3 0 0 0 0 0 1 1 1 m2 0 1 1 1 1 0 0 0 m1 1 0 0 1 1 0 0 1 S3: m3 = n2n0 + n2n1 n1n0 00 01 11 10 .
b0 Ex2 Page 144 .b2.a0 • Outputs: b3.Example 2 Problem: design a combinational logic circuit to calculate square of a 2bit binary number. Solution: – Step1: find inputs.b1. outputs • Inputs: a1.
a0 • b2 = a1.Example 2 – Step 2: truth table a1 0 0 1 1 a0 0 1 0 1 b3 0 0 0 1 b2 0 0 1 0 b1 0 0 0 0 b0 0 1 0 1 – Step3: using Kmap to minimize outputs • b3 = a1.a0’ b1 = 0 b0 = a0 Page 145 .
5 V X3 2.a0 • b2 = a1.5 V X2 2.Example 2 – Step 4: Draw circuit • b3 = a1.a0’ b1 = 0 b0 = a0 X1 2.5 V b3 U1A J1 a1 V1Key = A 5V R1 100 7408N U1B b2 b1 b0 a0 7408N U2A J2 V2Key = B 12 V 7404N R2 100 Page 146 .5 V X4 2.
Full Adder ri ai bi & & ≥1 =1 =1 Σi ri+1 Page 147 .
Full Adder ri ai bi HA & =1 =1 Σi HA & ≥1 ri+1 Page 148 .
.a1a0 ..b1b0 an1 bn1 an2 bn2 rn1 rn2 FA a1 b1 r1 a0 b0 r 0= 0 FA FA rn FA r2 Σn Page 149 Σ n1 Σ n2 Σ1 Σ0 Delay = n x Δ? ..nbit Adder Serial nbit adder A = an1an2.. B = bn1bn2.
nbit Adder Parallel nbit adder: ri+1 = aibi + ri(ai ⊕ bi) Pi = ai ⊕ bi and Gi = aibi → ri+1 = Gi + ri Pi r1 = G0 + r0P0 G1 ≥ 1 r2 G0 ≥ 1 r1 P0 r0 & G0 P1 & τ1 τ2 Page 150 P0 r0 & τ2 r2 = G1 + G0P1 + r0P0P1 τ1 .
Parallel 4bit addition a3 b3 a2 b2 a 1 b1 a0 b0 r0 Calculate Pi and Gi P3 G3 P2 G2 P1 G1 P0 G0 Carry calculation r4 r3 a 3 b3 a2 r2 b2 a1 r1 b1 r0 a0 b0 Sum calculation r4 = Σ 4 Page 151 Σ3 Σ2 Σ1 Σ0 .
Subtractor To subtract ab. Second choice: Half Subtractor => Full Subtractor => nbit Subtractor Page 152 . simply add a to 2’s complement of b.
Subtractor Subtractor by using 2’s complement B3 A3 A2 B2 A1 B1 A0 B0 A B A C B A C B A C B C4 C+ FA S C3 C+ FA S C2 C+ FA S C1 C+ FA S C 1 S3 Page 153 S2 S1 S0 .
Adder and Subtractor A3 B3 A2 B2 A1 B1 A0 B0 MPX MPX MPX MPX sel A B A C B A C B A C B C4 C+ FA S C3 C+ FA S C2 C+ FA S C1 C+ FA S C S3 Page 154 S2 S1 S0 .
3.9 Larger Examples Page 155 .5 Multiplexers 3.2 Adders and Other Arithmetic Circuits 3.7 ThreeState Gates 3. PLAs and PALs 3.4 Encoders 3.3 Decoders 3.1 Delay in Combinational Logic Circuits 3. Larger Combinational Systems 3.8 Gate ArraysROMs.6 Demultiplexers 3.
Page 156 . – m = 2n => complete decoder Fundamental property: only one output is 1 for any given input combination. where m≤2n.Decoder An nxm decoder is a combinational circuit that converts binary information from n input lines to m output lines.
nxm decoder .Decoder Complete decoders: m=2n x1 x2 D0 xn E .Y1…Y7 Page 157 . . . + 8 bit outputs Y0. . .x2. . D1 x1 x2 x3 D0 3x8 decoder . .x3. D1 D7 Dm1 Eg: + 3 bit inputs x1.
. D1 D7 En if (En=0) Disable or D0..D7=0 else if (En=1) Function as a 3x8 decoder Page 158 .Design 3x8 decoder x1 x2 x3 D0 3x8 decoder . . .
. . . . . . . . . . . . . . . Y9 0 0 0 0 0 0 0 0 0 1 Page 159 .BCDtodecimal decoder N 0 A 0 0 0 0 0 0 0 0 1 1 B 0 0 0 0 1 1 1 1 0 0 C 0 0 1 1 0 0 1 1 0 0 D 0 1 0 1 0 1 0 1 0 1 Y0 1 0 0 0 0 0 0 0 0 0 Y1 0 1 0 0 0 0 0 0 0 0 A B C D BCD to decimal Decoder : : Y0 Y1 Yi Y9 1 2 3 4 5 6 7 8 9 . . . . . .
BCDtodecimal decoder Y0 A B C D CD AB Y1 A B C D Y2 BCD 00 01 11 10 1 00 01 11 10 Y3 BCD Y4 BC D Y5 BC D Y6 BC D Y7 BCD Y8 AD Y9 AD − − − − − − Page 160 .
.Decoder 4x16 decoder using two 3x8 decoders x2 x3 x4 D0 3x8 decoder . . D9 D15 Page 161 . . D1 D7 x1 3x8 decoder D8 . .
Decoder implementation of arbitrary functions
x1 x2 x3 x4 4x16 decoder
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15
F1
F1(x1,x2,x3,x4)=Σ(0,1,3,8,12)
Page 162
BCDto7segment decoder
a f e d g b c
N 0 1 2 3 4 5 A 0 0 0 0 0 0 0 0 1 1 B 0 0 0 0 1 1 1 1 0 0 C 0 0 1 1 0 0 1 1 0 0 D 0 1 0 1 0 1 0 1 0 1 a 1 0 1 1 0 1 1 1 1 1 b 1 1 1 1 1 0 0 1 1 1 c 1 1 0 1 1 1 1 1 1 1 d 1 0 1 1 0 1 1 0 1 1 e 1 0 1 0 0 0 1 0 1 0 f 1 0 0 0 1 1 1 0 1 1 g 0 0 1 1 1 1 1 0 1 1
Each segment is a Light Emitting Diode (LED)
A
K
6 7 8 9
Page 163
BCDto7segment decoder
CD AB
00
01
11
10
00 01 11 10
1 0
0 1
1 1
1 1
B D
&
−
1
−
1
− −
− −
A C
&
≥1
a A C BD B D
Page 164
3. Larger Combinational Systems
3.1 Delay in Combinational Logic Circuits 3.2 Adders and Other Arithmetic Circuits 3.3 Decoders 3.4 Encoders 3.5 Multiplexers 3.6 Demultiplexers 3.7 ThreeState Gates 3.8 Gate ArraysROMs, PLAs and PALs 3.9 Larger Examples
Page 165
Encoder
An encoder is a circuit that performs the function of a decoder in reverse. An mxn encoder has m inputs, n outputs where m≤2n. The outputs generate the binary codes corresponding to m inputs. For example: encoder for PC’s keyboard
Key <=> Character <=> Key code 102 keys, 8 bit ASCII
Page 166
Keyboard encoder ‘1’ P1 P2 Pi 1 2 i Encoder A B C D 9 N=i P9 9 keys 4bit key code. Page 167 .
Keyboard encoder N 1 2 3 4 5 6 7 8 9 Page 168 ABCD 0001 0010 0011 0100 0101 0110 0111 1000 1001 A = 1 if (N=8) or (N=9) B = 1 if (N=4) or (N=5) or (N=6) or (N=7) C = 1 if (N=2) or (N=3) or (N=6) or (N=7) D = 1 if (N=1) or (N=3) or (N=5) or (N=7) or (N=9) .
Keyboard encoder N=1 ≥ 1 D N=2 N=3 N=4 N=5 N=6 N=7 N=8 N=9 ≥ 1 C ≥ 1 B ≥ 1 A Page 169 .
3.9 Larger Examples Page 170 .3 Decoders 3.1 Delay in Combinational Logic Circuits 3.2 Adders and Other Arithmetic Circuits 3. Larger Combinational Systems 3.7 ThreeState Gates 3.8 Gate ArraysROMs. PLAs and PALs 3.6 Demultiplexors 3.5 Multiplexors 3.4 Encoders 3.
Function: select one of input for output MUX 21 X0 MUX 41 Y X1 X2 X3 C0 C1 Y X0 X1 C0 control inputs C0 0 Page 171 C1 0 0 1 1 C0 0 1 0 1 Y X0 X1 X2 X3 Y X0 X1 1 .Multiplexor Multiplexor has one output and more than one input.
2to1 Multiplexor MUX 21 X0 X1 C0 Y C0 C0 0 1 Y X0 X1 0 0 0 0 10 1 1 1 1 1 X1 0 0 1 1 0 0 1 1 X0 0 1 0 1 0 1 0 1 Y 0 1 0 1 0 0 1 1 X1X0 C0 00 01 1 11 1 1 0 1 Y X0C 0 X1C 0 Page 172 .
2to1 Multiplexor Page 173 .
4to1 Multiplexor Y = s1’s0’I0 + s1’s0I1 +s1s0’I2+ s1s0I3 Page 174 .
Application of multiplexor Select source Source 1 A = a3 a2 a1 a0 B = b3 b2 b1 b0 Source 2 C0 Receiver Y3 Y2 Y1 Y0 Page 175 .
Application of multiplexor Convert parallelserial A a0 a1 a2 a3 C0 C1 C0 1 Y 0 C1 1 0 Y a0 a1 a2 a3 t t t Page 176 .
0) f(1.1 Y C1C 0X 0 C1C 0X1 C1C 0X 2 C1C 0X 3 f(0.0) Inputs to select function f(0.B) A Bf(0.1) x2 x3 A Page 177 x0 x1 Y = f(A.0) .Application of multiplexor Implementation of arbitrary functions: f(A.1) f(1.B) C1 C0 Variables B .1 A Bf(1 A Bf(1 ) ) .0) A Bf(0.
Example 0 Inputs to select function 1 1 0 x0 x1 x2 x3 A Y = f(A.B) C1 C0 Variables B F(A.B) = A’B + AB’ Page 178 .
3 Decoders 3.3.9 Larger Examples Page 179 .5 Multiplexers 3.8 Gate ArraysROMs.1 Delay in Combinational Logic Circuits 3.4 Encoders and Priority Encoders 3. PLAs and PALs 3. Larger Combinational Systems 3.6 Demultiplexers 3.7 ThreeState Gates 3.2 Adders and Other Arithmetic Circuits 3.
Demultiplexor Demultiplexor has one input and more than one output Function: select one of outputs for input DeMUX 12 S0 E C0 S1 S 0 = C0 E S1 = C0 E Page 180 .
Demultiplexor 14 S0 E S1 S2 S3 C1 C0 Page 181 .
9 Larger Examples Page 182 .4 Encoders and Priority Encoders 3.8 Gate ArraysROMs.6 Demultiplexers 3.1 Delay in Combinational Logic Circuits 3.3 Decoders 3.7 ThreeState Gates 3.2 Adders and Other Arithmetic Circuits 3.3. Larger Combinational Systems 3. PLAs and PALs 3.5 Multiplexers 3.
7 ThreeState Gates (Tristate) Three state gates exhibit three states instead of two states.3. We can have AND or NAND threestate gates but the most common is threestate buffer gate Page 183 . The three states are: – High : 1 – Low : 0 – High impedance : z • In this state the output is disconnected which is equal to open circuit. In the other words in that state circuit has no logic significant.
3. Three state buffer has extra input control line entering the bottom of the gate symbol (see next slide) Page 184 . Note that buffer produces transfer function and can be used for power amplification.7 ThreeState Gates (Tristate) We may use conventional gates such as AND or NAND as threestate gates but the most common is threestate buffer gate.
ThreeState buffer Threestate buffer C A Y 0 0 z 0 1 z 7 0 0 1 1 1 Page 185 .
Application of threestate buffer Threestate buffers can be used to implement multiplexer Page 186 .
PLAs and PALs 3.1 Delay in Combinational Logic Circuits 3.3.9 Larger Examples Page 187 .4 Encoders and Priority Encoders 3.3 Decoders 3.2 Adders and Other Arithmetic Circuits 3.7 ThreeState Gates 3.ROMs. Larger Combinational Systems 3.5 Multiplexers 3.6 Demultiplexers 3.8 Gate Arrays .
Programmable Array Logic ROM Page 188 .Programmable Logic Arrays PAL .ROM.3.8 Gate Arrays . PLA and PAL PLA .
PLA .Programmable logic arrays Prefabricated building block of many AND/OR gates – actually NOR or NAND – "personalized" by making or breaking connections among the gates – programmable array block diagram for sum of products form A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 Z1 0 0 1 0 0 1 1 1 Z2 1 0 1 0 1 0 1 0 • • • inputs m0 m1 m2 m3 m4 m5 m6 m7 AND array product terms OR array outputs • • • Page 189 .
all AND and OR gates are NANDs Page 190 .Before programming All possible connections are available before "programming" – in reality.
After programming Unwanted connections are "blown" – fuse (normally connected. make wanted connections) A B C AB B'C AC' B'C' A Page 191 F0 F1 F2 F3 . break unwanted ones) – antifuse (normally disconnected.
PLA example Multiple functions of A. B. C – F1 = A B C – F2 = A + B + C – F3 = A' B' C' – F4 = A' + B' + C' – F5 = A xor B xor C – F6 = A xnor B xnor C A 0 0 0 0 1 1 Page 192 1 B C F1F2F3F4F5 000 0 1 1 0 0 010 1 0 1 1 1 100 1 0 1 1 1 110 1 0 1 0 0 000 1 0 1 1 1 010 1 0 1 0 0 100 1 0 1 0 0 F6 A B C bits stored in memory A'B'C' A'B'C A'BC' A'BC AB'C' AB'C ABC' ABC full decoder as for memory address F1 F2 F3 F4 F5 F6 .
PALs and PLAs Programmable logic array (PLA) – what we've seen so far – unconstrained fullygeneral AND and OR arrays Programmable array logic (PAL) – constrained topology of the OR array – innovation by Monolithic Memories – faster and smaller OR plane a given column of the OR array has access to only a subset of the possible product terms Page 193 .
ROM – Read Only Memories Two dimensional array of 1s and 0s – entry (row) is called a "word" – width of row = wordsize – index is called an "address" – address is input – selected word is output Example: 10 address x 8 data ROM 210 words x 8 ROM 1024 words x 8 ROM 1k x 8 ROM internal organization 0 n1 Address bit lines (normally pulled to 1 through resistor – selectively connected to 0 by word line controlled switches) n 2 1 i decoder j 0 word[i] = 0011 word[j] = 1010 1 1 1 1 word lines (only one is active – decoder is just right for this) Page 194 .
ROM – Read Only Memories Combinational logic implementation (twolevel canonical form) using a ROM F0 = A' B' C + A B' C' + A B' C F1 = A' B' C + A' B C' + A B C F2 = A' B' C' + A' B' C + A B' C' F3 = A' B C + A B' C' + A B C' A 0 0 0 0 1 1 1 1 Page 195 B C F0 F1 F2 0 0 0 0 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 1 truth table 1 0 1 0 F3 0 0 0 1 1 0 1 0 ROM 8 words x 4 bits/word A B C F0 F1 F2 address outputs block diagram F3 .
ROM structure Similar to a PLA structure but with a fully decoded AND array – completely flexible OR array (unlike PAL) n address lines • • • inputs decoder 2n word lines memory array (2n words by m bits) outputs • • • m data lines Page 196 .
7 ThreeState Gates 3.3.9 Larger Examples Page 197 .8 Gate ArraysROMs. Larger Combinational Systems 3.4 Encoders and Priority Encoders 3. PLAs and PALs 3.3 Decoders 3.1 Delay in Combinational Logic Circuits 3.2 Adders and Other Arithmetic Circuits 3.6 Demultiplexers 3.5 Multiplexers 3.
9 Larger Examples 1.3. Comparator Page 198 . Sevensegment displays 2.
Comparator 1bit full comparator: Gi Li Ei ai bi 1bit Full Comparator ai > bi ai < bi ai = bi Gi=1 Li=1 Ei=1 Gi = ai .bi Ei = ai ⊕ bi Page 199 .bi Li = ai .
Comparator Nbit parallel comparator: Page 200 .
Page 201 . Represent the following function in the canonical form SOP: F(A.D.7.4.8.6.11.10.Midterm examination (90’) 1. Design 4x16 decoder using only 2x4 decoders.B.9.E)= ∑(1. Use the QuineMcCluskey method to obtain the minimal sum for the following function: F(A.B. Design a combinational logic circuit to calculate the following function: M=N+3 where N is BCD number (BinaryCoded Decimal).C.C)=(A+B’)C 2. 4.15) 3.
B.C) = AB + B’C 4.C)=C 2. Using 3x8 decoder to implement the following function: F(A.D. Page 202 .7.15) 3.B. Design a combinational logic circuit to calculate the following function: M=N+5 where N is BCD number (BinaryCoded Decimal).13.4.12.E)= ∑(1.Midterm examination 2 (90’) 1.8. Represent the following function in the canonical form SOP and POS: F(A.B.6. Use the QuineMcCluskey method to obtain the minimal sum for the following function: F(A.11.C.
Chapter 4. Sequential Systems Page 203 .
2 State Tables and Diagrams 4.4.3 Latches and Flip Flops 4.4 Analysis of Sequential Systems 4.5 Design of Sequential Systems 4. Sequential Systems 4.1 Definitions 4.6 Solving Larger Sequential Problems Page 204 .
In a circuit with memory.4. the circuit must have some feedback connections from its outputs to its inputs.1 Definitions Combinatorial circuit is memoryless. To achieve this. . an output value at tn+1 must be a function not only of the inputs at tn+1 but also of the outputs at tn . Page 205 A circuit with memory is a combinatorial circuit incorporating some feedback connections.
But then. which in turn depends on tn2… The circuit maps input sequences to output sequences Page 206 . signals are fed back from outputs to inputs using memory devices. A memory device stores an output value at time tn so that it can be input to the circuit at tn+1.Feedback and memory devices To implement feedback. output at tn depends on input at tn1.
Combinatorial circuit . . . x1 z1 Circuit inputs x2 xn . .Sequential circuit model Circuits with memory are called sequential circuits. . z2 Circuit outputs yk Memory device Yk Present state y1 Page 207 . Next state Y1 Memory device . . .
y = Fy(X.sn • Y: finite outputs.S) • Fy : output function..... s = Fs(X..l outputs: y1. n states: s1.S) Moore: ~Mealy • Difference: Fy = Fy(S) Page 208 .y2. m inputs: x1.x2..s2...xm • S : finite states..Sequential circuit model Mealy model: • X : finite inputs.yl • Fs: state function.
Asynchronous/Synchronous sequential circuits The timing of the signal in the circuit determine two types of sequential circuits: – Synchronous – Asynchronous. Page 209 .
To achieve that. the circuit uses a timing device. the state can change only at discrete instants of time. called a clock generator. The operation of the circuit is synchronized with the clock pulse input. Page 210 . that produce trains of periodic or aperiodic clock pulses. The clock pulses are input to the memory devices so that they can change state only in response to the arrival of a pulse and only once for each pulse occurrence.Synchronous sequential circuits In a synchronous sequential circuit.
Asynchronous sequential circuits The behavior of an asynchronous sequential circuit depends only on the order in which the inputs change and can be affected at any instant of time. Page 211 . There is no timing device in asynchronous sequential circuit (unclocked memory).
5 Design of Sequential Systems 4.4.3 Latches and Flip Flops 4.4 Analysis of Sequential Systems 4.1 Definitions 4.6 Solving Larger Sequential Problems Page 212 . Sequential Systems 4.2 State Tables and Diagrams 4.
– Mealy state diagram 0/0 0/0 a 0/0 b 1/0 c 0/0 d 1/0 1/1 Page 213 .State diagram Depict graphically the operation of a sequential circuit.
1 /0 0 /0 0 /0 0 /0 1 /0 0 /0 A B 1 /0 C D 1 /1 Page 214 .Example of state diagram Example: a sequential circuit is used to detect the string “0101” from one input.
State diagram Depict graphically the operation of a sequential circuit. – Moore state diagram 1 0 f/1 0 1 e/1 a/0 1 0 b/0 1 c/0 0 1 Page 215 0 d/0 1 0 .
– Mealy state table – Moore state table Page 216 .State table State table presents in a tabular form the same information contained in the state diagram.
Mealy state table 0/0 0/0 PS: Present State NS: Next State a 0/0 b 1/0 c 0/0 d 1/0 1/1 PS x=0 a b c d b b d b NS x=1 a c a c Output (z) x=0 0 0 0 0 x=1 0 0 0 1 a b c d PS NS/Output (z) x=0 b/0 b/0 d/0 b/0 x=1 a/0 c/0 a/0 c/1 k memory devices => 2k rows n circuit inputs => NS portion contains 2n columns Page 217 Output portion also contains 2n columns .
Page 218 . The entry at the intersection of any row with the output column indicates the output values corresponding to the PS associated with that row.Moore state table 1 PS x=0 a b c d e f b b d d f f NS x=1 a c c e e a Output z 0 0 0 0 1 1 1 0 f/1 0 e/1 a/0 1 0 b/0 1 c/0 0 1 0 d/0 1 0 The output portion always contains a single column.
Incompletely specified Mealy state table Two inputs: x1.x2 A single output: z PS 00 a b c d e f Page 219 NS/Output (z) 01 c/1 /f/1 /f/0 /11 b///e/d/1 c/1 10 e/1 //b/1 a/0 b/0 /e/0 f/0 a//c/0 .
1 Definitions 4. Sequential Systems 4.4.6 Solving Larger Sequential Problems Page 220 .5 Design of Sequential Systems 4.2 State Tables and Diagrams 4.3 Latches and Flip Flops 4.4 Analysis of Sequential Systems 4.
.3.4. Latches and FlipFlops Simplest memory devices: Delay element Yi ΔT yi Yi yi yi(t+ΔT) = Yi(t) ΔT In practice. we don’t have to actually insert delay elements because propagation time delays between the inputs and the outputs of the combinatorial part of the circuit provide Page 221 sufficient delay across the feedback loops.
– Two types: • Latch • Flipflop Page 222 . Latches and FlipFlops Bistable devices: – Two stable states: • Q=0 : the device is reset (reset state) • Q=1: the device is set (set state) – A bistable device remains in one of two states indefinitely until directed by an input signal to change state.3.4.
– The state change only in response to a transition of a clock pulse at clock input. – Used to implement memory part of synchronous circuits Page 223 . – Used to implement the memory part of asynchronous circuits. called clock.4. Flipflop: no transparency property – Has a control (triggering) input.3. Latches and FlipFlops Latch: transparency property: – Change state when the input values change – The new output state is delayed only by the propagation time delays of the gates between inputs and outputs of the latch.
R (reset) Two complementary outputs: Q.SR Latch Two inputs: S (set). Q’ S Q S R 0 0 1 1 0 0 1 1 Q 0 1 0 1 0 1 0 1 Q+ 0 1 0 0 1 1  Current state Next state R Q’ 0 S Q 0 0 0 1 R Q' 1 1 Page 224 Q = (R+Q’)’ Q’= (S+Q)’ 1 Indeterminate .
SR Latch S Q R Q’ S 0 0 1 1 R 0 1 0 1 Q+ Q 0 1 Indeterminate S Q R Q' Equivalent characteristic table SR=’00’ => Output no change A logic ‘1’ at inputs can change outputs’ states => activeHIGH latch Page 225 .
SR Latch
S
Q
S
Q
R
Q’
R
Q’
S
Q
Q S
R
Q'
R Q'
activeHIGH SR Latch
activeLOW SR Latch
Page 226
SR Latch
Timing chart (NOR implementation)
S
Q
S R
R
Q'
Q Q
set reset set reset
Page 227
SR Latch
Timing chart (NAND implementation)
Q S
S R
R Q'
Q Q
set reset set reset
Page 228
SR Latch
R
Q
Q 0
Q+ 0 1 0 1
S 0 1 0 
R 0 1 0
S
0 1 1
Circuit showing feedback
Excitation table
Q+ = R’Q + R’S SR=0 => Q+ = R’Q + R’S + RS = R’Q + S
for activeHIGH SR Latch
Page 229
D Latch
D
Q
D
S
Q
Q’
R
Q’
Graphic symbol
Implementation using SR Latch
Q Q* 0 1 0 1 D 0 1 0 1
D 0 1
Q* 0 1
0 0 1 1
Equivalent characteristic table
Page 230
Q* = D
Excitation table
E R Q' Page 231 .Gated Latches S E R Q E: Enable input control The latch will not change state as long as E=0 E=1 SR=10 => Set E=1 SR=01 => Reset Q’ S Q ⇒The operation of latch is synchronized with the E input => E: synchronous input A latch with synchronous input is called gated latch.
FF has clock input and changes state synchronously with clock.Flipflops Latches implement memory part in asynchronous sequential circuits Flipflops do the same for synchronous circuits. Four common types of flipflops: – SR – D – JK – T Page 232 .
indicates that the device responds only to an input clock transition from LOW (0) to HIGH (1) => Positive edgetriggered Appending a small circle to the CLK input indicates that the flipflop responds only to an input clock transition from HIGH (1) to LOW (0) => Negative edgetriggered Page 233 .SR flipflop S CLK R Q S CLK Q S CLK Q Q R Q R Q Positive edgetriggered Negative edgetriggered Pulsetriggered (MasterSlave) The triangle called dynamic indicator.
Q’ Pulsetriggered (MasterSlave) Difference between Latch and Flipflop? Page 234 • The flipflop can not change state except on the triggering edge of clock pulse => synchronous • Present and next states in a latch are separated In time by gate delays. but the flipflop does change state (the output is postponed) until the trailing edge of the clock pulse.SR flipflop S CLK R Q The information is entered on the leading edge of the clock pulse. they are separated by clock periods in a flipflop. .
SR flipflop Current state S 0 0 0 0 1 1 1 1 R Q 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Q(t+1) 0 1 0 0 1 1  Next state Q Q(t+1) S 0 0 1 1 R 0 1 0 1 Q(t+1) Q(t) 0 1 Indeterminate 0 0 1 1 0 1 0 1 S 0 1 0 R 0 1 0 Reduced characteristic table Indeterminate Excitation table Characteristic table (S=1 & R=1) is inhibited Page 235 Q(t+1) = R’Q(t) + S .
Implementation of SRFF S CL R Implementation of SRFF by SRLatch S CL R Page 236 Q Q S Q SRlatch R Q Q Q .
SR flipflop Timing chart S S CLK R Q Q R CL Q Q Page 237 .
D flipflop D CLK Q D S CLK R Q CLK Q’ Q Positive edgetriggered D flipflop Implementation using SR flipflop D flipflop is useful for storing a single bit Page 238 .
D flipflop Current state D 0 0 1 1 Q 0 1 0 1 Q(t+1) 0 0 1 1 Next state Q Q(t+1) 0 D 0 1 Q(t+1) 0 1 0 1 1 0 1 0 1 D 0 1 0 1 Characteristic table Reduced characteristic table Excitation table Q(t+1) = D Page 239 .
JK flipflop J CLK K Q S CLK R Q Q’ Q Positive edgetriggered JK flipflop Implementation using SR flipflop JK = 00 => Q* = Q JK = 01 => Q* = 0 JK = 10 => Q* = 1 JK = 11 => Q* = not(Q) Page 240 REMEMBER RESET SET INVERT .
JK flipflop Current state J 0 0 0 0 1 1 1 1 K Q 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Q(t+1) 0 1 0 0 1 1 1 0 Next state Q Q(t+1) J 0 0 1 1 K 0 1 0 1 Q(t+1) Q(t) 0 1 [Q(t)]’ 0 0 1 1 0 1 0 1 J K 0 1  1 0 Reduced characteristic table Excitation table Characteristic table Page 241 Q(t+1) = K’Q + JQ’ .
Page 242 .MasterSlave flipflop A pulsetriggered flipflop is a bistable device – states depend on the values of synchronous inputs at the leading edge of the clock pulse – those states does not change until the trailling edge of the clock pulse.
MasterSlave flipflop S C R Master S E R Q’ Q Slave S E R Q’ Q Q Q’ Master latch works when C=1 Slave latch works when C=0 A pulsetriggered flipflop consists of two latches. where one acts as a master and the other acts as a slave => Masterslave flipflop Page 243 .
EdgeTriggered flipflop A edgetriggered flipflop is a bistable device whose state depends on the synchronous inputs either at the positive edge or at the negative edge of a clock pulse. Page 244 .
EdgeTriggered flipflop Y1 Q CLK Q Y2 D Positive edgetriggered D flipflop Page 245 .
EdgeTriggered flipflop J Q CLK Q K Positive edgetriggered JK flipflop Page 246 .
FlipFlop conversions Each FF can mutually converted How to implement yFF by using xFF (1) Prepare expanded state table of yFF (2) Prepare excitation table of xFF (3) Combine (1) and (2) (4) Calculate logic function for each input of xff combinatorial circuit input of yFF a Q xFF CL b Q Q Q Page 247 CL .
FlipFlop conversions Example: Implement TFF using SRFF SRFF S 0 0 0 0 1 1 1 1 Page 248 TFF Q+ 0 1 0 0 1 1 T Q 0 0 0 1 1 0 1 1 Q+ 0 1 1 0 R 0 0 1 1 0 0 1 1 Q 0 1 0 1 0 1 0 1 Expanded state table shows the state transition by the input .
FlipFlop conversions Example: Implement TFF using SRFF expanded state table excitation table SRFF S 0 0 0 0 1 1 1 1 Page 249 R 0 0 1 1 0 0 1 1 Q 0 1 0 1 0 1 0 1 Q+ 0 1 0 0 1 1  state input Q Q+ S R 0 0 0 0 1 1 0 1 0 0 1 1 1 0 Excitation table shows the input value corresponding to the state transition .
FlipFlop conversions Example: Implement TFF using SRFF TFF T Q 0 0 0 1 1 0 1 1 Q+ 0 1 1 0 excitation table state input Q Q+ T 0 0 0 0 1 1 1 0 1 1 1 0 Page 250 .
FlipFlop conversions Example: Implement TFF using SRFF expanded state table of TFF T Q 0 0 0 1 1 0 1 1 Q+ 0 1 1 0 excitation table of SRFF state input Q Q+ S R 0 0 0 0 1 1 0 1 0 0 1 Page 251 1 1 0 T 0 0 1 1 Q 0 1 0 1 Q+ S R 0 0 1 .0 1 1 0 0 0 1 .
FlipFlop conversions Example: Implement TFF using SRFF T 0 0 1 1 Q 0 1 0 1 Q+ S R 0 0 1 .0 1 1 0 0 0 1 Q 0 1 0 .0 0 1 1 T Q 0 1 0 0 1 1 0 T Karnaugh Map of R S Q T Q Q Karnaugh Map of S R=TQ S=TQ CL R Q Calculate logic function for FF input Page 252 CL .
1 Page 253 1 1 .1 1 1 1 .0 D 0 0 1 1 Q 0 1 0 1 Q+ J K 0 0 0 .0 .FlipFlop conversions Example: Implement D flipflop using JK FF Q+ D Q 0 0 0 0 0 1 1 1 0 1 1 1 expanded state table of DFF excitation table of JKFF state input Q Q+ J K 0 0 0 0 1 1 1 0 .
0 Q 0 1 0 0 1 1 D Q 0 1 0 .FlipFlop conversions Example: Implement D flipflop using JK FF D 0 0 1 1 Q 0 1 0 1 Q+ J K 0 0 0 .1 .0 1 D Karnaugh Map of J J Q D Page 254 Karnaugh Map of K Q Q J=D K=D CL CL K Q .1 1 1 1 .
4.2 State Tables and Diagrams 4.4 Analysis of Sequential Systems 4.6 Solving Larger Sequential Problems Page 255 .1 Definitions 4.3 Latches and Flip Flops 4. Sequential Systems 4.5 Design of Sequential Systems 4.
Flip flop excitation equation Flip Flop excitation equation express each synchronous input of each flipflop as a function of the present state and the inputs of the circuit. Page 256 . These Boolean functions are derived directly from the combinational part of the circuit.
and output equations. Establish state table. Establish state diagram. S3. S2.Analysis procedure of sequential circuits S1. Find excitation equations. Page 257 .
this is Moore model – z = q2’ . and not directly of input.Example1: A D flipflop Moore model circuit x D1 ~ 1PR 1D 1Q q1 D2 ~ 1PR 1D 1Q q2 z 1CLK ~ 1Q 1CLK ~ 1Q ~ 1CLR ~ 1CLR Cl ock Excitation equations: – D1 = q1q2’ + xq1’ – D2 = xq1 Output equations: Page 258 Since output is only a function of state z=q2’.
Example1: A D flipflop Moore model circuit q1* = d1 = q1q2’ + xq1’ q2* = d2 = xq1 State table 0 00 1 q1*q2* q1q2 00 01 10 11 Page 259 x=0 00 00 10 00 x=1 10 10 11 01 z 1 0 1 0 1 0 1 01 0 10 1 0 1 11 0 0 1 State diagram .
and not directly of input.Example2: A JK flipflop Moore model circuit z x ~ 1PR 1J 1CLK 1K ~ 1Q ~ 1CLR 1Q A ~ 1PR 1J 1CLK 1K ~ 1Q ~ 1CLR 1Q B Cl ock Excitation equations: – JA = x KA = xB’ – JB = KB = x + A’ Output equations: Page 260 Since output is only a function of state z=A+B. this is Moore model – z=A+B .
Example2: A JK flipflop Moore model circuit A* = A’JA + AKA= A’x+AxB’ B* = B’JB + BKB = B’(x+A’) + B(x+A’)’ State table 0 0 00 0 A*B* AB 00 01 10 11 Page 261 1 x=0 01 00 10 11 x=1 11 10 01 10 z 01 1 11 1 0 0 1 1 1 1 1 10 1 1 0 State diagram .
Example2: A JK flipflop Moore model circuit Page 262 .
Example3: A D flipflop Mealy model circuit x z ~ 1PR 1D 1Q q1 ~ 1PR 1D 1Q q2 1CLK ~ 1Q 1CLK ~ 1Q ~ 1CLR ~ 1CLR Cl ock Excitation equations: – d1 = xq1 + xq2 – d2 = xq1’q2’ Page 263 Output equations: – z = xq1 Since output is a function of both present input and state z=xq1. this is Mealy model .
we return to state 00. Whenever there is a 0 input. 2. . State 11 is never reached. this example really only has 3 states.Example3: A D flipflop Mealy model circuit 0/0 q1* = d1 = xq1 + xq2 q2* = d2 = xq1’q2’ 1/0 0/0 00 11 q* q 00 01 10 11 Page 264 z 01 0/0 0/0 1/1 x=0 x=1 x=0 x=1 00 01 0 0 00 10 0 0 00 10 0 1 00 10 0 1 10 1/0 1/1 Notice that: 2.
Example3: A D flipflop Mealy model circuit Mealy timing trace: x q1 q2 0 ? ? 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1 0 0 1 0 0 0 z 0 0 0 0 0 0 1 1 0 0 0 Page 265 .
Example3: A D flipflop Mealy model circuit Page 266 .
4 Analysis of Sequential Systems 4.6 Solving Larger Sequential Problems Page 267 .3 Latches and Flip Flops 4.2 State Tables and Diagrams 4.1 Definitions 4. Sequential Systems 4.5 Design of Sequential Systems 4.4.
Page 268 . that is. code the inputs and outputs in binary. determine what needs to be stored in memory. From a word description. what are the possible states. S3.Design Procedure for Sequential Systems S1. Produce the logic equation and draw a block diagram. S2. but has fewer states. S7. that is. S4. Derive a state table or state diagram to describe the behavior of the system. Choose a state assignment. code the states in binary. If necessary. S5. S6. Choose a flip flop type and derive the flip flop input maps or tables. Use state reduction techniques to find a state table that produces the same input/output behavior.
otherwhile y=0. Use Mealy model x=0101011.Example1: Design sync sequential circuit using JK Design a synchronous sequential circuit using JK flipflop. Output is 1 when receiving a string 0101 in input. The circuit has one input x. wait for 0 D: had 010. System y=0001010. A: wait for first 0 B: had 0. one output y... wait for 1 1/0 0/0 0/0 0/0 0/0 A B 1/0 C D 1/1 1/0 Page 269 . wait for 1 C: had 01.
Example1: Design sync sequential circuit using JK Use two state variables q1q2 to encode states in binary q1 q2 0 A B 1 C D q1 q2 x S A B C D 0 0 B.0 01.0 D.0 C.1 Q1Q2 State table Page 270 State table after assignment .1 1 x 00 01 10 11 0 01.0 10.0 01.0 B.0 A.0 10.0 1 A.0 00.0 Q1Q2 1 00.0 B.0 11.0 C.
1 00.0 q 0 0 1 1 q* 0 1 0 1 J 0 1  K 1 0 x 0 J 1 K1 J2K2 00 01 11 10 Application table q1 q2 1 J1K1 010 1 J 2 K2 q1*q2* 00 01 11 10 001 0 10 0 1 01 1 0 Excitation table Page 271 .0 10.Example1: Design sync sequential circuit using JK x q1q2 0 01.0 10.0 01.0 11.0 1 00.0 01.
Example1: Design sync sequential circuit using JK Minimization for J1 x q1 q2 00 01 11 10 0 0 0 1 q1 q2 J 1 K1 x 0 J2K2 J 1 K1 1 J2K2 01 1 0 00 0 1  001 0 10 0 1 010 1 01 11 10 Excitation equations: J1 = xq2 J2 = x Page 272 K2 = x K 1 = xq 2 + q 2 x Output equation: y = xq1q2 .
Ex 1: Design sync sequential circuit using JK x 1 J2 CLK K2 q2 & & J1 q1 y CLK q2 =1 K1 q1 CLOCK Page 273 .
Ex 2: Design sync sequential circuit using JK Design a synchronous sequential circuit using JK flipflop. Page 274 . otherwhile y=0. The circuit has one input x. Output is 1 when receiving a string 0111 in input. one output y.
if x=1 the circuit counts down from 3 downto 0 and repeat.Ex 3: Design sync sequential circuit using JK Design a synchronous up/down counter using JK with one input x. Page 275 . If x=0 the circuit counts up from 0 to 3 and repeat.
S5. Produce the logic equation and draw a block diagram. S2. code the inputs and outputs in binary. S3. determine what needs to be stored in memory. Choose a flip flop type and derive the flip flop input maps or tables.Design Procedure for Sequential Systems S1. Choose a state assignment. that is. Use state reduction techniques to find a state table that produces the same input/output behavior. S7. Page 276 . S4. S6. that is. If necessary. From a word description. but has fewer states. what are the possible states. Derive a state table or state diagram to describe the behavior of the system. code the states in binary.
State reduction technique aims to simplify sequential circuit by reducing redundancy of the state transition diagram.S4. State reduction State transition diagram may include redundancy. Equivalence: – two states are equivalent if output sequences are the same when the same input sequence is given Method 1: Procedure to get equivalent states Method 2: Reduction of incompletely specified state table Page 277 .
State reduction Examples: 0/0 B 0/0 0/0 D 1/1 A 1/0 C 1/1 0/0 1/0 1/0 F E 0/0 0/0 0/0 D B 1/1 1/1 0/0 1/0 AF 1/0 E 0/0 C 0/0 1/0 0/0 1/0 unify A and F Page 278 A and F have the same output and transition state for the same input .
State reduction Examples: B 0/0 0/0 D 1/1 1/1 C 0/0 1/0 AF 1/0 E 0/0 B 0/0 0/0 1/1 1/0 C 0/0 1/1 DE 0/0 0/0 1/0 AF 1/0 unify D and E D and E have the same output and transition state for the same input Page 279 .
State reduction Examples: B 0/0 0/0 1/1 1/0 C 0/0 1/1 DE 0/0 0/0 1/0 AF BC 0/0 1/1 DE 0/0 AF 1/0 1/0 unify B and C Page 280 .
State reduction current state A B C D E F next state 0 B D E D E B 1 C E D F F C output 0 0 0 0 0 0 0 1 0 1 1 0 0 0 current state AF B C D E next state 0 1 B C D E E D D AF E AF output 0 0 0 0 0 0 1 0 1 1 0 0 current state AF BC DE Page 281 next state 0 1 BC BC DE DE DE AF output 0 0 0 0 1 0 1 0 current state AF B C DE next state 0 1 B C DE DE DE DE DE AF output 0 0 0 0 0 1 0 1 1 0 .
the set includes nonequivalent state. Then divide the nonequivalent set and iterate (2) Page 282 .s2.…) – (2) Rewrite state transition table by using the set of state.State reduction Method 1: Procedure to get equivalent states – (1) Find multiple states that have the same output with the same input. and treat them as a set of state S1 (s1. – (3) If the next state of the member of the set are different.
Example of method 1 (1/4) Reduce the state of the state transition diagram 0/0 1/0 a 1/0 0/0 b 1/0 1/1 f 0/1 0/1 c Page 283 0/1 1/1 e 1/1 0/1 current state a b c d e f next state 0 1 a b d c a b f e d c e a output 0 0 4 0 1 1 1 1 0 1 0 1 1 0 d .
S2 equivalent c : S1.S1 d : S3.Example of method 1 (2/4) current state a b c d e f next state 0 1 a b d c a b f e d c e a output 0 0 4 0 1 1 1 1 0 1 0 1 1 0 (b.S2 e : S2. divide S2 into S2 and S4 S1 S2 S4 S3 a : S1.d.c) S2 (b.S1 f : S2.S1 Page 284 .S1 equivalent e : S4.e) and d are not equivakent hence.S2 b : S4.S2 b : S2.S2 f : S2.S1 d : S3.S2 c : S1.e) S3 (f) (2) Rewrite next state by using set of state S1 S2 S3 a : S1.S1 (1) Find a set of state with the same output S1 (a.
S1 d : S3.S2 b : S4.Example of method 1 (3/4) (2) Rewrite state transition table current state a b c d e f next state 0 1 a b d c a b f e d c e a output 0 0 4 0 1 1 1 1 0 1 0 1 1 0 S1 S2 S4 S3 a : S1.S2 f : S2.S1 current state S1 S2 S4 Page 285 S3 next state 0 1 S1 S2 S4 S1 S3 S2 S2 S1 output 0 0 4 1 1 1 0 1 1 0 .S1 e : S4.S2 c : S1.
Example of method 1 (4/4) Generate state transition diagram 0/0 1/0 a 1/0 0/0 current state S1 S2 S4 S3 next state 0 1 S1 S2 S4 S1 S3 S2 S2 S1 output 0 0 4 1 1 1 0 1 1 0 0/0 b 1/1 f 0/1 0/1 1/1 1/0 c 0/1 1/1 1 0/1 1/0 e 1/1 0/1 2 1/1 3 0/1 d Page 286 0/1 4 .
output are the same .State reduction Method 2: Reduction of incompletely specified state table Incompletely specified: don’t care appears in the next state and output – 1: Find non compatible pairs – 2: Find compatible set that doesn’t involve non compatible pairs – 3: Obtain maximum compatible set – 4: Calculate minimum closed set – 5: Generate reduced state transition table Page 287 compatible pair: for every input.
c) (a.f) Page 288 .Example of method 2 (1/5) Implication table current state a b c d e f next state output input X1X0 input X1X0 00 01 10 11 00 01 10 11 d e a a d e b b c b e f  a e d e 0 1 1 1 0  0 0 0 1 0 0 0 b de c × ae d be × de ad e be ae ○ ef bf f × de × × ad ae bc a b c d e 1:fill in × at incompatible pair 2: fill in conditions to be compatible a set of not compatible pairs (a.d) (c.f) (b.f) (d.
f) (c.d.f) (c.e) (b.Example of method 2 (2/5) Decompose state set by non compatible pairs (a.e).(b.f) (d.e.e.(a.e) (b.e.e) (b.d.b.f) (d.f) other node Page 289 Maximum compatible set is (a.c.b.f) remove duplicated node remove pair involved to (d.(c.d.c.b.e) (e.f) (b.f) (a.f) (b.d.f) (b.d) (b.f) (a.f) (a.e.f) (a.f) (a.e.d) (c.d) (b.d.c.f) (c.e) (d.f) (d.d.(b.b.c) (a.f) (c.d.c.e) (a.e).c.e) .f) (b.d) (b.e.e.c) (a.b.d.e.e.f).d.d.e.e.e).
f) C4:(b.e) Logic function to represent each set involved a: C1+C2 b: C1+C3+C4 c: C4+C5 d: C2+C5 e: C1+C2+C4+C5 f: C3 Minimum closed set is a subset of maximum compatible set that involves all the state axbxcxdxexf = 1 (C1+C2)(C1+C3+C4)(C4+C5)(C2+C5)(C1+C2+C4+C5)C3 =(C1+C2C3+C2C4)(C2C4+C5) (C1+C2+C4+C5)C3 =(C1C5+C2C3C5+C2C4) (C1+C2+C4+C5)C3 =(C1C5+C2C3C5+C2C4)C3 =C1C3C5+C2C3C5+C2C3C4 Page 290 hence (C1.C3.Example of method 2 (3/5) Maximum compatible set C1:(a.C3.(C2.C5).d.d.e) C5:(c.C5).e) C2:(a.e.(C2.e) C3:(b.c.C4) are candidates for minimum closed set .C3.b.
e) →(a.C4 is closed Implication table b de c × ae d be × de ad e be ae ○ ef bf f × de × × ad ae bc Page 291 a b c d e .C3.e) C5:(c.f) →C1.f).e).f)(a.(b.C5).d.C4) check state transition of each candidate by using Implication table C1→(d.e)(a.e).C3.Example of method 2 (4/5) C1:(a.(b.e)(b.c) →(a.e.(C2.(d.(C2.(b.e) C2:(a.f) →(C2C5).c.C3 C2 →(b.e) C3:(b.C3.C4 C4→(a.f) C4:(b.(b.e).(b.e) →(C1C2) C5→(d.c) →C2.e)(b.b.e).(a.(a.f) →(b.e).d).e).f).C3.C5).d.d) →C3.C2 C3→(a.d.(e.e) candidate for minimum closed set: (C1.(e.C3 C2.d).(a.d).e.d.e.
d.e).e.c.Example of method 2 (5/5) C2:(a.C4:(b.C3:(b.e) are used current state a b c d e f next state output input X1X0 inputX1X0 00 01 10 11 00 01 10 11 current state C2 C3 C4 next state input X1X0 00 01 10 11 output input X1X0 00 01 10 11 d e a a d e b b c b e f  a e d e 0 1 1 1 0  0 0 0 1 0 0 0 C2 C3 C3 C2 0 0 0 0 C2 C4 C3 C2 1 1 1 0 C2 C4 C3 C2 1 1 0 0 Reduced State Transition Table Page 292 .f).
S4. determine what needs to be stored in memory. S5. that is. S2.Design Procedure for Sequential Systems S1. that is. Choose a state assignment. Page 293 . code the states in binary. what are the possible states. code the inputs and outputs in binary. but has fewer states. Choose a flip flop type and derive the flip flop input maps or tables. Produce the logic equation and draw a block diagram. Use state reduction techniques to find a state table that produces the same input/output behavior. Derive a state table or state diagram to describe the behavior of the system. If necessary. From a word description. S6. S7. S3.
SP (Substitution Property): indicator for good state allocation.State assignment State assignment is to encode the state table into binary notation. the result is a transition table that combines nextstate table and the output table. Better state allocation results in an easy logic function for input of FF. C C1 a b c d a b c d divide state into blocks so that the next state of the same block exists in the same block C2 state is allocated to distinguish blocks of SP Page 294 .
State assignment current state q1 q2 q3 q4 q5 q6 current state u 1u2 u 3 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 0 next state input X 0 q2 q3 q1 q5 q6 q4 1 q4 q6 q5 q2 q1 q3 block 1 (q1.q3) block 2 (q4.q2.q6) This partition is SP The first bit is used to distinguish the blocks. 0 u u u 3+ 1+2+ 0 0 0 1 1 1 0 1 0 0 1 0 1 0 0 1 0 0 next state input X 1 u u2+ 3+ 1+ u 1 1 1 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 Page 295 .q5.
Chapter 5. Hardware Design Languages Page 296 .
The circuit counts from 0 to 13 then repeat. If x=0 the circuit counts up from 0 to 3 and repeat. Problem 3: Page 297 . Problem 2: Design a synchronous counter using JK with one input x.Problems Problem 1: Design a synchronous up/down counter using JK with one input x. if x=1 the circuit counts down from 3 downto 0 and repeat.
6.d.b.8.13.d Chapter 7: 7.Problems for sequential circuit design Textbook: Chapter 6: 6.15 Page 298 .5 – 7a.c. – 8a.5.9.11.b.d – 9a.c.6 – 4.c.b.
This action might not be possible to undo. Are you sure you want to continue?
Use one of your book credits to continue reading from where you left off, or restart the preview.