Computer Laboratory Home Page Search A-Z Directory Help
University of Cambridge Home Computer Laboratory
Computer Science Tripos Syllabus - Structured Hardware Design (50% option only)
Computer Laboratory > Computer Science Tripos Syllabus - Structured Hardware Design (50% option only)

Structured Hardware Design (50% option only) next up previous contents
Next: Preparing to Study Computer Up: Easter Term 2005: Part Previous: Software Engineering II (50%   Contents

Structured Hardware Design (50% option only)

Lecturer: Dr D.J. Greaves

No. of lectures: 6

This course is a prerequisite for the Group Project (Part IB), ECAD (Part IB), VLSI Design (Part II).


This course is about how to assemble digital logic gates and modules into complete systems, including those with embedded microprocessors. The course reviews standard hardware building blocks, and discusses how designs may be partitioned to make best use of combinations of existing components, custom integrated circuits and software. It will be illustrated with extended case studies that show how a number of ``real-life'' hardware systems have been implemented.


  • Building blocks for digital electronics with small Verilog HDL examples. D-type, clock enable, broadside busses, multiplexors, register files, ROM, RAM, DRAM, Flash Memory.

  • Further components and programmed IO. Clock and reset, generation, debounce, driving heavy loads, multiplier, ALU, microprocessor. Memory map decode, PC motherboard, serial and parallel port, USB, Firewire.

  • Finite State Machines. Combinatorial and sequential minimisation, Mealy, Moore, decomposition and pipelining. Set and hold times, clock skew. FSMs on different clocks. Asynchronous boundaries. Gated clocks.

  • Technology, speed, power, gate delays. Model of a gate, performance modelling, derating of a model with load and temperature. IO pads. Delay-power product. Standard parts, ASICs, PALs, FPGAs, microcontroller, platform chips.

  • Design partitioning examples. Modems, LANs, Bluetooth radio module, scan multiplexing, frame store, digital effects.

  • Further Examples.


At the end of the course students should

  • have greater familiarity with all common digital logic building blocks

  • know techniques for building state machines that have different performance/density tradeoffs

  • begin to be able to partition designs into appropriate hardware and software sub-systems

  • know what kinds of component are available to the hardware designer and understand when a custom ASIC chip is called for

  • understand data communication between separate systems including issues of signal loading, flow control and clock skew

Recommended books

* Floyd, T.L. (1997). Digital fundamentals. Prentice-Hall.

Search online for books using the strings ``Embedded Systems Design'', ``Hardware System Design'' and ``System on a Chip (SOC) Design''.

next up previous contents
Next: Preparing to Study Computer Up: Easter Term 2005: Part Previous: Software Engineering II (50%   Contents
Christine Northeast
Wed Sep 8 11:57:14 BST 2004