Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
** * فصل چهارم * **
-منطق ترکيبی -
** * فصل چهارم * **
-منطق ترکيبی -
مدار منطقي ترکيبی مدار منطقي ترکيبی
Fi(x1,x2,…,xn) i=1,2,..nFi(x1,x2,…,xn) i=1,2,..n
منطق ترکيبی ، مطرح شده و )مداری ( مداری ترکيبی به صورت شماتيک :تحليل
: عملکرد آن پرسيده می شود . توابع جبری خروجی مشخص شود
. جدول درستی محاسبه شود . عملکرد مدار مشخص شود
عملکرد يک مدار ترکيبی مطرح شده و مدار منطقی مربوطه، : طراحی : پرسيده می شود
توابع جبری خروجی، با توجه به محدوديت های صورت سوال، مشخص شود و . يا شکل مدار کشيده شود
. .. تعداد گيت، تعداد ورودی گيت، نوع گيت، :محدوديت ها
:مثال روش تحليل:مثال روش تحليل
F1T3T2T1F2'F2CBA
000010000
110110100
110110010
000101110
110110001
000101101
000101011
101101111
جدول درستی برای مثال روش تحليل
] جمع کنند سه بيتی [ABC ها در 1تعداد : عملکرد
F1F2CBA
00000
10100
10010
01110
10001
01101
01011
11111
٣ به افزونی BCD مبدل کد : مثال روش طراحی - ٣ به افزونی BCD مبدل کد : مثال روش طراحی -
. تبديل کند ٣- را به کد افزوني BCDمي خواهيم مداری طراحي کنيم که کد . ی اختصای ميدهيم برای اين کار تعداد ورودی خروجی ها را مشخص کرده و به هرکدام، سمبل
BCDورودی ٣خروجی افزونی
W(A,B,C,D)X(A,B,C,D)Y(A,B,C,D)Z(A,B,C,D)
: محاسبه توابع خروجی
٣ به افزونی BCD مبدل کد : مثال روش طراحی - ٣ به افزونی BCD مبدل کد : مثال روش طراحی -
. در ادامه، جدول درستی را برای هر خروجی، تشکيل مي دهيم
DCBA
0000
1000
0100
1100
0010
1010
0110
1110
0001
1001
ZYXW
1100
0010
1010
0110
1110
0001
1001
0101
1101
0011
BCDورودی ٣خروجی افزونی
٣ به افزونی BCD مبدل کد : مثال روش طراحی - ٣ به افزونی BCD مبدل کد : مثال روش طراحی -
)حاالت بدون اهميت (برای بعضی از حاالت ورودی، رفتار خروجی اهميتی ندارد 1111 الی 1010 متناظر با مينترم های 15 الی 10ورودی از
DCBA
0101
1101
0011
1011
0111
1111
ZYXW
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
BCDورودی ٣خروجی افزونی
٣ به افزونی BCD مبدل کد : مثال روش طراحی - ٣ به افزونی BCD مبدل کد : مثال روش طراحی -
به صورت ) X(حاالت بدون اهميت مناسب در نظر گرفته شود تا توابع
. شودساده خروجی، تا حد امکان
توابع خروجی در ساده ترين شکل مناسب جهت جمع حاصلضربها
دوسطحی AND-ORتحقق
٣ به افزونی BCD مبدل کد : مثال روش طراحی - ٣ به افزونی BCD مبدل کد : مثال روش طراحی -
استفاده از حداقل گيت دو ورودی : محدوديت طراحی )ممکن است تحقق چند سطحی شود : تذکر (
Z = D’Y = CD + C’D’W= A + BC + BDX = B’C + B’D + BC’D’
استفاده از حداقل گيت دو ورودی چرا ؟. تا حد امکان جمالت مشترک ايجاد شود - چرا ؟. جمالت به صورت دو متغيره باشند -
Z = D’Y = CD + (C+D)’W= A + B(C+D)X = B’(C +D) + BC’D’=B’(C +D) + B(C+D)’
Z = D’Y = CD + C’D’W= A + BC + BDX = B’C + B’D + BC’D’
عدد گيت دو ورودی بدون در نظر گرفتن متم ها ١٣
٣ به افزونی BCD مبدل کد : مثال روش طراحی - ٣ به افزونی BCD مبدل کد : مثال روش طراحی -
Z = D’
Y = CD + (C+D)’
W= A + B(C+D)
X = B’(C +D) + BC’D’=B’(C +D) + B(C+D)’
روشهای طراحی مدارات ترکيبی : روش کالسيک جدول درستی
ساده سازی کارنو : روش ماژوالر
شکستن مسئله مورد طراحی به بخش های مشابه طراحی هر بخش به صورت مجزا
برهم نهی اجزا
بيتی باينری۴ جمع کننده دو عدد : مثال طراحی - بيتی باينری۴ جمع کننده دو عدد : مثال طراحی -
A=A3 A2 A1 A0B= B3 B2 B1 B0S = A + B + C0
C4 = نقلی خروجی
:روش کالسيک ٩: تعداد ورودی ۵: تعداد خروجی ستون خروجی۵ سطر و ۵١٢: جدول درستی
بيتی باينری۴ جمع کننده دو عدد : مثال طراحی - بيتی باينری۴ جمع کننده دو عدد : مثال طراحی -
A=A3 A2 A1 A0B= B3 B2 B1 B0S = A + B + C0
C4 = نقلی خروجی
. بيتی دقت کنيد ۴ به جمع دو عدد : روش ماژوالر جمع مشابه ۴: بيتی ۴جمع دو عدد -Si=Ai+Bi+Ciجمع سه بيت : هر جمع -Si=(Ai+Bi)+Ciدو جمع دو بيتی : جمع سه بيتی -
i انديس:٠١٢٣
Ci0110نقلي ورودي
Ai1101 مضاف
Bi1100 مضاف اليه
Si0111 حاصل جمع
Ci+11100نقلي خروجي
بيتی۴اجزا جمع کننده بيتی۴اجزا جمع کننده
Half Adder (HA)): نيم جمع کننده ( جمع کننده دو بيت -الف با اين مدار نياز به دو ورودي دودويي و دو خروجي دودويي دارد و مطابق
.جدول درستي زير عمل مي کند
SCyx
0000
1010
1001
0111
S=x'y+xy’ C=xy
C
SCzyx
00000
10100
10010
01110
10001
01101
01011
11111
Full Adder (FA)) : جمع کننده کامل ( بيت ٣ جمع کننده -ب اين مدار داراي سه ورودي دودويي و دو خروجي دودويي است و مطابق با
.جدول درستي زير عمل مي کند
: با ساده سازی به کمک جداول داريم
بيتی۴اجزا جمع کننده بيتی۴اجزا جمع کننده
: مل را رسم نمود حال با توجه به توابع بدست آمده می توان نمودار منطقی جمع کننده کا
بيتی۴اجزا جمع کننده بيتی۴اجزا جمع کننده
OR جمع کننده و يک گيت با توجه به روابط زير مي توان يک جمع کننده کا مل را به کمک دو نيم : پياده سازی کرد
S = x ⊕ y ⊕ zC =xy + xy’z + x’yz = xy + (x⊕y) z
: بيتی ۴جمع کننده کامل -جه بيتی دودويي را توليد مي کند و از به هم بستن متوالي چند جمع کنند ۴اين مدار مداري است که جمع حسابي دو عدد
. کامل به دست مي آيد: آورده شده است B=0011و A=1011براي درک بهتر نحوه عملکرد مدار در سمت راست مثالي از جمع دو عدد
i انديس:٠١٢٣
Ci0110نقلي ورودي
Ai1101 مضاف
Bi1100 مضاف اليه
Si0111 حاصل جمع
Ci+1نقلي خروجي1100
بيتی باينری۴تفريق کننده دو عدد / جمع کننده : مثال طراحی - بيتی باينری۴تفريق کننده دو عدد / جمع کننده : مثال طراحی -
If M=0 then S=A+BIf M=1 then S=A-B
A-B=A+B’+1
If M=0 then Xi=BiIf M=1 then Xi=Bi’
بيتی باينری۴تفريق کننده دو عدد / جمع کننده : مثال طراحی - بيتی باينری۴تفريق کننده دو عدد / جمع کننده : مثال طراحی -
If M=0 then S=A+BIf M=1 then S=A-B
A-B=A+B’+1
BCD جمع کننده دو رقم : مثال طراحی - BCD جمع کننده دو رقم : مثال طراحی -
A=A3A2A1A0B=B3B2B1B0
A , B ارقامBCDS=A+B+Cin
BCDپياده سازی جمع : Z=A+B بيتی باينری ۴ جمع کننده -١ در صورت لزوم BCD : S=Z+6 اعمال تصحيح -٢
در چه زمانی الزم است انجام شود؟ BCDتصحيح 1111-1010 باشد ١۵ تا ١٠ بين Zنتيجه 10011-1000 باشد ١۵ بزرگتر از Zنتيجه
BCD جمع کننده دو رقم : مثال طراحی - BCD جمع کننده دو رقم : مثال طراحی -0000000000
0100001000
1100011000
0010000100
1010010100
0110001100
1110011100
0001000010
0000101010
1000111010
0100100110
1100110110
0010101110
1010111110
0110100001
1110110001
0001101001
1001111001
1001010010
1000010000
CoutK Z1 S1S2S4S8Z2Z4Z8
خروجی جمع کننده باينری اولی BCDخروجی جمع کنند
Cout=K+Z8Z4+Z8Z2
If (Cout=1) then S=Z+0110
else S=Z+0000
BCD جمع کننده دو رقم : مثال طراحی - BCD جمع کننده دو رقم : مثال طراحی -
Cout=K+Z8Z4+Z8Z2
If (Cout=1) then S=Z+0110 else S=Z+0000
دو رقمیBCD جمع کننده دو عدد : مثال طراحی - دو رقمیBCD جمع کننده دو عدد : مثال طراحی -
A=A7A6A5A4 A3A2A1A0
B=B7B6B5B4 B3B2B1B0
S=A+B+Cin : BCD
) n=4m( بيتی ۴ بيتی با کمک جمع کننده های n جمع کننده دو عدد - ) n=4m( بيتی ۴ بيتی با کمک جمع کننده های n جمع کننده دو عدد -
بيتی باينری ۴ جمع کننده تاخير نقلی در - بيتی باينری ۴ جمع کننده تاخير نقلی در -
بيتی ۴ واحد جمع کننده mاستفاده از
٨ :تعداد سطوح در انتقال نقلی از ورودی به خروجی
:پيش بينی رقم نقلی -دی های جمع کننده، براي محاسبه رقم در عمل به منظور جلوگيری از اتالف زمان و نا هماهنگی آماد بودن ورو
. استفاده می شود پيش بينی رقم نقلی نقلی از مداری جداگانه به نام . برای اين منظور نگرشی ديگر را به جمع کننده کامل معرفی می نماييم
Pi = Ai ⊕ BiGi = Ai Biمستقل از نقلی
Si = Pi ⊕ CiCi+1 = PiCi + Giوابسته به نقلی
Pi = Ai ⊕ BiGi = Ai Biمستقل از نقلی
Si = Pi ⊕ CiCi+1 = PiCi + Giوابسته به نقلی
پيش بينی ارقام نقلی در يک پياده سازی دو سطحی - پيش بينی ارقام نقلی در يک پياده سازی دو سطحی -
C0 = Input CarryC1 = G0 + P0C0C2 = G1 + P1C1 = G1 + P1(G0+P0C0) = G1 + P1G0 + P1P0C0C3 = G2 + P2C2 = G2 + P2G1 + P2P1G0 + P2P1P0C0
پيش بينی ارقام نقلی در يک پياده سازی دو سطحی - پيش بينی ارقام نقلی در يک پياده سازی دو سطحی -
بيتی به کمک پيش بينی کننده ارقام نقلی ۴ جمع کننده دو عدد - بيتی به کمک پيش بينی کننده ارقام نقلی ۴ جمع کننده دو عدد -
Pi = Ai ⊕ BiGi = Ai Biمستقل از نقلی
Si = Pi ⊕ CiCi+1 = PiCi + Giوابسته به نقلی
:تاخير خروجی AND-ORتحقق دو سطحی : محاسبه نقلی
تاخير خروجی، مستقل از تعداد بيت جمع
بيت٢ بيت در ٢ ضرب کننده - بيت٢ بيت در ٢ ضرب کننده -
بيت٣ بيت در ۴ ضرب کننده - بيت٣ بيت در ۴ ضرب کننده -
بيتی۴ مقايسه دو عدد - بيتی۴ مقايسه دو عدد -
: B و Aتساوی A3=B3 A2=B2 A1=B1 A0=B0: يکسان باشد يعنی B و Aالزم است همه بيتهای
a’b’+ab=’(a⊕b)) : هم ارزی (XNORياد آوری از B : xi=Ai’Bi’+AiBi و A ام از بيتهای iتساوی بيت
B : (A=B) = x3x2x1x0 و Aشرط تساویَ
بيتی۴ مقايسه دو عدد - بيتی۴ مقايسه دو عدد -
A>B و A<Bبررسی حاالت
(A>B) = A3B3’ + x3A2B2’ + x3x2A1B1’ + x3x2x1A0B0’(A<B) = A3’B3 + x3A2’B2 + x3x2A1’B1 + x3x2x1A0’B0
. ساخته شده است که قابل استفاده خواهد بود XNOR در تشکيل ’AiBi و Ai’Biدر شکل فوق عبارات
بيتی۴ مقايسه دو عدد - بيتی۴ مقايسه دو عدد -
(DECODER) دی کدر - (DECODER) دی کدر -
باشد، دی کدر کامل خواهد بود m=2nاگر بوده و در هر زمان، تنها متغيرهnهر خروجی متناظر با يکی از مينترم های تابع در دی کدر کامل،
يکی از خروجی ها، فعال خواهد بود
1
0
0
0
0
0
0
0
D7
0
1
0
0
0
0
0
0
D6D5D4D3D2D1D0zyx
000001000
000010100
000100010
001000110
010000001
100000101
000000011
000000111
)DEC 3x8( خروجی ٨ ورودی ، ٣ دی کدر - )DEC 3x8( خروجی ٨ ورودی ، ٣ دی کدر -
D0=x’y’z’
D1=x’y’z
…
D7=xyz
)DEC 3x8( خروجی ٨ ورودی ، ٣ دی کدر - )DEC 3x8( خروجی ٨ ورودی ، ٣ دی کدر -
0 و خروجی فعال 1با ورودی فعال ) DEC 2x4( خروجی ۴ ورودی ، ٢ دی کدر - 0 و خروجی فعال 1با ورودی فعال ) DEC 2x4( خروجی ۴ ورودی ، ٢ دی کدر -
باشد 0 يا فعال 1در سيستم های منطقی، سيگنال می تواند فعال
)DEC 2x4( خروجی با ورودی فعال ساز ۴ ورودی ، ٢ دی کدر - )DEC 2x4( خروجی با ورودی فعال ساز ۴ ورودی ، ٢ دی کدر -
توسعه دی کدر به کمک دی کدرهای کوچک - توسعه دی کدر به کمک دی کدرهای کوچک -
wxyzبا ورودی : DEC 4x16در
If (w=0) D0 - D7 (0xyz)
If (w=1) D8 - D15 (1xyz)
کاربرد دی کدرها - کاربرد دی کدرها -
در حافظه جهت آدرس دهی خانه های حافظه پياده سازی توابع ترکيبی
قابل بيان استجمع مينترم هاهر تابع ترکيبی به صورت : يادآوری ورودی استمينترم هایخروجی دی کدر، : يادآوری
جهت ترکيب مينترم ها قابل تحقق است ORيک دروازه و يک دی کدرهر تابع ترکيبی به کمک : نتيجه
∑∑
=
=
)7,6,5,3(),,(
)7,4,2,1(),,(
zyxC
zyxS
Full Adder (FA)جمع کننده کامل : مثال
)ENCODER( انکدر - )ENCODER( انکدر -
انجام می شود ) DEC(، عکس عمل دی کدر )ENC(در انکدر: در انکدر کامل
. ورودی وجود دارد 2n خروجی، nبرای . هر ورودی متناظر با يک مينترم است
. در هر زمان، تنها يکی از ورودی ها فعال می باشد
)ENC 8x3( خروجی ٣ ورودی ، ٨ انکدر - )ENC 8x3( خروجی ٣ ورودی ، ٨ انکدر -
1
1
1
1
0
0
0
0
x
1
1
0
0
1
1
0
0
y
1
0
1
0
1
0
1
0
z
1
0
0
0
0
0
0
0
D7
0
1
0
0
0
0
0
0
D6D5D4D3D2D1D0
000001
000010
000100
001000
010000
100000
000000
000000
. هر ورودی متناظر با يک مينترم است. در هر زمان، تنها يکی از ورودی ها فعال می باشد
z=D1+D3+D5+D7
y=D2+D3+D6+D7
x=D4+D5+D6+D7
مشکالت انکدر معمولی در خروجی D0عدم تاثير
فعال شدن بيش از يک ورودی
)Priority Encoder( انکدر الويت - )Priority Encoder( انکدر الويت -
1
1
0
0
X
x
1
0
1
0
X
y
1
1
1
1
0
VD3D2D1D0
0000
0001
001X
01XX
1XXX
هنگامی که ورودی با الويت باالتر، فعال گردد، حالت ورودی . ورودی ها، دارای الويت هستند)X: بدون اهميت (های با الويت کمتر، اهميتی ندارند
) valid( به معنای فعال بودن حداقل يکی از ورودی هاست Vخروجی اضافه به نام
D3باالترين الويت ِD0کمترين الويت
خروجی ٢ ورودی ، ۴ انکدر الويت - خروجی ٢ ورودی ، ۴ انکدر الويت -
1
1
0
0
X
x
1
0
1
0
X
y
1
1
1
1
0
VD3D2D1D0
0000
0001
001X
01XX
1XXX
خروجی ٢ ورودی ، ۴ انکدر الويت - خروجی ٢ ورودی ، ۴ انکدر الويت -
x=D2+D3
y=D3+D1D2’
V=D0+D1+D2+D3
دو ورودی، يک خروجی ) MUX( مالتی پلکسر - دو ورودی، يک خروجی ) MUX( مالتی پلکسر -
ورودی، يک خروجی MUX (۴( مالتی پلکسر - ورودی، يک خروجی ۴) MUX( مالتی پلکسر -
) چهار بيتی١ به ٢( مالتی پلکسرهای چند بيتی - ) چهار بيتی١ به ٢( مالتی پلکسرهای چند بيتی -
پياده سازی توابع بولی به کمک مالتی پلکسر - پياده سازی توابع بولی به کمک مالتی پلکسر -
پياده سازی توابع بولی به کمک مالتی پلکسر - پياده سازی توابع بولی به کمک مالتی پلکسر -
بافر سه حالته - بافر سه حالته -
انواع بافر سه حالته - انواع بافر سه حالته -
مالتی پلکسر به کمک بافر سه حالته - مالتی پلکسر به کمک بافر سه حالته -