====== PGT104 - Digital Electronics ====== This course is //Digital Electronics//, offered by the Department of Electronics Engineering Technology. The textbook for this course is [[http://www.pearsonglobaleditions.com/Sitemap/Floyd/|Floyd's Digital Fundamentals]] (11th Edition at the moment). Try [[http://azman.unimap.edu.my/digitaljs/|my1digitaljs]] - a Basic Digital Electronics Simulator (notice, NOT logic simulator :p) that I have developed for PGT104. Based on [[https://github.com/kazuhikoarase/simcirjs|SimCirJS]], the source is available [[https://codeberg.org/azman/my1digitaljs|here]]. Some video guides are available [[https://www.youtube.com/playlist?list=PLKQoMxsWIO1yo5wpR6E9F2_chxlBuBrPK|on Youtube]] //**Please note that this is a continuously updated site. Check the timestamps/dates (if any) to make sure that the information is applicable to current course implementation. Some information are from the previous ones.**// ===== Announcements ===== [20190130] Welcome to PGT104 Academic Session 2018/19 S2! [20190226] Tentative date for Mid-Term is 21/03/2019 (THU)! [20190307] Mid-Term Exam set on 19/03/2019 (TUE) @9.00pm ===== Lecture Slides ===== //Applicable for Academic Session 2018/2019 Semester 2// * Lecture Part 0 - {{:archive:pgt104:lecture_00.pdf|Course Introduction}} * Lecture Part 1 - {{:archive:pgt104:lecture_01.pdf|Introduction to Number Systems}} * Lecture Part 2 - {{:archive:pgt104:lecture_02.pdf|Logic Gates}} * Lecture Part 3 - {{:archive:pgt104:lecture_03.pdf|Boolean Algebra}} * Lecture Part 4 - {{:archive:pgt104:lecture_04.pdf|Combinational Logic Circuits}} * Lecture Part 5 - {{:archive:pgt104:lecture_05.pdf|Latches, Flip-flop and Timers}} * Lecture Part 6 - {{:archive:pgt104:lecture_06.pdf|Sequential Logic Circuits}} //**Note**: Textbook coverage is as follows...// ^ Topic ^ Chapter ^ Sections ^ | 1 | 2 | (2.1)-(2.10) | | 2 | 3 | (3.1)-(3.6) | | 3 | 4 | (4.1)-(4.8) | | 4 | 6 | (6.1)-(6.9) | | 5 | 7 | (7.1)-(7.6) | | 6 | 8-9 | (8.1)-(8.4), (9.2)-(9.3) | ===== Lab Notes ===== * Lab Work 1 - [[pgt104lab00|Basic Equipment/Components]] ([[pgt104lab00a|Part 1]],[[pgt104lab00b|Part 2]]) * Lab Work 2 - [[pgt104lab01|Combinational Logic Circuits]] ([[pgt104lab01a|Part 1]],[[pgt104lab01b|Part 2]],[[pgt104lab01c|Part 3]]) * Lab Work 3 - [[pgt104lab02|Sequential Logic Circuits]] ([[pgt104lab02a|Part 1]], [[pgt104lab02b|Part 2]], [[pgt104lab02c|Part 3]]) * Lab Work 4 - (Free sessions) Shift registers and counters (theory to practical) ===== Assignments ===== * {{:archive:pgt104:pgt104-201819s2_assignment1.pdf|Assignment 1}} * Please attach this page (with your name and student ID) in front of your answer sheets. * **Due: 14/03/2019 (THU-W6-Lecture Session)**. * {{:archive:pgt104:pgt104-201819s2_assignment2.pdf|Assignment 2}} * Please attach this page (with your name and student ID) in front of your answer sheets. * **Due: 09/05/2019 (THU-W13-MY_ROOM@[S4-L1-70]-12PM)**. ===== Course Synopsis ===== //Note: Written by the course coordinator when first offered// //Introduction and discussion of fundamental of digital circuit design and analysis. The lecture and tutorial exercise covers the following topics: Boolean Algebra, Numbering System, Basic Logic Gates, Combinational Circuit Design, Timing Diagram, Bi-Stable Memory Device and Sequential Circuit Design.// ===== Course Outcome ===== //Note: These have been slightly re-written from the original/previous session// * CO1: Ability to describe numbering systems and boolean algebra * CO2: Ability to analyze Boolean expressions and logic circuits for a simple digital system * CO3: Ability to design combinational or sequential logic circuits for a simple digital system ===== Course Assessment ===== ^ ^ Examinations ^^ Course Work ^^ ^ Total Contribution | 60% || 40% || ^ Assessment | Mid-Term | Final Exam | Assignments | Lab Assessments | ^ Contribution | 10% | 50% | 10% | 30% | ===== Course Syllabus ===== ^ Week ^ Lecture ^ Laboratory ^ Notes ^ ^ Week 01 | * Course Introduction ({{:archive:pgt104:lecture_00.pdf|Lecture 00}}) * introduction to digital electronics * Introduction to Numbering Systems ({{:archive:pgt104:lecture_01.pdf|Lecture 01}}) * decimal numbers, binary numbers * conversions, binary arithmetic * value and representation * hexadecimal and octal numbers * binary-coded decimal | Lab Work 1 | Textbook: Chapter 2 | ^ Week 02 | * Logic Gates ({{:archive:pgt104:lecture_02.pdf|Lecture 02}}) * Boolean Logic, Inverter * (N)AND, (N)OR, X(N)OR gates | Lab Work 1 (cont.) | Textbook: Chapter 3 | ^ Week 03 | * Boolean Algebra ({{:archive:pgt104:lecture_03.pdf|Lecture 03}}) * Boolean operations and expressions * DeMorgan's Theorems * logic simplification | Lab Work 2 | Textbook: Chapter 4 **Assignment 1 Queue** | ^ Week 04 | * Boolean Algebra (cont.) ({{:archive:pgt104:lecture_03.pdf|Lecture 03}}) * standard forms: SOP, POS * truth table and Karnaugh Map | Lab Work 2 (cont.) | Textbook: Chapter 4 | ^ Week 05 | * Boolean Algebra (cont.) ({{:archive:pgt104:lecture_03.pdf|Lecture 03}}) * practical problems & solutions | Lab Work 2 (cont.) | Textbook: Chapter 4 **Assignment 1 Due (5%)** | ^ Week 06 | * Combinational Logic Circuits ({{:archive:pgt104:lecture_04.pdf|Lecture 04}}) * half & full adders * carry circuits * comparators | Lab Work 2 (cont.) | Textbook: Chapter 6 **Lab Assessment 1 (10%)** | ^ Week 07 | * Combinational Logic Circuits (cont.) ({{:archive:pgt104:lecture_04.pdf|Lecture 04}}) * decoders, encoders * multiplexer, demultiplexer | Lab Work 2 (cont.) | Textbook: Chapter 6 **Mid-term Examination (10%)** | ^ Week 08 | * Combinational Logic Circuits (cont.) ({{:archive:pgt104:lecture_04.pdf|Lecture 04}}) * applications in digital systems | Lab Work 2 (cont.) | Textbook: Chapter 6 | ^ Week 09 | * Latches, Flip-flops, and Timers ({{:archive:pgt104:lecture_05.pdf|Lecture 05}}) * latches & flip-flops | Lab Work 3 | Textbook: Chapter 7 **Assignment 2 Queue** | ^ Week 10 | * Latches, Flip-flops, and Timers (cont.) ({{:archive:pgt104:lecture_05.pdf|Lecture 05}}) * one-shots and oscillators | Lab Work 3 (cont.) | Textbook: Chapter 7 **Lab Assessment 2 (10%)** | ^ Week 11 | * Latches, Flip-flops, and Timers (cont.) ({{:archive:pgt104:lecture_05.pdf|Lecture 05}}) * applications in digital systems | Lab Work 3 (cont.) | Textbook: Chapter 7 **Assignment 2 Due (5%)** | ^ Week 12 | * Sequential Logic Circuits ({{:archive:pgt104:lecture_06.pdf|Lecture 06}}) * shift registers (load, shift left, shift right) | Lab Work 3 (cont.) | Textbook: Chapter 8-9 | ^ Week 13 | * Sequential Logic Circuits (cont.) ({{:archive:pgt104:lecture_06.pdf|Lecture 06}}) * counters (asynchronous, synchronous) | Lab Work 3 (cont.) | Textbook: Chapter 8-9 | ^ Week 14 | * Sequential Logic Circuits (cont.) ({{:archive:pgt104:lecture_06.pdf|Lecture 06}}) * applications in digital systems | Lab Work 3 (cont.) | Textbook: Chapter 8-9 **Lab Assessment 3 (10%)** | ===== Once Upon a Time in PGT104 ===== //**20170526** Project Demonstration: A Car-Wash System using a state-machine built with discrete logic gates// {{:archive:pgt104:pgt104_lab_project_ry44_grade_a_pic0.jpg?nolink&400}} {{:archive:pgt104:pgt104_lab_project_ry44_grade_a_pic1.jpg?nolink&400}} {{:archive:pgt104:pgt104_lab_project_ry44_grade_a_pic2.jpg?nolink&400}} Short video clip (//sorry, no audio//) {{:archive:pgt104:pgt104_lab_project_ry44_grade_a.mp4}} ===== Digital Electronic Lab Kit ===== Basic Gates / IC: - 2 x 7400 - Quad 2-input NAND - 1 x 7404 - Hex INVERTER - 1 x 7408 - Quad 2-input AND - 1 x 7402 - Quad 2-input NOR - 1 x 7432 - Quad 2-input OR - 1 x 7486 - Quad 2-input XOR - 2 x 7474 - Dual D Flip-flop (async P/C) - 1 x 7476 - Dual JK Flip-flop (async P/C) - 1 x 555 - Timer Basic Components: - 4 x LED (Red/Green) - 4 x Push/Reset Button - 1 x 4-Way DIP Switch - 12 x 1k Resistor - 1 x 7-segment - 8 x 220ohm Resistor - 2 x 100k Resistor - 2 x 10k Resistor - 1 x 10uF Capacitor - 1 x 1uF Capacitor - 1 x 10nF Capacitor Prototyping: - Breadboard - Jumper wires (M-M) - @ 4 long wires for power - @ 8 medium length for inter-IC - @ 38 short length for direct wiring ===== Food for Thought ===== A more practical implementation of Digital Electronic Courses: * Digital 1 * base-n numbering systems * basic logic (truth table, boolean equation, boolean algebra, POS/SOP form) * combinational logic (basic gates) * combinational logic implementation (e.g. adder) <- just pick one example * sequential logic (basic flip-flop) * Digital 2 : * combinational logic circuits (mux, decoder, encoder) * practical application: e.g. instruction decoder, address decoding, etc. * sequential logic circuits (registers, counters) * practical application: e.g. program counter * state machines //**Note:** If Digital 1 is seen as too light, the combinational logic circuits topic from 2 can be shifted into 1... then, some basic Computer Architecture stuffs can be put into 2.// Maybe something like this... ^ Digital Electronics 1 ^^^^ ^ Week ^ Lecture ^ Laboratory ^ Notes ^ ^ Week 01 - 03 | * Introduction to Digital Electronics * Numbering Systems * decimal numbers, binary numbers * conversions * basic binary arithmetic * hexadecimal and octal numbers * binary-coded decimal * Logic Gates * Boolean Logic, Inverter * (N)AND, (N)OR, X(N)OR gates * Numbering Systems (cont.) * unsigned and signed binary * signed binary arithmetic | | //Comment1: Need to cover topic on **Logic Gates** as soon as possible in order to start with lab sessions.// //Comment2: Previous experience show students need more time on topics involving signed binaries.// | ^ Week 04 - 07 | * Boolean Algebra * Boolean operations and expressions * DeMorgan's Theorems * Logic simplification/reduction * standard forms: SOP, POS * truth table and Karnaugh Map | | | ^ Week 08 - 11 | * Combinational Logic Circuits * 1-bit half & full adder * 4-bit adders (ripple carry) * carry circuit (carry look ahead) | | | ^ Week 12 - 14 | * Latches, Flip-flops, and Timers * latches * timing diagrams * flip-flops (JK-FF, D-FF, T-FF) * basic 555 timer | | | ^ Digital Electronics 2 ^^^^ ^ Week ^ Lecture ^ Laboratory ^ Notes ^ ^ Week 01 - 02 | * Refresh Basic Digital Electronics * combinational & sequential * boolean algebra, timing diagrams * Combinational Logic Circuits * adder, subtractor, binary comparator | | | ^ Week 03 - 05 | * Combinational Logic Circuits * Decoders, encoders * Multiplexers, demultiplexers | | | ^ Week 06 - 07 | * Refresh Sequential Logic Elements * latches/flip-flops * Shift Registers (left/right/load) | | | ^ Week 08 - 09 | * Counters * Basic binary counter (up/down) * Gray Counter | | | ^ Week 10 - 12 | * Finite State Machine * Mealy/Moore Machine * State diagrams * State encoding * Next-state logic | | | ^ Week 13 - 14 | * Simple Digital Systems (Case studies) * digital control system (e.g. train crossing gate control) | | |