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
The parts of a simple computer. Binary and representation of integers
in binary. ASCII codes for characters. Switch logic.
Truth tables and boolean algebra. Idealised logic gates and symbols.
DeMorgan's rules. Logic to perform addition with ripple carry.
Normal forms. Boolean cubes and Karnaugh maps for boolean
Complexities of logic design.
Multilevel logic. An introduction to timing diagrams. Digital
signals in the analog world. Hazards and hazard elimination. Fast
Memory elements, state and state diagrams. RS asynchronous
flip-flop. Synchronous flip-flops: D, T and JK flip-flops. Setup and
Synchronous state machines.
Moore and Mealy finite state machines. Reset and self starting. State
Further state machines.
State assignment and unique state encoding. One hot encoding. State
Asynchronous state machines.
Fundamental mode machines and Muller C-elements. Asynchronous state
machines in terms of RS flip-flops.
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.
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
be able to design and minimise combinational logic
appreciate tradeoffs in complexity and speed of combinational
understand how state can be stored in a digital logic
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
* 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.
Books for reference:
Mead, C. & Conway, L. (1980). Introduction to VLSI systems. Addison-Wesley (used in Part II VLSI).
Horowitz, P. & Hill, W. (1989). The art of electronics. Cambridge University Press (2nd ed.) (more analog).