Close Menu

Digital Electronics and Systems

Semester 1

The main objective of this course is to familiarize students with digital circuits and systems and in particular, the internal operations and design of microprocessors – Reduced Instruction Set computers (RISC) and Complex Instruction Set Computers (CISC). Basic processor designs will be covered, including Sequential Logic and Memory Design. Having set a good foundation, advanced processing techniques such as Microprogramming, Cache Memory Management and an introduction to parallelism will be covered.

The learning experience is enhanced with computer-based exercises and assignments. The assignments will include: (1) a take home problem solving questions design to test student understanding of the theory; and (2) a report in the form of an IEEE paper structure on a survey of the state-of-the-art in digital circuits and systems. The intent is to expose the student to high level technical publications. Circuit simulation tools will be used throughout this course.

  1. Introductory and Basic Concepts: Digital and analog quantities; Representation of digital quantities (binary digits, logic levels, etc.); Converting analog quantities to digital (quantization); Overview of binary and hexadecimal numbering systems; Basic logic gates and their operations: NOT, AND, OR, NAND, NOR, EX-OR and EX-NOR; Theory and operations of simple logic circuits; Characteristics and parameters of logic circuits (timing diagram, propagation delay, fan-out, etc.) and Integrated circuit technologies (TTL, CMOS, programmable arrays, etc.).
  2. Boolean Algebra: Boolean operation and expressions; Laws of Boolean algebra; Simplification of Boolean expressions (SOP, POS, Karnaugh Maps); and Describing logic with an HDL.
  3. Basic Combinational Logic Circuits and Analysis: Basic combinational logic circuits; Boolean expression to logic circuits and vice-versa; Combinational logic using NAND and NOR gates; Logic circuit operations with waveform inputs and combinational logic with VHDL.
  4. Functions with Combinational Logic: Basic and parallel adders; Comparators; Decoders and Encoders; Multiplexers and Demultiplexers.
  5. Sequential Logic: SR and D latches; Flip-flops and their operating characteristics and flip-flop applications.
  6. Functions with Sequential Logic:  Counters and Shift Registers: Basics of counters, asynchronous and synchronous counters, cascading counters, counter applications, basic shift register operation, serial and parallel shift registers, bidirectional shift registers and shift register applications.
  7. Memory and Storage: Memory basics; Random access memory family members, operation and characteristics; Read only memory family members, operation and characteristics; Flash memory operation and characteristics; Magnetic and optical storage.
  8. Programming Logic and Software: Programming logic: SPLDs and CPLDs, PLDs real-world examples (Altera, Xilinx, etc.); Programmable logic: FPFAs, Real-world FPGA examples (Altera, Xilinx, etc.) and Programmable logic software.
  9. Signal Conditioning and Processing: Conversion of analog signals to digital signals; Analog-to-digital conversion methods; Digital-to-analog conversion methods; Decoders and encoders.
  • Final Written Examination (2 hours)       50%
  • Course Work:         50%
    • 1 In-course Test           15%
    • Assignments       25%
    • Project/Paper       10%
Learning Objectives: 

Upon completing this course students should be able to:

  • Construct circuits that  can store a single bit using latches and flip-flops
  • Design more complex sequential circuits such as counters and shift registers using flip-flop.
  • Design electronics circuits using state diagrams to capture specifications and  flip-flops for implementation
  • Construct multidimensional memory arrays,  similar to cache memory
  • Explain the operations and structure of a general microprocessor
  • Explain the operation of the flow control mechanisms used in RISCS and CISC processors
  • Examine the techniques used in micro-program controlled processors by writing micro-programs and showing how the micro-program manipulates the data path
  • Identify and analyze the different pipeline systems  by demonstrating how each system will run a typical set of instructions
  • Illustrate how conflicts and hazards are handled in pipelined systems by examining various scenarios
  • Examine the theory of very long instruction word architectures and simulate the operations of vector processors
  • Examine the operations of cache memory by simulating the different mapping functions with various scenarios of  data request
  • Examine the principle of operation of interrupts  and demonstrate how interrupts are serviced
PHYS1421 - Electricity and Magnetism, ELET1405 - Practices in Basic Electronics AND CAPE Mathematics (or equivalent).

Text book:

“Digital Design and Computer Architecture”: by David Money Harris, Sarah L. Harris Publisher: Morgan Kaufmann (2007)

Recommended Readings:

1.      Modern Processor Design Fundamentals of Superscalar Processors by John P. Shen: Publisher: McGraw-Hill Science/Engineering/Math; 1 edition (July 7, 2004)

2.      Digital Logic and Microprocessor Design with VHDL by Enoch O. Hwang: Publisher: CL-Engineering; 1 edition (February 18, 2005)

3.      Fundamentals of Computer Organization and Design, Sivarama P. Dandamudi: Publisher: Springer; 1 edition (January 14, 2003)

Internet Resources:

1.      Java Applet for a basic CPU simulator by Professor Judith Cardell:

2.      Computer System Architecture – MIT  Courseware:

3.      How Microprocessors Work -

Course Code: 
3 Credits
Level 2
Top of Page