Final Project Status
Overall, our project was a complete success. The micro-controller reads in touch screen data correctly, and relays this information to FPGA 1. FPGA 1 controls the stepper motors and relays the stepper motor coordinates and touch screen coordinates to FPGA 2. FPGA 2 displays an enlarged camera image as well as crosshairs at the touch screen and stepper motor coordinates.
Design Retrospective
After our ten-week design experience, we feel we have learned
much about hardware design. Our reflections and recommendations are
listed below.
· Get started early and set a ridged schedule.
Given the scope of the project, it would not have been completed
at the last minute. Our group set up a work schedule that was followed
regardless of how far ahead of schedule we thought we were.
Schedule
Tuesday: 1 to 5
Thursday: 1 to 5
Saturday: 1 to 5.
This allotted time, plus some addition hours to work on specific problem, allowed us to complete the project on time.
· Research all aspects of your project thoroughly.
There is no use in re-inventing the wheel. Much of what
you are planning to do has been done before, and finding this information
will significantly reduce your design and implementation time.
For example, our group originally spent a large amount of time
designing our own logic and power circuitry to drive the stepper motors.
About halfway through the quarter, we discovered that a chip was available
that is specifically designed for stepper motor control. If we had
spent the time to find this chip earlier on, much time and frustrations
would have been saved.
· Know your design tools.
Hardware design tools are notoriously buggy and finicky.
Our group spent a significant portion of time rebuilding Xilinx projects
and hunting down design tool bugs and issues. We strongly recommend
that you read any “hints and tips” information you can find on your design
tools to minimize the time you spend with them.
· Hardware design is hard
What seems conceptually easy is often difficult the implement
in hardware. Much of our time was spend debugging simple modules
and implementations. Often the bug was something small but difficult
to find. The lesson to be learned here is that even though something
sounds easy to do, it probably isn’t due to something you haven’t thought
of. Keep this in mind when setting up your schedule.