500 likes | 861 Views
مدار منطقي محمد لآلي WWW.Laali.ir LaaliTMU@Gmail.com. ساختار درس و نحوه نمره دهي. کتاب : Digital Design, موريس مانو حل تمرين : -- تمرين: 2 ميان ترم: 6 امتحان نهايي: 12 نمره اضافي!!. منابع اضافی. مراجع و منابع درسي: 1) طراحي ديجيتال(مدار منطقي)، تاليف: موريس مانو
E N D
مدار منطقي محمد لآلي WWW.Laali.ir LaaliTMU@Gmail.com
ساختار درس و نحوه نمره دهي کتاب: Digital Design, موريس مانو حل تمرين: -- تمرين: 2 ميان ترم: 6 امتحان نهايي: 12 نمره اضافي!!
منابع اضافی • مراجع و منابع درسي: • 1) طراحي ديجيتال(مدار منطقي)، تاليف: موريس مانو • 2)تحليل و طراحي مدارهاي منطقي ديجيتال، تاليف: ويكتور پ. نلسون • 3) مدار منطقي، تاليف: هادي يوسفي • 4)Fundamentals of Digital Logic and Microcomputer Design, Rafiquzzaman • نرم افزار: • 1) OrCADver 9.2 • 2) Proeus 6.9 S.P.2 • 3) ModelSim
فهرست مطالب درس مدار منطقي • سيستم دودويي • جبر بولي • And, or , nor , nand • ساده سازی • جدول کارنو • مدارات ترکيبي • جمع کننده، ضرب کننده، تفريق گر • تسهيم کننده، de-multiplexer • مقايسه گر • Decoder Encoder • مدارهاي ترتيبي همزمان • فليپ فلاپ • رجيستر • حافظه • شمارنده • مدارهاي ترتيبي غير همزمان VHDL
ديجيتال در مقابل آنالوگ • يک سيستم آنالوگ داراي محدوده پيوسته اي از مقادير است. مثل: • دما سنج جيوه اي • چشم انسان • ضبط صوت • يک سيستم ديجيتالي يک مجموعه ناپيوسته از مقادير دارد: • دماسنج ديجيتالي • CD • دوربين ديجيتالي
مزاياي سيستمهاي ديجيتالي • مدارهاي الکترونيکي ارزان • تنطيم و کاليبراسيون آسان • نويز کمتر و مقاومت در برابر نويز سيگنال ديجيتال سيگنال آنالوگ
سيستم دودويي • عناصر ناپيوسته اطلاعات توسط بيتهايي که کد دودويي ناميده مي شود نمايش داده مي شوند. مثال: • (09)10 = (1001)2 • (15)10 = (1111)2
مبنای 10 Weights: MSD LSD مرور سيستم دهدهي • پايه 10 است و ارقام 0، 1، ... 9 مي باشند. • براي اعداد بزرگتر از 9، يک رقم با اهميت تر به سمت چپ اضافه کنيد. مثلا: 19>9 • هر محل داراي يک وزن است: • به عنوان مثال عدد 1936.25را مي توان به صورت زير نمايش داد:
سيستم عدد نويسي دودويي Weights: MSB LSB سيستم عدد نويسي دودويي • پايه 2 است و ارقام 0، 1هستند. • براي اعداد بزرگتر از 1، يک رقم با اهميت تر به سمت چپ اضافه کنيد. مثلا: 10>1 • هر محل داراي يک وزن است: • به عنوان مثال عدد 10111.01را مي توان به صورت زير محاسبه کرد:
سيستم عدد نويسي دودويي • (110000.0111)2 = ( ? )10 • جواب: 48.4375 در دنياي کامپيوتر: • 210=1024 با K (کيلو) نشان داده مي شود. • 220=1048576 با M (مگا) نشان داده مي شود. • 230= گيگا (G) • 240 = ترا (T) • چه تعداد بيت در يک حافظه 16GByte وجود دارد؟
مبناهاي 8 و 16 • مبناي 8 • پايه 8 است و رقمها 0, 1, 2, 3, 4, 5, 6, 7هستند • (236.4)8 = (158.5)10 • مبناي 16 • پايه 16 است و رقمهاي 0, 1, 2, 3, 4, 5, 6, 7, 8, 9از سيستم دهديي قرض گرفته شده اند و از A, B, C, D, E, F به ترتيب براي نمايش رقمهاي 10، 11، 12، 13، 14، 15 استفاده مي گردد. • (D63FA)16 = (877562)10
تبديل از دهدهي به دودويي • معادل دودويي عدد 37 را پيدا کنيد. 1 = 18 + 0.5 LSB 0 = 9 + 0 1 = 4 + 0.5 0 = 2 + 0 0 = 1 + 0 MSB 1 = 0 + 0.5 ? جواب:
تبديل از دهدهي به دودويي تبديل اعداد اعشاري: • معادل دودويي (0.8542)10را تا شش رقم دقت پيدا کنيد. 0.8542 x 2 = 1 + 0.7084 a-1 = 1 0.7084 x 2 = 1 + 0.4168 a-2 = 1 0.4168 x 2 = 0 + 0.8336 a-3 = 0 0.8336 x 2 = 1 + 0.6672 a-4 = 1 0.6672 x 2 = 1 + 0.3344 a-5 = 1 0.3344 x 2 = 0 + 0.6688 a-6 = 0 (53.8542)10 = ( ? )2
تبديل از دهدهي به مبناي 8 • عدد را بر 8 تقسيم کنيد. باقيمانده تقسيم کم ارزشترين بيت است. • سپس خارج قسمت را بر 8 تقسيم کنيد. باقيمانده بيت کم ارزش بعدي است. • اين کار را تا وقتي که خارج قسمت از 8 بزرگتر است ادامه دهيد. عدد 1122 را به مبناي 8 ببريد: LSB MSB
تبديل از دهدهي به مبناي 8 • عدد (0.3152)10را به مبناي 8 ببريد. (با چهار رقم دقت) 0.3152 x 8 = 2 + 0.5216 a-1 = 2 0.5216 x 8 = 4 + 0.1728 a-2 = 4 0.1728 x 8 = 1 + 0.3824 a-3 = 1 0.3824 x 8 = 3 + 0.0592 a-4 = 3 (1122.3152)10 = ( ? )8
جدول تبديل 00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 Octal
استفاده از جدول تبديل • تبديل از و به مبناهاي 2 و 8 و 16 در دنياي ديجيتال مهم هستند. • چون 23=8 و 24=16 هر رقم در مبناي 8 معادل سه بيت باينري و هر رقم مبناي 16 معادل 4 بيت باينري است. • (010 111 100 . 001 011 000)2 = (274.130)8 • (0110 1111 1101 . 0001 0011 0100)2 = (6FD.134)16 from table
مکمل گيري اعداد دهدهي مکمل 9 و مکمل 10 مکمل 1 و مکمل 2 اعداد باينري • در کامپيوترهاي ديجيتالي از تکنيک مکمل گيري براي انجام عمل تفريق استفاده مي کنند. • براي پيدا کردن مکمل 1 يک عدد باينري تمام 0 ها را يک و تمام 1 ها را به 0 تبديل کنيد. • براي پيدا کردن مکمل 2 ، مکمل 1 را با 1 جمع کنيد. • يک راه ديگر اين است که اولين 1 را از سمت راست پيدا کرده و تمام ارقام بعد از آن را معکوس کنيد. • مکمل 9 عدد دهدهي N برابر است با :(10n-1) –N • مکمل 10 عدد دهدهي N برابر است با:10n – N • مکمل 1 عدد باينريN برابر است با :(2n-1) – N • مکمل 2 عدد باينري N برابر است با:2n – N
مکمل • مکمل 9 عدد 12345 : (105– 1) – 12345 = 87654 • مکمل 9 عدد 012345 : (106 – 1) – 012345 = 987654 • مکمل 10 عدد 739821: 106– 739821 = 260179 • مکمل 10 عدد 2500: 104 – 2500 = 7500 • مکمل 9 و 10 عدد 000 000 00 را پيدا کنيد: جواب: 99999999 و 00000000
مکمل 1 و مکمل 2 • مکمل 1 عدد 1101011 برابر است با 0010100 • مکمل 2 عدد0110111 برابر است با 1001001 • مکمل 1 و 2 عدد 10000000 را پيدا کنيد: جواب:01111111و 10000000
استفاده از مکمل گيري براي تفريق • تفريق دو عدد n رقمي و بدون علامت (M-N) در مبناي r • Mرا با مکمل r عدد Nجمع کنيد: M + (rn – N) • اگرM≥N نتيجه جمع داراي رقم نقلي خواهد بود که از آن صرفنظر مي کنيم. • اگر M≤Nنتيجه جمع داراي رقم نقلي نخواهد بود و نتيجه منفي است. لذا عدد را دوباره به فرم ممکل r تبديل کنيد تا متوجه شويد که نتيجه حاصله، منفي چه عددي است.
استفاده از مکمل گيري براي تفريق • انجام تفريق 150 – 2100 با استفاده از مکمل 10 M = 150 مکمل 10 N = 7900 Sum = 8050 There’s no end carry negative Answer: – (10’s complement of 8050) = – 1950 • انجام تفريق 7188 – 3049 با استفاده از مکمل 10 M = 7188 10’s complement of N = + 6951 Sum = 14139 Discard end carry 104 = – 10000 Answer = 4139
استفاده از مکمل گيري براي تفريق تفريق باينري هم به همين صورت انجام مي گردد: • تفريق1010100 – 1000011را با استفاده از مکمل 2 • تفريق1000011 – 1010100 را با استفاده از مکمل 2 انجام دهيد: A = 1010100 2’s complement of B = + 0111101 Sum = 10010001 end carry Discard end carry = – 10000000 Answer = 0010001 جواب = – 0010001
اعداد دودويي علامت دار • يک راه ديگر براي نمايش اعداد منفي استفاده از بيت علامت است. • اين بيت سمت چپ ترين بيت است و اگر يک باشد عدد منفي و در غير اين صورت عدد مثبت است. 9 (unsigned binary) 01001 +9 (signed binary) 25 (unsigned binary) 11001 – 9 (signed binary)
جمع حسابي • اعداد منفي را ابتدا به فرم ممکل دو تبديل کنيد و جمع را انجام دهيد. اگر نتيجه منفي بود، عدد را دوباره به فرم ممکل دو تبديل کنيد تا متوجه شويد که نتيجه ، منفي چه عددي است. –6 11111010 +13 00001101 +7 00000111 + 6 00000110 +13 00001101 +19 00010011 Add –6 and –13 Answer = 11101101
نمايش داخلي و خارجي Another Computer External Representation External Representation Internal Representation Human CPU Memory External Representation Device نمايش داخلي و خارجي
نمايش خارجي • اعداد • اتوسط محاسباتي كه بر روي آنان انجام مي گيرد تغيير پيدا مي كند. • نمايش داخلي: كارآمدي انجام محاسبات. • نمايش خارجی: جهت نمايش • حروف الفبا،علائم و برخي اعداد • عناصر اين داده ها توسط هيچ پردازشي تغيير پيدا نمي كنند. • نمايش داخلي : نيازي به نمايش داخلي ندارند، • نمايش خارجي : پردازش و ارائه در فرمت های نمایشی
نمايش خارجي مثال:اعداد دهدهي • نمايش به صورت يك كد باينري دودوئي. • نمايش بصورت BCD( Binary Coded Decimal) Decimal BCD Code 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001
جمع BCD مثال 8 1000 Eight +5 +0101 Plus 5 13 1101 is 13 (> 9) نتیجه غلط است و باید اصلاح گردد 8 1000 Eight +5 +0101 Plus 5 13 1101 is 13 (> 9) +0110 so add 6 carry = 1 0011 leaving 3 + cy 0001 | 0011 Final answer (two digits) قانون1 : اگر نتیجه بزرگ تر از 9 بود، باید مقدار 6 به حاصل اضافه شود قانون 2: اگر نتیجه از 15 بزرگتر شود، باز هم باید مقدار 6 به حاصل اضافه شود
مثال: جمع BCD • Add 2905BCD to1897BCD 0001 1000 1001 0111 + 0010100100000101
انواع كدهاي دسيمال • 8,4,2,-2,1,-1هر كدام وزن هايي هستند كه به هر بيت اختصاص پيدا كرده اند. Decimal BCD(8421) 2421 84-2-1Excess-3 0 0000 0000 0000 0011 1 0001 0001 0111 0100 2 0010 0010 0110 0101 3 0011 0011 0101 0110 4 0100 0100 0100 0111 5 0101 1011 1011 1000 6 0110 1100 1010 1001 7 0111 1101 1001 1010 8 1000 1110 1000 1011 9 1001 1111 1111 1100
كد گري • يكي از خصيصه هاي كد گري اينست كه دو كد متوالي آن تنها در يك بيت با يكديگر تفاوت دارند. • خصيصة فوق در بعضي مواقع كاربرد دارد. Gray Binary g3 g2 g1 g0 b3 b2 b1 b0 Decimal number 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 2 0 0 1 1 0 0 1 0 3 0 0 1 0 0 0 1 1 4 0 1 1 0 0 1 0 0 5 0 1 1 1 0 1 0 1 6 0 1 0 1 0 1 1 0 7 0 1 0 0 0 1 1 1 8 1 1 0 0 1 0 0 0 9 1 1 0 1 1 0 0 1 10 1 1 1 1 1 0 1 0 11 1 1 1 0 1 0 1 1 12 1 0 1 0 1 1 0 0 13 1 0 1 1 1 1 0 1 14 1 0 0 1 1 1 1 0 15 1 0 0 0 1 1 1 1 كد گري 4-بيتي
تحليل كد گري • فرض كنيد بيت هاي gngn-1...g1g0نمايش دهندة يك كد گري براي عدد باينري bnbn-1…b1b0باشند. Reflection of Gray codes 0 0 0 0 00 0 000 1 0 1 0 01 0 001 1 1 0 11 0 011 1 0 0 10 0 010 1 10 0 110 1 11 0 111 1 01 0 101 1 00 0 100 1 100 1 101 1 111 1 010 1 011 1 001 1 101 1 000
نمايش كاراكترها بوسيلة كدASCII ASCII (American Standard Code for Information Interchange) Code MSB (3 bits) 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 A B C D E F NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US SP ! “ # $ % & ‘ ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] m n ‘ a b c d e f g h I j k l m n o P q r s t u v w x y z { | } ~ DEL LSB (4 bits)
نمايش كاراكترهاي كنترلي توسط كد ASCII DC1 Device Control 1 DC2 Device Control 2 DC3 Device Control 3 DC4 Device Control 4 NAK Negative Acknowledge (CC) SYN Synchronous Idle (CC) ETB End of Transmission Block (CC) CAN Cancel EM End of Medium SUB Substitute ESC Escape FS File Separator (IS) GS Group Separator (IS) RS Record Separator (IS) US Unit Separator (IS) DEL Delete NUL Null SOH Start of Heading (CC) STX Start of Text (CC) ETX End of Text (CC) EOT End of Transmission (CC) ENQ Enquiry (CC) ACK Acknowledge (CC) BEL Bell BS Backspace (FE) HT Horizontal Tab. (FE) LF Line Feed (FE) VT Vertical Tab. (FE) FF Form Feed (FE) CR Carriage Return (FE) SO Shift Out SI Shift In DLE Data Link Escape (CC) . (CC) Communication Control (FE) Format Effector (IS) Information Separator
كدهاي تشخيص خطا • سيستم توازن: • سادهترين روش براي تشخيص خطا. • يك بيت توازن به اطلاعات اضافه مي گردد. • دو نوع توازن وجود دارد،توازن زوج و توازن فرد. • توازن زوج: • يك بيت به اطلاعات اضافه ميشود بنابراين تعداد كل 1هاي كد زوج است. 1011001 0 1010010 1
كدهاي تشخيص خطا • توازن فرد: • يك بيت به اطلاعات اضافه ميشود.بنابراين تعداد كل بيتها فرد است. 1011001 1 1010010 0
گیت های لاجیک • علائم • نمایش به شکل موج
تمرين • فصل اول • 10, 11, 13, 17, 18, 22, 23, 24 , 36 • تحويل 1اسفند