EE 347 – Computer Logic Design
ALU Design Project
Prof. Nancy Warter-Perez
Due: March 9, 2011
In this project, you will design a 4-bit version of an ALU (Arithmetic Logic Unit) that supports the following
operations: AND, OR, NAND, NOR, XOR, ADD, SUB, INC, DEC, SLT (set less than). The ALU should have two 4-
bit data inputs (a and b), one 4-bit result, a zero output, an overflow output, and a carryout. The SLT operation should
work correctly even if overflow occurs during the computation.
In your design, try to minimize the number of transistors used (number of gates and inputs per gate). Minimizing
transistors reduces size, power, and heat.
The primary goal of this project is to develop a basic understanding of the design process. This is a group project.
Groups are formed based on expertise and preferences.
The design process has the following steps:
meet with group members and identify strengths of each group member and identify the following roles:
Design engineer – responsible for overseeing the design (though each member should contribute
Test engineer – responsible for overseeing the testing of the design: development of test vectors
and test fixtures (again each member should write test fixtures to test their modules).
Product engineer – responsible for overseeing the marketing of the design including the progress
and final report (again, each member should contribute to the final report and should provide input
and receive a copy of the progress reports).
understand the underlying theory and design concepts of the ALU,
use a top-down design methodology to implement the design starting with a behavioral model and refining
to the structural level model in Verilog HDL (Hardware Description Language)
use modular and hierarchical design methodologies to allow different group members to develop different
aspects of the design simultaneously,
test and debug your design through simulation
create a hardware prototype on the BASYS 2 Board using a Xilinx FPGA
write a clear description of your project, and
practice effective and engaging scientific communication through small group presentation.