The final exam with be like two exams in one. In part it will cover the last
third of the course in roughly the same level of detail that exams 1 and 2
covered the first and second thirds of the course. It will also have a few
"greatest hits" exercises that will cover what I consider to be the most
important topics in 370. Without further ado, here are the topics that we
covered in 370, roughly in chronological order and grouped according to which
third of the course they fall in.
-
- Binary, octal and hexadecimal number systems
- Arithmetic in alternative number systems
- Negative numbers in computers: sign/magnitude, one's complement, two's complement
- Boolean algebra, proofs
- Basic Boolean functions; truth tables and logic gates
- 2-level logic (sum-of-products, product-of-sums), canonical forms (Σ, Π)
- Visualizing Boolean functions (Boolean cubes, K-maps)
- 2-level minimization (K-maps, Quine-McCluskey)
- Combinational Verilog
- ROMS, PLAs, PALs
-
- Multi-level logic
- Logic delay and glitches
- Adders, subtracters, carry-select
- FPGA essentials, Mux-based logic
- Circuit primitives with memory: latches, flip-flops
- Register timing properties, clocking
- Finite state machine design; Moore and Mealey
- Sequential Verilog
-
- Finite state machine implementation; different encoding styles
- State minimization (row-matching method, implication-chart method)
- Control/datapath design
- Computer organization
- FETs, CMOS
- Parallel prefix trees, carry look-ahead adders
- Combinational multipliers
Here are some thoughts about which topics and concepts I consider more or less
fundamental (i.e. are more or less likely to show up on the final).
- Some of the early topics like arithmetic in different bases and using
K-maps to do two-level optimization are unlikely to show up as exercises on
their own. However, there may very well be exercises that require
understanding these topics.
- Similarly, it's unlikely that there will be a whole Boolean proof
exercise, but if you look at the basic Boolean theorems and have no idea why
one side of the equal sign is equivalent to the other, that's a problem that
may end up costing you points on the final.
- We looked at two different optimization problems in 370 that each have two
solution methods, one of which is easier to do by hand and one of which is
easier to automate. The problems are two-level simplification and state
minimization, and the solution methods are K-maps, Quine-McCluskey, the row
matching method, and the implication chart method. You will definitely not
have to do big examples of the methods that are better for automation, but
it may behoove you to understand the important properties of the algorithms
and the solutions they produce. Are the solutions produced by different
methods equivalent? How efficient are the algorithms?
- As I have said before, I consider timing diagrams, delay, and it's
side-effect, glitches, to be some of the most important topics in 370.
Hardware is different from software in a few important ways, not least that
electricity flows through transistors causing computation to happen when the
laws of physics say it will, not when it would be convenient. Timing issues
and their related pathologies will definitely make some sort of appearance
on the final.
- Fancy arithmetic circuits: I promise that there will not be a "draw a
_____-style adder/multiplier" exercise on the final. However, you should be
comfortable with thinking about how the size and delay of an arithmetic
circuit relates to the number of bits it works on, and how different styles
compare to each other.
- Just like the previous exams, you will not have to write any Verilog code.
You may have to read some relatively simple code and understand what it
means in terms of real hardware, though.
- Finite state machines will definitely make some kind of appearance on the
final, though there won't be as much writing as was involved in homework 8.
- There will most likely be some transistors, but nothing to worry about, if
the homework exercise made sense.
Some old final exams:
Autumn, 2006 (Solution)
Winter, 2005 (Solution)