Download presentation
1
Chapter 4 Combinational Logic
2
Combinational Logic Circuit
Combinational circuit: logic circuit whose outputs at any time are determined directly and only from the present input combination. A combinational circuit performs a specific information-processing operation fully specified logically by a set of Boolean functions. Sequential circuit: one that employ memory elements in addition to (combinational) logic gates—their outputs are determined from the present input combination as well as the state of the memory cells.
3
Introduction The state of the memory elements, in turn, is a function of the previous inputs (and the previous state). Its behavior therefore is specified by a time sequence of inputs and internal states. In many applications, the source and the destination are storage registers. A combinational circuit also can be described by m Boolean functions, one for each output variable.
4
Block Diagram of a Combinational Circuit
n inputs m outputs Fig. 4-1: Block Diagram of Combinational Circuit
5
Analysis Procedure ABC A + B + C AB (AB + AC + BC)’ AB + AC + BC AC BC
(A + B + C)(AB + AC + BC)’ + ABC A + B + C AB (AB + AC + BC)’ AB + AC + BC AC BC
6
Design Procedure 1. Define the problem.
2. Determine the number of input/output variables. 3. Assign letter symbols to input/output variables. 4. Derive the truth table and defines the required relationships between inputs & outputs via KM. 5. Obtain the simplified Boolean function for each output. 6. Draw the logic diagram.
7
Adder The most basic arithmetic operation is the addition of 2 bits. A combinational circuit that performs this operation is called a half-adder. A combinational circuit that performs the addition of 3 bits is called a full-adder, which can be implemented by 2 half-adders.
8
Half Adder
9
Half Adder-Various Implementation
10
Full Adder
11
Full Adder
12
Implementation of FA
13
Implementation of FA S = z (x y) = z’(xy’ +xy’) + z (xy’ +x’y)’ = z’(xy’ +x’y) + z(xy + x’y’) = xy’z’ + x’yz’ + xyz + x’y’z The carry output is C = z(x’y + xy’) + xy = xy’z + x’yz + xy
14
Binary Subtractor Subtraction = addition of minuend and 2’s-complemented subtrahend. Also can implement subtraction directly—with half-subtractors and full-subtractors.
15
Subtractor Z در اینحا بیت قرض گرفته شده از مرحله قبلی یعنی مقداری که در مرحله قبل از x کم شده است. B خروجی رقم قرضی فعلی. اگر z=0 باشد مدار یک نیم تفریق گر خواهد بود.
16
Code Conversion Example
17
Maps for BCD to Excess-3 Code Converter
18
Maps for BCD to Excess-3 Code Converter
19
Code Conversion The expressions obtained may be manipulated algebraically for the purpose of using common gates for 2 or more outputs. w = A + BC + BD = A + B(C + D) x = B’C + B’D + BC’D’ = B’(C + D) + B(C + D)’ y = CD + C’D’ = CD + (C + D)’ z = D’
20
Binary Adder Iterative Logic Array (ILA)
21
Binary subtractor Iterative Logic Array (ILA)
22
4-Bit Adder Subtractor
23
طراحي مدار جمعكنندة BCD
مداري است كه دو عدد BCD را بعنوان ورودي پذيرفته و مجموع آنها را بصورت يك عدد BCD چهار بيت، همراه با يك بيت نقلي توليد ميكند. از آنجا كه هر عدد BCD از 0 تا 9 ميباشد ولي داراي چهار رقم است، شش حالت بلااستفاده وجود دارد كه بعنوان حالات بيتفاوت در نظر گرفته ميشوند. هر عدد BCD حداكثر ممكن است 9 باشد. با فرض اينكه هر دو برابر با 9 باشند و بيت نقلي از مرحلة قبل هم موجود باشد، بزرگترين عدد حاصل در خروجي ميتواند 9+9+1=19 باشد كه ميتوان آنرا با يك عدد BCD چهار رقمي و يك بيت نقلي نمايش داد. آن 6 حالت بلااستفاده در واقع هستن 23
24
BCD Adder کامپیوترها و ماشین حسابها عملیات محاسباتی را مستقیما در سیستم اعداد دهدهی انجام میدهند بنابراین جمع کننده ها باید اعداد را درسیستم دهدهی بپذیرند و نتیجه را در همین کد تحویل دهند. جمع کننده دهدهی چهار بیت برای کد کردن هر عدد نیاز دارد و یک رقم نقلی ورودی و یک رقم نقلی خروجی بنابراین 9 ورودی و 5 خروجی خواهد داشت. کد یک رقم دهدهی 4 بیتی دارای 6 حالت غیر معتبر است بنابراین تعدادی از ترکیبهای ورودی حالت بی اهمیت هستند.
25
BCD Adder چون مقدار رقم هر ورودی بیشتر از 9 نیست لذا مجموع خروجیها نیمتواند بیشتر از باشد در جمع BCD اعدادی که بزرگتر از 9 هستند دارای رقم نقلی 1 هستند. همانطور که در جدول صفحه بعد مشخص است مجموع اعداد باینری و BCD تنها زمانی متفاوت است که حاصلجع بیشتر از 9 باشد درصورتی که بخواهیم با استفاده از جمع کنند ه دودویی جمع کنند BCD را طراحی کنیم باید درحالیتکه جوابها متفاوتند حاصلجمع دودویی را با عدد 6 جمع کنیم حاصلجمع صحیح را بصورت BCD به ما میدهد. حال برای اینکه تشخیص دهیم چه زمانی این جمع باید انجام شود طبق جدول وقتی که یکی از شرایط زیر برقرار باشد: یا جمع دودویی دارای رقم نقلی باشد یا Z8و Z4 توما 1 باشند یا Z8و Z2 توما 1 باشند
26
Binary Multiplier با مقایسه جدول مشخص است که
27
Binary Multiplier با مقایسه جدول مشخص است که
28
Binary Multiplier
29
4-Bit by 3-Bit Binary Multiplier
30
Decoder
31
Decoder
32
دياگرام منطقي (موازي و خروجي هاي فعال بالا)
Truth Table E A B m0 m1 m2 m3 B A m0= AB 0 × × m1= AB m2= AB m3= AB
33
دياگرام منطقي (موازي و خروجي هاي فعال پايين)
B A m0 m1 m2 m3
34
2-to-4-Line Decoder with Enable Input
35
4 16 Decoder Constructed with Two 3 8 Decoders
36
پيادهسازي توابع بولي با استفاده از ديكدر
ديكدرها در واقع تمامي جملات مينيمم را توليد ميكنند. هر تابع بولي را ميتوان بصورت مجموعي از جملات مينيمم نشان داد. براي تبديل هر تابع بصورت مجموع جملات مينيمم روشهاي متفاوتي از جمله جدول كارنو وجود دارد. از تركيب يك ديكدر و يك گيت OR ميتوان هر تابعي را ساخت.
37
پيادهسازي تمام جمعكننده با ديكدر
روابط مربوط به تمامجمعكننده: C=x′yz+ x′yz′+xy′z′+xyz S=xy+xz+yz S(x,y,z)=∑(1,2,4,7) C(x,y,z)= ∑(3,5,6,7,)
38
انكودر يا رمزكننده عمل آن دقيقاً برعكس ديكدر است.
مداري ديجيتالي است كه حداكثر 2n ورودي و n خط خروجي دارد.در خروجي كد دودويي متناظر با مقدار ورودي توليد ميشود. با استفاده از چند گيت OR براحتي ساخته ميشود.
39
مثال: يك اينكدر براي براي چهار خط ورودي طراحي كنيد بشرطي كه در هر لحظه از زمان فقط يك ورودي فعال باشد. x0 4 –to- 2 Encoder A0 x1 x2 A1 x3
40
x3 x2 x1 x0 A1 A0 A1 A0 0 0 0 0 d 1 d 1 d d d A1= X2+X3 d d d d d d d
d d d 1 d 1 d d d d d A1= X2+X3 d d d d d d d d d d d d d A0 d d d d 1 d d d d d d d A0= X1+X3 d d d d d d d d 1 d d d d d d d
41
دياگرام منطقي A0= X1+X3 x1 x3 A1= X2+X3 x2 x0
42
انكودر با حقتقدم مدار رمزكنندهاي است كه شامل تابع حقتقدم ميباشد.
اگر دو ورودي يا بيشتر بطور همزمان مساوي با 1 شوند، ورودي با بالاترين حق تقدم برتري خواهد داشت. يك خروجي ديگر هم براي مدار در نظر گرفته ميشود كه هميشه مقدار آن 1 است بجز حالتي كه همة وروديهاي انكودر برابر با صفر باشند. بعبارت ديگر 1 بودن آن نشان دهندة معتبر بودن خروجي انكودر است.
43
انكودر 4 ورودي با حقتقدم
اگر همة وروديها برابر با صفر باشند، خروجي V بايد برابر با صفر باشد ودر غير اينصورت برابر با 1 خواهد بود. بالاترين حقتقدم متعلق به D3 و سپس به ترتيب به D2 ، D1 و نهايتاً D0 ميباشد. مدار داراي چهار ورودي و سه خروجي است. جدول درستي بصورت زير است:
44
جدول درستي براي انكودر با حق تقدم
وروديها خروجيها D0 D1 D2 D3 x y V X 1
45
جدول كارنو براي خروجيx انكودر
46
جدول كارنو براي خروجيy انكودر
47
مدار انكودر با حق تقدم
48
يك MUX 2 به 1 منظور از S همان ورودي انتخاب است. I1 و I2 نيز دو خط ورودي هستند.
49
مدار داخلي MUX (4 به 1)
50
MUX چهارتايي 2 خطي به 1 خطي
51
روشهاي پيادهسازي يك تابع بولي
با استفاده از گيتهاي منطقي با استفاده از مدارهاي MSI و LSI با استفاده از ديكدر با استفاده از مالتيپلكسر با استفاده از PLA
52
Boolean Function Implementation
53
پيادهسازي تابع بولي بوسيلة MUX
اگر تابع بولي داراي n+1 متغير باشد، nتا از آنها را به خطوط انتخاب MUX وصل ميكنيم. اگر A متغير منفرد (باقيمانده) تابع بولي باشد، وروديهاي MUX ميتوانند A، A′، 1 و يا 0 باشند. سادهتر اينست كه اولين يا آخرين متغير را بعنوان متغير منفرد انتخاب كرده، بقية متغيرها را به وروديهاي انتخاب MUX بدهيم.
54
مراحل پيادهسازي آخرين متغير را جدا كرده، بقيه رابه ترتيب به وروديهاي انتخاب MUX وصل كنيد. جدول درستي تابع را تشكيل دهيد. محتواي جدول درستي را از بالا دو سطر، دو سطر جدا كنيد. براي قسمتهاي جدا شده، اگر هر دو مقدار تابع برابر با: صفر هستند، آنگاه ورودي متناظر از MUX برابر با 0 قرار داده ميشود. 1 هستند، آنگاه ورودي متناظر از MUX برابر با 1 قرار داده ميشود. مقادير متغير منفرد هستند، آنگاه همان متغير منفرد به ورودي متناظر از MUX داده ميشود. مكمل مقادير متغير منفرد هستند، آنگاه مكمل متغير منفرد به ورودي متناظر از MUX داده ميشود.
55
مثال جدول درستي تابع بولي زير همراه با نحوةپيادهسازي آن توسط MUX نشان داده شده است:
56
مثال جدول درستي تابع بولي چهار متغيره زير همراه با نحوةپيادهسازي آن توسط MUX نشان داده شده است:
59
مثال1 : MUX 8 × 1 F(A , B ,C) = ∑ m(1, 2 , 3 , 5 ,6) a b c F I0 0 0 0
1 I1 1 MUX I2 1 F I3 1 I4 8 × 1 1 I5 1 I6 I7 a b c
60
مثال2 : MUX 4 × 1 c F(A , B ,C) = ∑ M(1 ,2 , 3, 6) a b c F 0 0 0 0 0 1
1 I0 c I0 MUX 1 I1 I1 I2 4 × 1 I2 I3 c I3 a b
61
مثال3 : 1 F(A , B ,C) = ∑ m(1, 2 , 4 , 5 ,6) a b c F I0 0 0 0 0 0 1
00 01 11 10 a a b c 1 F I0 1 I0= b c I1= b + c = bc 1 I1 I0 b c I0 F MUX 2 × 1 I1 I1 s0 a
62
مثال4 : a b c d F(A , B , C , D) = m(1 , 3 , 5 , 6 , 7 , 10 , 11 , 15) ∑ 1 I0 c d a b I0 1 1 00 01 I1 1 1 1 I1 11 1 I2 1 10 1 1 I3 I2 I0=d I1= d+c I2=C I3= cd I3
63
مثال4 : d I0 MUX I1 F c 4 × 1 I2 I3 a b
65
Multiplexers with Three-State Gates
66
Three-State Gates
67
2-to-1-Line Multiplexer
68
Stimulus and Design Modules Interacion
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.