Computer Laboratory Home Page Search A-Z Directory Help
University of Cambridge Home Computer Laboratory
Computer Science Syllabus - Digital Electronics
Computer Laboratory > Computer Science Syllabus - Digital Electronics

Digital Electronics next up previous contents
Next: ECAD Up: Michaelmas Term 2005: Part Previous: Data Structures and Algorithms   Contents

Digital Electronics

(For those who have not previously attended this course.)

Lecturer: Dr S.W. Moore

No. of lectures and practicals: 11 + 7

This course is a prerequisite for ECAD (Part IB) and VLSI Design (Part II).


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 transistors for interfacing and constructing gates is also introduced.


  • Introduction. The parts of a simple computer. Binary and representation of integers in binary. ASCII codes for characters. Switch logic.

  • Boolean algebra. Truth tables and boolean algebra. Idealised logic gates and symbols. DeMorgan's rules. Logic to perform addition with ripple carry.

  • Logic minimisation. Normal forms. Boolean cubes and Karnaugh maps for boolean optimisation.

  • Complexities of logic design. Multilevel logic. An introduction to timing diagrams. Digital signals in the analog world. Hazards and hazard elimination. Fast carry propagation.

  • Flip-flops. Memory elements, state and state diagrams. RS asynchronous flip-flop. Synchronous flip-flops: D, T and JK flip-flops. Setup and hold times.

  • Synchronous state machines. Moore and Mealy finite state machines. Reset and self starting. State transition diagrams.

  • Further state machines. State assignment and unique state encoding. One hot encoding. State minimisation.

  • Asynchronous state machines. Fundamental mode machines and Muller C-elements. Asynchronous state machines in terms of RS flip-flops.

  • Discrete components. Revision of resistance, Ohm's law and capacitance. Characteristics of diodes, NMOS and PMOS field effect transistors. NMOS and CMOS inverters. Rise and fall times. Voltage followers.

  • Programmable logic. The structure and use of programmable logic arrays (PLAs). A brief introduction to FPGAs.

  • Memories and interfaces. Use of SRAM and ROM: addressing, control signals, buses and tristate drivers.


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

  • understand the difference between asynchronous and synchronous logic

  • 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 MOS transistors

Recommended reading

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

next up previous contents
Next: ECAD Up: Michaelmas Term 2005: Part Previous: Data Structures and Algorithms   Contents
Christine Northeast
Sun Sep 11 15:46:50 BST 2005