ECE444 Advanced Digital Design
Assignment 3

Do your assigned group project. You are expected to produce a written report and an oral presentation.

The first stage of the project is to produce a working design. Then you will explore variations in operand size, and track increase in LE usage and calculation time.

Projects

#1 pseuorandom number generator - 4, 8, 16, 32 (...?)

#5 adder/subtractor project
F = A + B (or A - B)
4, 8, 16, 24, 32, 48, 64, 96, 128 , 256 ... until failure
look-at LE usage and timing analysis vs. bit size
test examples (using random input) to verify timing
compare LPM unit to your behavioral unit (for some sizes)

For ONE size (e.g. 32 bit) look at effect of making
second operand fixed (constant)

#2 multiplier project
F = A*B
unsigned version
signed version (see Quartus templates) (test examples for
all four quadrants)
(do all the above)

#4 divider project

    _F_
 A  |B    R (remainder)

F = B/A is quotient
R = B%A is remainder
can you do F and R at the same time?
LPM can do it at the same.

usigned version
signed version

(do all the above)


divide by ten (generating F and R) without
using LPM.


#3 Multiply and accumulate
(same as dot product)
 F = a1*b1 + a2*b2 + a3*b3;
sequential vs. parallel?
Is there an LPM?
Do for some range of sizes.


#7 integer square root
do range of sizes

#6  linear interpolation
A+B*delta where  0 <= delta <= 1
do for variety of sizes

integer ln(x) 

integer exp(x)


Maintained by John Loomis, last updated 25 September 2009