Due: 14 February 2007

- Katz/Borriello, Contemporary Logic Design 2e, Chapter 5.7 (pp. 246-249).
- Katz/Borriello, Contemporary Logic Design 2e, Chapter 6 (pp. 259-298).

- This exercise will give you a chance to deal with an ALU or Arithmetic
Logic Unit. As the name suggests, an ALU is the part of the processor that
does the actual computations. In the book, section 5.7 covers the design and
implementation of a small ALU. To keep things tractable, you can
design a single-bit ALU and then connect up an arbitrary number of these
bit-slices to create full-size ALUs. The goal of this problem is to
modify the provided bit-slice to support carry-lookahead addition.
Specifically, you should:

- Download this file which contains an archived design with several useful files. To use this design, Open a workspace in Active and select Design->Restore Design and follow the instructions.
- Create a single bit ALU that produces the same F output as the one in
*alu_bit_slice.bde*. Instead of generating Cout, your bit-slice should produce P and G outputs suitable for a carry lookahead unit. - Make a 4-bit Alu from 4 of your one-bit ALUs and the carry-lookahead unit from HW5.
- Add your 4-bit adder to
*alu_test.bde*and simulate it.

**Submit a printout of your bit-slice schematic, and the console input from the successful simulation** - CLD-II, Chapter 6, problem 6.10, all parts (use this template).
- CLD-II, Chapter 6, problem 6.11, all parts. Include a sentence justifying each of your answers
- CLD-II, Chapter 6, problem 6.19.
- CLD-II, Chapter 6, problem 6.23.
- Read the description in problem 6.24 for a 4-bit shift register. We will extend this design to 8-bits using the '374 component from lib370 in ActiveHDL.
We have put together a schematic containing 3 '374 components and some additional logic.
All you need to do is name the wires on each '374 component properly to implement the following:
- circular-shift-left register.
- logic shift right
- arithmetic shift right (assume 8-bit 2s-complement numbers)

**Turn in your completed schematic for the three components above**. If you'd like a partial check, feel free to try this NON-EXHAUSTIVE text fixture.

- To begin understanding the basic building blocks of sequential circuits.
- To learn the use of simulation tools and hardware description languages for sequential circuit blocks.

Comments to: cse370-webmaster@cs.washington.edu