foundations of embedded systems 7
however clone the course tools to your account and verify that you can follow
along with the examples in the videos and notes.
An important challenge for you in this first week will be to master using
git. The appendices give a brief overview of git but you will have to invest
the time digesting how git works. By the fourth and fifth sessions, you will
need to come up with a strategy for using git to keep track of the versions
of your design. One suggestion is for you to use branches to keep track of the
different versions of your hardware and to switch between branches during
your characterization work and eventually to use merging to merge all your
versions into a single branch.
As you work in a team, you will use git to coordinate between the dif-
ferent members of your team. Consider creating a single fork of the course
repository that all your team members have write access to. You may also
need to update your fork if new material is added to the main course repos-
itory during the project. Again, the appendix gives an overview of how to
use git but you will have to invest additional time on your own to practice
updating a fork whose parent has been updated. Your homework is to read
the appendices covering git and Makefiles, and the manuals for the FPGA
tools.
E.3.3 Session 3 (Friday morning)
In this session, you will evaluate power, performance, and resource usage of
a simple design on the iCE40 FPGA. Before coming to class, please read the
manual for the iCE40 FPGA, and the user guides on clocks, DSP blocks, and
memories. Start thinking about how you would validate correctness of each
of the measurements you perform.
E.3.4 Session 4 (Friday afternoon)
Revisit your power, performance, and resource usage measurements and cre-
ate as comprehensive a characterization as you think is possible. Measure
and quantify everything that you possibly can. Think about how you will
present the properties you measure, both to your team members, as well as
in your report. Compare your measurements to the datasheet. Discuss your
characterization with your team members. Have a rough draft of your report.
Your homework is to watch the Verilog, pipelining, and performance analysis
fascicles and to read the article by Emma.
2
Do the fascicle videos give you
2
Emma
1997.
any clues for how you might begin optimizing your design for performance
power and resource usage?