Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 4 Combinational Logic

Similar presentations


Presentation on theme: "Chapter 4 Combinational Logic"— Presentation transcript:

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 نشان داده شده است:

57

58

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

64

65 Multiplexers with Three-State Gates

66 Three-State Gates

67 2-to-1-Line Multiplexer

68 Stimulus and Design Modules Interacion


Download ppt "Chapter 4 Combinational Logic"

Similar presentations


Ads by Google