skip to primary navigationskip to content

Department of Computer Science and Technology



Course pages 2023–24

Digital Electronics

Principal lecturer: Dr Ian Wassell
Taken by: Part IA CST
Term: Michaelmas
Hours: 12 (12 lectures+ 4 practical classes)
Format: In-person lectures
Suggested hours of supervisions: 3
This course is a prerequisite for: ECAD and Architecture Practical Classes, Introduction to Computer Architecture, Operating Systems
Exam: Paper 2 Question 1, 2
Past exam questions, Moodle, timetable


The aims of this course are to present the principles of combinational and sequential digital logic design and optimisation at a gate level. The use of n and p channel MOSFETs for building logic gates is also introduced.


  • Introduction. Semiconductors to computers. Logic variables. Examples of simple logic. Logic gates. Boolean algebra. De Morgan’s theorem.
  • Logic minimisation. Truth tables and normal forms. Karnaugh maps. Quine-McCluskey method.
  • Binary adders. Half adder, full adder, ripple carry adder, fast carry generation.
  • Combinational logic design: further considerations. Multilevel logic. Gate propagation delay. An introduction to timing diagrams. Hazards and hazard elimination. Other ways to implement combinational logic.
  • Introduction to practical classes. Prototyping box. Breadboard and Dual in line (DIL) packages. Wiring.
  • Sequential logic. Memory elements. RS latch. Transparent D latch. Master-slave D flip-flop. T and JK flip-flops. Setup and hold times.
  • Sequential logic. Counters: Ripple and synchronous. Shift registers. System timing - setup time constraint, clock skew, metastability.
  • Synchronous State Machines. Moore and Mealy finite state machines (FSMs). Reset and self starting. State transition diagrams. Elimination of redundant states - row matching and state equivalence/implication table.
  • Further state machines. State assignment: sequential, sliding, shift register, one hot. Implementation of FSMs.
  • Introduction to microprocessors. Microarchitecture, fetch, register access, memory access, branching, execution time.
  • Electronics, Devices and Circuits. Current and voltage, conductors/insulators/semiconductors, resistance, basic circuit theory, the potential divider. Solving non-linear circuits. P-N junction (forward and reverse bias), N and p channel MOSFETs (operation and characteristics) and n-MOSFET logic, e.g., n-MOSFET inverter. Power consumption and switching time problems problems in n-MOSFET logic. CMOS logic (NOT, NAND and NOR gates), logic families, noise margin.


At the end of the course students should

  • understand the relationships between combination logic and boolean algebra, and between sequential logic and finite state machines;
  • be able to design and minimise combinational logic;
  • appreciate tradeoffs in complexity and speed of combinational designs;
  • understand how state can be stored in a digital logic circuit;
  • know how to design a simple finite state machine from a specification and be able to implement this in gates and edge triggered flip-flops;
  • understand how to use MOSFETs to build digital logic circuits.

Recommended reading

* Harris, D.M. and Harris, S.L. (2013). Digital design and computer architecture. Morgan Kaufmann (2nd ed.). The first edition is still relevant.
Katz, R.H. (2004). Contemporary logic design. Benjamin/Cummings. The 1994 edition is more than sufficient.
Hayes, J.P. (1993). Introduction to digital logic design. Addison-Wesley.

Books for reference:

Horowitz, P. and Hill, W. (1989). The art of electronics. Cambridge University Press (2nd ed.) (more analog).
Weste, N.H.E. and Harris, D. (2005). CMOS VLSI Design - a circuits and systems perspective. Addison-Wesley (3rd ed.).
Mead, C. and Conway, L. (1980). Introduction to VLSI systems. Addison-Wesley.
Crowe, J. and Hayes-Gill, B. (1998). Introduction to digital electronics. Butterworth-Heinemann.
Gibson, J.R. (1992). Electronic logic circuits. Butterworth-Heinemann.