Implement a multiplier for binary numbers using digital logic.
The adder we build in lab is, in practice, slow if the addition involves inputs with many bits (because the Carry signal must propagate from the first stage to the last). Research a “look ahead carry adder”, describe why it is faster, and implement it.
Use the MSP430 and the E15 I/O board to make a thermometer (using MSP430 internal temperature sensor) and/or thermostat (using potentiometer for “set” temperature).
Perhaps useful for E90, E72 or E15 project.
If you are interested in a wireless project consider using an “electric imp” as the hardware interface. http://electricimp.com/
Develop a display that can be controlled wirelessly (or wired) through an app or web interface.
Convert a text message to Morse code with Verilog. Can you read a Morse code message into text (it shouldn’t be too difficult).
Altera supplies support for an embedded processor (called NIOS II) for its FPGA’s. Use the processor to demonstrate a simple calculation/task.
Implement a multiplication ALU in Verilog (without using the built-in multiplication operator). Perhaps try using either a Wallace Tree or a Dadda Tree (two faster algorithms than “traditional” shift-and-add multiplication)
Build a simple PWM controller in Verilog to control the brightness of an LED.
Implement a serial port in Verilog and connect to a computer or to one of the peripherals on the DE2 board.
Implement a simple correlator in Verilog, an application is DNA sequence comparison.
Implement a very simple (4 bit) processor in Verilog
Implement a digital (FIR) filter using FPGA hardware. You can either do this from scratch, or figure out how to use the IP supplied by Altera (called DSPBuilder). This is a increasingly common application for FPGA’s and would impress many potential summer (or even post-graduation) employers. Talk to me (or do a quick search) to learn more.
Implement a reaction timer. The DE2 board lights an LED at a “random” time, and counts how long it takes the user to react by pushing a button.
Some MSP430’s have a very low power mode that lets you implement a finite state machine to do some simple processing without waking the processor up. See “SCAN IF” in MSP430FG4618 family data sheet (http://www.ti.com/lit/ug/slau056l/slau056l.pdf). We have some of these processors, so you could try it out.
Read about some of the heuristic logic minimization techniques (e.g., Espresso), and implement all (or part) of it.
Implement a floating point package (at least multiplication) for the MSP430. As an addition, compare the time for your implementation vs the implementation in the C compiler.
Implement the Quine-McCluskey algorithm. As an addition, time it for various truth tables and plot time vs number of inputs.
Do something with a small FPGA package (in a USB dongle).