Transcript Document
Logic Design with MSI Circuits • วัตถุประสงค์ของบทเรี ยน รู้จกั วงจรประเภท MSI เข้าใจการทางานของวงจร MSI ที่มีใช้อยูท่ วั่ ไป สามารถประยุกต์ใช้วงจร MSI ในการออกแบบ วงจรลอจิกแบบต่างๆ ได้ 1/2550 A. Yaicharoen 1 Type of Circuits Type of ci rcuits Number o f gates Small-scale integration (SSI) 1-10 Medium-scale integ ration (MSI) 10-100 Large-scale integration (LSI) 100-1,000 Very-large-scale integration (VLSI) 1,000 up หมายเหตุ หนังสื อบางเล่มแบ่งวงจรที่มีเกตตั้งแต่ 1,000,000 เกต ขึ้นไป ให้อยูใ่ นกลุุ่ม ULSI (Ultra-large-scale integration) 1/2550 A. Yaicharoen 2 Multiplexers (MUXs) - also called a data selector Input lines consist of - data lines: 2n lines - select lines: n lines - there may or may not be an enable line Output line: - output line: 1 line 1/2550 A. Yaicharoen 3 Multiplexer Function -Truth table of a 4:1 multiplexer (without enable) Select inputs Output S1 S0 Y 0 0 I0 0 1 I1 1 0 I2 1 1 I3 Y S1.S0 .I0 S1.S0 .I1 S1.S0 .I2 S1.S0 .I3 1/2550 A. Yaicharoen 4 Multiplexer Function -Truth table of a 4:1 multiplexer (with enable) Enable Select inputs Output E S1 S0 Y 0 X X 0 1 0 0 I0 1 0 1 I1 1 1 0 I2 1 1 1 I3 Y E.(S1.S0 .I0 S1.S0 .I1 S1.S0 .I2 S1.S0 .I3 ) 1/2550 A. Yaicharoen 5 Logic Circuit Design using Multiplexer Advantages No need for logic simplification Minimize the IC package count Simplify the logic design 1/2550 A. Yaicharoen 6 Logic Design using MUX Case 1: Number of inputs is equal to number of select lines Design procedure Identify the decimal number corresponding to each minterm in the expression Connect logic 1 level to input lines corresponding to these numbers Connect logic 0 level to the others Connect inputs to selected lines 1/2550 A. Yaicharoen 7 Case1: Inputs = Select lines a three-variable function using a 8-to-1-line multiplexer 1/2550 A. Yaicharoen 8 Example f(x,y,z) = m(0,2,3,5) using 8-to-1-line multiplexer 1/2550 A. Yaicharoen 9 Logic Design using MUX Case 2: Number of inputs is higher than number of select lines Procedure 2.1: Reduce the number of inputs to the number of select lines by • inspection • k-map 1/2550 A. Yaicharoen 10 Case 2 -Truth table of a 3 variable logic circuit Input 1/2550 Output Input Output x y z Y x y z Y 0 0 0 f0 0 0 1 f1 0 1 0 f2 0 1 1 f3 1 0 0 f4 1 0 1 f5 1 1 0 f6 1 1 1 f7 A. Yaicharoen 11 Case2.1: Reducing Inputs a 3-variable Boolean function using a 4-to-1-line multiplexer 1/2550 A. Yaicharoen 12 Example f(x,y,z) = m(0,2,3,5) using a 4-to-1-line multiplexer 1/2550 A. Yaicharoen 13 Reducing Inputs with K-map 1/2550 A. Yaicharoen 14 Example f(x,y,z) = m(0,2,3,5) 1/2550 A. Yaicharoen 15 More on Reducing Inputs (a) Applying input variables y and z to the S1 and S0 select lines. (b) Applying input variables x and y to the S0 and S1 select lines. 1/2550 A. Yaicharoen 16 Example f(x,y,z) = m(0,2,3,5) (a) Applying input variables y and z to the S1 and S0 select lines. (b) Applying input variables x and y to the S0 and S1 select lines. 1/2550 A. Yaicharoen 17 Reducing 4-input to 3-input 1/2550 A. Yaicharoen 18 Example f(w,x,y,z) = m(0,1,5,6,7,9,12,15) 1/2550 A. Yaicharoen 19 Logic Design using MUX Procedure 2.2: Use multiplexer tree when number of inputs exceeds the largest number of inputs on available ICs Can be done by one of these two techniques - connect the MSB input to the enable/strobe input - connect the MSB input to another multiplexer 1/2550 A. Yaicharoen 20 Demultiplexers/Decoders -Performs the reverse operation of a multiplexer Input lines are: - 1 data line - n select lines - maybe 1 enable Output lines are - 2n output lines 1/2550 A. Yaicharoen 21 Application Example A multiplexer/demultiplexer arrangement for information transmission 1/2550 A. Yaicharoen 22 Decoders A n-to-2n-line decoder is a circuit that only one of the output line responds to the n-input data. Number of input:output is n:2n (Note: a demultiplexer is a decoder with an enable input acting as a data input line A BCD to 7-segment decoder is a circuit that 7-bit output will make each segment of the 7-segment lit according to the 4-bit input 1/2550 A. Yaicharoen 23 3-to-8-line Decoder 1/2550 A. Yaicharoen 24 Application Example การใช้ 3-to-8-line decoder และ or-gate ในการสร้างวงจร f1(x2,x1,x0) = m(1,2,4,5) และ f2(x2,x1,x0) = m(1,5,7) 1/2550 A. Yaicharoen 25 Application Example f1(x2,x1,x0) = m(0,1,3,4,5,6) = m(2,7) and f2(x2,x1,x0) = m(1,2,3,4,6) = m(0,5,7) 1/2550 A. Yaicharoen 26 Application Example f1(x2,x1,x0) = M(0,1,3,5) and f2(x2,x1,x0) = M(1,3,6,7) (a) Using output or-gates. 1/2550 A. Yaicharoen (b) Using output nor-gates. 27 3-to-8-line decoder using nand-gates 1/2550 A. Yaicharoen 28 Application Example f1(x2,x1,x0) = m(0,2,6,7) and f2(x2,x1,x0) = m(3,5,6,7) (a) Using output and-gates. (b) Using output nand-gates. 1/2550 A. Yaicharoen 29 Decoder with Enable Input And-gate 2-to-4-line decoder with an enable input 1/2550 A. Yaicharoen 30 Encoders - Similar to decoders - Usually number of input lines are more than number of output lines Number of input:output is 2n:n 1/2550 A. Yaicharoen 31 Binary Adders Binary Half-Adder xi 0 0 1 1 1/2550 yi 0 1 0 1 si 0 1 1 0 Binary Full-Adder xi 0 0 0 0 1 1 1 1 ci 0 0 0 1 A. Yaicharoen yi 0 0 1 1 0 0 1 1 ci-1 0 1 0 1 0 1 0 1 si 0 1 1 0 1 0 0 1 ci 0 0 0 1 0 1 1 1 32 Binary Full-Adder si = xi'.yi'.ci+xi'.yi.ci'+xi.yi'.ci'+xi.yi.ci ci+1 = xi.yi + xi.ci + yi.ci 1/2550 A. Yaicharoen 33 Parallel Binary Adder Parallel (ripple) binary adder 1/2550 A. Yaicharoen 34 Binary Subtractor Binary Half-Subtractor Binary Full-Subtractor xi 0 0 1 1 xi 0 0 0 0 1 1 1 1 1/2550 yi 0 1 0 1 di 0 1 1 0 bi+1 0 1 0 0 A. Yaicharoen yi 0 0 1 1 0 0 1 1 bi 0 1 0 1 0 1 0 1 di 0 1 1 0 1 0 0 1 bi+1 0 1 1 1 0 0 0 1 35 Parallel Binary Subtractor Parallel (ripple) binary subtractor 1/2550 A. Yaicharoen 36 Parallel Binary Adder/Subtractor 1/2550 A. Yaicharoen 37 Carry Look-ahead Adder From Boolean expression of the F.A. ci+1 = xiyi + (xi+yi)ci Let’s gi = xiyi (carry-generate function) and pi = (xi+yi) (carry-propagate function) c1 = g0 + p0c0 c2 = g1 + p1c1 = g1 + p1(g0 + p0c0) = g1 + p1g0 + p1p0c0 1/2550 A. Yaicharoen 38 Carry Look-ahead Adder (cont.) c3 = g2 + p2c2 = g2 + p2(g1 + p1g0 + p1p0c0) = g2 + p2g1 + p2p1g0 + p2p1p0c0 ... ci+1 = gi + pigi-1 + pipi-1gi-2 + ... + pipi-1...p1g0 + pipi-1...p0c0 1/2550 A. Yaicharoen 39 Carry Look-ahead Adder (cont.) 1/2550 A. Yaicharoen 40 BCD Arithmetic BCD Adder Using a 4-bit binary adder to perform two one digit BCD addition a decimal 6 (binary 0 1 1 0) will be added to the result if the sum output is an invalid BCD or if a carry at the MSB is 1 each BCD adder can be cascaded for adding several BCD digits 1/2550 A. Yaicharoen 41 BCD Arithmetic BCD Subtractor Convert the subtrahend to its 9’s complement form Add the result to the minuend If the summation result is an invalid BCD code or if the carry from the MSB is 1, add decimal 6 (binary 0 1 1 0) and the end around carry (EAC) to this sum If the summation result is a valid BCD code, the result is negative and in the 9’s complement form 1/2550 A. Yaicharoen 42 Nine’s Complementer Circuit A 9’s complementer circuit is a circuit designed to convert a decimal digit (in BCD code) to its 9’s complement created by adding binary 1 0 1 0 to the 1’s complement of the number (ignore the carry) (Proof is left as a student exercise) 1/2550 A. Yaicharoen 43 Arithmetic Logic Unit (ALU) • performs arithmetic and logic operations (depends on the selected mode) • Read details and example in section 6.6 1/2550 A. Yaicharoen 44 Comparators A comparator is a circuit that compares the magnitudes of two binary numbers Input: Ai, Bi, Gi, Ei, Li Gi= 1 when Ai-1Ai-2...A1A0 > Bi-1Bi-2...B1B0 Ei= 1 when Ai-1Ai-2...A1A0 = Bi-1Bi-2...B1B0 Li= 1 when Ai-1Ai-2...A1A0 < Bi-1Bi-2...B1B0 Output: Gi+1, Ei+1, Li+1 Gi+1= 1 when AiAi-1...A1A0 > BiBi-1...B1B0 Ei+1= 1 when AiAi-1...A1A0 = BiBi-1...B1B0 Li+1= 1 when AiAi-1...A1A0 < BiBi-1...B1B0 1/2550 A. Yaicharoen 45 1-bit Comparator 1/2550 A. Yaicharoen 46 Other MSI Circuits • Parity generators/checkers • Code converters BCD-to-binary converter Binary-to-BCD converter • Priority encoders Decimal-to-BCD encoder Octal-to-binary Encoder • Decoder/drivers for display devices BCD-to-decimal decoder/driver BCD-to-7-segment decoder/driver 1/2550 A. Yaicharoen 47