This course is a prerequisite for the Group Project (Part IB), ECAD (Part IB), VLSI Design (Part II).
Aims
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.
Lectures
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.
Objectives
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''.