Transcript طراحی مالتی پلکسر 2 به 1
Slide 1
مبحث چهارم
منطق ترکیبی
Presented by A. Maleki
Fall Semester, 2010
Slide 2
فهرست مطالب
مقدمهای بر مدارهای ترکیبی
روش تحلیل و روش طراحی
جمعکننده – تفریقگر دودویی
جمعکنندهي دهدهی
ضربکنندهي دودویی
مقایسهگر مقدار
دیکدرها
انکدرها
مالتیپلکسرها و دیمالتیپلکسرها
Slide 3
منطق ترکیبی ()Combinatorial Logic
مدارهای منطقی
مدارهای ترتیبی
ثبات
فلیپ فالپ
مدارهای ترکیبی
شمارنده
دیکدر
مالتی پلکسر
جمع کننده
مدار ترکیبی
مداری شامل گیتهای منطقی که خروجیهای آن تنها به ورودیها در همان زمان وابسته است.
واژهنامه:
مدار منطقی ترکیبیCombinational Logic, Combinatorial Logic :
Slide 4
منطق ترکیبی ()Combinatorial Logic
مدارهای منطقی
مدارهای ترتیبی
ثبات
فلیپ فالپ
مدارهای ترکیبی
دیکدر
شمارنده
مالتی پلکسر
جمع کننده
مدار ترتیبی
مداری شامل گیتهای منطقی و عناصر حافظه که خروجی آن عالوه بر ورودیهای فعلی به
حالت مدار (ورودیهای قبلی) نیز وابسته است.
واژهنامه :مدار منطقی ترتیبی:
Sequential Logic
Slide 5
شیوههای مختلف توصیف مدار منطقی ترکیبی
شماتیک مداری
جدول درستی
توابع بولی
Slide 6
شیوههای مختلف توصیف مدار منطقی ترکیبی
شماتیک مداری
جدول درستی
توابع بولی
Slide 7
شیوههای مختلف توصیف مدار منطقی ترکیبی
شماتیک مداری
جدول درستی
توابع بولی
جدولی شامل 2nترکیب مختلف ورودی
و mستون برای متغیرهای خروجی
Slide 8
شیوههای مختلف توصیف مدار منطقی ترکیبی
شماتیک مداری
جدول درستی
توابع بولی
mتابع بولی که هر یک تابعی از nمتغیر ورودی است.
Slide 9
تحلیل مدارهای ترکیبی
مشخص کردن تابعی که مدار منطقی ترکیبی پیادهسازی میکند.
نتیجه میتواند جدول درستی یا تابعهای بولی باشد.
Slide 10
مثال
مدار منطقی شماتیک شکل زیر را تحلیل نموده و
الف :تابع های بولی F1و F2را به دست آورید.
ب :جدول درستی مدار را به دست آورید.
Slide 11
مثال
مدار منطقی شماتیک شکل زیر را تحلیل نموده و
الف :تابع های بولی F1و F2را به دست آورید.
ب :جدول درستی مدار را به دست آورید.
T1 = ABC
T2 = A + B + C
F2 = AB + AC + BC
’T3 = T2F2
’)= (A + B + C)(AB + AC + BC
F1 = T1 + T3
’)= ABC + (A + B + C)(AB + AC + BC
Slide 12
مثال
مدار منطقی شماتیک شکل زیر را تحلیل نموده و
الف :تابع های بولی F1و F2را به دست آورید.
ب :جدول درستی مدار را به دست آورید.
F1
T3
’F2
F2
A B C T 1 T2
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
Slide 13
طراحی مدارهای ترکیبی
روش طراحی:
-1تعیین ورودیها و خروجیها بر اساس مشخصات مدار
( nورودی و mخروجی)
-2تشکیل جدول درستی بر اساس مشخصات مدار
( 2nترکیب ورودی و mستون خروجی)
-3سادهسازی و به دست آوردن عبارتهای منطقی
-4ترسیم نمودار شماتیک
Slide 14
مثال
مداری جهت تبدیل کد BCDبه کد افزونی )Excess-3( 3طراحی نمایید.
مرحله او ل :تعیین ورودیها و خروجیها بر اساس مشخصات مدار
متغیرهای ورودی :چهار متغیر C ، B ، Aو D
متغیرهای خروجی :چهار متغیر y ، x ، wو z
Slide 15
مثال
مداری جهت تبدیل کد BCDبه کد افزونی )Excess-3( 3طراحی نمایید.
مرحله دوم :تشکیل جدول درستی بر اساس مشخصات مدار
Slide 16
مثال
مداری جهت تبدیل کد BCDبه کد افزونی )Excess-3( 3طراحی نمایید.
مرحله سوم :سادهسازی و به دست آوردن تابعهای بولی
w = A + BC + BD
’x = B’C + B’D + BC’D
’y = CD + C’D
’z = D
Slide 17
مثال
مداری جهت تبدیل کد BCDبه کد افزونی )Excess-3( 3طراحی نمایید.
مرحله چهارم :ترسیم نمودار شماتیک
در سیستمهای چندخروجی ،ممکن است با دستکاریهای جبری بتوان به پیادهسازیهای مناسب
تری دست یافت.
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
این طرح نیاز به 8گیت دو ورودی و یک گیت Notدارد .ولی طرح دیگر دوسطحی نیست.
Slide 18
جمعکننده -تفریقگر دودویی
ی
جمع دو رقم باینر
جمع دو عدد باینری
Output Carry
0+1=1,
0+0=0,
1 + 1 = 10
1+0=1,
نیم جمع کننده
? = 1 01 + 101
تمام جمعکننده
a 3-bit adder uses 3 one-bit adder
for second digit, there is input carry
مداری که دو بیت را به عنوان ورودی پذیرفته و حاصل
جمع و نقلی خروجی را تولید مینماید.
مداری که دو بیت را به همراه نقلی ورودی با هم جمع میکند .تمام
جمعکننده را میتوان با دو نیمجمعکننده ایجاد نمود.
Slide 19
نیم جمعکننده ()Half Adder
طراحی نیمجمعکننده:
-1تعیین ورودیها و خروجیها
Two inputs: x,y
)Two Outputs: S (sum), C (carry
-2تشکیل جدول درستی
-3سادهسازی و به دست آوردن تابعهای بولی
-4ترسیم نمودار شماتیک
S = x’y + xy’ = x y
C = xy
Slide 20
تمام جمعکننده ()Full Adder
طراحی تمام جمعکننده:
-1تعیین ورودیها و خروجیها
Three inputs: x,y,z
)Two Outputs: S (sum), C (carry
-2تشکیل جدول درستی
-3سادهسازی و به دست آوردن تابعهای بولی
-4ترسیم نمودار شماتیک
S = x’y’z + x’yz’ + xy’z’ + xyz
=xyz
)C = xy + xz + yz = xy + z(x y
Slide 21
تمام جمعکننده ()Full Adder
S = x’y’z + x’yz’ + xy’z’ + xyz = x y z
)C = xy + xz + yz = xy + z(x y
پیادهسازی دو سطحی 9 ،گیت
پیادهسازی سه سطحی 5 ،گیت
Slide 22
جمعکنندهي دودویی
جمعکنندهي دودویی یک مدار منطقی است که دو عدد را با هم جمع میکند.
جمعکنندهي دودویی nبیتی را میتوان با nتمام جمعکننده پیادهسازی نمود.
for example: 1011 + 0011
جمعکنندهي دودویی 4بیتی با نقلی موجگونه ()rippe
0
1
1
1
1
1
1
0
0
0
1
0
Ci
Ai
Bi
0
1
1
1
1
0
1
0
Si
Ci+1
توجه :برای طراحی به شیوهي کالسیک نیاز به ارزیابی 29 =512ترکیب ورودی است.
Slide 23
تکنیک پیشبینی نقلی ()Carry Lookahead
مصالحه در طراحی جمعکنندهي دودویی با نقلی موجگونه:
مزیت :سادگی طراحی (رهایی از جدول درستی با 512ترکیب ورودی)
ایراد:
به واسطهي اتصال موجگونهي رقم نقلی ،زمان انتشار سیگنال در این مدار،
3+2+2+2برابر زمان انتشار سیگنال در یک گیت است.
راهکار -1 :استفاده از گیتهای سریعتر
-2افزایش پیچیدگی مدار با هدف کاهش زمان تاخیر انتشار رقم نقلی
Slide 24
)Carry Lookahead( تکنیک پیشبینی نقلی
Pi = Ai Bi
Gi = AiBi
Si = Pi Ci
Ci+1 = Gi + PiCi
C1 = G0 + P0C0
C2 = G1 + P1C1
= G1 + P1G0 + P1P0C0
C3 = G2 + P2C2
= G2 + P2G1 + P2P1G0 + P2 P1P0C0
C4 = …
افزایش سرعت در قبال پیچیدگی سخت افزار
Slide 25
جمعکنندهي -4بیتی با تکنیک پیشبینی نقلی
Pi = Ai Bi
Gi = AiBi
Si = Pi Ci
Ci+1 = Gi + PiCi
توجه کنید:
این مدار 4الیه است.
Slide 26
تفریق دودویی
برای تفریق کردن دو عدد،
میتوان عدد اول را با مکمل ِ 2ی عدد دوم جمع
کرد.
مکمل 2ی عدد،
برای دستیابی به
ِ
میتوان تمام بیتهای عدد را مکمل نموده و نتیجه
را با 1جمع نمود.
برای دستیابی به مدار تفریق گر،
میتوان از مدار جمع کننده استفاده نموده و عدد او ل
را با مکمل بیتی (مکمل )1عدد دوم و نقلی ورودی 1
جمع نمود.
یادآوری:
XORرا میتوان یک NOTکنترل شده با یک ورودی کنترل در نظر گرفت.
Slide 27
)adder-subtractor( تفریقگر دودویی-جمعکننده
M: Mode (Control Signal)
M=0
M=1
B3 B3'
B2 B2'
B1 B1'
B0 B0'
+1
: 2’s complement
of B
S = sum of A & B
S = subtract of A & B
M=0, Adder
M=1, Subtractor
Slide 28
سرریز ()overflow
مفهوم سرریز :
شرایطی که دو عدد nرقمی با هم جمع میشوند ولی برای نمایش خروجی به
n+1رقم نیاز است.
نعالمت:
سرریز در جمعکردن دو عدد بدو
وجود نقلی انتهایی ()end carry
سرریز در جمعکردن دو عدد عالمتدار (مکمل-2عالمت):
-1اگر یکی از اعداد مثبت و دیگری منفی باشد سرریز رخ نمیدهد.
-2اگر هر دو عدد مثبت یا هر دو منفی باشند امکان سرریز وجود دارد.
مثال:
(+65): 01000001
+(-65): +10111111
(-65): 10111111
+(-65): +10111111
(+65):
01000001
+(+65): + 01000001
بنابراین هنگام جمع کردن دو عدد عالمت دار مکمل-2عالمت،
يکسان نبودن نقلی بیت عالمت و نقلی انتهایی نشانگر سرریز است.
Slide 29
سرریز
تشخیص سرریز در جمعکننده -تفریقگر دودویی
Slide 30
جمعکنندهي BCD
جمعکنندهي BCDمداری است که دو رقم دهدهی BCDرا به همراه رقم نقلی ورودی با هم جمع
نموده و حاصلجمع را به صورت BCDفراهم میسازد.
ورودیها:
دو رقم دهدهی BCDکه هرکدام با 4بیت مشخص میگردند و رقم نقلی ورودی
که یک بیتی است.
ورودیهای BCDدارای مقداری در محدودهي 0000تا 1001میباشند.
رقم نقلی ورودی میتواند 0یا 1باشد.
خروجیها:
حاصلجمع دو رقم دهدهی و نقلی ورودی در محدودهي 0+0+0=0تا
9+9+1=19میباشد که با یک رقم دهدهی BCDو یک رقم نقلی خروجی قابل
نمایش است.
Slide 31
جمعکنندهي BCD
یادآوری روش جمعکردن دو عدد BCDاز مبحث نخست درس:
برای جمع کردن دو عدد : BCD
-1رقمهای BCDمتناظر دو عدد را از کمارزشترین رقم با هم جمع باینری میکنیم.
-2در صورتی که حاصل جمع بزرگتر از 9باشد نتیجه را اصالح میکنیم.
(وجود نقلی خروجی یا به دست آمدن یکی از مقادیر نامعتبر ) BCD
(تصحیح با جمع کردن نتیجه با 0110انجام میگردد).
-3همین روند را برای رقمهای BCDبعدی نیز پی میگیریم.
Slide 32
جمعکنندهي BCD
مثال :جمع BCDزیر را انجام دهید.
197
+ 284
---------------------------------
0001 1001 0111
+ 0010 1000 0100
------------------------------------------------------------------------------------
Slide 33
جمعکنندهي BCD
برای طراحی مدار جمعکنندهي BCDچه راهکاری را پیشنهاد میکنید؟
راهکار نخست:
طراحی مدار به شیوهي طراحی کالسیک
با توجه به تعداد 4+4+1ورودی مدار الزم است جدول درستی با 29حالت
راهکار دوم:
مختلف ورودی تشکیل گردد و ساده سازی ...
استفاده از مدار جمعکنندهي باینری و تکمیل آن با مدار تصحیح خروجی
Slide 34
جمعکنندهي BCD
طراحی بخش تصحیح خروجی:
-1تعیین ورودیها و خروجیها
-2تشکیل جدول درستی
ی
-3سادهساز
-4ترسیم نمودار شماتیک
با ترسیم نقشه ،سادهسازی را انجام دهید.
رهیافتی دیگر:
C = K + Z4Z8 + Z2Z8
Five inputs: K, Z8, Z4, Z2, Z1
One Output: C
Slide 35
جمعکنندهي BCD
طراحی بخش تصحیح خروجی:
-1تعیین ورودیها و خروجیها
-2تشکیل جدول درستی
-3سادهسازی
-4ترسیم نمودار شماتیک
شماتیک اجزای بخش جمعکنندهي چهار بیتی
را رسم کنید.
C = K + Z2Z8 + Z4Z8
Slide 36
ضربکنندهي دودویی()Binary Multiplier
مثال :یادآوری از مبحث اول درس -ضرب دو عدد دودویی چهاربیتی:
ضرب دودویی زیر را انجام دهید.
1011 * 1001
Slide 37
ضربکنندهي دودویی()Binary Multiplier
مثال :ضرب دو عدد دودویی چهاربیتی:
ضرب دودویی زیر را انجام دهید.
X1
Y1
X0
Y0
X3X2X1X0 * Y3Y2Y1Y0
X3
Y3
X2
Y2
x
--------------------------------------------------------------
X0.Y0
X1.Y0
X0.Y1
X2.Y0
X1.Y1
X0.Y2
X3.Y0
X2.Y1
X1.Y2
X0.Y3
X3.Y1
X2.Y2
X1.Y3
X3.Y2
X2.Y3
X3.Y3
P2
P3
P4
P5
P6
___________________________________________________________________________________________________________________________________________________________________
P0
P1
P7
برای پیادهسازی این عمل به چه اجزای سختافزاری نیاز است؟
برای ضربکردن یک عدد Jبیتی در یک عدد Kبیتی ،به J*Kگیت ANDو ) (K-1جمعکنندهي J
بیتی نیاز است.
Slide 38
ضربکنندهي دودویی()Binary Multiplier
مثال :ضرب دو عدد دودویی دو بیتی:
Slide 39
ضربکنندهي دودویی()Binary Multiplier
مثال :ضرب دودویی چهار بیت در سه بیت:
Slide 40
مقایسهکنندهي اندازه ()Magnitude Comparator
مقایسه کنندهي اندازه مداری است که دو عدد nبیتی ورودی را مقایسه نموده و بزرگتر،
کوچکتر یا مساوی بودن آنها را تعیین میکند.
Output
)(A>B) (A=B) (A1
0
0
0
1
0
0
0
1
Input relation
A, B
A>B
A=B
A
)(A>B
)(A=B
)(A
A3
A2
A1
A0
B3
B2
B1
B0
Slide 41
مقایسهکنندهي اندازه ()Magnitude Comparator
مثال :اعداد دودویی زیر را مقایسه نموده و بین آنها نمادهای > < ،یا = قرار دهید.
1000 ?> 0111
1011 1000 1010 =? 1010
مثال :اعداد دودویی 16بیتی زیر را مقایسه نموده و بین آنها نماد مناسب قرار دهید.
1010101010101010 ?> 0011111111111111
1010101010101010 ?< 1011111111111111
1010101010101010 ?< 1010101010101011
1010101010101010 ?= 1010101010101010
Slide 42
مقایسهکنندهي اندازه ()Magnitude Comparator
بررس ی مساوی بودن دو عدد:
دو عدد با هم مساوی است اگر تمامی بیتهای متناظر دو عدد با هم مساوی باشند.
مساوی بودن بیتهای iام دو عدد:
یا هر دو صفر باشند یا هر دو یک باشند.
')Xi = Ai Bi + Ai' Bi' = (AiBi
مساوی بودن دو عدد:
مساوی بودن تمام بیتهای دو عدد
F(A = B) = X3 X2 X1 X0
Slide 43
مقایسهکنندهي اندازه ()Magnitude Comparator
بررس ی بزرگتر بودن Aاز : B
عدد Aاز عدد Bبزرگتر است اگر:
پرارزش ترین رقم Aبزرگتر از پرارزش ترین رقم Bباشد ،
یا
پرارزش ترین رقم دو عدد مساوی باشد و رقم پرارزش بعدی Aبزرگتر از رقم متناظر در Bباشد ،
یا
دو رقم پرارزش دو عدد مساوی باشد و رقم پرارزش بعدی Aبزرگتر از رقم متناظر در Bباشد ،
یا
سه رقم پرارزش دو عدد مساوی باشد و رقم پرارزش بعدی Aبزرگتر از رقم متناظر در Bباشد ،
........
'F(A > B) = A3B3'+ X3A2B2'+ X3X2A1B1'+ X3X2X1A0B0
Slide 44
مقایسهکنندهي اندازه ()Magnitude Comparator
بررس ی کوچکتر بودن Aاز : B
عدد Aاز عدد Bکوچکتر است اگر:
پرارزشترین رقم Aکوچکتر از پرارزشترین رقم Bباشد ،
یا
پرارزشترین رقم دو عدد مساوی باشد و رقم پرارزش بعدی Aکوچکتر از رقم متناظر در Bباشد ،
یا
دو رقم پرارزش دو عدد مساوی باشد و رقم پرارزش بعدی Aکوچکتر از رقم متناظر در Bباشد ،
یا
سه رقم پرارزش دو عدد مساوی باشد و رقم پرارزش بعدی Aکوچکتر از رقم متناظر در Bباشد ،
........
F(A < B) = A3'B3+ X3A2'B2 + X3X2A1'B1 + X3X2X1A0'B0
Slide 45
)Magnitude Comparator( مقایسهکنندهي اندازه
F(A < B) = A3'B3+x3A2'B2
+ x3x2A1'B1 + x3x2x1A0'B0
F(A > B) = A3B3'+x3A2B2'
+ x3x2A1B1' + x3x2x1A0B0'
F(A = B) = x3 x2 x1 x0
Slide 46
ُ
دیکدر ()Decoder
ی
مداری شامل nورودی و 2nخروجی که در هر زمان ،تنها یکی از خروجیها که متناظر با کد باینر
ورودی است فعال میگردد.
مثال :دیکدر 3به 8
0
0
0
0
1
0
0
0
10
00
00
00
00
00
00
01
011
010
010
Slide 47
ُ
دیکدر ()Decoder
خط D0هنگامی فعال میگردد که هر سه ورودی صفر باشند.
..........
دقت کنید که:
خروجیها mintermهای مختلف ورودیها میباشند.
Slide 48
ُ
دیکدر ()Decoder
ُ
دیکدر با ورودی کنترلی فعالساز (:)Enable
اگر ورودی فعالساز غیرفعال باشد هیچ کدام از خروجیها فعال نخواهد بود.
اگر ورودی فعالساز فعال گردد خط متناظر با کد دودویی ورودی فعال خواهد شد.
ُ
مثال :دیکدر 2به 4با ورودی فعالساز:
Slide 49
ُ
دیکدر ()Decoder
ُ
ر
و
دیکدر با و ودی کنترلی فعالساز و خر جی : Active Low
معموال برای مشخص کردن active lowبودن ورودیها و خروجیها ،از نمادهای خاص ی همراه
نام متغیر آنها استفاده میگردد.
Slide 50
ُ
دیکدر ()Decoder
ُ
ُ
ایجاد دیکدر بزرگتر با دیکدرهای دارای فعالساز:
ترکیبهای مختلف ورودی به زیرمجموعههایی تقسیم میگردد که به ازای هر زیرمجموعه ،یکی از
ُ
دیکدرهای کوچک فعال میگردد.
ُ
ُ
مثال :ایجاد دیکدر 4به 16با استفاده از دیکدرهای 3به :8
Slide 51
ُ
دیکدر ()Decoder
ُ
ُ
مثال :تنها با استفاده از دیکدرهای 2به 4دارای فعالساز ،یک دیکدر 4به 16
بسازید.
Slide 52
ُ
دیکدر ()Decoder
ُ
پیادهسازی توابع با استفاده از دیکدر:
ُ
از آنجا که خروجیهای دیکدر در واقع mintermهای متناظر با ورودیها میباشند میتوان از آن
برای پیادهسازی توابعی که به فرم جمع mintermها توصیف شدهاند استفاده نمود.
Slide 53
ُ
دیکدر ()Decoder
ُ
مثال :با استفاده از یک دیکدر 3به 8و دیگر گیتهای مورد نیاز ،یک تمام جمع
کننده پیادهسازی نمایید.
)S = (1,2,4,7
)C = ( 3,5,6,7
Slide 54
ُ
ِانکدر ()Encoder
مداری دارای 2nورودی و nخروجی که در هر زمان تنها یکی از ورودیها فعال بوده و خروجی نشانگر
کد دودویی متناظر با ورودی فعال است.
ُ
مثال :انکدر 8به 3
011
010
001
Z = D1 + D3 + D5 + D7
Y = D2 + D3 + D6 + D7
X = D4 + D5 + D6 +D7
00
00
00
00
00
01
10
00
1
0
0
0
0
0
0
0
Slide 55
ُ
اشکاالت ِانکدر معمولی
ُ
برای ِانکدر معمولی ،فرض بر آن است که در هر زمان ،یکی و فقط یکی از ورودیها یک باشد.
اگر هیچ کدام از ورودی ها یک نباشد ...
اگر دو ورودی (مثال D5و ) D6با هم یک باشد ...
برای برطرف کردن این اشکالها چه پیشنهادی دارید؟
Z = D1 + D3 + D5 + D7
Y = D2 + D3 + D6 + D7
X = D4 + D5 + D6 +D7
Slide 56
انکدر اولویت
اضافه کردن خروجیای که نشانگر معتبر بودن یا نبودن کد ورودی است.
(در صورت غیرفعال بودن تمام ورودیها ،نامعتبر بودن ورودی مشخص گردد).
اولویتبندی ورودیها
(اگر چند ورودی با هم فعال شوند ورودی با اولویت باالتر در نظر گرفته شود).
Slide 57
انکدر اولویت
ُ
با استفاده از نقشهي کارنو ،توابع خروجی انکدر اولویت را ساده نموده و شماتیک مداری طرح را
رسم کنید.
خروجی xرا وارد نقشه نمایید.
x = D2 + D3
'y = D3 + D1D2
V = D0 + D1 + D2 + D3
Slide 58
مالتیپلکسرها ()Multiplexer-MUX
مداری که اطالعات دودویی یکی از خطوط ورودی را انتخاب کرده و به خط خروجی انتقال
میدهد.
مالتیپلکسر دارای 2nورودی 1 ،خروجی و nخط انتخاب است .کد باینری خطوط انتخاب تعیین
میکند که کدام خط انتخاب گردد.
1 Output
Multiplexer
Combinational
Logic Circuit
n Selection Lines
2n Inputs
Slide 59
مالتیپلکسر 2به 1
مثال :طراحی مالتیپلکسر 2به :1
مدار مالتیپلکسر 2به 1را طراحی نمایید.
Slide 60
مالتیپلکسر 4به 1
مثال :طراحی مالتیپلکسر 4به :1
الف :جدول درستی و جدول عملکرد مالتیپلکسر 4به 1شکل زیر را رسم کنید.
ب :از دیدگاه کاربرپسند بودن ،کدام یک برتر است ،جدول درستی یا جدول عملکرد؟
Inputs
ج :مدار مالتی پلکسر 4به 1را طراحی نمایید.
I0
Y
MUX
I1
I2
I3
S1 S 0
select
Slide 61
مالتیپلکسر 8به 1
مثال :طراحی مالتیپلکسر 8به 1با استفاده از دیکدر 3به :8
ُ
با استفاده از یک دیکدر 3به 8و دیگر گیتهای مورد نیاز ،یک مالتیپلکسر 8به 1طراحی نمایید.
Slide 62
ساخت مالتیپلکسرهای بزرگتر با نمونههای کوچکتر
مثال :ساخت مالتیپلکسر 8به 1با استفاده از نمونههای کوچکتر:
با استفاده از مالتیپلکسرهای 4به 1و 2به ،1یک مالتیپلکسر 8به 1بسازید.
Y
S2 S1 S0
I0
I1
I2
I3
I4
I5
I6
I7
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
4:1
MUX
Y
2:1
MUX
S2
I0
I1
I2
I3
S1 S0
4:1
MUX
S1 S0
I4
I5
I6
I7
Slide 63
مالتیپلکسر 2به ( 1چهارخطی)
اگر بخواهیم از بین چند گذرگاه یکی را انتخاب کنیم نیاز به مالتیپلکسر گذرگاه داریم.
مثال :مالتیپلکسر 2به 1چهار خطی:
در این طرح،
چرا در مسیر خط انتخاب ( )Sاز دو گیت NOTاستفاده شده است؟
Slide 64
پیادهسازی تابع با استفاده از مالتیپلکسر
برای پیاده سازی یک تابع nمتغیره ،به یک مالتی پلکسر 2n-1به یک نیاز است. -تابع را به فرم جدول درستی توصیف میکنیم.
اولین n-1متغیر جدول به خطوط انتخاب مالتی پلکسر متصل میگردند. برای هر ترکیبی از متغیرهای انتخاب ،خروجی را به صورت تابعی از آخرین متغیر ارزیابی می کنیم.این تابع میتواند ، 1 ، 0متغیر یا مکمل متغیر باشد .تابع تعیین شده به ورودی مالتیپلکسر
متصل می گردد.
Slide 65
پیادهسازی تابع با استفاده از مالتیپلکسر
مثال :تابع زیر را با استفاده از مالتیپلکسر پیادهسازی نمایید.
-1توصیف طرح به فرم جدول درستی
)F(x,y,z)=(1,2,6,7
-2انتخاب مالتیپلکسر و تعیین خطوط انتخاب آن
-3تعیین ورودیهای مالتیپلکسر به کمک جدول درستی
-4ترسیم مدار
مالتی پلکسر 4به 1
خطوط انتخاب x :و y
Slide 66
پیادهسازی تابع با استفاده از مالتیپلکسر
مثال :تابع زیر را با استفاده از مالتیپلکسر پیادهسازی نمایید.
-1توصیف طرح به فرم جدول درستی
)F(A,B,C,D)=(1,3,4,11,12,13,14,15
-2انتخاب مالتیپلکسر و تعیین خطوط انتخاب آن
-3تعیین ورودیهای مالتیپلکسر به کمک جدول درستی
-4ترسیم مدار
مالتی پلکسر 8به 1
خطوط انتخاب B ، A :و C
Slide 67
دیمالتیپلکسرها ()Demultiplexer
مداری که اطالعات دودویی خط ورودی را به یکی از خطوط خروجی انتقال میدهد.
دیمالتیپلکسر دارای یک ورودی 2n ،خروجی و nخط انتخاب است .کد باینری خطوط انتخاب
تعیین میکند که ورودی به کدام خط خروجی انتقال یابد.
2n Outputs
ُ
معموال از دیکدر nبه
2n
خط دارای فعالساز برای
پیادهسازی دیمالتیپلکسر 1به 2nخط استفاده می
گردد.
De-Multiplexer
Combinational
Logic Circuit
n Selection Lines
1 Input
Slide 68
دیمالتیپلکسرها ()Demultiplexer
ُ
مثال :پیادهسازی دیمالتیپلکسر با استفاده از دیکدر:
ُ
با استفاده از یک دیکدر 3به 8دارای پایهي فعالساز ،یک دیمالتیپلکسر 1به 8پیادهسازی
نمایید.
ُ
بدین منظور الزم است از ورودیهای دیکدر به عنوان خطوط انتخاب دیمالتیپلکسر ،و از خط
فعالساز آن به عنوان ورودی دیمالتیپلکسر استفاده گردد.
Slide 69
دیمالتیپلکسر-مثال کاربردی مالتیپلکسر
: به اشتراک گذاشتن یک کانال ارتباطی بین چندین دستگاه:مثال
MUX
MUX
Communication Channel
Communication Channel
DEMUX
DEMUX
Select
Source
Select
Destination
Select
Source
Select
Destination
Destination
Destination
Source Source
.در هر زمان تنها یکی از مبداها و یکی از مقصدها به کانال ارتباطی دسترس ی دارند
Slide 70
گیت سهحالته ()tri-state gate
گیت سهحالته به گیتی گفته میشود که خروجی آن عالوه بر وضعیتهای lowو ، highمی
تواند در وضعیت امپدانس باال ( )high-impedanceنیز قرار گیرد.
مثال :بافر سهحالته
Slide 71
گیت سهحالته ()tri-state gate
در گیتهای معمولی نمیتوان خروجی گیتها را به طور مستقیم به هم متصل نمود.
ولی در گیتهای سهحالته ،اگر جز یکی از گیتها ،خروجی بقیه در وضعیت امپدانس -با ال باشد
میتوان خروجی گیتها را به هم متصل نمود.
مثال :پیادهسازی مالتیپلکسر 2به 1با استفاده از گیتهای بافر سهحالته
Slide 72
گیت سهحالته ()tri-state gate
مثال :پیادهسازی مالتیپلکسر توسط گیتهای سهحالته:
با استفاده از دیکدر 2به 4و گیتهای بافر سهحالته ،یک مالتیپلکسر 4به 1بسازید.
Slide 73
مبحث چهارم
منطق ترکیبی
Presented by A. Maleki
Fall Semester, 2010
Slide 2
فهرست مطالب
مقدمهای بر مدارهای ترکیبی
روش تحلیل و روش طراحی
جمعکننده – تفریقگر دودویی
جمعکنندهي دهدهی
ضربکنندهي دودویی
مقایسهگر مقدار
دیکدرها
انکدرها
مالتیپلکسرها و دیمالتیپلکسرها
Slide 3
منطق ترکیبی ()Combinatorial Logic
مدارهای منطقی
مدارهای ترتیبی
ثبات
فلیپ فالپ
مدارهای ترکیبی
شمارنده
دیکدر
مالتی پلکسر
جمع کننده
مدار ترکیبی
مداری شامل گیتهای منطقی که خروجیهای آن تنها به ورودیها در همان زمان وابسته است.
واژهنامه:
مدار منطقی ترکیبیCombinational Logic, Combinatorial Logic :
Slide 4
منطق ترکیبی ()Combinatorial Logic
مدارهای منطقی
مدارهای ترتیبی
ثبات
فلیپ فالپ
مدارهای ترکیبی
دیکدر
شمارنده
مالتی پلکسر
جمع کننده
مدار ترتیبی
مداری شامل گیتهای منطقی و عناصر حافظه که خروجی آن عالوه بر ورودیهای فعلی به
حالت مدار (ورودیهای قبلی) نیز وابسته است.
واژهنامه :مدار منطقی ترتیبی:
Sequential Logic
Slide 5
شیوههای مختلف توصیف مدار منطقی ترکیبی
شماتیک مداری
جدول درستی
توابع بولی
Slide 6
شیوههای مختلف توصیف مدار منطقی ترکیبی
شماتیک مداری
جدول درستی
توابع بولی
Slide 7
شیوههای مختلف توصیف مدار منطقی ترکیبی
شماتیک مداری
جدول درستی
توابع بولی
جدولی شامل 2nترکیب مختلف ورودی
و mستون برای متغیرهای خروجی
Slide 8
شیوههای مختلف توصیف مدار منطقی ترکیبی
شماتیک مداری
جدول درستی
توابع بولی
mتابع بولی که هر یک تابعی از nمتغیر ورودی است.
Slide 9
تحلیل مدارهای ترکیبی
مشخص کردن تابعی که مدار منطقی ترکیبی پیادهسازی میکند.
نتیجه میتواند جدول درستی یا تابعهای بولی باشد.
Slide 10
مثال
مدار منطقی شماتیک شکل زیر را تحلیل نموده و
الف :تابع های بولی F1و F2را به دست آورید.
ب :جدول درستی مدار را به دست آورید.
Slide 11
مثال
مدار منطقی شماتیک شکل زیر را تحلیل نموده و
الف :تابع های بولی F1و F2را به دست آورید.
ب :جدول درستی مدار را به دست آورید.
T1 = ABC
T2 = A + B + C
F2 = AB + AC + BC
’T3 = T2F2
’)= (A + B + C)(AB + AC + BC
F1 = T1 + T3
’)= ABC + (A + B + C)(AB + AC + BC
Slide 12
مثال
مدار منطقی شماتیک شکل زیر را تحلیل نموده و
الف :تابع های بولی F1و F2را به دست آورید.
ب :جدول درستی مدار را به دست آورید.
F1
T3
’F2
F2
A B C T 1 T2
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
Slide 13
طراحی مدارهای ترکیبی
روش طراحی:
-1تعیین ورودیها و خروجیها بر اساس مشخصات مدار
( nورودی و mخروجی)
-2تشکیل جدول درستی بر اساس مشخصات مدار
( 2nترکیب ورودی و mستون خروجی)
-3سادهسازی و به دست آوردن عبارتهای منطقی
-4ترسیم نمودار شماتیک
Slide 14
مثال
مداری جهت تبدیل کد BCDبه کد افزونی )Excess-3( 3طراحی نمایید.
مرحله او ل :تعیین ورودیها و خروجیها بر اساس مشخصات مدار
متغیرهای ورودی :چهار متغیر C ، B ، Aو D
متغیرهای خروجی :چهار متغیر y ، x ، wو z
Slide 15
مثال
مداری جهت تبدیل کد BCDبه کد افزونی )Excess-3( 3طراحی نمایید.
مرحله دوم :تشکیل جدول درستی بر اساس مشخصات مدار
Slide 16
مثال
مداری جهت تبدیل کد BCDبه کد افزونی )Excess-3( 3طراحی نمایید.
مرحله سوم :سادهسازی و به دست آوردن تابعهای بولی
w = A + BC + BD
’x = B’C + B’D + BC’D
’y = CD + C’D
’z = D
Slide 17
مثال
مداری جهت تبدیل کد BCDبه کد افزونی )Excess-3( 3طراحی نمایید.
مرحله چهارم :ترسیم نمودار شماتیک
در سیستمهای چندخروجی ،ممکن است با دستکاریهای جبری بتوان به پیادهسازیهای مناسب
تری دست یافت.
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
این طرح نیاز به 8گیت دو ورودی و یک گیت Notدارد .ولی طرح دیگر دوسطحی نیست.
Slide 18
جمعکننده -تفریقگر دودویی
ی
جمع دو رقم باینر
جمع دو عدد باینری
Output Carry
0+1=1,
0+0=0,
1 + 1 = 10
1+0=1,
نیم جمع کننده
? = 1 01 + 101
تمام جمعکننده
a 3-bit adder uses 3 one-bit adder
for second digit, there is input carry
مداری که دو بیت را به عنوان ورودی پذیرفته و حاصل
جمع و نقلی خروجی را تولید مینماید.
مداری که دو بیت را به همراه نقلی ورودی با هم جمع میکند .تمام
جمعکننده را میتوان با دو نیمجمعکننده ایجاد نمود.
Slide 19
نیم جمعکننده ()Half Adder
طراحی نیمجمعکننده:
-1تعیین ورودیها و خروجیها
Two inputs: x,y
)Two Outputs: S (sum), C (carry
-2تشکیل جدول درستی
-3سادهسازی و به دست آوردن تابعهای بولی
-4ترسیم نمودار شماتیک
S = x’y + xy’ = x y
C = xy
Slide 20
تمام جمعکننده ()Full Adder
طراحی تمام جمعکننده:
-1تعیین ورودیها و خروجیها
Three inputs: x,y,z
)Two Outputs: S (sum), C (carry
-2تشکیل جدول درستی
-3سادهسازی و به دست آوردن تابعهای بولی
-4ترسیم نمودار شماتیک
S = x’y’z + x’yz’ + xy’z’ + xyz
=xyz
)C = xy + xz + yz = xy + z(x y
Slide 21
تمام جمعکننده ()Full Adder
S = x’y’z + x’yz’ + xy’z’ + xyz = x y z
)C = xy + xz + yz = xy + z(x y
پیادهسازی دو سطحی 9 ،گیت
پیادهسازی سه سطحی 5 ،گیت
Slide 22
جمعکنندهي دودویی
جمعکنندهي دودویی یک مدار منطقی است که دو عدد را با هم جمع میکند.
جمعکنندهي دودویی nبیتی را میتوان با nتمام جمعکننده پیادهسازی نمود.
for example: 1011 + 0011
جمعکنندهي دودویی 4بیتی با نقلی موجگونه ()rippe
0
1
1
1
1
1
1
0
0
0
1
0
Ci
Ai
Bi
0
1
1
1
1
0
1
0
Si
Ci+1
توجه :برای طراحی به شیوهي کالسیک نیاز به ارزیابی 29 =512ترکیب ورودی است.
Slide 23
تکنیک پیشبینی نقلی ()Carry Lookahead
مصالحه در طراحی جمعکنندهي دودویی با نقلی موجگونه:
مزیت :سادگی طراحی (رهایی از جدول درستی با 512ترکیب ورودی)
ایراد:
به واسطهي اتصال موجگونهي رقم نقلی ،زمان انتشار سیگنال در این مدار،
3+2+2+2برابر زمان انتشار سیگنال در یک گیت است.
راهکار -1 :استفاده از گیتهای سریعتر
-2افزایش پیچیدگی مدار با هدف کاهش زمان تاخیر انتشار رقم نقلی
Slide 24
)Carry Lookahead( تکنیک پیشبینی نقلی
Pi = Ai Bi
Gi = AiBi
Si = Pi Ci
Ci+1 = Gi + PiCi
C1 = G0 + P0C0
C2 = G1 + P1C1
= G1 + P1G0 + P1P0C0
C3 = G2 + P2C2
= G2 + P2G1 + P2P1G0 + P2 P1P0C0
C4 = …
افزایش سرعت در قبال پیچیدگی سخت افزار
Slide 25
جمعکنندهي -4بیتی با تکنیک پیشبینی نقلی
Pi = Ai Bi
Gi = AiBi
Si = Pi Ci
Ci+1 = Gi + PiCi
توجه کنید:
این مدار 4الیه است.
Slide 26
تفریق دودویی
برای تفریق کردن دو عدد،
میتوان عدد اول را با مکمل ِ 2ی عدد دوم جمع
کرد.
مکمل 2ی عدد،
برای دستیابی به
ِ
میتوان تمام بیتهای عدد را مکمل نموده و نتیجه
را با 1جمع نمود.
برای دستیابی به مدار تفریق گر،
میتوان از مدار جمع کننده استفاده نموده و عدد او ل
را با مکمل بیتی (مکمل )1عدد دوم و نقلی ورودی 1
جمع نمود.
یادآوری:
XORرا میتوان یک NOTکنترل شده با یک ورودی کنترل در نظر گرفت.
Slide 27
)adder-subtractor( تفریقگر دودویی-جمعکننده
M: Mode (Control Signal)
M=0
M=1
B3 B3'
B2 B2'
B1 B1'
B0 B0'
+1
: 2’s complement
of B
S = sum of A & B
S = subtract of A & B
M=0, Adder
M=1, Subtractor
Slide 28
سرریز ()overflow
مفهوم سرریز :
شرایطی که دو عدد nرقمی با هم جمع میشوند ولی برای نمایش خروجی به
n+1رقم نیاز است.
نعالمت:
سرریز در جمعکردن دو عدد بدو
وجود نقلی انتهایی ()end carry
سرریز در جمعکردن دو عدد عالمتدار (مکمل-2عالمت):
-1اگر یکی از اعداد مثبت و دیگری منفی باشد سرریز رخ نمیدهد.
-2اگر هر دو عدد مثبت یا هر دو منفی باشند امکان سرریز وجود دارد.
مثال:
(+65): 01000001
+(-65): +10111111
(-65): 10111111
+(-65): +10111111
(+65):
01000001
+(+65): + 01000001
بنابراین هنگام جمع کردن دو عدد عالمت دار مکمل-2عالمت،
يکسان نبودن نقلی بیت عالمت و نقلی انتهایی نشانگر سرریز است.
Slide 29
سرریز
تشخیص سرریز در جمعکننده -تفریقگر دودویی
Slide 30
جمعکنندهي BCD
جمعکنندهي BCDمداری است که دو رقم دهدهی BCDرا به همراه رقم نقلی ورودی با هم جمع
نموده و حاصلجمع را به صورت BCDفراهم میسازد.
ورودیها:
دو رقم دهدهی BCDکه هرکدام با 4بیت مشخص میگردند و رقم نقلی ورودی
که یک بیتی است.
ورودیهای BCDدارای مقداری در محدودهي 0000تا 1001میباشند.
رقم نقلی ورودی میتواند 0یا 1باشد.
خروجیها:
حاصلجمع دو رقم دهدهی و نقلی ورودی در محدودهي 0+0+0=0تا
9+9+1=19میباشد که با یک رقم دهدهی BCDو یک رقم نقلی خروجی قابل
نمایش است.
Slide 31
جمعکنندهي BCD
یادآوری روش جمعکردن دو عدد BCDاز مبحث نخست درس:
برای جمع کردن دو عدد : BCD
-1رقمهای BCDمتناظر دو عدد را از کمارزشترین رقم با هم جمع باینری میکنیم.
-2در صورتی که حاصل جمع بزرگتر از 9باشد نتیجه را اصالح میکنیم.
(وجود نقلی خروجی یا به دست آمدن یکی از مقادیر نامعتبر ) BCD
(تصحیح با جمع کردن نتیجه با 0110انجام میگردد).
-3همین روند را برای رقمهای BCDبعدی نیز پی میگیریم.
Slide 32
جمعکنندهي BCD
مثال :جمع BCDزیر را انجام دهید.
197
+ 284
---------------------------------
0001 1001 0111
+ 0010 1000 0100
------------------------------------------------------------------------------------
Slide 33
جمعکنندهي BCD
برای طراحی مدار جمعکنندهي BCDچه راهکاری را پیشنهاد میکنید؟
راهکار نخست:
طراحی مدار به شیوهي طراحی کالسیک
با توجه به تعداد 4+4+1ورودی مدار الزم است جدول درستی با 29حالت
راهکار دوم:
مختلف ورودی تشکیل گردد و ساده سازی ...
استفاده از مدار جمعکنندهي باینری و تکمیل آن با مدار تصحیح خروجی
Slide 34
جمعکنندهي BCD
طراحی بخش تصحیح خروجی:
-1تعیین ورودیها و خروجیها
-2تشکیل جدول درستی
ی
-3سادهساز
-4ترسیم نمودار شماتیک
با ترسیم نقشه ،سادهسازی را انجام دهید.
رهیافتی دیگر:
C = K + Z4Z8 + Z2Z8
Five inputs: K, Z8, Z4, Z2, Z1
One Output: C
Slide 35
جمعکنندهي BCD
طراحی بخش تصحیح خروجی:
-1تعیین ورودیها و خروجیها
-2تشکیل جدول درستی
-3سادهسازی
-4ترسیم نمودار شماتیک
شماتیک اجزای بخش جمعکنندهي چهار بیتی
را رسم کنید.
C = K + Z2Z8 + Z4Z8
Slide 36
ضربکنندهي دودویی()Binary Multiplier
مثال :یادآوری از مبحث اول درس -ضرب دو عدد دودویی چهاربیتی:
ضرب دودویی زیر را انجام دهید.
1011 * 1001
Slide 37
ضربکنندهي دودویی()Binary Multiplier
مثال :ضرب دو عدد دودویی چهاربیتی:
ضرب دودویی زیر را انجام دهید.
X1
Y1
X0
Y0
X3X2X1X0 * Y3Y2Y1Y0
X3
Y3
X2
Y2
x
--------------------------------------------------------------
X0.Y0
X1.Y0
X0.Y1
X2.Y0
X1.Y1
X0.Y2
X3.Y0
X2.Y1
X1.Y2
X0.Y3
X3.Y1
X2.Y2
X1.Y3
X3.Y2
X2.Y3
X3.Y3
P2
P3
P4
P5
P6
___________________________________________________________________________________________________________________________________________________________________
P0
P1
P7
برای پیادهسازی این عمل به چه اجزای سختافزاری نیاز است؟
برای ضربکردن یک عدد Jبیتی در یک عدد Kبیتی ،به J*Kگیت ANDو ) (K-1جمعکنندهي J
بیتی نیاز است.
Slide 38
ضربکنندهي دودویی()Binary Multiplier
مثال :ضرب دو عدد دودویی دو بیتی:
Slide 39
ضربکنندهي دودویی()Binary Multiplier
مثال :ضرب دودویی چهار بیت در سه بیت:
Slide 40
مقایسهکنندهي اندازه ()Magnitude Comparator
مقایسه کنندهي اندازه مداری است که دو عدد nبیتی ورودی را مقایسه نموده و بزرگتر،
کوچکتر یا مساوی بودن آنها را تعیین میکند.
Output
)(A>B) (A=B) (A1
0
0
0
1
0
0
0
1
Input relation
A, B
A>B
A=B
A
)(A>B
)(A=B
)(A
A3
A2
A1
A0
B3
B2
B1
B0
Slide 41
مقایسهکنندهي اندازه ()Magnitude Comparator
مثال :اعداد دودویی زیر را مقایسه نموده و بین آنها نمادهای > < ،یا = قرار دهید.
1000 ?> 0111
1011 1000 1010 =? 1010
مثال :اعداد دودویی 16بیتی زیر را مقایسه نموده و بین آنها نماد مناسب قرار دهید.
1010101010101010 ?> 0011111111111111
1010101010101010 ?< 1011111111111111
1010101010101010 ?< 1010101010101011
1010101010101010 ?= 1010101010101010
Slide 42
مقایسهکنندهي اندازه ()Magnitude Comparator
بررس ی مساوی بودن دو عدد:
دو عدد با هم مساوی است اگر تمامی بیتهای متناظر دو عدد با هم مساوی باشند.
مساوی بودن بیتهای iام دو عدد:
یا هر دو صفر باشند یا هر دو یک باشند.
')Xi = Ai Bi + Ai' Bi' = (AiBi
مساوی بودن دو عدد:
مساوی بودن تمام بیتهای دو عدد
F(A = B) = X3 X2 X1 X0
Slide 43
مقایسهکنندهي اندازه ()Magnitude Comparator
بررس ی بزرگتر بودن Aاز : B
عدد Aاز عدد Bبزرگتر است اگر:
پرارزش ترین رقم Aبزرگتر از پرارزش ترین رقم Bباشد ،
یا
پرارزش ترین رقم دو عدد مساوی باشد و رقم پرارزش بعدی Aبزرگتر از رقم متناظر در Bباشد ،
یا
دو رقم پرارزش دو عدد مساوی باشد و رقم پرارزش بعدی Aبزرگتر از رقم متناظر در Bباشد ،
یا
سه رقم پرارزش دو عدد مساوی باشد و رقم پرارزش بعدی Aبزرگتر از رقم متناظر در Bباشد ،
........
'F(A > B) = A3B3'+ X3A2B2'+ X3X2A1B1'+ X3X2X1A0B0
Slide 44
مقایسهکنندهي اندازه ()Magnitude Comparator
بررس ی کوچکتر بودن Aاز : B
عدد Aاز عدد Bکوچکتر است اگر:
پرارزشترین رقم Aکوچکتر از پرارزشترین رقم Bباشد ،
یا
پرارزشترین رقم دو عدد مساوی باشد و رقم پرارزش بعدی Aکوچکتر از رقم متناظر در Bباشد ،
یا
دو رقم پرارزش دو عدد مساوی باشد و رقم پرارزش بعدی Aکوچکتر از رقم متناظر در Bباشد ،
یا
سه رقم پرارزش دو عدد مساوی باشد و رقم پرارزش بعدی Aکوچکتر از رقم متناظر در Bباشد ،
........
F(A < B) = A3'B3+ X3A2'B2 + X3X2A1'B1 + X3X2X1A0'B0
Slide 45
)Magnitude Comparator( مقایسهکنندهي اندازه
F(A < B) = A3'B3+x3A2'B2
+ x3x2A1'B1 + x3x2x1A0'B0
F(A > B) = A3B3'+x3A2B2'
+ x3x2A1B1' + x3x2x1A0B0'
F(A = B) = x3 x2 x1 x0
Slide 46
ُ
دیکدر ()Decoder
ی
مداری شامل nورودی و 2nخروجی که در هر زمان ،تنها یکی از خروجیها که متناظر با کد باینر
ورودی است فعال میگردد.
مثال :دیکدر 3به 8
0
0
0
0
1
0
0
0
10
00
00
00
00
00
00
01
011
010
010
Slide 47
ُ
دیکدر ()Decoder
خط D0هنگامی فعال میگردد که هر سه ورودی صفر باشند.
..........
دقت کنید که:
خروجیها mintermهای مختلف ورودیها میباشند.
Slide 48
ُ
دیکدر ()Decoder
ُ
دیکدر با ورودی کنترلی فعالساز (:)Enable
اگر ورودی فعالساز غیرفعال باشد هیچ کدام از خروجیها فعال نخواهد بود.
اگر ورودی فعالساز فعال گردد خط متناظر با کد دودویی ورودی فعال خواهد شد.
ُ
مثال :دیکدر 2به 4با ورودی فعالساز:
Slide 49
ُ
دیکدر ()Decoder
ُ
ر
و
دیکدر با و ودی کنترلی فعالساز و خر جی : Active Low
معموال برای مشخص کردن active lowبودن ورودیها و خروجیها ،از نمادهای خاص ی همراه
نام متغیر آنها استفاده میگردد.
Slide 50
ُ
دیکدر ()Decoder
ُ
ُ
ایجاد دیکدر بزرگتر با دیکدرهای دارای فعالساز:
ترکیبهای مختلف ورودی به زیرمجموعههایی تقسیم میگردد که به ازای هر زیرمجموعه ،یکی از
ُ
دیکدرهای کوچک فعال میگردد.
ُ
ُ
مثال :ایجاد دیکدر 4به 16با استفاده از دیکدرهای 3به :8
Slide 51
ُ
دیکدر ()Decoder
ُ
ُ
مثال :تنها با استفاده از دیکدرهای 2به 4دارای فعالساز ،یک دیکدر 4به 16
بسازید.
Slide 52
ُ
دیکدر ()Decoder
ُ
پیادهسازی توابع با استفاده از دیکدر:
ُ
از آنجا که خروجیهای دیکدر در واقع mintermهای متناظر با ورودیها میباشند میتوان از آن
برای پیادهسازی توابعی که به فرم جمع mintermها توصیف شدهاند استفاده نمود.
Slide 53
ُ
دیکدر ()Decoder
ُ
مثال :با استفاده از یک دیکدر 3به 8و دیگر گیتهای مورد نیاز ،یک تمام جمع
کننده پیادهسازی نمایید.
)S = (1,2,4,7
)C = ( 3,5,6,7
Slide 54
ُ
ِانکدر ()Encoder
مداری دارای 2nورودی و nخروجی که در هر زمان تنها یکی از ورودیها فعال بوده و خروجی نشانگر
کد دودویی متناظر با ورودی فعال است.
ُ
مثال :انکدر 8به 3
011
010
001
Z = D1 + D3 + D5 + D7
Y = D2 + D3 + D6 + D7
X = D4 + D5 + D6 +D7
00
00
00
00
00
01
10
00
1
0
0
0
0
0
0
0
Slide 55
ُ
اشکاالت ِانکدر معمولی
ُ
برای ِانکدر معمولی ،فرض بر آن است که در هر زمان ،یکی و فقط یکی از ورودیها یک باشد.
اگر هیچ کدام از ورودی ها یک نباشد ...
اگر دو ورودی (مثال D5و ) D6با هم یک باشد ...
برای برطرف کردن این اشکالها چه پیشنهادی دارید؟
Z = D1 + D3 + D5 + D7
Y = D2 + D3 + D6 + D7
X = D4 + D5 + D6 +D7
Slide 56
انکدر اولویت
اضافه کردن خروجیای که نشانگر معتبر بودن یا نبودن کد ورودی است.
(در صورت غیرفعال بودن تمام ورودیها ،نامعتبر بودن ورودی مشخص گردد).
اولویتبندی ورودیها
(اگر چند ورودی با هم فعال شوند ورودی با اولویت باالتر در نظر گرفته شود).
Slide 57
انکدر اولویت
ُ
با استفاده از نقشهي کارنو ،توابع خروجی انکدر اولویت را ساده نموده و شماتیک مداری طرح را
رسم کنید.
خروجی xرا وارد نقشه نمایید.
x = D2 + D3
'y = D3 + D1D2
V = D0 + D1 + D2 + D3
Slide 58
مالتیپلکسرها ()Multiplexer-MUX
مداری که اطالعات دودویی یکی از خطوط ورودی را انتخاب کرده و به خط خروجی انتقال
میدهد.
مالتیپلکسر دارای 2nورودی 1 ،خروجی و nخط انتخاب است .کد باینری خطوط انتخاب تعیین
میکند که کدام خط انتخاب گردد.
1 Output
Multiplexer
Combinational
Logic Circuit
n Selection Lines
2n Inputs
Slide 59
مالتیپلکسر 2به 1
مثال :طراحی مالتیپلکسر 2به :1
مدار مالتیپلکسر 2به 1را طراحی نمایید.
Slide 60
مالتیپلکسر 4به 1
مثال :طراحی مالتیپلکسر 4به :1
الف :جدول درستی و جدول عملکرد مالتیپلکسر 4به 1شکل زیر را رسم کنید.
ب :از دیدگاه کاربرپسند بودن ،کدام یک برتر است ،جدول درستی یا جدول عملکرد؟
Inputs
ج :مدار مالتی پلکسر 4به 1را طراحی نمایید.
I0
Y
MUX
I1
I2
I3
S1 S 0
select
Slide 61
مالتیپلکسر 8به 1
مثال :طراحی مالتیپلکسر 8به 1با استفاده از دیکدر 3به :8
ُ
با استفاده از یک دیکدر 3به 8و دیگر گیتهای مورد نیاز ،یک مالتیپلکسر 8به 1طراحی نمایید.
Slide 62
ساخت مالتیپلکسرهای بزرگتر با نمونههای کوچکتر
مثال :ساخت مالتیپلکسر 8به 1با استفاده از نمونههای کوچکتر:
با استفاده از مالتیپلکسرهای 4به 1و 2به ،1یک مالتیپلکسر 8به 1بسازید.
Y
S2 S1 S0
I0
I1
I2
I3
I4
I5
I6
I7
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
4:1
MUX
Y
2:1
MUX
S2
I0
I1
I2
I3
S1 S0
4:1
MUX
S1 S0
I4
I5
I6
I7
Slide 63
مالتیپلکسر 2به ( 1چهارخطی)
اگر بخواهیم از بین چند گذرگاه یکی را انتخاب کنیم نیاز به مالتیپلکسر گذرگاه داریم.
مثال :مالتیپلکسر 2به 1چهار خطی:
در این طرح،
چرا در مسیر خط انتخاب ( )Sاز دو گیت NOTاستفاده شده است؟
Slide 64
پیادهسازی تابع با استفاده از مالتیپلکسر
برای پیاده سازی یک تابع nمتغیره ،به یک مالتی پلکسر 2n-1به یک نیاز است. -تابع را به فرم جدول درستی توصیف میکنیم.
اولین n-1متغیر جدول به خطوط انتخاب مالتی پلکسر متصل میگردند. برای هر ترکیبی از متغیرهای انتخاب ،خروجی را به صورت تابعی از آخرین متغیر ارزیابی می کنیم.این تابع میتواند ، 1 ، 0متغیر یا مکمل متغیر باشد .تابع تعیین شده به ورودی مالتیپلکسر
متصل می گردد.
Slide 65
پیادهسازی تابع با استفاده از مالتیپلکسر
مثال :تابع زیر را با استفاده از مالتیپلکسر پیادهسازی نمایید.
-1توصیف طرح به فرم جدول درستی
)F(x,y,z)=(1,2,6,7
-2انتخاب مالتیپلکسر و تعیین خطوط انتخاب آن
-3تعیین ورودیهای مالتیپلکسر به کمک جدول درستی
-4ترسیم مدار
مالتی پلکسر 4به 1
خطوط انتخاب x :و y
Slide 66
پیادهسازی تابع با استفاده از مالتیپلکسر
مثال :تابع زیر را با استفاده از مالتیپلکسر پیادهسازی نمایید.
-1توصیف طرح به فرم جدول درستی
)F(A,B,C,D)=(1,3,4,11,12,13,14,15
-2انتخاب مالتیپلکسر و تعیین خطوط انتخاب آن
-3تعیین ورودیهای مالتیپلکسر به کمک جدول درستی
-4ترسیم مدار
مالتی پلکسر 8به 1
خطوط انتخاب B ، A :و C
Slide 67
دیمالتیپلکسرها ()Demultiplexer
مداری که اطالعات دودویی خط ورودی را به یکی از خطوط خروجی انتقال میدهد.
دیمالتیپلکسر دارای یک ورودی 2n ،خروجی و nخط انتخاب است .کد باینری خطوط انتخاب
تعیین میکند که ورودی به کدام خط خروجی انتقال یابد.
2n Outputs
ُ
معموال از دیکدر nبه
2n
خط دارای فعالساز برای
پیادهسازی دیمالتیپلکسر 1به 2nخط استفاده می
گردد.
De-Multiplexer
Combinational
Logic Circuit
n Selection Lines
1 Input
Slide 68
دیمالتیپلکسرها ()Demultiplexer
ُ
مثال :پیادهسازی دیمالتیپلکسر با استفاده از دیکدر:
ُ
با استفاده از یک دیکدر 3به 8دارای پایهي فعالساز ،یک دیمالتیپلکسر 1به 8پیادهسازی
نمایید.
ُ
بدین منظور الزم است از ورودیهای دیکدر به عنوان خطوط انتخاب دیمالتیپلکسر ،و از خط
فعالساز آن به عنوان ورودی دیمالتیپلکسر استفاده گردد.
Slide 69
دیمالتیپلکسر-مثال کاربردی مالتیپلکسر
: به اشتراک گذاشتن یک کانال ارتباطی بین چندین دستگاه:مثال
MUX
MUX
Communication Channel
Communication Channel
DEMUX
DEMUX
Select
Source
Select
Destination
Select
Source
Select
Destination
Destination
Destination
Source Source
.در هر زمان تنها یکی از مبداها و یکی از مقصدها به کانال ارتباطی دسترس ی دارند
Slide 70
گیت سهحالته ()tri-state gate
گیت سهحالته به گیتی گفته میشود که خروجی آن عالوه بر وضعیتهای lowو ، highمی
تواند در وضعیت امپدانس باال ( )high-impedanceنیز قرار گیرد.
مثال :بافر سهحالته
Slide 71
گیت سهحالته ()tri-state gate
در گیتهای معمولی نمیتوان خروجی گیتها را به طور مستقیم به هم متصل نمود.
ولی در گیتهای سهحالته ،اگر جز یکی از گیتها ،خروجی بقیه در وضعیت امپدانس -با ال باشد
میتوان خروجی گیتها را به هم متصل نمود.
مثال :پیادهسازی مالتیپلکسر 2به 1با استفاده از گیتهای بافر سهحالته
Slide 72
گیت سهحالته ()tri-state gate
مثال :پیادهسازی مالتیپلکسر توسط گیتهای سهحالته:
با استفاده از دیکدر 2به 4و گیتهای بافر سهحالته ،یک مالتیپلکسر 4به 1بسازید.
Slide 73