Madarhay Manteghi

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Madarhay Manteghi as PDF for free.

More details

  • Words: 10,846
  • Pages: 250
‫درس مدارهاي منطقي ديجيتال‬ ‫مرجع‪ :‬مدارهاي منطقي ديجيتال‬ ‫نوشته‪ :‬مانو‪ --‬مترجم‪:‬دكتر سپيدنام‬

‫‪:‬فصل اول‬

‫ورود به سیستم‬ ‫دیجیتال‬

‫سیستم ده دهی اعداد (‪:)Decimal‬‬ ‫‪ ‬آشنایی پیچیدگی را پنهان می کند؟‬ ‫‪ ‬ده رقم ‪9..0‬‬ ‫‪ ‬موقعیت ‪ ،‬وزن تعیین می کند‪:‬‬ ‫‪0‬‬

‫‪0‬‬

‫‪2‬‬

‫‪1‬‬

‫‪4‬‬

‫‪3‬‬

‫‪... 10 10 10 10 10‬‬ ‫‪1 7 3‬‬

‫‪= 1 × 10 + 7 × 10 + 3 × 10‬‬ ‫‪= 100 + 70 + 3‬‬ ‫‪= 173‬‬ ‫‪1‬‬

‫‪2‬‬

‫سیستم دودویی‬

‫اعداد(‪:)binary‬‬

‫‪ ‬آسان برای کامپیوتر ها‪ ,‬ناملموس برای ما‬ ‫‪ ‬از ارقام دودویی(‪ ،binary digits)) )bits‬به جای‬ ‫ارقام ده دهی استفاده می کند‪.‬‬ ‫‪ n ‬بیت داده شده می تواند نشانگر ‪ n^2‬عدد‬ ‫باشد‪.‬‬ ‫‪ ‬با ده انگشت می شود تا ‪ 1023‬شمرد!‬ ‫‪ ‬در این سیستم نیز از موقعیت‪ ،‬وزن را تعیین‬ ‫می کند‪.‬‬

Dec 0 1 2 3

23 22 21 20

Binary

1

0 1 0

0 1 10

1

1

11

4 5

1 1

0 0

0 1

100 101

6 7 8

1 1 0

1 1 0

0 1 0

110 111 1000

1

‫تبدیل از مبنای ده به‬ ‫مبنای دو‬ ‫روش اول ‪ :‬تقسیمات‬ ‫متوالی‬

‫( ‪) 325 (10  ) 101000101‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬

‫‪2‬‬ ‫‪2‬‬ ‫‪1‬‬

‫‪2‬‬ ‫‪5‬‬

‫‪2‬‬ ‫‪1‬‬ ‫‪0‬‬

‫‪20‬‬ ‫‪0‬‬

‫‪10‬‬ ‫‪0‬‬ ‫‪0‬‬

‫‪40‬‬

‫‪2‬‬ ‫‪162‬‬

‫‪81‬‬ ‫‪1‬‬

‫‪325‬‬ ‫‪1‬‬

‫‪0‬‬

‫روش دوم ‪ :‬کاهش متوالی‬ ‫توان های دو‬ ‫توان های‬ ‫‪:‬دو‬ ‫… ‪1  2  4  8  16  32  64  128  256  512  1024 ‬‬

‫‪25 = 1 1 0 0 1‬‬ ‫‪1‬‬

‫‪8‬‬

‫‪16‬‬

‫تبدیل از مبنای دو به‬ ‫مبنای ده‬

‫‪) 1 0 1 1 1 0 (21 = 0 x 1 + 1 x 2 + 1 x 4 + 1 x 8 + 0 x 16 + 1 x 32 = )46(10‬‬ ‫‪25 24 23 22 21 20‬‬

‫اعداد اعشاری‬ ‫… ‪25.43  11001.01101‬‬

‫‪0.43 * 2 = 0.86‬‬ ‫‪0.86 * 2 = 1.72‬‬ ‫‪0.72 * 2 = 1.44‬‬ ‫‪0.44 * 2 = 0.88‬‬ ‫‪0.88 * 2 = 1.76‬‬ ‫…‬

‫حداقل‬ ‫اعداد بدون علمت در قالب ‪:n‬بیتی‬ ‫حداکثر‪2n – 1‬‬ ‫‪0‬‬

‫‪20 + 21 + … + 2 a = 2) a + 1 ( - 1‬‬

‫اعداد علمت دار‬

‫سیستم علمت مقدار‬

‫‪+‬‬

‫‪1- 0 :‬‬

‫‪....‬‬

‫‪-:1‬‬

‫‪n-1‬‬

‫بیت علمت‬

‫سیستم متمم دو – ‪2‬‬ ‫= ‪258 – 194 = 258 + ) 999 – 194 ( + 1 – 1000‬‬ ‫‪A–B=A+B+1‬‬ ‫متمم دو‬

‫‪:‬در روش متمم دو‬ ‫‪1 0 0 1 0 1 1 = +20 + 21 + 23 – 26 = - 53‬‬

‫تمرین ‪ :‬یک عدد منفی پیدا کنید‪ ،‬که روش نمایش آن‪n‬بیتی عینا مشابه نمایش آن در سیستم‬ ‫در سیستم متمم دو و قالب‬ ‫علمت مقدار و قالب ‪.n‬بیتی باشد‬

‫ستمی برلی ارائه اعداد اعشاری منفی نشان دهید که به کمک آن بتوان جمع و تفریق را انجام داد و د‬

‫روش های ممکن جهت نمایش اعداد‬ ‫علمت دار‪:‬‬ ‫سیستم متمم دو‬

‫سیستم متمم یک‬

‫‪0+ = 000‬‬ ‫‪1+ = 001‬‬ ‫‪2+ = 010‬‬ ‫‪3+ = 011‬‬ ‫‪0- = 100‬‬ ‫‪1- = 101‬‬ ‫‪2- = 110‬‬ ‫‪3- = 111‬‬

‫‪0+ = 000‬‬ ‫‪1+ = 001‬‬ ‫‪2+ = 010‬‬ ‫‪3+ = 011‬‬ ‫‪3- = 100‬‬ ‫‪2- = 101‬‬ ‫‪1- = 110‬‬ ‫‪0- = 111‬‬

‫سیستم علمت مقدار‬ ‫‪0+ = 000‬‬ ‫‪1+ = 001‬‬ ‫‪2+ = 010‬‬ ‫‪3+ = 011‬‬ ‫‪4- = 100‬‬ ‫‪3- = 101‬‬ ‫‪2- = 110‬‬ ‫‪1- = 111‬‬

‫متمم ‪: 2‬‬

‫نوشته( ‪49‬‬ ‫صورت‪1 0 0‬‬ ‫عدد بدون علمت به ‪0 1 (2‬‬ ‫شود) ‪1-‬‬ ‫باینری‪10 = ) 1‬‬ ‫ریزی – ‪2‬‬

‫‪0110001‬‬

‫عدد مثبت بود‪ ،‬کار تمام است‪ ،‬اما اگر عدد منفی است لزم است متمم دو شود – ‪3‬‬

‫جمع و تفریق اعداد علمت دار‬ ‫‪1001111‬‬ ‫‪0010111‬‬

‫‪- 49‬‬ ‫‪+ 23‬‬

‫‪1100110‬‬

‫‪- 26‬‬

‫ر در جمع خطای سرریز رخ داد‪ ،‬باید خمع را در قالب بزرگتری انجام دهیم ‪-‬‬

‫سیستم بدون علمت خطای سرریز همان ‪.Carry-‬است‬

‫) خطای سرریز ‪(Over flow‬‬

‫ع اعداد بدون علمت‪ ،‬رخداد سرریز همان رقم نقلی است ‪-‬‬ ‫ع و تفریق اعدا علمت دار‪ ،‬سرریز در دو هنگام ممکن است رخ دهد‪ :‬جمع دو عدد مثبت ‪-‬‬ ‫ع دو عدد منفی‬

‫خیص رخداد سرریز‬

‫ل ‪ :‬اگر حاصلجمع دو عدد مثبت عددی منفی شود و یا جمع دو عدد منفی‪ ،‬عددی مثبت‪،‬‬

‫وم ‪ :‬در صورتی که دو رقم نقلی آخر مساوی باشند‬

‫‪:‬جمع اعداد اعشاری‬ ‫‪0011001.1000‬‬ ‫‪1011001.0100‬‬

‫‪25 . 50‬‬ ‫‪- 38 . 75‬‬

‫‪1110010.1100‬‬ ‫‪0.25‬‬

‫مبنای ‪16 ،8 ،4‬‬

‫‪0.5‬‬

‫‪- 13‬‬ ‫‪25  ) 1 1 0 0 1 (2‬‬ ‫‪ ) 121 (4‬‬

‫‪011001‬‬

‫‪ ) 31 (8‬‬

‫‪011001‬‬

‫‪ ) 19 (16‬‬

‫‪00011001‬‬

‫ضرب و تقسیم اعداد باینری‬ ‫‪:‬ضرب به روش معمولی‬ ‫‪1110‬‬ ‫*‬ ‫‪0101‬‬ ‫‪1110‬‬ ‫‪0000‬‬ ‫‪1110‬‬ ‫‪0000‬‬ ‫‪1000110‬‬

‫‪:‬ضرب به روش جمع های متوالی‬ ‫‪1110‬‬ ‫‪1110‬‬ ‫‪1110‬‬ ‫‪1110‬‬ ‫‪1110‬‬ ‫‪1000110‬‬

‫‪+‬‬

‫‪:‬کدینگ اطلعات‬

‫هدف ‪ :‬ورورد به سیستم دیجیتال‬ ‫افزایش سرعت ‪-‬‬ ‫کاهش فضا ‪-‬‬ ‫‪:‬معیار ها راحتی کار با آن ‪-‬‬ ‫امنیت ‪-‬‬ ‫اطمینان ‪-‬‬

‫‪Binary Coded Decimal‬‬

‫(دارای وزن )‬

‫‪BCD‬‬ ‫‪0000‬‬ ‫‪0001‬‬ ‫‪0010‬‬ ‫‪0011‬‬ ‫‪0100‬‬ ‫‪0101‬‬ ‫‪0110‬‬ ‫‪0111‬‬ ‫‪1000‬‬ ‫‪1001‬‬

‫مورد کاراکتر ها‪ ،‬از کد اسکی آنها استفاده می کنیم ‪-‬‬

‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬

‫‪ex - 3‬‬ ‫‪ex - 3‬‬ ‫‪0011‬‬ ‫‪0100‬‬ ‫‪0101‬‬ ‫‪0110‬‬ ‫‪0111‬‬ ‫‪1000‬‬ ‫‪1001‬‬ ‫‪1010‬‬ ‫‪1011‬‬ ‫‪1100‬‬

‫(خود مکمل )‬

‫تعداد کلیه سیستم های خود مکمل‬ ‫‪= 6720‬‬

‫‪4‬‬

‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬

‫‪3‬‬

‫‪2‬‬

‫‪1‬‬

‫‪0‬‬

‫‪8 * 7 * 6 * 5 * 4‬‬

‫‪0000‬‬ ‫‪0001‬‬ ‫‪0010‬‬ ‫‪0011‬‬ ‫‪0100‬‬ ‫‪0101‬‬ ‫‪0110‬‬ ‫‪0111‬‬ ‫‪1000‬‬ ‫‪1001‬‬ ‫‪1010‬‬ ‫‪1011‬‬ ‫‪1100‬‬ ‫‪1101‬‬ ‫‪1110‬‬ ‫‪1111‬‬

‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬

‫‪:‬یک کد وزنی و خود مکمل‬ ‫‪2421‬‬ ‫‪0000‬‬ ‫‪0001‬‬ ‫‪1000‬‬ ‫‪0011‬‬ ‫‪0100‬‬ ‫‪1011‬‬ ‫‪1100‬‬ ‫‪0111‬‬ ‫‪1110‬‬ ‫‪1111‬‬

‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬

‫‪:‬تمرین‬ ‫چند کد وزنی و خود مکمل با ارزش های ‪ 4 ،2 ،2 ،1‬وجود دارد؟ ‪1-‬‬ ‫چند کد وزنی و خود مکمل با ارزش ‪ 2421‬وجود دارد؟ ‪2-‬‬ ‫‪.‬ارزش های دیگری غیر از این ارزش بگویید – ‪3‬‬ ‫‪.‬ارزش منفی هم در اعداد قرار دهید – ‪4‬‬ ‫چه ویژگی ای باید این ارزش ها داشته باشند؟ ‪5-‬‬ ‫روشی برای جمع و تفریق دودویی – ‪BCD 6‬و ‪.ex-3‬کد شدند‪ ،‬بیابید‬ ‫اعدادی که با سیستم‬

‫نمایش اعداد غیر صحیح ( اعشاری‬ ‫‪. 0 1 0 1 1‬‬

‫اعشاری < ‪1‬‬

‫‪.‬‬

‫صحیح>= ‪1‬‬

‫‪1 1 0 0 1‬‬

‫‪0 . 257‬‬ ‫‪25‬‬

‫نما‬ ‫‪43.85  0.4385 * 10 2‬‬ ‫مانتی‬ ‫س‬

‫‪ > 1‬مانتی > ‪0‬‬ ‫س‬

‫نما علمت نما‬

‫‪1 0 1 0 1 1 . 1 1 0 1 = 0 . 1 0 1 0 1 1 1 1 0 1 * 2 +6‬‬ ‫‪>1‬‬

‫مانتی > ‪0.5‬‬ ‫س‬

‫‪Parity‬‬ ‫توازن یا همپایگی ‪-‬‬

‫در سیستم هایی که حداکثر احتمال بروز یک خطا وجود دارد ‪-‬‬

‫خاصیت ‪:Parity‬طولی و عرضی‬

‫لیت تشخیص دو خطا را دارد‪ ،‬ولی فقط یک خطا را می تواند تصحیح کند ‪-‬‬

‫‪:‬کد همینگ‬ ‫توان های ‪2‬‬

‫بیت های کنترلی‬ ‫‪ 1 0 1 1‬داده خام ‪:‬‬

‫‪0 1 1 0 0 1 1‬‬ ‫‪7‬‬

‫‪Parity‬زوج‬

‫‪6‬‬

‫‪5‬‬

‫‪4‬‬

‫‪3‬‬

‫‪2‬‬

‫‪ 1‬بیت های کنترلی‬

‫‪P1 = P ) B3, B5, B7 ( = 0‬‬ ‫‪P2 = P ) B3, B6, B7 ( = 1‬‬

‫‪ 0 1 1 0 0 1 1‬داده نهایی ‪:‬‬

‫‪P4 = P ) B5, B6, B7 ( = 0‬‬

‫‪:‬خطایابی‬ ‫‪P1 P2‬‬

‫‪P4‬‬

‫‪0100101‬‬

‫داده ارسالی ‪:‬‬

‫‪0 1 0 0 1 1 1‬‬ ‫‪B5 B6 B7‬‬

‫‪0100111‬‬

‫‪B3‬‬

‫‪P1 =0‬‬ ‫‪P2 =0‬‬ ‫‪P4 =1‬‬ ‫رخداد خطا ‪B6‬‬

‫یک بیت خطا قابل تصحیح ‪-‬‬ ‫دو بیت خطا قابل تشخیص ‪-‬‬

‫‪6‬‬

‫داده دریافتی ‪:‬‬

‫فصل ‪2‬‬ ‫روش های جبری برای تحلیل‬ ‫و‬ ‫طراحی مدارهای منطقی‬

‫دستگاه های دیجیتالی‬ ‫‪ ‬جبر بول‪:‬‬ ‫‪ ‬یک عبارت منطقی می تواند ”درست“ یا ”‬ ‫نادرست“ باشد (‪ 0‬یا ‪.)1‬‬ ‫‪ ‬شامل فرمول های جبری مربوط به ترکیب های‬ ‫مقادیر منطقی است‪.‬‬

‫درسطح سخت افزار‪:‬‬ ‫‪ ‬هر عبارت منطقی با یک سیگنال الکتریکی نشان‬ ‫داده می شود‪.‬‬ ‫‪ ‬ارزش منطقی هر عبارت با ولتاژ الکتریکی‬ ‫سیگنال‪ ،‬مشخص‬

‫دستگاه های‬

‫دیجیتالی(‪)2‬‬

‫‪ ‬عملگرهای منطقی با گیت های منطقی پیاده‬ ‫سازی می شوند‪.‬‬

‫اصول جبر بول‬

‫(‪)1‬‬

‫‪:‬اصول اساسی‬ ‫اصل ‪:1‬‬ ‫‪a+b‬‬ ‫تعریف‪:‬برای‪a‬هر‪ b‬و که متعلق به‪k‬مجموعه‬ ‫و ‪ k‬نیز به مجموعه ی‬ ‫ی‪ a.b‬هستند‪،‬‬ ‫‪.‬تعلق دارند‬ ‫‪Or a+b And a.b‬‬ ‫نامیده می شود )‬ ‫و‪، ∈ K‬‬ ‫)‪،.‬‬ ‫‪a.b‬‬ ‫‪a+b ∈ K‬‬

‫‪K‬‬

‫∈‬

‫‪a&b‬‬

‫‪If‬‬

‫اصول جبر بول‬

‫(‪)2‬‬

‫اصل ‪:2‬‬ ‫موجودیت عناصر ‪0‬و ‪:1‬‬ ‫‪x‬‬

‫‪x+0=x‬‬

‫‪x+0 x.1‬‬ ‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪x.1=x‬‬

‫اصول جبر بول‬

‫(‪)3‬‬

‫اصل ‪:3‬‬

‫‪x+y=y+x‬‬

‫خاصیت عناصر ‪ +‬و ‪: .‬‬ ‫‪x.y y.x x+y y+x‬‬

‫‪x.y=y.x‬‬ ‫‪y‬‬

‫‪x‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫اصول جبر بول‬

‫(‪)4‬‬

‫’‪x‬‬

‫’‪y.x‬‬

‫‪x.y‬‬

‫‪x+y‬‬

‫‪y‬‬

‫‪x‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫اصول جبر بول‬

‫(‪)5‬‬

‫اصل ‪:4‬‬ ‫‪.‬خاصیت شرکت پذیری اعمال ‪ +‬و‬ ‫(‪)x + y(+ z = x +)y + z‬‬ ‫‪x .)y . z( = )x . y(. z‬‬

‫اصول جبر بول‬

‫(‪)6‬‬

‫اصل ‪:5‬‬ ‫‪+:‬خاصیت توزیع پذیری ‪ +‬بر ‪ .‬و ‪ .‬بر‬ ‫‪x .)y + z( = x . y + x . z‬‬ ‫(‪x +)y . z( = )x + y( . )x + z‬‬

‫آزمون درستی توزیع پذیری ‪ +‬بر ‪ .‬و‬ ‫=‬ ‫‪ .‬بر ‪)2( +‬‬ ‫(‪)x+y()x+z‬‬

‫‪x y z y.z x+y.z x+y x+z‬‬

‫‪0‬‬ ‫‪0‬‬

‫‪0‬‬ ‫‪1‬‬

‫‪0‬‬ ‫‪0‬‬

‫‪0‬‬ ‫‪0‬‬

‫‪0 0 0 0‬‬ ‫‪0 0 1 0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0 1 0 0‬‬

‫‪1‬‬ ‫‪1‬‬

‫‪1‬‬ ‫‪1‬‬

‫‪1‬‬ ‫‪1‬‬

‫‪1‬‬ ‫‪1‬‬

‫‪0 1 1 1‬‬ ‫‪1 0 0 0‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫‪1 0 1 0‬‬ ‫‪1 1 0 0‬‬ ‫‪1 1 1 1‬‬

‫اصول اساسی جبر بول‬

‫(‪)1‬‬

‫‪:‬خاصیت خود توانی‪1.‬‬ ‫‪a+a=a‬‬ ‫‪a.a=a‬‬ ‫‪+ :‬عناصر بی اثر در ‪ .‬و ‪2.‬‬ ‫‪a.1=a‬‬ ‫‪a+0=a‬‬

‫اصول اساسی جبر بول‬

‫(‪)2‬‬

‫مم‪3.‬‬ ‫مم ِ مت ّ‬ ‫‪:‬مت ّ‬ ‫‪a’’ = a‬‬ ‫‪:‬قانون جذب‪4.‬‬

‫‪a+a.b=a‬‬ ‫‪a .)a + b( = a‬‬

)3(

‫اصول اساسی جبر بول‬ 5. 5 ‫قانون‬

a) a + a‘b = a + b b) a(a' + b) = a b

:‫مثال‬  B + AB'C'D = B + AC'D  (X + Y)((X + Y)' + Z) = (X + Y)Z

[[(a)5‫ق‬ [[(b)5‫ق‬

6 ‫ قانون‬.6 a) ab + ab' = a b) (a + b)(a + b') = a

)3(

‫اصول اساسی جبر بول‬ ‫مثال‬:





ABC + AB'C = AC [[)a(6 )W' + X' + Y' + Z'()W' + X' + Y' + Z()W' + X' + Y + Z'()W' + X' + Y + Z( = )W' + X' + Y'()W' + X' + Y + Z'()W' + X' + Y + Z( [[)b(6 = )W' + X' + Y'()W' + X' + Y( [[)b(6 = )W' + X'( [ [)b(6

)3(

‫اصول اساسی جبر بول‬ 7. 7 ‫قانون‬

a( ab + ab‘c = ab + ac b( )a + b()a + b' + c( = )a + b()a + c( :‫مثال‬ 

wy' + wx'y + wxyz + wxz‘ = wy' + wx'y + wxy + wxz' = wy' + wy + wxz' = w + wxz' =w

[[(a)7‫ق‬ [[(a)7‫ق‬ [[(a)7‫ق‬ [[(a)7‫ق‬

‫قوانین دمرگان‬

‫(‪)1‬‬

‫’‪)x.y(’=x’+y‬‬ ‫’‪)x+y(’=x’.y‬‬

‫ن قانون می تواند به صورت زیر تعمیم پیدا کند‬ ‫’‪)x.y.....t(’=x’+y’+...+t‬‬ ‫’‪)x+y+...+t(’=x’.y’.....t‬‬

)2(

‫قوانین دمرگان‬ :‫مثال‬

(a + bc)‘ = (a + (bc))'

= a'(bc)‘ = a'(b' + c') = a'b' + a'c'

)3(

:‫دمرگان‬

‫قوانین دمرگان‬

‫مثال های بیشتری از قوانین‬

 (a(b + z(x + a')))' = a' + (b + z(x + a'))' = a' + b' (z(x + a'))' = a' + b' (z' + (x + a')') = a' + b' (z' + x'(a')') = a' + b' (z' + x'a) = a' + b' (z' + x')

[ ‫([د‬b) [‫([د‬a) [‫([د‬b) [‫([د‬a) [‫مم‬ ّ ‫مم ِ مت‬ ّ ‫[مت‬ [[(a)5‫ق‬

 (a(b + c) + a'b)'

[[(b)5‫اصل‬ [[(a)6‫ق‬ [ ‫([د‬a) [ ‫([د‬b)

= (ab + ac + a'b)' = (b + ac)' = b'(ac)' = b'(a' + c')

)4(

‫اصول اساسی جبر بول‬ 8. 8‫قانون‬

)a( ab + a'c + bc = ab + a'c )b( )a + b()a' + c()b + c( = )a + b()a' + c(

:‫مثال‬ – AB + A'CD + BCD = AB + A'CD – )a + b'()a' + c()b' + c( = )a + b'()a' + c( – ABC + A'D + B'D + CD = ABC + )A' + B'(D + CD = ABC + )AB('D + CD = ABC + )AB('D = ABC + )A' + B'(D = ABC + A'D + B'D

[[)a(9‫ق‬ [[)b(9‫ق‬ [[)b(5‫اصل‬ [ ‫)[د‬b( [[)a(9‫ق‬ [ ‫)[د‬b( [[)b(5‫اصل‬

)duality( ‫دوگان‬ duality

duality

0

And

1

Or duality

duality

‫مثال‬:

x+y’z

‫دوگان‬

x.)y’+z(

()1( POS(( ‫ و ماکسترم ها‬SOP( ‫مینترم‬ x

y

z

x+y+z

Minterm

Maxterm

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

x’.y’.z’ x’.y’.z x’.y.z’ x’.y.z

m0 m1 m2 m3

x+y+z x+y+z’ x+y’+z x+y’+z’

M0 M1 M2 M3

1 1 1 1

0 0 1 1

0 1 0 1

1 1 1 1

x.y’.z’ x.y’.z x.y.z’ x.y.z

m4 m5 m6 m7

x’+y+z x’+y+z’ x’+y’+z x’+y’+z’

M4 M5 M6 M7

‫(‪ SOP‬و ماکسترم ها ((‪()2( POS‬‬ ‫مینترم‬ ‫‪:‬مثال‬ ‫(‪m)1,2,4,5,6‬‬

‫=(‪f)x,y,z‬‬

‫(‪M)0,3,7‬‬

‫=(‪f)x,y,z‬‬

‫∑‬

‫∏‬

‫مینترم (‪ SOP‬و ماکسترم ها ((‪()2( POS‬‬ ‫مثال‪ :‬تابع زیر را به صورت مینترمی بنویسید‪.‬‬

‫‪F )x , y( = x . y‬‬ ‫‪ .1‬رسم جدول درستی‬ ‫‪ .2‬تعیین مینترم ها‬ ‫(‪F )x , y( =∑ F)2‬‬

‫‪F‬‬

‫‪y‬‬

‫‪x‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

()3( POS(( ‫ و ماکسترم ها‬SOP( ‫مینترم‬ ‫) را به صورت‬f ') A ,B , Q ,Z‫ ) و‬f) A , B , Q ,Z:‫مثال‬ .‫مینترمی بنویسید‬ f)A,B,Q,Z( = A'B'Q'Z' + A'B'Q'Z + A'BQZ' + A'BQZ

f)A,B,Q,Z( = A'B'Q'Z' + A'B'Q'Z + A'BQZ' + A'BQZ = m0 + m1 + m6 + m7 = S m)0, 1, 6, 7( f ')A,B,Q,Z ( =m2+ m3+ m4+ m5+ m8+ m9 + m10+ m11+ m12 13

+ m14 + m15m + m))2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15 S =

:‫قضیه گسترش شانون‬ (a). f(x1, x2, …, xn) = x1 f(1, x2, …, xn) + (x1)' f(0, x2, …, xn) (b). f(x1, x2, …, xn) = [x1 + f(0, x2, …, xn)] [(x1)' + f(1, x2, …, xn)]

:‫مثال‬ • f)A,B,C( = AB + AC' + A'C – f)A,B,C( = AB + AC' + A'C = A f)1,B,C( + A' f)0,B,C( = A)1×B + 1×C' + 1'×C( + A')0×B + 0×C' + 0'×C( = A)B + C'( + A'C – f)A,B,C( = A)B + C'( + A'C = B[A)1+C'( + A'C] + B'[A)0 + C'( + A'C] = B[A + A'C] + B'[AC' + A'C] = AB + A'BC + AB'C' + A'B'C – f)A,B,C( = AB + A'BC + AB'C' + A'B'C = C[AB + A'B×1 + AB'×1' + A'B'×1] + C'[AB + A'B×0 + AB'×0' + A'B'×0] = ABC + A'BC + A'B'C + ABC' + AB'C'

Xor & Xnor x + y=x . y’+x’.y  x . y=x’. y’+x.y 

x 0 0 1 1

y 0 1 0 1

x.y x+y x+y x.y 0 0 0 1 0 1 1 0 0 1 1 0 1 1 0 1

)1( 

)‫گیت ها(دریچه ها‬

And:

x y

A

x

y

A=x.y

0

0

0

0

1

0

1

0

0

1

1

1

‫گیت ها(دریچه ها)‬ ‫‪A=x+y‬‬

‫‪y‬‬

‫‪x‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫(‪)1‬‬

‫‪Or:‬‬

‫‪B‬‬

‫‪x‬‬ ‫‪y‬‬

‫‪‬‬

‫گیت ها‬

‫(‪)2‬‬

‫‪:‬تقویت کننده‬ ‫‪x‬‬

‫‪x‬‬

‫‪:‬متمّم‬ ‫’‪x‬‬

‫‪x‬‬

‫’‪x‬‬ ‫‪1‬‬

‫‪x‬‬ ‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

)3(



Nand:

x y

x

A

‫گیت ها‬

x

y

A

0

0

0

0

1

0

1

0

0

1

1

1

)3(



Nor:

x y

x

A

‫گیت ها‬

x

y

A

0

0

1

0

1

0

1

0

0

1

1

0

)4(



Xor:

x y

‫گیت ها‬

x

y

A

0

0

0

0

1

1

1

0

1

1

1

0

A

)4(



Xnor:

x y

A

‫گیت ها‬

x

y

A

0

0

0

0

1

0

1

0

0

1

1

1

‫گیت یا بافر ‪ 3‬وضعیتی‬

‫(‪)1‬‬

‫ن گیت ها دارای یک دریچه ورودی‪،‬‬ ‫است‬ ‫کنترل‬ ‫کلید‬ ‫یک‬ ‫و‬ ‫خروجی‬ ‫ک‬ ‫‪output‬‬ ‫ه هر گاه کلید کنترل ‪ 1‬گردد؛‬ ‫ورودی بر روی خروجی قرار میگیرد‬

‫‪Input‬‬

‫‪Control‬‬ ‫‪If control = 1‬‬

‫‪Input‬‬

‫‪If control = 0‬‬

‫‪Hz‬‬

‫= ‪Output‬‬

)2(

so

b=0

if

b=1 if

‫ وضعیتی‬3 ‫گیت یا بافر‬ ‫اتصال سری‬:

Off

c=0

c=1

so

Off

so

f =a f

a

b

c

‫گیت یا بافر ‪ 3‬وضعیتی‬ ‫‪:‬اتصال موازی‬

‫(‪)3‬‬

‫‪f=b‬‬

‫‪f=a‬‬

‫‪so‬‬

‫‪so‬‬

‫‪c=0‬‬

‫‪c=1‬‬ ‫‪a‬‬

‫‪c.d = 0‬‬

‫‪f‬‬

‫‪c‬‬ ‫‪b‬‬ ‫(‪c’)d‬‬

)1(   

A

‫تأخیر در انتشار‬

Real implementations are not quite so perfect Computation actually takes some time Communication actually takes some time

B

C

A B C Timing Diagram

a b

)2(

k2 f

k1 k3

c k1 a=1 t=0

b=1 c=1

‫مثال‬:

1

a b

c

1 1 m+1

0 m+2

1

k2 k3

m+3

0 m+5

1

t=m

a=1 b=0 c=1

‫تأخیر‬

f t=m Hazard)1(

‫کد گِری‬

‫(‪)1‬‬

‫در این کد‪،‬هر کدام از کد ها تنها در یک بیت با کد‬ ‫قبلی متفاوت است و این روند چرخشی‬ ‫است؛یعنی آخرین کد و اولین کد نیز تنها در ‪1‬‬ ‫‪.‬بیت متفاوتند‬

)2(

x 0 0 0 0 1 1 1 1

y 0 0 1 1 0 0 1 1

z 0 1 0 1 0 1 0 1

Gray code

BCD code

x 0 0 0 0 1 1 1 1

‫کد گری‬ y 0 0 1 1 1 1 0 0

z 0 1 1 0 0 1 1 0

‫نحوه‬

‫تولیدکدگری(‪)3‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬

‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫فصل ‪3‬‬

‫خصوصیات توابع‬ ‫سويیچی‬

‫جدول کارنا‬ ‫برای ساده سازی توابع با حداکثر ‪ 6‬ورودی‪،‬‬ ‫‪.‬میتوان از جدول کارنا استفاده کرد‬ ‫در این روش جدولی با توجه به تعداد ورودی ها‬ ‫در نظر گرفته میشود؛ و به هر مینترم یک خانه‬ ‫‪.‬از این جدول اختصاص میابد‬

‫جدول کارنا برای ‪ 3‬ورودی‬ ‫(‪f)x,y,z‬‬

‫‪yz‬‬ ‫‪10‬‬

‫‪11‬‬

‫‪01‬‬

‫‪00‬‬

‫‪2‬‬

‫‪3‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪6‬‬

‫‪7‬‬

‫‪5‬‬

‫‪4‬‬

‫‪1‬‬

‫‪x‬‬

‫جدول کارنا برای ‪ 4‬ورودی‬ ‫(‪f)x,y,z,t‬‬ ‫‪zt‬‬ ‫‪10‬‬

‫‪11‬‬

‫‪01‬‬

‫‪00‬‬

‫‪xy‬‬

‫‪2‬‬

‫‪3‬‬

‫‪1‬‬

‫‪0‬‬

‫‪6‬‬

‫‪7‬‬

‫‪5‬‬

‫‪4‬‬

‫‪01‬‬

‫‪14‬‬

‫‪15‬‬

‫‪13‬‬

‫‪12‬‬

‫‪11‬‬

‫‪10‬‬

‫‪11‬‬

‫‪9‬‬

‫‪8‬‬

‫‪10‬‬

‫‪00‬‬

‫جدول کارنا برای ‪ 5‬ورودی‬

‫(‪)1‬‬

‫(‪f)x,y,z,t,e‬‬

‫‪zte‬‬ ‫‪100‬‬

‫‪101‬‬

‫‪111‬‬

‫‪110‬‬

‫‪010‬‬

‫‪011‬‬

‫‪001‬‬

‫‪000‬‬

‫‪4‬‬

‫‪5‬‬

‫‪7‬‬

‫‪6‬‬

‫‪2‬‬

‫‪3‬‬

‫‪1‬‬

‫‪0‬‬

‫‪12‬‬

‫‪13‬‬

‫‪15‬‬

‫‪14‬‬

‫‪10‬‬

‫‪11‬‬

‫‪9‬‬

‫‪8‬‬

‫‪28‬‬

‫‪29‬‬

‫‪31‬‬

‫‪30‬‬

‫‪26‬‬

‫‪27‬‬

‫‪25‬‬

‫‪24‬‬

‫‪11‬‬

‫‪20‬‬

‫‪21‬‬

‫‪23‬‬

‫‪22‬‬

‫‪18‬‬

‫‪19‬‬

‫‪17‬‬

‫‪16‬‬

‫‪10‬‬

‫‪xy‬‬ ‫‪00‬‬ ‫‪01‬‬

‫جدول کارنا برای ‪ 5‬ورودی‬ ‫به جای ‪ 1‬جدول ‪ 32‬خانه ای‬ ‫میتوان از ‪ 2‬جدول ‪ 16‬خانه‬ ‫‪zt‬‬ ‫کرد‬ ‫استفاده‬ ‫‪.‬ای‬ ‫‪10‬‬ ‫‪00‬‬ ‫‪01‬‬ ‫‪11‬‬ ‫‪10‬‬ ‫‪xy‬‬

‫‪18‬‬

‫‪19‬‬

‫‪17‬‬

‫‪16‬‬

‫‪22‬‬

‫‪23‬‬

‫‪21‬‬

‫‪20‬‬

‫‪30‬‬

‫‪31‬‬

‫‪29‬‬

‫‪28‬‬

‫‪26‬‬

‫‪27‬‬

‫‪25‬‬

‫‪24‬‬

‫‪x=1‬‬

‫(‪)2‬‬

‫(‪f)x,y,z,t,e‬‬

‫‪te‬‬ ‫‪11‬‬

‫‪01‬‬

‫‪00‬‬

‫‪yz‬‬

‫‪2‬‬

‫‪3‬‬

‫‪1‬‬

‫‪0‬‬

‫‪01‬‬

‫‪6‬‬

‫‪7‬‬

‫‪5‬‬

‫‪4‬‬

‫‪01‬‬

‫‪11‬‬

‫‪14‬‬

‫‪15‬‬

‫‪13‬‬

‫‪12‬‬

‫‪11‬‬

‫‪10‬‬

‫‪11‬‬

‫‪9‬‬

‫‪8‬‬

‫‪10‬‬

‫‪00‬‬

‫‪10‬‬

‫‪x=0‬‬

‫‪00‬‬

‫جدول کارنا برای ‪ 5‬ورودی‬

‫(‪)3‬‬ ‫(‪f)x,y,z,t,e‬‬

‫‪zt‬‬ ‫‪10‬‬

‫‪11‬‬

‫‪01‬‬

‫‪00‬‬

‫‪zt‬‬ ‫‪xy‬‬

‫‪10‬‬

‫‪11‬‬

‫‪01‬‬

‫‪00‬‬

‫‪xy‬‬

‫‪4‬‬

‫‪6‬‬

‫‪2‬‬

‫‪0‬‬

‫‪00‬‬

‫‪5‬‬

‫‪7‬‬

‫‪3‬‬

‫‪1‬‬

‫‪00‬‬

‫‪12‬‬

‫‪14‬‬

‫‪10‬‬

‫‪8‬‬

‫‪01‬‬

‫‪13‬‬

‫‪15‬‬

‫‪11‬‬

‫‪9‬‬

‫‪01‬‬

‫‪28‬‬

‫‪30‬‬

‫‪26‬‬

‫‪24‬‬

‫‪11‬‬

‫‪29‬‬

‫‪31‬‬

‫‪27‬‬

‫‪25‬‬

‫‪11‬‬

‫‪20‬‬

‫‪22‬‬

‫‪18‬‬

‫‪16‬‬

‫‪10‬‬

‫‪21‬‬

‫‪23‬‬

‫‪19‬‬

‫‪17‬‬

‫‪10‬‬

‫‪e=0‬‬

‫‪e=1‬‬

‫ساده سازی توابع با کمک جدول‬ ‫کارنا‬

‫رسم جدول کارنا با توجه به سایزها‪1.‬‬ ‫آوردن مینترم ها داخل جدول کارنا‪2.‬‬ ‫تعیین‪cube 3.‬‬ ‫تبدیل ‪ cube 4.‬ها به شکل جبری‬

‫اصول ساده سازی کارنا‬ ‫در صورتی درست است که کلیه شرایط زیر‬

‫انتخاب‬ ‫‪cube‬‬ ‫‪:‬برقرار باشد‬ ‫‪1.‬‬ ‫‪.‬قابل بزرگتر شدن نباشد‬ ‫‪cube‬‬ ‫موجود باشد که در هیچ‬ ‫حداقل یک ‪ 1‬در‬ ‫‪cube‬‬ ‫باشد‬ ‫‪ .‬دیگری شرکت نکرده‬

‫‪2.‬‬ ‫‪cube‬‬

Algorithm )1( 1.count the number of adjacencies for each minterm on the k-map.  2.select an uncovered minterm with the fewest number of adja-cencies.  3. generate a prime implicant, select the one that covers the most uncovered minterms.  4.Repeat step 2 & 3 until all minterms have been covered 

‫مثالی برای جدول کارنا‬ f)x,y,z,t,e(=

∑m)2,4,5,6,7,8,9,10,11,12,13,15,16,18,22,24,25,27,28,29,31( zte xy

000

001

011

00 01 11 10

1 1 1

1 1

1 1

010

110

111

101

100

1 1

1

1 1 1

1 1 1

1 1 1

1

1

f)x,y,z,t,e(= xyz+ x’yz’ + xz’t’e’ + ye + yt’ + y’te’

‫توابع نا کامل(با ‪( )1( don’t-care‬‬ ‫حالت بی اهمیتی هستند در خروجی به این‬ ‫‪.‬دلیل که در ورودی اتفاق نمیافتد ‪don’t-care‬‬ ‫از این حالت به عنوان یک مؤلفه ی موثر در‬ ‫ساده سازی به خوبی میتوان استفاده کرد؛ به‬ ‫این صورت که اگر ‪ 1‬بودن برخی از این حالت‬ ‫ها و ساده سازی‬ ‫باعث بزرگتر شدن‬ ‫بیشتر شود‪ ،‬ما آنها را ‪ 1‬فرض میکنیم و اگر نه‪،‬‬ ‫‪.‬به نفع ماست که آنها را ‪ 0‬فرض کنیم‬

( )2( don’t-care ‫توابع نا کامل(با‬ f)x,y,z,t( =

∑ m)1,2,7,11,12,15(+ d )0,3,6,9,13,14(

f)x,y,z,t( = x’z + xy + y’t zt xy 00

00

01

11

10

*

1

*

1

1

*

*

1

*

*

1

01 11 10

1

‫انواع شکل مدارات ‪ 2‬طبقه‬

‫(‪)1‬‬

‫می دانیم هر تابع جبری با هر شکل و اندازه ای‬ ‫با استفاده از یک جدول درستی قابل نمایش‬ ‫یا‬ ‫است؛ و به فرم ‪2‬طبقه ی‬ ‫‪And-Or Or-And‬‬ ‫است‬ ‫‪.‬‬ ‫‪Nand Nor‬‬ ‫و‬ ‫حال با توجه به اینکه گیت های‬ ‫نیز مفیداند؛ میخواهیم ببینیم چه فرم های ‪2‬‬ ‫‪.‬طبقه دیگری وجود دارد‬

‫انواع شکل مدارات ‪ 2‬طبقه‬ ‫طبقه ‪2‬‬

‫طبقه ‪1‬‬

‫‪And‬‬

‫‪And‬‬

‫‪Or‬‬

‫‪Or‬‬

‫‪Nand‬‬

‫‪Nand‬‬

‫‪Nor‬‬

‫‪Nor‬‬

‫(‪)2‬‬

‫طبقه ‪0‬‬

‫‪Not‬‬

‫حالت ممکن مدارات ‪ 2‬طبقه‬ ‫طبقه ‪2‬‬ ‫‪Nor‬‬

‫‪Nand‬‬

‫‪Or‬‬

‫‪And‬‬

‫طبقه ‪1‬‬ ‫‪And‬‬ ‫‪Or‬‬ ‫‪Nand‬‬ ‫‪Nor‬‬

‫مورب جدول کارنا‬

‫سازی‬ cube

‫ساده‬ ‫مثال‬:

zt xy

00

1 1

10

1 1

1

11 10

11

1

00 01

01

1 1

f)x,y,z,t(= a’.c’)b + d( + a.c)b + d( + a’.c)b . d( + a.c’)b . d(

f)x,y,z,t(=)b + d( . )a . c(

‫روش ساده سازی کویین مک کلسکی‬ ‫(‪)1( )Quine-McCluskey‬‬

‫‪.‬روش دیگری برای ساده سازی توابع می باشد‬ ‫مزیت این روش به جدول کارنا ‪ ،‬اینست که اگر‬ ‫ورودی های ما زیاد هم باشند؛ کار کردن با آن‬ ‫ساده است‪ ،‬ولی جدول کارنا برای توابعی با‬ ‫بیش از ‪ 6‬ورودی کاربردی ندارد زیرا کار کردن‬ ‫‪ .‬با آن ساده نیست‬

‫روش ساده سازی کویین مک کلسکی‬ ‫(‪)2( )Quine-McCluskey‬‬

‫مراحل و روش این نوع ساده سازی را به همراه یک مثال می‬ ‫‪.‬بینیم‬

‫روش ساده سازی کویین مک کلسکی‬ ‫(‪)3( )Quine-McCluskey‬‬

‫‪:‬مثال‬ ‫(‪f)a,b,c,d(= ∑ m)2,4,6,8,9,10,12,13,15‬‬ ‫‪cd‬‬ ‫‪10‬‬

‫‪11‬‬

‫‪01‬‬

‫‪00‬‬

‫‪1‬‬

‫‪00‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫‪ab‬‬

‫‪1‬‬

‫‪01‬‬

‫‪1‬‬

‫‪1‬‬

‫‪11‬‬

‫‪1‬‬

‫‪1‬‬

‫‪10‬‬

Q-M Tabular Minimization Method )4( 

Step 1. list in a column all the minterms of the function to be minimized in their binary representation. Partition them into groups according to the number of 1 bits in their binary representation. This partitioning simplifies identification of logically adjacent minterms since, to be logically adjacent, two minterms must differ in exactly one literal.

Q-M Tabular Minimization Method )5( Minterms

abcd

2

0010

4

0100

8

1000

6

0110

9

1001

10

1010

12

1100

13

1101

Group 3 )three 1’s(

15

1111

Group 4 )four 1’s(

Group 1 )a single 1(

Group 2 )two 1’s(

Q-M Tabular Minimization Method )6( 

Step 2. perform an exhaustive search between neighboring groups for adjacent minterms and combing them into a column of )n-1(-variable implicants, checking off each minterm that is combined. Repeat for each column, combing )n-1(-variable implicants into )n-2(-variable implicants, and so on, until no further implicants can be combined.

Q-M Tabular Minimization Method )7( Minterms

abcd

Minterms

abcd

2

0010

2,6

0-10

PI2

4

0100

2,10

-010

PI3

8

1000

4,6

01-0

PI4

6

0110

4,12

-100

PI5

9

1001

8,9

100-

10

1010

8,10

10-0

12

1100

8,12

1-00

13

1101

9,13

1-01

15

1111

12,13

110-

13,15

11-1

PI6

PI7

Minterms

abcd

8,9,12,13

1-0- PI1

Q-M Tabular Minimization Method )8( the final result is a list of prime implicants of the switching function.  Step 3. construct a prime implicants chart that lists minterms along the horizontal and prime implicants along the vertical, with an * entry placed wherever a certain prime implicant )row( covers a given minterm )column(. 

Q-M Tabular Minimization Method )9( 2 PI1 PI2 * PI3 * PI4 PI5 PI6 PI7

4

6

8 9 10 12 13 15 * * * *

*

*

* * *

* *

* *

*

Q-M Tabular Minimization Method )10( 

Step 4. Select a minimum number of prime implicants that cover all the minterms of the switching function.

Q-M Tabular Minimization Method )11( 2 PI2 PI3 PI4 PI5 PI6

4

* *

6

10

* * * *

* *

Q-M Tabular Minimization Method )12(

f)a,b,c,d(= PI1 + PI3 +PI4 + PI7 =1-0- + -010 + 01-0 + 11-1 = a.c’ + b’.c.d’+ a’.b.d’ + a.b.d

‫ساده سازی‬ ‫‪ًQ-M‬‬ ‫چند خروجی‬

‫برای سیستم های‬

‫حال از این روش برای ساده سازی سیستم های‬ ‫‪.‬با چند ورودی متفاوت استفاده می کنیم‬ ‫‪.‬روش کار را با یک مثال می بینیم‬ ‫(‪fα)a,b,c,d(= ∑ m)0,2,7,10(+d)12,15‬‬ ‫(‪fβ)a,b,c,d(=∑ m)2,4,5(+d)6,7,8,10‬‬ ‫(‪fγ)a,b,c,d(=∑ m)2,7,8(+d)0,5,13‬‬

‫برای سیستم های‬ ‫سازی‬ ‫ساده‬ ‫‪Q-M‬‬ ‫چند خروجی (‪)2‬‬ ‫مینترم‪0,2,4,5,6,7,8,10,12,13,15:‬‬ ‫ها‬

‫های‬

‫‪don’t-care‬‬ ‫ابتدا فرض میکنیم همه ی مینترم ها و‬ ‫ه شده مربوط به ‪ 1‬تابع میباشد و آنها را دسته بندی‬ ‫کنیم و مرحله ‪1‬و‪ 2‬را به صورت گفته شده در قسمت قبل‬ ‫جام میدهیم‬

‫برای سیستم های‬ ‫ساده سازی‬ Q-M )3( ‫چند خروجی‬ MIN TERM abcd Flags 0000 αγ 0 2

0010 αβγ

4

0100

β

8

1000

βγ

5

0101

βγ

6

0110

β

10

1010 αβ

12

1100

7

α

0111 αβγ

MIN TERM

PI10 PI11

PI12 PI13

abcd Flags

0,2

00-0

αγ

0,8

-000

γ

2,6

0-10

β

2,10

-010

αβ

4,5

010-

β

4,6

01-0

β

8,10

10-0

β

PI6

5,7

01-1

βγ

PI7

5,13

-101

γ

PI8

13

1101

γ

6,7

011-

β

15

1111

α

7,15

-111

α

PI2 PI3 PI4 PI5

PI9

MIN TERM

abcd

4,5,6,7

01--

Flags

β

PI1

‫برای سیستم های‬ ‫ساده سازی‬ Q-M )4( ‫خروجی‬ ‫چند‬ fα fβ fγ 0 PI1

β

PI2

αγ

PI3

γ

PI4

β

PI5

αβ

PI6

β

PI7

βγ

PI8

γ

PI9

α

PI10

αβγ

PI11

βγ

PI12

α

PI13

αβγ

2

7

10

2

4

5

* *

* *

2

7

*

8

*

* *

* * *

*

* *

* *

* *

‫برای سیستم های‬ ‫سازی‬ ‫ساده‬ Q-M )5( ‫چند خروجی‬ fα fγ 7

PI3

γ

PI7

βγ

PI9

α

PI11

βγ

PI13 αβγ

7

* * * *

8

*

fα=PI2+PI5+PI13 fβ=PI1+PI5

*

fγ=PI2+PI3+PI13 fa=a’b’d’+b’cd’+a’bcd fβ=a’b+b’cd’ fγ=a’b’d’+b’c’d’+a’bcd

‫برای سیستم های‬ ‫ساده سازی‬ ‫‪Q-M‬‬ ‫چند خروجی (‪)6‬‬ ‫‪d‬‬

‫‪PI1‬‬ ‫‪fα‬‬ ‫‪PI2‬‬ ‫‪fβ‬‬

‫‪fγ‬‬

‫‪PI3‬‬ ‫‪PI5‬‬ ‫‪PI13‬‬

‫‪c‬‬

‫‪b‬‬

‫‪a‬‬

‫فصل ‪4‬‬

‫مدارهاي منطقي تركيبي‬ ‫ماجولي‬

‫فهرست مطالب‬ ‫‪ ‬طراحي مدار‬ ‫‪ ‬طراحي ماجولر مدار‬ ‫‪ Full Adder ‬و ‪Half Adder‬‬ ‫‪ ‬ديكدر‬ ‫‪ ‬اينكدر‬ ‫‪ ‬مالتي پلكسر)تسهيم كننده(‬ ‫‪ ‬دي مالتي پلكسر)پخش كننده داده ورودي(‬ ‫‪ ‬مقايسه گرها‬ ‫‪A seven segment display ‬‬

‫طراحي مدار‬ ‫‪‬‬

‫تعين تعداد بيت هاي ورودي وخروجي مدار‬ ‫‪Interface‬‬

‫‪ ‬رسم جدول‪Truth Table‬‬ ‫‪‬‬

‫بدست آوردن يك تابع براي خروجي‬

‫‪‬‬

‫ساده سازي توابع بدست آمده )كارنو‪(Q-M /‬‬

: ‫مثال‬ Truth table a b c Even Parity 0 0

0 0

1

0 1

0

1

1 1

0

0

0 0

1

1 0

1

0 1

1

1 1

=e

p) ) 1,2,4,7

0

1 0

1

m∑

1

b c 00 a

01 11

10

0

0 1 0 1

1

1 0 1 0

0 0 1

Pe

= )a b(

c

‫طرحي ماجولر مدار‬ ‫اگر تعداد بيت هاي ورودي وخروجي بيش از ‪ 4‬يا ‪ 5‬باشد در‬ ‫رسم جدول صحت با مشكل برخورد مي كنيم ‪).‬پيچيدگي‬ ‫( حافظه‬

‫راهكار‬ ‫‪ ‬بدون رسم جدول درستي به خروجي مدار برسيم‪).‬رهيافت‬ ‫ذهني(‬ ‫‪ ‬طراحي ماجولر مدار‪).‬طراحي پيمانه اي( )از نظر زماني‬ ‫بهينه نيست(‬

‫‪ Full Adder‬و ‪(Half Adder(1‬‬ ‫‪ Full Adder: ‬يك مدار تركيبي با سه ورودي و دو خروجي است‬ ‫كه دو بيت داده ويك رقم نقلي را با هم جمع كرده و حاصل‬ ‫جمع ورقم نقلي را محاسبه مي كند‪.‬‬

‫‪ Half Adder: ‬يك مدار تركيبي با دو ورودي و دو خروجي است‬ ‫كه دو بيت دودويي را با هم جمع كرده و حاصل جمع ورقم‬ ‫نقلي را محاسبه مي كند‪.‬‬

(Half Adder(2 ‫ و‬Full Adder ‫ طراحي‬Hull adder‫ عدد‬2 ‫ را ميتوان توسط‬Full adder ‫يك‬ .‫كرد‬ Xi Yi

s

H.A

s

H.A c

c

Si = X i

Yi

Ci-1

Ci-1= XiYi+XiCi-1+YiCi-1

Ci-1 ‫مي تواند توسط يك‬ ‫ جايگزين‬XOR ‫گيت‬ .‫شود‬

(H.A ) ‫بلوك دياگرام‬ Xi Yi

H.A Ci

Si

Truth Table Xi Y i

Ci S i

Si = X i Yi

0

0

0

0

Ci = Xi Yi

0

1

0

1

1

0

0

1

1

1

1

0

Xi

Si

Yi Ci

)F.A ( ‫بلوك دياگرام‬ Xi Yi Ci-1

F.A Ci

Si

Truth Table Xi Y i Ci-1

Ci S i

0

0 0

0

0

0

0 1

0

1

0

1 0

0

1

Si = X i Yi Ci-1

0

1 1

1

0

Ci = XiYi+

1

0 0

0

1

1

0 1

1

0

1

1 0

1

0

1

1 1

1

1

XiCi-1+ YiCi-1

)F.A ( ‫دياگرام منطقي‬ C=C(A out A B

B) + AB

S

C C out

Ripple Carry Adder (RCA)

b 7 a7

b 3 a3

b 2 a2

H.A

F.A

F.A

COUT S7

C4

S3

C3 S2

b1

a1

b 0 a0

F.A C2 S1

H.A C1

S0

Ripple Carry Adder (RCA) b7

b3 a7

a3

S7

b1 a2

F.A

F.A

COUT

b2

S3

If M =0

A+B

If M =1

A-B or )A+B+1(

b0 a1

F.A

S2

a0

F.A

M

F.A

S1

S0

‫ديكدر‬ ‫‪‬‬

‫ديكدر ‪ n‬به‪2 n‬يك شبكه منطقي تركيبي است با ‪ n‬خط ورودي و‬ ‫‪2n‬سيگنال خروجي‪.‬‬

‫‪‬‬

‫عنصري است كه مينترم ها را مي سازد‪.‬‬

n 2 ‫به‬n ‫ماجول ديكدر‬

x0 x1

LSB

m0 n-to-2n

m1

Decoder

xn-1 MSB

E .‫ هستند‬Active Low ‫معمول‬

mn-1

‫دياگرام منطقي )موازي و خروجي هاي‬ ‫فعال بال(‬ ‫‪Truth Table‬‬ ‫‪m0= AB‬‬ ‫‪m1= AB‬‬ ‫‪m2= AB‬‬ ‫‪m3= AB‬‬

‫‪B‬‬ ‫‪A‬‬

‫‪m0 m1 m2 m3‬‬

‫‪E A B‬‬

‫‪1 0‬‬

‫‪0 0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0 1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1 0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0 1‬‬

‫‪0‬‬

‫‪1 0‬‬

‫‪1‬‬

‫‪0 0‬‬

‫‪0‬‬

‫‪1 1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0 0‬‬

‫‪0‬‬

‫× ×‬

‫‪0‬‬

‫دياگرام منطقي (موازي و خروجي هاي‬ ‫فعال پايين)‬

‫‪m0‬‬ ‫‪m1‬‬ ‫‪m2‬‬ ‫‪m3‬‬

‫‪B‬‬ ‫‪A‬‬

‫ساختماني ديگر‬ ‫‪m0‬‬

‫‪m1‬‬

‫‪m2‬‬

‫‪m3‬‬

‫‪B‬‬ ‫‪A‬‬

C

B

‫بيت‬ ‫ديكدر نوع موازي سه‬ A m0 =C B A m1 =C B A m2 =C B A m3 =C B A m4 =C B A m5 =C B A m6 =C B A m7 =C B A

A

‫ديكدر نوع درخت سه‬ m ‫بيت‬ 0

B A

C

A

m1 m2

B A

m3

A

m4

A

m5

B C

A

m6

A

m7

B

‫پياه سازي توابع منطقي با‬ ‫ديكدر ها‬ ‫مثال‪:‬‬ ‫(‪F)A , B ,C( = ∑m)0 ,1 ,4 ,6 ,7( = ∏M )2 ,3 ,5‬‬ ‫تابع را به چندين طريق مي توانيم پياده نماييم‪:‬‬

‫•‬

‫يك ديكدر )با خروجي فعال بال( ويك گيت ‪OR‬بكار بريم‪.‬‬

‫•‬

‫يك ديكدر )با خروجي فعال پايين( ويك گيت ‪NAND‬بكار بريم‪.‬‬

‫•‬

‫يك ديكدر )با خروجي فعال بال( ويك گيت ‪ NOR‬بكار بريم‪.‬‬

‫•‬

‫يك ديكدر )با خروجي فعال پايين( ويك گيت ‪ AND‬بكار بريم‪.‬‬

‫ك ديكدر )با خروجي فعال بال( ويك گيت ‪OR‬بكار بريم‪.‬‬

‫‪F)A , B ,C( = m0 + m1+ m4 +m6+ m7‬‬

‫(‪F)A , B ,C‬‬

‫‪0‬‬

‫‪1‬‬ ‫‪4‬‬ ‫‪6‬‬ ‫‪7‬‬

‫‪2‬‬

‫‪MSB A‬‬

‫‪1‬‬

‫‪B‬‬

‫‪0‬‬

‫‪LSB C‬‬

‫ديكدر )با خروجي فعال پايين( ويك گيت ‪NAND‬بكار بر‬

‫‪F)A , B ,C( = m0 . m1. m4 .m6. m7‬‬

‫(‪F)A , B ,C‬‬

‫‪0‬‬

‫‪1‬‬ ‫‪4‬‬ ‫‪6‬‬ ‫‪7‬‬

‫‪2‬‬

‫‪MSB A‬‬

‫‪1‬‬

‫‪B‬‬

‫‪0‬‬

‫‪LSB C‬‬

‫ك ديكدر )با خروجي فعال بال( ويك گيت ‪NOR‬بكار بريم‪.‬‬

‫‪F)A , B ,C( = m2 + m3+ m5‬‬

‫(‪F)A , B ,C‬‬

‫‪2‬‬ ‫‪3‬‬ ‫‪5‬‬

‫‪2‬‬

‫‪MSB A‬‬

‫‪1‬‬

‫‪B‬‬

‫‪0‬‬

‫‪LSB C‬‬

‫ديكدر )با خروجي فعال پايين( ويك گيت ‪AND‬بكار بريم‬

‫‪F)A , B ,C( = m2 . m3. m5‬‬

‫(‪F)A , B ,C‬‬

‫‪2‬‬ ‫‪3‬‬ ‫‪5‬‬

‫‪2‬‬

‫‪MSB A‬‬

‫‪1‬‬

‫‪B‬‬

‫‪0‬‬

‫‪LSB C‬‬

‫ساختن‪ Full Adder‬به وسیله دیکدر‪:‬‬

‫ساختن ديكدر بزرگتر‪:‬‬

‫اينكدر‬ ‫‪ ‬اينكدر يك ماجول تركيبي است كه براي هر سيگنال‬ ‫ورودي به دستگاه يك كد خروجي منحصر به فرد را اختصاص‬ ‫مي دهد‪.‬‬ ‫‪ ‬اگر يك ماجول اينكدر ‪ n‬ورودي داشته باشد خروجي ‪ s‬بايد‬ ‫در رابطه زير صدق كند‪:‬‬

‫‪2s ≤ n‬‬ ‫‪s ≤ Log2 n‬‬

‫‪or‬‬

‫مثال‪:‬‬ ‫يك اينكدر براي براي چهار خط ورودي طراحي كنيد‬ ‫بشرطي كه در هر لحظه از زمان فقط يك ورودي‬ ‫فعال باشد‪.‬‬ ‫‪A0‬‬

‫‪4 –to- 2‬‬

‫‪A1‬‬

‫‪Encoder‬‬

‫‪x0‬‬ ‫‪x1‬‬ ‫‪x2‬‬ ‫‪x3‬‬

x3 x2 x1 x0 A1 d

A1= X2+X3

1

d

1

0

d

d

d

d

d

d

d

0

d

d

d

A0

A0= X1+X3

A1 A0

0

0

0

0

d

d

0

0

0

1

0

0

0

0

1

0

0

1

0

0

1

1

d

d

0

1

0

0

1

0

0

1

0

1

d

d

0

1

1

0

d

d

0

1

1

1

d

d

1

0

0

0

1

1

1

0

0

1

d

d

1

0

1

0

d

d

1

0

1

1

d

d

d

0

d

1

0

d

d

d

d

d

d

d

1

1

0

0

d

d

1

1

0

1

d

d

1

d

d

d

1

1

1

0

d

d

1

1

1

1

d

d

‫دياگرام منطقي‬ ‫‪A0= X1+X3‬‬

‫‪A1= X2+X3‬‬

‫‪x1‬‬ ‫‪x3‬‬

‫‪x2‬‬ ‫‪x0‬‬

‫اينكدر اولويت‬ ‫اينكدر اولويت اجازه مي دهد تا چندين خط ورودي فعال‬ ‫شوند ولي عدد دودويي خارج شده از آن انديسي است كه در‬ ‫خطوط ورودي بالترين اولويت را دارد‪.‬‬ ‫براي ساده كردن طراحي بالترين اولويت به بالترين انديس‬ ‫اختصاص يافته است و بالترين اولويت بعدي به دومين‬ ‫انديس بالتر و الي آخر تخصيص داده شده است‪.‬‬

‫بلوك دياگرام‬ ‫اگر هيچ يك از خطوط‬ ‫ورودي فعال نباشد ‪EO=1‬‬ ‫‪A0‬‬ ‫‪A1‬‬

‫‪GS‬‬ ‫‪EO‬‬

‫اگر بيش از يكي از خطوط‬ ‫ورودي فعال باشد ‪GS=1‬‬

‫‪x0‬‬ ‫‪4 –to- 2‬‬ ‫‪Priority‬‬ ‫‪encoder‬‬

‫‪x1‬‬ ‫‪x2‬‬ ‫‪x3‬‬

A1 A1= X2+X3

1

1

1

1

1

1

0

0

0

0

0

0

0

1

1

1

1

0

0

0

1

0

0

1

0

0

0

1

0

0

1

1

0

0

0

1

1

0

1

1

0

0

1

0

0

1

0

1

0

0

1

0

1

1

0

1

0

0

1

1

0

1

0

1

0

0

1

1

1

1

0

1

0

1

0

0

0

1

1

1

0

1

1

1

A0 1 A0= X1+X3

1

x3 x2 x1 x0

A1 A0 GS EO

1

1

1

1

1

1

0

0

1

1

1

1

0

1

0

1

0

1

1

1

0

1

1

1

1

0

1

1

1

1

1

0

1

1

0

0

1

1

1

0

1

1

0

1

1

1

1

0

1

1

1

0

1

1

1

0

1

1

1

1

1

1

1

0

EO=GS= X0 + X1 + X2 + X3

‫دياگرام منطقي‬

‫‪X1‬‬

‫‪A0‬‬

‫‪X2‬‬ ‫‪X3‬‬

‫‪A1‬‬ ‫‪EO‬‬ ‫‪GS‬‬

‫‪X2‬‬ ‫‪X0‬‬

‫مالتي پلكسر(تسهيم كننده)‬ ‫بطور كلي مالتي پلكسر) انتخابگر داده ( يك ماجول است كه‬ ‫يكي از چند خط ورودي را انتخاب و آن را روي خط خروجي‬ ‫ظاهر مي سازد‪.‬‬

‫‪Y‬‬

‫‪4-to-1‬‬ ‫‪MUX‬‬

‫‪s1 s2‬‬ ‫كد انتخاب‬

‫‪x0‬‬ ‫‪x1‬‬ ‫‪x2‬‬ ‫‪x3‬‬

‫دار معادل دو طبقه‬ x0 S1 S0

Y

0

0

0

1

1

0

1

1

x0 x1 x2 x3

Y

x1 x2 x3

S1

S0

‫دياگرام منطقي‬ ‫‪x0‬‬

‫‪Y‬‬

‫‪x1‬‬ ‫‪x2‬‬ ‫‪x3‬‬

‫‪Dec 2 × 4‬‬ ‫‪S0‬‬

‫‪S1‬‬

: 1‫مثال‬ F)A , B ,C( = ∑m)1, 2 , 3 , 5 ,6(

a b c

F

0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

0

0 1 1 1 0 1 1 0

I0 I1 I2 I3 I4 I5 I6 I7

MUX 8×1

a b

c

F

: 2‫مثال‬ F)A , B ,C( = ∑M)1 ,2 , 3, 6(

I0 I1 I2 I3

a b c

F

0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

1

1

0

0

0

1

0

1

0

1

1

0

1

1

1

1

0

c

c

I0

1

I1

0

I2

MUX 4×1

I3

a

b

: 3‫مثال‬ F)A , B ,C( = ∑m)1, 2 , 4 , 5 ,6(

I0

I1

a b c

F

0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

0

0

1

1

0

1

1

1

1

0

1

1

1

1

0

I0 = b

b c 00 a

c

01 11

10

0

1

1

I0

1

1 1

1

I1

I1= b + c = bc b I0 MUX c I1

2×1 s0 a

F

I0

I1

I2

I3

a

b

c

d

F

0

0

0

0

0

0

0

0

1

1

0

0

1

0

0

0

0

1

1

1

: 4‫مثال‬ F)A , B , C , D( = ∑ m)1 , 3 , 5 , 6 , 7 , 10 , 11 , 15( c d 00 a b

0

1

0

0

1

00

0

1

0

1

1

01

0

1

1

0

1

0

1

1

1

1

1

0

0

0

0

1

0

0

1

0

1

0

1

0

1

1

0

1

1

1

1

1

0

0

0

1

1

0

1

0

1

1

1

0

0

1

1

1

1

1

01

11

1

1

1

1

11

1

10

1

10

I0=d I1= d+c I2=C I3= cd

I0 1

I1 I2

1

I3

: 4‫مثال‬ d c

I0 I1 I2

MUX

4×1

I3

a

b

F

‫دي مالتي پلكسر) پخش كننده‬ ‫داده ورودي(‬ ‫يك مدار منطقي تركيبي كه خط را به يك خط ورودي را به يكي‬ ‫از ‪n‬خط خروجي وصل مي كند‬ ‫خط خروجي خاص با يك كد انتخاب ‪s‬بيتي معين مي شود كه‪:‬‬

‫≤‬ ‫‪n‬‬

‫‪s‬‬

‫‪2‬‬

‫در اين حالت كد انتخاب براي توليد مينترم هاي ‪ s‬بكار مي رود‪.‬‬

‫دياگرام عملياتي‬ ‫‪Y0‬‬ ‫‪Y1‬‬

‫دي مالتي‬ ‫پلكسر‬

‫‪ 1‬به‪n‬‬

‫‪Yn-1‬‬

‫‪s‬‬

‫‪1 2‬‬

‫كد‬ ‫انتخاب‬

‫ورود‬ ‫ي‬

‫دي مالتي پلكسر‪ 1‬به ‪ 4‬با فعال‬ ‫ساز‬ ‫‪D‬‬ ‫‪Y0‬‬

‫‪E‬‬

‫‪Y1‬‬ ‫فعال ساز‬ ‫‪Y2‬‬ ‫‪Y3‬‬ ‫‪m0 m1 m2 m3‬‬ ‫‪2-to-4 Decoder‬‬

‫ورودي‬

‫مقايسه گرها‬ ‫‪ ‬مقايسه گر قطعه اي محاسباتي است كه اندازه نسسبي دو عدد‬ ‫دودويي را معيين مي كند‪.‬‬ ‫‪ ‬در يك مقايسه گر سه تصميم كامل ديكد شده در مورد دو كلمه‬ ‫انجام و در خروخي ها قرار‬ ‫مي گيرند‪ .‬يعني ‪ A>B , A>B , A=B‬اگر‬

‫‪) A=(An-1‬‬

‫)‪B …B0‬‬ ‫‪AB=(B‬‬ ‫‪n-1‬‬ ‫‪n-2…A‬‬ ‫‪0 n-2‬‬

‫دياگرام عملياتي‬ A

F1 , A
2

‫مقایسگر مقدار‬ B

2

F2 , A=B F3 , A
F1 =1, If AB

‫مثال ‪:‬‬

‫‪F1 F2 F3‬‬

‫‪A1 A2 B2 B2‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫كلمه‬ ‫مقايسه گري طراحي كنيد‬ ‫دو ‪1‬‬ ‫كه ‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪B=(B1B0) 2‬‬

‫‪0) 2‬و‪ A=(A1A‬را‬

‫در كد دودويي مقايسه‬

‫كند‪.‬‬

‫نقشه هاي‬ ‫كارنو‬ ‫‪F ,A=B‬‬ ‫‪10‬‬

‫‪11‬‬

‫‪01‬‬

‫‪00‬‬

‫‪1‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫‪10‬‬

‫‪11‬‬

‫‪01‬‬

‫‪00‬‬

‫‪F1, A
‫‪2‬‬

‫‪00‬‬

‫‪00‬‬

‫‪1‬‬

‫‪01‬‬

‫‪1‬‬

‫‪1‬‬

‫‪11‬‬

‫‪1‬‬

‫‪1‬‬

‫‪10‬‬

‫‪01‬‬

‫‪1‬‬

‫‪11‬‬ ‫‪10‬‬ ‫‪10‬‬

‫‪11‬‬

‫‪01‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪00‬‬ ‫‪00‬‬

‫‪01‬‬ ‫‪11‬‬

‫‪1‬‬

‫‪10‬‬

‫‪F3, A>B‬‬

‫توابع خروجي‬

F1= A1 B1+ A1A0 B0+ A0 B1B0

For )A1A0(2 < )B1B0(2

F2=A1A0 B1B0+ A1A0 B1B0+ A1A0B1 B0+A1A0B1B0 F3=A1B1+A1B1B0+A1A0B0

For )A1A0(2 = )B1B0(2

For )A1A0(2 > )B1B0(2

‫تحقيق منطقي يك مقايسه‬ ‫گر دو بيت‬ ‫‪A1‬‬ ‫‪F3‬‬ ‫‪B1‬‬

‫‪A2‬‬ ‫‪F1‬‬ ‫‪B2‬‬

‫‪F2‬‬

Seven Segment Display‫مثال‬

: L1 L 4

L 6 L2

L 5

L 7 L3

L1 L 4

L 6 L2

L 5

L 7 L3

B3 

B2 

B1 

B0 

Val 

L1 

L2 

L3 

L4 

L5 

L6 

L7 

















































































































































































































































   

‫‪ ‬المنت ‪:L4‬‬

‫‪:‬فصل ششم‬

‫مدارات ترتیبی‬

Latch

:

R

Q

Q

S

‫مفهوم‬

R

S

Q)t+1(

Q)t+1(

0

1

1

0

1

0

0

1

0

0

Q)t(

Q)t(

1

1

‫نامعین‬

‫نامعین‬

‫نمونه ی دیگر‬ ‫‪:‬‬ ‫‪O2‬‬

‫‪O1‬‬

‫‪B‬‬

‫‪A‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫نامعین نامعین‬

‫‪Q‬‬

‫‪Q‬‬

‫‪R‬‬

‫‪S‬‬

‫‪: CLK‬پالس های ساعت که باعث همگام سازی‬ ‫‪.‬مدار می شود‬

‫‪Q‬‬

‫‪R‬‬

‫‪CLK‬‬ ‫‪Q‬‬

‫‪S‬‬

‫انواع فلیپ فلپ‬ ‫‪:‬ها‬

‫‪RS, JK, T, D‬‬

‫فلیپ‪RS‬‬

‫فلپ‬ ‫(‪Q)t+1‬‬

‫‪R‬‬

‫‪S‬‬

‫(‪Q)t‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫نامعین‬

‫‪1‬‬

‫‪1‬‬

‫جدول )‬ ‫(مشخصه‬

‫‪Q‬‬ ‫‪Q‬‬

‫‪R‬‬ ‫‪S‬‬

‫‪CLK‬‬

‫)‬

‫انواع فلیپ فلپ ها‪( :‬ادامه‬ ‫فلیپ ‪JK‬‬

‫فلپ‬ ‫(‪Q)t+1‬‬

‫‪K‬‬

‫‪J‬‬

‫(‪Q)t‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫(‪Q)t‬‬

‫‪1‬‬

‫‪1‬‬

‫جدول )‬ ‫(مشخصه‬

‫‪Q‬‬ ‫‪Q‬‬

‫‪D‬‬

‫‪T‬‬

‫‪J‬‬ ‫‪K‬‬

‫‪CLK‬‬

‫)‬

‫انواع فلیپ فلپ ها‪( :‬ادامه‬ ‫فلیپ ‪D ,T‬‬ ‫فلپ‬ ‫(‪Q)t+1‬‬

‫‪T‬‬

‫(‪Q)t‬‬

‫‪0‬‬

‫(‪Q)t‬‬

‫‪1‬‬

‫‪Q‬‬

‫‪T‬‬

‫‪Q‬‬

‫‪CLK‬‬

‫(‪Q)t+1‬‬

‫‪D‬‬

‫‪Q‬‬

‫‪D‬‬

‫‪0‬‬ ‫‪1‬‬

‫‪0‬‬ ‫‪1‬‬

‫‪Q‬‬

‫‪CLK‬‬

‫جدول )‬ ‫(مشخصه‬

‫مثال‪:1‬‬

‫به کمک فلیپ فلپ ‪ JK‬یک فلیپ فلپ ‪.T‬بسازید‬

‫(‪Q)t+1‬‬ ‫(‪Q)t‬‬

‫‪K‬‬ ‫‪0‬‬

‫‪J‬‬ ‫‪0‬‬

‫‪T‬‬ ‫‪0‬‬

‫(‪Q)t‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬ ‫(‪Q)t‬‬ ‫(‪Q)t‬‬

‫‪J‬‬ ‫‪K‬‬

‫‪CLK‬‬

‫‪T‬‬

‫مثال‪: 2‬‬

‫به کمک فلیپ فلپ ‪ JK‬یک فلیپ فلپ ‪. D‬بسازید‬

‫(‪Q)t+1‬‬ ‫(‪Q)t‬‬

‫‪K‬‬ ‫‪1‬‬

‫‪J‬‬ ‫‪0‬‬

‫‪0‬‬

‫(‪Q)t‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪not‬‬

‫‪D‬‬

‫(‪Q)t‬‬ ‫(‪Q)t‬‬

‫‪J‬‬ ‫‪K‬‬

‫‪CLK‬‬

‫‪D‬‬

‫مثال‪: 3‬‬

‫به کمک فلیپ فلپ ‪ T‬یک فلیپ فلپ ‪. JK‬بسازید‬

‫‪T‬‬

‫‪K‬‬

‫‪J‬‬

‫(‪Q)t‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪0‬‬

‫‪5‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪0‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫‪1‬‬

‫(‪Q)t+1‬‬

‫‪JK‬‬ ‫‪10‬‬

‫‪11‬‬

‫‪1‬‬

‫‪1‬‬ ‫‪1‬‬

‫‪01‬‬

‫‪00‬‬

‫(‪Q)t‬‬ ‫‪0‬‬

‫‪1‬‬

‫(‪T = J Q)t( + K Q)t‬‬

‫‪1‬‬

‫مثال ‪:3‬‬ ‫((ادامه‬

‫‪Q‬‬

‫‪J‬‬ ‫‪T‬‬

‫‪Q‬‬

‫‪K‬‬

‫‪CLK‬‬

‫مثال‪4‬‬

‫‪:‬به کمک فلیپ فلپ ‪ D‬یک فلیپ فلپ ‪. JK‬بسازید‬

‫مثال ‪ .n :5‬بیتی را با هم جمع کند‪ ،‬به طوریکه درهرکلک پالس دو بیت داده شود‬ ‫مداری طراحی کنید که دو عدد‬ ‫‪A : a 3 a 2 a 1 a0‬‬ ‫‪B : b 3 b 2 b 1 b0‬‬ ‫‪i‬‬

‫‪C : s3 s 2 s1 s0‬‬

‫‪c‬‬

‫‪si‬‬ ‫(‪Q)t‬‬ ‫(‪Q)t‬‬

‫‪ai‬‬ ‫‪D‬‬

‫‪CLK‬‬

‫‪C‬‬

‫‪F.A.‬‬

‫( ‪) Full Adder‬‬

‫‪bi‬‬

‫روند تجزیه و تحلیل مدارات‬ ‫‪:‬ترتیبی‬ ‫مدار‬ ‫ترتیبی‬

‫‪X=0‬‬ ‫‪State 2‬‬

‫‪X=0‬‬

‫‪X=1‬‬ ‫‪State 1‬‬

‫‪X=1‬‬ ‫‪State 3‬‬

‫‪X=0‬‬

‫‪X=1‬‬

‫توصیف رفتار و عملکرد‬ ‫مدار‬

‫مثال‪: 6‬‬

‫یک شمارنده بالشمار ( با ورودی‪ ) 1‬و پایین شمار ( با ورودی ‪) 0‬‬

‫مشخص کردن حالت ها و ترسیم آن ‪-‬‬ ‫(تعداد فلیپ فلپ ها )‬ ‫تعداد حالت‬

‫‪0‬‬ ‫‪01‬‬ ‫‪0‬‬

‫‪1‬‬ ‫‪1‬‬

‫‪10‬‬

‫‪00‬‬ ‫‪0‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬

‫‪11‬‬

‫= ‪2‬‬

‫‪:‬طراحی مدار های ترتیبی‬ ‫تجزیه و‬ ‫تحلیل‬ ‫طراحی‬

‫مدار‬ ‫جدول حالت‬ ‫‪S.D.‬‬

‫توصیف عملکرد‬ ‫‪S.D.‬‬ ‫(کمینه ( کاهش یافته تعداد حالت‬ ‫‪S.D.‬‬ ‫تخصیص مقدار به حالت‬

‫توصیف عملکرد‬ ‫(جدول حالت ( جدول تحریک‬ ‫ساده سازی کارنا‬

‫مثال‪ : 7‬طراحی یک شمارنده دو بیتی بالشمار ( با ورودی ‪ ) 0‬و پایین شمار ‪Carry‬‬ ‫( با ورودی ‪ ،) 1‬خروجی‬ ‫به کمک فلیپ فلپ های) ‪(JK‬‬

‫‪0/0‬‬ ‫‪01‬‬ ‫‪0/0‬‬

‫( ‪) State Diagram‬‬

‫‪1/0‬‬ ‫‪1/0‬‬

‫‪10‬‬

‫‪00‬‬ ‫‪1/1‬‬

‫‪1/0‬‬ ‫‪0/0‬‬

‫‪11‬‬

‫‪0/1‬‬

‫جدول‬ ‫‪:‬تحریک‬ ‫‪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‬‬

‫مثال ‪ ( : 7‬ادامه‬ ‫(‬ ‫‪ log 4‬تعداد فلیپ فلپ ها ‪:‬‬ ‫‪=2‬‬

‫رسم جدول‬ ‫حالت‬:

Q2)t(

Q1)t(

x

J2

K2

J1

K1

Z

0

0

0

0

1

0

X

1

X

0

0

0

1

1

1

1

X

1

X

1

0

1

0

1

0

1

X

X

1

0

0

1

1

0

0

0

X

X

1

0

1

0

0

1

1

X

0

1

X

0

1

0

1

0

1

X

1

1

X

0

1

1

0

0

0

X

1

X

1

1

1

1

1

1

0

X

0

X

1

0

Q2)t+1( Q1)t+1(

‫جدول‬ ‫کارنا‬: Q1)t( x 00 Q2)t( X 0

01

11

10

X

X

1

1 K2 = Q1)t(

x

01

X

Q1)t( x 00 Q2)t( 0

1

1

X

X

11

10

1

J2 = Q1)t(

1 X

X

x

‘1’

J1 K1

x

J2 K2

Q1)t( Q1)t(

Q2)t( Q2)t(

Z

‫مثال‪ :8‬مداری ترتیبی طراحی کنید که در هر کلک پالس یک بیت هم مرتبه( هم‪a‬‬ ‫ارزش )‪ ،‬از دو عدد مثل‬ ‫و‪ .b‬را دریافت کند و مجموع آنها را در خروجی نمایش دهد‬ ‫ورودی‪)ai, bi 2 :‬‬ ‫)بیت‬ ‫خروجی‪ :‬حاصل‪s i‬‬ ‫جمع‬ ‫حالت‪ :‬رقم ‪C i+1‬‬ ‫نقلی‬ ‫‪10/0‬‬

‫‪00/0‬‬

‫‪01/0‬‬ ‫‪11/0‬‬ ‫‪1‬‬

‫‪0‬‬ ‫‪00/1‬‬

‫‪11/1‬‬

‫‪01/1‬‬

‫‪10/1‬‬

‫مثال ‪ : 9‬مداری ترتیبی طراحی کنید که در هر کلک پالس یک بیت از‪Parity‬زوج‬ ‫ورودی دریافت نموده و‬ ‫را روی بیت دریافت شده در این کلک و بیت دریافت شده در کلک قبل‪ ،‬در‬ ‫‪.‬خروجی نمایش دهد‬ ‫ورودی ‪ 1 :‬بیت‬ ‫خروجی‪ 1:‬بیت ‪p e‬‬ ‫حالت ‪ :‬بیت ما قبل‬

‫‪1/1‬‬

‫‪1/0‬‬ ‫‪1‬‬

‫‪0/0‬‬ ‫‪0‬‬

‫‪0/1‬‬

‫تمرین‬ ‫تمرین ‪ : 1‬مدار ترتیبی طراحی نمایید که در هر کلک پالس یک‪Parity‬زوج را‬ ‫بیت از ‪:‬‬ ‫ورودی گرفته ‪،‬‬ ‫بر روی سه بیت جاری ( این بیت و دو بیت ماقبل ) محاسبه نموده و در خروجی‬ ‫قرار دهد‪.‬‬ ‫تمرین ‪ : 2‬مداری ترتیبی طراحی‪ Parity‬زوج را روی کلیه بیت های ماقبل‬ ‫نمایید که در هر کلک پالس و بیت جاری محاسبه کند‪.‬‬ ‫تمرین ‪ : 3‬مداری ترتیبی طراحی نمایید که در هر کلک پالس دو ‪ Parity‬زوج را‬ ‫بیت از ورودی گرفته‪،‬‬ ‫روی کل بیت های دریافت شده تا این کلک و خود این کلک در خروجی نمایش‬ ‫‪.‬دهد‬

‫کمینه کردن یک ‪:State Diagram‬‬ ‫مثال ‪10‬‬ ‫‪:‬‬ ‫اولین گام ‪State :‬ها بر اساس خروجی ها‬ ‫دسته بندی‬

‫‪0/0‬‬

‫‪0/0‬‬

‫‪a‬‬

‫‪b‬‬ ‫‪1/1‬‬

‫‪0/0‬‬

‫‪1/0‬‬

‫‪0/1‬‬ ‫‪1/0‬‬

‫‪c‬‬

‫‪d‬‬

‫‪e‬‬ ‫‪0/1‬‬ ‫‪1/0‬‬

‫دومین گام‬:

‫خروج‬ ‫ی‬

‫حالت‬ ‫بعدی‬ X=0 X=1

00 a

b

d

01 b

b

10 c

e

01 d 10 e

b

b, d X=0

X=0 X=1

0

0

c

0

1

c

1

0

b

c

0

1

c

e

1

0

c

X=1

b=b

c=c

c, e X=0

e=c

X=1

c=e

‫معادل‬:State Diagram 0/0

0/0

a

b 1/0

1/1

c 1/0 0/1

‫کمینه کردن یک ‪(State Diagram‬ادامه ) ‪:‬‬ ‫مثال ‪11‬‬ ‫‪1/1:‬‬

‫‪0/0‬‬ ‫‪1/0‬‬

‫‪d‬‬

‫‪f‬‬ ‫‪0/1‬‬

‫‪1/1‬‬

‫‪a‬‬

‫‪1/1‬‬ ‫‪0/0‬‬

‫‪1/0‬‬

‫‪c‬‬

‫‪e‬‬ ‫‪1/0‬‬

‫‪1/1‬‬

‫‪b‬‬ ‫‪0/0‬‬

‫‪0/1‬‬

‫‪g‬‬

‫‪0/1‬‬

‫‪0/0‬‬

: 11 ‫مثال‬ ‫(( ادامه‬ ‫حالت‬ ‫بعدی‬ X=0

X=1

‫خروج‬ ‫ی‬ X=0

X=1

1

0

10 a

b

c b

01 b

c b

d

0

1

01 c

c

e

0

1

00 d

d

f

0

0

00 e

e

g

0

0

11 f

g f

f

1

1

11 g

f

g

1

1

b, c X=0

X=1

c=c

d,e X=0

X=1

d=e

f, g X=0

g=f

X=1

f=g

‫معادل‬:State Diagram

0/0 1/1

0/1

a

b

0/1 1/0

d

f

1/0 0/0

1/1

‫مدارها‬ ‫‪:‬‬

‫‪.‬خروجی تابعی از ورودی و حالت است ‪( :‬‬ ‫)میلی ‪mili‬‬ ‫)مور ‪.: )mor‬خروجی تابعی از حالت‪0/0‬است‬ ‫‪0/0‬‬

‫‪b/ 0‬‬

‫‪a/ 0‬‬

‫‪1/0‬‬ ‫‪0/0‬‬ ‫‪1/1‬‬

‫‪c/ 1‬‬

‫‪1/0‬‬

‫تمرین‬ ‫تمرین ‪ : 1‬مداری ترتیبی طراحی کنید که به عنوان یک تشخیص دهنده ی‬ ‫الگو‪: ،‬‬ ‫الگوی بیتی ‪ 1101‬را‬ ‫تشخیص دهد و‪Set‬نماید‪ .‬توجه داشته باشید که در هر کلک پالس یک بیت از‬ ‫به ازای آن خروجی را‬ ‫ورودی دریافت می شود‪.‬‬ ‫تمرین ‪ : 2‬مداری ترتیبی طراحی نمایید که با رشته بیت ورودی برخورد‬ ‫عددی داشته باشد و در صورتی‬ ‫که عدد دریافت شده‪ ،‬مضرب ‪.Set‬کند‪ ،‬در غیر این صورت خروجی صفر باشد‬ ‫شمارنده ای طراحی کنید که به صورت زیر عمل شمارش را‬ ‫تمرین ‪: 3‬‬ ‫خروجی را‬ ‫‪ 5‬بود‪،‬‬ ‫انجام دهد‪ .‬در طراحی این مدار لزم است کلیه اصول ساده سازی برای‬ ‫نظرورودی‬ ‫در بار‬ ‫مانند‪ ،‬دو‬ ‫مرحله‬ ‫حجمهر‬ ‫‪.‬کاهش ‪ 1‬در‬ ‫ورودی‬ ‫بگیرید‬ ‫ترکیبی را‬ ‫مدار‬ ‫‪.‬صفر عمل می کند‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪5‬‬ ‫‪30‬‬ ‫‪25‬‬ ‫‪18‬‬ ‫‪12‬‬ ‫‪0‬‬

‫فصل ‪7‬‬ ‫ثبات ها و شیفت‬ ‫رجیستر‬

‫فهرست مطالب‬ ‫‪ ‬طرح بلوک دیاگرامی ثبات‬ ‫‪ ‬طرح ساده یک ثبات با فیلیپ فلپ ‪D‬‬ ‫‪ ‬طرح یک ثبات با فیلیپ فلپ ‪ Jk‬به پایه ‪Load‬‬ ‫‪ ‬طرح یک ثبات با پایه ‪ Load‬و ‪Clear‬‬ ‫‪ ‬شیفت رجیستربا فیلیپ فلپ ‪D‬‬ ‫‪ ‬شیفت رجیستربا فیلیپ فلپ ‪JK‬‬ ‫‪ ‬شمارنده‬

‫طرح بلوک دیاگرامی ثبات‬

...

...

{

input

}

Clk Increment Load Clear

output

D‫طرح ساده یک ثبات با فیلیپ‬ ‫فلپ‬ Input

Clk D Q’ Q

D

D

D

Q’ Q

Q’ Q

Q’ Q

Output

Load ‫ و پایه‬JK‫طرح یک ثبات با‬

‫فیلیپ فلپ‬ 1 Load 1 I0 1 1 I1

I2

I0 I0’ I1

1

I1’

1

I2

1

I2’

1 I3 1

I3 I3’ Clk

J K

Q Q’

J K

Q Q’

J K

Q Q’

J K

Q Q’

Outpu t

Load 0 Load 0 I0 0 0 I1

I2

‫ و پایه‬JK‫طرح یک ثبات با‬ ‫فیلیپ فلپ‬ 0 0 0

0

0

0

0

0

0

0 I3 0

0 0 Clk

J K

Q Q’

J K

Q Q’

J K

Q Q’

J K

Q Q’

Outpu t

Clear Load

‫ و‬Load ‫طرح یک ثبات با پایه‬ Clear

I0

J K

Q Q’

I1

J K

Q Q’

I2

I3

Clk

J K

Q Q’

J K

Q Q’

Outpu t

‫تمرین‪:‬‬ ‫‪ ‬ثباتی طراحی کنید پایه سومی به نام‬ ‫‪ Increment‬داشته باشد‪.‬‬

D

‫شیفت رجیستربا فیلیپ فلپ‬ Output

Input Clk

D

Q Q’

D

Q Q’

D

Q Q’

D

Q Q’

JK

‫شیفت رجیستربا فیلیپ فلپ‬ Shift

Input

Clk

J K

Q Q’

J K

Q Q’

J K

Q Q’

J K

Q Q’

Outpu t

‫شمارنده‬ ‫‪ ‬سنکرون(هنگام)‪:‬در این نوع تمام واحدهای‬ ‫ترتیبی مداربا یک ‪Clk‬کار می کنند‪.‬‬ ‫‪ ‬آسنکرون(ناهمگام)‪:‬در این نوع هر واحد ‪Clk‬‬ ‫مجزایی دارد‪.‬‬

‫شمارنده‬ ‫‪‬‬

‫‪‬‬

‫منظم‬ ‫‪‬‬

‫بال شمار‬

‫‪‬‬

‫پائین شمار‬

‫نامنظم‬

‫شمارنده ‪ 3‬بیتی‬ ‫بیت‬

‫‪0‬‬

‫‪Q2 Q1 Q0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫)شمارنده ‪ 3‬بیتی (ادامه‬ ‫بیت‬

‫‪1‬‬

‫‪Q2 Q1 Q0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫)شمارنده ‪ 3‬بیتی (ادامه‬ ‫بیت‬

‫‪2‬‬

‫‪Q2 Q1 Q0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬

‫مدار یک شمارنده ‪ 3‬بیتی سنکرون‬ ‫‪Q‬‬ ‫’‪Q‬‬ ‫‪Q‬‬ ‫’‪Q‬‬ ‫‪Q‬‬ ‫’‪Q‬‬

‫‪1‬‬

‫‪J‬‬ ‫‪K‬‬ ‫‪J‬‬ ‫‪K‬‬ ‫‪J‬‬ ‫‪K‬‬ ‫‪Clk‬‬

:‫مثالی از یک ماشین میلی‬ X=0/Z=0

X=1/Z=1

S0

S2

X=1/Z=1

S1 X=1/Z=0

X=0/Z=0

S3 X=0/Z=0

X=1/Z=1

X=0/Z=1

:‫مثالی از یک ماشین میلی‬ X=0/Z=0

X=1/Z=1

S0

S2

X=1/Z=1

S1 X=1/Z=0

X=0/Z=0

S3 X=0/Z=0

X=1/Z=1

X=0/Z=1

Present Next State Output State X=0 X=1 X=0 X=1 S0 S0 S1 0 1 S1 S2 S3

:‫مثالی از یک ماشین میلی‬ X=0/Z=0

X=1/Z=1

S0

S2

X=1/Z=1

S1 X=1/Z=0

X=0/Z=0

S3 X=0/Z=0

X=1/Z=1

X=0/Z=1

Present Next State Output State X=0 X=1 X=0 X=1 S0 S0 S1 0 1 S1 S1 S2 1 1 S2 S3

:‫مثالی از یک ماشین میلی‬ X=0/Z=0

X=1/Z=1

S0

S2

X=1/Z=1

S1 X=1/Z=0

X=0/Z=0

S3 X=0/Z=0

X=1/Z=1

X=0/Z=1

Present Next State Output State X=0 X=1 X=0 X=1 S0 S0 S1 0 1 S1 S1 S2 1 1 S2 S2 S0 0 1 S3

:‫مثالی از یک ماشین میلی‬ X=0/Z=0

X=1/Z=1

S0

S2

X=1/Z=1

S1 X=1/Z=0

X=0/Z=0

S3 X=0/Z=0

X=1/Z=1

X=0/Z=1

Present Next State Output State X=0 X=1 X=0 X=1 S0 S0 S1 0 1 S1 S1 S2 1 1 S2 S2 S0 0 1 S3 S3 S1 0 1

‫مدل عمومی ماشین میلی‬: X1 X2 Xm

•• •

•• • Q1

Q1+

Z1 Z2 Zn D1

Q1

CK

Combinatorial Q2+ Circuit Q2

D2

Q2

CK

Q3

QK+

DK CK

Clock

QK

A More Complex Sequence Detector Design a sequence detector whose output Z is one if the input sequence is 010 or 1001

X= 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 1 0 Z= 0 0 0 1 0 1 0 1 1 0 0 0 1 0 1 0 0

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0 S(0) 1/0 0/1 S(01)

S(010)

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

1/0

S(0)

S(1)

1/0 0/1 S(01)

S(010)

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

1/0

S(0)

S(1) 0/?

1/0

?

0/1 S(01)

S(010)

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

1/0

S(0)

S(1)

1/0

0/0 0/1

S(01)

S(010)

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

1/0

S(0)

S(1)

1/0

0/0 0/1

S(01)

S(10)

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

1/0

S(0)

S(1)

1/0

0/0 0/1

S(01)

S(10)

?

1/?

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

1/0

S(0)

S(1)

1/0

0/0 0/1

S(01)

S(10) 1/0

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

1/0

S(0)

S(1)

1/0

0/0 0/1

S(01)

S(10) 1/0

?

0/?

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

1/0

S(0)

S(1)

1/0

0/0 0/1

S(01)

S(10) 1/0 0/0 S(100)

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

1/0

S(0)

S(1)

1/0

0/0 0/1

S(01)

S(10) 1/0

?

0/0

1/? S(100)

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

1/0

S(0)

S(1)

1/0

0/0 0/1

S(01)

S(10) 1/0 0/0

1/1 S(100)

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

1/0

S(0)

S(1)

1/0

0/0 0/1

S(01)

S(10) 1/0

?

0/0

1/1 0/?

S(100)

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

1/0

S(0)

S(1)

1/0

0/0 0/1

0/0

S(01)

S(10) 1/0 0/0

1/1 S(100)

Mealy Sequence Detector Target Sequences: 010 1001

S(-)

?

0/0

1/0

0/? S(0)

S(1)

1/0

0/0 0/1

0/0

S(01)

S(10) 1/0 0/0

1/1 S(100)

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

0/0

1/0

S(0)

S(1)

1/0

0/0 0/1

0/0

S(01)

S(10) 1/0 0/0

1/1 S(100)

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

0/0

1/0

S(0) 1/0 1/?

S(1)

?

0/0

0/1 0/0

S(01)

S(10) 1/0 0/0

1/1 S(100)

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

0/0

1/0

S(0)

S(1) 1/0

1/0

0/0

0/1 0/0

S(01)

S(10) 1/0 0/0

1/1 S(100)

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

0/0

1/0 1/?

S(0)

S(1) 1/0

1/0

0/0

0/1 0/0

S(01)

S(10) 1/0 0/0

1/1 S(100)

?

Mealy Sequence Detector Target Sequences: 010 1001

S(-) 0/0

0/0

1/0

S(0)

S(1) 1/0

1/0

1/0

0/0

0/1 0/0

S(01)

S(10) 1/0 0/0

1/1 S(100)

Mealy Sequence Detector Target Sequences: 010 1001 S(-) 0/0

0/0

1/0

S(0)

S(1) 1/0

1/0

1/0

0/0

0/1 0/0

S(01)

S(10) 1/0 0/0

1/1 S(100)

Present Next State Output State X=0 X=1 X=0 X=1 S(-) S(0) S(1) 0 0 S(0) S(0) S(01) 0 0 S(1) S(10) S(1) 0 0 S(01) S(10) S(1) 1 0 S(10) S(100) S(01) 0 0 S(100) S(0) S(01) 0 1

Mealy Sequence Detector Present State S(-) S(0) S(1) S(01) S(10) S(100)

Next State X=0 X=1 S(0) S(1) S(0) S(01) S(10) S(1) S(10) S(1) S(100) S(01) S(0) S(01)

Output X=0 X=1 0 0 0 0 0 0 1 0 0 0 0 1

State

Code Q2Q1Q0 S(-) 000 S(0) 001 S(1) 010 S(01) 011 S(10) 100 S(100) 101

Mealy Sequence Detector Present State 000 S(0) S(1) S(01) S(10) S(100)

Next State X=0 X=1 S(0) S(1) S(0) S(01) S(10) S(1) S(10) S(1) S(100) S(01) S(0) S(01)

Output X=0 X=1 0 0 0 0 0 0 1 0 0 0 0 1

State

Code Q2Q1Q0 S(-) 000 S(0) 001 S(1) 010 S(01) 011 S(10) 100 S(100) 101

Mealy Sequence Detector Present State 000 001 S(1) S(01) S(10) S(100)

Next State X=0 X=1 001 S(1) 001 S(01) S(10) S(1) S(10) S(1) S(100) S(01) 001 S(01)

Output X=0 X=1 0 0 0 0 0 0 1 0 0 0 0 1

State

Code Q2Q1Q0 S(-) 000 S(0) 001 S(1) 010 S(01) 011 S(10) 100 S(100) 101

Mealy Sequence Detector Present State 000 001 010 S(01) S(10) S(100)

Next State X=0 X=1 001 010 001 S(01) S(10) 010 S(10) 010 S(100) S(01) 001 S(01)

Output X=0 X=1 0 0 0 0 0 0 1 0 0 0 0 1

State

Code Q2Q1Q0 S(-) 000 S(0) 001 S(1) 010 S(01) 011 S(10) 100 S(100) 101

Mealy Sequence Detector Present State 000 001 010 011 S(10) S(100)

Next State X=0 X=1 001 010 001 011 S(10) 010 S(10) 010 S(100) 011 001 011

Output X=0 X=1 0 0 0 0 0 0 1 0 0 0 0 1

State

Code Q2Q1Q0 S(-) 000 S(0) 001 S(1) 010 S(01) 011 S(10) 100 S(100) 101

Mealy Sequence Detector Present Next State Output State X=0 X=1 X=0 X=1 Q2Q1Q0 Q2+Q1+Q0+ Q2+Q1+Q0+ 000 001 010 0 0 001 001 011 0 0 010 100 010 0 0 Q2 011 100 010 1 0 100 101 011 0 0 101 001 011 0 1

X

Q0

Q1

Which Karnaugh map cells are don’t cares?

Mealy Sequence Detector Present Next State Output State X=0 X=1 X=0 X=1 Q2Q1Q0 Q2+Q1+Q0+ Q2+Q1+Q0+ 000 001 010 0 0 001 001 011 0 0 010 100 010 0 0 Q2 011 100 010 1 0 100 101 011 0 0 101 001 011 0 1 D2 =

X 1 1

1

X

X

X

X Q1

Q0

Mealy Sequence Detector X

Present Next State Output State X=0 X=1 X=0 X=1 + + + + + + Q2Q1Q0 Q2 Q1 Q0 Q2 Q1 Q0 000 001 010 0 0 001 001 011 0 0 010 100 010 0 0 Q2 011 100 010 1 0 100 101 011 0 0 101 001 011 0 1

1 1

1

X

X

X

X Q1

D2 = Q1X’ + Q2Q0’X’

Q0

Mealy Sequence Detector Present Next State Output State X=0 X=1 X=0 X=1 Q2Q1Q0 Q2+Q1+Q0+ Q2+Q1+Q0+ 000 001 010 0 0 001 001 011 0 0 010 100 010 0 0 Q 2 011 100 010 1 0 100 101 011 0 0 101 001 011 0 1

X 1

1

1

1

X

X

1

X

X

1

Q1

D1 =

Q0

Mealy Sequence Detector X

Present Next State Output State X=0 X=1 X=0 X=1 + + + + + + Q2Q1Q0 Q2 Q1 Q0 Q2 Q1 Q0 000 001 010 0 0 001 001 011 0 0 Q 2 010 100 010 0 0 011 100 010 1 0 100 101 011 0 0 101 001 011 0 1

1

1

1

1

X

X

1

X

X

1

Q1

D1 = X

Q0

Mealy Sequence Detector X

Present Next State Output State X=0 X=1 X=0 X=1 + + + + + + Q2Q1Q0 Q2 Q1 Q0 Q2 Q1 Q0 000 001 010 0 0 001 001 011 0 0 Q 2 010 100 010 0 0 011 100 010 1 0 100 101 011 0 0 101 001 011 0 1 D0 =

1 1

1

1

X

X

1

1

X

X

1

Q1

Q0

Mealy Sequence Detector Present Next State Output State X=0 X=1 X=0 X=1 Q2Q1Q0 Q2+Q1+Q0+ Q2+Q1+Q0+ 000 001 010 0 0 001 001 011 0 0 010 100 010 0 0 Q2 011 100 010 1 0 100 101 011 0 0 101 001 011 0 1

X 1 1

1

1

X

X

1

1

X

X

1

Q0

Q1

D0 = Q2 + Q1’X’ + Q1’Q0

Mealy Sequence Detector X

Present Next State Output State X=0 X=1 X=0 X=1 + + + + + + Q2Q1Q0 Q2 Q1 Q0 Q2 Q1 Q0 000 001 010 0 0 001 001 011 0 0 010 100 010 0 0 011 100 010 1 0 100 101 011 0 0 101 001 011 0 1

1 Q2

X

X

X

X Q1

Z=

1

Q0

Mealy Sequence Detector X

Present Next State Output State X=0 X=1 X=0 X=1 + + + + + + Q2Q1Q0 Q2 Q1 Q0 Q2 Q1 Q0 000 001 010 0 0 001 001 011 0 0 Q2 010 100 010 0 0 011 100 010 1 0 100 101 011 0 0 101 001 011 0 1

1 X

X

X

X

1

Q1

Z = Q1Q0X’ + Q2Q0X

Q0

Mealy Sequence Detector Design Verification Present Next State Output State X=0 X=1 X=0 X=1 Q2Q1Q0 Q2+Q1+Q0+ Q2+Q1+Q0+ 000 001 010 0 0 001 001 011 0 0 010 100 010 0 0 011 100 010 1 0 100 101 011 0 0 101 001 011 0 1 110 ??? ??? ? ? 111 ??? ??? ? ?

D0 = Q2 + Q1’X’ + Q1’Q0 D1 = X D2 = Q1X’ + Q2Q0’X’ Z = Q1Q0X’ + Q2Q0X

Mealy Sequence Detector Design Verification Present Next State Output State X=0 X=1 X=0 X=1 Q2Q1Q0 Q2+Q1+Q0+ Q2+Q1+Q0+ 000 001 010 0 0 001 001 011 0 0 010 100 010 0 0 011 100 010 1 0 100 101 011 0 0 101 001 011 0 1 110 1?? 0?? ? ? 111 1?? 0?? ? ?

D0 = Q2 + Q1’X’ + Q1’Q0 D1 = X D2 = Q1X’ + Q2Q0’X’ X = Q1Q0X’ + Q2Q0X X 1 1 Q2

1

X

X

X

X Q1

Q0

Mealy Sequence Detector Design Verification Present Next State Output State X=0 X=1 X=0 X=1 Q2Q1Q0 Q2+Q1+Q0+ Q2+Q1+Q0+ 000 001 010 0 0 001 001 011 0 0 010 100 010 0 0 011 100 010 1 0 100 101 011 0 0 101 001 011 0 1 110 10? 01? ? ? 111 10? 01? ? ?

D0 = Q2 + Q1’X’ + Q1’Q0 D1 = X D2 = Q1X’ + Q2Q0’X’ X = Q1Q0X’ + Q2Q0X X

Q2

1

1

1

1

X

X

1

X

X

1

Q1

Q0

Mealy Sequence Detector Design Verification Present Next State Output State X=0 X=1 X=0 X=1 Q2Q1Q0 Q2+Q1+Q0+ Q2+Q1+Q0+ 000 001 010 0 0 001 001 011 0 0 010 100 010 0 0 011 100 010 1 0 100 101 011 0 0 101 001 011 0 1 110 101 011 ? ? 111 101 011 ? ?

D0 = Q2 + Q1’X’ + Q1’Q0 D1 = X D2 = Q1X’ + Q2Q0’X’ X = Q1Q0X’ + Q2Q0X X 1 1 Q2

1

1

X

X

1

1

X

X

1

Q1

Q0

Mealy Sequence Detector Design Verification Present Next State Output State X=0 X=1 X=0 X=1 Q2Q1Q0 Q2+Q1+Q0+ Q2+Q1+Q0+ 000 001 010 0 0 001 001 011 0 0 010 100 010 0 0 011 100 010 1 0 100 101 011 0 0 101 001 011 0 1 110 101 011 0 0 111 101 011 1 1 Q2

D0 = Q2 + Q1’X’ + Q1’Q0 D1 = X D2 = Q1X’ + Q2Q0’X’ X = Q1Q0X’ + Q2Q0X X

1 X

X

X

X Q1

1

Q0

Related Documents

Madarhay Manteghi
November 2019 0
Gate Haye Manteghi
October 2019 3