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