مدار منطقی Logic Circuits

Slides:



Advertisements
Similar presentations
Awe sim.
Advertisements

فصل چهارم مدارهای ترکیبی.
معاونت درمان امور مامایی اردیبهشت 90. برای ثبت اطلاعات در برنامه نرم افزاری نظام مراقبت مرگ پریناتال ابتدا لازم است برنامه نرم افزار info-path وپرنیان.
Decision Tree.
Combinational Circuits
Combinational Circuits
Combinational Circuits
Boolean Algebra and Logic Gates 1 Computer Engineering (Logic Circuits) Lec. # 8 (Combinational Logic Circuit) Dr. Tamer Samy Gaafar Dept. of Computer.
طراحی مدارهای منطقی نیمسال دوم دانشگاه آزاد اسلامی واحد پرند.
Database Laboratory: Session #4 Akram Shokri. DB-Lab 2 Lab Activity You must already created all tables You have to have inserted proper data in tables.
موضوع: دبير مربوطه: آموزشگاه : اجرا : عبارتهای جبری خانم مقصودی
Stepper Motor Configuration
1 Chapter 4 Combinational Logic Logic circuits for digital systems may be combinational or sequential. A combinational circuit consists of input variables,
Chapter Four Combinational Logic 1. C OMBINATIONAL C IRCUITS It consists of input variables, logic gates and output variables. Output is function of input.
Arrangements of Lines C omputational Geometry By Samaneh shafi naderi
پیاده سازی کنترلر PC/104. Contents PC/104 پیاده سازی کنترلر HILتست 1.
Presented by A. Maleki Fall Semester, 2010
آشنايي با سيستم اعداد.
LINEAR CONTROL SYSTEMS Ali Karimpour Associate Professor Ferdowsi University of Mashhad.
Part 4 Combinational Logic.
[c.
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
فصل 4- محاسبات زمانی در شبکه AoA
تمرین هفتم بسم الله الرحمن الرحیم درس یادگیری ماشین محمدعلی کیوان راد
هیدروگراف(Hydrograph) تهیه : دکتر محمد مهدی احمدی
مدار منطقی Logic Circuits
بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics
SY800 router mode [AD-14-TB ].
ساختمان داده ها جداول درهم سازی
ساختمان داده‌ها الگوریتمهای کوتاهترین مسیر
الکترونیک دیجیتال منطق TTL
آزمایشگاه پایگاه داده ها قیود در جداول یک پایگاه داده در SQL Server
چگونه بفهمیم آیا ژورنالی ISI است؟ ایمپکت فاکتور دارد یا خیر؟
منبع: & کتابMICROELECTRONIC CIRCUITS 5/e Sedra/Smith
فصل دوم جبر بول.
تکنیک دیماتل DEMATEL: decision making trial and evaluation laboratory.
بررسی قطبش در لیزر های کاواک عمودی گسیل سطحی(vcsel)
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
نمايش اعداد در کامپيوتر چهار عمل اصلي
1.
آشنایی با پایگاه داده mysql
مدار منطقی Logic Circuits
Tree Sort.
کوئیز از جلسه قبل) کارخانه ای در حال خرید قطعه‌ای برای یکی از ماشین‌آلات خود می باشد اگر نرخ بهره 10% برای محاسبات فرض شود، دو مدل از قطعه ماشین در دسترس.
مدارهای منطقی فصل سوم - خصوصیات توابع سويیچی
INTRODUCTION TO LOGIC DESIGN Chapter 4 Combinational Logic
دینامیک سیستمهای قدرت مدرس: دکتر مهدی بانژاد
معماري کامپيوتر استاد درس: منصور فاتح.
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
Bucket sort اكرم منوچهري زهرا منوچهري
مدار منطقی Logic Circuits
Ch 4. Combinational logic
مدار منطقی Logic Circuits
اهداف درس این جلسه حل مساله کوله پشتی با رویکرد حریصانه مقایسه رویکرد حریصانه با برنامه‌نویسی پویا در حل مساله.
پشته و صف پیوندی Give qualifications of instructors: DAP
بسم الله الرحمن الرحیم هرس درخت تصمیم Dr.vahidipour Zahra bayat
با تشکر از جناب آقای مهندس بگ محمدی
IN THE NAME OF GOD MATH SABA KARBALAEI
فصل ششم مدارهای ترتیبی.
ساختمان داده‌ها درختان و درختان دودویی
مدار منطقي مظفر بگ محمدي
مدار منطقي مظفر بگ محمدي
به نام یکتای دانا فصل اول: متدها و قواعد.
نسبت جرم فرمولی ”جرم اتمی و فرمول تجربی
Digital System Design Combinational Logic
پشته و صف پیوندی Give qualifications of instructors: DAP
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
ساختمان داده ها گرافها.
سد خونی- مغزی. تکنولوژی نمایش فاژی و کاربرد آن  مقدمه و تاریخچه  نمایش فاژی در تولید آنتی بادی مونوکونال.
Presentation transcript:

مدار منطقی Logic Circuits Combinational Logics

Combinational Circuits Princess Sumaya University 4241 - Digital Logic Design Combinational Circuits Output is a function of input only i.e. no feedback When input changes, output may change (after a delay) Combinational Circuits n inputs m outputs • • در مدارات ترکیبی خروجی مدار در هر لحظه فقط و فقط تابع ورودی های مدار در همان لحظه میباشد. مدارات ترکیبی از ترکیب گیت های منطقی به وجود میآیند. در مقابل مدارهای ترتیبی وجود دارند که در آنها علاوه بر گیتهای منطقی عناصر حافظه دار نیز وجود دارند و در نتیجه خروجی این مدارات به مقادری ورودی و حالت عناصر حافظه دار بستگی دارد و چون حالت عناصر حافظه دار از روی وردیهای قبلی به دست آمده بنابراین میتوان گفت خروجی مدار در هر لحظه به ورودیهای همان لحظه و ورودیهای لحظه های قبلی بستگی دارد و برای تحلیل این مدارات باید زمان بندی ورودیها را در نظر داشت. در این فصل در مورد مراحل تحلیل و طراحی مدارات ترکیبی بجث میشود و بعضی از مدارات مهم و کاربردی مانند جمع و تفریق کننده و مقایسه کننده، Decoder و Encoder و Multiplexer را بررسی می کنیم. مدارات این ادوات در رستة MSI(Medium scale integrated Circuits) قرار میگیرند.  Dr. Bassam Kahhaleh

Combinational Circuits Princess Sumaya University 4241 - Digital Logic Design Combinational Circuits Analysis Given a circuit, find out its function Function may be expressed as: Boolean function Truth table Design Given a desired function, determine its circuit ? تحلیل مدار در مهندسی معکوس کاربرد دارد. ? Dr. Bassam Kahhaleh

Princess Sumaya University 4241 - Digital Logic Design Analysis Procedure Boolean Expression Approach T2=ABC T1=A+B+C T3=AB'C'+A'BC'+A'B'C F’2=(A’+B’)(A’+C’)(B’+C’) در اولین قدم باید مطمئن شد که مدار ترکیبی است. مدار ترکیبی فاقد فیدبک و یا عنصر حافظه دار است. مدار بالا Full Adder است. F2=AB+AC+BC F1=AB'C'+A'BC'+A'B'C+ABC F2=AB+AC+BC Dr. Bassam Kahhaleh

Princess Sumaya University Analysis Procedure 4241 - Digital Logic Design Truth Table Approach A B C F1 F2 0 0 0 0 0 = 0 1 Dr. Bassam Kahhaleh

Princess Sumaya University Analysis Procedure 4241 - Digital Logic Design Truth Table Approach A B C F1 F2 0 0 0 0 0 1 = 0 = 1 1 1 1 0 1 1 Dr. Bassam Kahhaleh

Princess Sumaya University Analysis Procedure 4241 - Digital Logic Design Truth Table Approach A B C F1 F2 0 0 0 0 0 1 1 0 1 0 = 0 = 1 1 1 1 0 1 1 Dr. Bassam Kahhaleh

Princess Sumaya University Analysis Procedure 4241 - Digital Logic Design Truth Table Approach A B C F1 F2 0 0 0 0 0 1 1 0 1 0 0 1 1 = 0 = 1 1 0 1 1 Dr. Bassam Kahhaleh

Princess Sumaya University Analysis Procedure 4241 - Digital Logic Design Truth Table Approach A B C F1 F2 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 = 1 = 0 1 1 1 1 0 1 Dr. Bassam Kahhaleh

Princess Sumaya University Analysis Procedure 4241 - Digital Logic Design Truth Table Approach A B C F1 F2 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 = 1 = 0 1 0 1 1 Dr. Bassam Kahhaleh

Princess Sumaya University Analysis Procedure 4241 - Digital Logic Design Truth Table Approach A B C F1 F2 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 = 1 = 0 1 0 1 1 Dr. Bassam Kahhaleh

Princess Sumaya University Analysis Procedure 4241 - Digital Logic Design Truth Table Approach A B C F1 F2 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 = 1 1 1 1 1 1 B 1 A C B 1 A C F1=AB'C'+A'BC'+A'B'C+ABC F2=AB+AC+BC Dr. Bassam Kahhaleh

Princess Sumaya University Design Procedure 4241 - Digital Logic Design Given a problem statement: Determine the number of inputs and outputs Derive the truth table Simplify the Boolean expression for each output Produce the required circuit Example: Design a circuit to convert a “BCD” code to “Excess 3” code ? 4-bits 0-9 values 4-bits Value+3 Dr. Bassam Kahhaleh

Princess Sumaya University Design Procedure 4241 - Digital Logic Design BCD-to-Excess 3 Converter C 1 B A x D C 1 B A x D A B C D w x y z 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 x x x x 1 1 0 1 1 1 1 0 1 1 1 1 w = A+BC+BD x = B’C+B’D+BC’D’ C 1 B A x D C 1 B A x D y = C’D’+CD z = D’ Dr. Bassam Kahhaleh

Princess Sumaya University Design Procedure 4241 - Digital Logic Design BCD-to-Excess 3 Converter A B C D w x y z 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 x x x x 1 1 0 1 1 1 1 0 1 1 1 1 برای کمتر شدن گیت ها باید توابع را تا می توانیم یکسان کنیم مثلاً در این مثال C+D همه جا وجود میآید و بنابراین میتوان با استفاده از یک گیت or آنرا تولید کرد و در سایر حاها استفاده کرد. در پباده سازی عملی باید ملاحظات متنوعی را در نظر گرفت: مثلا تعداد ورودیهای هر گیت، حداکثر تاخیر مجاز، Fan out گیتها و .... w = A + B(C+D) y = (C+D)’ + CD x = B’(C+D) + B(C+D)’ z = D’ Dr. Bassam Kahhaleh

Seven-Segment Decoder Princess Sumaya University 4241 - Digital Logic Design Seven-Segment Decoder a b c g e d f w x y z a b c d e f g 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 0 1 0 x x x x x x x 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 ? w x y z a b c d e f g BCD code y 1 x w z توضیج آند مشترک و کاتد مشترک. مقاومت محدود کننده جریان a = w + y + xz + x’z’ b = . . . c = . . . d = . . . Dr. Bassam Kahhaleh

Princess Sumaya University 4241 - Digital Logic Design Binary Adder Half Adder Adds 1-bit plus 1-bit Produces Sum and Carry HA x y S C x + y ─── C S x y C S 0 0 0 0 0 1 0 1 1 0 1 1 1 0 x y S C Dr. Bassam Kahhaleh

Princess Sumaya University 4241 - Digital Logic Design Binary Adder Full Adder Adds 1-bit plus 1-bit plus 1-bit Produces Sum and Carry FA x y z S C x + y + z ─── C S y 1 x z x y z C S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 0 1 1 1 1 1 S = xy'z'+x'yz'+x'y'z+xyz = x  y  z y 1 x z C = xy + xz + yz Dr. Bassam Kahhaleh

Princess Sumaya University Binary Adder Princess Sumaya University 4241 - Digital Logic Design Full Adder S = xy'z'+x'yz'+x'y'z+xyz = x  y  z C = xy + xz + yz x y z S C S C x y z Dr. Bassam Kahhaleh

Princess Sumaya University Binary Adder 4241 - Digital Logic Design Full Adder HA HA x y z S C x y z S C Dr. Bassam Kahhaleh

Princess Sumaya University 4241 - Digital Logic Design Binary Adder Binary Adder x3x2x1x0 y3y2y1y0 S3S2S1S0 C0 Cy c3 c2 c1 . + x3 x2 x1 x0 + y3 y2 y1 y0 ──────── Cy S3 S2 S1 S0 Carry Propagate Addition x3 x2 x1 x0 y3 y2 y1 y0 FA FA FA FA C4 C3 C2 C1 S3 S2 S1 S0 Dr. Bassam Kahhaleh

Princess Sumaya University 4241 - Digital Logic Design Binary Adder Carry Propagate Adder(Ripple Carry Adder) x7 x6 x5 x4 x3 x2 x1 x0 y7 y6 y5 y4 y3 y2 y1 y0 CPA A3 A2 A1 A0 B3 B2 B1 B0 S3 S2 S1 S0 C0 Cy CPA A3 A2 A1 A0 B3 B2 B1 B0 Cy C0 S3 S2 S1 S0 S7 S6 S5 S4 S3 S2 S1 S0 Dr. Bassam Kahhaleh

Carry Propagation When the correct outputs are available The critical path counts (the worst case) (A1, B1, C1) → C2 → C3 → C4 → (C5, S4) When 4-bits full-adder → 8 gate levels (n-bits: 2n gate levels) سیگنالهای P(Carry Propagation) و G(Carry Generation) فقط و فقط به ورودیها بستگی دارند و بلافاصله بعد از اعمال ورودیها در کلیه طبقات بعد از تاخیر مربوط به گیت خود تولید میشوند و این تاخیر ثابت است و جمع شونده نیست. اما تاخیری که در مراحل مختلف مرتبا جمع میشود مربوط به Carry Propagation است، که همان گیت And و OR آخری است. چون در هر مرحله این گیتها با هم سری میشوند و تاخیر آنها با هم جمع می شود. بنابراین در هر مرحله 2 گیت تاخیر اضافه میشود. سیگنال Gi به معنی Carry Generation است یعنی سیگنال Carry در مرحلة i تولید میشود که شرط آن یک بودن Ai و Bi با هم است که با هم AND شده اند. سیگنال Pi به معنی Carry Propagation است که یعنی سیگنال Carry از مرحلة قبل آمده است و در این مرحله نیز به مرحلة بعد Propagate می کند که شرط آن یک بودن یکی از سیگنالهای Ai و یا Bi و همچنین یک یودن سیگنال Carry از مرحلة قبل است. که تاخیر اصلی نیز توسط همین Propagation تولید میشود. Full Adder with P and G Shown

Parallel Adders Reduce the carry propagation delay Employ faster gates Look-ahead carry (more complex mechanism, yet faster) Carry propagate: Pi = AiÅBi Carry generate: Gi = AiBi Sum: Si = PiÅCi Carry: Ci+1 = Gi+PiCi C0 = Input carry C1 = G0+P0C0 C2 = G1+P1C1 = G1+P1(G0+P0C0) = G1+P1G0+P1P0C0 C3 = G2+P2C2 = G2+P2G1+P2P1G0+P2P1P0C0 معنی مفهومی فرمول C3 یعنی اینکه سیگنال کری C3 به شرطی تولید میشود که یا در مرحلة دوم کری تولید شود(G2) و یا اینکه در مرحلة اول تولید شود و در مرحلة دوم انتشار یابد(P2G1) و یا اینکه در مرحلة صفرم تولید شود و در مراحل اول و دوم انتشار یابد(P2P1G0) و در نهایت یا اینکه در مرحلة صفرم کری وجود داشته باشد و در مراحل صفر و یک و دو انتشار یابد(P2P1P0C0)

Carry Look-ahead Adder (1/2) Logic Diagram Logic Diagram of Carry Look-ahead Generator

Carry Look-ahead Adder (2/2) 4-bit carry-look ahead adder Propagation delay of C3, C2 and C1 are equal. البته برابر بودن تاخیرها به شرطی است که دارای گیتهای n ورودی باشیم و اگر دارای محدودیت در تعداد ورودیها داشته باشیم کریهای مراحل بالاتر با تاخیر بیشتری تولید خواهند شد ولی به هر حال از روش قبل سریعتر است. تاخیر کل مدار جمع کننده برابر با 4 تاخیر گیت است. دو تاخیر در تولید کری و دو تاخیر نیز در تولید سیگنال نهایی si 4-Bit Adder with Carry Look-ahead

Binary Adder

Princess Sumaya University 4241 - Digital Logic Design Binary Subtractor Use 2’s complement with binary adder x – y = x + (-y) = x + y’ + 1 Dr. Bassam Kahhaleh

Binary Adder/Subtractor Princess Sumaya University 4241 - Digital Logic Design Binary Adder/Subtractor M: Control Signal (Mode) M=0  F = x + y M=1  F = x – y Dr. Bassam Kahhaleh

Overflow Unsigned numbers Signed numbers Addition  Carry means the result is n+1 Subtraction Carry = not(Borrow) C = 1  Result is correct and positive C = 0  Result is negative! (Take 2’s complement and place minus sign in front of it) Signed numbers Carry has no useful meaning We should check overflow and sign bit سرریز وقتی اتفاق می افتد که نتیجه جمع و یا تفریق دو عدد n رقمی برابر با عددی n+1 رقمی شود. 1- در جمع اعداد بدون علامت وقوع Carry همان معنای سرریز را دارد. 2- در تفریق اعداد بدون علامت چون تفریق با استفاده از جمع متمم دو انجام میشود Carry به معنای not قرض است. بنابراین اگر Carry یک شد یعنی قرضی لازم نبوده و حاصل درست است. اگر Carry صفر شد یعنی قرض نیاز داشته و حاصل عددی منفی است و باید از ان متمم دو گرفت و علامت منفی جلوی آن گذاشت. 3- در جمع و تفریق اعداد علامت دار بیت Carry مفهومی ندارد و باید به بیت Overflow نگاه کنیم.

Number wheel representation of 4-bit system Possible Overflow

Overflow When the results of adding/subtracting two numbers of n digit occupies n + 1 digit If the carry in to the sign position is not equal to the carry out of the sign bit position an overflow is detected.

Princess Sumaya University 4241 - Digital Logic Design Overflow Unsigned Binary Numbers 2’s Complement Numbers FA x3 x2 x1 x0 y3 y2 y1 y0 S3 S2 S1 S0 C4 C3 C2 C1 Carry FA x3 x2 x1 x0 y3 y2 y1 y0 S3 S2 S1 S0 C4 C3 C2 C1 این مدار به طور کلی برای همه حالات استفاده میشود چه عدد علامت دار باشد چه بدون علامت. اگر بعد از انجام عمل سراغ بیت C رفتیم یعنی عدد بدون علامت در نظر گرفتیم. اگر بعد از انجام عمل سراغ بیت V رفتیم یعنی عدد علامت دار در نظر گرفتیم. Overflow Dr. Bassam Kahhaleh

Princess Sumaya University 4241 - Digital Logic Design BCD Adder 4-bits plus 4-bits Operands and Result: 0 to 9 + x3 x2 x1 x0 + y3 y2 y1 y0 ──────── Cy S3 S2 S1 S0 X +Y x3 x2 x1 x0 y3 y2 y1 y0 Sum Cy S3 S2 S1 S0 0 + 0 0 0 0 0 = 0 0 + 1 0 0 0 0 0 0 0 1 = 1 0 + 2 0 0 0 0 0 0 1 0 = 2 0 + 9 0 0 0 0 1 0 0 1 = 9 1 + 0 0 0 0 1 0 0 0 0 = 1 1 + 1 0 0 0 1 = 2 0 0 1 0 1 + 8 0 0 0 1 1 0 0 0 = 9 1 0 0 1 1 + 9 0 0 0 1 1 0 0 1 = A 1 0 1 0 Invalid Code 2 + 0 0 0 1 0 0 0 0 0 = 2 9 + 9 1 0 0 1 = 18 1 0 0 1 0 Wrong BCD Value 0001 1000 Dr. Bassam Kahhaleh

Princess Sumaya University BCD Adder 4241 - Digital Logic Design X +Y x3 x2 x1 x0 y3 y2 y1 y0 Sum Cy S3 S2 S1 S0 Required BCD Output Value 9 + 0 1 0 0 1 0 0 0 0 = 9 0 0 0 0 1 0 0 1 9 + 1 0 0 0 1 = 10 1 0 1 0 0 0 0 1 0 0 0 0 = 16 9 + 2 0 0 1 0 = 11 1 0 1 1 0 0 0 1 0 0 0 1 = 17 9 + 3 0 0 1 1 = 12 1 1 0 0 0 0 0 1 0 0 1 0 = 18 9 + 4 0 1 0 0 = 13 1 1 0 1 0 0 0 1 0 0 1 1 = 19 9 + 5 0 1 0 1 = 14 1 1 1 0 0 0 0 1 0 1 0 0 = 20 9 + 6 0 1 1 0 = 15 1 1 1 1 0 0 0 1 0 1 0 1 = 21 9 + 7 0 1 1 1 1 0 0 0 1 0 1 1 0 = 22 9 + 8 1 0 0 0 0 0 0 1 0 1 1 1 = 23 9 + 9 0 0 0 1 1 0 0 0 = 24  بنابراین میبینبم در جمع اعداد BCD به روش باینری اگر حاصل دارای کری بود و یا عددی بین A تا F است نیاز به تصحیح دارد. + 6 Dr. Bassam Kahhaleh

Princess Sumaya University BCD Adder 4241 - Digital Logic Design Correct Binary Adder’s Output (+6) If the result is between ‘A’ and ‘F’ Or if Cy = 1 S3 S2 S1 S0 Err 0 0 0 0 1 0 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 S1 S2 S3 1 S0 بدون جدول کارنو نیز می توان به راحتی تشخیص داد معادله به چه صورت است. وقتی نتیجه بین A تا F است که S3 یک باشد و S1 و یا S2 نیز یک باشند. Err = S3 S2 + S3 S1 + Cy Dr. Bassam Kahhaleh

Princess Sumaya University 4241 - Digital Logic Design BCD Adder Err میتوان این مدار را بلوک دیاگرام کرد و با اتصال سری ان به یکدیگر اعداد BCD چند رقمی را با هم جمع کرد. Dr. Bassam Kahhaleh

Binary Multiplier The multiplicand is multiplied by each bit of the multiplier, starting from the least significant bit. Each such multiplication forms a partial product. Successive partial products are shifted one position to the left. The final product is obtained from the sum of the partial products. Multiplicand Multiplier

Binary Multiplier در اینجا توانستیم جمع ها را با HA انجام دهیم ولی در حالت کلی به FA نیاز داریم.

Binary Multiplier J multiplier bits, and K multiplicand bits Result  J+K Bits J×K AND Gates (J-1) Adders K bit Adders Multiplicand(K-Bit) Multiplier(J-Bit)

Binary Multiplier B3B2B1B0  K = 4 A2A1A0  J = 3 این در واقع یکی از تکنیک های ضرب است. برای ضرب تکنبکهای متنوع و سریع تری وجود دارد. تمرین با نمره اضافی

Princess Sumaya University Magnitude Comparator 4241 - Digital Logic Design Compare 4-bit number to 4-bit number 3 Outputs: < , = , > Expandable to more number of bits A3A2A1A0 B3B2B1B0 Magnitude Comparator جدول حالت برای مقایسه دو عدد n بیتی دارای 22n سطر است که خیلی بزرگ است. در این مسائل الگوریتم حل مسئاله را باید بیابیم. به طور حسی حل کردن این مسائل بسیار ساده تر از راه حل سیتماتیک جدول کارنو است. ما در اینجا نیاز به جدول کارنو 8 متغییره داریم. حل حسی 1- تشخیص مساوی بودن : باید تمام بیتها با هم برابر باشند. تابع XNOR 2- بزرگ تر بودن A از B : باید بیت MSB A یک باشد و بیت MSB B صفر باشد و یا این دوبیت باهم برابر باشند و بیت رتبة بعدی در A یک و در B صفر باشد و الی آخر. سئوال: مداری که دو عدد علامت دار را مقایسه کند. مداری که یک عدد علامت دار و بدون علامت را مقایسه کند. مداری که دو عدد با طول متفاوت را مقایسه کند. A<B A=B A>B Dr. Bassam Kahhaleh

Princess Sumaya University Magnitude Comparator 4241 - Digital Logic Design Dr. Bassam Kahhaleh

Princess Sumaya University 4241 - Digital Logic Design Magnitude Comparator x7 x6 x5 x4 x3 x2 x1 x0 y7 y6 y5 y4 y3 y2 y1 y0 Magnitude Comparator A3 A2 A1 A0 B3 B2 B1 B0 A<B A=B A>B I(A>B) I(A=B) I(A<B) Magnitude Comparator A3 A2 A1 A0 B3 B2 B1 B0 1 I(A>B) I(A=B) I(A<B) A<B A=B A>B فرض کنید مدار دارای ورودیهای مقایسه است که مربوط به مراحل بالاتر است. طراحی کنید A<B A=B A>B Dr. Bassam Kahhaleh

Princess Sumaya University 4241 - Digital Logic Design Decoders Extract “Information” from the code Binary Decoder Example: 2-bit Binary Number Only one lamp will turn on 1 2 3 minterms Binary Decoder x1 x0 1 Dr. Bassam Kahhaleh

Decoders 2-to-4 Line Decoder Binary Decoder I1 I0 y3 y2 y1 y0 I1 I0 اگر گیت های خروجی گیت NAND باشد مدار Active Low میشود. I1 I0 Y3 Y2 Y1 Y0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0

Decoders 3-to-8 Line Decoder Y7 Y6 Y5 Binary Decoder Y4 Y3 Y2 I2 Y1 I1

Decoders “Enable” Control Binary Decoder I1 I0 E Y3 Y2 Y1 Y0 E I1 I0 x x 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0 سیگنال Enable نیز میتواند Active High و یا Active Low باشد. همچنین ممکن است چند ورودی Enable وجود داشته باشد. Decoder با ورودی Enable میتواند به عنوان Demultiplexer نیز عمل کند و دقیقا مدار آنها نیز یکسان است. در حالت Demultiplex ورودی E ورودی دیتا خواهد بود و ورودی I1 و I0 ورودی های Select هستند و دیتایی که برروی E قرار میگیرد فقط برروی خروجی که توسط I0 و I1 انتخاب شده اند قرار میگیرد.

Decoders Expansion I2 I1 I0 I2 I1 I0 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 Binary Decoder I0 I1 E Y3 Y2 Y1 Y0 Y7 Y6 Y5 Y4 در کتاب مثالی که حل کرده با فرض Active Low بودن سیگنال Enable است.

Decoders Active-High / Active-Low I1 I0 Y3 Y2 Y1 Y0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0 I1 I0 Y3 Y2 Y1 Y0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 1 0 1 1 1 1 0 1 1 1 Binary Decoder I1 I0 Y3 Y2 Y1 Y0 Binary Decoder I1 I0 Y3 Y2 Y1 Y0

Implementation Using Decoders Each output is a minterm All minterms are produced Sum the required minterms Example: Full Adder S(x, y, z) = ∑(1, 2, 4, 7) C(x, y, z) = ∑(3, 5, 6, 7) I2 I1 I0 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 Binary Decoder x y z S C البته این پیاده سازی ساده ترین نوع پیاده سازی نیست و یک نوع پیاده سازی هزینه بر است. این روش وقتی کارا است که بخواهیم چندین تابع را با هم پیاده کنیم نکته: اگر تابعی دارای مینمم ترم های زیادی باشد آنگاه در این روش گیت Or استفاده شده باید دارای ورودیهای زیادی باشد.(به ازای هر مینمم ترم یک ورودی نیاز است.) در این مواقع میتوان تابع F′ که دارای مینمم ترم های کمتری است را در نظر گرفت و در نهایت به جای گیت OR از گیت NOR استفاده کرد تا پریم آن خنثی و تابع F بدست آید. در این صورت گیت NOR مورد استفاده دارای ورودیهای کمتری خواهد بود.

Implementation Using Decoders Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 Binary Decoder x y z S C I2 I1 I0 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 Binary Decoder x y z S C

Only one switch should be activated at a time Encoders Put “Information” into code Binary Encoder Example: 4-to-2 Binary Encoder Only one switch should be activated at a time 1 2 3 Binary Encoder y1 y0 x1 x2 x3 x3 x2 x1 y1 y0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 وقتی هیچ کلیدی فشار داده نشده است کد صفر است. یا می تواند صفر به عنوان یک ورودی نیز در نظر گرفت

Encoders Octal-to-Binary Encoder (8-to-3) Binary Encoder Y2 Y1 Y0 I7 I4 I3 I2 I1 I0 I7 I6 I5 I4 I3 I2 I1 I0 Y2 Y1 Y0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 این Encoder دارای دو محدودیت است اولا فرض بر این است که فقط یکی از ورودی ها در هر لحظه فعال است و اگر دو وردی در یک زمان فعال باشد خروجی اشتباه می شود. و ثانیا هنگامی که هیچ ورودی فعال نباشد نیز خروجی صفر فعال است که دقیقا شبیه حالتی است که ورودی صفر فعال است. برای رفع عیب اول باید از Encoder اولویت استفاده کرد و برای رفع مشکل دوم باید یک خروجی اضافی در نظر گرفت که نشان دهد حداقل یک ورودی فعال شده است.

Priority Encoders 4-Input Priority Encoder Priority Encoder V Y1 Y0 I3 I3 I2 I1 I0 Y1 Y0 V 0 0 0 0 0 0 0 0 0 1 1 0 0 1 x 0 1 0 1 x x 1 0 1 x x x 1 1 V Valid bit indicator Y1 I1 1 I2 I3 I0

Encoder / Decoder Pairs Binary Encoder Binary Decoder Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 7 7 I7 I6 I5 I4 I3 I2 I1 I0 6 6 5 5 Y2 Y1 Y0 I2 I1 I0 4 4 3 3 2 2 1 1

Multiplexers S1 S0 Y 0 0 I0 0 1 I1 1 0 I2 1 1 I3 MUX Y I0 I1 I2 I3 0 0 I0 0 1 I1 1 0 I2 1 1 I3 MUX Y I0 I1 I2 I3 S1 S0

Multiplexers 2-to-1 MUX 4-to-1 MUX I0 MUX I1 Y S I0 I1 MUX I2 I3 Y قسمت انتخاب شده بسیار شبیه مدار دیکودر 2 به 4 است که برای هر گیت AND یک ورودی اطلاعات نیز اضافه شده است. به سادگی می توان با یک دیکدر 2 به 4 و چهار عدد گیت AND یک MUX 4 به 1 ساخت. MUX Y I0 I1 I2 I3 S1 S0

Multiplexers Quad 2-to-1 MUX x3 y3 x2 y2 x1 y1 x0 y0 I0 MUX I1 Y S S S E Y3 Y2 Y1 Y0 B3 B2 B1 B0 مسئالة Fan out برای سیگنالهای S و E وجود دارد. چون ممکن است از بیرون به چند جای دیگر نیز بروند و اصولا نباید یک گیت و IC اینقدر برروی یک سیگنال Fan out ایجاد کند. S

Multiplexers Quad 2-to-1 MUX A3 A2 A1 A0 MUX Y3 Y2 Y1 Y0 B3 B2 B1 B0 S E Y3 Y2 Y1 Y0 B3 B2 B1 B0 Extra Buffers

Implementation Using Multiplexers Example F(x, y) = ∑(0, 1, 3) x y F 0 0 1 0 1 1 0 1 1 MUX Y I0 I1 I2 I3 S1 S0 1 F در قسمت قبل دیدیم که می توان به کمک Decoder و OR خارجی توابع را پیاده سازی کرد. در مدار MUX دیدیم که تشکیل شده از یک دیکودر به همراه یک OR بنابراین میتوان از MUX نیز برای پیاده سازی توابع استفاده کرد و هیچ المان خارجی نیز نیاز نداریم. x y

Implementation Using Multiplexers Example F(x, y, z) = ∑(1, 2, 6, 7) MUX Y I0 I1 I2 I3 I4 I5 I6 I7 S2 S1 S0 1 x y z F 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 F x y z

Implementation Using Multiplexers Example F(x, y, z) = ∑(1, 2, 6, 7) x y z F 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 MUX Y I0 I1 I2 I3 S1 S0 z F = z z F F = z 1 به طور کلی می توان برای پیاده سازی یک تابع n متغیره از یک Mux 2n-1 به یک استفاده کرد و متغییر n ام را در وردی MUX درگیر کرد. به هر ترتیبی نیز که بخواهیم می توانیم متغییر درگبر در ورودی و n-1 متغییر برای Select را انتخاب کنیم. چون برای هر ترکیب متغییرهای انتخاب شده برای Select در جدول صحت دو حالت وجود دارد. اگر این دو حالت یک باشد ورودی یک و اگر صفر باشد ورودی صقر و در غیر این صورت یا برابر با متغییر انتخاب نشده و یا برابر با not آن است و گزینة دیگری وجود ندارد. F = 0 x y F = 1

Implementation Using Multiplexers Example F(x, y, z) = ∑(1, 2, 6, 7) x y z F 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 F = 0 MUX Y I0 I1 I2 I3 S1 S0 F = x x F 1 F = 1 x F = x F = 0 y z F = x F = 1 F = x

Implementation Using Multiplexers Example F(A, B, C, D) = ∑(1, 3, 4, 11, 12, 13, 14, 15) A B C D F 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 MUX Y I0 I1 I2 I3 I4 I5 I6 I7 S2 S1 S0 D F = D D F = D D F = D F F = 0 D F = 0 1 F = D 1 F = 1 F = 1 A B C

Multiplexer Expansion 8-to-1 MUX using Dual 4-to-1 MUX Y I0 I1 I2 I3 I4 I5 I6 I7 S2 S1 S0 MUX Y I0 I1 I2 I3 S1 S0 MUX Y I0 I1 S MUX Y I0 I1 I2 I3 S1 S0 1 0 0

DeMultiplexers DeMUX I Y3 Y2 Y1 Y0 S1 S0 S1 S0 Y3 Y2 Y1 Y0 0 0 I 0 1 0 0 I 0 1 1 0 1 1 همان دیکودر با ورودی enable است

Multiplexer / DeMultiplexer Pairs MUX DeMUX Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 7 7 I7 I6 I5 I4 I3 I2 I1 I0 6 6 5 5 4 4 Y I 3 3 2 2 1 1 S2 S1 S0 S2 S1 S0 Synchronize x2 x1 x0 y2 y1 y0

DeMultiplexers / Decoders DeMUX I Y3 Y2 Y1 Y0 S1 S0 Binary Decoder I1 I0 E Y3 Y2 Y1 Y0 E I1 I0 Y3 Y2 Y1 Y0 x x 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0 S1 S0 Y3 Y2 Y1 Y0 0 0 I 0 1 1 0 1 1 به راحتی می توان Decoder با ورودی Enable را به عنوان Demultiplexer استفاده کرد به شرطی که از ورودی E به عنوان خط دیتا و از ورودیهای I0 و I1 به عنوان ورودی انتخاب استفاده شود. عکس قضیه نیز صادق است. می توان Demultiplexer را به عنوان Decoder استفاده کرد. به شرطی که از ورودی I به عنوان ورودی Enable و از ورودیهای S0 و S1 به عنوان ورودیهای I0 و I1 استفاده شود.

Three-State Gates Tri-State Buffer Tri-State Inverter C A Y 0 x Hi-Z 1 0 1 1 1 A Y C A Y C

Three-State Gates C D Y 0 0 Hi-Z 0 1 B 1 0 A 1 1 ? A Y C B Not Allowed 0 0 Hi-Z 0 1 B 1 0 A 1 1 ? A Y C B Not Allowed D A C B ساخت MUX 2 به یک توسط بافر سه حالته A if C = 1 B if C = 0 Y=

Three-State Gates I3 I2 Y I1 I0 Y3 Binary Decoder Y2 S1 I1 Y1 I0 Y0 E ساخت Multiplexer از MUX و یا بافرهای سه حالته برای ساخت Bus استفاده میشود. I0 Binary Decoder Y3 Y2 Y1 Y0 S1 I1 I0 E S0 E