فصل دوم

Download Report

Transcript فصل دوم

‫به نام یگانه مهندس هستی‬
‫مدار منطقی‬
‫مهدی قدیری‬
[email protected]
[email protected]
logic circuit 5
1
‫فصل چهارم‬
‫مدارهای ترکیبی‬
‫‪2‬‬
‫‪logic circuit 5‬‬
‫مدارهای ترکیبی‬
‫‪1. Combinational‬‬
‫‪LOGIC CIRCUITS:‬‬
‫‪2. Sequential‬‬
‫مدار های منطقی ترکیبی )‪(circuits without a memory‬‬
‫‪ ‬در این مدار ها مقدار خروجی فقط به مقدار فعلی ورودیها بستگی دارد‪.‬‬
‫‪ ‬در این مدارها زمان اعمال ورودی تاثیری در مقدار خروجی ندارد‪.‬‬
‫مدارهای منطقی ترتیبی )‪(circuits with memory‬‬
‫‪ ‬در این مدارها مقدار خروجی به مقدار فعلی ورودیها و حالت مدار بستگی‬
‫دارد‪.‬‬
‫‪ ‬این مدارها از گیتهای منطقی و عناصر ذخیره اطالعات (حافظه) استفاده می‬
‫کنند و در فصلهای بعد مورد بررسی قرار می گیرند‪.‬‬
‫‪3‬‬
‫‪logic circuit 5‬‬
‫مدارهای ترکیبی‬
:‫مهمترین مدارهای ترکیبی‬
Available in IC’s as MSI and used as
standard cells in complex VLSI (ASIC)
logic circuit 5
‫ جمع کننده‬Adders
‫ تفریق کننده‬Subtractors
‫ مقایسه کننده‬Comparators
‫ دیکدر‬Decoders
‫ انکدر‬Encoders
‫ تسهیم کننده‬Multiplexers
Demultiplexers







4
‫آنالیز منطق ترکیبی‬
‫گام اول‪:‬‬
‫‪‬‬
‫مدار را از سمت ورودی ها به سمت خروجی ها ساده می کنیم و خروجی های‬
‫مدار را بدست می آوریم‪.‬‬
‫گام دوم‪:‬‬
‫‪ ‬خروجی را به کمک جدول خواص یا جدول کارنو به حاصل جمع مینترم ها‬
‫تبدیل می کنیم‪.‬‬
‫گام سوم‪:‬‬
‫‪ ‬جدول درستی مدار را رسم می کنیم و بجای مینترم ها یک(‪ )1‬جایگزین‬
‫می کنیم‪.‬‬
‫‪5‬‬
‫‪logic circuit 5‬‬
‫آنالیز منطق ترکیبی‬
 ABC
 T3  T2
 A B C
 F2 'T1
 AB  AC  BC
logic circuit 5
6
‫آنالیز منطق ترکیبی‬
F2  AB  AC  BC
T1  ( A  B  C )
F1  T3  T2  F2 'T1  ABC
 ( AB  AC  BC)'( A  B  C )  ABC
 ( A' B' )( A'C ' )(B'C ' )( A  B  C )  ABC
 ( A' B' C ' )( AB' AC' BC' B' C )  ABC
 A' BC ' A' B' C  AB ' C ' ABC
logic circuit 5
7
‫آنالیز منطق ترکیبی‬
OUTPUTS
INPUTS
A
B
C
F1
F2
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
logic circuit 5
8
‫طراحی مدارات ترکیبی‬
‫گام اول‪:‬‬
‫‪‬‬
‫از روی خصوصیات و تعریف مسئله تعداد ورودیها و خروجیها را مشخص کنید‪.‬‬
‫گام دوم‪:‬‬
‫‪ ‬جدول درستی را تشکیل دهید و ارتباط ورودیها و خروجیها را مشخص کنید‪.‬‬
‫گام سوم‪:‬‬
‫‪ ‬با استفاده از جدول کارنو مدار را ساده کنید‪.‬‬
‫گام چهارم‪:‬‬
‫‪ ‬دیاگرام منطقی مدار را بکشید‪.‬‬
‫‪ ‬گام پنجم ( اختیاری)‪:‬‬
‫‪ ‬درستی طراحی خود را تحقیق کنید‪.‬‬
‫‪9‬‬
‫‪logic circuit 5‬‬
‫طراحی مدارات ترکیبی‬
‫مثال‪ :‬مداری با سه ورودی و یک خروجی طراحی کنید بطوریکه مقدار خروجی فقط‬
‫هنگامیکه مقدار عددی معادل ورودیها کمتر از سه باشد‪ ،‬با ‪ 1‬برابر باشد‪.‬‬
‫‪y‬‬
‫‪10‬‬
‫گام سوم‬
‫' ‪F  x' y' x' z‬‬
‫‪11‬‬
‫‪1‬‬
‫‪z‬‬
‫گام چهارم‪:‬‬
‫‪01‬‬
‫‪yz‬‬
‫‪00‬‬
‫‪1‬‬
‫‪1‬‬
‫‪F‬‬
‫‪z‬‬
‫‪y‬‬
‫‪x‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪x 1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪x‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪y‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫گام دوم‬
‫‪F‬‬
‫‪z‬‬
‫‪10‬‬
‫‪logic circuit 5‬‬
‫گام اول‬
‫جمع کننده دودویی – نیم جمع کننده‬
‫هدف‪ :‬محاسبه جمع جبری ‪A+B‬‬
‫‪ :S‬نتیجه حاصلجمع)‪(sum‬‬
‫‪ : C‬رقم نقلی)‪(carry‬‬
‫‪S‬‬
‫‪C‬‬
‫‪11‬‬
‫‪H.A.‬‬
‫‪x‬‬
‫‪y‬‬
‫‪logic circuit 5‬‬
‫‪S‬‬
‫‪C‬‬
‫‪B‬‬
‫‪A‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
(full adder) ‫جمع کننده کامل‬
Inputs
INPUTS
A B C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Outputs
OUTPUTS
S
C
0
1
1
0
1
0
0
1
A+B+C ‫ محاسبه جمع جبری‬:‫هدف‬
(sum)‫ نتیجه حاصلجمع‬:S
(carry)‫ رقم نقلی‬: C
0
0
0
1
0
1
1
1
logic circuit 5
12
(full adder) ‫جمع کننده کامل‬
C
logic circuit 5
13
SOP ‫جمع کننده کامل به فرم‬
x
y
z
logic circuit 5
F.A.
S
C
14
‫پیاده سازی جمع کننده کامل با دو نیم جمع کننده‬
S  z  ( x  y)
 z ' ( xy' x' y )  z ( xy' x' y )'
x
y
H.A.
 z ' ( xy' x' y )  z[( x' y )( x  y ' )]
 z ' (Sxy' x' y )  z ( x' y 'x xy)
H.A.
y
C  x'yz' xyz  x ' y ' z
 xy'z'
logic circuit 5
S
C
15
‫‪ Full-adder‬چهار بیتی‬
‫هدف‪ :‬محاسبه جمع جبری‬
‫‪A3A2A1A0+B3B2B1B0=C4S3S2S1S0‬‬
‫‪ :S‬نتیجه حاصلجمع)‪(sum‬‬
‫‪ : C‬رقم نقلی)‪(carry‬‬
‫‪ :C0‬رقم نقلی از طبقه قبل‬
‫‪ :C4‬رقم نقلی به طبقه بعد‬
‫‪16‬‬
‫‪logic circuit 5‬‬
‫‪i‬‬
‫‪0‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪Ci‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪Ai‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪Bi‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪Si‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪Ci+1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫تفریق کننده دودویی‬
‫‪‬‬
‫با استفاده از تکنیک مکمل گیری می توان عمل تفریق را انجام داد‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫محاسبه مکمل ‪:1‬‬
‫‪‬‬
‫‪‬‬
‫تمام ارقام بعد از اولین ‪ 1‬از سمت چپ را معکوس می کنیم‪.‬‬
‫روش دیگر محاسبه مکمل ‪:2‬‬
‫‪‬‬
‫‪‬‬
‫‪17‬‬
‫تمام ارقام را معکوس می کنیم یعنی ‪ 0‬ها را به ‪ 1‬و ‪ 1‬ها را به ‪ 0‬تبدیل می‬
‫کنیم‬
‫محاسبه مکمل ‪:2‬‬
‫‪‬‬
‫‪‬‬
‫محاسبه مکمل ‪ 2‬مفروق منه‬
‫انجام جمع باینری‬
‫محاسبه مکمل ‪1‬‬
‫جمع با ‪1‬‬
‫‪logic circuit 5‬‬
‫تفریق کننده دودویی – نیم تفریق کننده‬
‫هدف‪ :‬محاسبه تفریق جبری ‪x-y=x+y’+1‬‬
‫‪ :D‬نتیجه اختالف)‪(Difference‬‬
‫‪ :B‬رقم قرض)‪(Borrow‬‬
‫‪D‬‬
‫‪x‬‬
‫‪H.S.‬‬
‫‪y‬‬
‫‪B‬‬
‫‪D‬‬
‫‪B‬‬
‫‪y‬‬
‫‪x‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪x‬‬
‫‪D‬‬
‫‪y‬‬
‫‪B‬‬
‫‪18‬‬
‫‪logic circuit 5‬‬
(Full Subtractor) ‫تفریق کننده کامل‬
Inputs
INPUTS
A B C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Outputs
OUTPUTS
B
D
0
1
1
1
0
0
0
1
0
1
1
0
1
0
0
1
A-B-C ‫ محاسبه تفریق جبری‬:‫هدف‬
(Difference)‫ نتیجه اختالف‬:D
(Borrow)‫ رقم قرض‬:B
0-0-0=0
0-0-1=2+0-0-1=1
0-1-0=2+0-1-0=1
0-1-1=2+0-1-1=0
1-0-0=1
1-0-1=0
1-1-0=0
1-1-1=2+1-1-1=1
logic circuit 5
19
(Full Subtractor) ‫تفریق کننده کامل‬
x
y
z
F.S.
D
B
logic circuit 5
20
‫جمع و تفریق کننده با ورودی کنترل‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫هدف‪ :‬تفریق کننده ‪ 4‬بیتی‬
‫ورودی ‪ M‬کار مدار را کنترل می کند‪.‬‬
‫چنانچه مقدار ‪ M=0‬باشد مدار جمع کننده شود‪.‬‬
‫چنانچه مقدار ‪ M=1‬باشد مدار تفریق کننده شود‪.‬‬
‫نکته‪:‬‬
‫‪A‬‬
‫‪21‬‬
‫‪0‬‬
‫‪A‬‬
‫‪logic circuit 5‬‬
‫’‪A‬‬
‫‪1‬‬
‫‪A‬‬
‫جمع و تفریق کننده با ورودی کنترل‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ C0‬مقدار ‪ 1‬را در اولین جمع شرکت داده و نتیجه تفریق را اصالح می نماید‪.‬‬
‫چنانچه مقدار ‪ M=0‬باشد مدار جمع کننده شود‪.‬‬
‫چنانچه مقدار ‪ M=1‬باشد مدار تفریق کننده شود‪.‬‬
‫‪22‬‬
‫‪logic circuit 5‬‬
‫سرریز‬
‫‪‬‬
‫سرریز وقتی اتفاق می افتد که دو عدد ‪ n‬بیتی را جمع (تفریق) کنیم و‬
‫نتیجه به ‪ n+1‬بیت نیاز داشته باشد‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪23‬‬
‫اگر ‪ v=0‬یعنی سرریز نداریم و نتیجه درست است‪.‬‬
‫اگر ‪ v=1‬یعنی سرریز داریم و بیت ‪ n+1‬بیت عالمت است‪.‬‬
‫اگر ‪ C4=1‬باشد آنگاه ‪A≥B‬‬
‫اگر ‪ C4=0‬باشد آنگاه ‪A<B‬‬
‫‪logic circuit 5‬‬
‫ضرب دودویی‬
‫‪‬‬
‫ضرب باینری را می شود مثل ضرب اعداد دهدهی انجام داد‪.‬‬
‫برای ضرب مضروب ‪ B‬در ‪ ، A‬از کم ارزش ترین بیت مضروب شروع کنید و آنرا در ‪A‬‬
‫ضرب کنید‪ .‬ضربهای ارقام بعدی ‪ B‬را یک واحد به چپ شیفت دهید و اعداد بدست‬
‫آمده را با هم جمع کنید‪.‬‬
‫‪24‬‬
‫‪logic circuit 5‬‬
‫‪‬‬
‫مقایسه کننده‬
‫‪‬‬
‫دو عدد ‪ A‬و ‪ B‬را با هم مقایسه کرده و سه خروجی زیر را تولید می کند‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪A>B‬‬
‫‪A=B‬‬
‫‪A<B‬‬
‫‪A  A3 A2 A1 A0‬‬
‫‪B  B3 B2 B1B0‬‬
‫فرض کنید هر کدام چهار بیت داشته باشند‪:‬‬
‫‪for i  0,1, 2, 3‬‬
‫' ‪xi  Ai Bi  Ai ' Bi‬‬
‫‪xi  1 if A  B  0 or A  B  1‬‬
‫‪‬‬
‫‪25‬‬
‫اگر تمام‬
‫ها “‪ ”1‬باشند ‪ A‬و‪ B‬با هم برابر هستند‪.‬‬
‫‪ AND operationxi‬‬
‫‪logic circuit 5‬‬
‫‪( A  B)  x3 x2 x1 x0‬‬
‫مقایسه کننده‬
‫‪‬‬
‫برای اینکه بفهمیم کدامیک بزرگتر است‪ ،‬از با ارزشترین بیت شروع می کنیم‬
‫و با هم مقایسه می کنیم‪ .‬هر کدام بزرگتر بود عدد مربوطه بزرگتر است‪.‬‬
‫‪‬‬
‫اگر مساوی بودند‪ ،‬بیت با ارزش بعدی را امتحان می کنیم‪.‬‬
‫'‪( A  B)  A3 B3'  x3 A2 B2'  x3 x2 A1B1'  x3 x2 x1 A0 B0‬‬
‫‪( A  B)  A3' B3  x3 A2' B2  x3 x2 A1' B1  x3 x2 x1 A0' B0‬‬
‫مثال‪:‬‬
‫‪A  1010and B  0101 ( A  B)  1‬‬
‫‪A  0101and B  1010 ( A  B)  1‬‬
‫‪26‬‬
‫‪logic circuit 5‬‬
‫ بیتی‬4 ‫مقایسه کننده‬
x
0
0
1
1
a3
a2
a1
a0
b3
b2
b1
b0
4 bit binary ADDER
1
s3
s2
s1
s0
y
0
1
0
1
1
0
0
0
A=B
A>B
C4
A<B
logic circuit 5
27
‫دیکدر (‪)Decoder‬‬
‫‪ ‬دیکدر یک مدار ترکیبی است که اطالعات باینری حاصل از ‪n‬‬
‫ورودی را به ‪ 2n‬خروجی مجزا تبدیل می کند‪.‬‬
‫‪ ‬کاربردها‪:‬‬
‫‪ ‬حافظه اصلی میکروپروسسور‪ :‬انتخاب بانکهای مختلف حافظه‬
‫‪ ‬ورودی و خروجی میکروپروسسور‪ :‬انتخاب دستگاههای مختلف‬
‫‪ ‬دیکود کردن دستورات میکروپروسسور‪ :‬انتخاب واحدهای مختلف‬
‫‪ ‬حافظه‪ :‬دیکد کردن آدرسهای حافظه‬
‫‪28‬‬
‫‪logic circuit 5‬‬
b
0
1
0
1
m0 m1 m2 m3
1
0
0 0
0
1
0 0
0
0
1 0
0
0
0 1
b
a
0
1
2
3
m0
m1
m2
m3
.‫ دیکودر فوق تولید کننده مینترم است‬:‫نکته‬
z
y
logic circuit 5
0
1
0
1
Decoder 2×4
a
0
0
1
1
Decoder 2×4
4 ‫ به‬2 ‫دیکدر‬
0
1
2
3
D0
D1
D2
D3
29

‫دیکدر ‪ 2‬به ‪4‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تاکنون تمام ورودی ها و خروجی هایی که در مدارها داشتیم اصطالحا « ‪Active‬‬
‫‪ »High‬یا « منطق مثبت » می باشند‪.‬‬
‫ورودی و خروجی ها می توانند اصطالحا «‪ »Active Low‬یا « منطق منفی» باشند‬
‫یعنی چنانچه مقدار صفر داشته باشند‪ ،‬فعال و مقدار یک‪ ،‬یعنی غیر فعال هستند‪.‬‬
‫نکته‪ :‬دیکودر با خروجی های ‪ Active Low‬تولید کننده ماکسترم است‪.‬‬
‫‪30‬‬
‫‪Decoder 2×4‬‬
‫‪m0‬‬
‫‪m1‬‬
‫‪m2‬‬
‫‪m3‬‬
‫‪0‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪0‬‬
‫‪1‬‬
‫‪b‬‬
‫‪a‬‬
‫‪m2 m3‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪logic circuit 5‬‬
‫‪m1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪m0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪b‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪a‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
8 ‫ به‬3 ‫دیکدر‬
logic circuit 5
31
‫جدول درستی دیکدر ‪ 3‬به ‪8‬‬
‫‪D7‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪‬‬
‫‪32‬‬
‫‪D6‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪D5‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪Outputs‬‬
‫‪D3‬‬
‫‪D4‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪D2‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪D1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪D0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪Binary Inputs‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫اگر مقدار ورودی دیکدر با مینترم ‪ mi‬معادل باشد‪ ،‬خروجی ‪i‬‬
‫ام تنها خروجی است که با بقیه خروجیها تفاوت دارد‪.‬‬
‫‪logic circuit 5‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫دیکدر ‪ 2‬به ‪ 4‬با ورودی توانا ساز‬
‫وقتی که ‪ E=0‬باشد دیکدر فعال خواهد شد و خروجی متناظر با مینترمی که توسط ‪ A‬و ‪B‬‬
‫انتخاب شده است مقدار ‪ 0‬خواهد داشت‪.‬‬
‫اما اگر ‪ E=1‬باشد دیکدر کار نخواهد کرد و مقدار تمام خروجیها ‪1‬خواهد بود‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫یعنی ‪D0 … D3 = 1‬‬
‫‪Complemented outputs‬‬
‫‪33‬‬
‫‪logic circuit 5‬‬
‫دیکدر ‪ 4‬به ‪16‬‬
‫‪‬‬
‫‪‬‬
‫وقتی که ‪ E=0‬است دیکدر باالیی فعال و دیکدر پایینی خاموش خواهد بود‪ .‬دیکدر باالیی‬
‫مینترمهای ‪ 0000‬تا ‪ 0111‬را تولید خواهد کرد‪ .‬و همه خروجیهای دیکدر پایینی ‪ 0‬خواهند‬
‫بود‪.‬‬
‫وقتی که ‪ E=1‬است دیکدر باالیی خاموش و دیکدر پایینی فعال خواهد بود‪ .‬دیکدر پایینی‬
‫مینترمهای ‪ 1000‬تا ‪ 1111‬را تولید خواهد کرد‪ .‬و همه خروجیهای دیکدر باالیی ‪ 0‬خواهند‬
‫بود‪.‬‬
‫‪34‬‬
‫‪logic circuit 5‬‬
‫مثال از دیکدر‬
‫‪‬‬
‫تابع زیر را با استفاده از ‪ decoder‬و یک گیت ‪ OR‬پیاده سازی کنید‪.‬‬
‫‪f(a,b, c)   m(0, 1, 2 , 5)  m0  m1  m2  m5‬‬
‫‪F‬‬
‫‪35‬‬
‫‪logic circuit 5‬‬
‫‪Decoder 3×8‬‬
‫‪0‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪4‬‬
‫‪5‬‬
‫‪6‬‬
‫‪7‬‬
‫‪2‬‬
‫‪1‬‬
‫‪0‬‬
‫‪a‬‬
‫‪b‬‬
‫‪c‬‬
‫مثال از دیکدر‬
‫‪‬‬
‫تابع مثال قبل را با استفاده از ‪ decoder‬و یک گیت ‪ AND‬پیاده سازی‬
‫کنید‪.‬‬
‫‪f(a,b, c)   m(0, 1, 2 , 5)   (3,4,6,7)  M 3  M 4  M 6  M 7‬‬
‫‪F‬‬
‫‪36‬‬
‫‪logic circuit 5‬‬
‫‪Decoder 3×8‬‬
‫‪0‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪4‬‬
‫‪5‬‬
‫‪6‬‬
‫‪7‬‬
‫‪2‬‬
‫‪1‬‬
‫‪0‬‬
‫‪a‬‬
‫‪b‬‬
‫‪c‬‬
‫ساخت تمام جمع کننده با دیکدر‬
‫‪‬‬
‫در تمام جمع کننده سه ورودی و دو خروجی داریم که خروجی ها را می توان‬
‫به صورت جمع مینترم ها به شکل زیر پیاده سازی نمود‪:‬‬
‫)‪C ( x, y, z)  (3,5,6,7‬‬
‫)‪( x, y, z)  (1,2,4,7‬‬
‫)‪( x, y, z)  (3,5,6,7‬‬
‫‪37‬‬
‫‪logic circuit 5‬‬
‫)‪S ( x, y, z )  (1,2,4,7‬‬
‫مولتی پلکسر‬
‫‪‬‬
‫‪‬‬
‫مولتی پلکسر یک مدار ترکیبی است که یکی از خطوط ورودی را انتخاب‬
‫و به خط خروجی وصل خواهد کرد‪.‬‬
‫اگر تعداد ورودیها برابر ‪ 2n‬باشد مولتی پلکسر ‪ n‬خط انتخاب دارد‪.‬‬
‫‪Mux 4×1‬‬
‫‪F‬‬
‫‪1 0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪F‬‬
‫‪I0‬‬
‫‪I1‬‬
‫‪I2‬‬
‫‪I3‬‬
‫‪I0‬‬
‫‪I1‬‬
‫‪I2‬‬
‫‪I3‬‬
‫‪s1 s0‬‬
‫‪s0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪s1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪F  S1S0 I 0  S1S0 I1  S1S0 I 2  S1S0 I3‬‬
‫‪38‬‬
‫‪logic circuit 5‬‬
‫مولتی پلکسر ‪ 2‬به ‪1‬‬
‫مولتی پلکسر ‪ 4‬به ‪1‬‬
‫‪39‬‬
‫‪logic circuit 5‬‬
A=A3A2A1A0
B=B3B2B1B0
0
1
4 bit Mux 2×1
‫ به یک چهار بیتی‬2 ‫مولتی پلکسر‬
F
s
logic circuit 5
40
‫مولتی پلکسر ‪ 4‬به ‪1‬‬
‫‪ ‬در حالت کلی‪ ،‬یک مولتی پلکسر ‪ 2n‬به ‪ 1‬را می توان توسط یک دیکدر ‪ n‬به ‪2n‬‬
‫ساخت‪.‬‬
‫‪I0‬‬
‫‪I1‬‬
‫‪I2‬‬
‫‪I3‬‬
‫‪0‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪Decoder 2×4‬‬
‫‪0‬‬
‫‪1‬‬
‫‪41‬‬
‫‪s0 s1‬‬
‫‪logic circuit 5‬‬
‫‪1‬‬
‫‪0‬‬
‫مولتی پلکسرها‬
a
a’
1
0
0
1
2
3
Mux 4×1
.‫ را به ساده ترین شکل ممکن بنویسید‬F (a, b, c) ‫خروجی مدار زیر‬
1 0
b
0
0
1
1
b c
c
F
0
a
1
a’
0
1
1
0
F  S1S0I0  S1S0I1  S1S0I 2  S1S0I3
F  b c a  b c a  b c 1 b c 0
 ab c  a b c  bc
1
1
1
1
F (a, b, c)  a b c  bc  ac
logic circuit 5
42

‫پیاده سازی توابع بولی توسط مولتی پلکسرها‬
‫‪‬‬
‫‪‬‬
‫هر تابع ‪ n‬متغیره را می شود توسط یک مولتی پلکسر که ‪ m‬خط انتخاب‬
‫دارد ساخت‪.‬‬
‫برای این کار‪:‬‬
‫‪ ‬ابتدا جدول درستی را تشکیل دهید‪.‬‬
‫‪ m ‬ورودی با ارزش را به ورودیهای انتخاب مولتی پلکسر وصل کنید‪.‬‬
‫(اولویت با ارزش بیشتر)‬
‫‪ ‬به ازای هر ترکیب از ورودیهای انتخاب‪ ،‬خروجی را بر حسب ورودی‬
‫های باقیمانده (کم ارزش ترین ورودی ها) تعیین کنید‪ (.‬یک رابطه یا تابع )‬
‫‪ ‬ورودیهای مالتی پلکسر را طبق نتیجه مرحله قبل (تابع) وصل کنید‪.‬‬
‫‪43‬‬
‫‪logic circuit 5‬‬
‫پیاده سازی توابع بولی توسط مولتی پلکسرها‬
‫‪‬‬
‫مثال‪ :‬تابع‬
‫‪Mux 8×1‬‬
‫‪F‬‬
‫)‪F ( x, y, z )  (1,2,6,7‬‬
‫‪2 1 0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪4‬‬
‫‪5‬‬
‫‪6‬‬
‫‪7‬‬
‫را به کمک مالتی پلکسر ‪ 8‬به ‪ 1‬پیاده سازی نمایید‪.‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪xy z‬‬
‫‪44‬‬
‫‪logic circuit 5‬‬
‫‪F‬‬
‫‪Z‬‬
‫‪Y‬‬
‫‪X‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫پیاده سازی توابع بولی توسط مولتی پلکسرها‬
‫‪‬‬
‫مثال‪ :‬تابع‬
‫)‪F ( x, y, z )  (1,2,6,7‬‬
‫را به کمک مالتی پلکسر ‪ 4‬به ‪ 1‬پیاده سازی نمایید‪.‬‬
‫‪Z‬‬
‫‪Mux 4×1‬‬
‫‪F‬‬
‫‪1 0‬‬
‫‪XY‬‬
‫‪45‬‬
‫‪0‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪Z‬‬
‫’‪Z‬‬
‫‪0‬‬
‫‪1‬‬
‫’‪Z‬‬
‫‪0‬‬
‫‪1‬‬
‫‪logic circuit 5‬‬
‫‪F‬‬
‫‪Z‬‬
‫‪Y‬‬
‫‪X‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫پیاده سازی توابع بولی توسط مولتی پلکسرها‬
‫‪‬‬
‫مثال‪ :‬تابع‬
‫)‪F ( x, y, z )  (1,2,6,7‬‬
‫‪Mux 2×1‬‬
‫‪F‬‬
‫را به کمک مالتی پلکسر ‪ 2‬به ‪ 1‬پیاده سازی نمایید‪.‬‬
‫‪y’z+ z’y‬‬
‫‪0‬‬
‫‪y‬‬
‫‪1‬‬
‫‪y’z+ z’y‬‬
‫‪x‬‬
‫‪Mux 2×1‬‬
‫‪F‬‬
‫‪z‬‬
‫‪y‬‬
‫‪0‬‬
‫‪1‬‬
‫‪y‬‬
‫‪x‬‬
‫‪46‬‬
‫‪logic circuit 5‬‬
‫‪y‬‬
‫‪F‬‬
‫‪z‬‬
‫‪y‬‬
‫‪x‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫پیاده سازی یک تابع بولی چهار متغیره توسط یک مولتی پلکسر ‪ 8‬به ‪1‬‬
‫)‪F ( A, B, C, D)  (1,3,4,11,12,13,14,15‬‬
‫به ترتیب ورودیها دقت کنید‪.‬‬
‫‪D‬‬
‫‪D‬‬
‫‪Mux 8×1‬‬
‫‪F‬‬
‫‪2 1 0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪4‬‬
‫‪5‬‬
‫‪6‬‬
‫‪7‬‬
‫’‪D‬‬
‫‪D‬‬
‫‪D‬‬
‫’‪D‬‬
‫‪0‬‬
‫‪0‬‬
‫‪D‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪D‬‬
‫‪1‬‬
‫‪AB C‬‬
‫‪1‬‬
‫‪47‬‬
‫‪logic circuit 5‬‬
‫‪F‬‬
‫‪D‬‬
‫‪C‬‬
‫‪B‬‬
‫‪A‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫گیتهای سه حالته‬
‫‪‬‬
‫یک گیت سه حالته دارای سه حالت است‪ 0 :‬و ‪ 1‬و امپدانس باال‪ .‬در حالت‬
‫امپدانس باال خروجی مدار باز خواهد بود‪.‬‬
‫‪‬‬
‫‪‬‬
‫وقتی که ورودی کنترل ‪ 0‬باشد مقدار خروجی امپدانس باال خواهدبود‪.‬‬
‫وقتی که مقدار ورودی کنترل ‪ 1‬باشد خروجی به ورودی وصل خواهد بود‪.‬‬
‫‪‬‬
‫لذا می توان هر تعداد دلخواه از خروجیهای این گیتها را به هم وصل نمود‪.‬‬
‫بدون این مشکل ‪ load‬داشته باشیم‪.‬‬
‫‪48‬‬
‫‪logic circuit 5‬‬
‫ساخت مولتی پلکسر توسط گیتهای سه حالته‬
‫دقت کنید این نوع بستن خروجیها‬
‫در انواع دیگر گیتها مجاز نیست‪.‬‬
‫‪49‬‬
‫‪logic circuit 5‬‬