Transcript فصل دوم
به نام یگانه مهندس هستی
مدار منطقی
مهدی قدیری
[email protected]
[email protected]
logic circuit 8
1
فصل هفتم
طراحی مدارهای ترتیبی همزمان
2
logic circuit 8
پروسه طراحي مدارات ديجيتال
مراحل مورد نیاز
با استفاده از توصیف مساله و مشخصات آن ،دياگرام حالت را بدست آوريد.
جدول حالت تخصیص يافته را بدست آوريد.
با استفاده از جدول تحريک فليپ فالپ ،جدول حالت را تکمیل نمايید.
معادله ورودی فليپ فالپ ها را بر اساس حالتهای فعلی و ورودی ها بدست آوريد.
مدار را رسم کنید.
3
logic circuit 8
طراحي مدارات ديجيتال
جدول تحریک فلیپ فالپ ها :
4
K
J
S
R
T
D
)Q(t+1
)Q(t
X
0
0
X
0
0
0
0
X
1
1
0
1
1
1
0
1
X
0
1
1
0
0
1
0
X
X
0
0
1
1
1
logic circuit 8
طراحي مدارات ديجيتال
مثال :طراحي يک شمارنده دو بيتي صعودی( با ورودی )x=0و نزولي( با ورودی ،) x=1به
کمک فليپ فالپ های JK
0
01
0
)A(t 1) B (t 1
5
1
10
x/y
) A(t ) B (t
logic circuit 8
1
00
1
1
0
11
0
طراحي مدارات ديجيتال
:
حالت
جدول
رسم
ورودی فليپ فالپ ها
6
حالت های بعدی
حالت فعلي
ورودی
KB
JB
KA
JA
)B(t+1
)A(t+1
)B(t
)A(t
x
X
1
X
0
1
0
0
0
0
1
X
X
1
0
1
1
0
0
X
1
0
X
1
1
0
1
0
1
X
1
X
0
0
1
1
0
X
1
X
1
1
1
0
0
1
1
X
X
0
0
0
1
0
1
X
1
1
X
1
0
0
1
1
1
X
0
X
0
1
1
1
1
از روی جدول تحريک تکميل شود
logic circuit 8
از روی دياگرام حالت تکميل شود
: جدول کارنو
JB = 1
KB = 1
A(t)
00
01
11
10
0
0
1
X
X
x 1
1
0
X
X
A(t)
00
01
11
10
0
X
X
1
0
x 1
X
X
0
1
B(t)
JA = B(t)
B(t)
x
KA = B(t)
logic circuit 8
x
7
JB = 1
KA = B(t)
KB = 1
JA = B(t)
1
JB
KB
x
JA
KA
logic circuit 8
x
x
B(t)
B(t)
A(t)
A(t)
8
تشخيص دهنده دنباله
با استفاده از فلیپ فالپهای Dمداری طراحی کنید که دنباله ای از سه “”1
متوالی و يا بیشتر را تشخیص دهد.
9
از حالت s0شروع کنید.
در حالت ،s0اگر ورودی “ ”0بود در همین حالت بمان.
در حالت ،s0اگر ورودی “ ”1آمد برو به حالت s1يعنی يک “ ”1ديده شد.
در حالت ،s1اگر ورودی “ ”1آمد برو به حالت s2يعنی دو “ ”1ديده شد.
در حالت ،s1اگر ورودی “ ”0آمد برو به حالت s0
در حالت ،s2اگر ورودی “ ”1آمد برو به حالت s3يعنی سه “ ”1ديده شد.
در حالت ،s2اگر ورودی “ ”0آمد برو به حالت s0
در حالت ،s3اگر ورودی “ ”1آمد در همین حالت بمان.
در حالت ،s3اگر ورودی “ ”0آمد برو به حالت s0
دياگرام حالت را رسم کنید.
logic circuit 8
تشخيص دهنده دنباله
•با استفاده از توصيف قبل ،می توان جدول حالت را بدست آورد.
• مدار یک ورودی xو یک خروجی ( )yدارد.
•از فليپ فالپهای Dبرای حل مساله استفاده می کنيم.
خروجي
D flip-flop state Equations:
)A(t 1) DA ( A, B, x) (3,5,7
)B(t 1) DB ( A, B, x) (1,5,7
)y ( A, B, x) (6,7
10
ورودي
حالت فعلي
y
)B(t+1
)A(t+1
x
)A(t) B(t
حالت بعدي
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
1
logic circuit 8
تشخيص دهنده دنباله
•با استفاده از جدول کارنو ،مدار را
ساده می کنيم.
)A(t 1) DA ( A, B, x) (3,5,7
)B(t 1) DB ( A, B, x) (1,5,7
)y ( A, B, x) (6,7
11
logic circuit 8
تشخيص دهنده دنباله
12
logic circuit 8
JK
طراحي با استفاده از فليپ فالپ
ورودي فليپ فالپها
KB
X
X
1
0
X
X
0
1
JB
0
1
X
X
0
1
X
X
KA
X
X
X
X
0
0
0
1
حالت بعدي
JA
0
0
1
0
X
X
X
X
B
0
1
0
1
0
1
1
0
A
0
0
1
0
1
1
1
0
ورودي حالت فعلي
x
0
1
0
1
0
1
0
1
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
جدول تحریک فليپ فالپ JK
برای مشخص کردن معادله ورودیهای
فليپ فالپ JKبه جدول روبرو نياز
مندیم.
K
X
X
1
0
J
0
1
X
X
)Q (t +1
0
1
0
1
) Q (t
0
0
1
1
Q(t 1) JQ' K ' Q
13
logic circuit 8
Design using JK Flip-Flops
logic circuit 8
14
Design using JK Flip-Flops
logic circuit 8
15
شمارنده و رجيستر
16
رجیستر از nفلیپ فالپ و گیت منطقی تشکیل شده است و
قادر به نگهداری nبیت داده می باشد.
گیتهای منطقی که در رجیستر استفاده می شوند ،عملکرد
رجیستر را کنترل می کنند.
شمارنده يک رجیستر است که می تواند يک دنباله از پیش
تعیین شده از حالتها را دنبال کند .در شمارنده ،گیتهای
منطقی طوری به هم وصل شده اند تا خروجی مورد نظر تامین
شود.
logic circuit 8
شمارنده ها
چرا ما به شمارنده نیازمنديم:
زمان بندی :ساختن يک کالک دقیق در فرکانسهای پايین (مثل 10
)hzتوسط کريستالها امکان پذير نیست.
ترتيب :در پرتاب يک موشک:
پر کردن مخزنهای سوخت ،آتش کردن موتور و ...بايد مطابق يک توالی
دقیق باشد.
شمارش :چراغهای راهنمايی ،شمارش ماشینها در ترافیک ،ساعت و ...
17
logic circuit 8
شمارنده ها
شمارنده يک نوع رجیستر است که از ترتیب مشخصی از حالت
ها پیروی می کند.
انواع شمارنده ها:
شمارنده های موج گونه:
خروجی فلیپ فالپها باعث کالک خوردن ديگر فلیپ فالپها می گردد.
شمارنده های همزمان:
يک کالک مشترک به همه وصل است و فلیپ فالپها را همزمان تريگر می کند.
18
logic circuit 8
شمارنده موج گونه دودويي
يک شمارنده موج گونه دودويی از تعدادی فلیپ فالپ معکوس
گر (مثل فلیپ فالپ )Tتشکیل شده است.
خروجی هر فلیپ فالپ به کالک فلیپ فالپ بعدی وصل است.
3
19
count
A0
1
0
0
1
1
0
1
1
1
0
0
0
0
0
0
0
0
0
2
1
0
logic circuit 8
A1
A2
شمارنده موج گونه دودويي
20
Q0
Q1
Q2
Q3
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
Q0در اثر کالک ورودی تغییر می کند .وقتی که Q0از 1به 0برودQ1 ،
تريگر می شود .لذا ،خروجی آن معکوس می گردد .وقتی که Q1از 1به 0
برود Q2 ،تريگر می شود .لذا ،خروجی آن معکوس می گردد .و ....
logic circuit 8
مشکل شمارنده موج گونه
21
چون خروجی يک فلیپ فالپها باعث کالک خوردن فلیپ فالپ
بعدی می گردد ،خروجی فلیپ فالپ بعدی با کمی تاخیر
نسبت به کالک اصلی معکوس می گردد.
اين مساله وقتی حادتر می شود که تعداد زيادی از اين فلیپ
فالپها را به هم ببنديم .ممکن است خروجی آخرين فلیپ فالپ
نسبت به کالک يک پالس ساعت تاخیر داشته باشد که قابل
قبول نیست.
راه حل :استفاده از شمارنده های همزمان
logic circuit 8
شمارنده های همزمان
فرق شمارنده های همزمان با شمارنده های موج گونه در اين است که کالک
تمام فلیپ فالپها يکسان است و با هم تريگر می شوند.
فرض کنید که A3A2A1A0 = 0011باشد حالت بعدی 0100است:
22
اگر T = 0يا ، J = K = 0فلیپ فالپ تغییر حالت نمی دهد.
اگر T = 1يا ، J = K = 1خروجی فلیپ فالپ معکوس می شود.
A0همیشه معکوس می شود.
A1معکوس می شود چون در حالت فعلی A0 = 1است.
A2معکوس می شود چون در حالت فعلی A1A0 = 11است
A3معکوس نمی شود چون در حالت فعلی A2A1A0 = 011است
logic circuit 8
شمارنده همزمان چهار بيتي
اگر ورودی enableصفر باشد ،ورودی Jو Kتمام فلیپ
فالپها برابر صفر است و کالک باعث تغییر حالت فلیپ
فالپها نخواهد شد.
اگر ورودی enableيک باشد ،ورودی Jو Kفلیپ فالپ
اول يک هست و در هر کالک معکوس خواهد شد .اما،
ورودی Jو Kفلیپ فالپهای ديگر در صورتی يک خواهد
شد که خروجی تمام فلیپ فالپهای قبلی يک باشد.
Count enable
count
1
0
1
0
1
0
A0
0
0
1
1
0
0
1
1
0
0
0
0
A1
A2
5
4
3
2
1
0
A2 A1 A0
23
logic circuit 8
رجيستر 4بيتي
در لبه مثبت کالک ،اطالعات روی
وروديها به خروجی منتقل می گردند.
برای خواندن محتويات رجیستر بايد به
خروجی آن نگاه کرد!
اگر ورودی clearصفر شود باعث می
گردد که تمام فلیپ فالپها resetشوند .و
خروجی رجیستر برابر صفر می شود.
24
logic circuit 8
شيفت رجيستر
شیفت رجیستر می تواند اطالعات موجود در خود را به چپ يا راست و يا
هر دو جهت شیفت دهد.
25
در لبه مثبت کالک ،فلیپ فالپ اول از ورودی نمونه می گیرد .در لبه
مثبت بعدی ،خروجی فلیپ فالپ اول در فلیپ فالپ دوم ذخیره می
شود و فلیپ فالپ اول يک نمونه تازه می گیرد .و ....
logic circuit 8
دياگرام زماني شيفت رجيستر
26
logic circuit 8
جمع سريال
27
در ابتدا ،مقدار رجیستر Aو Bبه
ترتیب برابر مضافالیه و مضاف
است .ورودی ، shift control
رجیسترهای Aو Bو فلیپ فالپ
Qرا فعال می کند.
در لبه مثبت کالک ،هر دو
رجیستر به راست شیفت داده
می شوند .بیت مجموع A0و B0
نیز وارد سمت چپترين بیت A
می شود .و رقم نقلی نیز وارد Q
می شود.
logic circuit 8
مقايسه جمع کننده سری و موازی
28
سريال:
1 جمع کننده
1 فلیپ فالپ
مدار ترتیبی
کند
logic circuit 8
موازی
مدار ترکيبی
N جمع کننده
سریع
شيفت رجيستر يونيور سال
29
logic circuit 8
شيفت رجيستر يونيورسال
Register Operation
No change
Shift right
Shift left
Parallel load
وروديهای کنترل s1و s0مولتی پلکسرهای 4به 1را کنترل می کنند.
30
Mode Control
S1
S0
0
1
0
1
0
0
1
1
وقتی s1s0=00باشد ،هر مولتی پلکسرخروجی فلیپ فالپ مربوطه را به ورودی آن وصل می کند.
وقتی s1s0=01باشد ،هر مولتی پلکسرخروجی فلیپ فالپ سمت چپ را به ورودی فلیپ فالپ خودش هدايت می کند.
وقتی s1s0=10باشد ،هر مولتی پلکسرخروجی فلیپ فالپ سمت راست را به ورودی فلیپ فالپ خودش هدايت می کند.
وقتی s1s0=11باشد ،هر مولتی پلکسرخروجی ورودی فلیپ فالپ را به ورودی موازی مربوطه وصل می کند.
logic circuit 8