ECE 595c Computer and Digital Design Assignment 1
Write a Word document discussing the following projects. Submit
supporting Verilog projects. Demonstrate the working projects to
the instructor (and class). If you are not able to complete this
assignment by the due date, submit a progress report documenting your
work to that time.
- Design and implement a DE2 project that displays an
eight-letter word on the 7-segment displays. Use
diglab1
as a starting point. Note that you can use the right-most 7 keys to
set any pattern on HEX7 and that the corresponding hex code appears on
the right most seven segment displays.
- Write a C (or Java) program to calculate pseudo-random numbers
of varying bit size (e.g. 4-bit, 8-bit, 16-bit, 32-bit, etc.). Use
these random integers (e.g. A and B) to calculate
P = A * B (note that the product is
twice as many bits as the operands)., Q = A/B
(also calculate the remainder R), G =
gcd(A,B) (greatest common divisor), and R =
sqrt(A).
- Write Verilog modules to perform the above calculations. Use
behavioral Verilog where possible. Compare your custom module to a
standard Megafunction, where one exists. Explore the structure of the
resulting synthesis, document the number of LE's as a function of the
operand size and the estimated calculation time vs. operand size.
Use the DE2 board Cyclone II unit as a target processor. Divide up the
work so that each of you is responsible for one of the following (in
order of priority):
- pseudorandom number generator
- multiplication unit
- divider unit
- integer square root
- GCD unit
- Download and run the small 16-bit processor (non pipelined)
dsim2
and the corresponding DE2 project
dsimlab2.
You should also download and use
tblview.zip
and
qdoc.zip.
Maintained by John Loomis,
last updated 1 June 2011